LUA List
The LUA List resource type contains binary data detailing the challenges in individual LUA Script resources. It is used in scripted challenges such as Party Pack challenges.
The information held includes details of the challenge itself, such as its name and goal, as well as modifiers such as the variables.
Structures[edit | edit source]
Some names are given for clarity and are not official Criterion identifiers.
BrnLUA::LUAListResource[edit | edit source]
32-bit[edit | edit source]
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | Version number | 1 | |
0x4 | 0x4 | padding | |||
0x8 | 0x8 | CgsID | List ID | Encoded | |
0x10 | 0x4 | LUAListEntry* | Entry data start | ||
0x14 | 0x4 | char** | Types | See challenge type | |
0x18 | 0x4 | char** | Variables | See variables | |
0x1C | 0x4 | uint32_t | Num scripts | ||
0x20 | 0x4 | uint32_t | Data length | Not including padding to end | |
0x24 | 0x80 | char[128] | List title | ||
0xA4 | 0x1 | uint8_t | Num types | ||
0xA5 | 0x1 | uint8_t | Num variables |
64-bit[edit | edit source]
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x4 | int32_t | Version number | 1 | |
0x4 | 0x4 | padding | |||
0x8 | 0x8 | CgsID | List ID | Encoded | |
0x10 | 0x8 | LUAListEntry* | Entry data start | ||
0x18 | 0x8 | char** | Types | See challenge types | |
0x20 | 0x8 | char** | Variables | See variables | |
0x28 | 0x4 | uint32_t | Num scripts | ||
0x2C | 0x4 | uint32_t | Data length | Not including padding to end | |
0x30 | 0x80 | char[128] | List title | ||
0xB0 | 0x1 | uint8_t | Num types | ||
0xB1 | 0x1 | uint8_t | Num variables |
BrnLUA::LUAListEntry[edit | edit source]
Offset | Length | Type | Name | Description | Comments |
---|---|---|---|---|---|
0x0 | 0x8 | CgsID | Script ID | Encoded | |
0x8 | 0x80 | char[128] | Name | Non-zeroed padding in all strings | |
0x88 | 0x80 | char[128] | Goal | ||
0x108 | 0x100 | char[256] | Description | ||
0x208 | 0x4 | uint32_t | Score multiplier | See score multiplier | |
0x20C | 0x4 | uint32_t | Scoring method | See scoring method | |
0x210 | 0x4 | uint32_t | Type | ||
0x214 | 0x4 | uint32_t | Variables | ||
0x218 | 0x8 | padding |
Enumerations[edit | edit source]
Challenge type[edit | edit source]
PASSTHEPAD is the only list to contain challenge types.
Name | Value | Comments |
---|---|---|
Stunt | 0x1 | |
Skill | 0x2 | |
Speed | 0x4 |
Variables[edit | edit source]
PASSTHEPAD is the only list to contain variables.
Name | Value | Comments |
---|---|---|
$K_ACCELERATOR_LOCKED | 0x1 | English translation: ACCELERATOR LOCKED ON |
$K_BOOST_LOCKED | 0x2 | English translation: BOOST LOCKED ON |
$K_DO_NOT_CRASH | 0x4 | English translation: DON'T CRASH |
$K_DO_NOT_TOUCH_A_WALL | 0x8 | English translation: DON'T TOUCH A WALL |
$K_REVERSE_STEERING | 0x10 | English translation: REVERSE STEERING |
$K_NO_BRAKES | 0x20 | English translation: NO BRAKES |
Score multiplier[edit | edit source]
PASSTHEPAD is the only list to use multipliers, and only on Stunt challenges.
Name | Value | Comments |
---|---|---|
? | 0 | Standard points |
? | 1 | Double points |
? | 2 | Triple points |
Scoring method[edit | edit source]
PASSTHEPAD is the only list to use success/fail scoring, and only on Stunt challenges. All Stunt challenges use this.
Name | Value | Comments |
---|---|---|
? | 0 | Score by position |
? | 1 | Score by success/fail |