Jump to content

Sonic the Hedgehog (2006) Script Functions: Difference between revisions

From HedgeDocs
Hyper (talk | contribs)
No edit summary
Hyper (talk | contribs)
Replaced content with "= Subsystems = {| class="wikitable" |+ !Name !Description |- |GameScript |Functions provided by <code>Sonicteam::GameScript</code>. |- |LuaSystem |Functions provided by <code>Sonicteam::LuaSystem</code>. |- |RenderAction |Functions provided for <code>Sonicteam::RenderAction</code> procedures. |- |Sonic the Hedgeho..."
Tag: Replaced
 
Line 1: Line 1:
{{Notice|type=warn|content=This list is a work in progress!}}
= Subsystems =
{{Notice|type=info|content=When actors are referenced by name, they can be targeted on specific layers when formatted as <code>{set_layer}:{actor_name}</code> (without the brackets, of course). Otherwise, the actor names can be provided as-is.}}
= GameScript Subsystem =
These functions are provided by <code>Sonicteam::GameScript</code>.
 
== Signal ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Unknown.
 
=== Signature ===
Signal({}, unknown)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|N/A
|Table
|Unknown.
|✔️
|-
|unknown
|Number
|Unknown. Used as a message parameter.
|❓
|}
 
=== Results ===
None.
 
== Shoot ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Unknown.
 
=== Signature ===
Shoot({}, unknown)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|N/A
|Table
|Unknown.
|✔️
|-
|unknown
|Unknown
|Unknown.
|❓
|}
 
=== Results ===
None.
 
== Game.Sleep ==
 
=== Description ===
Pauses script execution for the specified duration.
 
=== Signature ===
Game.Sleep(duration)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|duration
|Number
|The amount of time to sleep for.
|✔️
|}
 
=== Results ===
None.
 
== Game.Log ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Logs text for debugging.
 
=== Signature ===
Game.Log(text)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|text
|String
|The text to log.
|✔️
|}
 
=== Results ===
Unknown.
 
== Game.Debug ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.Debug()
 
=== Results ===
Unknown.
 
== Game.ExecScript ==
 
=== Description ===
Loads and executes the specified Lua script. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.ExecScript(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the script to execute.
|✔️
|}
 
=== Results ===
None.
 
== Game.CreateObject ==
 
=== Description ===
Unknown.
 
=== Signature ===
Game.CreateObject(type, name, {})
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|type
|String
|The type of object to create.
|✔️
|-
|name
|String
|The name of the object.
|✔️
|-
|N/A
|Table
|Unknown.
|❌
|}
 
=== Results ===
A pointer to the object that was created.
 
== Game.GetPlatform ==
 
=== Description ===
Gets the name of the platform the game is running on.
 
=== Signature ===
Game.GetPlatform()
 
=== Results ===
A string storing the name of the platform; "xbox360" for Xbox 360, "ps3" for PlayStation 3 and "pc" for Windows.
 
== Game.LoadArc ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.AttachArc ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.DetachArc ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.StateChangeCallback ==
 
=== Description ===
Unknown.
 
=== Signature ===
Game.StateChangeCallback()
 
=== Results ===
None.
 
== Game.SetPlayer ==
 
=== Description ===
Sets default player parameters for the stage. These are only used if the stage set does not provide player start objects.
 
=== Signature ===
Game.SetPlayer(x, y, z, yaw, player_name, player_no, amigo)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|x
|Number
|The default X position of the player.
|✔️
|-
|y
|Number
|The default Y position of the player.
|✔️
|-
|z
|Number
|The default Z position of the player.
|✔️
|-
|yaw
|Number
|The default yaw rotation of the player in degrees.
|✔️
|-
|player_name
|String
|The file name of the player script.
|✔️
|-
|player_no
|Number
|The identifier of the player object.
|❌
|-
|amigo
|Boolean
|Determines whether the player object is for an amigo.
|❌
|}
 
=== Results ===
None.
 
== Game.StartEntityByName ==
 
=== Description ===
Starts the specified entity that was spawned in as inactive.
 
