LUA List: Difference between revisions
Content added Content deleted
(Fix section links.) |
(Renamed variables to modifiers. Added infobox and normalized some content.) |
||
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 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 |
The information held includes details of the challenge itself, such as its name and goal, as well as modifiers. |
||
= Structures = |
= 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. |
||
=== BrnLUA::LUAListResource === |
=== BrnLUA::LUAListResource === |
||
==== 32-bit ==== |
==== 32-bit ==== |
||
Line 10: | Line 20: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! 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 || Encoded |
| 0x8 || 0x8 || [[CgsID]] || ? || List ID || Encoded |
||
|- |
|- |
||
| 0x10 || 0x4 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || || Entry data start || |
| 0x10 || 0x4 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || ? || Entry data start || |
||
|- |
|- |
||
| 0x14 || 0x4 || char** || || Types || See [[#Challenge type|challenge type]] |
| 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 || |
||
|} |
|} |
||
Line 37: | Line 47: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! 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 || Encoded |
| 0x8 || 0x8 || [[CgsID]] || ? || List ID || Encoded |
||
|- |
|- |
||
| 0x10 || 0x8 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || || Entry data start || |
| 0x10 || 0x8 || [[#BrnLUA::LUAListEntry|LUAListEntry]]* || ? || Entry data start || |
||
|- |
|- |
||
| 0x18 || 0x8 || char** || || Types || See [[#Challenge type|challenge types]] |
| 0x18 || 0x8 || char** || ? || Types || See [[#Challenge type|challenge types]] |
||
|- |
|- |
||
| 0x20 || 0x8 || char** || || |
| 0x20 || 0x8 || char** || ? || Modifiers || See [[#Modifiers|modifiers]] |
||
|- |
|- |
||
| 0x28 || 0x4 || uint32_t || || |
| 0x28 || 0x4 || uint32_t || ? || Number of scripts || |
||
|- |
|- |
||
| 0x2C || 0x4 || uint32_t || || |
| 0x2C || 0x4 || uint32_t || ? || Resource size || |
||
|- |
|- |
||
| 0x30 || 0x80 || char[128] || || List title || |
| 0x30 || 0x80 || char[128] || ? || List title || |
||
|- |
|- |
||
| 0xB0 || 0x1 || uint8_t || || |
| 0xB0 || 0x1 || uint8_t || ? || Number of types || |
||
|- |
|- |
||
| 0xB1 || 0x1 || uint8_t || || |
| 0xB1 || 0x1 || uint8_t || ? || Number of modifiers || |
||
|} |
|} |
||
Line 64: | Line 74: | ||
! Offset !! Length !! Type !! Name !! Description !! Comments |
! Offset !! Length !! Type !! Name !! Description !! Comments |
||
|- |
|- |
||
| 0x0 || 0x8 || [[CgsID]] || || Script ID || Encoded |
| 0x0 || 0x8 || [[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 |
||
|- |
|- |
||
| 0x88 || 0x80 || char[128] || || Goal || |
| 0x88 || 0x80 || char[128] || ? || Goal || |
||
|- |
|- |
||
| 0x108 || 0x100 || char[256] || || Description || |
| 0x108 || 0x100 || char[256] || ? || Description || |
||
|- |
|- |
||
| 0x208 || 0x4 || uint32_t || || Score multiplier || See [[#Score multiplier|score multiplier]] |
| 0x208 || 0x4 || uint32_t || ? || Score multiplier || See [[#Score multiplier|score multiplier]] |
||
|- |
|- |
||
| 0x20C || 0x4 || uint32_t || || Scoring method || See [[#Scoring method|scoring method]] |
| 0x20C || 0x4 || uint32_t || ? || Scoring method || See [[#Scoring method|scoring method]] |
||
|- |
|- |
||
| 0x210 || 0x4 || uint32_t || || Type || |
| 0x210 || 0x4 || uint32_t || ? || Type || |
||
|- |
|- |
||
| 0x214 || 0x4 || uint32_t || || |
| 0x214 || 0x4 || uint32_t || ? || Modifiers || |
||
|- |
|- |
||
| 0x218 || 0x8 || || || |
| 0x218 || 0x8 || || || Padding || |
||
|} |
|} |
||
Line 86: | Line 96: | ||
=== Challenge type === |
=== Challenge type === |
||
PASSTHEPAD is the only list to contain challenge types. |
PASSTHEPAD is the only list to contain challenge types. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|||
! Name !! Value !! Comments |
! Name !! Value !! Comments |
||
|- |
|- |
||
Line 97: | Line 107: | ||
|} |
|} |
||
=== |
=== Modifer === |
||
PASSTHEPAD is the only list to contain |
PASSTHEPAD is the only list to contain modifiers. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|||
! Name !! Value !! Comments |
! Name !! Value !! Comments |
||
|- |
|- |
||
Line 118: | Line 128: | ||
=== Score multiplier === |
=== Score multiplier === |
||
PASSTHEPAD is the only list to use multipliers, and only on Stunt challenges. |
PASSTHEPAD is the only list to use multipliers, and only on Stunt challenges. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|||
! Name !! Value !! Comments |
! Name !! Value !! Comments |
||
|- |
|- |
||
Line 131: | Line 141: | ||
=== Scoring method === |
=== Scoring method === |
||
PASSTHEPAD is the only list to use success/fail scoring, and only on Stunt challenges. All Stunt challenges use this. |
PASSTHEPAD is the only list to use success/fail scoring, and only on Stunt challenges. All Stunt challenges use this. |
||
{| class="wikitable" |
{| class="wikitable" |
||
|- |
|||
! Name !! Value !! Comments |
! Name !! Value !! Comments |
||
|- |
|- |
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 |