Jump to content

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

From HedgeDocs
Hyper (talk | contribs)
Improve categorisation
Hyper (talk | contribs)
Start RenderAction documentation
Line 1,717: Line 1,717:
|String
|String
|The path to the script to execute.
|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"
|+
!Name
!Description
|-
|run
|N/A
|-
|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.
|✔️
|✔️
|}
|}

Revision as of 14:49, 14 April 2026

Warning
This list is a work in progress!
Info
When actors are referenced by name, they can be targeted on specific layers when formatted as {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

Warning
This function is unused and has not been tested, information regarding it may be inaccurate.

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

Warning
This function is unused and has not been tested, information regarding it may be inaccurate.

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

Warning
This function is unimplemented.

Description

Logs text for debugging.

Signature

Game.Log(text)

Parameters

Parameter Type Description Required?
text String The text to log. ✔️

Results

Unknown.

Game.Debug

Warning
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 *.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

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.AttachArc

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.DetachArc

Warning
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

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
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 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

Warning
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 *.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

Warning
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 *.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

Warning
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 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

Warning
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 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

Warning
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 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

Warning
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 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

Warning
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

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

Warning
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 *.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.
Field Type Description Required?
target User Data The actor to target. ✔️
type Unknown Unknown.
GateOpen Opens a gate. None.
GateClose Closes a gate.
CallEvent Calls a generic event handler function from the current area script.
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.
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.
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.
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.
Field Type Description Required?
effect Boolean The enabled state of the effect. ✔️
TornadoShoot Shoots an object towards the specified actor.
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.
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

Warning
This function is unused and has not been tested, information regarding it may be inaccurate.

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

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.PreloadPlayer

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.PreloadPlayer()

Parameters

Unknown.

Results

Unknown.

Game.LoadCameraLib

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.LoadCameraSet

Warning
This function is unimplemented.

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

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.CreateCameraTornado

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.CreateObjInfo

Warning
This function is unimplemented.

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

Warning
This function is unimplemented.

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

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.LoadEvent(name)

Parameters

Parameter Type Description Required?
name String The name of the event. ✔️

Results

Unknown.

Game.ChangeArea

Warning
This function is unimplemented.

Description

Unknown.

Signature

Unknown.

Parameters

Unknown.

Results

Unknown.

Game.SetupWorld

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.SetupWorld()

Parameters

Unknown.

Results

Unknown.

Game.DestroyWorld

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.DestroyWorld()

Parameters

Unknown.

Results

Unknown.

Game.StartPlaying

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.StartPlaying()

Parameters

Unknown.

Results

Unknown.

Game.Retry

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.Retry()

Parameters

Unknown.

Results

Unknown.

Game.End

Warning
This function is unimplemented.

Description

Unknown.

Signature

Game.End()

Parameters

Unknown.

Results

Unknown.

LuaSystem Subsystem

These functions are provided by Sonicteam::LuaSystem.

script.reload

Info
This function is an alias of 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.

RenderAction Subsystem

Pixel Formats

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

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

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

Warning
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

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. ✔️

Results

None.

CreateTexture

Description

Creates a texture.

Signature

CreateTexture(ptr, name, width, height, unknown, format)

Parameters

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. ✔️

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

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. ✔️

Results

None.

CreateArrayTexture

Description

Creates an array of textures.

Signature

CreateArrayTexture(ptr, name, width, height, count, format)

Parameters

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. ✔️

Results

None.

CreateDepthStencilSurface

Description

Creates a depth stencil surface.

Signature

CreateDepthStencilSurface(ptr, name, width, height, format)

Parameters

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. ✔️
width Number The width of the surface. ✔️
height Number The height of the surface. ✔️
format String The format of the surface. See Pixel Formats. ✔️

Results

None.

LoadTexture

Description

Loads a texture.

Signature

LoadTexture(ptr, path, name)

Parameters

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

Warning
This function is unused and has not been tested, information regarding it may be inaccurate.

Description

Unknown.

Signature

SetLabel(ptr, name)

Parameters

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

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

Name Description
run N/A
stop N/A

Results

None.

EndBlock

Description

Ends an operation block.

Signature

EndBlock(ptr)

Parameters

Parameter Type Description Required?
ptr Pointer A pointer to a structure for accessing rendering structures. ✔️

Results

None.

ResetRenderStates

Warning
This function is unused and has not been tested, information regarding it may be inaccurate.

Description

Unknown.

Signature

ResetRenderStates(ptr)

Parameters

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

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. ✔️
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

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. ✔️
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

Parameter Type Description Required?
ptr Pointer A pointer to a structure for accessing rendering structures. ✔️
render_target String The render target. See 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

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.

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

Warning
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

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.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.