Customizing/Binding: Difference between revisions
(correcting Mac camera key info; also, there's no logic to putting unbindable events on a page about binding keys; these items belong on the DevMode page anyway) |
(clarifying some Mac and Win stuff) |
||
Line 147: | Line 147: | ||
|- | |- | ||
|Custom Animations 1 and 2 | |Custom Animations 1 and 2 | ||
|[[#cutscene1, cutscene2|cutscene1, cutscene2]] | |(PC only) [[#cutscene1, cutscene2|cutscene1, cutscene2]] | ||
|<tt>keys_all</tt> | |<tt>keys_all</tt> | ||
|} | |} | ||
Line 189: | Line 189: | ||
===cutscene1, cutscene2=== | ===cutscene1, cutscene2=== | ||
====What it's meant for==== | ====What it's meant for==== | ||
This is another feature of the cutscene authoring process detailed above | This is another feature of the cutscene authoring process detailed above, but Windows-only. | ||
*The 2 runtime variables '''sc_bind_f2''' and '''sc_bind_f3''' can be set to hold the names of 2 arbitrary animations, say: | *The 2 runtime variables '''sc_bind_f2''' and '''sc_bind_f3''' can be set to hold the names of 2 arbitrary animations, say: | ||
sc_bind_f2="KONCOMsuper_kick"; | sc_bind_f2="KONCOMsuper_kick"; | ||
Line 204: | Line 204: | ||
===Detached camera controls=== | ===Detached camera controls=== | ||
The camera-panning movements are automatically bound to the numeric keypad in | The camera-panning movements are automatically bound to the numeric keypad in Oni (all camera controls are listed [[Developer Mode|here]]), but Oni for the Mac lacks the ability to bind keys to the numpad, so these controls will be missing. To fully control the free-flying camera on the Mac, add bindings to key_config.txt for the following four events: | ||
*man_cam_pan_up | *man_cam_pan_up | ||
*man_cam_pan_down | *man_cam_pan_down | ||
*man_cam_pan_left | *man_cam_pan_left | ||
*man_cam_pan_right | *man_cam_pan_right | ||
Once again, the Mac treats the keys 0-9 as both 0-9 and numpad0-numpad9, so if you bind the above movements to the number keys, you can use the numeric pad just as Bungie West intended. | |||
[[Category:Oni Support]] | [[Category:Oni Support]] |
Revision as of 16:16, 5 May 2013
How to bind keys
When you want to add your own controls to key_config.txt, make sure you do it underneath the "unbindall" command. To reset your bindings to default, delete key_config.txt and launch Oni to get a clean binding config generated.
The bind command is structured the following way:
bind *key* to *action*
So if you would want to bind "kick" to '/' you would type:
bind slash to kick
Bindings that can't be changed are :
- F8 and Shift+F8 (cycles through available characters when shapeshifter or Dev Mode is enabled)
- Esc (toggles Main Menu while playing).
Bindable keys
To see if the key or button you're trying to bind to is being received by Oni, you can enter chr_debug_characters=1 on the console and watch the keypress event bitset in the display at the upper-right; it should be changing as you press and hold keys.
Key description | Syntax |
---|---|
Mouse/joystick/gamepad horizontal/vertical/other axis | mousexaxis, mouseyaxis, mousezaxis |
Mouse/joystick/gamepad button 1 ... 4 | mousebutton1 ... mousebutton4 |
0 ... 9, A ... Z | 0 ... 9*, a ... z (lowercase) |
F1 ... F12 ... F15 | fkey1 ... fkey12 ... fkey15 |
Up/Down/Left/Right Arrow | uparrow, downarrow, leftarrow, rightarrow |
Space, Backspace, Tab, Enter | space, backspace, tab, enter |
Num Pad 0 ... Num Pad 9 | (PC only) numpad0 ... numpad9* |
Num Pad * / + - . | multiply, divide, add, subtract, decimal |
Num Pad Enter, Num Pad = | numpadenter, numpadequals |
Print Screen, Pause, Insert, Delete | printscreen, pause, insert, delete |
Page Up/Down, Home, End | pageup, pagedown, home, end |
Caps Lock, Num Lock, Scroll Lock | capslock, numlock, scrolllock |
, . ; ' | comma, period, semicolon, apostrophe |
[ ] / \ | rightbracket, leftbracket, slash, backslash |
Left/Right Shift | leftshift/rightshift |
Left/Right Control | leftcontrol/rightcontrol |
Left/Right Alt | leftalt/rightalt |
(Mac only) Left/Right Option | leftoption/rightoption |
(PC only) Left/Right Windows | leftwindows/rightwindows |
*On Macs, bindings using "0-9" will be bound to both the keyboard's and numeric pad's 0-9 (in lieu of separate numpad bindings on Mac).
Regular bindable events
Event description | Syntax | lock_keys group |
---|---|---|
Horizontal/Vertical Aiming | aim_lr/aim_LR, aim_ud/aim_UD | NOT AFFECTED |
Forward, Backward, Strafe Left/Right | forward, backward, stepleft, stepright | keys_movement |
Turn Left/Right (DOOM-style) | turnleft/turnright | keys_all |
Jump, Crouch, Walk | jump, crouch, walk | keys_jump, keys_crouch, keys_walk |
Draw/Holster Weapon, Pick Up | swap | keys_inventory |
Drop Weapon | drop | keys_inventory |
Reload Weapon | reload | keys_reload |
Punch, Kick, Fire1 ... Fire3 | punch, kick, fire1 ... fire3 | keys_attack |
Use Hypo | hypo | keys_hypo |
Use Console/Door, Talk, Taunt, | action | keys_action |
Escape/Resume | escape | NOT AFFECTED |
Pause Screen | pausescreen | keys_pause |
Look Mode | lookmode | keys_all |
Screenshot | screenshot | NOT AFFECTED |
Start/Stop/Play Record | start_record, stop_record, play_record | keys_all |
Custom Animations 1 and 2 | (PC only) cutscene1, cutscene2 | keys_all |
lock_keys
lock_keys is a BSL command used by Oni in the Training level to prevent the player from doing certain actions until he is prompted to. The keys were arranged for this purpose in "lock groups", the names for which are given above. Passing one of those names to lock_keys prevents that kind of input.
fire1, fire2, fire3
- fire1 fires your gun's primary ammunition when available (if your gun isn't empty), and doubles as punch otherwise.
- fire2 fires your gun's secondary ammunition when available (only for the Wave Motion Cannon) and doubles as kick otherwise.
- fire3 fires your gun's tertiary ammunition when available (never) and doubles as crouch otherwise.
walk
While you hold this key, your character walks (or sashays in the case of Konoko :D ) instead of running. Like crouch-running (holding crouch while moving), walking does not make any noise that alerts enemies. You can also hold the crouch and walk keys together for the slowest form of movement, crouch-walking.
lookmode
- While you hold this key, the body facing can't be changed with the horizontal aiming input (such as mousexaxis).
- The facing direction is then "locked" (you can still turn with the turnleft and turnright keys).
- Your horizontal aiming input then lets you look a full 90 degrees right and left (45 degrees when aiming with some weapons).
- When you release the lookmode key, your "lookspring" snaps your facing back to 0 degrees (straight ahead). Unless, that is, you've chr_focused to an AI.
screenshot
- This stores a screenshot in uncompressed BMP format in Oni's folder, with the generic name screen_shot#####.bmp.
- The size of the screenshot is normally the resolution specified in Options, but you can set the runtime variable gs_screen_shot_reduce to downsample the bitmap by a factor of 2 to that power.
Thus, if you play Oni in 640x480, the bitmaps you'll get will be:- 640x480 if gs_screen_shot_reduce=0 (default)
- 320x240 if gs_screen_shot_reduce=1
- 160x120 if gs_screen_shot_reduce=2....
start_record, stop_record, play_record
What it's meant for
This is a development feature Bungie used to author cutscene character animations.
- When you press the start_record key, Oni stores the authored character's position, body facing and aiming direction, then keeps recording all input events (keyboard and mouse) in a buffer until you press the stop_record key.
- When you press the play_record key, the initial conditions stored at start_record-time are applied to the authored character, then the event buffer is read from, and the events are applied to your character as if you were providing the recorded input. Your actual input is ignored until the "movie" is done "playing".
- The buffer has a limited size (quite big, about half an hour of non-stop action). Overflowing it makes Oni crash.
- The contents of the event buffer is dumped in generic binary files called saved_film###.dat in Oni's folder. Those dumped event buffers can not be read from and applied to custom characters via scripting. However, they are what Bungie developers used for generating the FILM binaries we can call up with chr_playback.
What you can use it for
- You can use this feature to "teleport" back to a place where you've already been. "Plant" a "teleporter" by pressing start_record then stop_record right afterwards; at any later time, pressing play_record will bring you back to the last "teleporter" you have thus "planted".
- Expert gamers have used the above "teleporting" technique to perform so-called "film-jumping".
cutscene1, cutscene2
What it's meant for
This is another feature of the cutscene authoring process detailed above, but Windows-only.
- The 2 runtime variables sc_bind_f2 and sc_bind_f3 can be set to hold the names of 2 arbitrary animations, say:
sc_bind_f2="KONCOMsuper_kick"; sc_bind_f3="KONOKOendpowerup";
- Those two animations can then be applied to the authored character at any time during the authoring, by the pressing the cutscene1 or cutscene2 key.
- The custom animation's name is stored in the event buffer, so the authored animations will appear during playback even if sc_bind_f2 and sc_bind_f3 are changed while recording or before playback.
What you can use it for
- You can use it for playing custom animations (like normally unavailable combat moves) in-game, any time you want.
- Just press the start_record key, and the two custom animations (Konoko's Super Kick and Outro Daodan Blast in the example above) will be available via the keys you bound to cutscene1 and cutscene2.
Developer Mode-bindable events
These events only work when Developer Mode is active.
Detached camera controls
The camera-panning movements are automatically bound to the numeric keypad in Oni (all camera controls are listed here), but Oni for the Mac lacks the ability to bind keys to the numpad, so these controls will be missing. To fully control the free-flying camera on the Mac, add bindings to key_config.txt for the following four events:
- man_cam_pan_up
- man_cam_pan_down
- man_cam_pan_left
- man_cam_pan_right
Once again, the Mac treats the keys 0-9 as both 0-9 and numpad0-numpad9, so if you bind the above movements to the number keys, you can use the numeric pad just as Bungie West intended.