Wartbed:Files/Formats/Application Settings

From Dark Omen Wiki

Jump to: navigation, search

[WARTBED]/cfg/Application.settings is the configuration file of the WARTBED system. It is a text file using the WARTBED Script format.

Contents

General Layout

Placeholder

Graphics Settings

Placeholder

Input Bindings

The default key bindings are defined in application.config. Modules and campaigns can override these, but any binding missing or not overridden there will use these.

For readability, WARTBED associates input events with qualitative names (action names), such as "move forward". The association of input events with an action name is called an input binding (sometimes key binding is used synonymously).

Simple input bindings

The basic syntax for binding an input event to an action is:

Syntax: action name { mapping=input name; sensitivity=number; invert=bool; }

All names and codes are case-insensitive. The sensitivity and invert parameters are optional. A number can be an integer or a fraction, and bool can be any of the keywords "true", "false", "yes" and "no".

Example: move back/forward { mapping=W; sensitivity=100; invert=no; }
Example: move back/forward { mapping=S; sensitivity=100; invert=yes; }

Composite input bindings

WARTBED actions may need to be more clearly defined than just being associated with a single input event. For instance, several buttons pressed together may trigger a particular action, or an action will only take place when another button is NOT pressed. Then actions must be specified as composite bindings.

To bind an action to more than one input condition, enclose each binding as a separate block in the action block, preceded by a modifier:

Example:
action name { condition { mapping=input code; sensitivity=number; invert=bool; } condition { mapping=input code; sensitivity=number; invert=bool; } }

To specify that the input event is required to fire the action, use "and", "&", "yes" or "true" for the modifier, or leave the modifier out all together, since missing modifiers default to "true". Use "!", "not", "no" or "false" before the block to indicate that the specified input must NOT occur with the other ones for for the action to be performed (negative mappings do not have to specify sensitivity or invert parameters).

Note 1: Sensitivity and invert are always taken from the FIRST bound map. Keep this in mind when mapping several input to an action.
Note 2: Since some combinations may interfere with each other, you may have to define actions to take this into consideration. For instance, if moving the mouse moves the cursor and moving it with the right mouse button held rotates the camera, you will need to define the cursor movement action with a "not right mouse button held" modifier.
Two equivalent examples:
move left/right { and { mapping=mouse x axis; sensitivity=0.5; } and { mapping=right mouse button; } not { mapping=left mouse button; } } move left/right { { mapping=mouse x axis; sensitivity=0.5; } &{ mapping=right mouse button; } !{ mapping=left mouse button; } }

List of WARTBED Standard Actions

Modules may provide additional actions.

INCOMPLETE LIST OF ACTIONS! This list is a stub only. The action set is in constant flux! See this as an example only!

   yaw                // swivel camera up/down camera
   pitch              // swivel camera left/right
   roll               // tilt camera left/right (not implemented)
   zoom               // zoom camera
   orbit horizontally // rotates camera left/right around target
   orbit vertically   // rotated camera up/down around targer
   move forward/backward   // moves camera in the direction it points
   move left/right         // moves camera left/right orthogonally to the direction it points
   move up/down            // moves camera up/down orthogonally to the direction it points
   slide forward/backward   // moves camera in the Z direction along the plane
   slide left/right         // moves camera in the X direction along the plane
   slide up/down            // moves camera up from or down toward the plane


List of Input Codes

Seems like the "plus" key on the regular keyboard is missing from the list...


