Add detailed class event processing and family comparison tools

- Enhance `extract_eusecode_flx.py` to derive class event rows with additional metadata including derived body windows and repeated template statuses.
- Introduce `usecode_family_compare.py` for comparing event families, analyzing commonalities in event bodies, and generating reports on identical groups and differences.
- Implement new data structures for managing class event rows and family artifact specifications.
- Update output formats to include derived body information and repeated family regression checks.
- Ensure robust validation of repeated family expectations against actual extracted data.
This commit is contained in:
MaddoScientisto 2026-03-22 23:24:46 +01:00
commit 4d3c8cd81b
23 changed files with 15033 additions and 14221 deletions

View file

@ -1,6 +1,6 @@
# EUSECODE.FLX First-Pass Extraction
Input: k:\ghidra\Crusader_Decomp\USECODE\EUSECODE.FLX
Input: USECODE\EUSECODE.FLX
File size: 0x87E45 (556613 bytes)
Candidate entries: 403
@ -423,7 +423,9 @@ ASCII: `........................................................................
- `.strings.txt` files are the main human-readable output for now; `.txt` files are emitted only for chunks that look text-like.
- `descriptor_index.tsv` summarizes guessed class labels, field names, and compact tag patterns for descriptor-like chunks.
- `class_layout_index.tsv` records the conservative owner-loaded class parsing state: object index, class id, class-name hint, raw bytes-8..11 field, derived code-base-minus-one, and event-count/table-end values when the local divisibility and bounds checks succeed.
- `class_event_index.tsv` expands parsed owner-loaded classes into raw 6-byte event rows with slot numbers, ScummVM event-name hints for `0x00..0x1f`, unresolved leading words, and raw code-offset dwords for round-trip tooling work.
- `class_event_index.tsv` now also emits derived body-window columns (`derived_body_start`, `derived_body_end`, `derived_body_length`) plus conservative `repeated_template_status` tags for verified repeated families.
- `boot_family_decompile.md` / `.tsv`, `callback_family_decompile.md` / `.tsv`, and `environmental_family_decompile.md` / `.tsv` now provide reversible per-class decompile artifacts for the `_BOOT`, `SURCAM*`, and environmental repeated-family lanes.
- `repeated_family_regressions.tsv` enforces the current repeated-family slot sets plus the verified raw-row and derived body-window fields for `JELYHACK/JELYH2`, `_BOOT`, `SURCAM*`, and `FLAMEBOX/NOSTRIL/STEAMBOX`.
- `descriptor_neighborhoods.tsv` captures local table neighborhoods around trigger/event-related classes such as `JELYHACK`, `NPCTRIG`, `CRUZTRIG`, `TRIGPAD`, and `SPECIAL`.
- `referent_anchor_event_graph.tsv` groups referent-bearing descriptors with nearby event-bearing neighbors so the attachment model can be inspected without ad hoc grepping.
- `jelyhack_island_graph.md` now uses a wider local window so the `JELYHACK` / `JELYH2` anchors can be inspected alongside the nearby event-bearing `REE_BOOT`, `SURCAMEW`, and `SFXTRIG` descriptors rather than stopping at the referent-only neighbors.

View file

@ -0,0 +1,239 @@
# _BOOT Family Decompiled Event Sketches
This is a reversible per-class rendering derived directly from `class_event_index.tsv` plus the raw extracted chunk bytes.
ScummVM event labels remain hints only; the authoritative data here is the slot id, raw row bytes, and derived body window.
## AND_BOOT
```yaml
class:
entry_index: 0x0AB
class_id: 0x314
class_name: AND_BOOT
class_object_index: 0x316
raw_code_base_u32: 0xD4
code_base_minus_one: 0xD3
conservative_event_count: 32
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x0253
raw_code_offset: 0x00000001
derived_body_start: 0x00d4
derived_body_end: 0x0327
derived_body_length: 595
repeated_template_status: boot-event-core/shared-slot-0x0A/shared-slot-template
body_sha1: d7a28ffc24ab488970328a576f16af20f76d2a71
body_prefix_hex: 5a025c2902414e44
body_suffix_hex: 6f756e746572007a
- slot: 0x0f
event_name_hint: enterFastArea
raw_event_entry_word: 0x0237
raw_code_offset: 0x00000254
derived_body_start: 0x0327
derived_body_end: 0x055e
derived_body_length: 567
repeated_template_status: boot-event-core/shared-slot-0x0F/shared-slot-template
body_sha1: 29fa661d1f7934f505c9efa6e7ec0bcbb7506b77
body_prefix_hex: 5a045c0e02414e44
body_suffix_hex: 6f756e746572007a
- slot: 0x10
event_name_hint: leaveFastArea
raw_event_entry_word: 0x003b
raw_code_offset: 0x0000048b
derived_body_start: 0x055e
derived_body_end: 0x0599
derived_body_length: 59
repeated_template_status: boot-event-core/shared-slot-0x10/same-length-template
body_sha1: 7e3cc8034632df1963951b6c26e8cef2f18e2616
body_prefix_hex: 5a005c2700414e44
body_suffix_hex: 666572656e74007a
```
## BRO_BOOT
```yaml
class:
entry_index: 0x0AC
class_id: 0x316
class_name: BRO_BOOT
class_object_index: 0x318
raw_code_base_u32: 0xD4
code_base_minus_one: 0xD3
conservative_event_count: 32
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x02d5
raw_code_offset: 0x00000001
derived_body_start: 0x00d4
derived_body_end: 0x03a9
derived_body_length: 725
repeated_template_status: boot-event-core/shared-slot-0x0A/shared-slot-template
body_sha1: bd08c6f4b1201d500ee2722b9cd4a2e3eb89af5f
body_prefix_hex: 5a025cab0242524f
body_suffix_hex: 6f756e746572007a
- slot: 0x0f
event_name_hint: enterFastArea
raw_event_entry_word: 0x024c
raw_code_offset: 0x000002d6
derived_body_start: 0x03a9
derived_body_end: 0x05f5
derived_body_length: 588
repeated_template_status: boot-event-core/shared-slot-0x0F/shared-slot-template
body_sha1: 8b22769c8386fb4f8592aaf958820a452679a6b0
body_prefix_hex: 5a045c230242524f
body_suffix_hex: 6f756e746572007a
- slot: 0x10
event_name_hint: leaveFastArea
raw_event_entry_word: 0x003b
raw_code_offset: 0x00000522
derived_body_start: 0x05f5
derived_body_end: 0x0630
derived_body_length: 59
repeated_template_status: boot-event-core/shared-slot-0x10/same-length-template
body_sha1: dd5ecced3b31dda2e5cd6a8d8cb2e9df41669ebd
body_prefix_hex: 5a005c270042524f
body_suffix_hex: 666572656e74007a
```
## COR_BOOT
```yaml
class:
entry_index: 0x0BD
class_id: 0x360
class_name: COR_BOOT
class_object_index: 0x362
raw_code_base_u32: 0xD4
code_base_minus_one: 0xD3
conservative_event_count: 32
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x0227
raw_code_offset: 0x00000001
derived_body_start: 0x00d4
derived_body_end: 0x02fb
derived_body_length: 551
repeated_template_status: boot-event-core/shared-slot-0x0A/shared-slot-template
body_sha1: 97f1df8d8e6c9c7e151904d9ac1296f27d93581d
body_prefix_hex: 5a025cfd01434f52
body_suffix_hex: 6f756e746572007a
- slot: 0x0f
event_name_hint: enterFastArea
raw_event_entry_word: 0x0234
raw_code_offset: 0x00000228
derived_body_start: 0x02fb
derived_body_end: 0x052f
derived_body_length: 564
repeated_template_status: boot-event-core/shared-slot-0x0F/shared-slot-template
body_sha1: 7b2509b86cd4228c2a06efbdcabe5b3b660fba4d
body_prefix_hex: 5a045c0b02434f52
body_suffix_hex: 6f756e746572007a
- slot: 0x10
event_name_hint: leaveFastArea
raw_event_entry_word: 0x003b
raw_code_offset: 0x0000045c
derived_body_start: 0x052f
derived_body_end: 0x056a
derived_body_length: 59
repeated_template_status: boot-event-core/shared-slot-0x10/same-length-template
body_sha1: c0958d58cd7492fdc4b809db0634325f70fea009
body_prefix_hex: 5a005c2700434f52
body_suffix_hex: 666572656e74007a
```
## REE_BOOT
```yaml
class:
entry_index: 0x11B
class_id: 0x4DB
class_name: REE_BOOT
class_object_index: 0x4DD
raw_code_base_u32: 0xD4
code_base_minus_one: 0xD3
conservative_event_count: 32
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x034b
raw_code_offset: 0x00000001
derived_body_start: 0x00d4
derived_body_end: 0x041f
derived_body_length: 843
repeated_template_status: boot-event-core/shared-slot-0x0A/shared-slot-template
body_sha1: bae629a3de3884d6919863daab5fe25dfc24cf13
body_prefix_hex: 5a025c2103524545
body_suffix_hex: 6f756e746572007a
- slot: 0x0f
event_name_hint: enterFastArea
raw_event_entry_word: 0x025c
raw_code_offset: 0x0000034c
derived_body_start: 0x041f
derived_body_end: 0x067b
derived_body_length: 604
repeated_template_status: boot-event-core/shared-slot-0x0F/shared-slot-template
body_sha1: fb0e1e9e0a7b508f635df648aa8d3e3c72b6d0a2
body_prefix_hex: 5a045c3302524545
body_suffix_hex: 6f756e746572007a
- slot: 0x10
event_name_hint: leaveFastArea
raw_event_entry_word: 0x003b
raw_code_offset: 0x000005a8
derived_body_start: 0x067b
derived_body_end: 0x06b6
derived_body_length: 59
repeated_template_status: boot-event-core/shared-slot-0x10/same-length-template
body_sha1: 577c61e9c4c6fb3e8b38f1e998699184b8e6e4f5
body_prefix_hex: 5a005c2700524545
body_suffix_hex: 666572656e74007a
```
## VAR_BOOT
```yaml
class:
entry_index: 0x0FC
class_id: 0x45C
class_name: VAR_BOOT
class_object_index: 0x45E
raw_code_base_u32: 0xD4
code_base_minus_one: 0xD3
conservative_event_count: 32
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x029a
raw_code_offset: 0x00000001
derived_body_start: 0x00d4
derived_body_end: 0x036e
derived_body_length: 666
repeated_template_status: boot-event-core/shared-slot-0x0A/shared-slot-template
body_sha1: edc529e375d63cc79454b66c00acef51c5a0bd8a
body_prefix_hex: 5a025c7002564152
body_suffix_hex: 6f756e746572007a
- slot: 0x0f
event_name_hint: enterFastArea
raw_event_entry_word: 0x0244
raw_code_offset: 0x0000029b
derived_body_start: 0x036e
derived_body_end: 0x05b2
derived_body_length: 580
repeated_template_status: boot-event-core/shared-slot-0x0F/shared-slot-template
body_sha1: 6cdb54664e36def9bb6770e19632cdccbdf280a1
body_prefix_hex: 5a045c1b02564152
body_suffix_hex: 6f756e746572007a
- slot: 0x10
event_name_hint: leaveFastArea
raw_event_entry_word: 0x003b
raw_code_offset: 0x000004df
derived_body_start: 0x05b2
derived_body_end: 0x05ed
derived_body_length: 59
repeated_template_status: boot-event-core/shared-slot-0x10/same-length-template
body_sha1: 83c328a3cadc280a1798c2362f8d1e9ccbe3f78e
body_prefix_hex: 5a005c2700564152
body_suffix_hex: 666572656e74007a
```

View file

@ -0,0 +1,16 @@
entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
171 0x314 AND_BOOT 0x0A equip 0x0253 0x00000001 0x00D4 0x0327 595 boot-event-core/shared-slot-0x0A/shared-slot-template d7a28ffc24ab488970328a576f16af20f76d2a71 5a025c2902414e44 6f756e746572007a
171 0x314 AND_BOOT 0x0F enterFastArea 0x0237 0x00000254 0x0327 0x055E 567 boot-event-core/shared-slot-0x0F/shared-slot-template 29fa661d1f7934f505c9efa6e7ec0bcbb7506b77 5a045c0e02414e44 6f756e746572007a
171 0x314 AND_BOOT 0x10 leaveFastArea 0x003B 0x0000048B 0x055E 0x0599 59 boot-event-core/shared-slot-0x10/same-length-template 7e3cc8034632df1963951b6c26e8cef2f18e2616 5a005c2700414e44 666572656e74007a
172 0x316 BRO_BOOT 0x0A equip 0x02D5 0x00000001 0x00D4 0x03A9 725 boot-event-core/shared-slot-0x0A/shared-slot-template bd08c6f4b1201d500ee2722b9cd4a2e3eb89af5f 5a025cab0242524f 6f756e746572007a
172 0x316 BRO_BOOT 0x0F enterFastArea 0x024C 0x000002D6 0x03A9 0x05F5 588 boot-event-core/shared-slot-0x0F/shared-slot-template 8b22769c8386fb4f8592aaf958820a452679a6b0 5a045c230242524f 6f756e746572007a
172 0x316 BRO_BOOT 0x10 leaveFastArea 0x003B 0x00000522 0x05F5 0x0630 59 boot-event-core/shared-slot-0x10/same-length-template dd5ecced3b31dda2e5cd6a8d8cb2e9df41669ebd 5a005c270042524f 666572656e74007a
189 0x360 COR_BOOT 0x0A equip 0x0227 0x00000001 0x00D4 0x02FB 551 boot-event-core/shared-slot-0x0A/shared-slot-template 97f1df8d8e6c9c7e151904d9ac1296f27d93581d 5a025cfd01434f52 6f756e746572007a
189 0x360 COR_BOOT 0x0F enterFastArea 0x0234 0x00000228 0x02FB 0x052F 564 boot-event-core/shared-slot-0x0F/shared-slot-template 7b2509b86cd4228c2a06efbdcabe5b3b660fba4d 5a045c0b02434f52 6f756e746572007a
189 0x360 COR_BOOT 0x10 leaveFastArea 0x003B 0x0000045C 0x052F 0x056A 59 boot-event-core/shared-slot-0x10/same-length-template c0958d58cd7492fdc4b809db0634325f70fea009 5a005c2700434f52 666572656e74007a
283 0x4DB REE_BOOT 0x0A equip 0x034B 0x00000001 0x00D4 0x041F 843 boot-event-core/shared-slot-0x0A/shared-slot-template bae629a3de3884d6919863daab5fe25dfc24cf13 5a025c2103524545 6f756e746572007a
283 0x4DB REE_BOOT 0x0F enterFastArea 0x025C 0x0000034C 0x041F 0x067B 604 boot-event-core/shared-slot-0x0F/shared-slot-template fb0e1e9e0a7b508f635df648aa8d3e3c72b6d0a2 5a045c3302524545 6f756e746572007a
283 0x4DB REE_BOOT 0x10 leaveFastArea 0x003B 0x000005A8 0x067B 0x06B6 59 boot-event-core/shared-slot-0x10/same-length-template 577c61e9c4c6fb3e8b38f1e998699184b8e6e4f5 5a005c2700524545 666572656e74007a
252 0x45C VAR_BOOT 0x0A equip 0x029A 0x00000001 0x00D4 0x036E 666 boot-event-core/shared-slot-0x0A/shared-slot-template edc529e375d63cc79454b66c00acef51c5a0bd8a 5a025c7002564152 6f756e746572007a
252 0x45C VAR_BOOT 0x0F enterFastArea 0x0244 0x0000029B 0x036E 0x05B2 580 boot-event-core/shared-slot-0x0F/shared-slot-template 6cdb54664e36def9bb6770e19632cdccbdf280a1 5a045c1b02564152 6f756e746572007a
252 0x45C VAR_BOOT 0x10 leaveFastArea 0x003B 0x000004DF 0x05B2 0x05ED 59 boot-event-core/shared-slot-0x10/same-length-template 83c328a3cadc280a1798c2362f8d1e9ccbe3f78e 5a005c2700564152 666572656e74007a
1 entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
2 171 0x314 AND_BOOT 0x0A equip 0x0253 0x00000001 0x00D4 0x0327 595 boot-event-core/shared-slot-0x0A/shared-slot-template d7a28ffc24ab488970328a576f16af20f76d2a71 5a025c2902414e44 6f756e746572007a
3 171 0x314 AND_BOOT 0x0F enterFastArea 0x0237 0x00000254 0x0327 0x055E 567 boot-event-core/shared-slot-0x0F/shared-slot-template 29fa661d1f7934f505c9efa6e7ec0bcbb7506b77 5a045c0e02414e44 6f756e746572007a
4 171 0x314 AND_BOOT 0x10 leaveFastArea 0x003B 0x0000048B 0x055E 0x0599 59 boot-event-core/shared-slot-0x10/same-length-template 7e3cc8034632df1963951b6c26e8cef2f18e2616 5a005c2700414e44 666572656e74007a
5 172 0x316 BRO_BOOT 0x0A equip 0x02D5 0x00000001 0x00D4 0x03A9 725 boot-event-core/shared-slot-0x0A/shared-slot-template bd08c6f4b1201d500ee2722b9cd4a2e3eb89af5f 5a025cab0242524f 6f756e746572007a
6 172 0x316 BRO_BOOT 0x0F enterFastArea 0x024C 0x000002D6 0x03A9 0x05F5 588 boot-event-core/shared-slot-0x0F/shared-slot-template 8b22769c8386fb4f8592aaf958820a452679a6b0 5a045c230242524f 6f756e746572007a
7 172 0x316 BRO_BOOT 0x10 leaveFastArea 0x003B 0x00000522 0x05F5 0x0630 59 boot-event-core/shared-slot-0x10/same-length-template dd5ecced3b31dda2e5cd6a8d8cb2e9df41669ebd 5a005c270042524f 666572656e74007a
8 189 0x360 COR_BOOT 0x0A equip 0x0227 0x00000001 0x00D4 0x02FB 551 boot-event-core/shared-slot-0x0A/shared-slot-template 97f1df8d8e6c9c7e151904d9ac1296f27d93581d 5a025cfd01434f52 6f756e746572007a
9 189 0x360 COR_BOOT 0x0F enterFastArea 0x0234 0x00000228 0x02FB 0x052F 564 boot-event-core/shared-slot-0x0F/shared-slot-template 7b2509b86cd4228c2a06efbdcabe5b3b660fba4d 5a045c0b02434f52 6f756e746572007a
10 189 0x360 COR_BOOT 0x10 leaveFastArea 0x003B 0x0000045C 0x052F 0x056A 59 boot-event-core/shared-slot-0x10/same-length-template c0958d58cd7492fdc4b809db0634325f70fea009 5a005c2700434f52 666572656e74007a
11 283 0x4DB REE_BOOT 0x0A equip 0x034B 0x00000001 0x00D4 0x041F 843 boot-event-core/shared-slot-0x0A/shared-slot-template bae629a3de3884d6919863daab5fe25dfc24cf13 5a025c2103524545 6f756e746572007a
12 283 0x4DB REE_BOOT 0x0F enterFastArea 0x025C 0x0000034C 0x041F 0x067B 604 boot-event-core/shared-slot-0x0F/shared-slot-template fb0e1e9e0a7b508f635df648aa8d3e3c72b6d0a2 5a045c3302524545 6f756e746572007a
13 283 0x4DB REE_BOOT 0x10 leaveFastArea 0x003B 0x000005A8 0x067B 0x06B6 59 boot-event-core/shared-slot-0x10/same-length-template 577c61e9c4c6fb3e8b38f1e998699184b8e6e4f5 5a005c2700524545 666572656e74007a
14 252 0x45C VAR_BOOT 0x0A equip 0x029A 0x00000001 0x00D4 0x036E 666 boot-event-core/shared-slot-0x0A/shared-slot-template edc529e375d63cc79454b66c00acef51c5a0bd8a 5a025c7002564152 6f756e746572007a
15 252 0x45C VAR_BOOT 0x0F enterFastArea 0x0244 0x0000029B 0x036E 0x05B2 580 boot-event-core/shared-slot-0x0F/shared-slot-template 6cdb54664e36def9bb6770e19632cdccbdf280a1 5a045c1b02564152 6f756e746572007a
16 252 0x45C VAR_BOOT 0x10 leaveFastArea 0x003B 0x000004DF 0x05B2 0x05ED 59 boot-event-core/shared-slot-0x10/same-length-template 83c328a3cadc280a1798c2362f8d1e9ccbe3f78e 5a005c2700564152 666572656e74007a

View file

@ -0,0 +1,142 @@
# SURCAM Callback Family Decompiled Event Sketches
This is a reversible per-class rendering derived directly from `class_event_index.tsv` plus the raw extracted chunk bytes.
ScummVM event labels remain hints only; the authoritative data here is the slot id, raw row bytes, and derived body window.
## SURCAMEW
```yaml
class:
entry_index: 0x11C
class_id: 0x4DE
class_name: SURCAMEW
class_object_index: 0x4E0
raw_code_base_u32: 0xE6
code_base_minus_one: 0xE5
conservative_event_count: 35
events:
- slot: 0x01
event_name_hint: use
raw_event_entry_word: 0x00f7
raw_code_offset: 0x000000d2
derived_body_start: 0x01b7
derived_body_end: 0x02ae
derived_body_length: 247
repeated_template_status: callback-eventtrigger/shared-slot-0x01/shared-slot-template
body_sha1: a132370f9360cae36a81dd0372108c555a964d88
body_prefix_hex: 5a005ce300535552
body_suffix_hex: 666572656e74007a
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x00d1
raw_code_offset: 0x00000001
derived_body_start: 0x00e6
derived_body_end: 0x01b7
derived_body_length: 209
repeated_template_status: callback-eventtrigger/shared-slot-0x0A/same-length-template
body_sha1: 61ffc6347df026ded22dfebd2afe55826f1e9ad2
body_prefix_hex: 5a005cb500535552
body_suffix_hex: 690a00766172007a
- slot: 0x20
event_name_hint:
raw_event_entry_word: 0x02ba
raw_code_offset: 0x000001c9
derived_body_start: 0x02ae
derived_body_end: 0x0568
derived_body_length: 698
repeated_template_status: callback-eventtrigger/shared-slot-0x20/same-length-template
body_sha1: 155c3cf663c03a6f53846938ac7c289aeb3c4c26
body_prefix_hex: 5a0b5c6302535552
body_suffix_hex: f500636f6465007a
- slot: 0x21
event_name_hint:
raw_event_entry_word: 0x0655
raw_code_offset: 0x00000483
derived_body_start: 0x0568
derived_body_end: 0x0bbd
derived_body_length: 1621
repeated_template_status: callback-eventtrigger/shared-slot-0x21/shared-slot-template
body_sha1: dd8da26eae780920efc8ae8c51db5e9e8151914c
body_prefix_hex: 5a145ce205535552
body_suffix_hex: 000062ec007a007a
- slot: 0x22
event_name_hint:
raw_event_entry_word: 0x01a3
raw_code_offset: 0x00000ad8
derived_body_start: 0x0bbd
derived_body_end: 0x0d60
derived_body_length: 419
repeated_template_status: callback-eventtrigger/shared-slot-0x22/same-length-template
body_sha1: 0dd40a9416581d71aed72d5cdb63656468f50d43
body_prefix_hex: 5a035c6b01535552
body_suffix_hex: 756e6447756e007a
```
## SURCAMNS
```yaml
class:
entry_index: 0x10D
class_id: 0x4C6
class_name: SURCAMNS
class_object_index: 0x4C8
raw_code_base_u32: 0xE6
code_base_minus_one: 0xE5
conservative_event_count: 35
events:
- slot: 0x01
event_name_hint: use
raw_event_entry_word: 0x0051
raw_code_offset: 0x000000d2
derived_body_start: 0x01b7
derived_body_end: 0x0208
derived_body_length: 81
repeated_template_status: callback-eventtrigger/shared-slot-0x01/shared-slot-template
body_sha1: af6e6f93e4879920b189bfdeede69bb18e3307d5
body_prefix_hex: 5a005c3d00535552
body_suffix_hex: 666572656e74007a
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x00d1
raw_code_offset: 0x00000001
derived_body_start: 0x00e6
derived_body_end: 0x01b7
derived_body_length: 209
repeated_template_status: callback-eventtrigger/shared-slot-0x0A/same-length-template
body_sha1: bb2bc85fb9064de32bb1d2807ab41d0634fba228
body_prefix_hex: 5a005cb500535552
body_suffix_hex: 690a00766172007a
- slot: 0x20
event_name_hint:
raw_event_entry_word: 0x02ba
raw_code_offset: 0x00000123
derived_body_start: 0x0208
derived_body_end: 0x04c2
derived_body_length: 698
repeated_template_status: callback-eventtrigger/shared-slot-0x20/same-length-template
body_sha1: 137f2bb8750946fa2c84750edcc6866fb77b2874
body_prefix_hex: 5a0b5c6302535552
body_suffix_hex: f500636f6465007a
- slot: 0x21
event_name_hint:
raw_event_entry_word: 0x0709
raw_code_offset: 0x000003dd
derived_body_start: 0x04c2
derived_body_end: 0x0bcb
derived_body_length: 1801
repeated_template_status: callback-eventtrigger/shared-slot-0x21/shared-slot-template
body_sha1: 215c83fb3e76bf447b8768b537edfb99f58e600b
body_prefix_hex: 5a145c9606535552
body_suffix_hex: 000062ec007a007a
- slot: 0x22
event_name_hint:
raw_event_entry_word: 0x01a3
raw_code_offset: 0x00000ae6
derived_body_start: 0x0bcb
derived_body_end: 0x0d6e
derived_body_length: 419
repeated_template_status: callback-eventtrigger/shared-slot-0x22/same-length-template
body_sha1: e01ce4b7741b642ddc4ebd220aafe847bd07300b
body_prefix_hex: 5a035c6b01535552
body_suffix_hex: 756e6447756e007a
```

View file

@ -0,0 +1,11 @@
entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
284 0x4DE SURCAMEW 0x01 use 0x00F7 0x000000D2 0x01B7 0x02AE 247 callback-eventtrigger/shared-slot-0x01/shared-slot-template a132370f9360cae36a81dd0372108c555a964d88 5a005ce300535552 666572656e74007a
284 0x4DE SURCAMEW 0x0A equip 0x00D1 0x00000001 0x00E6 0x01B7 209 callback-eventtrigger/shared-slot-0x0A/same-length-template 61ffc6347df026ded22dfebd2afe55826f1e9ad2 5a005cb500535552 690a00766172007a
284 0x4DE SURCAMEW 0x20 0x02BA 0x000001C9 0x02AE 0x0568 698 callback-eventtrigger/shared-slot-0x20/same-length-template 155c3cf663c03a6f53846938ac7c289aeb3c4c26 5a0b5c6302535552 f500636f6465007a
284 0x4DE SURCAMEW 0x21 0x0655 0x00000483 0x0568 0x0BBD 1621 callback-eventtrigger/shared-slot-0x21/shared-slot-template dd8da26eae780920efc8ae8c51db5e9e8151914c 5a145ce205535552 000062ec007a007a
284 0x4DE SURCAMEW 0x22 0x01A3 0x00000AD8 0x0BBD 0x0D60 419 callback-eventtrigger/shared-slot-0x22/same-length-template 0dd40a9416581d71aed72d5cdb63656468f50d43 5a035c6b01535552 756e6447756e007a
269 0x4C6 SURCAMNS 0x01 use 0x0051 0x000000D2 0x01B7 0x0208 81 callback-eventtrigger/shared-slot-0x01/shared-slot-template af6e6f93e4879920b189bfdeede69bb18e3307d5 5a005c3d00535552 666572656e74007a
269 0x4C6 SURCAMNS 0x0A equip 0x00D1 0x00000001 0x00E6 0x01B7 209 callback-eventtrigger/shared-slot-0x0A/same-length-template bb2bc85fb9064de32bb1d2807ab41d0634fba228 5a005cb500535552 690a00766172007a
269 0x4C6 SURCAMNS 0x20 0x02BA 0x00000123 0x0208 0x04C2 698 callback-eventtrigger/shared-slot-0x20/same-length-template 137f2bb8750946fa2c84750edcc6866fb77b2874 5a0b5c6302535552 f500636f6465007a
269 0x4C6 SURCAMNS 0x21 0x0709 0x000003DD 0x04C2 0x0BCB 1801 callback-eventtrigger/shared-slot-0x21/shared-slot-template 215c83fb3e76bf447b8768b537edfb99f58e600b 5a145c9606535552 000062ec007a007a
269 0x4C6 SURCAMNS 0x22 0x01A3 0x00000AE6 0x0BCB 0x0D6E 419 callback-eventtrigger/shared-slot-0x22/same-length-template e01ce4b7741b642ddc4ebd220aafe847bd07300b 5a035c6b01535552 756e6447756e007a
1 entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
2 284 0x4DE SURCAMEW 0x01 use 0x00F7 0x000000D2 0x01B7 0x02AE 247 callback-eventtrigger/shared-slot-0x01/shared-slot-template a132370f9360cae36a81dd0372108c555a964d88 5a005ce300535552 666572656e74007a
3 284 0x4DE SURCAMEW 0x0A equip 0x00D1 0x00000001 0x00E6 0x01B7 209 callback-eventtrigger/shared-slot-0x0A/same-length-template 61ffc6347df026ded22dfebd2afe55826f1e9ad2 5a005cb500535552 690a00766172007a
4 284 0x4DE SURCAMEW 0x20 0x02BA 0x000001C9 0x02AE 0x0568 698 callback-eventtrigger/shared-slot-0x20/same-length-template 155c3cf663c03a6f53846938ac7c289aeb3c4c26 5a0b5c6302535552 f500636f6465007a
5 284 0x4DE SURCAMEW 0x21 0x0655 0x00000483 0x0568 0x0BBD 1621 callback-eventtrigger/shared-slot-0x21/shared-slot-template dd8da26eae780920efc8ae8c51db5e9e8151914c 5a145ce205535552 000062ec007a007a
6 284 0x4DE SURCAMEW 0x22 0x01A3 0x00000AD8 0x0BBD 0x0D60 419 callback-eventtrigger/shared-slot-0x22/same-length-template 0dd40a9416581d71aed72d5cdb63656468f50d43 5a035c6b01535552 756e6447756e007a
7 269 0x4C6 SURCAMNS 0x01 use 0x0051 0x000000D2 0x01B7 0x0208 81 callback-eventtrigger/shared-slot-0x01/shared-slot-template af6e6f93e4879920b189bfdeede69bb18e3307d5 5a005c3d00535552 666572656e74007a
8 269 0x4C6 SURCAMNS 0x0A equip 0x00D1 0x00000001 0x00E6 0x01B7 209 callback-eventtrigger/shared-slot-0x0A/same-length-template bb2bc85fb9064de32bb1d2807ab41d0634fba228 5a005cb500535552 690a00766172007a
9 269 0x4C6 SURCAMNS 0x20 0x02BA 0x00000123 0x0208 0x04C2 698 callback-eventtrigger/shared-slot-0x20/same-length-template 137f2bb8750946fa2c84750edcc6866fb77b2874 5a0b5c6302535552 f500636f6465007a
10 269 0x4C6 SURCAMNS 0x21 0x0709 0x000003DD 0x04C2 0x0BCB 1801 callback-eventtrigger/shared-slot-0x21/shared-slot-template 215c83fb3e76bf447b8768b537edfb99f58e600b 5a145c9606535552 000062ec007a007a
11 269 0x4C6 SURCAMNS 0x22 0x01A3 0x00000AE6 0x0BCB 0x0D6E 419 callback-eventtrigger/shared-slot-0x22/same-length-template e01ce4b7741b642ddc4ebd220aafe847bd07300b 5a035c6b01535552 756e6447756e007a

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,145 @@
# Environmental Family Decompiled Event Sketches
This is a reversible per-class rendering derived directly from `class_event_index.tsv` plus the raw extracted chunk bytes.
ScummVM event labels remain hints only; the authoritative data here is the slot id, raw row bytes, and derived body window.
## FLAMEBOX
```yaml
class:
entry_index: 0x0E5
class_id: 0x403
class_name: FLAMEBOX
class_object_index: 0x405
raw_code_base_u32: 0xE0
code_base_minus_one: 0xDF
conservative_event_count: 34
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x026a
raw_code_offset: 0x00000001
derived_body_start: 0x00e0
derived_body_end: 0x034a
derived_body_length: 618
repeated_template_status: environmental-event/shared-slot-0x0A/shared-slot-template
body_sha1: ae2a680ccf984b74404e7c105e0b2f9331e58a11
body_prefix_hex: 5a065c2902464c41
body_suffix_hex: 656374696f6e007a
- slot: 0x20
event_name_hint:
raw_event_entry_word: 0x01ac
raw_code_offset: 0x0000026b
derived_body_start: 0x034a
derived_body_end: 0x04f6
derived_body_length: 428
repeated_template_status: environmental-event/shared-slot-0x20/shared-slot-template
body_sha1: 73ea45e739673c86eb92fe6a328a1a8442da767d
body_prefix_hex: 5a045c6b01464c41
body_suffix_hex: 666c616d6532007a
- slot: 0x21
event_name_hint:
raw_event_entry_word: 0x029a
raw_code_offset: 0x00000417
derived_body_start: 0x04f6
derived_body_end: 0x0790
derived_body_length: 666
repeated_template_status: environmental-event/shared-slot-0x21/shared-slot-template
body_sha1: 8bdf9b3c2792514b300c2a4768f21e525313e86d
body_prefix_hex: 5a065c4d02464c41
body_suffix_hex: 657754797065007a
```
## NOSTRIL
```yaml
class:
entry_index: 0x0ED
class_id: 0x43E
class_name: NOSTRIL
class_object_index: 0x440
raw_code_base_u32: 0xE0
code_base_minus_one: 0xDF
conservative_event_count: 34
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x00c0
raw_code_offset: 0x00000001
derived_body_start: 0x00e0
derived_body_end: 0x01a0
derived_body_length: 192
repeated_template_status: environmental-event/shared-slot-0x0A/shared-slot-template
body_sha1: a9d5700c4ff677d813fffdd67444ebd4ac6f4b19
body_prefix_hex: 5a025c99004e4f53
body_suffix_hex: fe0266697265007a
- slot: 0x20
event_name_hint:
raw_event_entry_word: 0x0129
raw_code_offset: 0x000000c1
derived_body_start: 0x01a0
derived_body_end: 0x02c9
derived_body_length: 297
repeated_template_status: environmental-event/shared-slot-0x20/shared-slot-template
body_sha1: fd7fca65f43267c20931c91f1db269cccde92947
body_prefix_hex: 5a045cf8004e4f53
body_suffix_hex: 026669726532007a
- slot: 0x21
event_name_hint:
raw_event_entry_word: 0x01be
raw_code_offset: 0x000001ea
derived_body_start: 0x02c9
derived_body_end: 0x0487
derived_body_length: 446
repeated_template_status: environmental-event/shared-slot-0x21/shared-slot-template
body_sha1: e3257250cfa12e430d872bd0ecc03e7e8d41a63d
body_prefix_hex: 5a065c8d014e4f53
body_suffix_hex: 00636f756e74007a
```
## STEAMBOX
```yaml
class:
entry_index: 0x128
class_id: 0x500
class_name: STEAMBOX
class_object_index: 0x502
raw_code_base_u32: 0xE0
code_base_minus_one: 0xDF
conservative_event_count: 34
events:
- slot: 0x0a
event_name_hint: equip
raw_event_entry_word: 0x0266
raw_code_offset: 0x00000001
derived_body_start: 0x00e0
derived_body_end: 0x0346
derived_body_length: 614
repeated_template_status: environmental-event/shared-slot-0x0A/shared-slot-template
body_sha1: 0c7a45d14c66b5b6d8611f3eea647657e982e8c9
body_prefix_hex: 5a065c2502535445
body_suffix_hex: 656374696f6e007a
- slot: 0x20
event_name_hint:
raw_event_entry_word: 0x01f6
raw_code_offset: 0x00000267
derived_body_start: 0x0346
derived_body_end: 0x053c
derived_body_length: 502
repeated_template_status: environmental-event/shared-slot-0x20/shared-slot-template
body_sha1: b42657cfea765abc07c9b0e99020d7c8783f06ef
body_prefix_hex: 5a045cb501535445
body_suffix_hex: 737465616d32007a
- slot: 0x21
event_name_hint:
raw_event_entry_word: 0x02a7
raw_code_offset: 0x0000045d
derived_body_start: 0x053c
derived_body_end: 0x07e3
derived_body_length: 679
repeated_template_status: environmental-event/shared-slot-0x21/shared-slot-template
body_sha1: a7cf9924083dbcb16dbb2372a6c4f8ffeec578db
body_prefix_hex: 5a045c6602535445
body_suffix_hex: 737465616d32007a
```

View file

@ -0,0 +1,10 @@
entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
229 0x403 FLAMEBOX 0x0A equip 0x026A 0x00000001 0x00E0 0x034A 618 environmental-event/shared-slot-0x0A/shared-slot-template ae2a680ccf984b74404e7c105e0b2f9331e58a11 5a065c2902464c41 656374696f6e007a
229 0x403 FLAMEBOX 0x20 0x01AC 0x0000026B 0x034A 0x04F6 428 environmental-event/shared-slot-0x20/shared-slot-template 73ea45e739673c86eb92fe6a328a1a8442da767d 5a045c6b01464c41 666c616d6532007a
229 0x403 FLAMEBOX 0x21 0x029A 0x00000417 0x04F6 0x0790 666 environmental-event/shared-slot-0x21/shared-slot-template 8bdf9b3c2792514b300c2a4768f21e525313e86d 5a065c4d02464c41 657754797065007a
237 0x43E NOSTRIL 0x0A equip 0x00C0 0x00000001 0x00E0 0x01A0 192 environmental-event/shared-slot-0x0A/shared-slot-template a9d5700c4ff677d813fffdd67444ebd4ac6f4b19 5a025c99004e4f53 fe0266697265007a
237 0x43E NOSTRIL 0x20 0x0129 0x000000C1 0x01A0 0x02C9 297 environmental-event/shared-slot-0x20/shared-slot-template fd7fca65f43267c20931c91f1db269cccde92947 5a045cf8004e4f53 026669726532007a
237 0x43E NOSTRIL 0x21 0x01BE 0x000001EA 0x02C9 0x0487 446 environmental-event/shared-slot-0x21/shared-slot-template e3257250cfa12e430d872bd0ecc03e7e8d41a63d 5a065c8d014e4f53 00636f756e74007a
296 0x500 STEAMBOX 0x0A equip 0x0266 0x00000001 0x00E0 0x0346 614 environmental-event/shared-slot-0x0A/shared-slot-template 0c7a45d14c66b5b6d8611f3eea647657e982e8c9 5a065c2502535445 656374696f6e007a
296 0x500 STEAMBOX 0x20 0x01F6 0x00000267 0x0346 0x053C 502 environmental-event/shared-slot-0x20/shared-slot-template b42657cfea765abc07c9b0e99020d7c8783f06ef 5a045cb501535445 737465616d32007a
296 0x500 STEAMBOX 0x21 0x02A7 0x0000045D 0x053C 0x07E3 679 environmental-event/shared-slot-0x21/shared-slot-template a7cf9924083dbcb16dbb2372a6c4f8ffeec578db 5a045c6602535445 737465616d32007a
1 entry_index class_id class_name slot event_name_hint raw_event_entry_word raw_code_offset derived_body_start derived_body_end derived_body_length repeated_template_status body_sha1 body_prefix_hex body_suffix_hex
2 229 0x403 FLAMEBOX 0x0A equip 0x026A 0x00000001 0x00E0 0x034A 618 environmental-event/shared-slot-0x0A/shared-slot-template ae2a680ccf984b74404e7c105e0b2f9331e58a11 5a065c2902464c41 656374696f6e007a
3 229 0x403 FLAMEBOX 0x20 0x01AC 0x0000026B 0x034A 0x04F6 428 environmental-event/shared-slot-0x20/shared-slot-template 73ea45e739673c86eb92fe6a328a1a8442da767d 5a045c6b01464c41 666c616d6532007a
4 229 0x403 FLAMEBOX 0x21 0x029A 0x00000417 0x04F6 0x0790 666 environmental-event/shared-slot-0x21/shared-slot-template 8bdf9b3c2792514b300c2a4768f21e525313e86d 5a065c4d02464c41 657754797065007a
5 237 0x43E NOSTRIL 0x0A equip 0x00C0 0x00000001 0x00E0 0x01A0 192 environmental-event/shared-slot-0x0A/shared-slot-template a9d5700c4ff677d813fffdd67444ebd4ac6f4b19 5a025c99004e4f53 fe0266697265007a
6 237 0x43E NOSTRIL 0x20 0x0129 0x000000C1 0x01A0 0x02C9 297 environmental-event/shared-slot-0x20/shared-slot-template fd7fca65f43267c20931c91f1db269cccde92947 5a045cf8004e4f53 026669726532007a
7 237 0x43E NOSTRIL 0x21 0x01BE 0x000001EA 0x02C9 0x0487 446 environmental-event/shared-slot-0x21/shared-slot-template e3257250cfa12e430d872bd0ecc03e7e8d41a63d 5a065c8d014e4f53 00636f756e74007a
8 296 0x500 STEAMBOX 0x0A equip 0x0266 0x00000001 0x00E0 0x0346 614 environmental-event/shared-slot-0x0A/shared-slot-template 0c7a45d14c66b5b6d8611f3eea647657e982e8c9 5a065c2502535445 656374696f6e007a
9 296 0x500 STEAMBOX 0x20 0x01F6 0x00000267 0x0346 0x053C 502 environmental-event/shared-slot-0x20/shared-slot-template b42657cfea765abc07c9b0e99020d7c8783f06ef 5a045cb501535445 737465616d32007a
10 296 0x500 STEAMBOX 0x21 0x02A7 0x0000045D 0x053C 0x07E3 679 environmental-event/shared-slot-0x21/shared-slot-template a7cf9924083dbcb16dbb2372a6c4f8ffeec578db 5a045c6602535445 737465616d32007a

View file

@ -0,0 +1,49 @@
record_type class_name slot expected actual status
slot-set AND_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
slot-set BRO_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
slot-set COR_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
slot-set FLAMEBOX * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
slot-set JELYH2 * 0x01 0x01 ok
slot-set JELYHACK * 0x01 0x01 ok
slot-set NOSTRIL * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
slot-set REE_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
slot-set STEAMBOX * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
slot-set SURCAMEW * 0x01,0x0A,0x20,0x21,0x22 0x01,0x0A,0x20,0x21,0x22 ok
slot-set SURCAMNS * 0x01,0x0A,0x20,0x21,0x22 0x01,0x0A,0x20,0x21,0x22 ok
slot-set VAR_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
row JELYHACK 0x01 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template ok
row JELYH2 0x01 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template ok
row AND_BOOT 0x0A 0x0253|0x00000001|0x00D4|0x0327|595|boot-event-core/shared-slot-0x0A/shared-slot-template 0x0253|0x00000001|0x00D4|0x0327|595|boot-event-core/shared-slot-0x0A/shared-slot-template ok
row AND_BOOT 0x0F 0x0237|0x00000254|0x0327|0x055E|567|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0237|0x00000254|0x0327|0x055E|567|boot-event-core/shared-slot-0x0F/shared-slot-template ok
row AND_BOOT 0x10 0x003B|0x0000048B|0x055E|0x0599|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x0000048B|0x055E|0x0599|59|boot-event-core/shared-slot-0x10/same-length-template ok
row BRO_BOOT 0x0A 0x02D5|0x00000001|0x00D4|0x03A9|725|boot-event-core/shared-slot-0x0A/shared-slot-template 0x02D5|0x00000001|0x00D4|0x03A9|725|boot-event-core/shared-slot-0x0A/shared-slot-template ok
row BRO_BOOT 0x0F 0x024C|0x000002D6|0x03A9|0x05F5|588|boot-event-core/shared-slot-0x0F/shared-slot-template 0x024C|0x000002D6|0x03A9|0x05F5|588|boot-event-core/shared-slot-0x0F/shared-slot-template ok
row BRO_BOOT 0x10 0x003B|0x00000522|0x05F5|0x0630|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x00000522|0x05F5|0x0630|59|boot-event-core/shared-slot-0x10/same-length-template ok
row COR_BOOT 0x0A 0x0227|0x00000001|0x00D4|0x02FB|551|boot-event-core/shared-slot-0x0A/shared-slot-template 0x0227|0x00000001|0x00D4|0x02FB|551|boot-event-core/shared-slot-0x0A/shared-slot-template ok
row COR_BOOT 0x0F 0x0234|0x00000228|0x02FB|0x052F|564|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0234|0x00000228|0x02FB|0x052F|564|boot-event-core/shared-slot-0x0F/shared-slot-template ok
row COR_BOOT 0x10 0x003B|0x0000045C|0x052F|0x056A|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x0000045C|0x052F|0x056A|59|boot-event-core/shared-slot-0x10/same-length-template ok
row REE_BOOT 0x0A 0x034B|0x00000001|0x00D4|0x041F|843|boot-event-core/shared-slot-0x0A/shared-slot-template 0x034B|0x00000001|0x00D4|0x041F|843|boot-event-core/shared-slot-0x0A/shared-slot-template ok
row REE_BOOT 0x0F 0x025C|0x0000034C|0x041F|0x067B|604|boot-event-core/shared-slot-0x0F/shared-slot-template 0x025C|0x0000034C|0x041F|0x067B|604|boot-event-core/shared-slot-0x0F/shared-slot-template ok
row REE_BOOT 0x10 0x003B|0x000005A8|0x067B|0x06B6|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x000005A8|0x067B|0x06B6|59|boot-event-core/shared-slot-0x10/same-length-template ok
row VAR_BOOT 0x0A 0x029A|0x00000001|0x00D4|0x036E|666|boot-event-core/shared-slot-0x0A/shared-slot-template 0x029A|0x00000001|0x00D4|0x036E|666|boot-event-core/shared-slot-0x0A/shared-slot-template ok
row VAR_BOOT 0x0F 0x0244|0x0000029B|0x036E|0x05B2|580|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0244|0x0000029B|0x036E|0x05B2|580|boot-event-core/shared-slot-0x0F/shared-slot-template ok
row VAR_BOOT 0x10 0x003B|0x000004DF|0x05B2|0x05ED|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x000004DF|0x05B2|0x05ED|59|boot-event-core/shared-slot-0x10/same-length-template ok
row SURCAMNS 0x01 0x0051|0x000000D2|0x01B7|0x0208|81|callback-eventtrigger/shared-slot-0x01/shared-slot-template 0x0051|0x000000D2|0x01B7|0x0208|81|callback-eventtrigger/shared-slot-0x01/shared-slot-template ok
row SURCAMNS 0x0A 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template ok
row SURCAMNS 0x20 0x02BA|0x00000123|0x0208|0x04C2|698|callback-eventtrigger/shared-slot-0x20/same-length-template 0x02BA|0x00000123|0x0208|0x04C2|698|callback-eventtrigger/shared-slot-0x20/same-length-template ok
row SURCAMNS 0x21 0x0709|0x000003DD|0x04C2|0x0BCB|1801|callback-eventtrigger/shared-slot-0x21/shared-slot-template 0x0709|0x000003DD|0x04C2|0x0BCB|1801|callback-eventtrigger/shared-slot-0x21/shared-slot-template ok
row SURCAMNS 0x22 0x01A3|0x00000AE6|0x0BCB|0x0D6E|419|callback-eventtrigger/shared-slot-0x22/same-length-template 0x01A3|0x00000AE6|0x0BCB|0x0D6E|419|callback-eventtrigger/shared-slot-0x22/same-length-template ok
row SURCAMEW 0x01 0x00F7|0x000000D2|0x01B7|0x02AE|247|callback-eventtrigger/shared-slot-0x01/shared-slot-template 0x00F7|0x000000D2|0x01B7|0x02AE|247|callback-eventtrigger/shared-slot-0x01/shared-slot-template ok
row SURCAMEW 0x0A 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template ok
row SURCAMEW 0x20 0x02BA|0x000001C9|0x02AE|0x0568|698|callback-eventtrigger/shared-slot-0x20/same-length-template 0x02BA|0x000001C9|0x02AE|0x0568|698|callback-eventtrigger/shared-slot-0x20/same-length-template ok
row SURCAMEW 0x21 0x0655|0x00000483|0x0568|0x0BBD|1621|callback-eventtrigger/shared-slot-0x21/shared-slot-template 0x0655|0x00000483|0x0568|0x0BBD|1621|callback-eventtrigger/shared-slot-0x21/shared-slot-template ok
row SURCAMEW 0x22 0x01A3|0x00000AD8|0x0BBD|0x0D60|419|callback-eventtrigger/shared-slot-0x22/same-length-template 0x01A3|0x00000AD8|0x0BBD|0x0D60|419|callback-eventtrigger/shared-slot-0x22/same-length-template ok
row FLAMEBOX 0x0A 0x026A|0x00000001|0x00E0|0x034A|618|environmental-event/shared-slot-0x0A/shared-slot-template 0x026A|0x00000001|0x00E0|0x034A|618|environmental-event/shared-slot-0x0A/shared-slot-template ok
row FLAMEBOX 0x20 0x01AC|0x0000026B|0x034A|0x04F6|428|environmental-event/shared-slot-0x20/shared-slot-template 0x01AC|0x0000026B|0x034A|0x04F6|428|environmental-event/shared-slot-0x20/shared-slot-template ok
row FLAMEBOX 0x21 0x029A|0x00000417|0x04F6|0x0790|666|environmental-event/shared-slot-0x21/shared-slot-template 0x029A|0x00000417|0x04F6|0x0790|666|environmental-event/shared-slot-0x21/shared-slot-template ok
row NOSTRIL 0x0A 0x00C0|0x00000001|0x00E0|0x01A0|192|environmental-event/shared-slot-0x0A/shared-slot-template 0x00C0|0x00000001|0x00E0|0x01A0|192|environmental-event/shared-slot-0x0A/shared-slot-template ok
row NOSTRIL 0x20 0x0129|0x000000C1|0x01A0|0x02C9|297|environmental-event/shared-slot-0x20/shared-slot-template 0x0129|0x000000C1|0x01A0|0x02C9|297|environmental-event/shared-slot-0x20/shared-slot-template ok
row NOSTRIL 0x21 0x01BE|0x000001EA|0x02C9|0x0487|446|environmental-event/shared-slot-0x21/shared-slot-template 0x01BE|0x000001EA|0x02C9|0x0487|446|environmental-event/shared-slot-0x21/shared-slot-template ok
row STEAMBOX 0x0A 0x0266|0x00000001|0x00E0|0x0346|614|environmental-event/shared-slot-0x0A/shared-slot-template 0x0266|0x00000001|0x00E0|0x0346|614|environmental-event/shared-slot-0x0A/shared-slot-template ok
row STEAMBOX 0x20 0x01F6|0x00000267|0x0346|0x053C|502|environmental-event/shared-slot-0x20/shared-slot-template 0x01F6|0x00000267|0x0346|0x053C|502|environmental-event/shared-slot-0x20/shared-slot-template ok
row STEAMBOX 0x21 0x02A7|0x0000045D|0x053C|0x07E3|679|environmental-event/shared-slot-0x21/shared-slot-template 0x02A7|0x0000045D|0x053C|0x07E3|679|environmental-event/shared-slot-0x21/shared-slot-template ok
1 record_type class_name slot expected actual status
2 slot-set AND_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
3 slot-set BRO_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
4 slot-set COR_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
5 slot-set FLAMEBOX * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
6 slot-set JELYH2 * 0x01 0x01 ok
7 slot-set JELYHACK * 0x01 0x01 ok
8 slot-set NOSTRIL * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
9 slot-set REE_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
10 slot-set STEAMBOX * 0x0A,0x20,0x21 0x0A,0x20,0x21 ok
11 slot-set SURCAMEW * 0x01,0x0A,0x20,0x21,0x22 0x01,0x0A,0x20,0x21,0x22 ok
12 slot-set SURCAMNS * 0x01,0x0A,0x20,0x21,0x22 0x01,0x0A,0x20,0x21,0x22 ok
13 slot-set VAR_BOOT * 0x0A,0x0F,0x10 0x0A,0x0F,0x10 ok
14 row JELYHACK 0x01 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template ok
15 row JELYH2 0x01 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template 0x002A|0x00000001|0x00D4|0x00FE|42|referent-anchor-twin/shared-slot-0x01/same-length-template ok
16 row AND_BOOT 0x0A 0x0253|0x00000001|0x00D4|0x0327|595|boot-event-core/shared-slot-0x0A/shared-slot-template 0x0253|0x00000001|0x00D4|0x0327|595|boot-event-core/shared-slot-0x0A/shared-slot-template ok
17 row AND_BOOT 0x0F 0x0237|0x00000254|0x0327|0x055E|567|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0237|0x00000254|0x0327|0x055E|567|boot-event-core/shared-slot-0x0F/shared-slot-template ok
18 row AND_BOOT 0x10 0x003B|0x0000048B|0x055E|0x0599|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x0000048B|0x055E|0x0599|59|boot-event-core/shared-slot-0x10/same-length-template ok
19 row BRO_BOOT 0x0A 0x02D5|0x00000001|0x00D4|0x03A9|725|boot-event-core/shared-slot-0x0A/shared-slot-template 0x02D5|0x00000001|0x00D4|0x03A9|725|boot-event-core/shared-slot-0x0A/shared-slot-template ok
20 row BRO_BOOT 0x0F 0x024C|0x000002D6|0x03A9|0x05F5|588|boot-event-core/shared-slot-0x0F/shared-slot-template 0x024C|0x000002D6|0x03A9|0x05F5|588|boot-event-core/shared-slot-0x0F/shared-slot-template ok
21 row BRO_BOOT 0x10 0x003B|0x00000522|0x05F5|0x0630|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x00000522|0x05F5|0x0630|59|boot-event-core/shared-slot-0x10/same-length-template ok
22 row COR_BOOT 0x0A 0x0227|0x00000001|0x00D4|0x02FB|551|boot-event-core/shared-slot-0x0A/shared-slot-template 0x0227|0x00000001|0x00D4|0x02FB|551|boot-event-core/shared-slot-0x0A/shared-slot-template ok
23 row COR_BOOT 0x0F 0x0234|0x00000228|0x02FB|0x052F|564|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0234|0x00000228|0x02FB|0x052F|564|boot-event-core/shared-slot-0x0F/shared-slot-template ok
24 row COR_BOOT 0x10 0x003B|0x0000045C|0x052F|0x056A|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x0000045C|0x052F|0x056A|59|boot-event-core/shared-slot-0x10/same-length-template ok
25 row REE_BOOT 0x0A 0x034B|0x00000001|0x00D4|0x041F|843|boot-event-core/shared-slot-0x0A/shared-slot-template 0x034B|0x00000001|0x00D4|0x041F|843|boot-event-core/shared-slot-0x0A/shared-slot-template ok
26 row REE_BOOT 0x0F 0x025C|0x0000034C|0x041F|0x067B|604|boot-event-core/shared-slot-0x0F/shared-slot-template 0x025C|0x0000034C|0x041F|0x067B|604|boot-event-core/shared-slot-0x0F/shared-slot-template ok
27 row REE_BOOT 0x10 0x003B|0x000005A8|0x067B|0x06B6|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x000005A8|0x067B|0x06B6|59|boot-event-core/shared-slot-0x10/same-length-template ok
28 row VAR_BOOT 0x0A 0x029A|0x00000001|0x00D4|0x036E|666|boot-event-core/shared-slot-0x0A/shared-slot-template 0x029A|0x00000001|0x00D4|0x036E|666|boot-event-core/shared-slot-0x0A/shared-slot-template ok
29 row VAR_BOOT 0x0F 0x0244|0x0000029B|0x036E|0x05B2|580|boot-event-core/shared-slot-0x0F/shared-slot-template 0x0244|0x0000029B|0x036E|0x05B2|580|boot-event-core/shared-slot-0x0F/shared-slot-template ok
30 row VAR_BOOT 0x10 0x003B|0x000004DF|0x05B2|0x05ED|59|boot-event-core/shared-slot-0x10/same-length-template 0x003B|0x000004DF|0x05B2|0x05ED|59|boot-event-core/shared-slot-0x10/same-length-template ok
31 row SURCAMNS 0x01 0x0051|0x000000D2|0x01B7|0x0208|81|callback-eventtrigger/shared-slot-0x01/shared-slot-template 0x0051|0x000000D2|0x01B7|0x0208|81|callback-eventtrigger/shared-slot-0x01/shared-slot-template ok
32 row SURCAMNS 0x0A 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template ok
33 row SURCAMNS 0x20 0x02BA|0x00000123|0x0208|0x04C2|698|callback-eventtrigger/shared-slot-0x20/same-length-template 0x02BA|0x00000123|0x0208|0x04C2|698|callback-eventtrigger/shared-slot-0x20/same-length-template ok
34 row SURCAMNS 0x21 0x0709|0x000003DD|0x04C2|0x0BCB|1801|callback-eventtrigger/shared-slot-0x21/shared-slot-template 0x0709|0x000003DD|0x04C2|0x0BCB|1801|callback-eventtrigger/shared-slot-0x21/shared-slot-template ok
35 row SURCAMNS 0x22 0x01A3|0x00000AE6|0x0BCB|0x0D6E|419|callback-eventtrigger/shared-slot-0x22/same-length-template 0x01A3|0x00000AE6|0x0BCB|0x0D6E|419|callback-eventtrigger/shared-slot-0x22/same-length-template ok
36 row SURCAMEW 0x01 0x00F7|0x000000D2|0x01B7|0x02AE|247|callback-eventtrigger/shared-slot-0x01/shared-slot-template 0x00F7|0x000000D2|0x01B7|0x02AE|247|callback-eventtrigger/shared-slot-0x01/shared-slot-template ok
37 row SURCAMEW 0x0A 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template 0x00D1|0x00000001|0x00E6|0x01B7|209|callback-eventtrigger/shared-slot-0x0A/same-length-template ok
38 row SURCAMEW 0x20 0x02BA|0x000001C9|0x02AE|0x0568|698|callback-eventtrigger/shared-slot-0x20/same-length-template 0x02BA|0x000001C9|0x02AE|0x0568|698|callback-eventtrigger/shared-slot-0x20/same-length-template ok
39 row SURCAMEW 0x21 0x0655|0x00000483|0x0568|0x0BBD|1621|callback-eventtrigger/shared-slot-0x21/shared-slot-template 0x0655|0x00000483|0x0568|0x0BBD|1621|callback-eventtrigger/shared-slot-0x21/shared-slot-template ok
40 row SURCAMEW 0x22 0x01A3|0x00000AD8|0x0BBD|0x0D60|419|callback-eventtrigger/shared-slot-0x22/same-length-template 0x01A3|0x00000AD8|0x0BBD|0x0D60|419|callback-eventtrigger/shared-slot-0x22/same-length-template ok
41 row FLAMEBOX 0x0A 0x026A|0x00000001|0x00E0|0x034A|618|environmental-event/shared-slot-0x0A/shared-slot-template 0x026A|0x00000001|0x00E0|0x034A|618|environmental-event/shared-slot-0x0A/shared-slot-template ok
42 row FLAMEBOX 0x20 0x01AC|0x0000026B|0x034A|0x04F6|428|environmental-event/shared-slot-0x20/shared-slot-template 0x01AC|0x0000026B|0x034A|0x04F6|428|environmental-event/shared-slot-0x20/shared-slot-template ok
43 row FLAMEBOX 0x21 0x029A|0x00000417|0x04F6|0x0790|666|environmental-event/shared-slot-0x21/shared-slot-template 0x029A|0x00000417|0x04F6|0x0790|666|environmental-event/shared-slot-0x21/shared-slot-template ok
44 row NOSTRIL 0x0A 0x00C0|0x00000001|0x00E0|0x01A0|192|environmental-event/shared-slot-0x0A/shared-slot-template 0x00C0|0x00000001|0x00E0|0x01A0|192|environmental-event/shared-slot-0x0A/shared-slot-template ok
45 row NOSTRIL 0x20 0x0129|0x000000C1|0x01A0|0x02C9|297|environmental-event/shared-slot-0x20/shared-slot-template 0x0129|0x000000C1|0x01A0|0x02C9|297|environmental-event/shared-slot-0x20/shared-slot-template ok
46 row NOSTRIL 0x21 0x01BE|0x000001EA|0x02C9|0x0487|446|environmental-event/shared-slot-0x21/shared-slot-template 0x01BE|0x000001EA|0x02C9|0x0487|446|environmental-event/shared-slot-0x21/shared-slot-template ok
47 row STEAMBOX 0x0A 0x0266|0x00000001|0x00E0|0x0346|614|environmental-event/shared-slot-0x0A/shared-slot-template 0x0266|0x00000001|0x00E0|0x0346|614|environmental-event/shared-slot-0x0A/shared-slot-template ok
48 row STEAMBOX 0x20 0x01F6|0x00000267|0x0346|0x053C|502|environmental-event/shared-slot-0x20/shared-slot-template 0x01F6|0x00000267|0x0346|0x053C|502|environmental-event/shared-slot-0x20/shared-slot-template ok
49 row STEAMBOX 0x21 0x02A7|0x0000045D|0x053C|0x07E3|679|environmental-event/shared-slot-0x21/shared-slot-template 0x02A7|0x0000045D|0x053C|0x07E3|679|environmental-event/shared-slot-0x21/shared-slot-template ok

View file

@ -1,5 +1,5 @@
{
"input_path": "k:\\ghidra\\Crusader_Decomp\\USECODE\\EUSECODE.FLX",
"input_path": "USECODE\\EUSECODE.FLX",
"file_size": 556613,
"header_preview_hex": "1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1a0000020c000001000000000000000000000000000000000000000000000000000000000000000000000000000000",
"header_preview_ascii": "................................................................................................................................",