Developer Mode: Difference between revisions
(→Console input: just a tip from having had to do this on a PC recently) |
(updating for Mac Intel build and beginning a rewrite, to be finished tomorrow) |
||
Line 1: | Line 1: | ||
{|style="float:right" | {|style="float:right" | ||
|+Label on a crate in<br>Syndicate Warehouse<br>(an [[Easter eggs|Easter egg]]) | |+Label on a crate in<br>Syndicate Warehouse<br>(an [[Easter eggs|Easter egg]]) | ||
Line 6: | Line 4: | ||
|http://geyser.oni2.net/Developer_Mode/TheDayIsMine0.png | |http://geyser.oni2.net/Developer_Mode/TheDayIsMine0.png | ||
|} | |} | ||
Developer Mode is a bundle of features | Developer Mode is a bundle of features created by [[Bungie West]] to help them develop Oni -- a console, camera controls, and various debugging features -- that is available via the '''thedayismine''' cheat code. It was long believed that Developer Mode had been cut from retail versions of Oni; it had only been observed to work in the [[Mac beta]] that was leaked around the time of Oni's beta testing. However, the this mode is actually present in ''all'' available versions of Oni (except PS2). It just needs to be unlocked, as the community learned [[History_of_Oni_modding/The_tale_of_Dev_Mode|back in 2006]]. | ||
Below you will find download links, unlocking instructions, and finally an overview of the Developer Mode's features. | Below you will find download links, unlocking instructions, and finally an overview of the Developer Mode's features. | ||
==Getting it to work== | ==Getting it to work== | ||
===Download it...=== | ===Download it...=== | ||
In Windows, you | In Windows, you can install the [[Daodan DLL]] to unlock Developer Mode. On the Mac, the Intel build has Dev Mode unlocked; it can be found [[AE:FERAL|HERE]]. | ||
{{Divhide|...or do it yourself}} | {{Divhide|...or do it yourself}} | ||
===...or do it yourself=== | ===...or do it yourself=== | ||
Line 17: | Line 17: | ||
First, get a good hex editor. Ideally, it should allow you to search for sequences containing joker characters. One such editor for PC is [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32]. Dunno for Mac. | First, get a good hex editor. Ideally, it should allow you to search for sequences containing joker characters. One such editor for PC is [http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm XVI32]. Dunno for Mac. | ||
====Cheat code lookup tables==== | ====Cheat code lookup tables==== | ||
{|style="float:right" | {|style="float:right" | ||
Line 125: | Line 126: | ||
Developer mode will now be enabled/disabled every time you type '''killmequick''' at the pause screen : you'll get "Ultra Mode Enabled" and "Ultra Mode Disabled" as confirmation messages. | Developer mode will now be enabled/disabled every time you type '''killmequick''' at the pause screen : you'll get "Ultra Mode Enabled" and "Ultra Mode Disabled" as confirmation messages. | ||
{{Divhide|end}} | {{Divhide|end}} | ||
==Using it== | ==Using it== | ||
===First check=== | ===First check=== | ||
Cheats are normally unlocked when you finish the full version of the game. | Cheats are normally unlocked when you finish the full version of the game. For unlocking cheats "manually" (especially necessary with the demos), see [[Cheats|HERE]] | ||
For unlocking cheats "manually" (especially necessary with the demos), see [[Cheats|HERE]] | |||
Let's say cheats are enabled and | Let's say cheats are enabled and Developer Mode has been made available ''via'' the '''thedayismine''' cheatcode (or simply '''x''' with Daodan DLL installed). | ||
Just type the | Just type the Developer Mode cheat and watch for the confirmation message. However, you may not notice anything special when you get back to the game (although there should be occasional console messages appearing at the bottom-left). | ||
However, | |||
The quickest way to tell whether Dev Mode definitely works, right after you get the confirmation message, is to exit the Diary screen and to press '''End'''. That should teleport you to where the camera is (usually back and up, possibly through walls and ceilings). | |||
Here's another quick test, meant to see if the Control and Alt | Here's another quick test, meant to see if the Control and Alt keys work fine (on Mac, use the Option key instead of Alt): Ctrl+Shift+U and Ctrl+Alt+U should both perform the "unstick" action; Konoko will shift forward by a small amount. | ||
Ctrl+Shift+U and Ctrl+Alt+U should both perform the "unstick" action | |||
===Console output=== | |||
In | In Developer Mode, Oni prints debug messages about in-game events along the bottom-left of the screen. Past messages scroll up across the screen and fade. In some situations, messages don't fade (e.g. if character debugging is enabled or you are currently using the console line). | ||
The easiest way to check whether that output works at all is to press '''F8''' : the character class | The easiest way to check whether that output works at all is to press '''F8''': the character class change is acknowledged with a console message. | ||
If you don't see anything, that means console output is unfortunately disabled in your version of Oni. If you're on PC retail, you may have applied [[Troubleshooting/Blam|Ian's patch]] (aka XP patch), which disables console output. On PC demo, both console output and console input are invisible (i.e. you can enter script commands, but you're "blindfolded"). | |||
===Console input=== | |||
By default, Oni auto-binds the "console" toggle to the key which on U.S. keyboards has a grave accent, <span style="font-size:200%; top:0.3em; position:relative">`</span>, in the lowercase position and a tilde, <span style="font-size:175%">~</span>, in the uppercase position. It is usually called the "tilde key" by users, and perhaps even elsewhere on this wiki; however, you would have to hold Shift to type a tilde, and the console is activated by just pressing the key without Shift, thus it is actually the "grave accent key" which activates the console. On non-U.S. keyboards, that key may not be recognized. Just add a line like "bind leftalt to console" to '''key_config.txt''' in your Oni folder and you'll be able to open the console with that key. In some cases, this bound key will not ''close'' the console; however, pressing the grave accent key, oddly enough, may work. | |||
=== | ===Usage=== | ||
====Hotkeys==== | ====Hotkeys==== | ||
{|class="wikitable" style="margin-left:auto; margin-right:auto;" | |||
{| | !Hotkey (can use Alt for Ctrl) | ||
!Hotkey | |||
!Description | !Description | ||
! | !Windows | ||
!Mac | !Mac | ||
|- | |- | ||
| | |Cntl+Shift+o | ||
| | |Occl Makes console screens disappear | ||
|<center> | |<center>{{ckblue}}</center> | ||
| | |<center>?</center> | ||
| | |- | ||
|Cntl+Shift+i | |||
|Invis | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+y | |||
|Displays FPS | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Cntl+Shift+t | |||
|Char Collision | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |- | ||
| | |Cntl+Shift+r | ||
| | |Obj Collision | ||
|<center> | |<center>?</center> | ||
| | |<center>?</center> | ||
|- | |- | ||
| | |Cntl+Shift+f | ||
| | |Fast Mode (runs Oni at up to 24x) | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
| | |Cntl+Shift+g | ||
| | |Slow motion | ||
|<center>{{ckblue}}</center> | |||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |||
|- | |- | ||
| | |Cntl+Shift+x | ||
| | |Secret X / (Mac only) Show trigger volumes | ||
|<center> | |<center>?</center> | ||
|<center>?</center> | |||
|<center> | |||
|- | |- | ||
| | |Cntl+Shift+y | ||
| | |Secret Y | ||
|<center>?</center> | |||
|<center> | |<center>?</center> | ||
|<center> | |||
|- | |- | ||
| | |Cntl+Shift+z | ||
| | |Secret Z | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
| | |Cntl+Shift+Ins | ||
| | |Add Flag | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
| | |Cntl+Shift+Del | ||
| | |Delete Flag | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
| | |Cntl+Shift+u | ||
| | |Unstick player | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|Cntl+Shift+ | |Cntl+Shift+n | ||
| | |Camera Record | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
|Cntl+Shift+ | |Cntl+Shift+m | ||
| | |Camera Stop | ||
|<center>?</center> | |<center>?</center> | ||
|<center>?</center> | |<center>?</center> | ||
|- | |- | ||
|Cntl+Shift+ | |Cntl+Shift+, | ||
| | |Camera Playback | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
| | |? | ||
| | |Place Quad | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
| | |? | ||
| | |Place Quad Mode | ||
|<center>?</center> | |<center>?</center> | ||
|<center>?</center> | |<center>?</center> | ||
|- | |- | ||
| | |Ctrl+Shift+\ | ||
| | |Profile Toggle | ||
|<center>?</center> | |<center>?</center> | ||
|<center>?</center> | |<center>?</center> | ||
Line 270: | Line 254: | ||
|Cntl+Shift+l | |Cntl+Shift+l | ||
|Dumps a screenshot every frame | |Dumps a screenshot every frame | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |- | ||
|Ctrl+Shift+1 | |||
|Test One | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Ctrl+Shift+2 | |||
|Test Two | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Ctrl+Shift+3 | |||
|Test Three | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Ctrl+Shift+4 | |||
|Test Four | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Return/Enter | |||
|Camera Control 3 modes <br>Normal, Detached 1-mouse controls aim<br>Detached 2-mouse controls camera<br>(When activated the following applies) | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|/ | |||
|Single Step | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |- | ||
|Cntl+Shift+ | |Cntl+Shift+Home | ||
| | |Toggle active camera; Freeze raycasting | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
| | |. (period) | ||
| | |Single Step Mode | ||
|<center> | |<center>?</center> | ||
|<center> | |<center>?</center> | ||
|- | |- | ||
| | |End | ||
|Warp to camera | |Warp to camera | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |- | ||
|Cntl+Shift+k | |||
|Kill Particles | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Backspace | |||
|Kill Particles | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|7 | |||
|Explode One | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|8 | |||
|Explode Two | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|9 | |||
|Explode Three | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|0 | |||
|Explode Four | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+j | |||
|Reset Particles | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+w | |||
|Drop Flag and Add Waypoint | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+b | |||
|Shows current opponent's logic | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|] | |||
|Freeze | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|[ | |||
|Frame Advance | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+s | |||
|furnitures' textures (turns red) | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |- | ||
| | |F8, Shift+F8 | ||
| | |Cycle characters | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |- | ||
|Cntl+Shift+p | |||
|Perf Particle | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|Cntl+Shift+; | |||
|Perf Particle Lock | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|= | |||
|Screenshot | |||
|<center>?</center> | |||
|<center>?</center> | |||
|- | |||
|F2 | |||
|Cutscene 1 | |||
|<center>{{ckblue}}</center> | |||
| | |||
|- | |||
|F3 | |||
|Cutscene 2 | |||
|<center>{{ckblue}}</center> | |||
| | |||
|- | |||
|F6 | |||
|Kill All AI | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Ctrl+F7 | |||
|Play dead | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Fkey7, Shift+Fkey7 | |||
|Cycle weapons (holster to get second weapon) | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Fkey9 | |||
|Start recording | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Fkey10 | |||
|Stop recording | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|Fkey11 | |||
|Playback recording | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |||
|` (grave accent) | |||
|Displays console | |||
|<center>{{ckblue}}</center> | |||
|<center>{{ckblue}}</center> | |||
|- | |- | ||
|<ul><li>NumPad1</li></ul> | |<ul><li>NumPad1</li></ul> | ||
|Move camera left | |Move camera left | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center>see note [[Customizing/Binding#Developer_Mode|HERE]]</center> | |<center>see note [[Customizing/Binding#Developer_Mode|HERE]]</center> | ||
|- | |- | ||
|<ul><li>NumPad3</li></ul> | |<ul><li>NumPad3</li></ul> | ||
|Move camera right | |Move camera right | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad4</li></ul> | |<ul><li>NumPad4</li></ul> | ||
|Pan camera right | |Pan camera right | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad5</li></ul> | |<ul><li>NumPad5</li></ul> | ||
|Move camera backward | |Move camera backward | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad6</li></ul> | |<ul><li>NumPad6</li></ul> | ||
|Pan camera left | |Pan camera left | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad8</li></ul> | |<ul><li>NumPad8</li></ul> | ||
|Move camera forward | |Move camera forward | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad-</li></ul> | |<ul><li>NumPad-</li></ul> | ||
|Move camera up | |Move camera up | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>NumPad+</li></ul> | |<ul><li>NumPad+</li></ul> | ||
|Move camera down | |Move camera down | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>Up Arrow</li></ul> | |<ul><li>Up Arrow</li></ul> | ||
|Pan camera up | |Pan camera up | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|- | |- | ||
|<ul><li>Down Arrow</li></ul> | |<ul><li>Down Arrow</li></ul> | ||
|Pan camera down | |Pan camera down | ||
|<center> | |<center>{{ckblue}}</center> | ||
|<center> | |<center>{{ckblue}}</center> | ||
|} | |} | ||
====Runtime scripting==== | ====Runtime scripting==== |
Revision as of 02:13, 5 May 2013
Developer Mode is a bundle of features created by Bungie West to help them develop Oni -- a console, camera controls, and various debugging features -- that is available via the thedayismine cheat code. It was long believed that Developer Mode had been cut from retail versions of Oni; it had only been observed to work in the Mac beta that was leaked around the time of Oni's beta testing. However, the this mode is actually present in all available versions of Oni (except PS2). It just needs to be unlocked, as the community learned back in 2006.
Below you will find download links, unlocking instructions, and finally an overview of the Developer Mode's features.
Getting it to work
Download it...
In Windows, you can install the Daodan DLL to unlock Developer Mode. On the Mac, the Intel build has Dev Mode unlocked; it can be found HERE.
...or do it yourself
You may want to read this if your version of Oni is not covered by the above DLL (e.g. if you have an odd language version).
First, get a good hex editor. Ideally, it should allow you to search for sequences containing joker characters. One such editor for PC is XVI32. Dunno for Mac.
Cheat code lookup tables
|
|
First, a little information for the nerds :
- Magic words and IDs
- There are 22 cheat events in every version of Oni, indexed from 0 to 21 (from 0x00 to 0x15 in hexadecimal).
- The indexation is the same in every version, so we can refer to the cheats by that ID, or by the "magic word" originally used to activate the cheat event (which is also version-independent).
- The correspondence is shown in the little table on the right : all the cheats can be enabled and disabled, except for the 4 in italics (fatloot, winlevel, loselevel, munitionfrenzy).
- Cheat lookup table
- When you type characters in the "pause screen", the text you enter is compared with a set of "magic words".
- When and if there is a match, the appropriate confirmation message is displayed (except for fatloot, winlevel, loselevel and munitionfrenzy, there are two messages to choose from), and the corresponding cheat event is launched.
- This logic appears in an Oni executable in the form of a table
- An element of that table consists of
- a pointer to the "magic word"
- a pointer to the "enabled" message
- a pointer to the "disabled" message (if any)
- the ID of the cheat event to launch
There is an element for every cheat, and they appear by order of increasing ID. The developer mode (ID 0x0B) is simply "skipped" : reservoirdogs (0x0C) comes right after superammo (0x0A).
- Data size on different platforms
- On PC, PC demo and Mac OS X : every element of the lookup table takes up 16 bytes; the 3 pointers and the ID are 4-byte data words (Little Endian on PC, Big Endian on Mac OS X); if a cheat has no "disabled" message, the third pointer is null
- On Mac OS 9 retail and demo : every element of the lookup table takes up 12 bytes; the 3 pointers and the ID are 3-byte data words (Big Endian); if a cheat has no disabled message, the last byte of the third pointer field is taken up by the ID (the remaining 2 bytes are garbage, as well as the ID field)
- On Mac OS 9 beta : the pointers and the ID are 2-byte words (Big Endian); regular elements take up 8 bytes; if a cheat has no "disabled" message, weird stuff happens to the third pointer and to the ID, and the element takes up 10 bytes (yes, 10, not 6)... the ID can be found in what would be the first byte of the ID field.
killmequick
On PC, PC demo and Mac OS X, there's extra space at the end of the lookup table and where the cheatcodes/messages are stored, so one can add thedayismine as an extra cheat. On Mac OS 9, the data is packed tighter (and the text strings are stored together with their size), so the only easy way is to replace an existing cheat. The following mini-tutorial will explain how to bind the developer mode to the "ultra mode" cheat AKA killmequick.
Finding the lookup table
Open the executable (or the data fork of the executable on Mac), after backing it up of course... We shall look for the last three elements of the table, corresponding to fistsoflegend, killmequick and carousel.
- On PC and PC demo
- look for 13 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 14 00 00 00 ## ## ## ## ## ## ## ## ## ## ## ## 15 00 00 00
- On Mac OS X
- look for 00 00 00 13 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 14 ## ## ## ## ## ## ## ## ## ## ## ## 00 00 00 15
- On Mac OS 9 retail/demo
- look for 00 00 13 ## ## ## ## ## ## ## ## ## 00 00 14 ## ## ## ## ## ## ## ## ## 00 00 15
where the ## are joker chars. Once you've found that data (make sure it occurs only once in the file), replace the 14 with a 0B.
Developer mode will now be enabled/disabled every time you type killmequick at the pause screen : you'll get "Ultra Mode Enabled" and "Ultra Mode Disabled" as confirmation messages.
Using it
First check
Cheats are normally unlocked when you finish the full version of the game. For unlocking cheats "manually" (especially necessary with the demos), see HERE
Let's say cheats are enabled and Developer Mode has been made available via the thedayismine cheatcode (or simply x with Daodan DLL installed).
Just type the Developer Mode cheat and watch for the confirmation message. However, you may not notice anything special when you get back to the game (although there should be occasional console messages appearing at the bottom-left).
The quickest way to tell whether Dev Mode definitely works, right after you get the confirmation message, is to exit the Diary screen and to press End. That should teleport you to where the camera is (usually back and up, possibly through walls and ceilings).
Here's another quick test, meant to see if the Control and Alt keys work fine (on Mac, use the Option key instead of Alt): Ctrl+Shift+U and Ctrl+Alt+U should both perform the "unstick" action; Konoko will shift forward by a small amount.
Console output
In Developer Mode, Oni prints debug messages about in-game events along the bottom-left of the screen. Past messages scroll up across the screen and fade. In some situations, messages don't fade (e.g. if character debugging is enabled or you are currently using the console line).
The easiest way to check whether that output works at all is to press F8: the character class change is acknowledged with a console message.
If you don't see anything, that means console output is unfortunately disabled in your version of Oni. If you're on PC retail, you may have applied Ian's patch (aka XP patch), which disables console output. On PC demo, both console output and console input are invisible (i.e. you can enter script commands, but you're "blindfolded").
Console input
By default, Oni auto-binds the "console" toggle to the key which on U.S. keyboards has a grave accent, `, in the lowercase position and a tilde, ~, in the uppercase position. It is usually called the "tilde key" by users, and perhaps even elsewhere on this wiki; however, you would have to hold Shift to type a tilde, and the console is activated by just pressing the key without Shift, thus it is actually the "grave accent key" which activates the console. On non-U.S. keyboards, that key may not be recognized. Just add a line like "bind leftalt to console" to key_config.txt in your Oni folder and you'll be able to open the console with that key. In some cases, this bound key will not close the console; however, pressing the grave accent key, oddly enough, may work.
Usage
Hotkeys
Hotkey (can use Alt for Ctrl) | Description | Windows | Mac |
---|---|---|---|
Cntl+Shift+o | Occl Makes console screens disappear | ||
Cntl+Shift+i | Invis | ||
Cntl+Shift+y | Displays FPS | ||
Cntl+Shift+t | Char Collision | ||
Cntl+Shift+r | Obj Collision | ||
Cntl+Shift+f | Fast Mode (runs Oni at up to 24x) | ||
Cntl+Shift+g | Slow motion | ||
Cntl+Shift+x | Secret X / (Mac only) Show trigger volumes | ||
Cntl+Shift+y | Secret Y | ||
Cntl+Shift+z | Secret Z | ||
Cntl+Shift+Ins | Add Flag | ||
Cntl+Shift+Del | Delete Flag | ||
Cntl+Shift+u | Unstick player | ||
Cntl+Shift+n | Camera Record | ||
Cntl+Shift+m | Camera Stop | ||
Cntl+Shift+, | Camera Playback | ||
? | Place Quad | ||
? | Place Quad Mode | ||
Ctrl+Shift+\ | Profile Toggle | ||
Cntl+Shift+l | Dumps a screenshot every frame | ||
Ctrl+Shift+1 | Test One | ||
Ctrl+Shift+2 | Test Two | ||
Ctrl+Shift+3 | Test Three | ||
Ctrl+Shift+4 | Test Four | ||
Return/Enter | Camera Control 3 modes Normal, Detached 1-mouse controls aim Detached 2-mouse controls camera (When activated the following applies) |
||
/ | Single Step | ||
Cntl+Shift+Home | Toggle active camera; Freeze raycasting | ||
. (period) | Single Step Mode | ||
End | Warp to camera | ||
Cntl+Shift+k | Kill Particles | ||
Backspace | Kill Particles | ||
7 | Explode One | ||
8 | Explode Two | ||
9 | Explode Three | ||
0 | Explode Four | ||
Cntl+Shift+j | Reset Particles | ||
Cntl+Shift+w | Drop Flag and Add Waypoint | ||
Cntl+Shift+b | Shows current opponent's logic | ||
] | Freeze | ||
[ | Frame Advance | ||
Cntl+Shift+s | furnitures' textures (turns red) | ||
F8, Shift+F8 | Cycle characters | ||
Cntl+Shift+p | Perf Particle | ||
Cntl+Shift+; | Perf Particle Lock | ||
= | Screenshot | ||
F2 | Cutscene 1 | ||
F3 | Cutscene 2 | ||
F6 | Kill All AI | ||
Ctrl+F7 | Play dead | ||
Fkey7, Shift+Fkey7 | Cycle weapons (holster to get second weapon) | ||
Fkey9 | Start recording | ||
Fkey10 | Stop recording | ||
Fkey11 | Playback recording | ||
` (grave accent) | Displays console | ||
|
Move camera left | ||
|
Move camera right | ||
|
Pan camera right | ||
|
Move camera backward | ||
|
Pan camera left | ||
|
Move camera forward | ||
|
Move camera up | ||
|
Move camera down | ||
|
Pan camera up | ||
|
Pan camera down |
Runtime scripting
Basic idea
(Almost) anything you write in scripts you can enter at runtime with the console. The only thing you can't do is register new variables and functions.
You can call existing functions, check on the values of existing variables. "Existing" means either built-in ones, or part of the original level logic, or part of your own scripts for the given level.
If a function/variable was succesfully registered by Oni during level load, you will be able to refer to them from the console.
You will even be able to browse the registered variables/functions with the Tab key, while typing at the console. Tab autocompletes the command being typed, then cycles through all available commands in (hex)alphabetical order (A...Z come before a...z). Shift+Tab lets you go back.
Previous commands can be navigated with up and down arrows. You can't insert/delete text in the middle of a command : you have to use Backspace.
The only keys that have an effect while the console is active are : Escape, Enter, Backspace, (Shift+)Tab, ASCII character keys and the arrow keys.
If you press an illegal key during console input (such as F1), the input display will freeze : hit Tab a few times to fix.
Limitations
Obviously, if you have no console output, it's a bit frustrating. Even more so if console input is invisible : you're in for some blindfolded scripting then. Still there are a few commands which you can type in as complements to regular cheats :
- chr_nocollision 0 1 and chr_nocollision 0 0 enable/disable no-clipping. When in no-clipping, you can't fall down : jumping makes you flail in midair, and eventually you die (so be careful about that)
- give_powerup shield gives you a force shield (which you can't have with fatloot)
- dump_docs prints all the registered commands/variables to a file in your Oni folder (so you know just what you can type)
- other stuff...
Also, the available scripting commands may be limited in your version. The most commands are on PC retail, or on beta 4 and earlier. On Mac, the functionality is much more limited (see HERE for details).