Decode STINIT initial object states

This commit is contained in:
gamer147
2026-07-23 09:47:22 -04:00
parent 9c05451369
commit 1a9989b3ce
9 changed files with 98 additions and 30 deletions

View File

@@ -1622,6 +1622,26 @@ usage = "OBINIT writes the short object descriptions displayed by the field obje
source = "investigation"
confidence = "high"
[[global]]
address = "0xe6dee"
name = "object_sprite_state_row_mode"
category = "data-table"
type = "int[100]"
value_domain = "{1,2}; 1 selects a vertical sprite row from runtime object state, 2 fixes source Y at row 0"
usage = "OBINIT metadata indexed by object type. FIELD copies the type-tagged initial payload into stage_object_runtime_state only for mode 1; DRAWOBJ likewise multiplies that runtime state by the object sprite height to select source Y only for mode 1."
source = "investigation"
confidence = "high"
[[global]]
address = "0x141a4"
name = "stage_object_runtime_state"
category = "data-table"
type = "int[][50]"
value_domain = "type-dependent small integer state; initial values observed 1..3"
usage = "Per-stage, per-object-slot runtime state. FIELD initializes mode-1 objects from STINIT's first tagged payload on a fresh stage and updates capturable-object ownership; DRAWOBJ uses it as the vertical sprite-row index. Other consumers interpret it by object type."
source = "investigation"
confidence = "high"
[[global]]
address = "0x27b9"
name = "stage_victory_condition_1"