Script bindings: HUD and menus¶
Verified against: SLUS_212.15 (NTSC-U, SHA1 e9cb2cc49aa046b9e494313dce2f5038ed17b2f4).
Bindings for the in-game HUD, radar, objectives, messages and front-end menus: 78 in all. Conventions, the other categories and how to read an entry are on the masterlist.
| Binding | Returns | Scripts | Boot | Mission 1 | Evidence |
|---|---|---|---|---|---|
CNSEnableMissionInfo |
- | 34 | no | no | confirmed (code) |
FlashRageBar |
- | 1 | no | yes | confirmed (code) |
ForceShowPlayerHud |
- | 43 | yes | yes | confirmed (code) |
GetDefaultFont |
- | 1 | no | no | inferred |
GetScreenDimensions |
- | 1 | no | no | confirmed (code) |
HideHud |
- | 56 | yes | yes | confirmed (code) |
HidePlayerHud |
- | 44 | no | no | confirmed (code) |
HUDAddRadarHuman |
- | 9 | no | yes | confirmed (code) |
HUDAddRadarMissionObjective |
- | 66 | yes | yes | confirmed (code) |
HUDAddRadarObject |
number | 0 | no | no | confirmed (code) |
HUDAddSecondaryRadarMissionObjective |
- | 6 | no | yes | confirmed (code) |
HUDANEnableChkIndicator |
- | 0 | no | no | confirmed (code) |
HUDANEnableJoinMsg |
- | 10 | no | no | confirmed (code) |
HUDANGetCredit |
number | 5 | no | no | confirmed (code) |
HUDANLaunchEndScreen |
- | 1 | no | no | confirmed (code) |
HUDANSetCredit |
- | 7 | yes | no | confirmed (code) |
HUDANSetGOSignMode |
- | 19 | no | no | confirmed (code) |
HUDCenterComponents |
- | 1 | no | no | confirmed (code) |
HUDChangeRadarMissionObjective |
- | 0 | no | no | confirmed (code) |
HUDCheckTutorialText |
boolean | 2 | no | no | confirmed (code) |
HUDDeleteRadarItem |
- | 0 | no | no | inferred |
HUDDeleteRadarMissionObjective |
- | 63 | yes | yes | confirmed (code) |
HUDDeleteRadarObject |
- | 16 | no | yes | confirmed (code) |
HUDEnableBar |
- | 28 | no | no | confirmed (code) |
HUDEnableClubActionText |
- | 4 | yes | no | confirmed (code) |
HUDEnableFixedCamIcon |
- | 5 | no | no | confirmed (code) |
HUDEnableGameTutorialText |
- | 36 | no | yes | confirmed (code) |
HUDEnableGenBar |
- | 1 | no | no | confirmed (code) |
HUDEnableInstArrow |
- | 1 | no | yes | confirmed (code) |
HUDEnableTextProgress |
- | 4 | no | no | confirmed (code) |
HUDFlushTutorialText |
- | 13 | yes | yes | confirmed (code) |
HUDGetNewPH |
number | 20 | yes | yes | confirmed (code) |
HUDLaunchANGameOver |
- | 5 | no | no | confirmed (code) |
HUDLaunchMissionComplete |
- | 10 | yes | yes | confirmed (code) |
HUDLaunchMissionFailed |
- | 24 | no | no | confirmed (code) |
HUDLaunchRumbleWin |
- | 33 | no | no | confirmed (code) |
HUDRadarSetRange |
- | 1 | no | no | confirmed (code) |
HUDReleasePH |
- | 16 | yes | yes | confirmed (code) |
HUDRemoveAllGoalText |
- | 7 | no | yes | confirmed (code) |
HUDSetANBossTexture |
- | 15 | no | no | confirmed (code) |
HUDSetAnnounceMsg |
- | 17 | yes | yes | confirmed (code) |
HUDSetBarPercentage |
- | 28 | no | no | confirmed (code) |
HUDSetBarProperty |
- | 21 | no | no | confirmed (code) |
HUDSetChaseHUDState_CREATE |
- | 0 | no | no | confirmed (code) |
HUDSetChaseHUDState_DESTROY |
- | 2 | no | no | confirmed (code) |
HUDSetChaseHUDState_NORMAL |
- | 0 | no | no | confirmed (code) |
HUDSetChaseHUDState_TIMEOUT |
- | 0 | no | no | confirmed (code) |
HUDSetInstArrowAnimSpeed |
- | 0 | no | no | confirmed (code) |
HUDSetInstArrowColor |
- | 0 | no | no | confirmed (code) |
HUDSetInstArrowLocation |
- | 0 | no | no | confirmed (code) |
HUDSetMissionFailedCallbacks |
- | 6 | no | no | confirmed (code) |
HUDSetNumIndicator |
- | 3 | no | no | confirmed (code) |
HUDSetObjective |
- | 149 | yes | yes | confirmed (code) |
HUDSetPHLabelFlashing |
- | 0 | no | no | inferred |
HUDSetPHValue |
- | 53 | yes | yes | confirmed (code) |
HUDSetRadarItemTexture |
- | 70 | yes | yes | confirmed (code) |
HUDSetRadarObjectFlash |
- | 9 | no | yes | confirmed (code) |
HUDSetRadarZoomScale |
- | 6 | no | no | confirmed (code) |
HUDSetTextProgress |
- | 4 | no | no | confirmed (code) |
HUDSetTutorialCallback |
- | 2 | no | yes | confirmed (code) |
HUDSetTutorialText |
- | 53 | yes | yes | confirmed (code) |
HUDShowMissionSelect |
- | 2 | no | no | confirmed (code) |
HUDShowMissionSummaryText |
- | 3 | yes | yes | confirmed (code) |
HUDShowWarCommand |
- | 9 | no | no | confirmed (code) |
HUDTurnOffActionCycleAnim |
- | 8 | no | no | confirmed (code) |
HUDTurnOffRadar |
- | 67 | no | yes | confirmed (code) |
HUDTurnOnActionCycleAnim |
- | 7 | no | no | confirmed (code) |
HUDTurnOnRadar |
- | 52 | no | yes | confirmed (code) |
PreloadCredits |
- | 2 | no | no | confirmed (code) |
RestoreHud |
- | 82 | no | yes | confirmed (code) |
ShowCredits |
- | 1 | no | no | confirmed (code) |
ShowGameStatsInterface |
- | 2 | no | no | confirmed (code) |
ShowHud |
- | 5 | no | yes | confirmed (code) |
ShowOptionMenu |
- | 0 | no | no | confirmed (code) |
ShowPlayerHud |
- | 3 | no | no | confirmed (code) |
ShowProfileManager |
- | 2 | yes | no | confirmed (code) |
ShowRumbleModeInterface |
- | 37 | yes | no | confirmed (code) |
ShowRumbleModeIntro |
- | 33 | no | no | confirmed (code) |
CNSEnableMissionInfo¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true stores 1, false (or nil) stores 0. |
Returns nothing.
Sets the global word 0x005109ac to 1 or 0. Nothing in the executable reads it, so the call has no visible effect; level95 turns it on and level101 off.
Notes. The only reference to 0x005109ac is this store (no other load in the program), so whatever CNS mission info
was meant to show is not built.
- Evidence: confirmed (code) at
0x0023b128; detail: traced - Wrapper
0x0037d3f0(registered byRegisterBindings); calls0x0023b128CNS_SetMissionInfoEnabled - Used by 34 of 467 script chunks (35 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: implemented
FlashRageBar¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an unsigned integer | Player HUD index (0 or 1). |
| 2 | n |
number, truncated to an unsigned integer | Blink length in frames (player HUD +0x4114): the meter is drawn n frames and hidden n frames; 0 stops the blinking. The tutorial passes 5. |
Returns nothing.
Makes a player's rage meter blink to draw attention to it (used by the first mission's rage tutorial).
Notes. The counter is +0x4118 (0x00213290). Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b3f58; detail: traced - Wrapper
0x00370d20(registered byRegisterBindings); calls0x001b3f58HUD_FlashRageBar - Used by 1 of 467 script chunks (2 references); boot to menu: no; mission 1: yes; result used: no
- Coney: implemented
ForceShowPlayerHud¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an unsigned integer | Player HUD index, 0 or 1. |
| 2 | on |
boolean (nil or 0 is false) | true keeps that player's panel (name banner, rage meter, score, money) on screen, false lets it fade out when idle again. |
Returns nothing.
Forces one player's panel to stay visible (sets player HUD +0x4104). global.lua turns it on for fights and off afterwards.
Notes. While the flag is set the panel's render restarts its 2 s show and 1 s fade every frame (0x00213290). Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b3f30; detail: traced - Wrapper
0x0036ebe0(registered byRegisterBindings); calls0x001b3f30HUD_ForceShowPlayer - Used by 43 of 467 script chunks (131 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 17 of 28 levels, first
level95(the hub) - Coney: implemented
GetDefaultFont¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | scale |
number (single precision) | A number; read but the callee shown takes only the table (inferred to be ignored). |
| 2 | info |
table of 5 numbers (t[1]..t[5]) | A table of five numbers overwritten with the default font's metrics; the fifth is always 3.0. |
Returns nothing.
Fills a table with the default font's metrics. Only the unused level100main.lua calls it.
- Evidence: inferred; detail: brief
- Wrapper
0x0036e720(registered byRegisterBindings); calls0x001798f8Font_GetDefault - Used by 1 of 467 script chunks (1 reference); boot to menu: no; mission 1: no; result used: no
- Coney: not implemented
GetScreenDimensions¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | size |
table of 2 numbers (t[1]..t[2]) | A table {w, h} that is overwritten with the display's width and height (from the device object at 0x0050cdb4). |
Returns nothing.
Writes the screen's width and height into the table it is given. Only the unused Lua menu level100main.lua calls it.
- Evidence: confirmed (code) at
0x0017a4f8; detail: brief - Wrapper
0x00368320(registered byRegisterBindings); calls0x0017a4f8Device_GetScreenSize - Used by 1 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Coney: not implemented
HideHud¶
No arguments.
Returns nothing.
Hides the whole HUD (player panels, radars, goal text, counters and bars), unless the game state forbids it; RestoreHud shows it again.
Notes. Skipped when 0x0041d110 is true and W_GameState + 0x14c is 1; clears the HUD manager's visible flag
+0x177a0. Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b3ed0; detail: traced - Wrapper
0x00370ca0(registered byRegisterBindings); calls0x001b3ed0HUD_HideAll - Used by 56 of 467 script chunks (97 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 28 of 28 levels, first
level80(mission 2) - Coney: implemented
HidePlayerHud¶
No arguments.
Returns nothing.
Hides both players' status panels (name banner, rage meter, score, money and item counters) and keeps them hidden: each
panel's may show flag (+0x4108) is cleared, so activity no longer brings it back, until ShowPlayerHud. The radar,
objective texts and prompts are not affected.
Notes. Panel calls 0x0020dfe0(panel, 0) then 0x0020dfe8 (hide), for the panels at HUD +0x08 and +0x0c (HUD: showing and hiding). HideHud hides more (radars, score board).
- Evidence: confirmed (code) at
0x001b3ef0,0x001b2030; detail: traced - Wrapper
0x00370ce0(registered byRegisterBindings); calls0x001b3ef0HUD_HidePlayerPanels,0x001b2030 - Used by 44 of 467 script chunks (50 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 4 of 28 levels, first
level95(the hub) - Coney: implemented
HUDAddRadarHuman¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | human |
number, truncated to an unsigned integer | Handle of the human to show on the radar. |
Returns nothing.
Adds a radar blip for a human whose look depends on the human's radar class (from its character data): a team mate, an enemy, a neutral (grey) or a special marker shown to both players.
- Evidence: confirmed (code) at
0x001b4168; detail: traced - Wrapper
0x00370a68(registered byRegisterBindings); calls0x001b4168HUD_RadarAddHuman - Used by 9 of 467 script chunks (25 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 4 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDAddRadarMissionObjective¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the human, object or flag to mark. |
Returns nothing.
Adds a mission-objective blip for an object to both radars (blip type 10). Pair with HUDSetRadarItemTexture to choose its icon.
- Evidence: confirmed (code) at
0x001b3f98; detail: traced - Wrapper
0x00370760(registered byRegisterBindings); calls0x001b3f98HUD_RadarAddObjective - Used by 66 of 467 script chunks (129 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 22 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDAddRadarObject¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the object. |
| 2 | colour |
table of 3 numbers (t[1]..t[3]) | Table {r, g, b}, each 0-255. |
Returns number: A number from the radar (the blip, inferred).
Adds a coloured blip for an object to both radars. No script calls it.
- Evidence: confirmed (code) at
0x001b40f8; detail: brief - Wrapper
0x00370aa0(registered byRegisterBindings); calls0x001b40f8 - Used by no script on the disc
- Coney: not implemented
HUDAddSecondaryRadarMissionObjective¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the human or object to mark. |
Returns nothing.
Adds a secondary-objective blip (blip type 1) for an object to both radars.
- Evidence: confirmed (code) at
0x001b3fc0; detail: traced - Wrapper
0x00370798(registered byRegisterBindings); calls0x001b3fc0 - Used by 6 of 467 script chunks (9 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 4 of 28 levels, first
level87(mission 3) - Coney: implemented
HUDANEnableChkIndicator¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true shows the checkpoint indicator. |
Returns nothing.
Turns the Armies of the Night checkpoint indicator on or off. No script calls it.
- Evidence: confirmed (code) at
0x001b4720; detail: brief - Wrapper
0x00370c38(registered byRegisterBindings); calls0x001b4720 - Used by no script on the disc
- Coney: not implemented
HUDANEnableJoinMsg¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an unsigned integer | Player HUD index: 0 for player 1, 1 for player 2. |
| 2 | on |
boolean (nil or 0 is false) | true shows the message, false hides it. |
Returns nothing.
Shows or hides the press start to join message on one player's Armies of the Night HUD (flag at +0x4614 of the HUD
panel, set by vtable +0x7c 0x002107d8). While the flag is set and the player's panel is not active, the HUD draws the
message text (ANHud_Draw 0x00211938), and pressing Start with credits left revives that player, restores the panel,
clears the flag and spends a credit (main loop 0x00158728).
Notes. Only Armies of the Night HUDs act on it (vtable 0x0053ecc0); no range check on player. The game-over screen
sets the flag on both HUDs itself after a continue that leaves credits.
- Evidence: confirmed (code) at
0x001b46a0; detail: traced - Wrapper
0x003701c8(registered byRegisterBindings); calls0x001b46a0HUD_ANEnableJoinMsg - Used by 10 of 467 script chunks (78 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDANGetCredit¶
No arguments.
Returns number: Credits left in Armies of the Night (the global at 0x00619910).
Returns how many Armies of the Night credits are left. A credit is spent each time a player joins or rejoins with Start (main loop 0x00158728) or continues on the game-over screen (0x001cf468); with none left, Start does nothing and the game-over screen ends the run.
Notes. The counter is set by HUD_ANSetCredits (0x001b46e0); it is a plain global, not reset by the level set-up.
- Evidence: confirmed (code) at
0x001b4700; detail: traced - Wrapper
0x00370290(registered byRegisterBindings); calls0x001b4700HUD_ANGetCredits - Used by 5 of 467 script chunks (30 references); boot to menu: no; mission 1: no; result used: yes
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDANLaunchEndScreen¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true shows the end screen and hides the HUD; false removes it and restores the HUD. |
Returns nothing.
Shows the Armies of the Night end screen: a full-screen white-tinted sprite of texture 0x18e0000 (a widget kept at 0x0061995c) is created and the HUD is hidden (0x001b1f38). With false the widget is destroyed and the HUD shown again (0x001b20f8).
Notes. Not guarded: calling true twice leaks the first widget, and false with no screen up uses a null pointer. Used once at the end of level 64.
- Evidence: confirmed (code) at
0x001b44d8; detail: traced - Wrapper
0x00370228(registered byRegisterBindings); calls0x001b44d8HUD_ANLaunchEndScreen - Used by 1 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level64(Armies of the Night 5) - Coney: not implemented
HUDANSetCredit¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | credits |
number, truncated to an unsigned integer | Number of credits (continues) left in the Armies of the Night mini-game. |
Returns nothing.
Sets the Armies of the Night credit counter (0x00619910). global.lua sets it to 99 on every level load.
- Evidence: confirmed (code) at
0x001b46e0; detail: traced - Wrapper
0x00370258(registered byRegisterBindings); calls0x001b46e0HUD_ANSetCredits - Used by 7 of 467 script chunks (23 references); boot to menu: yes; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDANSetGOSignMode¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | mode |
number, truncated to an unsigned integer | Mode of the GO arrow sign in Armies of the Night, stored as a byte (scripts use 0, 1 and 2). |
Returns nothing.
Stores the Armies of the Night GO sign mode in the byte at 0x0060f260, which the HUD uses to show the arcade-style
GO prompt that tells the players to move on.
Notes. No direct reader of 0x0060f260 was found (it may be read through a base pointer), so what modes 0, 1 and 2 look like is open; inferred: 0 off, 1 and 2 two directions or styles.
- Evidence: confirmed (code) at
0x001b4690; detail: traced - Wrapper
0x00370c00(registered byRegisterBindings); calls0x001b4690HUD_ANSetGOSignMode - Used by 19 of 467 script chunks (136 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDCenterComponents¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | count |
number, truncated to an unsigned integer | How many widths to use (at most 10). |
| 2 | widths |
table of 10 numbers (t[1]..t[10]) | Table of up to 10 widths. |
| 3 | centres |
table of 10 numbers (t[1]..t[10]) | Table of 10 numbers overwritten with each item's centre. |
| 4 | centre |
number (single precision) | The centre to lay the row out around (screen fraction). |
Returns nothing.
Lays a row of items with the given widths side by side around a centre point and writes each item's centre back into the
second table. Only the unused level100main.lua calls it.
- Evidence: confirmed (code) at
0x001b5dd8; detail: brief - Wrapper
0x0036ef50(registered byRegisterBindings); calls0x001b5dd8 - Used by 1 of 467 script chunks (1 reference); boot to menu: no; mission 1: no; result used: no
- Coney: not implemented
HUDChangeRadarMissionObjective¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the marked object. |
| 2 | colour |
table of 3 numbers (t[1]..t[3]) | Table {r, g, b}, each 0-255. |
Returns nothing.
Recolours an object's objective blip. No script calls it.
- Evidence: confirmed (code) at
0x001b3fe8; detail: brief - Wrapper
0x003707d0(registered byRegisterBindings); calls0x001b3fe8 - Used by no script on the disc
- Coney: not implemented
HUDCheckTutorialText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | text |
string | A hint string previously given to HUDSetTutorialText (the same interned string). |
Returns boolean (1 for true, nil for false): true (1) when that hint is the one showing (hint box +0x68) or is in
the queue, else nil; nil for a nil text.
Reports whether a tutorial hint is still on screen or waiting in the hint box's queue, so a script can wait for the player to have seen it.
Notes. The test compares string objects, which works because Lua 4 interns strings; a hint built from a different but equal-looking string still matches. Hint box at 0x00609250 (HUD).
- Evidence: confirmed (code) at
0x001b49a8,0x001ce550; detail: traced - Wrapper
0x0036f3e8(registered byRegisterBindings); calls0x001b49a8Tutorial_Contains,0x001ce550HintBox_Contains - Used by 2 of 467 script chunks (3 references); boot to menu: no; mission 1: no; result used: yes
- Later in the story: 2 of 28 levels, first
level3(mission 6) - Coney: implemented
HUDDeleteRadarItem¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | item |
number, truncated to an unsigned integer | A radar item (inferred: the value HUDAddRadarObject returns). |
Returns nothing.
Removes a radar item. No script calls it.
- Evidence: inferred; detail: brief
- Wrapper
0x00370bc8(registered byRegisterBindings); calls0x001b42d8 - Used by no script on the disc
- Coney: not implemented
HUDDeleteRadarMissionObjective¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the marked object. |
Returns nothing.
Removes every radar blip of an object from both radars (the same function as HUDDeleteRadarObject).
- Evidence: confirmed (code) at
0x001b4098; detail: traced - Wrapper
0x00370980(registered byRegisterBindings); calls0x001b4098HUD_RadarRemove - Used by 63 of 467 script chunks (149 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 22 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDDeleteRadarObject¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the human or object. |
Returns nothing.
Removes every radar blip of an object (the same function as HUDDeleteRadarMissionObjective); level99 removes Ash's blip with it.
- Evidence: confirmed (code) at
0x001b4300; detail: traced - Wrapper
0x00370a30(registered byRegisterBindings); calls0x001b4300 - Used by 16 of 467 script chunks (25 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 10 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDEnableBar¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | kind |
number, truncated to an unsigned integer | Bar kind: 0 a red bar at the top centre, 1 a green bar labelled labels[1] (boss health), 2 a sprite gauge drawn with texA and texB, 3 a stack of grey-framed bars, one per label (Rumble and two-player damage bars); other values do nothing. |
| 2 | on |
boolean (nil or 0 is false) | true creates the bar (an existing one is left as is), false removes it. |
| 3 | labels |
table of 4 strings (t[1]..t[4]) | Up to 4 label strings: kind 1 uses the first, kind 3 one per bar. Written back unchanged. |
| 4 | count |
number, truncated to an unsigned integer; default 1 | Kind 3: how many bars to create (at most 4); with flag true, the number (0-3) of the bar to show or hide. |
| 5 | flag |
boolean (nil or 0 is false) | Kind 3 only: false creates or removes all the bars; true shows (on) or hides one bar, number count, keeping the count of shown bars. |
| 6 | texA |
number, truncated to an unsigned integer; default 1703940 | Kind 2 only: a sprite word for the gauge (default 1703940); kind 0 ignores it and uses sprite 0x020a0000. |
| 7 | texB |
number, truncated to an unsigned integer; default 1703936 | Kind 2 only: a second sprite word (default 1703936); ignored by the other kinds. |
Returns nothing.
Creates or removes one of the HUD's scripted bars. Kinds 0, 1 and 3 share four generic bar slots (0x0060a1b0, 0x3f0 bytes each; kinds 0 and 1 use slot 0): kind 0 a red (200, 30, 30) bar 0.17 × 0.025 at the top, kind 1 a labelled bar 0.22 × 0.025 at the right whose fill shades from red (empty) to green (full), kind 3 up to four labelled bars 0.07 apart with a (217, 158, 12) fill. Kind 2 is a separate three-sprite gauge (0x0060b180). Fill them with HUDSetBarPercentage.
Notes. Kind 2's gauge (0x001a3720) starts with values 60 (+0x348) and 30 (+0x340) and the marker sprite 0x1a0007
(sheet chasebar); its look is on HUD: scripted bars. Positions shift
down by a constant in a two-player game (0x00609e8c). The bars draw in the HUD pass (HUD: render
order).
- Evidence: confirmed (code) at
0x001b53b0,0x001b4ba0,0x001b4c98,0x001b4f00,0x001b5008; detail: traced - Wrapper
0x0036f5b8(registered byRegisterBindings); calls0x001b53b0HUD_EnableBar,0x001b4ba0HUD_EnableRedBar,0x001b4c98HUD_EnableLabelledBar,0x001b4f00HUD_EnableGaugeBar,0x001b5008HUD_EnableBarStack - Used by 28 of 467 script chunks (100 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 15 of 28 levels, first
level2(mission 5) - Coney: implemented
HUDEnableClubActionText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true moves the action-prompt text near the top of the screen (y 0.125), false back near the bottom (y 0.86); both are adjusted for the video mode. |
Returns nothing.
Moves the HUD's context action-prompt text between its normal low position and a high position used in the clubhouse (level95 turns it on; global.lua turns it off on every level load). The position is a fraction of screen height.
Notes. Writes the y fraction to 0x00607d74 and 0x006077e4; other video modes use 0.08, 0.2/0.78 or 0.15/0.8.
- Evidence: confirmed (code) at
0x001b5ea8; detail: traced - Wrapper
0x0036e968(registered byRegisterBindings); calls0x001b5ea8HUD_SetActionTextHigh - Used by 4 of 467 script chunks (4 references); boot to menu: yes; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: implemented
HUDEnableFixedCamIcon¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true shows the fixed-camera icon, false hides it. |
Returns nothing.
Shows or hides the HUD's fixed-camera icons: stores the switch at HUD +0x177b4 (HUD object 0x00600840) and passes it
to the show method (vtable +0x44) of the two icon widgets at +0x135e0 and +0x136e0, one per player, built at HUD
set-up (0x001ad588) with icon id 0x57.
Notes. HUD set-up writes 1 to +0x177b4 on every level load; no reader of that field was found, so the widget calls
are what matter. That the icon marks a fixed camera is inferred from the binding name.
- Evidence: confirmed (code) at
0x001b4740,0x001b2818; detail: traced - Wrapper
0x0036f250(registered byRegisterBindings); calls0x001b4740HUD_EnableFixedCamIcon,0x001b2818HUD_SetFixedCamIconVisible - Used by 5 of 467 script chunks (5 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: implemented
HUDEnableGameTutorialText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true enables the game's built-in tutorial hints, false disables them. |
Returns nothing.
Sets the game state's tutorial-hints flag (W_GameState + 0x56e2). The first mission's combat tutorial turns it on;
Rumble levels turn it off.
Notes. What reads the flag is not traced.
- Evidence: confirmed (code) at
0x001b5ff0; detail: traced - Wrapper
0x0036eec8(registered byRegisterBindings); calls0x001b5ff0GameState_SetTutorialText - Used by 36 of 467 script chunks (38 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 1 of 28 levels, first
level86(mission 9) - Coney: implemented
HUDEnableGenBar¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true creates the bar, false removes it. |
| 2 | label |
string | The bar's label. |
| 3 | index |
number, truncated to an unsigned integer | Which generic bar (0 or 1). |
| 4 | style |
number, truncated to an unsigned integer; default 1 | 1 (default) or 0: picks one of two y positions and fill styles. |
Returns nothing.
Creates or removes one of the generic labelled bars (the Rumble tag-battle bars).
- Evidence: confirmed (code) at
0x001b4c98; detail: brief - Wrapper
0x0036f748(registered byRegisterBindings); calls0x001b4c98 - Used by 1 of 467 script chunks (4 references); boot to menu: no; mission 1: no; result used: no
- Coney: not implemented
HUDEnableInstArrow¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true shows the instruction arrow, false hides it. |
| 2 | x |
number (single precision) | Screen x as a fraction of the width. |
| 3 | y |
number (single precision) | Screen y as a fraction of the height. |
| 4 | angle |
number (single precision) | The arrow's rotation in radians (the tutorial uses 3.14). |
Returns nothing.
Shows or hides the tutorial's on-screen arrow pointing at a HUD element; position and rotation apply only when turning it on.
Notes. The arrow is rectangle 10 of hud_minigames, size 0.06, grey (191, 191, 191), and bobs along its direction (0x001b7330). Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b5c30; detail: traced - Wrapper
0x0036fdd0(registered byRegisterBindings); calls0x001b5c30HUD_EnableInstructionArrow - Used by 1 of 467 script chunks (1 reference); boot to menu: no; mission 1: yes; result used: no
- Coney: implemented
HUDEnableTextProgress¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | true creates the rows, false removes every shown row. |
| 2 | labels |
table of 6 strings (t[1]..t[6]) | Up to 6 row labels (gang names); row i shows label i. Written back unchanged. |
| 3 | count |
number, truncated to an unsigned integer | How many rows to create (1-6), from the top. |
| 4 | slot |
number, truncated to an unsigned integer; default 1 | Which row count to record: 1 (default) the main count (0x00622e40) that HUDSetTextProgress sorts by when its own slot is 1, 0 the second count (0x00622e44). |
Returns nothing.
Creates or removes the text scoreboard: up to six HUD text rows (widgets at 0x00615320, 0x560 bytes each) stacked down the screen at fixed positions (x 0x0050d56c, y 0x0050d574 + row × 0x0050d57c), each showing its label and a score that starts at 0. Used for the king-of-the-hill fight in level 92.
Notes. A row already shown is not recreated; the count is recorded even when on is false. Row fields: label
+0x540, score +0x558, active +0x434. The exact text layout (0x001ccf10) is not traced.
- Evidence: confirmed (code) at
0x001b5590; detail: traced - Wrapper
0x0036fa28(registered byRegisterBindings); calls0x001b5590HUD_EnableTextProgress - Used by 4 of 467 script chunks (6 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level92(flashback 2) - Coney: implemented
HUDFlushTutorialText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | priority |
number, truncated to an unsigned integer; default 4 | Remove the queued and showing hints of this priority; 4 (the default) removes all. |
Returns nothing.
Clears tutorial hints from the hint box, by priority or all of them.
- Evidence: confirmed (code) at
0x001b49d0; detail: traced - Wrapper
0x0036f430(registered byRegisterBindings); calls0x001b49d0Tutorial_Flush - Used by 13 of 467 script chunks (55 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 20 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDGetNewPH¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | kind |
number, truncated to an unsigned integer | Panel layout: 0 value with a suffix, 1 a single value, 2 got / needed, 3 a bar. Scripts use 2 for counters and 3 for bars. |
| 2 | label |
string | The panel's label text (copied). |
| 3 | width |
number (single precision); default 0.22 | Bar width for kind 3, as a fraction of the screen (default 0.22). |
Returns number: The panel's index (0-4) to pass to HUDSetPHValue and HUDReleasePH, or 4294967295 (-1 as unsigned) when all five panels are in use.
Takes one of the HUD's five counter panels (the on-screen objective counters such as Tags 2/6) and gives it a label
and layout. The panel stays hidden until a value is set.
Notes. Panels live in the HUD object at 0x0060b4f0, 0xa50 bytes each.
- Evidence: confirmed (code) at
0x001b4790; detail: traced - Wrapper
0x0036e998(registered byRegisterBindings); calls0x001b4790HUD_PanelAlloc - Used by 20 of 467 script chunks (40 references); boot to menu: yes; mission 1: yes; result used: yes
- Later in the story: 21 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDLaunchANGameOver¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false) | Read but not used (scripts pass true). |
Returns nothing.
Opens the Armies of the Night game-over screen (game mode 0xd, pushed from 0x005e53a0); the main loop does the same
itself when a failed Armies of the Night level fades out. The screen (ANGameOver_Update 0x001cf468) counts down and
lets either player press Start to continue: with credits left a credit is spent, the Lua function F1.Time is called
and both HUDs show the join message; with no credits, or when the countdown ends, the screen fades out. Calling it while
the screen is already up closes it and applies the result: continuing players are revived and their HUD restored,
otherwise the game either reloads level60 or calls runNextMission(0).
Notes. It is a toggle: a second call while game mode 0xd is current pops the screen instead of opening it again.
Which menu outcome (game-over menu +0x7a4/+0x7a8) maps to reloading level60 and which to runNextMission is
inferred, not traced to the button. Credits are the counter read by HUDANGetCredit (0x00619910).
- Evidence: confirmed (code) at
0x001cede8,0x001557f8; detail: traced - Wrapper
0x0036f1b8(registered byRegisterBindings); calls0x001cede8HUD_LaunchANGameOver,0x001557f8ANGameOver_Toggle - Used by 5 of 467 script chunks (5 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDLaunchMissionComplete¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | kind |
number, truncated to an unsigned integer | Which mission-complete screen to show (stored at 0x005e5e1c); runNextMission passes 4. 0 (or no argument) also sets a flag at 0x0050c754. |
Returns nothing.
Pushes the mission-complete screen (game mode 0xb) unless it is already showing. See runNextMission.
Notes. The kind is stored on every call, also when mode 0xb is already on top and nothing is pushed; 0x0050c754 (the level-change flag mode 1's Exit reads) is set only when it pushes with kind 0. Mode 0xb's Enter sets the kind back to 0 before calling UnlockAndLoad, whose runNextMission(1) launches 4; the shipped scripts pass only 0 and 4.
- Evidence: confirmed (code) at
0x0015d420; detail: traced - Wrapper
0x0036f218(registered byRegisterBindings); calls0x0015d420MissionComplete_Launch - Used by 10 of 467 script chunks (12 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 28 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDLaunchMissionFailed¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | reason |
string | The failure text shown under the title on the mission-failed screen; nil shows "Unknown Reason". |
Returns nothing.
Ends the mission as failed: sets the game state's mission result (+0x118 = 2), gives the reason to the mission-failed
menu (0x001d1fb8, its vtable +0xa4) and pushes game mode 0xc, which saves the sound state and opens the menu (Last
checkpoint, Restart level, Quit).
Notes. The screen's layout and items are on Pause; what each item does there is not traced.
- Evidence: confirmed (code) at
0x001d1f88; detail: traced - Wrapper
0x0036f130(registered byRegisterBindings); calls0x001d1f88MissionFailed_Launch - Used by 24 of 467 script chunks (38 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 15 of 28 levels, first
level87(mission 3) - Coney: implemented
HUDLaunchRumbleWin¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | winner |
string | Text naming the winner. |
| 2 | reason |
string | Second line (how the match was won, or the survival time). |
Returns nothing.
Shows the Rumble result screen (game mode 0x14) with the two lines of text; its choices replay the arena, reopen the Rumble menu or quit.
Notes. 0x001dfe20 pushes mode 0x14 (0x00155648) and copies the texts into the result screen at 0x00635390. Behaviour: Rumble.
- Evidence: confirmed (code) at
0x001dfe20; detail: brief - Wrapper
0x0036f160(registered byRegisterBindings); calls0x001dfe20 - Used by 33 of 467 script chunks (66 references); boot to menu: no; mission 1: no; result used: no
- Coney: implemented
HUDRadarSetRange¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | near |
number (single precision) | Radius in metres the radar shows around a standing player (radar +0x28, rest; level99 runs with 50); the shown radius (+0x20) jumps to it at once. |
| 2 | far |
number (single precision) | Radius in metres shown at full running speed, 12 m/s (radar +0x24, fast; level99 runs with 75). |
Returns nothing.
Sets both players' radar zoom range (HUD radars at +0x15d0 and +0x3f10): the disc shows near metres around a
standing player and widens toward far as the player speeds up. Level 3 passes 25 and 35, a closer view than the usual
50 and 75.
Notes. The floats pass through in registers, which hides them in the decompiled wrapper. The zoom formula and HUDSetRadarZoomScale are in HUD: the radar.
- Evidence: confirmed (code) at
0x001b40c0,0x001b2e10; detail: traced - Wrapper
0x003709b8(registered byRegisterBindings); calls0x001b40c0HUD_SetRadarRange,0x001b2e10HudManager_SetRadarRange - Used by 1 of 467 script chunks (1 reference); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level3(mission 6) - Coney: implemented
HUDReleasePH¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | panel |
number, truncated to an integer | Panel index returned by HUDGetNewPH. |
Returns nothing.
Frees a counter panel and hides it.
- Evidence: confirmed (code) at
0x001b47b8; detail: traced - Wrapper
0x0036ea40(registered byRegisterBindings); calls0x001b47b8HUD_PanelRelease - Used by 16 of 467 script chunks (37 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 20 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDRemoveAllGoalText¶
No arguments.
Returns nothing.
Clears the HUD's goal text (objective slot 0).
- Evidence: confirmed (code) at
0x001db248; detail: traced - Wrapper
0x0036f360(registered byRegisterBindings); calls0x001db248 - Used by 7 of 467 script chunks (7 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 4 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDSetANBossTexture¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | human |
number, truncated to an unsigned integer | Handle of the boss human in an Armies of the Night level. |
| 2 | texture |
number, truncated to an unsigned integer | Texture id of the portrait to show for that boss (scripts pass ids around 1966080, 0x1e0000 + n). |
| 3 | on |
boolean (nil or 0 is false); default true | true (default) registers the portrait, false removes the human's entry. |
Returns nothing.
Registers (or removes) a boss portrait on both players' Armies of the Night HUDs. Each HUD's target panel keeps a table
of 6 (human, texture) pairs: on puts the pair in the first free slot, false clears the slot holding that human. While
a player fights a registered human, the enemy health panel the HUD shows for its target (TargetPanel_Update
0x0020e6f8) swaps in that portrait texture; other enemies get the plain panel.
Notes. Only Armies of the Night HUDs (built by ANHud_Construct 0x0020fd80 when the level index is 60-69) implement
the call; on a normal player HUD the method is an empty stub (vtable 0x0053edf8 +0x74). A full table (6 entries)
silently ignores further adds, and the same human can be added twice. Free slots hold the null handle (0x006ebd30).
- Evidence: confirmed (code) at
0x001b5b80,0x00210dc0,0x0020fc98; detail: traced - Wrapper
0x0036e8d8(registered byRegisterBindings); calls0x001b5b80HUD_SetANBossTexture,0x00210dc0ANHud_SetBossTexture,0x0020fc98TargetPanel_SetBossTexture - Used by 15 of 467 script chunks (38 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 5 of 28 levels, first
level60(Armies of the Night 1) - Coney: not implemented
HUDSetAnnounceMsg¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | kind |
number, truncated to an unsigned integer | Announcement type. 5 shows the custom text; any other value shows that type's built-in message (a table of message pointers at 0x00622e20) and ignores text. |
| 2 | text |
string | The text to show when kind is 5 (scripts pass a string from the level's string table, or GSTRING.CHEAT). |
| 3 | flag |
boolean (nil or 0 is false) | Stored in a HUD global (0x00617fe8) that the announcement display reads; the Armies of the Night levels pass true. Meaning not traced. |
Returns nothing.
Shows an announcement: the custom text for kind 5 centred at GUI (0.5, 0.25), or one of the built-in announcement messages at the bottom left (0.02, 0.90) for the other kinds. Each call replaces the text at once (no queue). global.lua uses it to announce an entered cheat.
Notes. Kind 5 goes to a separate text widget (0x0060e990, HUD +0xe150); the other kinds restart the HUD manager's
announcement widget (+0xe340) through 0x001b3cb0, which also looks up interface cue 0x14. An announcement lasts as its
own
- Evidence: confirmed (code) at
0x001b5b08; detail: traced - Wrapper
0x0036e858(registered byRegisterBindings); calls0x001b5b08HUD_SetAnnounceMessage - Used by 17 of 467 script chunks (50 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 7 of 28 levels, first
level95(the hub) - Coney: implemented
HUDSetBarPercentage¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | kind |
number, truncated to an unsigned integer | The bar kind given to HUDEnableBar (0-3); other values do nothing. |
| 2 | fill |
number (single precision) | Fill fraction 0-1 (clamped) for kinds 0, 1 and 3; for kind 2 the gauge's main value (+0x340), not clamped. |
| 3 | fill2 |
number (single precision); default 1 | Kinds 1 and 2: the chase gauge's maximum (+0x348); ignored by kinds 0 and 3. |
| 4 | index |
number, truncated to an unsigned integer | Which generic bar for kinds 1 and 3 (0-3). |
| 5 | value2 |
number (single precision) | Kind 2's second gauge value (+0x344); also passed for kind 1 (scripts pass 0). |
Returns nothing.
Sets how full a HUD bar is: kinds 0, 1 and 3 store the clamped fraction in the generic bar (+0x78, only when that bar
exists); kind 2 sets the chase gauge's value (fill), maximum (fill2) and minimum (value2). Kind 1 also writes
those three into the kind-2 gauge.
Notes. The kind-1 fall-through into the gauge is in 0x001b5450; it is harmless while no gauge is shown (inferred).
- Evidence: confirmed (code) at
0x001b5450,0x001c2530; detail: traced - Wrapper
0x0036f7f8(registered byRegisterBindings); calls0x001b5450HUD_SetBarPercentage,0x001c2530HudGenericBar_SetFill - Used by 28 of 467 script chunks (103 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 15 of 28 levels, first
level2(mission 5) - Coney: implemented
HUDSetBarProperty¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | index |
number, truncated to an unsigned integer | Generic bar slot (0-3, as HUDEnableBar's kinds 0, 1 and 3 fill them); ignored when that bar does not exist. |
| 2 | flag |
boolean (nil or 0 is false) | The red-to-green gradient flag (HudBar +0x60): true makes the fill colour follow the fill again at the next draw, replacing colour; false keeps colour. |
| 3 | colour |
table of 4 numbers (t[1]..t[4]) | Fill colour {r, g, b, a}, each 0-255 (the low byte is kept); written back unchanged. |
| 4 | width |
number (single precision) | Bar width as a fraction of the screen width (+0x40; × 0.7 when the HUD's layout flag 2 is set, inferred: widescreen). |
Returns nothing.
Sets a generic bar's fill colour (+0x68) and width, then rebuilds it. Scripts use it to recolour the Rumble and damage
bars made by HUDEnableBar kind 3.
- Evidence: confirmed (code) at
0x001b54f0,0x001c22b0; detail: traced - Wrapper
0x0036f8e8(registered byRegisterBindings); calls0x001b54f0HUD_SetBarProperty,0x001c22b0HudGenericBar_SetWidth - Used by 21 of 467 script chunks (39 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 14 of 28 levels, first
level2(mission 5) - Coney: implemented
HUDSetChaseHUDState_CREATE¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | n |
number, truncated to an unsigned integer | A number passed to the chase HUD. |
| 2 | label |
string | The chase HUD's label. |
Returns nothing.
Creates the chase HUD if it does not exist yet. No script calls it.
- Evidence: confirmed (code) at
0x001b4ab8; detail: brief - Wrapper
0x0036f558(registered byRegisterBindings); calls0x001b4ab8 - Used by no script on the disc
- Coney: not implemented
HUDSetChaseHUDState_DESTROY¶
No arguments.
Returns nothing.
Puts the chase HUD (the pursuit display widget at 0x00609e80) into state 6, its destroy state: the widget's own removal
(vtable slot +0x6c) runs. After it the chase HUD can be made again (HUDSetChaseHUDState_CREATE makes it only while
widget +0x0c is 0).
Notes. State 6 does not store the state (+0x44); what slot +0x6c frees is inferred from the name. Takes no
arguments.
- Evidence: confirmed (code) at
0x001b4a88,0x001a41b0; detail: traced - Wrapper
0x0036f538(registered byRegisterBindings); calls0x001b4a88ChaseHud_Destroy,0x001a41b0ChaseHud_SetState - Used by 2 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 2 of 28 levels, first
level3(mission 6) - Coney: implemented
HUDSetChaseHUDState_NORMAL¶
No arguments.
Returns nothing.
Puts the chase HUD (the pursuit distance display, object 0x00609e80) into its normal state. No script calls it.
- Evidence: confirmed (code) at
0x001b49f8; detail: brief - Wrapper
0x0036f468(registered byRegisterBindings); calls0x001b49f8 - Used by no script on the disc
- Coney: not implemented
HUDSetChaseHUDState_TIMEOUT¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | n |
number, truncated to an unsigned integer | A number passed to the chase HUD state change. |
| 2 | seconds |
number (single precision) | A time value; negated when positive is false. |
| 3 | positive |
boolean (nil or 0 is false) | false negates the time. |
| 4 | label |
string | Text shown by the chase HUD. |
Returns nothing.
Puts the chase HUD into its timeout state with a time and a label. No script calls it.
- Evidence: confirmed (code) at
0x001b4a28; detail: brief - Wrapper
0x0036f488(registered byRegisterBindings); calls0x001b4a28 - Used by no script on the disc
- Coney: not implemented
HUDSetInstArrowAnimSpeed¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | speed |
number, truncated to an unsigned integer | Animation speed value for the arrow. |
Returns nothing.
Sets the instruction arrow's animation speed. No script calls it.
- Evidence: confirmed (code) at
0x001b5cc8; detail: brief - Wrapper
0x0036fe90(registered byRegisterBindings); calls0x001b5cc8 - Used by no script on the disc
- Coney: implemented
HUDSetInstArrowColor¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | colour |
table of 3 numbers (t[1]..t[3]) | Table {r, g, b}, each 0-255 (alpha is always 255). |
Returns nothing.
Sets the instruction arrow's colour. No script calls it.
- Evidence: confirmed (code) at
0x001b5cf0; detail: brief - Wrapper
0x0036ffb8(registered byRegisterBindings); calls0x001b5cf0 - Used by no script on the disc
- Coney: not implemented
HUDSetInstArrowLocation¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of a world object; the arrow is placed over its screen position (raised 0.03). |
Returns nothing.
Moves the instruction arrow, either onto a world object or to a screen position. No script calls it.
Overload (registered first; the wrapper above checks its argument types and calls this one when they do not match): The two-number form places the arrow at a screen position; it is the fallback when the arguments do not match the one-handle form's type check.
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | x |
number (single precision) | Screen x fraction. |
| 2 | y |
number (single precision) | Screen y fraction. |
Returns nothing.
Wrapper 0x0036fec8; calls 0x001b5d38.
- Evidence: confirmed (code) at
0x001b5d78; detail: brief - Wrapper
0x0036ff40(registered byRegisterBindings); calls0x001b5d78 - Used by no script on the disc
- Coney: not implemented
HUDSetMissionFailedCallbacks¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onRetry |
string | Name of the Lua function (at most 31 characters kept) to call when the player retries from the mission-failed screen; nil clears it. |
Returns nothing.
Stores a Lua function name in the mission-failed menu (+0x7b0,
Pause). When the menu closes with its checkpoint choice (menu
+0x7a8), a stored name is called with no arguments instead of reloading the level: the game first restores player 1's
screen colour and blur when he is in state 0xc, clears game state +0x14c, resets the mission statistics (0x00422d00)
and resumes play. With no name the level is reloaded from its checkpoint as usual.
Notes. The close logic is confirmed (code) at 0x00155408; that +0x7a8 is the "Last checkpoint" item (and +0x7a4
Restart level, +0x7a0 Quit) is inferred from their effects. The name stays until replaced or cleared.
- Evidence: confirmed (code) at
0x001d1ff0,0x001d2398,0x00155408; detail: traced - Wrapper
0x0036f1e8(registered byRegisterBindings); calls0x001d1ff0,0x001d2398,0x00155408 - Used by 6 of 467 script chunks (15 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 4 of 28 levels, first
level93(mission 10) - Coney: not implemented
HUDSetNumIndicator¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an unsigned integer | 0 or 1 for a player HUD's indicator, 2 for the shared one. |
| 2 | on |
boolean (nil or 0 is false) | true shows the indicator. |
| 3 | gang |
number, truncated to an integer; default -1 | Gang id whose count it shows (default -1: none, which also forces it off). |
Returns nothing.
Shows a number indicator (the remaining members of a gang) on a player's HUD or the shared HUD, as Rumble brawls do.
- Evidence: confirmed (code) at
0x001b4438; detail: brief - Wrapper
0x00370138(registered byRegisterBindings); calls0x001b4438 - Used by 3 of 467 script chunks (9 references); boot to menu: no; mission 1: no; result used: no
- Coney: implemented
HUDSetObjective¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | slot |
number, truncated to an integer | Objective line: 0 or 1 (two objective slots; each has its own heading string). |
| 2 | text |
string | The objective text. |
| 3 | mode |
number, truncated to an integer | 0 set the objective (and announce it unless silent), 1 clear the slot, 2 mark it done (no message: it removes the objective's own message from the queue; slot 1 also shows the built-in Bonus complete announcement), 3 set and mark it without a message. |
| 4 | silent |
boolean (nil or 0 is false) | With mode 0, true sets the text without the message. |
| 5 | ms |
number, truncated to an unsigned integer; default 8000 | How long the message stays on screen, in milliseconds (default 8000). |
Returns nothing.
Sets, marks or clears one of the two objective lines in the HUD's checklist, with an optional message at the bottom left (GUI (0.025, 0.88), size 0.05, interface sound cue 0x11). It is the most-used HUD binding (global.lua's Objective helpers and most level scripts).
Notes. The mode-0 message is one string: the objective icon markup and a space, HUD colour slot 4 or 6, global
string 0xe5 or 0xe6 (which ends the line), then the text; a text whose leading tag names an icon (
- Evidence: confirmed (code) at
0x001dad88; detail: traced - Wrapper
0x0036f280(registered byRegisterBindings); calls0x001dad88HUD_SetObjective - Used by 149 of 467 script chunks (675 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 23 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDSetPHLabelFlashing¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | panel |
number, truncated to an integer | Panel index. |
| 2 | on |
boolean (nil or 0 is false) | true makes the label flash, false stops it (inferred from the name). |
Returns nothing.
Makes a counter panel's label flash. No script calls it.
- Evidence: inferred; detail: brief
- Wrapper
0x0036eb80(registered byRegisterBindings); calls0x001b4808 - Used by no script on the disc
- Coney: not implemented
HUDSetPHValue¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | panel |
number, truncated to an integer | Panel index returned by HUDGetNewPH. |
| 2 | field |
number, truncated to an integer | 1 sets the current value (and redraws), 2 sets the target value of a got / needed panel without redrawing. |
| 3 | value |
number (single precision) | The number to show (for a bar panel, the fill as a fraction 0-1). |
| 4 | show |
boolean (nil or 0 is false) | Scripts always pass true; passed on to the panel code, its effect is not traced. |
| 5 | ms |
number, truncated to an unsigned integer; default 3000 | How long the panel stays on screen after the change, in milliseconds (default 3000); 0 keeps it up. Scripts pass 4000000000 for forever. |
| 6 | sound |
boolean (nil or 0 is false) | true plays the menu bonus sound (vags/interface/menu/bonuspart_01) with the change. |
Returns nothing.
Changes a counter panel's value, redraws its text (or bar) and shows it for a while. Used for every objective counter in the game (global.lua's Objective and TagInfo helpers).
- Evidence: confirmed (code) at
0x001b47e0; detail: traced - Wrapper
0x0036ea78(registered byRegisterBindings); calls0x001b47e0HUD_PanelSetValue - Used by 53 of 467 script chunks (239 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 21 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDSetRadarItemTexture¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of an object that already has a blip. |
| 2 | icon |
number, truncated to an unsigned integer | Radar icon id (scripts use 27 and 28 for objective markers, 34 for items; icon 22 is drawn at 0.7 scale, icons 29-31 tinted green). |
| 3 | scale |
number (single precision); default 1 | Icon scale (default 1). |
| 4 | flag |
boolean (nil or 0 is false) | Icon lock (slot +0x34, 0x001c4640), set after the icon: while it is set, icon and scale changes to this blip are ignored (including this call's own icon when the lock was already set), so a locked blip keeps its icon until a call with false unlocks it and a further call changes it; scripts sometimes pass 1. |
Returns nothing.
Changes the icon (and scale) of an object's radar blip on both radars, then sets or clears its icon lock.
Notes. Corrected from earlier readings that took the fourth argument for a colour or tint: it is the blip's icon
lock (Radar_SetBlipIconLock, 0x001c4640), and no colour is involved. Coney stores the icon and scale but does not
yet keep the lock, so a locked blip's icon can still change in Coney.
- Evidence: confirmed (code) at
0x001b4038,0x001b2bf0; detail: traced - Wrapper
0x003708c8(registered byRegisterBindings); calls0x001b4038HUD_RadarSetIcon,0x001b2bf0HUD_RadarSetBlipIconLock - Used by 70 of 467 script chunks (154 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 22 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDSetRadarObjectFlash¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | object |
number, truncated to an unsigned integer | Handle of the human or object whose radar blip changes. |
| 2 | on |
boolean (nil or 0 is false) | true makes the blip flash; false or nil returns it to its steady mode. |
| 3 | n |
number, truncated to an unsigned integer | A value passed to the radar with the change (scripts pass 1 or omit it). |
Returns nothing.
Makes an object's radar blip flash, or stops it, on both radars.
- Evidence: confirmed (code) at
0x001b4298; detail: traced - Wrapper
0x00370690(registered byRegisterBindings); calls0x001b4298HUD_RadarFlash - Used by 9 of 467 script chunks (18 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 5 of 28 levels, first
level87(mission 3) - Coney: implemented
HUDSetRadarZoomScale¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | scale |
number (single precision) | Factor on the radius in metres the radar shows (1.0 by default); below 1 zooms in (scripts use 0.35 and 0.5), above 1 shows more of the map. |
Returns nothing.
Sets the zoom scale of both radars (radar +0x2920, the two globals 0x00604730 and 0x00607070). The radar's shown
radius eases toward (rest + (fast - rest) × min(speed, 12) / 12) × scale, so with the level99 values (50 m standing, 75
m at 12 m/s) a scale of 0.5 shows 25-37.5 m (HUD: radar zoom). The change eases in over a few
frames, not at once.
Notes. Nothing resets it per level as far as traced (inferred: scripts set it back to 1 themselves).
- Evidence: confirmed (code) at
0x001b40e0; detail: traced - Wrapper
0x00370728(registered byRegisterBindings); calls0x001b40e0HUD_SetRadarZoomScale - Used by 6 of 467 script chunks (8 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 3 of 28 levels, first
level81(mission 8) - Coney: implemented
HUDSetTextProgress¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | label |
string | The row's label, as given to HUDEnableTextProgress; a label no shown row has does nothing. |
| 2 | value |
number, truncated to an unsigned integer | The row's new score. |
| 3 | colour |
table of 3 numbers (t[1]..t[3]) | Table {r, g, b}, each 0-255, for the row's text; written back. |
| 4 | slot |
number, truncated to an unsigned integer; default 1 | Which recorded row count bounds the sort: 1 (default) the main count, 0 the second (see HUDEnableTextProgress). |
Returns nothing.
Finds the shown row whose label matches, sets its score and text colour and redraws it, then sorts the first count
rows by score, highest at the top, by swapping labels, scores and colours between rows (the row widgets stay in place).
Notes. The sort is a selection sort with ties keeping their order. Scores are unsigned, so a negative value sorts first.
- Evidence: confirmed (code) at
0x001b57c8; detail: traced - Wrapper
0x0036fb38(registered byRegisterBindings); calls0x001b57c8HUD_SetTextProgress - Used by 4 of 467 script chunks (16 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level92(flashback 2) - Coney: implemented
HUDSetTutorialCallback¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | name |
string | Name of the Lua function to call on each hit player 1 deals (for example P1.BasicAttacks); nil clears it. |
Returns nothing.
Sets the Lua function called each time player 1 lands a hit, or has one blocked, on a non-ally, with one argument: the attacker's current anim id (11 X1, 12 S1, ...). The first mission's combat tutorial counts the attacks with it. The call is synchronous, from the damage step (0x00265f70 -> 0x002653d8 -> 0x001ce9a8), on every hit until the name is cleared. The pointer is stored as given (0x006095f0), not interned.
Notes. Not tied to the hint text. Cleared only by nil or when the HUD is released at UnloadLevel. Player 2's hits do not call it. Because the name is not interned, the original relies on the script keeping the string alive (constants in a chunk are). Details: The in-game HUD.
- Evidence: confirmed (code) at
0x001b5e90; detail: traced - Wrapper
0x00370098(registered byRegisterBindings); calls0x001b5e90Tutorial_SetCallback - Used by 2 of 467 script chunks (20 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: implemented
HUDSetTutorialText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | text |
string | The hint text to show; nil clears the current hint when the game is not paused. |
| 2 | priority |
number, truncated to an unsigned integer; default 1 | Priority (default 1; the game's own hints use 2, action-object hints 0): lower numbers show first; a hint with a lower number than the one showing interrupts it, which goes back in the queue and restarts later; equal numbers wait in order. |
Returns nothing.
Queues a tutorial hint in the hint box (the text panel used by the tutorial and for gameplay tips).
Notes. The hint box is the object at 0x00609250: black at alpha 128 at the bottom left, text at GUI x 0.016,
interface sound cue 0x15 for each new hint; hidden while an objective message or an announcement shows. At most 20 hints
are held (more are dropped) and the text is kept by pointer. A hint stays until its own
- Evidence: confirmed (code) at
0x001b4980; detail: traced - Wrapper
0x0036f380(registered byRegisterBindings); calls0x001b4980Tutorial_QueueText - Used by 53 of 467 script chunks (244 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 22 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDShowMissionSelect¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onCancel |
string | Name of the Lua function called with no arguments when the player backs out (copied, at most 31 characters); nil for none. |
| 2 | onChoose |
string | Name of the Lua function called as onChoose(level, checkpoint) when the player picks a mission (copied, at most 31 characters); nil for none. |
Returns nothing.
Opens the clubhouse mission-select screen (game mode 0x10, pushed on the mode stack) unless it is already the current
mode; the world stops updating while it shows. On entry it loads the menu sound bank. When the player backs out, the
sound bank is loaded back and onCancel() is called; when the player picks an entry, onChoose(level, checkpoint) is
called with the entry's level number and its 1-based checkpoint.
Notes. The choice comes from 0x001bdd38: level = level record +0x14d8 of the entry's level index, checkpoint = entry +0x70 + 1; for a checkpoint above 1 it also calls 0x0041e040(W_GameState + 0x480, 1) and resets and re-copies the statistics (0x00422930, 0x00422c60) before the callback. Callbacks run through the script system by name, so dotted names work. The menu's list and layout are not traced.
- Evidence: confirmed (code) at
0x00155180,0x0015d5e0,0x0015d728; detail: traced - Wrapper
0x0036ec40(registered byRegisterBindings); calls0x00155180MissionSelect_Show,0x0015d5e0MissionSelect_SetCallbacks,0x0015d728MissionSelect_Exit - Used by 2 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: implemented
HUDShowMissionSummaryText¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | text |
string | Summary text. |
| 2 | n |
number, truncated to an unsigned integer | A number (scripts pass 4 or 6). |
Returns nothing.
Does nothing in this build: the function it calls (0x001b3878) returns at once.
Notes. global.lua still calls it after scenes; Coney can implement it as a no-op.
- Evidence: confirmed (code) at
0x001b4768; detail: traced - Wrapper
0x0036f0d0(registered byRegisterBindings); calls0x001b4768 - Used by 3 of 467 script chunks (3 references); boot to menu: yes; mission 1: yes; result used: no
- Later in the story: 26 of 28 levels, first
level80(mission 2) - Coney: implemented
HUDShowWarCommand¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | on |
boolean (nil or 0 is false); default true | true (the default when omitted) allows the Warrior-command display, false hides it. |
| 2 | player |
number, truncated to an unsigned integer | Player HUD index, 0 or 1 (default 0); not range-checked. |
Returns nothing.
Allows or forbids the Warrior-command display (the d-pad squad-order picture, HUD +0x1ef0) on one player's HUD: the
flag at element +0x155c (1 when the HUD is built) gates both its opening (0x001a6d28) and its drawing (0x001a8590).
Either call also closes the display's picture if it is open (0x001b9290), so false hides it at once and true only lets
it come up again when the player next calls for commands.
Notes. Used around scripted moments where squad orders must not be given; the per-command availability shown in the
display comes from game state +0x41e and is not set here.
- Evidence: confirmed (code) at
0x001b4948,0x001a6c38; detail: traced - Wrapper
0x0036e7f8(registered byRegisterBindings); calls0x001b4948HUD_ShowWarCommand,0x001a6c38WarCommandDisplay_SetAllowed - Used by 9 of 467 script chunks (32 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 3 of 28 levels, first
level87(mission 3) - Coney: implemented
HUDTurnOffActionCycleAnim¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an unsigned integer | Player index (0 or 1) whose action prompt stops cycling. |
Returns nothing.
Stops the icon cycle that HUDTurnOnActionCycleAnim started on a player's action prompt (clears the prompt's cycle flag +0x45c); the prompt goes back to its normal, steady icon.
Notes. Only the flag is cleared: the icon last shown and its visibility stay until the prompt next sets them.
- Evidence: confirmed (code) at
0x001b5ae0,0x0019f320; detail: traced - Wrapper
0x0036fd98(registered byRegisterBindings); calls0x001b5ae0HUD_TurnOffActionCycleAnim,0x0019f320ActionPrompt_StopCycle - Used by 8 of 467 script chunks (27 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 6 of 28 levels, first
level95(the hub) - Coney: implemented
HUDTurnOffRadar¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an integer; default 2 | 0 or 1 for one player's radar, 2 (the default) for both. |
Returns nothing.
Hides the radar for one or both players.
Notes. Also clears HUD +0x177ac, so the radars do not come back on their own after a scene's letterbox; HUD_Update turns both back on when no letterbox or fade runs, +0x177ac is set and +0x177b0 is 0. Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b43a8; detail: traced - Wrapper
0x00370100(registered byRegisterBindings); calls0x001b43a8HUD_RadarOff - Used by 67 of 467 script chunks (121 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 15 of 28 levels, first
level95(the hub) - Coney: implemented
HUDTurnOnActionCycleAnim¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | framesPerIcon |
number, truncated to an unsigned integer | HUD updates each icon stays before switching to the other (scripts pass 3 or 4); 0 crashes the update (division by zero). |
| 2 | seconds |
number (single precision) | Ignored: the callee overwrites it with a fixed 0.1 (scripts pass 0.1 or 0.15). |
| 3 | blinkFrames |
number, truncated to an unsigned integer | The icon shows for this many HUD updates, then hides for as many (scripts pass 2 or 6); 0 means no blinking. |
| 4 | iconA |
number, truncated to an unsigned integer | First button sprite word of the cycle (scripts pass 73 or 79). |
| 5 | iconB |
number, truncated to an unsigned integer | Second button sprite word. |
| 6 | player |
number, truncated to an unsigned integer | Player index (0 or 1): which player's action prompt (HUD +0x6b40 + player × 0x590). |
Returns nothing.
Animates a player's action-prompt icon as a press this button hint: the icon alternates between two button sprites
every framesPerIcon HUD updates and blinks on and off every blinkFrames updates, until HUDTurnOffActionCycleAnim.
The scripts use it for the mash prompts in chases, fights and workouts.
Notes. Stores the two icons at prompt +0x440/+0x444, the rates at +0x448 and +0x458, sets the cycle flag +0x45c and hides the prompt widget until its next update; the icon sprite (+0x480) is set up with a fixed size 0.1. The cycle runs in ActionPrompt_Update (HUD: action prompts), so it shows only while that player's prompt itself is shown.
- Evidence: confirmed (code) at
0x001b5a90,0x0019f270,0x0019f328; detail: traced - Wrapper
0x0036fc80(registered byRegisterBindings); calls0x001b5a90HUD_TurnOnActionCycleAnim,0x0019f270ActionPrompt_StartCycle,0x0019f328ActionPrompt_UpdateCycle - Used by 7 of 467 script chunks (13 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 6 of 28 levels, first
level95(the hub) - Coney: implemented
HUDTurnOnRadar¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | player |
number, truncated to an integer; default 2 | 0 or 1 for one player's radar, 2 (the default) for both. |
Returns nothing.
Shows the radar (minimap) for one or both players.
Notes. Also sets HUD +0x177ac (0x00617fec, the radars come back on their own after a letterbox) and +0x177b0, for both players whichever one is named. Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b4328; detail: traced - Wrapper
0x003700c8(registered byRegisterBindings); calls0x001b4328HUD_RadarOn - Used by 52 of 467 script chunks (87 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 15 of 28 levels, first
level80(mission 2) - Coney: implemented
PreloadCredits¶
No arguments.
Returns nothing.
Prepares the end credits (the HUD's credits element at HUD 0x00600840 + 0xea30): allocates the credit list
(0x0050d340) and its string cache, runs the script credits.lua (whose CfgCredits calls fill the list), and creates the
70 text widgets the scroll reuses. Called by level84_end ahead of ShowCredits.
Notes. Sets the element's loaded flag (+0x44) and a duration-like field +0x16c to 8000 (ms, inferred); scroll
fields +0x170-+0x18c are set here but their use is not traced. Calling it twice allocates again.
- Evidence: confirmed (code) at
0x001b5fb0,0x001b38b8,0x001a9130; detail: traced - Wrapper
0x0036ee08(registered byRegisterBindings); calls0x001b5fb0,0x001b38b8,0x001a9130Credits_Load - Used by 2 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level84(mission 18) - Coney: implemented
RestoreHud¶
No arguments.
Returns nothing.
Shows the whole HUD again after HideHud: each player panel that may show, each radar that is on, the score board when enabled; a radar turned off stays off.
Notes. The engine also calls it when a letterbox finishes going out (so after every cinematic scene), when play resumes after the pause menu, and after the wasted/busted camera. Behaviour: The in-game HUD.
- Evidence: confirmed (code) at
0x001b3f78; detail: traced - Wrapper
0x00370cc0(registered byRegisterBindings); calls0x001b3f78HUD_ShowAll - Used by 82 of 467 script chunks (199 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 26 of 28 levels, first
level80(mission 2) - Coney: implemented
ShowCredits¶
No arguments.
Returns nothing.
Starts the end-credits scroll on the HUD (called by level84_end): if PreloadCredits has loaded them and they are not
already running, the credits element is marked running (+0xc = 1, +0x10 = 0) with the current time (+0x168) as its
start.
Notes. Does nothing without PreloadCredits first. The update and drawing of the scroll (speed, end) are not traced.
- Evidence: confirmed (code) at
0x001b5fd0,0x001b38d8,0x001a9480; detail: traced - Wrapper
0x0036ee28(registered byRegisterBindings); calls0x001b5fd0,0x001b38d8,0x001a9480Credits_Start - Used by 1 of 467 script chunks (1 reference); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level84(mission 18) - Coney: implemented
ShowGameStatsInterface¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onClose |
string | Name of the Lua function called with no arguments when the screen closes (interned through the script system); nil for none. |
Returns nothing.
Opens the game statistics screen (game mode 0x13, pushed on the mode stack) unless it is already the current mode; the
world stops updating while it shows. When the player closes it, the sound bank is loaded back and onClose() is
called.
Notes. The interned name is kept in a global (0x005e57d0), so a second call replaces the first's callback. What the screen lists (the statistics categories, inferred) and its enter path (vtable 0x005384c8) are not traced.
- Evidence: confirmed (code) at
0x001551e0,0x001594e0,0x00159630; detail: traced - Wrapper
0x0036ec98(registered byRegisterBindings); calls0x001551e0GameStats_Show,0x001594e0GameStats_SetCloseCallback,0x00159630GameStats_Exit - Used by 2 of 467 script chunks (2 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: implemented
ShowHud¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | n |
number, truncated to an integer | Ignored. |
Returns nothing.
Does nothing in this build: the function it calls (0x001b3ec8) returns at once. Use RestoreHud to show the HUD.
Notes. level99's Main calls ShowHud(0) then RestoreHud().
- Evidence: confirmed (code) at
0x001b3ec8; detail: traced - Wrapper
0x00370c68(registered byRegisterBindings); calls0x001b3ec8 - Used by 5 of 467 script chunks (5 references); boot to menu: no; mission 1: yes; result used: no
- Later in the story: 4 of 28 levels, first
level34(mission 4) - Coney: implemented
ShowOptionMenu¶
No arguments.
Returns nothing.
Sets the game state's options-menu request flag (W_GameState + 0x11c = 1). No script calls it.
Notes. What reads the flag is not traced.
- Evidence: confirmed (code) at
0x0041dd78; detail: brief - Wrapper
0x0036c238(registered byRegisterBindings); calls0x0041dd78GameState_RequestOptionMenu - Used by no script on the disc
- Coney: not implemented
ShowPlayerHud¶
No arguments.
Returns nothing.
Lets both players' status panels show again (sets each panel's may show flag +0x4108) and shows each one that is
attached to a player; the usual fade after inactivity then applies.
Notes. Panel calls 0x0020dfe0(panel, 1) then 0x0020e008; a panel not attached to a player stays hidden.
- Evidence: confirmed (code) at
0x001b3f10,0x001b2088; detail: traced - Wrapper
0x00370d00(registered byRegisterBindings); calls0x001b3f10HUD_ShowPlayerPanels,0x001b2088 - Used by 3 of 467 script chunks (4 references); boot to menu: no; mission 1: no; result used: no
- Later in the story: 3 of 28 levels, first
level95(the hub) - Coney: implemented
ShowProfileManager¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onQuickRumble |
string | Name of the Lua function the main menu calls for QUICK RUMBLE (level100 passes Menu.fadeToRMI). |
| 2 | onStartGame |
string | Name of the Lua function called when a story game is started (Menu.startGame). |
Returns nothing.
Opens the profile manager, the front end's menu flow (game mode 0x12), unless it is already on top, keeping both callback names interned. The menus end when a screen sets the done flag (0x0050f5b0); the mode then fades out over 1.0 s and calls the second callback. See Front end.
- Evidence: confirmed (code) at
0x001552b0; detail: traced - Wrapper
0x0036eef8(registered byRegisterBindings); calls0x001552b0ProfileManager_Show - Used by 2 of 467 script chunks (2 references); boot to menu: yes; mission 1: no; result used: no
- Coney: implemented
ShowRumbleModeInterface¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onCancel |
string | Name of the Lua function called when the player backs out of the Rumble menu. |
| 2 | onStart |
string | Name of the Lua function called with the chosen Rumble level number when a match starts. |
| 3 | fromFrontEnd |
number, truncated to an unsigned integer | 1 when opened from the main menu (level100), 0 when opened in game (clubhouse, level101); any other value leaves the previous setting. |
Returns nothing.
Opens the Rumble mode set-up menu (game mode 0x11) unless it is already open, keeping both callback names (interned, so they are looked up by name when they fire).
Notes. The names go to 0x005e67c0 / 0x005e67c4; the 0/1 flag to 0x0063ef64.
- Evidence: confirmed (code) at
0x00155228; detail: traced - Wrapper
0x0036ecc8(registered byRegisterBindings); calls0x00155228RumbleMenu_Show - Used by 37 of 467 script chunks (71 references); boot to menu: yes; mission 1: no; result used: no
- Later in the story: 1 of 28 levels, first
level95(the hub) - Coney: partial
ShowRumbleModeIntro¶
| # | Argument | Read as | Meaning |
|---|---|---|---|
| 1 | onDone |
string | Name of the Lua function called when the intro finishes. |
| 2 | names |
table of 10 strings (t[1]..t[10]) | Table of up to 10 strings (the two gang names first, the rest empty in the scripts). |
Returns nothing.
Shows the Rumble match introduction: the names one by one with the announcer, a prompt the player confirms, then a 3-2-1
countdown, after which onDone is called.
Notes. Opens the HUD's RM_Intro screen (0x001f9418, 0x001f9558; update 0x001fad40). Behaviour: Rumble.
- Evidence: confirmed (code) at
0x001b5f88; detail: brief - Wrapper
0x0036ed48(registered byRegisterBindings); calls0x001b5f88 - Used by 33 of 467 script chunks (33 references); boot to menu: no; mission 1: no; result used: no
- Coney: implemented