Extend the config parser to support ini-style config files. Refs #1810.
Config settings in a section are stored as "sectionname.setting" internally. Do not write section headers when writing config files as we would need to write settings without a dot first or ignore them. This can be changed once all settings belong to a section. This was SVN commit r15986.
This commit is contained in:
parent
73de625089
commit
afecbf02f3
@ -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
|
||||
|
@ -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
|
||||
{
|
||||
|
@ -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())
|
||||
|
Loading…
Reference in New Issue
Block a user