Sly 2:Executable: Difference between revisions

From SlyMods
Jump to navigation Jump to search
Content added Content deleted
(Created page for executable)
 
(Added infobox)
 
(3 intermediate revisions by the same user not shown)
Line 1: 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.
'''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: Line 11:


== Main loop ==
== 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 ==
== Build Strings ==

Latest revision as of 20:29, 25 September 2023

SCUS_973.16
File
GameSly 2: Band of Thieves
TypeMIPS r5900 ELF

SCUS_973.16 is the executable for the NTSC-U release of Sly 2: Band of Thieves. It is an ELF binary compiled for the PS2’s Emotion Engine processor.

Libraries

Main loop

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.
  • UpdateJoy(&g_joy) – Handles controller input
  • ...
  • MarkClockTick(&g_clock) – Updates the global clock values
  • ...
  • if (DAT_002dd644 == 0) – If the global variable at 0x002dd644 is zero...
    • ...
  • Otherwise...
    • ...
  • if (DAT_002dd644 != 0) – If the global variable at 002dd644 is not zero..
    • ...
  • CloseFrame() – Finishes rendering the frame
  • Increment the global frame counter, g_cframe.

This routine continues in an infinite loop unless Exit is called or a handled exception causes execution to halt, in which case you are immediately booted back to the PS2 BIOS.

Build Strings

Build User america
Build Date Long 08/13/04 00:32
Build Date Short 0813.0032