LUA List: Difference between revisions
Content added Content deleted
m (Table normalization) |
m (Conform to format documentation guidelines.) |
||
Line 3: | Line 3: | ||
The information held includes details of the challenge itself, such as its name and goal, as well as modifiers such as the variables. |
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. |
Some names are given for clarity and are not official Criterion identifiers. |
||
=== LuaList === |
=== LuaList === |
||
Line 14: | Line 14: | ||
| 0x4 || 0x4 || || || padding || |
| 0x4 || 0x4 || || || padding || |
||
|- |
|- |
||
| 0x8 || 0x8 || CgsID || || List ID || Encoded |
| 0x8 || 0x8 || [[Common Data Types (Burnout Paradise)#CgsID | CgsID]] || || List ID || Encoded |
||
|- |
|- |
||
| 0x10 || 0x4 || Entry* || || Entry data start || |
| 0x10 || 0x4 || [[#Entry | Entry]]* || || Entry data start || |
||
|- |
|- |
||
| 0x14 || 0x4 || char** || || Types || See [[#Types | Types]] |
| 0x14 || 0x4 || char** || || Types || See [[#Types | Types]] |
||
Line 41: | Line 41: | ||
| 0x4 || 0x4 || || || padding || |
| 0x4 || 0x4 || || || padding || |
||
|- |
|- |
||
| 0x8 || 0x8 || CgsID || || List ID || Encoded |
| 0x8 || 0x8 || [[Common Data Types (Burnout Paradise)#CgsID | CgsID]] || || List ID || Encoded |
||
|- |
|- |
||
| 0x10 || 0x8 || Entry* || || Entry data start || |
| 0x10 || 0x8 || [[#Entry | Entry]]* || || Entry data start || |
||
|- |
|- |
||
| 0x18 || 0x8 || char** || || Types || See [[#Types | Types]] |
| 0x18 || 0x8 || char** || || Types || See [[#Types | Types]] |
||
Line 64: | Line 64: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x8 || CgsID || || Script ID || Encoded |
| 0x0 || 0x8 || [[Common Data Types (Burnout Paradise)#CgsID | CgsID]] || || Script ID || Encoded |
||
|- |
|- |
||
| 0x8 || 0x80 || char[128] || || Name || Non-zeroed padding in all strings |
| 0x8 || 0x80 || char[128] || || Name || Non-zeroed padding in all strings |
Revision as of 06:14, 14 August 2022
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.
LuaList
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 | Entry* | 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 | Entry* | 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 |
Entry
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 |