Keyboard Input
Input Code Description WARTBED internal value
UNASSIGNED 0x00
ESCAPE 0x01
1 0x02
2 0x03
3 0x04
4 0x05
5 0x06
6 0x07
7 0x08
8 0x09
9 0x0A
0 0x0B
MINUS - on main keyboard 0x0C
EQUALS 0x0D
BACK backspace 0x0E
TAB 0x0F
Q 0x10
W 0x11
E 0x12
R 0x13
T 0x14
Y 0x15
U 0x16
I 0x17
O 0x18
P 0x19
LBRACKET 0x1A
RBRACKET 0x1B
RETURN Enter on main keyboard 0x1C
LCONTROL 0x1D
A 0x1E
S 0x1F
D 0x20
F 0x21
G 0x22
H 0x23
J 0x24
K 0x25
L 0x26
SEMICOLON 0x27
APOSTROPHE 0x28
GRAVE accent 0x29
LSHIFT 0x2A
BACKSLASH 0x2B
Z 0x2C
X 0x2D
C 0x2E
V 0x2F
B 0x30
N 0x31
M 0x32
COMMA 0x33
PERIOD . on main keyboard 0x34
SLASH / on main keyboard 0x35
RSHIFT 0x36
MULTIPLY * on numeric keypad 0x37
LMENU left Alt 0x38
SPACE 0x39
CAPITAL 0x3A
F1 0x3B
F2 0x3C
F3 0x3D
F4 0x3E
F5 0x3F
F6 0x40
F7 0x41
F8 0x42
F9 0x43
F10 0x44
NUMLOCK 0x45
SCROLL Scroll Lock 0x46
NUMPAD7 0x47
NUMPAD8 0x48
NUMPAD9 0x49
SUBTRACT - on numeric keypad 0x4A
NUMPAD4 0x4B
NUMPAD5 0x4C
NUMPAD6 0x4D
ADD + on numeric keypad 0x4E
NUMPAD1 0x4F
NUMPAD2 0x50
NUMPAD3 0x51
NUMPAD0 0x52
DECIMAL . on numeric keypad 0x53
OEM_102 on UK/Germany keyboards 0x56
F11 0x57
F12 0x58
F13 (NEC PC98) 0x64
F14 (NEC PC98) 0x65
F15 (NEC PC98) 0x66
KANA (Japanese keyboard) 0x70
ABNT_C1 / ? on Portugese (Brazilian) keyboards 0x73
CONVERT (Japanese keyboard) 0x79
NOCONVERT (Japanese keyboard) 0x7B
YEN (Japanese keyboard) 0x7D
ABNT_C2 Numpad . on Portugese (Brazilian) keyboards 0x7E
NUMPADEQUALS = on numeric keypad (NEC PC98) 0x8D
PREVTRACK Previous Track (CIRCUMFLEX on Japanese keyboard) 0x90
AT (NEC PC98) 0x91
COLON (NEC PC98) 0x92
UNDERLINE (NEC PC98) 0x93
KANJI (Japanese keyboard) 0x94
STOP (NEC PC98) 0x95
AX (Japan AX) 0x96
UNLABELED (J3100) 0x97
NEXTTRACK Next Track 0x99
NUMPADENTER Enter on numeric keypad 0x9C
RCONTROL 0x9D
MUTE Mute 0xA0
CALCULATOR Calculator 0xA1
PLAYPAUSE Play / Pause 0xA2
MEDIASTOP Media Stop 0xA4
VOLUMEDOWN Volume - 0xAE
VOLUMEUP Volume + 0xB0
WEBHOME Web home 0xB2
NUMPADCOMMA , on numeric keypad (NEC PC98) 0xB3
DIVIDE / on numeric keypad 0xB5
SYSRQ 0xB7
RMENU right Alt 0xB8
PAUSE Pause 0xC5
HOME Home on arrow keypad 0xC7
UP UpArrow on arrow keypad 0xC8
PGUP PgUp on arrow keypad 0xC9
LEFT LeftArrow on arrow keypad 0xCB
RIGHT RightArrow on arrow keypad 0xCD
END End on arrow keypad 0xCF
DOWN DownArrow on arrow keypad 0xD0
PGDOWN PgDn on arrow keypad 0xD1
INSERT Insert on arrow keypad 0xD2
DELETE Delete on arrow keypad 0xD3
LWIN Left Windows key 0xDB
RWIN Right Windows key 0xDC
APPS AppMenu key 0xDD
POWER System Power 0xDE
SLEEP System Sleep 0xDF
WAKE System Wake 0xE3
WEBSEARCH Web Search 0xE5
WEBFAVORITES Web Favorites 0xE6
WEBREFRESH Web Refresh 0xE7
WEBSTOP Web Stop 0xE8
WEBFORWARD Web Forward 0xE9
WEBBACK Web Back 0xEA
MYCOMPUTER My Computer 0xEB
MAIL Mail 0xEC
MEDIASELECT Media Select 0xED

Mouse input
Input Code Description WARTBED internal value
LEFT MOUSE BUTTON
RIGHT MOUSE BUTTON
MIDDLE MOUSE BUTTON
MOUSE BUTTON 4
MOUSE BUTTON 5
MOUSE BUTTON 6
MOUSE BUTTON 7
MOUSE BUTTON 8
MOUSE X AXIS
MOUSE X AXIS
MOUSE WHEEL
Personal tools
communication