Sly 1:Splice: Difference between revisions

From SlyMods
Jump to navigation Jump to search
Content added Content deleted
(Added image and investigate tag)
(Tweaked infobox)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox subsystem
{{Infobox subsystem
| name= Splice
| name= Splice
| image= Sly 1 SDC 3key unlocking.png
| image= File:Sly 1 SDC 3key unlocking.png
| caption= Splice handles in-game cutscenes and their effects on the game state.
| caption= The gate unlocking animation triggered by Splice in [[Sly 1:v_hub|v_hub]]
| description= Subsystem which handles scripted events and their effects on the game state.
| sly1= y
| sly1= y
| startup= 0x11bf70
| startup= 0x11bf70
Line 9: Line 10:


{{Investigate|What is CSplotheap and how does Splice handle game events, messages, and cutscenes}}
{{Investigate|What is CSplotheap and how does Splice handle game events, messages, and cutscenes}}

==Startup==
== Lifecycle ==
=== Startup ===
During a level load, <code>LoadSwFromBrx</code> calls <code>StartupSplice</code>. This calls <code>CSplotheap::Startup</code> on five [[CSplotheap|splotheap]] instances, each of varying size. It also calls <code>CGc::Startup</code> on the global <code>g_gc</code> instance.
During a level load, <code>LoadSwFromBrx</code> calls <code>StartupSplice</code>. This calls <code>CSplotheap::Startup</code> on five [[CSplotheap|splotheap]] instances, each of varying size. It also calls <code>CGc::Startup</code> on the global <code>g_gc</code> instance.


==Shutdown==
=== Shutdown ===
When a level transition occurs, <code>CTransition::Execute</code> calls <code>DeleteSw</code> which in turn calls <code>ShutdownSplice</code>. This calls <code>CSplotheap::Shutdown</code> on the five splotheaps initialized when the level was loaded. It also calls <code>CGc::Shutdown</code> on the global <code>g_gc</code> instance.
When a level transition occurs, <code>CTransition::Execute</code> calls <code>DeleteSw</code> which in turn calls <code>ShutdownSplice</code>. This calls <code>CSplotheap::Shutdown</code> on the five splotheaps initialized when the level was loaded. It also calls <code>CGc::Shutdown</code> on the global <code>g_gc</code> instance.


==Events==
== Events ==
{{Empty section}}
{{Empty section}}


{{Stub}}
{{Navbox Sly 1}}
{{Navbox Sly 1}}
{{Stub}}

Latest revision as of 22:46, 10 May 2023

Splice
Subsystem
The gate unlocking animation triggered by Splice in v_hub
DescriptionSubsystem which handles scripted events and their effects on the game state.
GameSly Cooper and the Thievius Raccoonus
Startup Function0x11bf70

Splice is the subsystem that manages the level scripts in Sly Cooper and the Thievius Raccoonus. It seems to also be used in Sly 2: Band of Thieves and Sly 3: Honor Among Thieves, but further research is needed.

Lifecycle

Startup

During a level load, LoadSwFromBrx calls StartupSplice. This calls CSplotheap::Startup on five splotheap instances, each of varying size. It also calls CGc::Startup on the global g_gc instance.

Shutdown

When a level transition occurs, CTransition::Execute calls DeleteSw which in turn calls ShutdownSplice. This calls CSplotheap::Shutdown on the five splotheaps initialized when the level was loaded. It also calls CGc::Shutdown on the global g_gc instance.

Events