ov157 selwindow_2d_ui
Dialogue renderer + rumor (uwasa) system — renders ALL on-screen text: dialog windows, onemsg floating bubbles, multi-choice prompts. Also contains the NPC rumor/reputation gameplay system. The bubble_sel byte in the init struct controls rendering: 0=WINDOW (260×138px dialog box), 1-4=BUBBLE (128×76px floating). 251 total functions. Loads data/2d/selwindow/%s.lzs.
Header
Numeric metadata for this overlay as read from the overlay table at ROM
offset 0x8DE00 (per-entry stride 32 bytes). Function
counts, data-item counts, and the call-graph fan-out are from a Ghidra
11.3.1 headless auto-analysis pass.
Reading the binary
The overlay ships on the cart at file ID 157 under the BLZ code-LZ compression wrapper (the same backward-LZ scheme Nintendo uses for executable ARM9 code).
At load time the engine reads the overlay table entry at ROM offset
0x8DE00 + 157 * 0x20, allocates the destination
RAM region at 0x021b6080, decompresses
the body in-place (if compressed), and resolves any external
relocations.
To inspect this overlay outside the running game, decompress
overlay/overlay_157.bin with
ndspy.codeCompression.decompress() (Python ndspy library)
and load the resulting plaintext into Ghidra or
IDA at base address 0x021b6080. The
raw Ghidra auto-analysis dump used to populate this page lives at
notes/overlay_knowledgebase/raw/ov157.json;
the per-overlay descriptive markdown is at
notes/overlay_knowledgebase/ov157.md.
Embedded strings
7 UTF-16 LE strings live inside this overlay's compiled binary. These addresses are absolute (inside the overlay's RAM image after load). The text is stored as little-endian UTF-16 code units, NUL-terminated.
Container references
Distinct container basenames referenced by this overlay. Each is loaded via the content cache by passing the basename string to a lookup that resolves it to a file ID in the ROM's FAT. The path column shows the file's location in the clean extract, where resolved.
Unresolved
These container basenames appeared in the overlay's string table but no file of that name was found in the clean extract. Most are false-positive ASCII matches (function names, register maps, fragments of other strings); a few may be containers that the overlay names but never actually opens. Listed for completeness.
-
2d/selwindow/%s.lzs— no matching container found in clean extract
Function list
Functions Ghidra auto-identified inside this overlay's RAM range.
Names prefixed FUN_ are auto-generated from the function's
entry address; size is in bytes; the "calls" column counts both
intra-overlay branches and external ARM9 call targets. The "strings"
column counts how many UTF-16 LE strings each function references.
Show all 247 functions
| # | Address | Size | Calls | Strings | Role hint |
|---|---|---|---|---|---|
| 1 | 0x021b6080 | 100 | 3 | 0 | module_init() — overlay initialization entry point |
| 2 | 0x021b6180 | 340 | 23 | 0 | uwasa_toplevel_dispatcher() — top-level rumor system dispatcher |
| 3 | 0x021b62d8 | 1,252 | 69 | 0 | uwasa_state_machine_main() — 8-case main rumor-bubble state machine |
| 4 | 0x021b67bc | 440 | 30 | 0 | uwasa_subflow_dispatch() — 5-case sub-state for sound + message progression |
| 5 | 0x021b6984 | 86 | 4 | 0 | uwasa_subflow_helper() — helper for rumor subflow transitions |
| 6 | 0x021b6a08 | 72 | 2 | 0 | rumor/dialogue system helper |
| 7 | 0x021b6a50 | 436 | 22 | 0 | select_window_state_machine() — 10-case choice-prompt UI state machine |
| 8 | 0x021b6f7c | 10 | 0 | 0 | utility trampoline |
| 9 | 0x021b72b4 | 482 | 21 | 0 | state-machine dispatcher or complex handler |
| 10 | 0x021b74a0 | 20 | 0 | 0 | utility trampoline |
| 11 | 0x021b74b4 | 10 | 1 | 0 | utility trampoline |
| 12 | 0x021b74c0 | 20 | 1 | 0 | utility trampoline |
| 13 | 0x021b753c | 18 | 2 | 0 | utility trampoline |
| 14 | 0x021b7550 | 478 | 39 | 0 | state-machine dispatcher or complex handler |
| 15 | 0x021b7748 | 22 | 1 | 0 | utility trampoline |
| 16 | 0x021b7764 | 22 | 1 | 0 | utility trampoline |
| 17 | 0x021b7780 | 94 | 4 | 0 | rumor/dialogue system helper |
| 18 | 0x021b7898 | 18 | 1 | 0 | utility trampoline |
| 19 | 0x021b790c | 54 | 2 | 0 | rumor/dialogue system helper |
| 20 | 0x021b7980 | 38 | 3 | 0 | utility trampoline |
| 21 | 0x021b7ab0 | 12 | 0 | 0 | utility trampoline |
| 22 | 0x021b7ac0 | 64 | 3 | 0 | rumor/dialogue system helper |
| 23 | 0x021b7c28 | 212 | 8 | 0 | rumor/dialogue system helper |
| 24 | 0x021b7df8 | 16 | 0 | 0 | utility trampoline |
| 25 | 0x021b7e0c | 12 | 1 | 0 | utility trampoline |
| 26 | 0x021b7e1c | 12 | 0 | 0 | utility trampoline |
| 27 | 0x021b7e2c | 6 | 0 | 0 | utility trampoline |
| 28 | 0x021b7e38 | 24 | 0 | 0 | utility trampoline |
| 29 | 0x021b7e50 | 100 | 4 | 0 | rumor/dialogue system helper |
| 30 | 0x021b7f48 | 160 | 11 | 0 | rumor/dialogue system helper |
| 31 | 0x021b7ff4 | 60 | 2 | 0 | rumor/dialogue system helper |
| 32 | 0x021b8030 | 288 | 11 | 0 | rumor_record_state() — 5-case per-rumor-record entry handler |
| 33 | 0x021b8210 | 64 | 5 | 0 | rumor/dialogue system helper |
| 34 | 0x021b84ac | 32 | 3 | 0 | utility trampoline |
| 35 | 0x021b84d0 | 36 | 3 | 0 | utility trampoline |
| 36 | 0x021b84fc | 32 | 3 | 0 | utility trampoline |
| 37 | 0x021b8520 | 24 | 2 | 0 | utility trampoline |
| 38 | 0x021b8590 | 48 | 4 | 0 | rumor/dialogue system helper |
| 39 | 0x021b86e0 | 252 | 9 | 0 | npc_speaker_render_state() — 6-case NPC speaker animation + bubble render |
| 40 | 0x021b87fc | 38 | 2 | 0 | utility trampoline |
| 41 | 0x021b88bc | 62 | 6 | 0 | rumor/dialogue system helper |
| 42 | 0x021b8900 | 26 | 2 | 0 | utility trampoline |
| 43 | 0x021b8b14 | 50 | 4 | 0 | rumor/dialogue system helper |
| 44 | 0x021b8c70 | 86 | 4 | 0 | rumor/dialogue system helper |
| 45 | 0x021b8cc8 | 64 | 2 | 0 | rumor/dialogue system helper |
| 46 | 0x021b8d08 | 112 | 5 | 0 | rumor/dialogue system helper |
| 47 | 0x021b8d78 | 88 | 2 | 0 | rumor/dialogue system helper |
| 48 | 0x021b8dd0 | 764 | 45 | 0 | rumor_listen_dispatch() — 14-case largest sub-state-machine in overlay |
| 49 | 0x021b9114 | 18 | 0 | 0 | utility trampoline |
| 50 | 0x021b9228 | 202 | 15 | 0 | rumor/dialogue system helper |
| 51 | 0x021b9544 | 24 | 2 | 0 | utility trampoline |
| 52 | 0x021b9560 | 96 | 2 | 0 | rumor/dialogue system helper |
| 53 | 0x021b95c0 | 198 | 12 | 0 | rumor/dialogue system helper |
| 54 | 0x021b97b4 | 64 | 2 | 0 | rumor/dialogue system helper |
| 55 | 0x021b97f4 | 68 | 3 | 0 | rumor/dialogue system helper |
| 56 | 0x021b9af0 | 66 | 2 | 0 | rumor/dialogue system helper |
| 57 | 0x021b9b34 | 20 | 0 | 0 | utility trampoline |
| 58 | 0x021b9b48 | 204 | 15 | 0 | rumor/dialogue system helper |
| 59 | 0x021b9c24 | 86 | 4 | 0 | rumor/dialogue system helper |
| 60 | 0x021b9c7c | 212 | 11 | 0 | rumor/dialogue system helper |
| 61 | 0x021b9d50 | 90 | 10 | 0 | rumor/dialogue system helper |
| 62 | 0x021b9e04 | 64 | 6 | 0 | rumor/dialogue system helper |
| 63 | 0x021b9f74 | 390 | 17 | 0 | rumor_pre_listen_setup() — 5-case pre-listen setup (NPC turn, camera, audio) |
| 64 | 0x021ba628 | 16 | 1 | 0 | utility trampoline |
| 65 | 0x021ba6e4 | 26 | 2 | 0 | utility trampoline |
| 66 | 0x021ba924 | 106 | 5 | 0 | rumor/dialogue system helper |
| 67 | 0x021ba990 | 478 | 19 | 0 | uwasa_finalize_state() — 11-case finalization + save-buffer write |
| 68 | 0x021bae04 | 116 | 7 | 0 | rumor/dialogue system helper |
| 69 | 0x021bae98 | 24 | 0 | 0 | utility trampoline |
| 70 | 0x021bb264 | 12 | 2 | 0 | utility trampoline |
| 71 | 0x021bb270 | 60 | 6 | 0 | rumor/dialogue system helper |
| 72 | 0x021bb338 | 96 | 8 | 0 | rumor/dialogue system helper |
| 73 | 0x021bbb84 | 100 | 3 | 0 | rumor/dialogue system helper |
| 74 | 0x021bbbe8 | 72 | 2 | 0 | rumor/dialogue system helper |
| 75 | 0x021bbc30 | 70 | 2 | 0 | rumor/dialogue system helper |
| 76 | 0x021bbd0c | 52 | 2 | 0 | rumor/dialogue system helper |
| 77 | 0x021bbfe0 | 114 | 6 | 0 | rumor/dialogue system helper |
| 78 | 0x021bc18c | 24 | 2 | 0 | utility trampoline |
| 79 | 0x021bc1a4 | 28 | 2 | 0 | utility trampoline |
| 80 | 0x021bc1f0 | 26 | 2 | 0 | utility trampoline |
| 81 | 0x021bc238 | 50 | 3 | 0 | rumor/dialogue system helper |
| 82 | 0x021bc42c | 208 | 10 | 0 | rumor/dialogue system helper |
| 83 | 0x021bc4fc | 54 | 3 | 0 | rumor/dialogue system helper |
| 84 | 0x021bc538 | 82 | 6 | 0 | rumor/dialogue system helper |
| 85 | 0x021bc660 | 94 | 2 | 0 | rumor/dialogue system helper |
| 86 | 0x021bc924 | 50 | 3 | 0 | rumor/dialogue system helper |
| 87 | 0x021bc960 | 6 | 0 | 0 | utility trampoline |
| 88 | 0x021bc968 | 154 | 14 | 0 | rumor/dialogue system helper |
| 89 | 0x021bca08 | 182 | 8 | 0 | rumor/dialogue system helper |
| 90 | 0x021bcac8 | 6 | 0 | 0 | utility trampoline |
| 91 | 0x021bcad0 | 82 | 4 | 0 | rumor/dialogue system helper |
| 92 | 0x021bcb4c | 52 | 3 | 0 | rumor/dialogue system helper |
| 93 | 0x021bcb84 | 228 | 8 | 0 | rumor/dialogue system helper |
| 94 | 0x021bcecc | 42 | 3 | 0 | rumor/dialogue system helper |
| 95 | 0x021bcf24 | 40 | 4 | 0 | rumor/dialogue system helper |
| 96 | 0x021bcf4c | 64 | 2 | 0 | rumor/dialogue system helper |
| 97 | 0x021bcfc4 | 28 | 3 | 0 | utility trampoline |
| 98 | 0x021bd0f4 | 56 | 2 | 0 | rumor/dialogue system helper |
| 99 | 0x021bd208 | 70 | 6 | 0 | rumor/dialogue system helper |
| 100 | 0x021bd2a0 | 78 | 6 | 0 | rumor/dialogue system helper |
| 101 | 0x021bd464 | 648 | 29 | 0 | state-machine dispatcher or complex handler |
| 102 | 0x021bdae0 | 372 | 23 | 0 | state-machine dispatcher or complex handler |
| 103 | 0x021bdc68 | 6 | 0 | 0 | utility trampoline |
| 104 | 0x021bdc98 | 28 | 3 | 0 | utility trampoline |
| 105 | 0x021bdd1c | 258 | 7 | 0 | rumor/dialogue system helper |
| 106 | 0x021bde38 | 382 | 13 | 0 | rumor/dialogue system helper |
| 107 | 0x021bdfc0 | 6 | 0 | 0 | utility trampoline |
| 108 | 0x021bdfc8 | 152 | 8 | 0 | rumor/dialogue system helper |
| 109 | 0x021be078 | 108 | 5 | 0 | rumor/dialogue system helper |
| 110 | 0x021be0e8 | 114 | 4 | 0 | rumor/dialogue system helper |
| 111 | 0x021be160 | 28 | 1 | 0 | utility trampoline |
| 112 | 0x021be1ac | 48 | 3 | 0 | rumor/dialogue system helper |
| 113 | 0x021be1dc | 26 | 1 | 0 | utility trampoline |
| 114 | 0x021be254 | 122 | 4 | 0 | rumor/dialogue system helper |
| 115 | 0x021be2d8 | 174 | 7 | 0 | rumor/dialogue system helper |
| 116 | 0x021be38c | 176 | 9 | 0 | rumor/dialogue system helper |
| 117 | 0x021be628 | 30 | 2 | 0 | utility trampoline |
| 118 | 0x021be658 | 78 | 6 | 0 | rumor/dialogue system helper |
| 119 | 0x021be6ac | 28 | 0 | 0 | utility trampoline |
| 120 | 0x021be6d8 | 22 | 1 | 0 | utility trampoline |
| 121 | 0x021be6f0 | 16 | 1 | 0 | utility trampoline |
| 122 | 0x021be708 | 12 | 1 | 0 | utility trampoline |
| 123 | 0x021be714 | 110 | 3 | 0 | rumor/dialogue system helper |
| 124 | 0x021be790 | 26 | 1 | 0 | utility trampoline |
| 125 | 0x021be7b0 | 172 | 9 | 0 | rumor/dialogue system helper |
| 126 | 0x021be864 | 36 | 2 | 0 | utility trampoline |
| 127 | 0x021be888 | 8 | 0 | 0 | utility trampoline |
| 128 | 0x021be894 | 26 | 1 | 0 | utility trampoline |
| 129 | 0x021be8b0 | 160 | 7 | 0 | rumor/dialogue system helper |
| 130 | 0x021be958 | 190 | 5 | 0 | rumor/dialogue system helper |
| 131 | 0x021beac8 | 26 | 1 | 0 | utility trampoline |
| 132 | 0x021bebac | 128 | 9 | 0 | rumor/dialogue system helper |
| 133 | 0x021bec40 | 552 | 28 | 0 | state-machine dispatcher or complex handler |
| 134 | 0x021bee70 | 22 | 1 | 0 | utility trampoline |
| 135 | 0x021beebc | 62 | 3 | 0 | rumor/dialogue system helper |
| 136 | 0x021bef08 | 62 | 3 | 0 | rumor/dialogue system helper |
| 137 | 0x021bef54 | 62 | 3 | 0 | rumor/dialogue system helper |
| 138 | 0x021bef9c | 62 | 3 | 0 | rumor/dialogue system helper |
| 139 | 0x021bf040 | 64 | 2 | 0 | rumor/dialogue system helper |
| 140 | 0x021bf084 | 24 | 2 | 0 | utility trampoline |
| 141 | 0x021bf154 | 250 | 9 | 0 | rumor/dialogue system helper |
| 142 | 0x021bf3c4 | 422 | 12 | 0 | rumor/dialogue system helper |
| 143 | 0x021bf59c | 142 | 6 | 0 | rumor/dialogue system helper |
| 144 | 0x021bf678 | 30 | 2 | 0 | utility trampoline |
| 145 | 0x021bf698 | 52 | 3 | 0 | rumor/dialogue system helper |
| 146 | 0x021bf70c | 154 | 5 | 0 | rumor/dialogue system helper |
| 147 | 0x021bf7ac | 102 | 5 | 0 | rumor/dialogue system helper |
| 148 | 0x021bf818 | 178 | 7 | 0 | rumor/dialogue system helper |
| 149 | 0x021bf8d4 | 306 | 10 | 0 | rumor/dialogue system helper |
| 150 | 0x021bfc18 | 34 | 2 | 0 | utility trampoline |
| 151 | 0x021bfc40 | 34 | 2 | 0 | utility trampoline |
| 152 | 0x021bfc68 | 34 | 2 | 0 | utility trampoline |
| 153 | 0x021bfce4 | 30 | 2 | 0 | utility trampoline |
| 154 | 0x021bff60 | 82 | 5 | 0 | rumor/dialogue system helper |
| 155 | 0x021bffd4 | 18 | 1 | 0 | utility trampoline |
| 156 | 0x021bffe8 | 506 | 37 | 0 | state-machine dispatcher or complex handler |
| 157 | 0x021c0204 | 16 | 0 | 0 | utility trampoline |
| 158 | 0x021c0214 | 164 | 7 | 0 | rumor/dialogue system helper |
| 159 | 0x021c0348 | 32 | 1 | 0 | utility trampoline |
| 160 | 0x021c03c8 | 126 | 7 | 0 | rumor/dialogue system helper |
| 161 | 0x021c04fc | 90 | 4 | 0 | rumor/dialogue system helper |
| 162 | 0x021c05e0 | 86 | 5 | 0 | rumor/dialogue system helper |
| 163 | 0x021c063c | 8 | 0 | 0 | utility trampoline |
| 164 | 0x021c0644 | 176 | 6 | 0 | rumor/dialogue system helper |
| 165 | 0x021c0700 | 82 | 3 | 0 | rumor/dialogue system helper |
| 166 | 0x021c0810 | 76 | 3 | 0 | rumor/dialogue system helper |
| 167 | 0x021c0898 | 36 | 1 | 0 | utility trampoline |
| 168 | 0x021c08ec | 22 | 2 | 0 | utility trampoline |
| 169 | 0x021c0984 | 16 | 1 | 0 | utility trampoline |
| 170 | 0x021c0994 | 28 | 1 | 0 | utility trampoline |
| 171 | 0x021c09b0 | 60 | 3 | 0 | rumor/dialogue system helper |
| 172 | 0x021c0a58 | 20 | 1 | 0 | utility trampoline |
| 173 | 0x021c0a6c | 20 | 2 | 0 | utility trampoline |
| 174 | 0x021c0abc | 34 | 4 | 0 | utility trampoline |
| 175 | 0x021c0ae0 | 18 | 1 | 0 | utility trampoline |
| 176 | 0x021c0af4 | 42 | 3 | 0 | rumor/dialogue system helper |
| 177 | 0x021c0b20 | 20 | 1 | 0 | utility trampoline |
| 178 | 0x021c0b34 | 40 | 4 | 0 | rumor/dialogue system helper |
| 179 | 0x021c0b5c | 20 | 1 | 0 | utility trampoline |
| 180 | 0x021c0b70 | 84 | 5 | 0 | rumor/dialogue system helper |
| 181 | 0x021c0bc4 | 162 | 13 | 0 | rumor/dialogue system helper |
| 182 | 0x021c0c70 | 292 | 10 | 0 | rumor/dialogue system helper |
| 183 | 0x021c0da0 | 14 | 0 | 0 | utility trampoline |
| 184 | 0x021c0db4 | 124 | 0 | 0 | rumor/dialogue system helper |
| 185 | 0x021c0e38 | 4 | 0 | 0 | utility trampoline |
| 186 | 0x021c0e3c | 50 | 3 | 0 | dialogue_renderer_ctor() — allocates 660-byte (0x294) renderer instance |
| 187 | 0x021c0eb8 | 64 | 1 | 0 | rumor/dialogue system helper |
| 188 | 0x021c0ef8 | 78 | 1 | 0 | dialogue_renderer_init_canonical() — canonical dialogue-render entry called from arm9 universal parser FUN_02066c58. param_4 = bubble_sel (0=WINDOW, 1-4=BUBBLE) |
| 189 | 0x021c0f48 | 436 | 11 | 0 | dialogue_renderer_init_method() [vtable 2] — populates instance from init-struct, calls layout pipeline |
| 190 | 0x021c143c | 14 | 0 | 0 | utility trampoline |
| 191 | 0x021c1494 | 52 | 4 | 0 | rumor/dialogue system helper |
| 192 | 0x021c150c | 20 | 1 | 0 | utility trampoline |
| 193 | 0x021c1520 | 40 | 3 | 1 | refs: selwd? |
| 194 | 0x021c154c | 158 | 5 | 0 | rumor/dialogue system helper |
| 195 | 0x021c15f0 | 32 | 2 | 0 | utility trampoline |
| 196 | 0x021c1614 | 148 | 5 | 0 | rumor/dialogue system helper |
| 197 | 0x021c16ac | 34 | 2 | 0 | utility trampoline |
| 198 | 0x021c16d4 | 208 | 8 | 0 | rumor/dialogue system helper |
| 199 | 0x021c17a8 | 54 | 2 | 0 | rumor/dialogue system helper |
| 200 | 0x021c17e4 | 104 | 4 | 0 | rumor/dialogue system helper |
| 201 | 0x021c1854 | 32 | 1 | 0 | utility trampoline |
| 202 | 0x021c1878 | 96 | 4 | 0 | rumor/dialogue system helper |
| 203 | 0x021c18e0 | 32 | 1 | 0 | utility trampoline |
| 204 | 0x021c1904 | 32 | 2 | 0 | utility trampoline |
| 205 | 0x021c1924 | 34 | 2 | 0 | utility trampoline |
| 206 | 0x021c1948 | 56 | 2 | 0 | rumor/dialogue system helper |
| 207 | 0x021c1980 | 34 | 1 | 0 | utility trampoline |
| 208 | 0x021c19a8 | 34 | 1 | 0 | utility trampoline |
| 209 | 0x021c19d0 | 152 | 4 | 0 | rumor/dialogue system helper |
| 210 | 0x021c1a70 | 60 | 4 | 0 | rumor/dialogue system helper |
| 211 | 0x021c1ab0 | 20 | 1 | 0 | utility trampoline |
| 212 | 0x021c1ac4 | 20 | 1 | 0 | utility trampoline |
| 213 | 0x021c1ad8 | 80 | 4 | 0 | rumor/dialogue system helper |
| 214 | 0x021c1b2c | 46 | 2 | 0 | rumor/dialogue system helper |
| 215 | 0x021c1b64 | 86 | 2 | 0 | rumor/dialogue system helper |
| 216 | 0x021c1bc0 | 46 | 2 | 0 | rumor/dialogue system helper |
| 217 | 0x021c1bf8 | 94 | 3 | 0 | rumor/dialogue system helper |
| 218 | 0x021c1c60 | 86 | 0 | 0 | rumor/dialogue system helper |
| 219 | 0x021c1cb8 | 20 | 0 | 0 | utility trampoline |
| 220 | 0x021c1ccc | 200 | 3 | 0 | rumor/dialogue system helper |
| 221 | 0x021c1da4 | 6 | 0 | 0 | utility trampoline |
| 222 | 0x021c1db4 | 36 | 1 | 0 | utility trampoline |
| 223 | 0x021c1dd8 | 8 | 0 | 0 | utility trampoline |
| 224 | 0x021c1de8 | 188 | 6 | 0 | rumor/dialogue system helper |
| 225 | 0x021c1ea8 | 56 | 1 | 0 | rumor/dialogue system helper |
| 226 | 0x021c1ee4 | 44 | 2 | 0 | rumor/dialogue system helper |
| 227 | 0x021c1f10 | 552 | 29 | 0 | state-machine dispatcher or complex handler |
| 228 | 0x021c2148 | 142 | 6 | 0 | rumor/dialogue system helper |
| 229 | 0x021c21e0 | 8 | 0 | 0 | utility trampoline |
| 230 | 0x021c21e8 | 180 | 2 | 0 | rumor/dialogue system helper |
| 231 | 0x021c22a4 | 56 | 0 | 0 | rumor/dialogue system helper |
| 232 | 0x021c22e4 | 34 | 1 | 0 | utility trampoline |
| 233 | 0x021c230c | 38 | 1 | 0 | utility trampoline |
| 234 | 0x021c233c | 26 | 0 | 0 | utility trampoline |
| 235 | 0x021c235c | 36 | 0 | 0 | utility trampoline |
| 236 | 0x021c2384 | 28 | 0 | 0 | utility trampoline |
| 237 | 0x021c23a4 | 44 | 1 | 0 | rumor/dialogue system helper |
| 238 | 0x021c23d4 | 30 | 2 | 0 | utility trampoline |
| 239 | 0x021c23f4 | 62 | 4 | 0 | rumor/dialogue system helper |
| 240 | 0x021c2434 | 30 | 2 | 0 | utility trampoline |
| 241 | 0x021c2454 | 64 | 3 | 0 | rumor/dialogue system helper |
| 242 | 0x021c2494 | 164 | 8 | 0 | rumor/dialogue system helper |
| 243 | 0x021c253c | 134 | 6 | 0 | rumor/dialogue system helper |
| 244 | 0x021c25d0 | 168 | 10 | 0 | rumor/dialogue system helper |
| 245 | 0x021c267c | 92 | 2 | 0 | rumor/dialogue system helper |
| 246 | 0x021c26e4 | 86 | 2 | 0 | rumor/dialogue system helper |
| 247 | 0x021c274c | 12 | 1 | 0 | uwasa_uwp_play_audio() [vtable 1] — rumor audio playback |
Open questions & conflicts
Open questions / unknowns
- Auto-analysis identified 247 functions covering 25592 of 54144 overlay bytes.
- Function names are auto-generated `FUN_<addr>`. Manual renaming based on call-graph + string-ref analysis is a follow-up.
- BSS size is 32 bytes; Ghidra-imported overlay does not include BSS so any references into the BSS range appear as unresolved.
Conflicts with the prior shallow pass
- **Mismatch:** prior-pass `controls_containers` = `['selwindow']`; Ghidra-extracted containers = `['2d/selwindow/%s.lzs']`. Ghidra wins.
Source
- Per-overlay markdown:
notes/overlay_knowledgebase/ov157.md - Raw Ghidra dump:
notes/overlay_knowledgebase/raw/ov157.json - Overlay-system explainer: overlays system
- Plain-English overlay primer: overlay knowledgebase