Sly 1:Builds/May 19 2002: Difference between revisions

Add debug flags
(Started prototype build page)
 
(Add debug flags)
 
(3 intermediate revisions by the same user not shown)
Line 13:
 
Notably, this build contains a debug menu, and is one of only two builds with debug symbols.
 
== Subpages ==
{{Subpage link|Functions|List of all source code files and functions in the debug symbols.}}
 
== Debug menu ==
[[File:Sly 1 May 19 debug menu.png|thumb]]
{{Empty section}}
 
This is the only buld of Sly 1 with a debug menu.
 
{{To do|Document all pages and submenus}}
 
{{Clear}}
 
=== LiveEdit ===
[[File:Sly 1 May 19 live edit.png|thumb]]
 
There is a hidden debug menu mode called LiveEdit. It lets you move objects around the level and change other values such as gravity and velocity. Memory editing is needed to access it.
 
{{Clear}}
== Debug flags ==
{{Empty section}}
 
There are many debug flags that can be toggled by setting them to 0 or 1 in memory. The following screenshot shows the flags <code>showCameraEdges</code>, <code>ShowBones</code>, <code>ShowBrightnessBar</code>, <code>ShowPlayerSuck</code>, and <code>ShowShapes</code> enabled.
== LiveEdit ==
 
{{Empty section}}
[[File:Sly 1 May 19 debug flags.png|480px|inline]]
 
{| class="wikitable"
|-
! Name !! Offset !! Description
|-
| ShowAxes || 0x2736f0 || Shows the XYZ axis gizmo on Sly's model.
|-
| showCameraEdges || 0x2736f4 ||
|-
| ReverseLook || 0x273990 || Inverts the look axis.
|-
| DrawEmitterGroupSelf || 0x0273a40 ||
|-
| ShowBones || 0x273bc0 || Renders the bones on entity models.
|-
| DisableSkin || 0x273bc4 ||
|-
| DisablePoses || 0x273bc8 ||
|-
| CdAvailable || 0x273e80 || Indicates whether the CD is available for a read operation; Used by the game engine.
|-
| CpmanOverride || 0x274f4c || Used by the game engine.
|-
| SkipDialog || 0x2752c0 ||
|-
| fontDebug || 0x276070 ||
|-
| RenderLoopIdle || 0x276218 || Used by the game engine.
|-
| FreezeReport || 0x27621c ||
|-
| CelAntiAlias || 0x27763c ||
|-
| Invulnerable || 0x279b24 || Makes Sly ignore all damage.
|-
| InfiniteCharms || 0x279b28 || Gives Sly infinite Lucky Charms.
|-
| ShowEffectObjects || 0x279b2c ||
|-
| ShowReachMap || 0d279b30 || Renders a 3D wireframe that shows how far Sly can reach with his cane.
|-
| ZapFreeze || 0x279b34 || Makes Sly freeze in place whenever he gets zapped by level hazards (i.e. drowning, falling, electricity).
|-
| DynamicLights || 0x27eb7c || Used by the game engine.
|-
| ReportXPs || 0x27f2e4 ||
|-
| LiveEdit || 0x27f9cc ||
|-
| ShowPaths || 0x28000c || Renders the pathfinding calculated by the guard AI.
|-
| DisableRumble || 0x281af0 || Disables controller rumble.
|-
| ShowBrightnessBar || 0x2890ec || Displays a grayscale color bar on-screen.
|-
| ShowPlayerSuck || 0x2890f0 || Displays the float value for the player's "suck" score (used to calculate difficulty).
|-
| LasenBusyListChange || 0d289190 ||
|-
| ShowShapes || 0x289494 || Renders a wireframe on top of 3D objects.
|-
| SneakyFeet || 0x2897c4 || Controls whether Sly's footsteps make guitar sounds.
|-
| RenderStepPhys || 0x289b10 ||
|-
| ForceFore || 0x289b70 ||
|-
| ForceBack || 0x289b74 ||
|-
| DisplayDetection || 0x289cb0 ||
|-
| LoadDebugInfo || 0x28a784 || Used by the game engine.
|-
| LoadBulkData || 0x28a798 || Used by the game engine.
|-
| ShowTargets || 0x28a98c ||
|-
| DisableSquish || 0x28a9c0 || Toggles whether Sly can get squished by level hazards.
|-
| R || 0x28b400 || Unknown
|-
| WmReversePlayed || 0x28b6c4 ||
|-
| ShowZapGeometry || 0x28c174 || Shows a wireframe around areas where Sly will drown/fall and die.
|}
 
