ReC98/th04/main/boss
nmlgc 426a531882 [Reverse-engineering] [th04] Bosses: 16 shared state bytes
With a different meaning (and sometimes, even type) every time they are
used, forcing me to look at details of boss fights way before I wanted…
wonderful. Not sure yet whether they're involved in Kurumi's and
Marisa's division-by-0 crashes, but that kind of wildly shared state is
exactly what causes bugs like these to happen. I did manage to
reproduce the Marisa crash during this research!

Temporarily breaking the rule of immediately reflecting ASM land
declarations in C land, because it makes more sense to render these as
macros, local to their respective pattern functions, and it's way too
early for declaring these. Or late, given that I've now got to add a
third push to this stretch…

Completes P0187, funded by [Anonymous] and Blue Bolt.
2022-03-27 00:48:12 +01:00
..
b4r.cpp [Reverse-engineering] [th04] Stage 4 Reimu: Data segment variables 2022-03-27 00:48:06 +01:00
b6.asm [Naming] [th04/th05] Bosses: Rename `*_phase_end` to `*_phase_next` 2022-03-26 20:44:54 +01:00
b6.cpp [Naming] [th04/th05] Bosses: Rename `*_phase_end` to `*_phase_next` 2022-03-26 20:44:54 +01:00
b6_anim.asm [Decompilation] [th04/th05] Midbosses: Defeat animation update function 2022-03-05 17:50:33 +01:00
backdrop.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
bg[bss].asm [Reverse-engineering] [th04/th05] .BB tile animation: Cel rendering 2021-06-21 15:48:28 +02:00
boss.cpp [Decompilation] [th05] Bosses: Player sprite collision 2022-03-27 00:39:03 +01:00
boss.hpp [Reverse-engineering] [th04] Bosses: 16 shared state bytes 2022-03-27 00:48:12 +01:00
bx1.asm [Reverse-engineering] [th04] Gengetsu: Wave teleport amplitude 2022-03-27 00:43:03 +01:00
bx1.cpp [Reverse-engineering] [th04] Gengetsu: Wave teleport amplitude 2022-03-27 00:43:03 +01:00
bx2.cpp [Reverse-engineering] [th04] Gengetsu: Wave teleport amplitude 2022-03-27 00:43:03 +01:00
end.asm [Naming] [th04/th05] Bosses: Rename `*_phase_end` to `*_phase_next` 2022-03-26 20:44:54 +01:00
end.cpp [Reverse-engineering] [th04/th05] Boss item drops 2020-04-15 21:01:59 +02:00
end[data].asm [Reverse-engineering] [th04/th05] Boss item drops 2020-04-15 21:01:59 +02:00
explode_big.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
explode_small.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
explosions[bss].asm [Maintenance] [th04/th05] Boss explosions: Update to current coding standards 2022-03-26 20:44:54 +01:00
explosions_big.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
explosions_big[data].asm [Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory 2020-04-15 20:58:01 +02:00
explosions_reset.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
explosions_small.asm [Maintenance] [th04/th05] Remove `extern "C"` from more areas of code 2022-03-26 20:44:54 +01:00
funcs[bss].asm [Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory 2020-04-15 20:58:01 +02:00
hitbox[bss].asm [Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory 2020-04-15 20:58:01 +02:00
reset.cpp [Decompilation] [th04/th05] Bosses / Midbosses: End-of-phase score bonus 2022-03-27 00:33:51 +01:00
vars[bss].asm [Maintenance] Move all features exclusive to MAIN.EXE to a main/ subdirectory 2020-04-15 20:58:01 +02:00