2026-03-21 16:19:46 +01:00
" Segment " , " Type " , " FileOffset " , " Length " , " CoverageStatus " , " KnownSubsystem " , " KeyNamedFunctions " , " Blockers " , " NotesSource "
" 1 " , " code " , " 0x37600 " , " 0x8400 " , " Deep " , " Gameplay cursor/input/projectiles " , " cursor_update_hover; entity_fire_weapon; projectile_update_tick " , " Broader gameplay subsystem still spans adjacent segments " , " crusader_decompilation_notes.md; plan-mid.md "
" 2 " , " code " , " 0x40000 " , " 0x2B0 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 3 " , " code " , " 0x40400 " , " 0x55A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 4 " , " code " , " 0x40A00 " , " 0x10B1 " , " Foothold " , " Reset/cache entry path " , " runtime_cache_reset_sequence " , " ASYLUM.24 and downstream reset callers still need tighter classification " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 20:32:21 +01:00
" 5 " , " code " , " 0x41E00 " , " 0x8D7 " , " Foothold " , " Startup/display orchestration and large runtime handoff " , " FUN_0004_60c0; FUN_0004_1e00 " , " Recovered bodies now exist, but exact subsystem naming and higher-level transition meaning remain open " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 6 " , " code " , " 0x42C00 " , " 0x75E " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 7 " , " code " , " 0x43600 " , " 0x484 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 8 " , " code " , " 0x43C00 " , " 0x1386 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 9 " , " code " , " 0x45400 " , " 0x495 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 10 " , " code " , " 0x45A00 " , " 0xD92 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 11 " , " code " , " 0x46E00 " , " 0x5B1 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 12 " , " code " , " 0x47600 " , " 0x94B " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 13 " , " code " , " 0x48200 " , " 0x1F6C " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 14 " , " code " , " 0x4AA00 " , " 0x526 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 15 " , " code " , " 0x4B200 " , " 0x1C68 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 16 " , " code " , " 0x4D400 " , " 0x677 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 17 " , " code " , " 0x4DC00 " , " 0x1A7 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 18 " , " code " , " 0x4E000 " , " 0x7E9 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 19 " , " code " , " 0x4EA00 " , " 0xB4D " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 20 " , " code " , " 0x4F800 " , " 0x878 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 21 " , " code " , " 0x50200 " , " 0x4486 " , " Partial " , " Timer/event dispatch and entity counting " , " entity_count_by_type_a; input_keyboard_handler copy " , " Needs broader caller-driven expansion " , " crusader_decompilation_notes.md; plan-mid.md "
" 22 " , " code " , " 0x55000 " , " 0x2BD6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 23 " , " code " , " 0x58200 " , " 0x5D6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 24 " , " code " , " 0x58A00 " , " 0x6D7 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 25 " , " code " , " 0x59200 " , " 0x1976 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 26 " , " code " , " 0x5AE00 " , " 0x4DE " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 27 " , " code " , " 0x5B400 " , " 0x57B " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 28 " , " code " , " 0x5BA00 " , " 0x788 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 29 " , " code " , " 0x5C400 " , " 0x190A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 30 " , " code " , " 0x5E000 " , " 0x5071 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 31 " , " code " , " 0x64000 " , " 0x6EE " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 32 " , " code " , " 0x64800 " , " 0x56A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 33 " , " code " , " 0x65000 " , " 0x10D7 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 34 " , " code " , " 0x66600 " , " 0x253A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 35 " , " code " , " 0x69400 " , " 0xF67 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 36 " , " code " , " 0x6A600 " , " 0x69F " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 37 " , " code " , " 0x6AE00 " , " 0x636 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 38 " , " code " , " 0x6B600 " , " 0x2318 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 39 " , " code " , " 0x6E200 " , " 0x3416 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 40 " , " code " , " 0x72200 " , " 0x1E7A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 41 " , " code " , " 0x74600 " , " 0x28D " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 42 " , " code " , " 0x74A00 " , " 0xC9C " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 43 " , " code " , " 0x75A00 " , " 0x336F " , " Partial " , " Gameplay targeting/facing repair cluster " , " entity_set_at_target_update_facing; seg043_func_0090; seg043_func_021c " , " Two repaired functions remain positional and thunk-heavy " , " crusader_decompilation_notes.md; plan-mid.md "
" 44 " , " code " , " 0x79400 " , " 0x7F8 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 45 " , " code " , " 0x79E00 " , " 0x200 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 46 " , " code " , " 0x7A200 " , " 0x7DC " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 47 " , " code " , " 0x7AC00 " , " 0x9B4 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 48 " , " code " , " 0x7B800 " , " 0x63 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 49 " , " code " , " 0x7BA00 " , " 0x1E3F " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 50 " , " code " , " 0x7DE00 " , " 0x9C8 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 51 " , " code " , " 0x7EA00 " , " 0x1D02 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 52 " , " code " , " 0x80A00 " , " 0x1D65 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 53 " , " code " , " 0x82C00 " , " 0x10DE " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 54 " , " code " , " 0x84000 " , " 0x5 " , " None " , " " , " " , " Short stub-sized segment " , " crusader_ne_segments.csv "
" 55 " , " code " , " 0x84200 " , " 0xA06 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 56 " , " code " , " 0x85000 " , " 0x706 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 57 " , " code " , " 0x85A00 " , " 0x79B " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 58 " , " code " , " 0x86400 " , " 0x44B " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 59 " , " code " , " 0x86A00 " , " 0x4288 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 60 " , " code " , " 0x8B600 " , " 0x231 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 61 " , " code " , " 0x8BA00 " , " 0x1B6C " , " Foothold " , " Entity/timer dispatch guard and period helpers " , " timer_entity_enable_wrapper; entity_check_flag_0x4000; entity_set_event_type_checked; entity_set_update_period_and_reschedule " , " Several wrappers still resolve into thunk-heavy paths and need caller-side semantic naming " , " crusader_decompilation_notes.md "
" 62 " , " code " , " 0x8DA00 " , " 0x85F " , " Foothold " , " Entry word-list lifecycle helpers " , " entity_word_list_destroy " , " Caller-side object-role mapping still needed for strong behavioral names " , " crusader_decompilation_notes.md "
2026-03-21 16:19:46 +01:00
" 63 " , " code " , " 0x8E400 " , " 0x519 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 64 " , " code " , " 0x8EA00 " , " 0x3B1 " , " Foothold " , " Global one-shot gate/dispatch control " , " FUN_0008_eb43; FUN_0008_ebe7; FUN_0008_eac8; FUN_0008_ec23 " , " Subsystem identity of the gate path remains unresolved; names intentionally conservative " , " crusader_decompilation_notes.md "
2026-03-21 16:19:46 +01:00
" 65 " , " code " , " 0x8F000 " , " 0x5BD " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 66 " , " code " , " 0x8F800 " , " 0x4A9 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 67 " , " code " , " 0x8FE00 " , " 0x839 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 68 " , " code " , " 0x90800 " , " 0xB4A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 69 " , " code " , " 0x91800 " , " 0x2A0 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 70 " , " code " , " 0x91C00 " , " 0xF24 " , " Foothold " , " File-handle allocation/open wrappers " , " file_handle_alloc_init_and_open; file_handle_open_with_mode " , " Exact DOS open/create flags and mode semantics still need caller-side argument decoding " , " crusader_decompilation_notes.md "
2026-03-21 16:19:46 +01:00
" 71 " , " code " , " 0x92E00 " , " 0x6C2 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 72 " , " code " , " 0x93600 " , " 0xCA1 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 73 " , " code " , " 0x94600 " , " 0x9AA " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 74 " , " code " , " 0x95200 " , " 0x337 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 75 " , " code " , " 0x95600 " , " 0x1428 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 76 " , " code " , " 0x96E00 " , " 0x627 " , " Foothold " , " VGA palette read/write/free helpers " , " vga_palette_write; vga_palette_read; palette_free_if_set " , " Need caller-side analysis to classify higher-level palette transaction semantics " , " crusader_decompilation_notes.md "
" 77 " , " code " , " 0x97600 " , " 0x616 " , " Foothold " , " Palette buffer clone/metadata setup " , " palette_buffer_alloc_copy_from_source " , " Need caller-side analysis to separate generic palette clone use from callback-specific staging " , " crusader_decompilation_notes.md "
2026-03-21 16:19:46 +01:00
" 78 " , " code " , " 0x97E00 " , " 0x634 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 79 " , " code " , " 0x98600 " , " 0x421 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 80 " , " code " , " 0x98C00 " , " 0xF27 " , " Foothold " , " Conditional render/callback dispatch and surface release " , " entity_conditional_render_dispatch; surface_release_internal; surface_release_and_maybe_free " , " 0x4588 callback object still lacks a concrete subsystem name " , " crusader_decompilation_notes.md "
2026-03-21 16:19:46 +01:00
" 81 " , " code " , " 0x99E00 " , " 0x320 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 20:32:21 +01:00
" 82 " , " code " , " 0x9A200 " , " 0x1C8A " , " Partial " , " Allocator head-table allocation and phase finalize " , " allocator_try_alloc_from_head_table; allocator_phase_finalize_pass; allocator_head_try_alloc_block; allocator_head_free_block; allocator_head_finalize_sweep " , " 0x4588 callback object subsystem identity still unresolved " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 83 " , " code " , " 0x9C400 " , " 0x31E " , " Foothold " , " Allocator node/header helpers " , " event_queue_push; packed size/header helpers " , " Mostly structural helper layer " , " crusader_decompilation_notes.md "
" 84 " , " code " , " 0x9C800 " , " 0x1478 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 85 " , " code " , " 0x9E000 " , " 0x404 " , " Foothold " , " Allocator work token helpers " , " token reserve/release and commit helpers " , " Needs clearer subsystem naming " , " crusader_decompilation_notes.md "
" 86 " , " code " , " 0x9E600 " , " 0x40F6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 87 " , " code " , " 0xA2800 " , " 0x50C " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 88 " , " code " , " 0xA2E00 " , " 0x523 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 89 " , " code " , " 0xA3400 " , " 0x373 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 90 " , " code " , " 0xA3800 " , " 0x9C6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 19:29:57 +01:00
" 91 " , " code " , " 0xA4400 " , " 0x6FA " , " Partial " , " Init/context RNG and runtime callback/video-state lifecycle " , " seg091_func_00fd; seg091_func_014d; rng_set_seed; rng_next_modulo; runtime_callback_object_init_once; runtime_callback_object_teardown_once; video_bios_state_snapshot; video_mode_set_and_record_state " , " 00fd/014d still positional; callback object subsystem identity still unresolved " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 92 " , " code " , " 0xA4E00 " , " 0x59E " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 93 " , " code " , " 0xA5600 " , " 0x4F1 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 94 " , " code " , " 0xA5E00 " , " 0x606 " , " Partial " , " Tracked handle table control " , " tracked_entity_handle_table_init; tracked_entity_handle_table_shutdown; tracked_entity_handle_table_clear_and_dispatch " , " Downstream dispatch tail still unresolved " , " crusader_decompilation_notes.md "
2026-03-21 19:29:57 +01:00
" 95 " , " code " , " 0xA6600 " , " 0xC9F " , " Partial " , " Cache manager init/reset and 0x4588 runtime callback lifecycle " , " cache_init; cache_reset_runtime_state; cache_shutdown; entity_cleanup_resources_and_dispatch " , " Concrete 0x4588 callback object name and field-level role mapping remain unresolved " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 96 " , " code " , " 0xA7600 " , " 0x582 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 97 " , " code " , " 0xA7E00 " , " 0xDB0 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 98 " , " code " , " 0xA8E00 " , " 0x68A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 99 " , " code " , " 0xA9600 " , " 0x355 " , " None " , " " , " " , " Possible raw 000e animation overlap mapping not yet normalized " , " crusader_ne_segments.csv "
" 100 " , " code " , " 0xA9C00 " , " 0x697 " , " None " , " " , " " , " Possible raw 000e animation overlap mapping not yet normalized " , " crusader_ne_segments.csv "
" 101 " , " code " , " 0xAA400 " , " 0x17BC " , " None " , " " , " " , " Possible raw 000e animation overlap mapping not yet normalized " , " crusader_ne_segments.csv "
" 102 " , " code " , " 0xAC000 " , " 0x73C " , " None " , " " , " " , " Possible raw 000e parser mapping not yet normalized " , " crusader_ne_segments.csv "
" 103 " , " code " , " 0xACA00 " , " 0x16CD " , " None " , " " , " " , " Possible raw 000e parser mapping not yet normalized " , " crusader_ne_segments.csv "
" 104 " , " code " , " 0xAE600 " , " 0x41B " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 105 " , " code " , " 0xAEC00 " , " 0x9F6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 106 " , " code " , " 0xAF800 " , " 0x1795 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 107 " , " code " , " 0xB1400 " , " 0x40C " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 108 " , " code " , " 0xB1A00 " , " 0x113F " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 109 " , " code " , " 0xB2E00 " , " 0x1424 " , " None " , " " , " " , " High-value gap around 000b:2e00 still unresolved " , " crusader_ne_segments.csv; crusader_decomp_progress.md "
" 110 " , " code " , " 0xB4400 " , " 0x4C4 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 111 " , " code " , " 0xB4A00 " , " 0x489 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 112 " , " code " , " 0xB5000 " , " 0x1670 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 113 " , " code " , " 0xB6A00 " , " 0x4A6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 114 " , " code " , " 0xB7000 " , " 0xDF1 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 115 " , " code " , " 0xB8000 " , " 0x978 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 116 " , " code " , " 0xB8C00 " , " 0xAA3 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 117 " , " code " , " 0xB9A00 " , " 0x3157 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 118 " , " code " , " 0xBD400 " , " 0xA0A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 119 " , " code " , " 0xBE200 " , " 0x419 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 120 " , " code " , " 0xBE800 " , " 0x9AE " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 121 " , " code " , " 0xBF400 " , " 0xACE " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 122 " , " code " , " 0xC0200 " , " 0x3149 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 123 " , " code " , " 0xC3C00 " , " 0xE6D " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 124 " , " code " , " 0xC4E00 " , " 0x3DD " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 125 " , " code " , " 0xC5400 " , " 0x1A3E " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 20:32:21 +01:00
" 126 " , " code " , " 0xC7400 " , " 0x402A " , " Foothold " , " Runtime-entry wrappers and pre-entry state prep " , " FUN_000c_7412; FUN_000c_c890; FUN_000c_c9f4; thunk_callf_0000_ffff_000c_827d " , " Broader seg126 state-machine/helper meanings remain open, but this lane now clearly feeds the seg005 startup/display transition " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 127 " , " code " , " 0xCC600 " , " 0x8F6 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 128 " , " code " , " 0xCD200 " , " 0x5D0 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 129 " , " code " , " 0xCDA00 " , " 0xD77 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 130 " , " code " , " 0xCEA00 " , " 0x47D " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 131 " , " code " , " 0xCF000 " , " 0x44D " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 132 " , " code " , " 0xCF600 " , " 0x3EB8 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 133 " , " code " , " 0xD3800 " , " 0x215A " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 134 " , " code " , " 0xD6000 " , " 0xEF0 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 135 " , " code " , " 0xD7000 " , " 0x3B7 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
2026-03-21 20:32:21 +01:00
" 136 " , " code " , " 0xD7600 " , " 0x5BD " , " Foothold " , " Active dispatch-entry lifecycle helpers " , " active_dispatch_entry_mark_enabled; active_dispatch_entry_mark_disabled; active_dispatch_entry_create_default " , " Broader meaning of the active dispatch entry and its relationship to the startup/display lane still needs caller-side confirmation " , " crusader_decompilation_notes.md; plan-mid.md "
" 137 " , " code " , " 0xD7E00 " , " 0xFBB " , " Partial " , " Palette and dispatch-entry emission helper family " , " entity_dispatch_entry_init_runtime_state; entity_dispatch_entry_release_runtime_state; vga_palette_set_all_black; vga_palette_set_all_white; vga_palette_set_all_rgb; dispatch_entry_create_black_palette_state_active; dispatch_entry_create_grayscale_palette_state_active; dispatch_entry_create_solid_palette_state_active " , " Higher-level event/script meaning is still unresolved, especially the paired 0x68bf object and the exact role of the 0004:5ad4-5b6e caller sequence " , " crusader_decompilation_notes.md; plan-mid.md "
" 138 " , " code " , " 0xD9200 " , " 0x32E4 " , " Foothold " , " Entity cleanup/finalize with callback and dispatch-entry palette emission " , " entity_cleanup_resources_and_dispatch; sprite_redraw_global_if_active " , " Concrete callback-object subsystem naming is still unresolved; FUN_000d_938c is now verified as a caller-side dispatch-entry/palette emission helper but remains intentionally unnamed " , " crusader_decompilation_notes.md; plan-mid.md "
2026-03-21 16:19:46 +01:00
" 139 " , " code " , " 0xDCC00 " , " 0x984 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 140 " , " code " , " 0xDD800 " , " 0xC6F " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 141 " , " code " , " 0xDE600 " , " 0x2B " , " None " , " " , " " , " Short stub-sized segment " , " crusader_ne_segments.csv "
" 142 " , " code " , " 0xDE800 " , " 0x4371 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 143 " , " code " , " 0xE3400 " , " 0x6F5 " , " None " , " " , " " , " " , " crusader_ne_segments.csv "
" 144 " , " data " , " 0xE3C00 " , " 0x8DBC " , " None " , " " , " " , " Large data segment not yet classified " , " crusader_ne_segments.csv "
" 145 " , " data " , " 0x0 " , " 0x0 " , " None " , " " , " " , " Zero-length data segment placeholder " , " crusader_ne_segments.csv "