=== Signature ===
Game.StartEntityByName(name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|name
|String
|The name of the entity to start.
|✔️
|}
 
=== Results ===
None.
 
== Game.Signal ==
 
=== Description ===
Sends a signal message to the specified entity.
 
=== Signature ===
Game.Signal(name)
Game.Signal(name, unknown)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|name
|String
|The name of the entity to signal.
|✔️
|-
|unknown
|Number
|This parameter is unimplemented. It was likely used for optional data to pass to the message receiver. It isn't used by any of the scripts in the game.
|❌
|}
 
=== Results ===
None.
 
== Game.PlayBGM ==
 
=== Description ===
Plays the specified sound bank entry from <code>bgm.sbk</code> as background music for the stage. This is overridden by <code>mission_bgm</code> in the [[Mission Parameters]].
 
=== Signature ===
Game.PlayBGM(name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|name
|String
|The name of the sound bank entry.
|✔️
|}
 
=== Results ===
None.
 
== Game.StopBGM ==
 
=== Description ===
Stops the current background music in the stage.
 
=== Signature ===
Game.StopBGM()
 
=== Results ===
None.
 
== Game.SetGenArea ==
 
=== Description ===
Sets the bounding box for entities to spawn within.
 
=== Signature ===
Game.SetGenArea({})
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|N/A
|Table
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|type
|Number
|Unknown.
|❌
|-
|size
|Table
|The size of the area.
|✔️
|-
|offset
|Table
|The offset of the area.
|❌
|-
|border
|Number
|Unknown.
|❌
|-
|cameraoffset
|Table
|The offset of the area relative to the camera.
|❌
|}
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadTerrain ==
 
=== Description ===
Loads all of the terrain models and collision from the specified directory. This is overridden by <code>mission_terrain</code> in the [[Mission Parameters]].
 
=== Signature ===
Game.LoadTerrain(path)
Game.LoadTerrain(path, optimize_world)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to load from.
|✔️
|-
|optimize_world
|Boolean
|This feature is unimplemented. It was likely intended for Havok optimizations.
|❌
|}
 
=== Results ===
None.
 
== Game.LoadSky ==
 
=== Description ===
Loads the sky model from the specified directory.
 
=== Signature ===
Game.LoadSky(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to load from.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadStageSet ==
 
=== Description ===
Loads the specified stage set. This function expects a path to a <code>*.set</code> file with a <code>*.xml</code> file extension.
 
=== Signature ===
Game.LoadStageSet(path)
Game.LoadStageSet(path, layer)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|-
|layer
|String
|The name of the set layer.
|❌
|}
 
==== Set Layers ====
{| class="wikitable"
|+
!Name
!Description
|-
|default
|The default layer used when no layer is specified.
|-
|design
|The layer used for additional details.
|-
|particle
|The layer used for particle effects.
|-
|test
|The layer used for testing purposes.
|-
|area
|The layer used for area design that is usually static between new layouts.
|-
|pathobj
|The layer used for <code>common_path_obj</code> objects.
|}
 
=== Results ===
None.
 
== Game.LoadPath ==
 
=== Description ===
Loads the specified spline path. This function expects a path to a <code>*.path</code> file without a file extension.
 
=== Signature ===
Game.LoadPath(path)
Game.LoadPath(path, layer)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|-
|layer
|String
|The name of the path layer.
|❌
|}
 
==== Path Layers ====
{| class="wikitable"
|+
!Name
!Description
|-
|(null)
|The default layer used when no layer is specified.
|-
|grind
|The layer used for grind rails.
|-
|guide
|The layer used for guide paths for loops and surfaces that move the player forwards only.
|-
|pathobj
|The layer used for <code>common_path_obj</code> objects.
|-
|physicspath
|The layer used for <code>physicspath</code> objects. This layer is unused and said objects tend to use the default layer.
|}
 
=== Results ===
None.
 
== Game.LoadParticle ==
 
=== Description ===
Loads the specified particle container. This function expects a path to a <code>*.plc</code> file.
 
