Jump to content

Developer Mode: Difference between revisions

1,505 bytes removed ,  25 August 2018
→‎Hotkeys: fixing omgwtfbbq table markup, minor copy edit
(→‎Hotkeys: fixing omgwtfbbq table markup, minor copy edit)
Line 161: Line 161:
Below are Oni's hardcoded mappings for Developer Mode functions. The Alt key (Option key on Macs) can be used in place of Ctrl. Ctrl is called "Strg" on German keyboards.
Below are Oni's hardcoded mappings for Developer Mode functions. The Alt key (Option key on Macs) can be used in place of Ctrl. Ctrl is called "Strg" on German keyboards.


The "U.S. QWERTY" column gives the standard hotkeys (the keys intended by the American developers to be pressed). In the "German QWERTZ" and "French AZERTY" columns, the hotkeys differing from U.S. QWERTY are shown on a darker background. If you have another type of keyboard and would like to have incorporated into the table, feel free to add a column (or ask for it on the Talk/Discussion page).
The "U.S. QWERTY" column gives the standard hotkeys (the keys intended by the American developers to be pressed). In the "German QWERTZ" and "French AZERTY" columns, the hotkeys differing from U.S. QWERTY are shown. If you have another type of keyboard you would like to have incorporated into the table, feel free to add a column (or ask for it on the talk page).


If a hotkey's functionality has been restored in Windows using the Daodan DLL, it will be checked off here. Stuff that doesn't work has been grouped at the end of the table.
If a hotkey's functionality has been restored in Windows using the Daodan DLL, it will be checked off here. Stuff that doesn't work has been grouped at the end of the table.


