LUA List: Difference between revisions
Content added Content deleted
(Created page with "=== Lua List === {| class="wikitable" ! Offset !! Size !! Type !! Name !! Description !! More Information !! Comments |- | 0x0 || 0x4 || int32_t || || Version number || 1 || |- | 0x4 || 0x4 || || || padding || || |- | 0x8 || 0x8 || CgsID || || List ID || || Encoded |- | 0x10 || 0x4 || Unk0 * || || Script list || Unk0 format || |- | 0x14 || 0x4 || char[32] * * || || Types || || |- | 0x18 || 0x4 || char[32] * * || || Variables || || |- | 0x1C || 0x4 || uin...") |
(Renamed variables to modifiers. Added infobox and normalized some content.) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{ParadiseResourceTypeInfobox |
|||
⚫ | |||
| name = LUAList |
|||
| othernames = LUAInst |
|||
| resourcenames = Dev<br />IslandPack<br />PassThePad |
|||
| id = 0x10025 |
|||
| category = Game-specific<br />(Burnout Paradise) |
|||
| memdist = Main Memory only |
|||
}} |
|||
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. |
|||
= Structures = |
|||
Some names are given for clarity and are not official Criterion identifiers. |
|||
=== BrnLUA::LUAListResource === |
|||
⚫ | |||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x4 || int32_t || || Version number || 1 |
| 0x0 || 0x4 || int32_t || ? || Version number || 1 |
||
|- |
|- |
||
| 0x4 || 0x4 || || || |
| 0x4 || 0x4 || || || Padding || |
||
|- |
|- |
||
| 0x8 || 0x8 || CgsID || || List ID |
| 0x8 || 0x8 || [[CgsID]] || ? || List ID || Encoded |
||
|- |
|- |
||
| 0x10 || 0x4 || |
| 0x10 || 0x4 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || ? || Entry data start || |
||
|- |
|- |
||
| 0x14 || 0x4 || char |
| 0x14 || 0x4 || char** || ? || Types || See [[#Challenge type|challenge type]] |
||
|- |
|- |
||
| 0x18 || 0x4 || char |
| 0x18 || 0x4 || char** || ? || Modifiers || See [[#Modifiers|modifiers]] |
||
|- |
|- |
||
| 0x1C || 0x4 || uint32_t || || |
| 0x1C || 0x4 || uint32_t || ? || Number of scripts || |
||
|- |
|- |
||
| 0x20 || 0x4 || uint32_t || || |
| 0x20 || 0x4 || uint32_t || ? || Resource size || |
||
|- |
|- |
||
| 0x24 || 0x80 || char[128] || || List title |
| 0x24 || 0x80 || char[128] || ? || List title || |
||
|- |
|- |
||
| 0xA4 || 0x1 || uint8_t || || |
| 0xA4 || 0x1 || uint8_t || ? || Number of types || |
||
|- |
|- |
||
| 0xA5 || 0x1 || uint8_t || || |
| 0xA5 || 0x1 || uint8_t || ? || Number of modifiers || |
||
|} |
|} |
||
=== |
==== 64-bit ==== |
||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 0x0 || 0x4 || int32_t || ? || Version number || 1 |
||
|- |
|- |
||
| |
| 0x4 || 0x4 || || || Padding || |
||
|- |
|- |
||
| |
| 0x8 || 0x8 || [[CgsID]] || ? || List ID || Encoded |
||
|- |
|- |
||
| |
| 0x10 || 0x8 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || ? || Entry data start || |
||
|- |
|- |
||
| |
| 0x18 || 0x8 || char** || ? || Types || See [[#Challenge type|challenge types]] |
||
|- |
|- |
||
| |
| 0x20 || 0x8 || char** || ? || Modifiers || See [[#Modifiers|modifiers]] |
||
|- |
|- |
||
| |
| 0x28 || 0x4 || uint32_t || ? || Number of scripts || |
||
|- |
|- |
||
| |
| 0x2C || 0x4 || uint32_t || ? || Resource size || |
||
|- |
|- |
||
| || || || || |
| 0x30 || 0x80 || char[128] || ? || List title || |
||
|- |
|- |
||
| || || || || |
| 0xB0 || 0x1 || uint8_t || ? || Number of types || |
||
|- |
|- |
||
| |
| 0xB1 || 0x1 || uint8_t || ? || Number of modifiers || |
||
⚫ | |||
| || || || || || 0x2 (Bit 1) = BOOST_LOCKED || |
|||
⚫ | |||
| || || || || || 0x4 (Bit 2) = DO_NOT_CRASH || |
|||
|- |
|||
| || || || || || 0x8 (Bit 3) = DO_NOT_TOUCH_A_WALL || |
|||
|- |
|||
| || || || || || 0x10 (Bit 4) = REVERSE_STEERING || |
|||
|- |
|||
| || || || || || 0x20 (Bit 5) = NO_BRAKES || |
|||
|- |
|||
| 0x218 || 0x8 || || || padding || || |
|||
|} |
|} |
||
== |
=== BrnLUA::LUAListEntry === |
||
=== LuaList === |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Offset !! |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || |
| 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|score multiplier]] |
||
|- |
|- |
||
| |
| 0x20C || 0x4 || uint32_t || ? || Scoring method || See [[#Scoring method|scoring method]] |
||
|- |
|- |
||
| |
| 0x210 || 0x4 || uint32_t || ? || Type || |
||
|- |
|- |
||
| |
| 0x214 || 0x4 || uint32_t || ? || Modifiers || |
||
|- |
|- |
||
| |
| 0x218 || 0x8 || || || Padding || |
||
|- |
|||
| 0xB0 || 0x1 || uint8_t || || Num types || || |
|||
|- |
|||
| 0xB1 || 0x1 || uint8_t || || Num variables || || |
|||
|} |
|} |
||
⚫ | |||
= Enumerations = |
|||
=== Challenge type === |
|||
PASSTHEPAD is the only list to contain challenge types. |
|||
{| class="wikitable" |
{| class="wikitable" |
||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| Stunt || 0x1 || |
|||
| 0x0 || 0x8 || CgsID || || Script ID || || Encoded |
|||
|- |
|- |
||
| Skill || 0x2 || |
|||
| 0x8 || 0x80 || char[128] || || Name || || Non-zeroed padding in all strings |
|||
|- |
|- |
||
| Speed || 0x4 || |
|||
| 0x88 || 0x80 || char[128] || || Goal || || |
|||
⚫ | |||
⚫ | |||
PASSTHEPAD is the only list to contain modifiers. |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| $K_ACCELERATOR_LOCKED || 0x1 || English translation: ACCELERATOR LOCKED ON |
|||
| 0x108 || 0x80 || char[128] || || Description || || |
|||
|- |
|- |
||
| $K_BOOST_LOCKED || 0x2 || English translation: BOOST LOCKED ON |
|||
| 0x188 || 0x80 || char[128] || || ? || || Empty |
|||
|- |
|- |
||
| |
| $K_DO_NOT_CRASH || 0x4 || English translation: DON'T CRASH |
||
|- |
|- |
||
| $K_DO_NOT_TOUCH_A_WALL || 0x8 || English translation: DON'T TOUCH A WALL |
|||
| 0x20C || 0x4 || uint32_t || || ? || 1 if Stunt type, else 0 || |
|||
|- |
|- |
||
| $K_REVERSE_STEERING || 0x10 || English translation: REVERSE STEERING |
|||
| 0x210 || 0x4 || uint32_t || || Type || 0x1 (Bit 0) = Stunt || |
|||
|- |
|- |
||
| $K_NO_BRAKES || 0x20 || English translation: NO BRAKES |
|||
| || || || || || 0x2 (Bit 1) = Skill || |
|||
⚫ | |||
=== Score multiplier === |
|||
PASSTHEPAD is the only list to use multipliers, and only on Stunt challenges. |
|||
{| class="wikitable" |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| ? || 0 || Standard points |
|||
| || || || || || 0x4 (Bit 2) = Speed || |
|||
|- |
|- |
||
| ? || 1 || Double points |
|||
| 0x214 || 0x4 || uint32_t || || Variables || 0x1 (Bit 0) = ACCELERATOR_LOCKED || |
|||
|- |
|- |
||
| ? || 2 || Triple points |
|||
| || || || || || 0x2 (Bit 1) = BOOST_LOCKED || |
|||
| |
|} |
||
| || || || || || 0x4 (Bit 2) = DO_NOT_CRASH || |
|||
=== Scoring method === |
|||
|- |
|||
PASSTHEPAD is the only list to use success/fail scoring, and only on Stunt challenges. All Stunt challenges use this. |
|||
| || || || || || 0x8 (Bit 3) = DO_NOT_TOUCH_A_WALL || |
|||
|- |
|||
{| class="wikitable" |
|||
| || || || || || 0x10 (Bit 4) = REVERSE_STEERING || |
|||
! Name !! Value !! Comments |
|||
|- |
|- |
||
| ? || 0 || Score by position |
|||
| || || || || || 0x20 (Bit 5) = NO_BRAKES || |
|||
|- |
|- |
||
| |
| ? || 1 || Score by success/fail |
||
|} |
|} |
Latest revision as of 21:58, 4 October 2023
LUAList | |
---|---|
aka LUAInst | |
Resource names | Dev IslandPack PassThePad |
Type ID | 0x10025 |
Category | Game-specific (Burnout Paradise) |
Memory distribution |
Main Memory only |
Editor available? |
No |
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.
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 challenge type |
0x18 | 0x4 | char** | ? | Modifiers | See modifiers |
0x1C | 0x4 | uint32_t | ? | Number of scripts | |
0x20 | 0x4 | uint32_t | ? | Resource size | |
0x24 | 0x80 | char[128] | ? | List title | |
0xA4 | 0x1 | uint8_t | ? | Number of types | |
0xA5 | 0x1 | uint8_t | ? | Number of modifiers |
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 challenge types |
0x20 | 0x8 | char** | ? | Modifiers | See modifiers |
0x28 | 0x4 | uint32_t | ? | Number of scripts | |
0x2C | 0x4 | uint32_t | ? | Resource size | |
0x30 | 0x80 | char[128] | ? | List title | |
0xB0 | 0x1 | uint8_t | ? | Number of types | |
0xB1 | 0x1 | uint8_t | ? | Number of modifiers |
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 | ? | Modifiers | |
0x218 | 0x8 | Padding |
Enumerations
Challenge type
PASSTHEPAD is the only list to contain challenge types.
Name | Value | Comments |
---|---|---|
Stunt | 0x1 | |
Skill | 0x2 | |
Speed | 0x4 |
Modifer
PASSTHEPAD is the only list to contain modifiers.
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 |