Sly 2:Executable: Difference between revisions

Added infobox
(Created page for executable)
 
(Added infobox)
 
(3 intermediate revisions by the same user not shown)
Line 1:
{{Infobox file
{{DISPLAYTITLE:SCUS_973.16}}
| name= SCUS_973.16
| type= MIPS r5900 ELF
| size=
}}
 
'''SCUS_973.16''' is the [[executable]] for the NTSC-U release of {{Sly 2}}. It is an ELF binary compiled for the PS2’s [[Wikipedia:Emotion Engine|Emotion Engine]] processor.
 
Line 6 ⟶ 11:
 
== Main loop ==
{{Investigate|There's a lot of gaps as many of the core functions haven't been researched yet.}}
{{Empty section}}
The main game loop can be broken down as follows.
 
* Call an unknown function that takes a pointer to a global struct as an argument.
* <code>UpdateJoy(&g_joy)</code> – Handles [[Sly 2:Input|controller input]]
* <tt>...</tt>
* <code>MarkClockTick(&g_clock)</code> – Updates the global [[Sly 2:Clock|clock]] values
* <tt>...</tt>
* <code>if (DAT_002dd644 == 0)</code> – If the global variable at <tt>0x002dd644</tt> is zero...
** <tt>...</tt>
* Otherwise...
** <tt>...</tt>
* <code>if (DAT_002dd644 != 0)</code> – If the global variable at <tt>002dd644</tt> is not zero..
** <tt>...</tt>
* <code>CloseFrame()</code> – Finishes rendering the frame
* Increment the global frame counter, <code>g_cframe</code>.
 
This routine continues in an infinite loop unless <code>Exit</code> is called or a handled exception causes execution to halt, in which case you are immediately booted back to the PS2 BIOS.
 
== Build Strings ==