{|class="wikitable" style="margin-left:auto; margin-right:auto;"
{|class="wikitable" style="margin-left:auto; margin-right:auto;"
!German QWERTZ
!U.S. QWERTY
!U.S. QWERTY
!French AZERTY
!German QWERTZ<!--contributed by paradox-->
!French AZERTY<!--contributed by geyser-->
!Description
!Description
!width=75|Windows
!width=75|Windows
!width=75|Mac
!width=75|Mac
|-
|-
|bgcolor=silver|^
|` (grave accent)
|` (grave accent)
|bgcolor=silver
|^
|Displays console
|Displays console
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+O
|Ctrl+Shift+O
|
|
|Hide non-(visually-)occluding quads '''(1)'''
|Hide non-(visually-)occluding quads '''(1)'''
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+S
|Ctrl+Shift+S
|
|
|Hide non-sound-occluding quads '''(2)'''
|Hide non-sound-occluding quads '''(2)'''
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+<tt>I</tt>
|Ctrl+Shift+<tt>I</tt>
|
|
|Draw invisible quads
|Draw invisible quads
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver|Ctrl+Shift+Z
|Ctrl+Shift+Y
|colspan=2 align=center|Ctrl+Shift+Y
|Ctrl+Shift+Z
|
|Performance display (includes FPS)
|Performance display (includes FPS)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+T
|Ctrl+Shift+T
|
|
|Draw only character-colliding geometry
|Draw only character-colliding geometry
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+R
|Ctrl+Shift+R
|
|
|Draw only object-colliding geometry
|Draw only object-colliding geometry
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+F
|Ctrl+Shift+F
|
|
|Fast Mode (runs Oni at up to 24x)
|Fast Mode (runs Oni at up to 24x)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+G
|Ctrl+Shift+G
|
|
|Draw Every Frame Mode
|Draw Every Frame Mode
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|'''(3)'''
|align=center|'''(3)'''
|-
|-
|colspan=3 align=center|Ctrl+Shift+X
|Ctrl+Shift+X
|
|
|Toggle show trigger volumes (formerly "Secret X")
|Toggle show trigger volumes (formerly "Secret X")
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+Ins
|Ctrl+Shift+Ins
|
|
|Add flag
|Add flag
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|'''(4)'''
|align=center|'''(4)'''
|-
|-
|colspan=3 align=center|Ctrl+Shift+Del
|Ctrl+Shift+Del
|
|
|Delete flag
|Delete flag
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+U
|Ctrl+Shift+U
|
|
|Unstick player
|Unstick player
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver|Ctrl+Shift+#
|Ctrl+Shift+\
|Ctrl+Shift+\
|bgcolor=silver|Ctrl+Shift+*
|Ctrl+Shift+#
|Ctrl+Shift+*
|Displays "Profile on"/"Profile off" (no other known effect)
|Displays "Profile on"/"Profile off" (no other known effect)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|
|
|-
|-
|colspan=3 align=center|Ctrl+Shift+L
|Ctrl+Shift+L
|
|
|Dumps a screenshot every frame
|Dumps a screenshot every frame
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=2 align=center|. (period)
|. (period)
|bgcolor=silver|: (colon)
|
|: (colon)
|Single Step Mode
|Single Step Mode
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver| -
|/
|/
|bgcolor=silver|!
| -
| !
|Advance one step (when in Single Step Mode)
|Advance one step (when in Single Step Mode)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver|.+-
|.+/
|.+/
|bgcolor=silver|:+!
|.+-
|:+!
|Exit Single Step Mode (press keys simultaneously)
|Exit Single Step Mode (press keys simultaneously)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+Home
|Ctrl+Shift+Home
|
|
|Cycle active camera
|Cycle active camera
|
|
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|End
|End
|
|
|Warp to camera
|Warp to camera
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+Shift+B
|Ctrl+Shift+B
|
|
|Shows current opponent's logic
|Shows current opponent's logic
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver| +
|]
|]
|bgcolor=silver|$
| +
|$
|Freeze animation frame '''(6)'''
|Freeze animation frame '''(6)'''
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|bgcolor=silver|Ü
|[
|[
|bgcolor=silver|^
|Ü
|^
|Advance animation frame '''(6)'''
|Advance animation frame '''(6)'''
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F2
|F2
|
|
|Cutscene Animation 1
|Cutscene Animation 1
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F3
|F3
|
|
|Cutscene Animation 2
|Cutscene Animation 2
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F6
|F6
|
|
|Kill all AIs
|Kill all AIs
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Ctrl+F7
|Ctrl+F7
|
|
|Play dead
|Play dead
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F7, Shift+F7
|F7, Shift+F7
|
|
|Cycle weapons (holster to get second weapon)
|Cycle weapons (holster to get second weapon)
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F8, Shift+F8
|F8, Shift+F8
|
|
|Cycle characters
|Cycle characters
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F9
|F9
|
|
|Start recording
|Start recording
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F10
|F10
|
|
|Stop recording
|Stop recording
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|F11
|F11
|
|
|Playback recording
|Playback recording
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
|colspan=3 align=center|Return/Enter
|Return/Enter
|
|
|Cycle camera modes (see table below for camera controls):<br>1. Normal<br>2. Detached A - mouse still controls character aim<br>3. Detached B - mouse aims camera
|Cycle camera modes (see table below for camera controls):<br>1. Normal<br>2. Detached A - mouse still controls character aim<br>3. Detached B - mouse aims camera
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|align=center|{{ckblue}}
|-
|-
!U.S. QWERTY
!German QWERTZ
!German QWERTZ
!U.S. QWERTY
!French AZERTY
!French AZERTY
!Description
!Description
Line 359: Line 411:
!width=75|Mac
!width=75|Mac
|-
|-
|bgcolor=silver|Ctrl+Shift+Z
|Ctrl+Shift+Y
|colspan=2 align=center|Ctrl+Shift+Y
|Ctrl+Shift+Z
|
|Secret Y '''(5)'''
|Secret Y '''(5)'''
|
|
|
|
|-
|-
|bgcolor=silver|Ctrl+Shift+Y
|Ctrl+Shift+Z
|colspan=2 align=center|Ctrl+Shift+Z
|Ctrl+Shift+Y
|
|Secret Z '''(5)'''
|Secret Z '''(5)'''
|
|
|
|
|-
|-
|colspan=3 align=center|Ctrl+Shift+N
|Ctrl+Shift+N
|
|
|Camera recording start
|Camera recording start
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+M
|Ctrl+Shift+M
|bgcolor=silver|Ctrl+Shift+,
|
|Ctrl+Shift+,
|Camera recording stop
|Camera recording stop
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+,
|Ctrl+Shift+,
|bgcolor=silver|Ctrl+Shift+;
|
|Ctrl+Shift+;
|Camera recording playback
|Camera recording playback
|
|
|
|
|-
|-
|colspan=3 align=center|
|
|
|
|Place quad
|Place quad
|<center>?</center>
|
|<center>?</center>
|
|-
|-
|colspan=3 align=center|
|
|
|
|Place quad mode
|Place quad mode
|<center>?</center>
|
|<center>?</center>
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+1
|Ctrl+Shift+1
|bgcolor=silver|Ctrl+Shift+&
|
|Ctrl+Shift+&
|Test One
|Test One
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+2
|Ctrl+Shift+2
|bgcolor=silver|Ctrl+Shift+é
|
|Ctrl+Shift+é
|Test Two
|Test Two
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+3
|Ctrl+Shift+3
|bgcolor=silver|Ctrl+Shift+"
|
|Ctrl+Shift+"
|Test Three
|Test Three
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+4
|Ctrl+Shift+4
|bgcolor=silver|Ctrl+Shift+'
|
|Ctrl+Shift+'
|Test Four
|Test Four
|
|
|
|
|-
|-
|colspan=3 align=center|Ctrl+Shift+K
|Ctrl+Shift+K
|
|
|Kill particles
|Kill particles
|
|
|
|
|-
|-
|colspan=3 align=center|Backspace
|Backspace
|
|
|Enter AI debugger
|Enter AI debugger
|
|
|
|
|-
|-
|colspan=2 align=center|7
|7
|bgcolor=silver
|
|Explode One
|Explode One
|
|
|
|
|-
|-
|colspan=2 align=center|8
|8
|bgcolor=silver|_
|
|_
|Explode Two
|Explode Two
|
|
|
|
|-
|-
|colspan=2 align=center|9
|9
|bgcolor=silver
|
|Explode Three
|Explode Three
|
|
|
|
|-
|-
|colspan=2 align=center|0
|0
|bgcolor=silver|@
|
|@
|Explode Four
|Explode Four
|
|
|
|
|-
|-
|colspan=3 align=center|Ctrl+Shift+J
|Ctrl+Shift+J
|
|
|Reset particles
|Reset particles
|
|
|
|
|-
|-
|colspan=2 align=center|Ctrl+Shift+W
|Ctrl+Shift+W
|bgcolor=silver|Ctrl+Shift+Z
|
|Ctrl+Shift+Z
|Drop flag and add waypoint
|Drop flag and add waypoint
|
|
|
|
|-
|-
|colspan=3 align=center|Ctrl+Shift+P
|Ctrl+Shift+P
|
|
|Display particle performance
|Display particle performance
|
|
|
|
|-
|-
|bgcolor=silver|Ctrl+Shift+Ö
|Ctrl+Shift+;
|Ctrl+Shift+;
|bgcolor=silver|Ctrl+Shift+M
|Ctrl+Shift+Ö
|Ctrl+Shift+M
|Lock particle performance display
|Lock particle performance display
|
|
Line 488: Line 567:
'''(4)''' Please see talk page section "Insert key on Macs".
'''(4)''' Please see talk page section "Insert key on Macs".


'''(5)''' Ctrl+Y and Ctrl+Z, really? Wouldn't there be a conflict with "Performance display" above? [[User:Geyser|geyser]] ([[User talk:Geyser|talk]])
'''(5)''' Wouldn't Ctrl+Y and Ctrl+Z conflict with "Performance display"?


'''(6)''' "Animation freezing" works on the main character and means two things:
'''(6)''' "Animation freezing" works on the main character and means two things:
:a) The character is not redrawn. Its visual position and pose remain exactly the same as they were at the time of freezing, along with collision shapes (spheres and body parts) and other stuff.
:a) The character's position and pose remain exactly the same as they were at the time of freezing, along with collision shapes (spheres and body parts) and other stuff.
:b) The actual character, unless "pinned" with <tt>[[chr_pin_character]]=1</tt>, will keep moving with the same velocity as at the time of freezing.
:b) The actual character, unless "pinned" with <tt>[[chr_pin_character]]=1</tt>, will keep moving with the same velocity as at the time of freezing.
:*For regular (grounded) animations, the vertical velocity is zero and the horizontal velocity is determined by the animation frame that was playing at the time of freezing.
:*For regular (grounded) animations, the vertical velocity is zero and the horizontal velocity is determined by the animation frame that was playing at the time of freezing.
Line 497: Line 576:
:*Wall collision is disabled, as well as gravity acceleration and the "air" timer (so you can't die from falling for too long while frozen).
:*Wall collision is disabled, as well as gravity acceleration and the "air" timer (so you can't die from falling for too long while frozen).
:*Floor collision still works, as well as the "off" timer that starts when you step off a ledge, and the downward velocity that is applied then (see [[ONCC]] for details on this downward velocity).
:*Floor collision still works, as well as the "off" timer that starts when you step off a ledge, and the downward velocity that is applied then (see [[ONCC]] for details on this downward velocity).
:If one sets <tt>[[chr_pin_character]]=1</tt>, then animation debugging works exactly as intended: there is no drifting, and one can conveniently flip through the frames of the current animation.
:If one sets <tt>[[chr_pin_character]]=1</tt>, then animation debugging works exactly as intended: there is no drifting, and one can conveniently advance through the frames of the current animation.
:If one does not set <tt>[[chr_pin_character]]=1</tt>, then the frame-freezing functionality does not allow one to study animations, and instead provides a powerful (and risky) teleporting gimmick.
:If one does not set <tt>[[chr_pin_character]]=1</tt>, then the frame-freezing functionality does not allow one to study animations, and instead provides a powerful (and risky) teleporting gimmick.