Add extractor for Crusader's EUSECODE.FLX container

- Implemented a Python script to extract data from the EUSECODE.FLX file format.
- Defined data structures for candidate entries and extracted chunks using dataclasses.
- Added functions to read and parse the FLX table, extract candidate data, and generate human-readable output files.
- Included functionality for analyzing extracted data, including generating summaries, descriptors, and event family reports.
- Implemented utilities for calculating printable ratios, zero ratios, and identifying text-like data.
- Added support for writing various output formats, including JSON, TSV, and Markdown.
This commit is contained in:
MaddoScientisto 2026-03-22 14:27:38 +01:00
commit 3daffbf113
58 changed files with 30295 additions and 2504 deletions

View file

@ -0,0 +1,24 @@
entry_index label role data_offset declared_size header_u16 header_u32 printable_markers field_tags
186 ROLL_NS referent-neighbor 0x56920 0xC64 0x0002,0x0000,0x0B84,0x0000,0x00E0,0x0000,0x0C64,0x0000,0x0E76,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000002,0x00000B84,0x000000E0,0x00000C64,0x00000E76,0x00000000,0x00000000,0x00000000 wx[|Y?
@|wx[$|?
|$Q*|$Q5|$Qt|$QM 24:EB02->cargo,24:FC02->item,24:FC02->item2,24:FE02->item,53:0000->ma0Q6,62:E800->zMax,69:0000->referent,69:E900->zCheck,69:F200->oldz,69:F600->counter,69:F800->total,69:FE00->time,6C:FA02->riderList
189 COR_BOOT event-bearing 0x1D610 0x56A 0x0000,0x0000,0x0496,0x0000,0x00D4,0x0000,0x056A,0x0000,0x0674,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000000,0x00000496,0x000000D4,0x0000056A,0x00000674,0x00000000,0x00000000,0x00000000 wx[|^
$Q|$Q0|$Q1|t$t=t@[P|^$Q|t$t=t@[\ 24:FE02->item,69:0000->referent,69:0A00->event,69:FC00->counter,69:FE00->counter
190 EVENT event-bearing 0x2F49E 0x20AA 0x0000,0x0000,0x1FD6,0x0000,0x00D4,0x0000,0x20AA,0x0000,0x2104,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000000,0x00001FD6,0x000000D4,0x000020AA,0x00002104,0x00000000,0x00000000,0x00000000 wx[4|?
|$Q*|$Q<|$Q[|$Q.|?
$Q|?
$Q= 0D:0500->mva3b,24:D102->flicMan,24:D702->floor,24:D902->post2,24:DB02->post1,24:F802->door,24:FA02->dest,24:FC02->source,24:FE02->item,69:0000->referent,69:0A00->event,69:E100->time,69:EB00->link,69:EF00->counter,69:EF00->counter2,69:F100->counter
191 NPCTRIG event-bearing 0x4C347 0x3A8 0x0001,0x0000,0x02CE,0x0000,0x00DA,0x0000,0x03A8,0x0000,0x045A,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000001,0x000002CE,0x000000DA,0x000003A8,0x0000045A,0x00000000,0x00000000,0x00000000 wx[ |?
|$Q'|wt$t=t@[S|?
K 24:FA02->item,24:FA02->item2,24:FC02->item,24:FC02->item2,24:FE02->item,69:0000->referent,69:0A00->event,69:0A00->typeNpc
193 CRUZTRIG referent-neighbor 0x1DE58 0x34B 0x0000,0x0000,0x0277,0x0000,0x00D4,0x0000,0x034B,0x0000,0x03A5,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000000,0x00000277,0x000000D4,0x0000034B,0x000003A5,0x00000000,0x00000000,0x00000000 wx[|t$t=t@[3 24:FC02->elev,24:FE02->item,69:0000->referent
194 NPC_ONLY referent-neighbor 0x4C6EF 0x2EB 0x0000,0x0000,0x0217,0x0000,0x00D4,0x0000,0x02EB,0x0000,0x0345,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000000,0x00000217,0x000000D4,0x000002EB,0x00000345,0x00000000,0x00000000,0x00000000 wx[|,?
|^$Qh 24:FE02->item,69:0000->referent,69:FA00->link
195 VMAIL referent-neighbor 0x6AA63 0x47A 0x0000,0x0000,0x03A6,0x0000,0x00D4,0x0000,0x047A,0x0000,0x04D4,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000 0x00000000,0x000003A6,0x000000D4,0x0000047A,0x000004D4,0x00000000,0x00000000,0x00000000 wx[|$Q0|$Q1 69:0000->referent,73:FE00->textFile
Can't render this file because it has a wrong number of fields in line 2.