Crusader_Decomp/crusader_segment_coverage_ledger.csv
MaddoScientisto 519af09912 Add segment coverage ledger and mid-project plan for Crusader decompilation
- Created `crusader_segment_coverage_ledger.csv` to track segment coverage status, types, and known functions.
- Introduced `plan-mid.md` as a mid-project tracker outlining progress, objectives, and implementation priorities for the decompilation effort.
- Added scripts in `pyghidra_plans` to assist with instruction window dumping and reference inspection for the object at `0x4588`.
- Implemented functionality to scan for instruction uses of specific targets related to the decompilation project.
2026-03-21 16:19:46 +01:00

13 KiB

1SegmentTypeFileOffsetLengthCoverageStatusKnownSubsystemKeyNamedFunctionsBlockersNotesSource
21code0x376000x8400DeepGameplay cursor/input/projectilescursor_update_hover; entity_fire_weapon; projectile_update_tickBroader gameplay subsystem still spans adjacent segmentscrusader_decompilation_notes.md; plan-mid.md
32code0x400000x2B0Nonecrusader_ne_segments.csv
43code0x404000x55ANonecrusader_ne_segments.csv
54code0x40A000x10B1FootholdReset/cache entry pathruntime_cache_reset_sequenceASYLUM.24 and downstream reset callers still need tighter classificationcrusader_decompilation_notes.md; plan-mid.md
65code0x41E000x8D7Nonecrusader_ne_segments.csv
76code0x42C000x75ENonecrusader_ne_segments.csv
87code0x436000x484Nonecrusader_ne_segments.csv
98code0x43C000x1386Nonecrusader_ne_segments.csv
109code0x454000x495Nonecrusader_ne_segments.csv
1110code0x45A000xD92Nonecrusader_ne_segments.csv
1211code0x46E000x5B1Nonecrusader_ne_segments.csv
1312code0x476000x94BNonecrusader_ne_segments.csv
1413code0x482000x1F6CNonecrusader_ne_segments.csv
1514code0x4AA000x526Nonecrusader_ne_segments.csv
1615code0x4B2000x1C68Nonecrusader_ne_segments.csv
1716code0x4D4000x677Nonecrusader_ne_segments.csv
1817code0x4DC000x1A7Nonecrusader_ne_segments.csv
1918code0x4E0000x7E9Nonecrusader_ne_segments.csv
2019code0x4EA000xB4DNonecrusader_ne_segments.csv
2120code0x4F8000x878Nonecrusader_ne_segments.csv
2221code0x502000x4486PartialTimer/event dispatch and entity countingentity_count_by_type_a; input_keyboard_handler copyNeeds broader caller-driven expansioncrusader_decompilation_notes.md; plan-mid.md
2322code0x550000x2BD6Nonecrusader_ne_segments.csv
2423code0x582000x5D6Nonecrusader_ne_segments.csv
2524code0x58A000x6D7Nonecrusader_ne_segments.csv
2625code0x592000x1976Nonecrusader_ne_segments.csv
2726code0x5AE000x4DENonecrusader_ne_segments.csv
2827code0x5B4000x57BNonecrusader_ne_segments.csv
2928code0x5BA000x788Nonecrusader_ne_segments.csv
3029code0x5C4000x190ANonecrusader_ne_segments.csv
3130code0x5E0000x5071Nonecrusader_ne_segments.csv
3231code0x640000x6EENonecrusader_ne_segments.csv
3332code0x648000x56ANonecrusader_ne_segments.csv
3433code0x650000x10D7Nonecrusader_ne_segments.csv
3534code0x666000x253ANonecrusader_ne_segments.csv
3635code0x694000xF67Nonecrusader_ne_segments.csv
3736code0x6A6000x69FNonecrusader_ne_segments.csv
3837code0x6AE000x636Nonecrusader_ne_segments.csv
3938code0x6B6000x2318Nonecrusader_ne_segments.csv
4039code0x6E2000x3416Nonecrusader_ne_segments.csv
4140code0x722000x1E7ANonecrusader_ne_segments.csv
4241code0x746000x28DNonecrusader_ne_segments.csv
4342code0x74A000xC9CNonecrusader_ne_segments.csv
4443code0x75A000x336FPartialGameplay targeting/facing repair clusterentity_set_at_target_update_facing; seg043_func_0090; seg043_func_021cTwo repaired functions remain positional and thunk-heavycrusader_decompilation_notes.md; plan-mid.md
4544code0x794000x7F8Nonecrusader_ne_segments.csv
4645code0x79E000x200Nonecrusader_ne_segments.csv
4746code0x7A2000x7DCNonecrusader_ne_segments.csv
4847code0x7AC000x9B4Nonecrusader_ne_segments.csv
4948code0x7B8000x63Nonecrusader_ne_segments.csv
5049code0x7BA000x1E3FNonecrusader_ne_segments.csv
5150code0x7DE000x9C8Nonecrusader_ne_segments.csv
5251code0x7EA000x1D02Nonecrusader_ne_segments.csv
5352code0x80A000x1D65Nonecrusader_ne_segments.csv
5453code0x82C000x10DENonecrusader_ne_segments.csv
5554code0x840000x5NoneShort stub-sized segmentcrusader_ne_segments.csv
5655code0x842000xA06Nonecrusader_ne_segments.csv
5756code0x850000x706Nonecrusader_ne_segments.csv
5857code0x85A000x79BNonecrusader_ne_segments.csv
5958code0x864000x44BNonecrusader_ne_segments.csv
6059code0x86A000x4288Nonecrusader_ne_segments.csv
6160code0x8B6000x231Nonecrusader_ne_segments.csv
6261code0x8BA000x1B6CNonecrusader_ne_segments.csv
6362code0x8DA000x85FNonecrusader_ne_segments.csv
6463code0x8E4000x519Nonecrusader_ne_segments.csv
6564code0x8EA000x3B1Nonecrusader_ne_segments.csv
6665code0x8F0000x5BDNonecrusader_ne_segments.csv
6766code0x8F8000x4A9Nonecrusader_ne_segments.csv
6867code0x8FE000x839Nonecrusader_ne_segments.csv
6968code0x908000xB4ANonecrusader_ne_segments.csv
7069code0x918000x2A0Nonecrusader_ne_segments.csv
7170code0x91C000xF24Nonecrusader_ne_segments.csv
7271code0x92E000x6C2Nonecrusader_ne_segments.csv
7372code0x936000xCA1Nonecrusader_ne_segments.csv
7473code0x946000x9AANonecrusader_ne_segments.csv
7574code0x952000x337Nonecrusader_ne_segments.csv
7675code0x956000x1428Nonecrusader_ne_segments.csv
7776code0x96E000x627Nonecrusader_ne_segments.csv
7877code0x976000x616Nonecrusader_ne_segments.csv
7978code0x97E000x634Nonecrusader_ne_segments.csv
8079code0x986000x421Nonecrusader_ne_segments.csv
8180code0x98C000xF27FootholdConditional render/callback dispatchentity_conditional_render_dispatch0x4588 callback object still lacks a concrete subsystem namecrusader_decompilation_notes.md
8281code0x99E000x320Nonecrusader_ne_segments.csv
8382code0x9A2000x1C8APartialAllocator sweep and per-head allocationallocator_head_try_alloc_block; allocator_head_free_block; public size wrapper0x4588 object and finalize path still unresolvedcrusader_decompilation_notes.md; plan-mid.md
8483code0x9C4000x31EFootholdAllocator node/header helpersevent_queue_push; packed size/header helpersMostly structural helper layercrusader_decompilation_notes.md
8584code0x9C8000x1478Nonecrusader_ne_segments.csv
8685code0x9E0000x404FootholdAllocator work token helperstoken reserve/release and commit helpersNeeds clearer subsystem namingcrusader_decompilation_notes.md
8786code0x9E6000x40F6Nonecrusader_ne_segments.csv
8887code0xA28000x50CNonecrusader_ne_segments.csv
8988code0xA2E000x523Nonecrusader_ne_segments.csv
9089code0xA34000x373Nonecrusader_ne_segments.csv
9190code0xA38000x9C6Nonecrusader_ne_segments.csv
9291code0xA44000x6FAPartialInit/context and RNG helpersseg091_func_00fd; seg091_func_014d; rng_set_seed; rng_next_modulo00fd and 014d still positionalcrusader_decompilation_notes.md; plan-mid.md
9392code0xA4E000x59ENonecrusader_ne_segments.csv
9493code0xA56000x4F1Nonecrusader_ne_segments.csv
9594code0xA5E000x606PartialTracked handle table controltracked_entity_handle_table_init; tracked_entity_handle_table_shutdown; tracked_entity_handle_table_clear_and_dispatchDownstream dispatch tail still unresolvedcrusader_decompilation_notes.md
9695code0xA66000xC9FPartialCache manager init/reset and 0x4588 runtime callback lifecyclecache_init; cache_reset_runtime_state; cache_shutdownConcrete 0x4588 callback object name and nearby no-function callers remain unresolvedcrusader_decompilation_notes.md; plan-mid.md
9796code0xA76000x582Nonecrusader_ne_segments.csv
9897code0xA7E000xDB0Nonecrusader_ne_segments.csv
9998code0xA8E000x68ANonecrusader_ne_segments.csv
10099code0xA96000x355NonePossible raw 000e animation overlap mapping not yet normalizedcrusader_ne_segments.csv
101100code0xA9C000x697NonePossible raw 000e animation overlap mapping not yet normalizedcrusader_ne_segments.csv
102101code0xAA4000x17BCNonePossible raw 000e animation overlap mapping not yet normalizedcrusader_ne_segments.csv
103102code0xAC0000x73CNonePossible raw 000e parser mapping not yet normalizedcrusader_ne_segments.csv
104103code0xACA000x16CDNonePossible raw 000e parser mapping not yet normalizedcrusader_ne_segments.csv
105104code0xAE6000x41BNonecrusader_ne_segments.csv
106105code0xAEC000x9F6Nonecrusader_ne_segments.csv
107106code0xAF8000x1795Nonecrusader_ne_segments.csv
108107code0xB14000x40CNonecrusader_ne_segments.csv
109108code0xB1A000x113FNonecrusader_ne_segments.csv
110109code0xB2E000x1424NoneHigh-value gap around 000b:2e00 still unresolvedcrusader_ne_segments.csv; crusader_decomp_progress.md
111110code0xB44000x4C4Nonecrusader_ne_segments.csv
112111code0xB4A000x489Nonecrusader_ne_segments.csv
113112code0xB50000x1670Nonecrusader_ne_segments.csv
114113code0xB6A000x4A6Nonecrusader_ne_segments.csv
115114code0xB70000xDF1Nonecrusader_ne_segments.csv
116115code0xB80000x978Nonecrusader_ne_segments.csv
117116code0xB8C000xAA3Nonecrusader_ne_segments.csv
118117code0xB9A000x3157Nonecrusader_ne_segments.csv
119118code0xBD4000xA0ANonecrusader_ne_segments.csv
120119code0xBE2000x419Nonecrusader_ne_segments.csv
121120code0xBE8000x9AENonecrusader_ne_segments.csv
122121code0xBF4000xACENonecrusader_ne_segments.csv
123122code0xC02000x3149Nonecrusader_ne_segments.csv
124123code0xC3C000xE6DNonecrusader_ne_segments.csv
125124code0xC4E000x3DDNonecrusader_ne_segments.csv
126125code0xC54000x1A3ENonecrusader_ne_segments.csv
127126code0xC74000x402ANonecrusader_ne_segments.csv
128127code0xCC6000x8F6Nonecrusader_ne_segments.csv
129128code0xCD2000x5D0Nonecrusader_ne_segments.csv
130129code0xCDA000xD77Nonecrusader_ne_segments.csv
131130code0xCEA000x47DNonecrusader_ne_segments.csv
132131code0xCF0000x44DNonecrusader_ne_segments.csv
133132code0xCF6000x3EB8Nonecrusader_ne_segments.csv
134133code0xD38000x215ANonecrusader_ne_segments.csv
135134code0xD60000xEF0Nonecrusader_ne_segments.csv
136135code0xD70000x3B7Nonecrusader_ne_segments.csv
137136code0xD76000x5BDNonecrusader_ne_segments.csv
138137code0xD7E000xFBBNonecrusader_ne_segments.csv
139138code0xD92000x32E4Nonecrusader_ne_segments.csv
140139code0xDCC000x984Nonecrusader_ne_segments.csv
141140code0xDD8000xC6FNonecrusader_ne_segments.csv
142141code0xDE6000x2BNoneShort stub-sized segmentcrusader_ne_segments.csv
143142code0xDE8000x4371Nonecrusader_ne_segments.csv
144143code0xE34000x6F5Nonecrusader_ne_segments.csv
145144data0xE3C000x8DBCNoneLarge data segment not yet classifiedcrusader_ne_segments.csv
146145data0x00x0NoneZero-length data segment placeholdercrusader_ne_segments.csv