PARAM tables and regulation
A PARAM is a numbered table of fixed-width rows. The file names its param type and data version, but does not carry the definitions of individual row fields. Paramdex supplies community definitions of those fields for each game and revision. Sourced · Paramdex
| Game | Container | Confidence |
|---|---|---|
| Sekiro | param/gameparam/gameparam.parambnd.dcx in the archives |
Observed · Sekiro |
| Elden Ring | regulation.bin beside the executable |
Observed · Elden Ring |
Shared PARAM envelope
Section titled “Shared PARAM envelope”Both games’ params use little-endian integers, 64-bit row offsets, an offset to the ASCII param-type name and UTF-16 row names: 135 of Sekiro’s 138 params and all 194 of the installed Elden Ring 1.17.3 regulation. Every byte of each is accounted for by the header, the row index, the rows, the strings and zero padding at the end of the file, with no gap between parts. Proven · Sekiro, Elden Ring The same holds for all 5,489 params of the 29 Elden Ring regulations examined (the installed release and 28 earlier ones). Observed · Elden Ring
The file ends after the last string with 0, 2 or 8 zero bytes in the game params; the graphics-quality params of the
archives (Gconfig_*.param, 24 files across both games) have real row names (five or more per file, such as the quality
level names) and end in 4, 8, 12 or 15, and Elden Ring’s DefaultKeyAssign.param has 373 distinct Japanese row names.
Observed · Sekiro, Elden Ring Two follow the shared empty row name. Where no row has a
name, 8 follow the param type in 161 Elden Ring params (the five single-row *CommonParam types of each of the 29
regulations, and RuntimeBoneControlParam’s 1,465 rows in the 16 earliest regulations) and in five single-row Sekiro
params, and none follow it in 58 Elden Ring params (NetworkParam and SpeedtreeParam in each regulation) and 7
Sekiro. Observed · Sekiro, Elden Ring
The strings follow the row data in one order: the param type (ASCII and a NUL) at the offset the header gives, then the row names, each UTF-16 and a NUL, in row order and directly after the type. The empty name is stored once and every row that has it shares that string; any other name is stored once for its own row, even when another row has the same text. Rebuilding a param from its parsed header fields, rows and names by this rule gives the stored bytes of the 235 archive params examined (Sekiro’s 190 in the 64-bit form, Elden Ring’s 45) and all 5,489 params of the 29 regulations, with the file’s trailing zero bytes and the header’s first word taken as stored. Proven · Sekiro, Elden Ring
Row names are not stored as text in these params. In every param of this form either no row has a name offset (219 Elden Ring params, 12 Sekiro) or every row has the same non-zero offset, which points at one empty UTF-16 string after the param type. None of the 4,323,743 name slots of the 29 Elden Ring regulations and Sekiro’s 135 params names a non-empty string. The names people use come from community lists. Observed · Sekiro, Elden Ring
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 4 | u32 | strings offset | Observed | The param type string's offset rounded up to a multiple of 16 in 4,939 of 5,724 params, the offset itself in the others (which one follows the tool version that wrote the file: the same param type has both forms in different regulation files); individual string pointers remain authoritative |
| 0x4 | 2 | u16 = 0 | padding | Proven | |
| 0x6 | 2 | u16 | unknown | Unknown | 0, 1 or 2; fixed per param type (the same in all 29 Elden Ring regulations); 2 only in BehaviorParam and BehaviorParam_PC of both games, 1 in NpcParam |
| 0x8 | 2 | u16 | data version | Proven | |
| 0xA | 2 | u16 | row count | Proven | |
| 0xC | 4 | u32 = 0 | padding | Proven | |
| 0x10 | 8 | u64 | param type string offset | Proven | |
| 0x18 | 20 | u8[20] = 0 | padding | Proven | |
| 0x2C | 1 | u8 | big endian | Sourced | Zero in every param examined |
| 0x2D | 1 | u8 | format flags 1 | Sourced | 0x85 in every Elden Ring param and in 135 of 138 Sekiro params; 0x80 offset param type, 0x04 long data offset (SoulsFormatsNEXT); the 0x01 bit is unexplained |
| 0x2E | 1 | u8 | format flags 2 | Sourced | 0x07 in the same params; bit 0 selects UTF-16 names |
| 0x2F | 1 | u8 | unknown | Unknown | Zero in all 5,627 params examined; not the definition's format version |
| 0x30 | 8 | u64 | row data start | Proven | |
| 0x38 | 8 | u64 = 0 | padding | Proven |
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 4 | i32 | row ID | Proven | |
| 0x4 | 4 | u32 = 0 | padding | Proven | |
| 0x8 | 8 | u64 | row data offset | Proven | |
| 0x10 | 8 | u64 | row name offset | Proven | Zero means no name; the offset is one shared empty string in these params |
The byte at offset 47 is zero in every param of both games, including the params whose Paramdex definition carries a format version other than 0: 106 or 203 in Elden Ring, 106, 201 or 202 in Sekiro. The definition’s format version is not stored in the file. Proven · Sekiro, Elden Ring
The 32-bit form
Section titled “The 32-bit form”Three Sekiro params, default_AIStandardInfoBank, default_EnemyBehaviorBank and MenuColorTableParam, use an older
form. Observed · Sekiro Format flags 1 is 0x01 (the first two) or 0x02 (the last), flags 2 is 0. The param type is a
32-byte inline string at offset 12, padded with spaces. Row entries are 12 bytes from offset 48: row ID, row data
offset, row name offset. The 16-bit value at offset 4 is the offset of the first row’s data. Every row is named, with
Shift-JIS text, 143 names in the three params (40, 22 and 81 rows); the rows are 128, 128 and 4 bytes. Observed · Sekiro
Row sizes from definitions
Section titled “Row sizes from definitions”A definition’s row size is the sum of its fields in order, with a bit field taking a container of its declared width
(u8 one byte, u16 two, u32 four): consecutive bit fields of the same declared width share a container while their
bits fit, and a dummy8 bit field shares the byte of a u8 one. Under this rule the Paramdex definition’s size equals
the file’s row size for every param of the installed Elden Ring regulation (194 of 194) and of Sekiro’s gameparam (135
of 135 in the 64-bit form), and for all 5,489 params of the 29 Elden Ring regulations when the definition is taken at
the regulation’s version (below). Proven · Elden Ring Observed · Sekiro
The bit positions of the rule are confirmed by the data. In DecalParam, whose 32-bit flag word holds a four-bit
pad_05 straddling a byte boundary, the rule leaves every padding bit zero in all 488 Elden Ring and 205 Sekiro rows;
placing bit fields byte by byte so that none straddles a byte boundary moves ten fields and puts non-zero bits into
pad_05 in 347 and 113 of them. Across all params of the two installs, the 238 dummy8 bit fields are zero in every row
under the container rule except one in Sekiro’s AtkParam_Npc, whose two-bit padding field has its lower bit set in 22
of 2,396 rows.
Observed · Sekiro, Elden Ring
Typing rows with a definition
Section titled “Typing rows with a definition”A definition belongs to a param by the param type string of the file’s header, not by the name of the binder member:
the 194 members of the installed Elden Ring regulation have 160 distinct param types, and 11 types are shared by 45
members (WWISE_VALUE_TO_STR_CONVERT_PARAM_ST by 13, the two draw-distance scale types by 7 each,
GRASS_TYPE_PARAM_ST and KEY_ASSIGN_PARAM_ST by 3). Observed · Elden Ring Paramdex states that its file names
are arbitrary and that a definition is applied by its metadata. Sourced · Paramdex
Smithbox’s copy of Paramdex’s definitions, laid out by the container rule at the binder’s regulation number, types every
param of every regulation examined: the 194 params of the installed Elden Ring regulation (179,358 rows), 135 of Sekiro’s
138 (36,083 rows; the three 32-bit-form params are not read) and all 5,295 params of the 28 earlier Elden Ring regulations
(4,137,031 rows). In every row each text field decodes (fixstr as Shift-JIS, fixstrW as UTF-16, each ending at its
first NUL) and no bit that the definition does not declare is set. A second decoder written separately (its own XML,
PARAM header, layout and value code) gives the same value for every field of every row of all 5,624 params.
Observed · Sekiro, Elden Ring
The upstream Paramdex repository (the March 2026 head) has no FirstVersion or RemovedVersion in its Elden Ring or
Sekiro definitions; only its Nightreign definitions carry them. Its Elden Ring definitions give the installed row size for
188 of the 194 params. The six that differ each give a smaller row than the installed regulation: BUDDY_PARAM_ST (96 against 160), CHR_MODEL_PARAM_ST (12 against 16), GAME_SYSTEM_COMMON_PARAM_ST
(800 against 1,024), POSTURE_CONTROL_PARAM_WEP_RIGHT_ST (112 against 144), SIGN_PUDDLE_PARAM_ST (32 against 48) and
SOUND_CUTSCENE_PARAM_ST (32 against 36). Its Sekiro definitions give the row size of all 135 params. Observed · Sekiro, Elden Ring
Every bit field in the Elden Ring and Sekiro definitions has the type u8, u16, u32 or dummy8; none is signed.
Observed · Sekiro, Elden Ring
NpcParam
Section titled “NpcParam”Every row’s ID and all 32 modelDispMask bits in both examined NPC tables match an independent SoulsFormats decode
using the corresponding Paramdex definition. This does not validate the meanings of every other row field. Proven
| Property | Sekiro | Elden Ring | Confidence |
|---|---|---|---|
| Param type | NPC_PARAM_ST |
Same | Proven |
| Data version | 14 | 9 | Proven |
| Row size | 896 bytes | 736 bytes | Proven |
| Masks 0–15 | Bytes 334, 335 | Bytes 330, 331 | Proven |
| Masks 16–31 | Bytes 338, 339 | Bytes 334, 335 | Proven |
The bits select a model’s marked meshes; the enemy placement supplies the NPC row. See character parts and masks. Sourced · SoulsFormatsNEXT
The Elden Ring layout (data version 9, 736-byte rows, mask bytes 330, 331, 334 and 335) is the layout of
NPC_PARAM_ST in all 29 regulations examined, from 1.00.0 to 1.17.3; all four bytes carry set bits in each. A row’s mask
is the same in every regulation that has the row for 7,034 of the 7,045 rows of 1.17.3. Observed · Elden Ring
GrassTypeParam
Section titled “GrassTypeParam”GRASS_TYPE_PARAM_ST has 276-byte rows (data version 1) in Elden Ring’s three grass params and 244-byte rows (data
version 6) in Sekiro’s one. The fields up to byte 244 are at the same offsets: lodRange at 0, baseDensity at 8, the
model name at 12 (16 UTF-16 characters), the flat texture name at 44 and the billboard texture name at 108 (32
characters each), spacing at 204 and simpleModelName at 212. Elden Ring adds a second 16-character model name,
model1Name, at 244. Observed · Sekiro, Elden Ring Read this way, all 166 Sekiro rows and all 632 Elden Ring rows
have only printable ASCII in their name fields. Observed · Sekiro, Elden Ring lodRange is signed in Sekiro,
where 5 rows hold -1; no Elden Ring row has the sign bit set. Observed · Sekiro, Elden Ring
Row sizes and data versions are known for every param of every regulation examined (below), and the NPC masks were read in all of them. Whether the offsets of other fields stay put between regulations is checked only where a definition changes size; the checks of the outfit fields (character parts) and grass types are on the installed release.
It is 0, 1 or 2, constant for a param type across all 29 regulations (1 in NPC_PARAM_ST, 2 in the behavior params of
both games). Nothing in the examined readers depends on it.
ModelSfxParam and AssetModelSfxParam
Section titled “ModelSfxParam and AssetModelSfxParam”Sekiro’s MODEL_SFX_PARAM_ST (ModelSfxParam, 202 rows) and Elden Ring’s ASSET_MODEL_SFX_PARAM_ST
(AssetModelSfxParam, 1,293 rows) have 128-byte rows of eight slots of 16 bytes: an effect id (sfxId_n, i32), the reference
id of a dummy polygon of the placed model (dmypolyId_n, i32) and eight reserved bytes; Elden Ring’s last slot keeps its
isDisableIV byte in the first of its reserved bytes. An unused slot holds -1 in Elden Ring and 0 in Sekiro (so a slot is in use
when its effect id is positive). Read from these offsets, every field of every row equals a paramdef reading of the param.
Proven · all rows of both installs against the Smithbox definitions The Elden Ring rows that reach a light name dummy 200 in every slot seen. Observed · Elden Ring
The row key is the model’s number times 1000 in Sekiro (oNNNNNN) and, in Elden Ring, (nnn x 1000 + mmm) x 1000 + relative id
for AEGnnn_mmm with the relative id of the asset part. Observed
Sekiro’s param stores the key 1230000 twice, with different slots. Proven · Sekiro
Elden Ring
Section titled “Elden Ring”Regulation
Section titled “Regulation”only in Elden Ring Regulation uses AES-256-CBC, with the first 16 stored bytes supplying the IV; decrypted bytes hold a DCX envelope around a binder. Public decryption material is supplied by SoulsFormatsNEXT. Sourced · Elden Ring · SoulsFormatsNEXT One key decrypts the installed regulation and 28 earlier ones (1.00.0 to 1.17.3), which hold 185 params (1.00.0 to 1.06), 186 (1.07 to 1.10) and 194 (1.12.1 on). The envelope is DFLT through 1.10 and ZSTD from 1.12.1. Observed · Elden Ring
The file is the 16-byte IV, then the DCX envelope and the zero bytes that pad it to whole 16-byte blocks (0 to 15 of them, the number that makes the envelope’s length a multiple of 16), encrypted as one CBC chain. Encrypting what was decrypted with the file’s own IV gives the file back for all 29. Proven · Elden Ring
The binder’s eight version bytes are the regulation number in ASCII digits, such as 11730034 for 1.17.3; this equals the
number in the release’s name for all 29 files. Observed · Elden Ring Paramdex’s FirstVersion and RemovedVersion
on a field are these numbers: a field is in the row from the regulation named by FirstVersion and not from the one
named by RemovedVersion. Taking each definition at the regulation’s number reproduces the file’s row size for all 5,489
params of the 29 regulations; ignoring the numbers does so for 4,653. The definition’s data version is a weaker guide:
it differs from the file’s in 10 of the installed release’s 194 params (CHR_EQUIP_MODEL_PARAM_ST is 1 in the file and 2 in
the definition) and in 151 of the 5,489 params of the 29 regulations, while the row size matches in every one of them. In Sekiro the definition’s data version equals the file’s for all 138 params. Observed · Elden Ring
The data version and the row size change independently between regulations. Of the 18 changes seen between consecutive releases, 3 moved both, 7 moved only the row size and 8 only the data version. Observed · Elden Ring
| Param type | Regulation seen first | Data version | Row size |
|---|---|---|---|
ASSET_GEOMETORY_PARAM_ST |
1.02.1, 1.07 | 3 to 4, 4 to 6 | 320 |
BONFIRE_WARP_PARAM_ST |
1.03.1 | 6 | 168 to 236 |
BUDDY_PARAM_ST |
1.08 | 2 | 96 to 160 |
CHR_MODEL_PARAM_ST |
1.06, 1.12.1 | 2 to 3 (1.12.1) | 12 to 16 (1.06) |
EQUIP_PARAM_WEAPON_ST |
1.02.1 | 5 to 6 | 648 to 664 |
GAME_SYSTEM_COMMON_PARAM_ST |
1.02.1, 1.07, 1.12.1 | 2 to 3 (1.02.1) | 800 to 880 (1.07), 880 to 1024 (1.12.1) |
MAP_DEFAULT_INFO_PARAM_ST |
1.02.1 | 4 to 6 | 64 |
OBJ_ACT_PARAM_ST |
1.12.1 | 2 to 3 | 96 |
POSTURE_CONTROL_PARAM_WEP_RIGHT_ST |
1.12.1 | 1 | 112 to 144 |
SIGN_PUDDLE_PARAM_ST |
1.12.1 | 1 to 2 | 32 to 48 |
SOUND_CUTSCENE_PARAM_ST |
1.02.1, 1.05 | 2 to 5, 5 to 6 | 32 to 36 (1.05) |
WEATHER_ASSET_REPLACE_PARAM_ST |
1.12.1 | 1 to 2 | 64 |
WORLD_MAP_POINT_PARAM_ST |
1.03.1 | 6 | 192 to 256 |
The regulation columns give the first release that holds the new value; a change may have been made in any
earlier release between it and the previous one. Nine params exist only from a later regulation:
FinalDamageRateParam from 1.07, and from 1.12.1 ChrEquipModelParam, MapGridCreateHeightDetailLimitInfo,
MapNameTexParam_m61, MapPieceTexParam_m61, MimicryEstablishmentTexParam_m61, SignPuddleSubCategoryParam,
SignPuddleTabParam and WeatherLotTexParam_m61. Observed · Elden Ring
Magic and Bullet
Section titled “Magic and Bullet”A spell’s Magic row names its effects and its projectiles. castSfxId, fireSfxId and effectSfxId are effect ids
(FXR files of the effect binders), and the pairs refIdN and refCategoryN (N = 1 to 10) name what the spell
launches, with the category 0 an attack, 1 a bullet and 2 a special effect (BEHAVIOR_REF_TYPE). Sourced · Paramdex
An animation’s event 2 with Attack Index n takes pair n + 1. Inferred · Elden Ring Over the Magic rows of the installed regulation, 739 of the 746 references
counted resolve to a Bullet row with category 1. Observed · Elden Ring A Bullet row names the effect that flies
(sfxId_Bullet), the one at its hit (sfxId_Hit) and further bullets it makes on hit (HitBulletID) or along its
path (intervalCreateBulletId), each -1 when unset. Sourced · Paramdex
Comet Azur (Magic row 4200) shows the chain: its castSfxId is 526250 and its effectSfxId 526255, and its
references 1 and 2 are the Bullet rows 10420000 and 10420002. Bullet 10420000 flies effect 526251 with no hit effect,
10420002 flies 526252 and hits with 526253, 10420004 flies 526254, and 10420001 flies none. Their hitRadiusMax is
-1. Observed · Elden Ring · the rows of the installed regulation
Elden Ring’s BULLET_PARAM_ST is revision 4 with rows of 272 bytes, 15,475 of them in regulation 11730034.
Observed · Elden Ring The fields that say how a bullet flies, what it starts and what it makes sit at these
offsets:
Offsets and names are Paramdex's definition; a reader at these offsets matches a Paramdex-driven reader on every row.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x4 | 4 | s32 | sfxId_Bullet | Sourced | the effect that flies with the bullet; -1 none |
| 0x8 | 4 | s32 | sfxId_Hit | Sourced | the effect at its hit |
| 0xC | 4 | s32 | sfxId_Flick | Sourced | the effect when it is deflected |
| 0x10 | 4 | f32 | life | Sourced | seconds; -1 for ever |
| 0x14 | 4 | f32 | dist | Sourced | the range: travel after which the out-of-range acceleration and gravity apply |
| 0x1C | 4 | f32 | gravityInRange | Sourced | |
| 0x20 | 4 | f32 | gravityOutRange | Sourced | |
| 0x24 | 4 | f32 | hormingStopRange | Sourced | distance from the target at which homing stops |
| 0x28 | 4 | f32 | initVellocity | Sourced | starting speed, m/s |
| 0x2C | 4 | f32 | accelInRange | Sourced | |
| 0x30 | 4 | f32 | accelOutRange | Sourced | |
| 0x34 | 4 | f32 | maxVellocity | Sourced | |
| 0x38 | 4 | f32 | minVellocity | Sourced | |
| 0x3C | 4 | f32 | accelTime | Sourced | seconds before the acceleration starts |
| 0x40 | 4 | f32 | homingBeginDist | Sourced | metres flown before homing begins |
| 0x54 | 4 | f32 | hormingOffsetRange | Sourced | metres it aims off its target on each axis |
| 0x68 | 4 | s32 | HitBulletID | Sourced | the bullet made on hit; -1 none |
| 0x82 | 2 | s16 | homingAngle | Sourced | the turn per second, degrees |
| 0x9A | 1 | u8 | FollowType | Sourced | the low three bits |
| 0x9C | 1 | u8 | isEnableAutoHoming | Sourced | bit 4 |
| 0xAC | 4 | s32 | intervalCreateBulletId | Sourced | the bullet made along its path; -1 none |
| 0xB0 | 4 | f32 | intervalCreateTimeMin | Sourced | |
| 0xB4 | 4 | f32 | intervalCreateTimeMax | Sourced | |
| 0xBC | 4 | f32 | intervalCreateWaitTime | Sourced | |
| 0xC3 | 1 | u8 | isInheritSpeedToChild | Sourced | bit 0 |
| 0xD0 | 4 | f32 | lifeRandomRange | Sourced | |
| 0xD4 | 2 | s16 | homingAngleX | Sourced | -1 leaves it unchanged |
A reader that takes these fields at these offsets gives the same value as a reader driven by Paramdex’s definition for every
field of all 15,475 rows, integers compared as integers and floats bit for bit. Proven · Elden Ring · every row of regulation 11730034
The field meanings are Paramdex’s: a bullet starts at initVellocity along its forward, does not accelerate before
accelTime, then accelerates at accelInRange until it has flown dist and at accelOutRange after, its speed held between
minVellocity and maxVellocity, with gravity likewise gravityInRange then gravityOutRange. Sourced · Paramdex
Of the rows, 5,458 have a maxVellocity of 0 or less, 8 of them with a positive initVellocity and 12 with a
positive acceleration; 11 have a minVellocity above their maxVellocity; 25 have a negative life and 123 a life of 0; 8,681 name a
HitBulletID and 1,091 an intervalCreateBulletId. Proven · Elden Ring · every row of regulation 11730034 What the
engine does with a maximum of 0 or a minimum above the maximum is not read. Unknown · Elden Ring
| Glintstone Pebble | Great Glintstone Shard | |
|---|---|---|
Magic row, bullet |
4000, 10400000 | 4001, 10400100 |
sfxId_Bullet, sfxId_Hit |
523002, 523003 | 523022, 523023 |
life |
1.12 | 1.25 |
initVellocity, accelInRange / accelOutRange, accelTime |
13, 40 / 40, 0.32 | the same |
minVellocity, maxVellocity, dist, gravity |
6, 25, 12, 0 | the same |
homingAngle, homingAngleX, hormingStopRange |
35, -1, 0.4 | the same |
Observed · Elden Ring · the two rows of the installed regulation
BehaviorParam_PC, which resolves the player’s weapon-art and other non-spell launches, does not key its rows by the
event’s fields: the row id equals variationId × 1000 + behaviorJudgeId in 1 of its 13,865 rows.
Proven · Elden Ring · every row of the installed regulation
The id is not variationId × 1000 + behaviorJudgeId, so the step from an event 2’s Behavior Judge ID and the
weapon’s variation to a row is not established.
WorldMapLegacyConvParam
Section titled “WorldMapLegacyConvParam”WORLD_MAP_LEGACY_CONV_PARAM_ST (data version 2) has 48-byte rows and 196 rows in the installed 1.17.3 regulation. Each
row says that a point of a legacy map (any map that is not an m60 or m61 overworld tile) is a point of another map: a
source map with its reference point, a destination map with the same point in the destination’s frame, and a flag for
the row that is the source’s base connection. Observed · Elden Ring The rows carry no rotation.
Observed · Elden Ring Legacy maps in the overworld
uses them to place each legacy map among the tiles.
| Offset | Size | Type | Field | Confidence | Notes |
|---|---|---|---|---|---|
| 0x0 | 1 | u8 | flags | Sourced | Bit 0 is Paramdex's disableParam_NT (183 of 196 rows set it); the other bits are zero in every row |
| 0x1 | 3 | u8[3] = 0 | padding | Proven | |
| 0x4 | 1 | u8 | source area | Observed | The area of the source map's name (14 of m14_00_00_00); at most 99 |
| 0x5 | 1 | u8 | source grid X | Observed | |
| 0x6 | 1 | u8 | source grid Z | Observed | |
| 0x7 | 1 | u8 = 0 | padding | Proven | |
| 0x8 | 12 | f32[3] | source reference point | Observed | Metres in the source map's frame (X, Y, Z) |
| 0x14 | 1 | u8 | destination area | Observed | |
| 0x15 | 1 | u8 | destination grid X | Observed | |
| 0x16 | 1 | u8 | destination grid Z | Observed | |
| 0x17 | 1 | u8 = 0 | padding | Proven | |
| 0x18 | 12 | f32[3] | destination reference point | Observed | The same point in the destination map's frame |
| 0x24 | 1 | u8 | isBasePoint | Observed | Bit 0; 194 of 196 rows set it, and every one of the 98 source maps has a base row |
| 0x25 | 11 | u8[11] = 0 | padding | Proven |
All 196 rows read with every padding byte zero, area and grid numbers at most 99 and finite coordinates, and an independent
parser of the decoded param gives the same fields. Proven · Elden Ring The rows name 98 source maps and 110 maps in
all; 163 rows have an m60 (118) or m61 (45) tile as destination, 33 another legacy map. Proven · Elden Ring
The map numbers have no variant byte: the destination m60_35_45 is the tile m60_35_45_00. Observed · Elden Ring
The reference points of 132 of the 196 rows are corroborated by the maps’ own connection regions: the destination’s layout holds a
connection region naming the source at the destination reference point, or the source’s holds one naming the destination
at the source’s. Of the other 64 rows, 59 name a map that is not in the base-game install, and 5 name only installed maps and
have no such region (rows 5, 10, 11, 16 and 17). Observed · Elden Ring
BonfireWarpParam
Section titled “BonfireWarpParam”Each warp row names a target entity and an event. In 1.17.2, row 100008 names entity 10001958 and event 71008, and row 61423700 entity 1042371950 and event 76111. Observed · Elden Ring