=== Signature ===
Game.LoadParticle(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadSceneParams ==
 
=== Description ===
Loads the specified Lua script containing the necessary tables for [[Scene Parameters]]. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadSceneParams(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadLight ==
 
{{Notice|type=warn|content=This function is only used by a test stage and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified Lua script containing the necessary tables for light parameters. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadLight(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadSceneEnvMap ==
 
=== Description ===
Loads the specified texture to use as the environment map for the stage. This function was superseded by the <code>EnvMap</code> table in the [[Scene Parameters]].
 
=== Signature ===
Game.LoadSceneEnvMap(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadReflectionAreas ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified reflection area. This function expects a path to a <code>*.rab</code> file. This function was superseded by the <code>ReflectionAreas</code> table in the [[Scene Parameters]].
 
=== Signature ===
Game.LoadReflectionAreas(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadSoundBank ==
 
=== Description ===
Loads the specified sound bank for stage-specific sound effects. This function expects a path to a <code>*.sbk</code> file without a file extension.
 
=== Signature ===
Game.LoadSoundBank(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadVoiceBank ==
 
=== Description ===
Loads the specified sound bank for stage-specific voice clips. This function expects a path to a <code>*.sbk</code> file without the file extension. The specified sound bank must have a <code>_e</code> suffix, the game will automatically locate the Japanese sound bank if it's present.
 
=== Signature ===
Game.LoadVoiceBank(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadCameraParam ==
 
=== Description ===
Loads the specified Lua script containing the necessary constants for camera parameters. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadCameraParam(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadRenderScript ==
 
=== Description ===
Loads the specified Lua script containing the necessary functions and constants for a render script. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadRenderScript(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadKynapse ==
 
=== Description ===
Loads the specified Kynapse Big File for AI agent parameters, navigation meshes and spatial graphs. This function expects a path to a <code>*.kbf</code> file.
 
=== Signature ===
Game.LoadKynapse(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadTownsmanInfo ==
 
=== Description ===
Loads the specified Lua script containing the necessary tables and constants for NPC info. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadTownsmanInfo(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadRaderMap ==
 
=== Description ===
Loads the specified package for the radar model. This function expects a path to a <code>*.pkg</code> file without a file extension.
 
=== Signature ===
Game.LoadRaderMap(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadObjectPhysics ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified object physics parameter list. This function was superseded by the game loading a static file from <code>object.arc</code> called <code>Common.bin</code>.
 
=== Signature ===
Game.LoadObjectPhysics(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadExplosion ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified object explosion parameter list. This function was superseded by the game loading a static file from <code>object.arc</code> called <code>Explosion.bin</code>.
 
=== Signature ===
Game.LoadExplosion(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadEnemy ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified enemy parameter list. This function was superseded by the game loading a static file from <code>enemy.arc</code> called <code>ScriptParameter.bin</code>.
 
=== Signature ===
Game.LoadEnemy(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadShot ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified enemy shot parameter list. This function was superseded by the game loading a static file from <code>enemy.arc</code> called <code>ShotParameter.bin</code>.
 
=== Signature ===
Game.LoadShot(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.DebugCommand ==
 
{{Notice|type=warn|content=This function is only used by test stages and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Executes a debug command.
 
=== Signature ===
Game.DebugCommand(command)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|command
|String
|The command to execute.
|✔️
|}
 
==== Commands ====
{| class="wikitable"
|+
!Name
!Parameters
!Description
|-
|shadowcameradist
|Double
|Sets the shadow camera distance to the specified value.
|}
 
=== Results ===
None.
 
== Game.LoadTimeLight ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Loads the specified Lua script containing the necessary tables and constants for time light parameters. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
Game.LoadTimeLight(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
None.
 
== Game.ProcessMessage ==
 
=== Description ===
 
=== Signature ===
Game.ProcessMessage(actor_id, message_name)
Game.ProcessMessage(actor_id, message_name, {})
Game.ProcessMessage(actor_name, message_name)
Game.ProcessMessage(actor_name, message_name, {})
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|actor_id
|Number
|The ID of the actor to send the message to.
|✔️
|-
|actor_name
|String
|The name of the actor to send the message to. Singletons for the level and player can be accessed by providing either <code>LEVEL</code> or <code>PLAYER</code> here.
|✔️
|-
|message_name
|String
|The name of the message to send.
|✔️
|-
|N/A
|Table
|The message data to send, if required.
|❌
|}
 
==== Messages ====
{| class="wikitable"
|+
!Name
!Description
!Data
|-
|Shoot
|Shoots an object towards the specified actor.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|target
|User Data
|The actor to target.
|✔️
|-
|type
|Unknown
|Unknown.
|❌
|}
|-
|GateOpen
|Opens a gate.
| rowspan="2" |None.
|-
|GateClose
|Closes a gate.
|-
|CallEvent
|Calls a generic event handler function from the current area script.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|eventID
|String
|The name of the function.
|✔️
|-
|actorID
|User Data
|The actor that invoked the event handler.
|❌
|-
|otherID
|User Data
|The other actor to mutate within the function (usually the player).
|❌
|}
|-
|Switch
|Calls a switch object event handler function from the current area script.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|eventID
|String
|The name of the function.
|✔️
|-
|actorID
|User Data
|The actor that invoked the event handler.
|❌
|-
|otherID
|User Data
|The other actor to mutate within the function (usually the player).
|❌
|-
|on
|Boolean
|The state of the switch.
|✔️
|}
|-
|FixCamera
|Sets a new camera origin and looks at a specific point.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|eye
|Vector3
|The origin of the camera.
|✔️
|-
|target
|Vector3
|The direction the camera should look towards.
|✔️
|}
|-
|ControlPause
|Determines whether the player can pause the game.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|enabled
|Boolean
|The enabled state of the pause menu.
|✔️
|}
|-
|NotifyRestart
|Notifies the actor that the stage has been restarted.
|None.
|-
|PsiEffect
|Determines whether the specified actor uses the psychokinesis effect.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|effect
|Boolean
|The enabled state of the effect.
|✔️
|}
|-
|TornadoShoot
|Shoots an object towards the specified actor.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|shootindex
|Number
|The type of object to shoot.
|✔️
|-
|target
|User Data
|The actor to target.
|✔️
|-
|targetposition
|Vector3
|The position to target.
|❌
|-
|time
|Number
|Unknown.
|❌
|-
|targetname
|String
|The name of the actor to target.
|❌
|}
|-
|PlaySE
|Plays a sound effect.
|
{| class="wikitable"
|+
!Field
!Type
!Description
!Required?
|-
|bank
|String
|The name of the sound bank.
|✔️
|-
|id
|String
|The name of the sound to play.
|✔️
|}
|}
 
=== Results ===
None.
 
== Game.InternalMessage ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.InternalMessage(unknown)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|unknown
|String
|Unknown.
|✔️
|}
 
=== Results ===
None.
 
== Game.SeparateRenderAndExecute ==
 
=== Description ===
Unknown.
 
=== Signature ===
Game.SeparateRenderAndExecute(unknown)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|unknown
|Boolean
|Unknown.
|✔️
|}
 
=== Results ===
None.
 
== Game.SetAreaName ==
 
=== Description ===
Sets the area name for the current stage. This is overridden by <code>mission_area</code> in the [[Mission Parameters]].
 
=== Signature ===
Game.SetAreaName(name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|name
|String
|The area name to use for the current stage.
|✔️
|}
 
=== Results ===
None.
 
== Game.LoadPEBank ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.PreloadPlayer ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.PreloadPlayer()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.LoadCameraLib ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.LoadCameraSet ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
This function expects a path to a <code>*.xml</code> file.
 
=== Signature ===
Game.LoadCameraSet(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the file to load.
|✔️
|}
 
=== Results ===
Unknown.
 
== Game.LoadEntityLib ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.CreateCameraTornado ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.CreateObjInfo ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.CreateObjInfo(actor_type)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|actor_type
|String
|The type of actor to create info for.
|✔️
|}
 
=== Results ===
Unknown.
 
== Game.NewActor ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.NewActor(actor_type, {})
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|actor_type
|String
|The type of actor to create.
|✔️
|-
|N/A
|Table
|The set parameters for the actor.
|✔️
|}
 
=== Results ===
A pointer to the actor that was created.
 
== Game.LoadEvent ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.LoadEvent(name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|name
|String
|The name of the event.
|✔️
|}
 
=== Results ===
Unknown.
 
== Game.ChangeArea ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Unknown.
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.SetupWorld ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.SetupWorld()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.DestroyWorld ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.DestroyWorld()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.StartPlaying ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.StartPlaying()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.Retry ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.Retry()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
== Game.End ==
 
{{Notice|type=warn|content=This function is unimplemented.}}
=== Description ===
Unknown.
 
=== Signature ===
Game.End()
 
==== Parameters ====
Unknown.
 
=== Results ===
Unknown.
 
= LuaSystem Subsystem =
These functions are provided by <code>Sonicteam::LuaSystem</code>.
 
== script.reload ==
 
{{Notice|type=info|content=This function is an alias of [[#Game.ExecScript|<code>Game.ExecScript</code>]].}}
=== Description ===
Loads and executes the specified Lua script. This function expects a path to a <code>*.lub</code> file with a <code>*.lua</code> file extension.
 
=== Signature ===
script.reload(path)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|path
|String
|The path to the script to execute.
|✔️
|}
 
=== Results ===
None.
 
= RenderAction Subsystem =
 
=== Pixel Formats ===
{| class="wikitable"
|+
!Name
!Description
|-
|A8R8G8B8
|Used for 8-bit buffers (32bpp).
|-
|A16B16G16R16F
|Used for 16-bit floating point buffers (64bpp).
|-
|A32B32G32R32F
|Used for 32-bit floating point buffers (128bpp).
|-
|HDR
|Used for bloom buffers.
|-
|R32F
|Used for single channel 32-bit floating point buffers (32bpp).
|-
|D24S8
|Used for 24-bit depth and 8-bit stencil buffers (32bpp).
|-
|D24FS8
|Used for 24-bit floating point depth and 8-bit stencil buffers (32bpp).
|}
 
=== Surface Buffers ===
{| class="wikitable"
|+
!Name
!Description
|-
|backbuffer
|N/A
|-
|framebuffer0
|N/A
|-
|framebuffer1
|N/A
|-
|framebuffer_hdr
|N/A
|-
|framebuffer_tile
|N/A
|-
|framebuffer_1_4_0
|N/A
|-
|framebuffer_1_4_1
|N/A
|-
|framebuffer_1_8_0
|N/A
|-
|framebuffer_1_8_1
|N/A
|-
|framebuffer_1_16_0
|N/A
|-
|framebuffer_1_16_1
|N/A
|-
|framebuffer_1_32_0
|N/A
|-
|framebuffer_1_32_1
|N/A
|-
|depthstencil_1_4
|N/A
|}
 
=== Render Targets ===
{| class="wikitable"
|+
!Name
!Description
|-
|none
|N/A
|-
|color_depth
|N/A
|-
|color
|N/A
|-
|depth
|N/A
|-
|stencil
|N/A
|-
|depthstencil
|N/A
|-
|all
|N/A
|}
 
== CreateSurface ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Creates a surface.
 
=== Signature ===
CreateSurface(ptr, name, width, height, format)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the surface.
|✔️
|-
|width
|Number
|The width of the surface.
|✔️
|-
|height
|Number
|The height of the surface.
|✔️
|-
|format
|String
|The format of the surface. See [[#Pixel Formats|Pixel Formats]].
|✔️
|}
 
=== Results ===
None.
 
== CreateTexture ==
 
=== Description ===
Creates a texture.
 
=== Signature ===
CreateTexture(ptr, name, width, height, unknown, format)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the texture.
|✔️
|-
|width
|Number
|The width of the texture.
|✔️
|-
|height
|Number
|The height of the texture.
|✔️
|-
|unknown
|Number
|Unknown.
|✔️
|-
|format
|String
|The format of the texture. See [[#Pixel Formats|Pixel Formats]].
|✔️
|}
 
=== Results ===
None.
 
== CreateCubeTexture ==
 
=== Description ===
Creates an array of six textures for each face of a cube map.
 
=== Signature ===
CreateCubeTexture(ptr, name, size, unknown, format)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the texture array.
|✔️
|-
|size
|Number
|The size of the textures.
|✔️
|-
|unknown
|Number
|Unknown.
|✔️
|-
|format
|String
|The format of the texture. See [[#Pixel Formats|Pixel Formats]].
|✔️
|}
 
=== Results ===
None.
 
== CreateArrayTexture ==
 
=== Description ===
Creates an array of textures.
 
=== Signature ===
CreateArrayTexture(ptr, name, width, height, count, format)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the texture array.
|✔️
|-
|width
|Number
|The width of the textures.
|✔️
|-
|height
|Number
|The height of the textures.
|✔️
|-
|count
|Number
|The number of textures in the array.
|✔️
|-
|format
|String
|The format of the textures. See [[#Pixel Formats|Pixel Formats]].
|✔️
|}
 
=== Results ===
None.
 
== CreateDepthStencilSurface ==
 
=== Description ===
Creates a depth stencil surface.
 
=== Signature ===
CreateDepthStencilSurface(ptr, name, width, height, format)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the surface. See [[#Surface Buffers|Surface Buffers]].
|✔️
|-
|width
|Number
|The width of the surface.
|✔️
|-
|height
|Number
|The height of the surface.
|✔️
|-
|format
|String
|The format of the surface. See [[#Pixel Formats|Pixel Formats]].
|✔️
|}
 
=== Results ===
None.
 
== LoadTexture ==
 
=== Description ===
Loads a texture.
 
=== Signature ===
LoadTexture(ptr, path, name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|path
|String
|The path to the texture.
|✔️
|-
|name
|String
|The name of the texture.
|✔️
|}
 
=== Results ===
None.
 
== SetLabel ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Unknown.
 
=== Signature ===
SetLabel(ptr, name)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the label.
|✔️
|}
 
=== Results ===
None.
 
== BeginBlock ==
 
=== Description ===
Begins an operation block.
 
=== Signature ===
BeginBlock(ptr, name, command)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the block.
|✔️
|-
|command
|String
|The command of the block.
|✔️
|}
 
==== Commands ====
{| class="wikitable"
{| class="wikitable"
|+
|+
Line 2,170: Line 5:
!Description
!Description
|-
|-
|run
|[[Sonic the Hedgehog (2006) GameScript Functions|GameScript]]
|N/A
|Functions provided by <code>Sonicteam::GameScript</code>.
|-
|stop
|N/A
|}
 
=== Results ===
None.
 
== EndBlock ==
 
=== Description ===
Ends an operation block.
 
=== Signature ===
EndBlock(ptr)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|}
 
=== Results ===
None.
 
== ResetRenderStates ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Unknown.
 
=== Signature ===
ResetRenderStates(ptr)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|}
 
=== Results ===
None.
 
== SetFrameBufferObject ==
 
=== Description ===
Unknown.
 
=== Signature ===
SetFrameBufferObject(ptr, name, buffer_name, render_target, x, y, z, w)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the object.
|✔️
|-
|buffer_name
|String
|The name of the buffer.
|✔️
|-
|render_target
|String
|The render target. See [[#Render Targets|Render Targets]].
|✔️
|-
|x
|Number
|Implementation-specific.
|✔️
|-
|y
|Number
|Implementation-specific.
|✔️
|-
|z
|Number
|Implementation-specific.
|✔️
|-
|w
|Number
|Implementation-specific.
|✔️
|}
 
=== Results ===
None.
 
== SetFrameBufferObjectOnce ==
 
=== Description ===
Unknown.
 
=== Signature ===
SetFrameBufferObjectOnce(ptr, name, buffer_name, render_target, x, y, z, w)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|name
|String
|The name of the object.
|✔️
|-
|buffer_name
|String
|The name of the buffer.
|✔️
|-
|render_target
|String
|The render target. See [[#Render Targets|Render Targets]].
|✔️
|-
|x
|Number
|Implementation-specific.
|✔️
|-
|y
|Number
|Implementation-specific.
|✔️
|-
|z
|Number
|Implementation-specific.
|✔️
|-
|w
|Number
|Implementation-specific.
|✔️
|}
 
=== Results ===
None.
 
== ClearRenderTarget ==
 
=== Description ===
Unknown.
 
=== Signature ===
ClearRenderTarget(ptr, render_target, x, y, z, w)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|render_target
|String
|The render target. See [[#Render Targets|Render Targets]].
|✔️
|-
|x
|Number
|Implementation-specific.
|✔️
|-
|y
|Number
|Implementation-specific.
|✔️
|-
|z
|Number
|Implementation-specific.
|✔️
|-
|w
|Number
|Implementation-specific.
|✔️
|}
 
=== Results ===
None.
 
== SetColorWriteEnable ==
 
=== Description ===
Unknown.
 
=== Signature ===
SetColorWriteEnable(ptr, unknown, r, g, b, a)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|ptr
|Pointer
|A pointer to a structure for accessing rendering structures.
|✔️
|-
|unknown
|Number
|Unknown. Always zero.
|✔️
|-
|r
|Number
|Determines whether writing to the red channel is enabled.
|✔️
|-
|g
|Number
|Determines whether writing to the green channel is enabled.
|✔️
|-
|b
|Number
|Determines whether writing to the blue channel is enabled.
|✔️
|-
|a
|Number
|Determines whether writing to the alpha channel is enabled.
|✔️
|}
 
=== Results ===
None.
 
== SetViewport ==
 
== ResetViewport ==
 
== SetScissorTest ==
 
== SetScissorRect ==
 
== ResetScissorRect ==
 
== AutoSetAspect ==
 
== SetCullMode ==
 
== LockCullMode ==
 
== SetZMode ==
 
== LockZMode ==
 
== SetBlendMode ==
 
== LockBlendMode ==
 
== SetStencilEnable ==
 
== SetStencilOp ==
 
== SetBackStencilOp ==
 
== SetStencilFunc ==
 
== SetStencilWriteMask ==
 
== ApplyDevice ==
 
== CopyTexture ==
 
== Capture ==
 
== Resolve ==
 
== ApplySceneParams ==
 
== SetClip ==
 
== SetScreen ==
 
== SetFovY ==
 
== SetUserClipPlaneEnable ==
 
== SetTexture ==
 
== SetDepthTextures ==
 
== SetCSMTextures ==
 
== SetReflectionTextures ==
 
== SetConstantShader ==
 
== ColorFill ==
 
== MakeBloom ==
 
== ApplyBloom ==
 
== Rasterize ==
 
== RasterizeBurnoutBlur ==
 
== RenderWorld ==
 
== RenderSpanverse ==
 
== RenderCSD ==
 
== RenderDebug3DFont ==
 
== RenderDebug ==
 
== RenderNeParticle ==
 
== RenderNeParticlePost ==
 
== RenderGE1Particle ==
 
== RenderPostprocess ==
 
== SetCurrentScreen ==
 
== SetCurrentCamera ==
 
== RenderMovie ==
 
== PrepareCalculateCSM ==
 
== SetAutoZPass ==
 
== CommandBufferBegin ==
 
== CommandBufferEnd ==
 
== CommandBufferSetFrameBuffer ==
 
== CommandBufferSetConstantShader ==
 
== CommandBufferRenderWorld ==
 
== CommandBufferRun ==
 
== SetShaderGPRAllocation ==
 
== IsDebug ==
 
== GetPlatform ==
 
== GetSurfaceWidth ==
 
== GetSurfaceHeight ==
 
== GetFrameBufferFormat ==
 
== GetDepthStencilFormat ==
 
== GetRegistry ==
 
== GetNumScreens ==
 
= EndingMode Subsystem =
These functions are provided by <code>Sonicteam::EndingMode</code>.
 
== Text ==
 
=== Description ===
Creates a text entity for the staff roll.
 
=== Signature ===
Text(mode, unknown_1, text_card, unknown_2)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|mode
|Pointer
|A pointer to <code>Sonicteam::EndingMode</code>.
|✔️
|-
|unknown_1
|Number
|This parameter is unimplemented. Usually 0.5.
|✔️
|-
|text_card
|String
|The name of the text card in <code>staff.mst</code> to use.
|✔️
|-
|unknown_2
|Number
|This parameter is unimplemented. Usually 500.
|❌
|}
 
=== Results ===
None.
 
== Sprite ==
 
=== Description ===
Creates a CSD resource for the staff roll and initialises the specified scene.
 
=== Signature ===
Sprite(mode, unknown, csd_project, csd_scene)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|mode
|Pointer
|A pointer to <code>Sonicteam::EndingMode</code>.
|✔️
|-
|unknown
|Number
|Unknown. Always zero.
|✔️
|-
|csd_project
|String
|The path to the CSD project to load. This parameter expects a path to a <code>*.xncp</code> file without a file extension.
|✔️
|-
|csd_scene
|String
|The name of the CSD scene to use.
|✔️
|}
 
=== Results ===
None.
 
== Space ==
 
=== Description ===
Adds a block of padding to the staff roll.
 
=== Signature ===
Space(mode, offset)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|mode
|Pointer
|A pointer to <code>Sonicteam::EndingMode</code>.
|✔️
|-
|offset
|Number
|The amount to offset the next text entity.
|✔️
|}
 
=== Results ===
None.
 
== Section ==
 
=== Description ===
Creates a text entity to denote a new section of the staff roll.
 
=== Signature ===
Section(mode, unknown_1, text_card, unknown_2)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|mode
|Pointer
|A pointer to <code>Sonicteam::EndingMode</code>.
|✔️
|-
|unknown_1
|Number
|This parameter is unimplemented. Usually 0.5.
|✔️
|-
|text_card
|String
|The name of the text card in <code>staff.mst</code> to use.
|✔️
|-
|unknown_2
|Number
|This parameter is unimplemented. Usually 500.
|❌
|}
 
=== Results ===
None.
 
== Subsection ==
 
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}}
=== Description ===
Creates a text entity to denote a new subsection of the staff roll.
 
=== Signature ===
Subsection(mode, unknown_1, text_card, unknown_2)
 
==== Parameters ====
{| class="wikitable"
|+
!Parameter
!Type
!Description
!Required?
|-
|mode
|Pointer
|A pointer to <code>Sonicteam::EndingMode</code>.
|✔️
|-
|-
|unknown_1
|[[Sonic the Hedgehog (2006) LuaSystem Functions|LuaSystem]]
|Number
|Functions provided by <code>Sonicteam::LuaSystem</code>.
|This parameter is unimplemented.
|✔️
|-
|-
|text_card
|[[Sonic the Hedgehog (2006) RenderAction Functions|RenderAction]]
|String
|Functions provided for <code>Sonicteam::RenderAction</code> procedures.
|The name of the text card in <code>staff.mst</code> to use.
|✔️
|-
|-
|unknown_2
|[[Sonic the Hedgehog (2006) EndingMode Functions|EndingMode]]
|Number
|Functions provided by <code>Sonicteam::EndingMode</code>.
|This parameter is unimplemented.
|❌
|}
|}
=== Results ===
None.

Latest revision as of 15:26, 14 April 2026

Subsystems

Name Description
GameScript Functions provided by Sonicteam::GameScript.
LuaSystem Functions provided by Sonicteam::LuaSystem.
RenderAction Functions provided for Sonicteam::RenderAction procedures.
EndingMode Functions provided by Sonicteam::EndingMode.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.