== Unused game mechanics ==
=== Cycle ===
{{Infobox struct
| title = CYCLE
| official = y
| size = 0x6e0
}}
 
There is code for some kind of wheeled vehicle in <code>P2/cycle.c</code>. Its appearence is unknown, but the CYCLE data structure suggests it would have multple wheels, suspension, and the ability to boost. It would kick up dirt particles on the ground as it moves. It also seems that it could go on water, as it has values for leaving ripples in its wake. It's struct is similar to {{Sly 1|SUV|the van}}.
 
The CYCLES (cycle state) enum has the following values:
{{Enum top|CYCLES}}
{{Enum value|CYCLES_Nil|-1}}
{{Enum value|CYCLES_Brake|0}}
{{Enum value|CYCLES_Accelerate|1}}
{{Enum value|CYCLES_Coast|2}}
{{Enum value|CYCLES_Max|3}}
{{Enum bottom}}
 
=== Hang Glider ===
{{Infobox struct
| title = HG
| official = y
| side = 0x900
}}
 
There is code for a hang glider in <code>P2/hg.c</code>. The JTBS (JT body state) enum uses the following values for the hang glider:
{{Enum top|JTBS}}
{{Enum value|JTBS_Hang_Forward|50}}
{{Enum value|JTBS_Hang_Neutral|51}}
{{Enum value|JTBS_Hang_Backward|52}}
{{Enum value|JTBS_Hang_Idle|53}}
{{Enum bottom}}
 
The HGS (hang glider state) enum has the following values:
{{Enum top|HGS}}
{{Enum value|HGS_Nil|-1}}
{{Enum value|HGS_Passive|0}}
{{Enum value|HGS_Stand|1}}
{{Enum value|HGS_Run|2}}
{{Enum value|HGS_Glide|3}}
{{Enum value|HGS_Zap|4}}
{{Enum value|HGS_Dead|5}}
{{Enum value|HGS_Peek|6}}
{{Enum value|HGS_Max|7}}
{{Enum bottom}}
 
==== BHG ====
{{Infobox struct
| title = BHG
| official = y
| size = 0xba0
}}
 
There is a separate struct called BHG which is used in <code>P2/mb.h</code>. The functions and data structures suggest it may be a variant of the hang glider used by guards.
 
{{Clear}}
 
=== Skiing ===
[[File:Sly1_May19_Skis.png|480px|right]]
This build has code for a cut skiing mechanic in a file named <code>P2/stepski.c</code>. It would probably be used in {{Sly 1|Fire in the Sky}}, which is not present in this build. There is no dedicated SKI struct as the skis are part of Sly's character model.
 
The JTBS (JT body state) enum uses the following values for the hang glider:
 
{{Enum top|JTBS}}
{{Enum value|JTBS_Ski_Stand|45}}
{{Enum value|JTBS_Ski_Jump|46}}
{{Enum value|JTBS_Ski_Fall|47}}
{{Enum value|JTBS_Ski_Boost|48}}
{{Enum value|JTBS_Ski_Attack|49}}
{{Enum bottom}}
 
The IBLSKI enum has the following values:
 
{{Enum top|IBLSKI}}
{{Enum value|IBLSKI_Nil|-1}}
{{Enum value|IBLSKI_Forward|0}}
{{Enum value|IBLSKI_Right|1}}
{{Enum value|IBLSKI_Left|2}}
{{Enum value|IBLSKI_Max|3}}
{{Enum bottom}}
 
There is also an IBLSKI_2 enum with these values:
 
{{Enum top|IBLSKI_2}}
{{Enum value|IBLSKI_Stand_Forward|0}}
{{Enum value|IBLSKI_Stand_Right|1}}
{{Enum value|IBLSKI_Stand_Left|2}}
{{Enum value|IBLSKI_Speed_Forward|3}}
{{Enum value|IBLSKI_Speed_Right|4}}
{{Enum value|IBLSKI_Speed_Left|5}}
{{Enum value|IBLSKI_2_Max|6}}
{{Enum bottom}}
 
== Cheat Codes ==
The following are all cheat codes in the build.
{| class="wikitable"
Line 76 ⟶ 270:
|}
 
== Build Strings ==
The following strings canare bepresent found withinin the game's executable. They are called "g_achzBuildUser", "g_achzBuildDateLong", and "g_achzBuildDateShort" respectively.
 
<pre>jojo</pre> <pre>05/19/02 18:12</pre> <pre>0519.1812</pre>