Sonic the Hedgehog (2006) Script Functions: Difference between revisions
Document EndingMode functions |
Improve categorisation |
||
| Line 1: | Line 1: | ||
{{Notice|type=warn|content=This list is a work in progress!}} | {{Notice|type=warn|content=This list is a work in progress!}} | ||
{{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.}} | {{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 | These functions are provided by <code>Sonicteam::GameScript</code>. | ||
== Signal == | == Signal == | ||
| Line 66: | Line 66: | ||
None. | None. | ||
== | == Game.Sleep == | ||
=== Description === | === Description === | ||
Pauses script execution for the specified duration. | |||
=== Signature === | === Signature === | ||
Game.Sleep(duration) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 82: | Line 82: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |duration | ||
|Number | |Number | ||
| | |The amount of time to sleep for. | ||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 106: | Line 91: | ||
None. | None. | ||
== | == Game.Log == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | === Description === | ||
Logs text for debugging. | |||
=== Signature === | === Signature === | ||
Game.Log(text) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 122: | Line 108: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |text | ||
|String | |String | ||
|The | |The text to log. | ||
|✔️ | |✔️ | ||
|} | |} | ||
=== Results === | === Results === | ||
Unknown. | |||
== | == Game.Debug == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === 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 ==== | ==== Parameters ==== | ||
| Line 162: | Line 145: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
| | |String | ||
|The path to the script to execute. | |||
|The | |||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 176: | Line 154: | ||
None. | None. | ||
== | == Game.CreateObject == | ||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === Signature === | ||
Game.CreateObject(type, name, {}) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 192: | Line 170: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |type | ||
| | |String | ||
| | |The type of object to create. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |name | ||
|String | |String | ||
|The name of the | |The name of the object. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |N/A | ||
| | |Table | ||
| | |Unknown. | ||
|❌ | |❌ | ||
|} | |} | ||
=== Results === | === Results === | ||
A pointer to the object that was created. | |||
== | == Game.GetPlatform == | ||
=== Description === | === Description === | ||
Gets the name of the platform the game is running on. | |||
=== Signature === | === 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 ==== | ==== Parameters ==== | ||
Unknown. | |||
=== Results === | |||
Unknown. | |||
== Game.AttachArc == | |||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | |||
Unknown. | |||
| | |||
|This | |||
=== | === Signature === | ||
Unknown. | |||
= | ==== Parameters ==== | ||
Unknown. | |||
== | === Results === | ||
Unknown. | |||
== Game.DetachArc == | |||
{{Notice|type= | {{Notice|type=warn|content=This function is unimplemented.}} | ||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === Signature === | ||
Unknown. | |||
==== Parameters ==== | ==== Parameters ==== | ||
Unknown. | |||
=== Results === | === Results === | ||
Unknown. | |||
== Game.StateChangeCallback == | |||
== Game. | |||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === Signature === | ||
Game. | Game.StateChangeCallback() | ||
=== Results === | === Results === | ||
None. | None. | ||
== Game. | == Game.SetPlayer == | ||
=== Description === | === Description === | ||
Sets default player parameters for the stage. These are only used if the stage set does not provide player start objects. | |||
=== Signature === | === Signature === | ||
Game. | Game.SetPlayer(x, y, z, yaw, player_name, player_no, amigo) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 331: | Line 272: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |x | ||
| | |Number | ||
|The | |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 === | === Results === | ||
None. | |||
== Game. | == Game.StartEntityByName == | ||
=== Description === | === Description === | ||
Starts the specified entity that was spawned in as inactive. | |||
=== Signature === | === Signature === | ||
Game. | Game.StartEntityByName(name) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 368: | Line 327: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |name | ||
|String | |String | ||
|The | |The name of the entity to start. | ||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 377: | Line 336: | ||
None. | None. | ||
== Game. | == Game.Signal == | ||
=== Description === | === Description === | ||
Sends a signal message to the specified entity. | |||
=== Signature === | === Signature === | ||
Game. | Game.Signal(name) | ||
Game.Signal(name, unknown) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 392: | Line 352: | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
|name | |name | ||
|String | |String | ||
|The name of the | |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 === | === Results === | ||
None. | |||
== Game. | == Game.PlayBGM == | ||
=== Description === | === 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 === | === Signature === | ||
Game. | Game.PlayBGM(name) | ||
==== Parameters ==== | |||
{| class="wikitable" | |||
|+ | |||
!Parameter | |||
!Type | |||
!Description | |||
!Required? | |||
|- | |||
|name | |||
|String | |||
|The name of the sound bank entry. | |||
|✔️ | |||
|} | |||
=== Results === | === Results === | ||
None. | |||
== Game. | == Game.StopBGM == | ||
=== Description === | === Description === | ||
Stops the current background music in the stage. | |||
=== Signature === | === Signature === | ||
Game.StopBGM() | |||
=== Results === | === Results === | ||
None. | |||
== Game. | == Game.SetGenArea == | ||
=== Description === | === Description === | ||
Sets the bounding box for entities to spawn within. | |||
=== Signature === | === Signature === | ||
Game.SetGenArea({}) | |||
==== Parameters ==== | ==== Parameters ==== | ||
{| class="wikitable" | |||
|+ | |||
!Parameter | |||
!Type | |||
!Description | |||
!Required? | |||
|- | |||
{ | |N/A | ||
|Table | |||
Unknown. | | | ||
{| class="wikitable" | |||
|+ | |||
!Field | |||
!Type | |||
!Description | |||
!Required? | |||
|- | |||
|type | |||
Unknown. | |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 === | === Results === | ||
None. | None. | ||
== Game. | == Game.LoadTerrain == | ||
=== Description === | === 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 === | === Signature === | ||
Game. | Game.LoadTerrain(path) | ||
Game.LoadTerrain(path, optimize_world) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 495: | Line 477: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
| | |String | ||
|The | |The path to load from. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |optimize_world | ||
|Boolean | |||
|This feature is unimplemented. It was likely intended for Havok optimizations. | |||
|Boolean | |||
| | |||
|❌ | |❌ | ||
|} | |} | ||
| Line 534: | Line 491: | ||
None. | None. | ||
== Game. | == Game.LoadSky == | ||
=== Description === | === Description === | ||
Loads the sky model from the specified directory. | |||
=== Signature === | === Signature === | ||
Game. | Game.LoadSky(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 550: | Line 507: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
|String | |String | ||
|The | |The path to load from. | ||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 559: | Line 516: | ||
None. | None. | ||
== Game. | == Game.LoadStageSet == | ||
=== Description === | === 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 === | === Signature === | ||
Game. | Game.LoadStageSet(path) | ||
Game. | Game.LoadStageSet(path, layer) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 576: | Line 533: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
|String | |String | ||
|The | |The path to the file to load. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |layer | ||
| | |String | ||
| | |The name of the set layer. | ||
|❌ | |❌ | ||
|} | |} | ||
=== | ==== Set Layers ==== | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Name | ||
!Description | !Description | ||
|- | |- | ||
| | |default | ||
| | |The default layer used when no layer is specified. | ||
|The | |- | ||
| | |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. | |||
|} | |} | ||
| Line 615: | Line 572: | ||
None. | None. | ||
== Game. | == Game.LoadPath == | ||
=== Description === | === Description === | ||
Loads the specified spline path. This function expects a path to a <code>*.path</code> file without a file extension. | |||
=== Signature === | === Signature === | ||
Game. | 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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Name | ||
!Description | !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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
| | |String | ||
|The path to the file to load. | |||
|The | |||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 683: | Line 650: | ||
None. | None. | ||
== Game. | == Game.LoadSceneParams == | ||
=== Description === | === Description === | ||
Loads | 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 === | === Signature === | ||
Game. | Game.LoadSceneParams(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 702: | Line 668: | ||
|path | |path | ||
|String | |String | ||
|The path to load | |The path to the file to load. | ||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 714: | Line 675: | ||
None. | None. | ||
== Game. | == 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 === | === Description === | ||
Loads the | 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 === | === Signature === | ||
Game. | Game.LoadLight(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 732: | Line 694: | ||
|path | |path | ||
|String | |String | ||
|The path to load | |The path to the file to load. | ||
|✔️ | |✔️ | ||
|} | |} | ||
| Line 739: | Line 701: | ||
None. | None. | ||
== Game. | == Game.LoadSceneEnvMap == | ||
=== Description === | === Description === | ||
Loads the specified stage | 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 === | === Signature === | ||
Game. | Game.LoadSceneEnvMap(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 760: | Line 721: | ||
|The path to the file to load. | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | |||
!Description | !Description | ||
!Required? | |||
|- | |- | ||
| | |path | ||
| | |String | ||
|The path to the file to load. | |||
|✔️ | |||
|The | |||
| | |||
|} | |} | ||
| Line 795: | Line 752: | ||
None. | None. | ||
== Game. | == Game.LoadSoundBank == | ||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadSoundBank(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 816: | Line 772: | ||
|The path to the file to load. | |The path to the file to load. | ||
|✔️ | |✔️ | ||
|} | |} | ||
=== Results === | |||
=== Results === | |||
None. | None. | ||
== Game. | == Game.LoadVoiceBank == | ||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadVoiceBank(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 873: | Line 802: | ||
None. | None. | ||
== Game. | == Game.LoadCameraParam == | ||
=== Description === | === Description === | ||
Loads the specified Lua script containing the necessary | 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 === | === Signature === | ||
Game. | Game.LoadCameraParam(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 898: | Line 827: | ||
None. | None. | ||
== Game. | == Game.LoadRenderScript == | ||
=== Description === | === Description === | ||
Loads the specified Lua script containing the necessary | 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 === | === Signature === | ||
Game. | Game.LoadRenderScript(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 924: | Line 852: | ||
None. | None. | ||
== Game. | == Game.LoadKynapse == | ||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadKynapse(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 949: | Line 877: | ||
None. | None. | ||
== Game. | == Game.LoadTownsmanInfo == | ||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadTownsmanInfo(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 975: | Line 902: | ||
None. | None. | ||
== Game. | == Game.LoadRaderMap == | ||
=== Description === | === Description === | ||
Loads the specified | Loads the specified package for the radar model. This function expects a path to a <code>*.pkg</code> file without a file extension. | ||
=== Signature === | === Signature === | ||
Game. | Game.LoadRaderMap(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,000: | Line 927: | ||
None. | None. | ||
== Game. | == Game.LoadObjectPhysics == | ||
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | |||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadObjectPhysics(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,025: | Line 953: | ||
None. | None. | ||
== Game. | == Game.LoadExplosion == | ||
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | |||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadExplosion(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,050: | Line 979: | ||
None. | None. | ||
== Game. | == Game.LoadEnemy == | ||
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | |||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadEnemy(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,075: | Line 1,005: | ||
None. | None. | ||
== Game. | == Game.LoadShot == | ||
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | |||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadShot(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,100: | Line 1,031: | ||
None. | None. | ||
== Game. | == 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 === | === Description === | ||
Executes a debug command. | |||
=== Signature === | === Signature === | ||
Game. | Game.DebugCommand(command) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,116: | Line 1,048: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |command | ||
|String | |String | ||
|The | |The command to execute. | ||
|✔️ | |✔️ | ||
|} | |||
==== Commands ==== | |||
{| class="wikitable" | |||
|+ | |||
!Name | |||
!Parameters | |||
!Description | |||
|- | |||
|shadowcameradist | |||
|Double | |||
|Sets the shadow camera distance to the specified value. | |||
|} | |} | ||
| Line 1,125: | Line 1,069: | ||
None. | None. | ||
== Game. | == Game.LoadTimeLight == | ||
{{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | |||
=== Description === | === Description === | ||
Loads the specified | 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 === | === Signature === | ||
Game. | Game.LoadTimeLight(path) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,150: | Line 1,095: | ||
None. | None. | ||
== Game. | == Game.ProcessMessage == | ||
=== Description === | === Description === | ||
=== Signature === | === Signature === | ||
Game. | 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 ==== | ==== Parameters ==== | ||
| Line 1,167: | Line 1,113: | ||
!Required? | !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 | |String | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |target | ||
| | |User Data | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |eventID | ||
|String | |String | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |eventID | ||
|String | |String | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |eye | ||
| | |Vector3 | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
! | !Type | ||
!Description | !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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |effect | ||
| | |Boolean | ||
|The | |The enabled state of the effect. | ||
|✔️ | |✔️ | ||
|} | |} | ||
|- | |||
|TornadoShoot | |||
|Shoots an object towards the specified actor. | |||
| | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Field | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |shootindex | ||
|Number | |Number | ||
|The | |The type of object to shoot. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |target | ||
| | |User Data | ||
|The | |The actor to target. | ||
|✔️ | |✔️ | ||
|- | |- | ||
| | |targetposition | ||
|Vector3 | |||
|The position to target. | |||
|❌ | |||
|- | |||
|time | |||
|Number | |||
|Unknown. | |||
|❌ | |||
|- | |||
|targetname | |||
|String | |String | ||
|The name of the | |The name of the actor to target. | ||
|❌ | |❌ | ||
|} | |} | ||
|- | |- | ||
| | |PlaySE | ||
| | |Plays a sound effect. | ||
| | | | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 1,374: | Line 1,329: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |bank | ||
| | |String | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |unknown | ||
|String | |String | ||
| | |Unknown. | ||
|✔️ | |✔️ | ||
|} | |} | ||
=== Results === | |||
None. | |||
== Game.SeparateRenderAndExecute == | |||
=== Description === | |||
Unknown. | |||
=== Signature === | |||
Game.SeparateRenderAndExecute(unknown) | |||
==== Parameters ==== | |||
{| class="wikitable" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |name | ||
| | |String | ||
|The | |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" | {| class="wikitable" | ||
|+ | |+ | ||
! | !Parameter | ||
!Type | !Type | ||
!Description | !Description | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
| | |String | ||
|The | |The path to the file to load. | ||
|✔️ | |✔️ | ||
|} | |} | ||
=== Results === | === Results === | ||
Unknown. | |||
== Game.LoadEntityLib == | |||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
{{Notice|type=warn|content=This function is | |||
=== Description === | === Description === | ||
Unknown. | Unknown. | ||
=== Signature === | === Signature === | ||
Unknown. | |||
==== Parameters ==== | ==== Parameters ==== | ||
Unknown. | |||
=== Results === | === Results === | ||
Unknown. | |||
== Game. | == Game.CreateCameraTornado == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | === Description === | ||
Unknown. | Unknown. | ||
=== Signature === | === Signature === | ||
Unknown. | |||
==== Parameters ==== | ==== Parameters ==== | ||
Unknown. | |||
=== Results === | |||
Unknown. | |||
== Game.CreateObjInfo == | |||
=== Results === | |||
== Game. | |||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === Signature === | ||
Game. | Game.CreateObjInfo(actor_type) | ||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,634: | Line 1,538: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |actor_type | ||
|String | |String | ||
|The | |The type of actor to create info for. | ||
|✔️ | |✔️ | ||
|} | |} | ||
=== Results === | === Results === | ||
Unknown. | |||
== Game. | == Game.NewActor == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,650: | Line 1,554: | ||
=== Signature === | === Signature === | ||
Game.NewActor(actor_type, {}) | |||
==== Parameters ==== | ==== 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 === | === Results === | ||
A pointer to the actor that was created. | |||
== Game. | == Game.LoadEvent == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,665: | Line 1,585: | ||
=== Signature === | === Signature === | ||
Game. | Game.LoadEvent(name) | ||
==== Parameters ==== | ==== Parameters ==== | ||
{| class="wikitable" | |||
|+ | |||
!Parameter | |||
!Type | |||
!Description | |||
!Required? | |||
|- | |||
|name | |||
|String | |||
|The name of the event. | |||
|✔️ | |||
|} | |||
=== Results === | |||
Unknown. | Unknown. | ||
== Game.ChangeArea == | |||
== Game. | |||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,688: | Line 1,619: | ||
Unknown. | Unknown. | ||
== Game. | == Game.SetupWorld == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
=== Description === | === Description === | ||
Unknown. | |||
=== Signature === | === Signature === | ||
Game. | Game.SetupWorld() | ||
==== Parameters ==== | ==== Parameters ==== | ||
{| | Unknown. | ||
| | |||
=== Results === | |||
Unknown. | |||
== Game.DestroyWorld == | |||
{{Notice|type=warn|content=This function is unimplemented.}} | |||
=== Description === | |||
Unknown. | |||
=== Signature === | |||
Game.DestroyWorld() | |||
==== Parameters ==== | |||
Unknown. | |||
=== Results === | === Results === | ||
Unknown. | Unknown. | ||
== Game. | == Game.StartPlaying == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,721: | Line 1,656: | ||
=== Signature === | === Signature === | ||
Game.StartPlaying() | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,729: | Line 1,664: | ||
Unknown. | Unknown. | ||
== Game. | == Game.Retry == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,736: | Line 1,671: | ||
=== Signature === | === Signature === | ||
Game.Retry() | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,744: | Line 1,679: | ||
Unknown. | Unknown. | ||
== Game. | == Game.End == | ||
{{Notice|type=warn|content=This function is unimplemented.}} | {{Notice|type=warn|content=This function is unimplemented.}} | ||
| Line 1,751: | Line 1,686: | ||
=== Signature === | === Signature === | ||
Game. | Game.End() | ||
==== Parameters ==== | ==== Parameters ==== | ||
Unknown. | |||
=== Results === | === Results === | ||
Unknown. | Unknown. | ||
== | = LuaSystem Subsystem = | ||
These functions are provided by <code>Sonicteam::LuaSystem</code>. | |||
== script.reload == | |||
{{Notice|type= | {{Notice|type=info|content=This function is an alias of [[#Game.ExecScript|<code>Game.ExecScript</code>]].}} | ||
=== Description === | === 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 === | === Signature === | ||
script.reload(path) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,787: | Line 1,714: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |path | ||
|String | |String | ||
|The | |The path to the script to execute. | ||
|✔️ | |✔️ | ||
|} | |||
|} | |||
=== Results === | === Results === | ||
None. | |||
= EndingMode Subsystem = | |||
These functions are provided by <code>Sonicteam::EndingMode</code>. | |||
== | == Text == | ||
=== Description === | === Description === | ||
Creates a text entity for the staff roll. | |||
=== Signature === | === Signature === | ||
Text(mode, unknown_1, text_card, unknown_2) | |||
==== Parameters ==== | ==== Parameters ==== | ||
| Line 1,818: | Line 1,742: | ||
!Required? | !Required? | ||
|- | |- | ||
| | |mode | ||
|Pointer | |||
|A pointer to <code>Sonicteam::EndingMode</code>. | |||
|✔️ | |||
|- | |||
|unknown_1 | |||
|Number | |||
|This parameter is unimplemented. Usually 0.5. | |||
|✔️ | |||
|- | |||
|text_card | |||
|String | |String | ||
|The name of the | |The name of the text card in <code>staff.mst</code> to use. | ||
|✔️ | |✔️ | ||
|- | |||
|unknown_2 | |||
|Number | |||
|This parameter is unimplemented. Usually 500. | |||
|❌ | |||
|} | |} | ||
=== Results === | === Results === | ||
None. | |||
== | == Sprite == | ||
=== Description === | === Description === | ||
Creates a CSD resource for the staff roll and initialises the specified scene. | |||
=== Signature === | === Signature === | ||
Sprite(mode, unknown, csd_project, csd_scene) | |||
==== Parameters ==== | ==== Parameters ==== | ||
Unknown. | {| class="wikitable" | ||
|+ | |||
=== Results === | !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 === | === Description === | ||
Adds a block of padding to the staff roll. | |||
=== Signature === | === Signature === | ||
Space(mode, offset) | |||
==== Parameters ==== | ==== 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 === | === Results === | ||
None. | |||
== | == Section == | ||
=== Description === | === Description === | ||
Creates a text entity to denote a new section of the staff roll. | |||
=== Signature === | === Signature === | ||
Section(mode, unknown_1, text_card, unknown_2) | |||
==== Parameters ==== | ==== 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 === | === Results === | ||
None. | |||
== | == Subsection == | ||
{{Notice|type=warn|content=This function is | {{Notice|type=warn|content=This function is unused and has not been tested, information regarding it may be inaccurate.}} | ||
=== Description === | === Description === | ||
Creates a text entity to denote a new subsection of the staff roll. | |||
=== Signature === | === Signature === | ||
Subsection(mode, unknown_1, text_card, unknown_2) | |||
==== Parameters ==== | ==== Parameters ==== | ||
{| class="wikitable" | |||
|+ | |||
!Parameter | |||
!Type | |||
!Description | |||
!Required? | |||
|- | |||
|mode | |||
|Pointer | |||
|A pointer to <code>Sonicteam::EndingMode</code>. | |||
|✔️ | |||
|- | |||
|unknown_1 | |||
|Number | |||
|This parameter is unimplemented. | |||
|✔️ | |||
|- | |||
|text_card | |||
|String | |||
|The name of the text card in <code>staff.mst</code> to use. | |||
|✔️ | |||
|- | |||
|unknown_2 | |||
|Number | |||
|This parameter is unimplemented. | |||
|❌ | |||
|} | |||
=== Results === | === Results === | ||
None. | |||
Revision as of 11:16, 14 April 2026
{set_layer}:{actor_name} (without the brackets, of course). Otherwise, the actor names can be provided as-is.GameScript Subsystem
These functions are provided by Sonicteam::GameScript.
Signal
Description
Unknown.
Signature
Signal({}, unknown)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| N/A | Table | Unknown. | ✔️ |
| unknown | Number | Unknown. Used as a message parameter. | ❓ |
Results
None.
Shoot
Description
Unknown.
Signature
Shoot({}, unknown)
Parameters
| 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
| Parameter | Type | Description | Required? |
|---|---|---|---|
| duration | Number | The amount of time to sleep for. | ✔️ |
Results
None.
Game.Log
Description
Logs text for debugging.
Signature
Game.Log(text)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| text | String | The text to log. | ✔️ |
Results
Unknown.
Game.Debug
Description
Unknown.
Signature
Game.Debug()
Results
Unknown.
Game.ExecScript
Description
Loads and executes the specified Lua script. This function expects a path to a *.lub file with a *.lua file extension.
Signature
Game.ExecScript(path)
Parameters
| 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
| 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
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.AttachArc
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.DetachArc
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
| 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
| 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
| 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 bgm.sbk as background music for the stage. This is overridden by mission_bgm in the Mission Parameters.
Signature
Game.PlayBGM(name)
Parameters
| 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
| Parameter | Type | Description | Required? | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| N/A | Table |
|
✔️ |
Results
None.
Game.LoadTerrain
Description
Loads all of the terrain models and collision from the specified directory. This is overridden by mission_terrain in the Mission Parameters.
Signature
Game.LoadTerrain(path) Game.LoadTerrain(path, optimize_world)
Parameters
| 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
| 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 *.set file with a *.xml file extension.
Signature
Game.LoadStageSet(path) Game.LoadStageSet(path, layer)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
| layer | String | The name of the set layer. | ❌ |
Set Layers
| 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 common_path_obj objects.
|
Results
None.
Game.LoadPath
Description
Loads the specified spline path. This function expects a path to a *.path file without a file extension.
Signature
Game.LoadPath(path) Game.LoadPath(path, layer)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
| layer | String | The name of the path layer. | ❌ |
Path Layers
| 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 common_path_obj objects.
|
| physicspath | The layer used for physicspath 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 *.plc file.
Signature
Game.LoadParticle(path)
Parameters
| 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 *.lub file with a *.lua file extension.
Signature
Game.LoadSceneParams(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadLight
Description
Loads the specified Lua script containing the necessary tables for light parameters. This function expects a path to a *.lub file with a *.lua file extension.
Signature
Game.LoadLight(path)
Parameters
| 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 EnvMap table in the Scene Parameters.
Signature
Game.LoadSceneEnvMap(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadReflectionAreas
Description
Loads the specified reflection area. This function expects a path to a *.rab file. This function was superseded by the ReflectionAreas table in the Scene Parameters.
Signature
Game.LoadReflectionAreas(path)
Parameters
| 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 *.sbk file without a file extension.
Signature
Game.LoadSoundBank(path)
Parameters
| 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 *.sbk file without the file extension. The specified sound bank must have a _e suffix, the game will automatically locate the Japanese sound bank if it's present.
Signature
Game.LoadVoiceBank(path)
Parameters
| 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 *.lub file with a *.lua file extension.
Signature
Game.LoadCameraParam(path)
Parameters
| 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 *.lub file with a *.lua file extension.
Signature
Game.LoadRenderScript(path)
Parameters
| 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 *.kbf file.
Signature
Game.LoadKynapse(path)
Parameters
| 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 *.lub file with a *.lua file extension.
Signature
Game.LoadTownsmanInfo(path)
Parameters
| 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 *.pkg file without a file extension.
Signature
Game.LoadRaderMap(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadObjectPhysics
Description
Loads the specified object physics parameter list. This function was superseded by the game loading a static file from object.arc called Common.bin.
Signature
Game.LoadObjectPhysics(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadExplosion
Description
Loads the specified object explosion parameter list. This function was superseded by the game loading a static file from object.arc called Explosion.bin.
Signature
Game.LoadExplosion(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadEnemy
Description
Loads the specified enemy parameter list. This function was superseded by the game loading a static file from enemy.arc called ScriptParameter.bin.
Signature
Game.LoadEnemy(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.LoadShot
Description
Loads the specified enemy shot parameter list. This function was superseded by the game loading a static file from enemy.arc called ShotParameter.bin.
Signature
Game.LoadShot(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
None.
Game.DebugCommand
Description
Executes a debug command.
Signature
Game.DebugCommand(command)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| command | String | The command to execute. | ✔️ |
Commands
| Name | Parameters | Description |
|---|---|---|
| shadowcameradist | Double | Sets the shadow camera distance to the specified value. |
Results
None.
Game.LoadTimeLight
Description
Loads the specified Lua script containing the necessary tables and constants for time light parameters. This function expects a path to a *.lub file with a *.lua file extension.
Signature
Game.LoadTimeLight(path)
Parameters
| 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
| 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 LEVEL or PLAYER here.
|
✔️ |
| message_name | String | The name of the message to send. | ✔️ |
| N/A | Table | The message data to send, if required. | ❌ |
Messages
| Name | Description | Data | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Shoot | Shoots an object towards the specified actor. |
| ||||||||||||||||||||||||
| GateOpen | Opens a gate. | None. | ||||||||||||||||||||||||
| GateClose | Closes a gate. | |||||||||||||||||||||||||
| CallEvent | Calls a generic event handler function from the current area script. |
| ||||||||||||||||||||||||
| Switch | Calls a switch object event handler function from the current area script. |
| ||||||||||||||||||||||||
| FixCamera | Sets a new camera origin and looks at a specific point. |
| ||||||||||||||||||||||||
| ControlPause | Determines whether the player can pause the game. |
| ||||||||||||||||||||||||
| NotifyRestart | Notifies the actor that the stage has been restarted. | None. | ||||||||||||||||||||||||
| PsiEffect | Determines whether the specified actor uses the psychokinesis effect. |
| ||||||||||||||||||||||||
| TornadoShoot | Shoots an object towards the specified actor. |
| ||||||||||||||||||||||||
| PlaySE | Plays a sound effect. |
|
Results
None.
Game.InternalMessage
Description
Unknown.
Signature
Game.InternalMessage(unknown)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| unknown | String | Unknown. | ✔️ |
Results
None.
Game.SeparateRenderAndExecute
Description
Unknown.
Signature
Game.SeparateRenderAndExecute(unknown)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| unknown | Boolean | Unknown. | ✔️ |
Results
None.
Game.SetAreaName
Description
Sets the area name for the current stage. This is overridden by mission_area in the Mission Parameters.
Signature
Game.SetAreaName(name)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| name | String | The area name to use for the current stage. | ✔️ |
Results
None.
Game.LoadPEBank
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.PreloadPlayer
Description
Unknown.
Signature
Game.PreloadPlayer()
Parameters
Unknown.
Results
Unknown.
Game.LoadCameraLib
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.LoadCameraSet
Description
This function expects a path to a *.xml file.
Signature
Game.LoadCameraSet(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the file to load. | ✔️ |
Results
Unknown.
Game.LoadEntityLib
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.CreateCameraTornado
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.CreateObjInfo
Description
Unknown.
Signature
Game.CreateObjInfo(actor_type)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| actor_type | String | The type of actor to create info for. | ✔️ |
Results
Unknown.
Game.NewActor
Description
Unknown.
Signature
Game.NewActor(actor_type, {})
Parameters
| 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
Description
Unknown.
Signature
Game.LoadEvent(name)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| name | String | The name of the event. | ✔️ |
Results
Unknown.
Game.ChangeArea
Description
Unknown.
Signature
Unknown.
Parameters
Unknown.
Results
Unknown.
Game.SetupWorld
Description
Unknown.
Signature
Game.SetupWorld()
Parameters
Unknown.
Results
Unknown.
Game.DestroyWorld
Description
Unknown.
Signature
Game.DestroyWorld()
Parameters
Unknown.
Results
Unknown.
Game.StartPlaying
Description
Unknown.
Signature
Game.StartPlaying()
Parameters
Unknown.
Results
Unknown.
Game.Retry
Description
Unknown.
Signature
Game.Retry()
Parameters
Unknown.
Results
Unknown.
Game.End
Description
Unknown.
Signature
Game.End()
Parameters
Unknown.
Results
Unknown.
LuaSystem Subsystem
These functions are provided by Sonicteam::LuaSystem.
script.reload
Game.ExecScript.Description
Loads and executes the specified Lua script. This function expects a path to a *.lub file with a *.lua file extension.
Signature
script.reload(path)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| path | String | The path to the script to execute. | ✔️ |
Results
None.
EndingMode Subsystem
These functions are provided by Sonicteam::EndingMode.
Text
Description
Creates a text entity for the staff roll.
Signature
Text(mode, unknown_1, text_card, unknown_2)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| mode | Pointer | A pointer to Sonicteam::EndingMode.
|
✔️ |
| unknown_1 | Number | This parameter is unimplemented. Usually 0.5. | ✔️ |
| text_card | String | The name of the text card in staff.mst 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
| Parameter | Type | Description | Required? |
|---|---|---|---|
| mode | Pointer | A pointer to Sonicteam::EndingMode.
|
✔️ |
| unknown | Number | Unknown. Always zero. | ✔️ |
| csd_project | String | The path to the CSD project to load. This parameter expects a path to a *.xncp 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
| Parameter | Type | Description | Required? |
|---|---|---|---|
| mode | Pointer | A pointer to Sonicteam::EndingMode.
|
✔️ |
| 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
| Parameter | Type | Description | Required? |
|---|---|---|---|
| mode | Pointer | A pointer to Sonicteam::EndingMode.
|
✔️ |
| unknown_1 | Number | This parameter is unimplemented. Usually 0.5. | ✔️ |
| text_card | String | The name of the text card in staff.mst to use.
|
✔️ |
| unknown_2 | Number | This parameter is unimplemented. Usually 500. | ❌ |
Results
None.
Subsection
Description
Creates a text entity to denote a new subsection of the staff roll.
Signature
Subsection(mode, unknown_1, text_card, unknown_2)
Parameters
| Parameter | Type | Description | Required? |
|---|---|---|---|
| mode | Pointer | A pointer to Sonicteam::EndingMode.
|
✔️ |
| unknown_1 | Number | This parameter is unimplemented. | ✔️ |
| text_card | String | The name of the text card in staff.mst to use.
|
✔️ |
| unknown_2 | Number | This parameter is unimplemented. | ❌ |
Results
None.