Sly 1:Executable: Difference between revisions
→Game loop: Changed wording, layout, links
TheOnlyZac (talk | contribs) m (TheOnlyZac moved page SCUS 971.98 to Sly 1:Executable: Moved to Sly 1 space) |
TheOnlyZac (talk | contribs) (→Game loop: Changed wording, layout, links) |
||
Line 3:
== Libraries ==
{{Hatnote|This section contains educated guesses based on available information and context clues, and may be inaccurate or incomplete.}}
=== Shared libraries ===
Line 20:
* '''libkernl''' – PlayStation kernel library
* '''libmc 2430''' – Memory card library
* '''libgraph 2400''' – [[Wikipedia:PlayStation 2 technical specifications#Graphics%20processing%20unit|Graphics synthesizer]] library<ref name=":1">[https://www.retroreversing.com/static-libraries-ps2 Static Libraries (.A) for Playstation 2 Emotion Engine] - Retro Reversing, 9 July 2022</ref>
* '''libdma 2400''' – ''Unknown''
* '''libcdvd 2420''' – CD/DVD library
Line 30:
=== Initialization ===
<code>main</code> starts by calling <code>__main</code>, a function that iterates over a function table and calls each function to initialize several game variables.
{{Todo|Investigate and expand on what <code>__main</code> and <code>Startup</code> do}}
Line 37:
* First, check if <code>g_mpeg</code> has an [[MPEG]] queued to be played. If so:
** <code>FlushFrames(1)</code> –
** <code>CTransition::Execute(&g_transition)</code> –
* Check if <code>g_transition</code> has a pending transition (<code>m_fPending != 0</code>). If so:
** <code>FlushFrames(1)</code>
** Call a function that calls <code>CMpeg::Execute</code> on the <code>g_transition</code> instance.
* Check '''again''' if <code>g_mpeg</code> has an MPEG queued to be played (this happens if two MPEGs were queued to play back-to-back) If so:
** <code>FlushFrames(1)</code>
** <code>CTransition::Execute(&g_transition)</code>
* <code>UpdateJoy(&g_joy)</code> –
* <code>UpdateCodes()</code> –
* Call an unknown function that handles saving the game.
* <code>UpdateUi(&g_ui)</code> –
* <code>UpdateGameState(g_clock.dt)</code> –
* <code>if (g_psw !=
** <code>SetupCm(g_pcm)</code> –
** <code>OpenFrame()</code> –
** <code>MarkClockTick(&g_clock)</code> –
** Grab a particular function pointer from the <code>g_psw</code> struct and execute it if it is not NULL.
** <code>RenderSw(g_psw, g_pcm)</code> –
** <code>RenderUi()</code> –
** <code>DrawSw(g_psw, g_pcm)</code> –
** <code>DrawUi()</code> –
** <code>CloseFrame()</code> –
*
This
==Build strings==
Line 69:
<code>g_achzBuildUser</code>
<pre>jojo</pre>
<code>g_achzBuildDateLong</code>
<pre>08/24/02 22:06</pre>
<code>g_achzBuildDateShort</code>
|