diff --git a/binaries/data/config/default.cfg b/binaries/data/config/default.cfg index 05cf3ebaf1..6ef877e6b0 100644 --- a/binaries/data/config/default.cfg +++ b/binaries/data/config/default.cfg @@ -119,263 +119,275 @@ materialmgr.PARALLAX_VHQ_DIST.max = 0 ; Replace alpha-blending with alpha-testing, for performance experiments forcealphatest = false -; Opt-in online user reporting system -userreport.url = "http://feedback.wildfiregames.com/report/upload/v1/" - ; Colour of the sky (in "r g b" format) skycolor = "0 0 0" -; GENERAL PREFERENCES: - -sound.mastergain = 0.9 -sound.musicgain = 0.2 -sound.ambientgain = 0.6 -sound.actiongain = 0.7 -sound.uigain = 0.7 - -; Camera control settings -view.scroll.speed = 120.0 -view.scroll.speed.modifier = 1.05 ; Multiplier for changing scroll speed -view.rotate.x.speed = 1.2 -view.rotate.x.min = 28.0 -view.rotate.x.max = 60.0 -view.rotate.x.default = 35.0 -view.rotate.y.speed = 2.0 -view.rotate.y.speed.wheel = 0.45 -view.rotate.y.default = 0.0 -view.rotate.speed.modifier = 1.05 ; Multiplier for changing rotation speed -view.drag.speed = 0.5 -view.zoom.speed = 256.0 -view.zoom.speed.wheel = 32.0 -view.zoom.min = 50.0 -view.zoom.max = 200.0 -view.zoom.default = 120.0 -view.zoom.speed.modifier = 1.05 ; Multiplier for changing zoom speed -view.pos.smoothness = 0.1 -view.zoom.smoothness = 0.4 -view.rotate.x.smoothness = 0.5 -view.rotate.y.smoothness = 0.3 -view.near = 2.0 ; Near plane distance -view.far = 4096.0 ; Far plane distance -view.fov = 45.0 ; Field of view (degrees), lower is narrow, higher is wide -view.height.smoothness = 0.5 -view.height.min = 16 - -; How close do we have to be to the actual location in order to jump back to the previous one? -camerajump.threshold = 40 - -; HOTKEY MAPPINGS: +[hotkey] ; Each one of the specified keys will trigger the action on the left -; for multiple-key combinations, separate keys with '+' and enclose the entire thing -; in doublequotes. +; for multiple-key combinations, separate keys with '+'. ; See keys.txt for the list of key names. ; > SYSTEM SETTINGS -hotkey.exit = "Alt+F4", "Ctrl+Break", "Super+Q" ; Exit to desktop -hotkey.leave = Escape ; End current game or Exit -hotkey.confirm = Return ; Confirm the current command. -hotkey.pause = Pause ; Pause/unpause game -hotkey.screenshot = F2 ; Take PNG screenshot -hotkey.bigscreenshot = "Shift+F2" ; Take large BMP screenshot -hotkey.togglefullscreen = "Alt+Return" ; Toggle fullscreen/windowed mode -hotkey.screenshot.watermark = "Alt+K" ; Toggle product/company watermark for official screenshots -hotkey.wireframe = "Alt+W" ; Toggle wireframe mode -hotkey.silhouettes = "Alt+S" ; Toggle unit silhouettes -hotkey.showsky = "Alt+Z" ; Toggle sky - -; > CAMERA SETTINGS -hotkey.camera.reset = "R" ; Reset camera rotation to default. -hotkey.camera.follow = "F" ; Follow the first unit in the selection -hotkey.camera.zoom.in = Plus, Equals, NumPlus ; Zoom camera in (continuous control) -hotkey.camera.zoom.out = Minus, NumMinus ; Zoom camera out (continuous control) -hotkey.camera.zoom.wheel.in = WheelUp ; Zoom camera in (stepped control) -hotkey.camera.zoom.wheel.out = WheelDown ; Zoom camera out (stepped control) -hotkey.camera.rotate.up = "Ctrl+UpArrow", "Ctrl+W" ; Rotate camera to look upwards -hotkey.camera.rotate.down = "Ctrl+DownArrow", "Ctrl+S" ; Rotate camera to look downwards -hotkey.camera.rotate.cw = "Ctrl+LeftArrow", "Ctrl+A", Q ; Rotate camera clockwise around terrain -hotkey.camera.rotate.ccw = "Ctrl+RightArrow", "Ctrl+D", E ; Rotate camera anticlockwise around terrain -hotkey.camera.rotate.wheel.cw = "Shift+WheelUp", MouseX1 ; Rotate camera clockwise around terrain (stepped control) -hotkey.camera.rotate.wheel.ccw = "Shift+WheelDown", MouseX2 ; Rotate camera anticlockwise around terrain (stepped control) -hotkey.camera.pan = MouseMiddle ; Enable scrolling by moving mouse -hotkey.camera.left = A, LeftArrow ; Scroll or rotate left -hotkey.camera.right = D, RightArrow ; Scroll or rotate right -hotkey.camera.up = W, UpArrow ; Scroll or rotate up/forwards -hotkey.camera.down = S, DownArrow ; Scroll or rotate down/backwards -hotkey.camera.scroll.speed.increase = "Ctrl+Shift+S" ; Increase scroll speed -hotkey.camera.scroll.speed.decrease = "Ctrl+Alt+S" ; Decrease scroll speed -hotkey.camera.rotate.speed.increase = "Ctrl+Shift+R" ; Increase rotation speed -hotkey.camera.rotate.speed.decrease = "Ctrl+Alt+R" ; Decrease rotation speed -hotkey.camera.zoom.speed.increase = "Ctrl+Shift+Z" ; Increase zoom speed -hotkey.camera.zoom.speed.decrease = "Ctrl+Alt+Z" ; Decrease zoom speed -hotkey.camera.jump.1 = F5 ; Jump to position N -hotkey.camera.jump.2 = F6 -hotkey.camera.jump.3 = F7 -hotkey.camera.jump.4 = F8 -;hotkey.camera.jump.5 = -;hotkey.camera.jump.6 = -;hotkey.camera.jump.7 = -;hotkey.camera.jump.8 = -;hotkey.camera.jump.9 = -;hotkey.camera.jump.10 = -hotkey.camera.jump.set.1 = "Ctrl+F5" ; Set jump position N -hotkey.camera.jump.set.2 = "Ctrl+F6" -hotkey.camera.jump.set.3 = "Ctrl+F7" -hotkey.camera.jump.set.4 = "Ctrl+F8" -;hotkey.camera.jump.set.5 = -;hotkey.camera.jump.set.6 = -;hotkey.camera.jump.set.7 = -;hotkey.camera.jump.set.8 = -;hotkey.camera.jump.set.9 = -;hotkey.camera.jump.set.10 = - -; > CONSOLE SETTINGS -hotkey.console.toggle = BackQuote, F9 ; Open/close console +exit = "Alt+F4", "Ctrl+Break", "Super+Q" ; Exit to desktop +leave = Escape ; End current game or Exit +confirm = Return ; Confirm the current command. +pause = Pause ; Pause/unpause game +screenshot = F2 ; Take PNG screenshot +bigscreenshot = "Shift+F2" ; Take large BMP screenshot +togglefullscreen = "Alt+Return" ; Toggle fullscreen/windowed mode +screenshot.watermark = "Alt+K" ; Toggle product/company watermark for official screenshots +wireframe = "Alt+W" ; Toggle wireframe mode +silhouettes = "Alt+S" ; Toggle unit silhouettes +showsky = "Alt+Z" ; Toggle sky ; > CLIPBOARD CONTROLS -hotkey.copy = "Ctrl+C" ; Copy to clipboard -hotkey.paste = "Ctrl+V" ; Paste from clipboard -hotkey.cut = "Ctrl+X" ; Cut selected text and copy to the clipboard +copy = "Ctrl+C" ; Copy to clipboard +paste = "Ctrl+V" ; Paste from clipboard +cut = "Ctrl+X" ; Cut selected text and copy to the clipboard -; > ENTITY SELECTION -hotkey.selection.add = Shift ; Add units to selection -hotkey.selection.milonly = Alt ; Add only military units to selection -hotkey.selection.remove = Ctrl ; Remove units from selection -hotkey.selection.cancel = Esc ; Un-select all units and cancel building placement -hotkey.selection.idleworker = Period ; Select next idle worker -hotkey.selection.idlewarrior = ForwardSlash ; Select next idle warrior -hotkey.selection.offscreen = Alt ; Include offscreen units in selection -hotkey.selection.group.select.0 = 0 -hotkey.selection.group.save.0 = "Ctrl+0" -hotkey.selection.group.add.0 = "Shift+0" -hotkey.selection.group.select.1 = 1 -hotkey.selection.group.save.1 = "Ctrl+1" -hotkey.selection.group.add.1 = "Shift+1" -hotkey.selection.group.select.2 = 2 -hotkey.selection.group.save.2 = "Ctrl+2" -hotkey.selection.group.add.2 = "Shift+2" -hotkey.selection.group.select.3 = 3 -hotkey.selection.group.save.3 = "Ctrl+3" -hotkey.selection.group.add.3 = "Shift+3" -hotkey.selection.group.select.4 = 4 -hotkey.selection.group.save.4 = "Ctrl+4" -hotkey.selection.group.add.4 = "Shift+4" -hotkey.selection.group.select.5 = 5 -hotkey.selection.group.save.5 = "Ctrl+5" -hotkey.selection.group.add.5 = "Shift+5" -hotkey.selection.group.select.6 = 6 -hotkey.selection.group.save.6 = "Ctrl+6" -hotkey.selection.group.add.6 = "Shift+6" -hotkey.selection.group.select.7 = 7 -hotkey.selection.group.save.7 = "Ctrl+7" -hotkey.selection.group.add.7 = "Shift+7" -hotkey.selection.group.select.8 = 8 -hotkey.selection.group.save.8 = "Ctrl+8" -hotkey.selection.group.add.8 = "Shift+8" -hotkey.selection.group.select.9 = 9 -hotkey.selection.group.save.9 = "Ctrl+9" -hotkey.selection.group.add.9 = "Shift+9" - -; > SESSION CONTROLS -hotkey.session.kill = Delete ; Destroy selected units -hotkey.session.stop = "H" ; Stop the current action -hotkey.session.attack = "Ctrl+Alt" ; Modifier to force attack instead of another action -hotkey.session.attackmove = Ctrl ; Modifier to attackmove when clicking on a point -hotkey.session.attackmoveUnit = "Ctrl+Q" ; Modifier to attackmove targeting only units when clicking on a point (should contain the attackmove keys) -hotkey.session.garrison = Ctrl ; Modifier to garrison when clicking on building -hotkey.session.autorallypoint = Ctrl ; Modifier to set the rally point on the building itself -hotkey.session.guard = "G" ; Modifier to escort/guard when clicking on unit/building -hotkey.session.queue = Shift ; Modifier to queue unit orders instead of replacing -hotkey.session.batchtrain = Shift ; Modifier to train units in batches -hotkey.session.massbarter = Shift ; Modifier to barter bunch of resources -hotkey.session.masstribute = Shift ; Modifier to tribute bunch of resources -hotkey.session.fulltradeswap = Shift ; Modifier to put the desired trade resource to 100% -hotkey.session.unloadtype = Shift ; Modifier to unload all units of type -hotkey.session.deselectgroup = Ctrl ; Modifier to deselect units when clicking group icon, instead of selecting -hotkey.session.rotate.cw = RightBracket ; Rotate building placement preview clockwise -hotkey.session.rotate.ccw = LeftBracket ; Rotate building placement preview anticlockwise -hotkey.timewarp.fastforward = Space ; If timewarp mode enabled, speed up the game -hotkey.timewarp.rewind = Backspace ; If timewarp mode enabled, go back to earlier point in the game - -; > UNIT TRAINING -hotkey.session.queueunit.1 = "Z" ; add first unit type to queue -hotkey.session.queueunit.2 = "X" ; add second unit type to queue -hotkey.session.queueunit.3 = "C" ; add third unit type to queue -hotkey.session.queueunit.4 = "V" ; add fourth unit type to queue -hotkey.session.queueunit.5 = "B" ; add fivth unit type to queue -hotkey.session.queueunit.6 = "N" ; add sixth unit type to queue -hotkey.session.queueunit.7 = "M" ; add seventh unit type to queue -hotkey.session.queueunit.8 = Comma ; add eighth unit type to queue +; > CONSOLE SETTINGS +console.toggle = BackQuote, F9 ; Open/close console ; > OVERLAY KEYS -hotkey.fps.toggle = "Alt+F" ; Toggle frame counter -hotkey.realtime.toggle = "Alt+T" ; Toggle current display of computer time -hotkey.session.devcommands.toggle = "Alt+D" ; Toggle developer commands panel -hotkey.session.gui.toggle = "Alt+G" ; Toggle visibility of session GUI -hotkey.menu.toggle = "F10" ; Toggle in-game menu -hotkey.timeelapsedcounter.toggle = "F12" ; Toggle time elapsed counter -hotkey.session.showstatusbars = Tab ; Toggle display of status bars -hotkey.session.highlightguarding = PgDn ; Toggle highlight of guarding units -hotkey.session.highlightguarded = PgUp ; Toggle highlight of guarded units +fps.toggle = "Alt+F" ; Toggle frame counter +realtime.toggle = "Alt+T" ; Toggle current display of computer time +session.devcommands.toggle = "Alt+D" ; Toggle developer commands panel +session.gui.toggle = "Alt+G" ; Toggle visibility of session GUI +menu.toggle = "F10" ; Toggle in-game menu +timeelapsedcounter.toggle = "F12" ; Toggle time elapsed counter +session.showstatusbars = Tab ; Toggle display of status bars +session.highlightguarding = PgDn ; Toggle highlight of guarding units +session.highlightguarded = PgUp ; Toggle highlight of guarded units ; > HOTKEYS ONLY -hotkey.chat = Return ; Toggle chat window -hotkey.teamchat = "T" ; Toggle chat window in team chat mode - -; > GUI TEXTBOX HOTKEYS -hotkey.text.delete.left = "Ctrl+Backspace" ; Delete word to the left of cursor -hotkey.text.delete.right = "Ctrl+Del" ; Delete word to the right of cursor -hotkey.text.move.left = "Ctrl+LeftArrow" ; Move cursor to start of word to the left of cursor -hotkey.text.move.right = "Ctrl+RightArrow" ; Move cursor to start of word to the right of cursor - -; > PROFILER -hotkey.profile.toggle = "F11" ; Enable/disable real-time profiler -hotkey.profile.save = "Shift+F11" ; Save current profiler data to logs/profile.txt -hotkey.profile2.toggle = "Ctrl+F11" ; Enable/disable HTTP/GPU modes for new profiler - -profiler2.autoenable = false ; Enable HTTP server output at startup (default off for security/performance) -profiler2.script.enable = false ; Enable Javascript profiling. Needs to be set before startup and can't be changed later. (default off for performance) -profiler2.gpu.arb.enable = true ; Allow GL_ARB_timer_query timing mode when available -profiler2.gpu.ext.enable = true ; Allow GL_EXT_timer_query timing mode when available -profiler2.gpu.intel.enable = true ; Allow GL_INTEL_performance_queries timing mode when available - -; Developer options -jsdebugger.enable = false ; Enable Javascript debugging. The Debugger is currently broken and can't be enabled until the SpiderMonkey upgrade is done and the debugger is updated for the new API. -tinygettext.debug = false ; Enable Tinygettext debugging information. If true, Tinygettext prints error messages each time that a translation for an English string is not found. +chat = Return ; Toggle chat window +teamchat = "T" ; Toggle chat window in team chat mode ; > QUICKSAVE -hotkey.quicksave = "Shift+F5" -hotkey.quickload = "Shift+F8" +quicksave = "Shift+F5" +quickload = "Shift+F8" -; EXPERIMENTAL: joystick/gamepad settings -joystick.enable = false -joystick.deadzone = 8192 -joystick.camera.pan.x = 0 -joystick.camera.pan.y = 1 -joystick.camera.rotate.x = 3 -joystick.camera.rotate.y = 2 -joystick.camera.zoom.in = 5 -joystick.camera.zoom.out = 4 +[hotkey.camera] +reset = "R" ; Reset camera rotation to default. +follow = "F" ; Follow the first unit in the selection +zoom.in = Plus, Equals, NumPlus ; Zoom camera in (continuous control) +zoom.out = Minus, NumMinus ; Zoom camera out (continuous control) +zoom.wheel.in = WheelUp ; Zoom camera in (stepped control) +zoom.wheel.out = WheelDown ; Zoom camera out (stepped control) +rotate.up = "Ctrl+UpArrow", "Ctrl+W" ; Rotate camera to look upwards +rotate.down = "Ctrl+DownArrow", "Ctrl+S" ; Rotate camera to look downwards +rotate.cw = "Ctrl+LeftArrow", "Ctrl+A", Q ; Rotate camera clockwise around terrain +rotate.ccw = "Ctrl+RightArrow", "Ctrl+D", E ; Rotate camera anticlockwise around terrain +rotate.wheel.cw = "Shift+WheelUp", MouseX1 ; Rotate camera clockwise around terrain (stepped control) +rotate.wheel.ccw = "Shift+WheelDown", MouseX2 ; Rotate camera anticlockwise around terrain (stepped control) +pan = MouseMiddle ; Enable scrolling by moving mouse +left = A, LeftArrow ; Scroll or rotate left +right = D, RightArrow ; Scroll or rotate right +up = W, UpArrow ; Scroll or rotate up/forwards +down = S, DownArrow ; Scroll or rotate down/backwards +scroll.speed.increase = "Ctrl+Shift+S" ; Increase scroll speed +scroll.speed.decrease = "Ctrl+Alt+S" ; Decrease scroll speed +rotate.speed.increase = "Ctrl+Shift+R" ; Increase rotation speed +rotate.speed.decrease = "Ctrl+Alt+R" ; Decrease rotation speed +zoom.speed.increase = "Ctrl+Shift+Z" ; Increase zoom speed +zoom.speed.decrease = "Ctrl+Alt+Z" ; Decrease zoom speed -; SESSION GUI SETTINGS -gui.session.timeelapsedcounter = false ; Show the game duration in the top right corner -gui.session.attacknotificationmessage = true ; Show attack notification messages -gui.session.minimap.pingduration = 50.0 ; The duration for which an entity will be pinged after an attack notification -gui.session.minimap.blinkduration = 1.7 ; The blink duration while pinging +[hotkey.camera.jump] +1 = F5 ; Jump to position N +2 = F6 +3 = F7 +4 = F8 +;5 = +;6 = +;7 = +;8 = +;9 = +;10 = +[hotkey.camera.jump.set] +1 = "Ctrl+F5" ; Set jump position N +2 = "Ctrl+F6" +3 = "Ctrl+F7" +4 = "Ctrl+F8" +;5 = +;6 = +;7 = +;8 = +;9 = +;10 = -; GENERAL GUI SETTINGS -gui.cursorblinkrate = 0.5 ; Cursor blink rate in seconds (0.0 to disable blinking) +[hotkey.profile] +toggle = "F11" ; Enable/disable real-time profiler +save = "Shift+F11" ; Save current profiler data to logs/profile.txt +[hotkey.profile2] +toggle = "Ctrl+F11" ; Enable/disable HTTP/GPU modes for new profiler -; Multiplayer lobby preferences -lobby.server = "lobby.wildfiregames.com" ; Address of lobby server -lobby.xpartamupp = "wfgbot18" ; Name of the server-side xmpp client that manage games -lobby.chattimestamp = false ; Show time chat message was posted -lobby.room = "arena18" ; Default MUC room to join -lobby.history = 0 ; Number of past messages to display on join +[hotkey.selection] +add = Shift ; Add units to selection +milonly = Alt ; Add only military units to selection +remove = Ctrl ; Remove units from selection +cancel = Esc ; Un-select all units and cancel building placement +idleworker = Period ; Select next idle worker +idlewarrior = ForwardSlash ; Select next idle warrior +offscreen = Alt ; Include offscreen units in selection +[hotkey.selection.group.add] +0 = "Shift+0" +1 = "Shift+1" +2 = "Shift+2" +3 = "Shift+3" +4 = "Shift+4" +5 = "Shift+5" +6 = "Shift+6" +7 = "Shift+7" +8 = "Shift+8" +9 = "Shift+9" +[hotkey.selection.group.save] +0 = "Ctrl+0" +1 = "Ctrl+1" +2 = "Ctrl+2" +3 = "Ctrl+3" +4 = "Ctrl+4" +5 = "Ctrl+5" +6 = "Ctrl+6" +7 = "Ctrl+7" +8 = "Ctrl+8" +9 = "Ctrl+9" +[hotkey.selection.group.select] +0 = 0 +1 = 1 +2 = 2 +3 = 3 +4 = 4 +5 = 5 +6 = 6 +7 = 7 +8 = 8 +9 = 9 -; Overlay Preferences -overlay.fps = "false" ; Show frames per second in top right corner -overlay.realtime = "false" ; Show current system time in top right corner +[hotkey.session] +kill = Delete ; Destroy selected units +stop = "H" ; Stop the current action +attack = "Ctrl+Alt" ; Modifier to force attack instead of another action +attackmove = Ctrl ; Modifier to attackmove when clicking on a point +attackmoveUnit = "Ctrl+Q" ; Modifier to attackmove targeting only units when clicking on a point (should contain the attackmove keys) +garrison = Ctrl ; Modifier to garrison when clicking on building +autorallypoint = Ctrl ; Modifier to set the rally point on the building itself +guard = "G" ; Modifier to escort/guard when clicking on unit/building +queue = Shift ; Modifier to queue unit orders instead of replacing +batchtrain = Shift ; Modifier to train units in batches +massbarter = Shift ; Modifier to barter bunch of resources +masstribute = Shift ; Modifier to tribute bunch of resources +fulltradeswap = Shift ; Modifier to put the desired trade resource to 100% +unloadtype = Shift ; Modifier to unload all units of type +deselectgroup = Ctrl ; Modifier to deselect units when clicking group icon, instead of selecting +rotate.cw = RightBracket ; Rotate building placement preview clockwise +rotate.ccw = LeftBracket ; Rotate building placement preview anticlockwise -; MOD SETTINGS -mod.enabledmods = "mod public" +[hotkey.session.queueunit] ; > UNIT TRAINING +1 = "Z" ; add first unit type to queue +2 = "X" ; add second unit type to queue +3 = "C" ; add third unit type to queue +4 = "V" ; add fourth unit type to queue +5 = "B" ; add fivth unit type to queue +6 = "N" ; add sixth unit type to queue +7 = "M" ; add seventh unit type to queue +8 = Comma ; add eighth unit type to queue + +[hotkey.session.timewarp] +fastforward = Space ; If timewarp mode enabled, speed up the game +rewind = Backspace ; If timewarp mode enabled, go back to earlier point in the game + +[hotkey.text] ; > GUI TEXTBOX HOTKEYS +delete.left = "Ctrl+Backspace" ; Delete word to the left of cursor +delete.right = "Ctrl+Del" ; Delete word to the right of cursor +move.left = "Ctrl+LeftArrow" ; Move cursor to start of word to the left of cursor +move.right = "Ctrl+RightArrow" ; Move cursor to start of word to the right of cursor + +[gui] +cursorblinkrate = 0.5 ; Cursor blink rate in seconds (0.0 to disable blinking) + +[gui.session] +attacknotificationmessage = true ; Show attack notification messages +camerajump.threshold = 40 ; How close do we have to be to the actual location in order to jump back to the previous one? +timeelapsedcounter = false ; Show the game duration in the top right corner + +[gui.session.minimap] +blinkduration = 1.7 ; The blink duration while pinging +pingduration = 50.0 ; The duration for which an entity will be pinged after an attack notification + +[joystick] ; EXPERIMENTAL: joystick/gamepad settings +enable = false +deadzone = 8192 +[joystick.camera] +pan.x = 0 +pan.y = 1 +rotate.x = 3 +rotate.y = 2 +zoom.in = 5 +zoom.out = 4 + +[jsdebugger] +; The Debugger is currently broken and can't be enabled until the SpiderMonkey upgrade is done and the debugger is updated for the new API. +enable = false ; Enable Javascript debugging. + +[lobby] +chattimestamp = false ; Show time chat message was posted +history = 0 ; Number of past messages to display on join +room = "arena18" ; Default MUC room to join +server = "lobby.wildfiregames.com" ; Address of lobby server +xpartamupp = "wfgbot18" ; Name of the server-side xmpp client that manage games + +[mod] +enabledmods = "mod public" + +[overlay] +fps = "false" ; Show frames per second in top right corner +realtime = "false" ; Show current system time in top right corner + +[profiler2] +autoenable = false ; Enable HTTP server output at startup (default off for security/performance) +script.enable = false ; Enable Javascript profiling. Needs to be set before startup and can't be changed later. (default off for performance) +gpu.arb.enable = true ; Allow GL_ARB_timer_query timing mode when available +gpu.ext.enable = true ; Allow GL_EXT_timer_query timing mode when available +gpu.intel.enable = true ; Allow GL_INTEL_performance_queries timing mode when available + +[sound] +mastergain = 0.9 +musicgain = 0.2 +ambientgain = 0.6 +actiongain = 0.7 +uigain = 0.7 + +[tinygettext] +debug = false ; Print error messages each time a translation for an English string is not found. + +[userreport] ; Opt-in online user reporting system +url = "http://feedback.wildfiregames.com/report/upload/v1/" + +[view] ; Camera control settings +scroll.speed = 120.0 +scroll.speed.modifier = 1.05 ; Multiplier for changing scroll speed +rotate.x.speed = 1.2 +rotate.x.min = 28.0 +rotate.x.max = 60.0 +rotate.x.default = 35.0 +rotate.y.speed = 2.0 +rotate.y.speed.wheel = 0.45 +rotate.y.default = 0.0 +rotate.speed.modifier = 1.05 ; Multiplier for changing rotation speed +drag.speed = 0.5 +zoom.speed = 256.0 +zoom.speed.wheel = 32.0 +zoom.min = 50.0 +zoom.max = 200.0 +zoom.default = 120.0 +zoom.speed.modifier = 1.05 ; Multiplier for changing zoom speed +pos.smoothness = 0.1 +zoom.smoothness = 0.4 +rotate.x.smoothness = 0.5 +rotate.y.smoothness = 0.3 +near = 2.0 ; Near plane distance +far = 4096.0 ; Far plane distance +fov = 45.0 ; Field of view (degrees), lower is narrow, higher is wide +height.smoothness = 0.5 +height.min = 16 diff --git a/binaries/data/mods/public/gui/session/input.js b/binaries/data/mods/public/gui/session/input.js index 0e8aceecba..30fb7b88a0 100644 --- a/binaries/data/mods/public/gui/session/input.js +++ b/binaries/data/mods/public/gui/session/input.js @@ -840,11 +840,11 @@ function handleInputAfterGui(ev) // Handle the time-warp testing features, restricted to single-player if (!g_IsNetworked && Engine.GetGUIObjectByName("devTimeWarp").checked) { - if (ev.type == "hotkeydown" && ev.hotkey == "timewarp.fastforward") + if (ev.type == "hotkeydown" && ev.hotkey == "session.timewarp.fastforward") Engine.SetSimRate(20.0); - else if (ev.type == "hotkeyup" && ev.hotkey == "timewarp.fastforward") + else if (ev.type == "hotkeyup" && ev.hotkey == "session.timewarp.fastforward") Engine.SetSimRate(1.0); - else if (ev.type == "hotkeyup" && ev.hotkey == "timewarp.rewind") + else if (ev.type == "hotkeyup" && ev.hotkey == "session.timewarp.rewind") Engine.RewindTimeWarp(); } @@ -1256,16 +1256,18 @@ function exchangeResources(command) // Camera jumping: when the user presses a hotkey the current camera location is marked. // When they press another hotkey the camera jumps back to that position. If the camera is already roughly at that location, // jump back to where it was previously. -var jumpCameraPositions = [], jumpCameraLast; +var jumpCameraPositions = []; +var jumpCameraLast; +var jumpCameraDistanceThreshold = Engine.ConfigDB_GetValue("user", "gui.session.camerajump.threshold"); function jumpCamera(index) { - var position = jumpCameraPositions[index], distanceThreshold = Engine.ConfigDB_GetValue("user", "camerajump.threshold"); + var position = jumpCameraPositions[index]; if (position) { if (jumpCameraLast && - Math.abs(Engine.CameraGetX() - position.x) < distanceThreshold && - Math.abs(Engine.CameraGetZ() - position.z) < distanceThreshold) + Math.abs(Engine.CameraGetX() - position.x) < jumpCameraDistanceThreshold && + Math.abs(Engine.CameraGetZ() - position.z) < jumpCameraDistanceThreshold) Engine.CameraMoveTo(jumpCameraLast.x, jumpCameraLast.z); else { diff --git a/source/ps/ConfigDB.cpp b/source/ps/ConfigDB.cpp index dfb4d9ea42..129239f9b7 100644 --- a/source/ps/ConfigDB.cpp +++ b/source/ps/ConfigDB.cpp @@ -232,6 +232,7 @@ bool CConfigDB::Reload(EConfigNamespace ns) char *filebufend = filebuf+buflen; bool quoted = false; + CStr header; CStr name; CStr value; int line = 1; @@ -248,6 +249,32 @@ bool CConfigDB::Reload(EConfigNamespace ns) case '\r': continue; // ignore + case '[': + header.clear(); + for (++pos; pos < filebufend && *pos != '\n' && *pos != ']'; ++pos) + header.push_back(*pos); + + if (pos == filebufend || *pos == '\n') + { + LOGERROR(L"Config header with missing close tag encountered on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str()); + header.clear(); + ++line; + continue; + } + + LOGMESSAGE(L"Found config header '%hs'", header.c_str()); + header.push_back('.'); + while (++pos < filebufend && *pos != '\n' && *pos != ';') + if (*pos != ' ' && *pos != '\r') + { + LOGERROR(L"Config settings on the same line as a header on line %d in '%ls'", line, m_ConfigFile[ns].string().c_str()); + break; + } + while (pos < filebufend && *pos != '\n') + ++pos; + ++line; + continue; + case '=': // Parse parameters (comma separated, possibly quoted) for (++pos; pos < filebufend && *pos != '\n' && *pos != ';'; ++pos) @@ -307,16 +334,17 @@ bool CConfigDB::Reload(EConfigNamespace ns) // Store the setting if (!name.empty() && !values.empty()) { - newMap[name] = values; - if (name == "lobby.password") - LOGMESSAGE(L"Loaded config string \"%hs\"", name.c_str()); + CStr key(header + name); + newMap[key] = values; + if (key == "lobby.password") + LOGMESSAGE(L"Loaded config string \"%hs\"", key.c_str()); else { std::string vals; - for (size_t i = 0; i < newMap[name].size() - 1; ++i) - vals += "\"" + EscapeString(newMap[name][i]) + "\", "; - vals += "\"" + EscapeString(newMap[name][values.size()-1]) + "\""; - LOGMESSAGE(L"Loaded config string \"%hs\" = %hs", name.c_str(), vals.c_str()); + for (size_t i = 0; i < newMap[key].size() - 1; ++i) + vals += "\"" + EscapeString(newMap[key][i]) + "\", "; + vals += "\"" + EscapeString(newMap[key][values.size()-1]) + "\""; + LOGMESSAGE(L"Loaded config string \"%hs\" = %hs", key.c_str(), vals.c_str()); } } else if (!name.empty())