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
Some names are given for clarity and are not official Criterion identifiers.
BrnLUA::LUAListResource
32-bit
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 Types | |
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
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 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
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
Challenge Type
PASSTHEPAD is the only list to contain challenge types.
Name | Value | Comments |
---|---|---|
Stunt | 0x1 | |
Skill | 0x2 | |
Speed | 0x4 |
Variables
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
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
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 |