nmlgc
f5da2a50a5
[Maintenance] [th02/th04/th05] Stage tiles: Move metrics to a separate header
...
The vertical shmup counterpart to 841d8be
. Cleans up the subsystem
hierarchy by ensuring that at least all tile /formats/ code does not
depend on /main/ code.
Part of P0258, funded by [Anonymous] and Blue Bolt.
2023-10-31 22:33:10 +01:00
nmlgc
0c39c6b239
[Maintenance] [th02] Stage tiles: Don't publicly declare the tile ring array
...
Luckily, it's not directly mutated from outside in this game.
Part of P0258, funded by [Anonymous] and Blue Bolt.
2023-10-31 22:33:07 +01:00
nmlgc
9aad9ad114
[Maintenance] Declare 8-bit pixel delta and length types
...
Part of P0242, funded by Yanga.
2023-06-06 21:02:47 +02:00
nmlgc
df539f13da
[Maintenance] [th02/th04/th05] Stage tiles: Separate ID → VRAM offset function
...
Perfectly inlines in the one place in TH02 that uses it, and will be
constant-folded away for the few calls in TH04 where ZUN originally
hardcoded VRAM offsets.
Part of P0240, funded by JonathKane.
2023-05-29 21:23:00 +02:00
nmlgc
679553fb4d
[Decompilation] [th02] Stage tiles: Resetting an incomplete bunch of state
...
And that's all we can do for now. Almost done with stage tiles!
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
caa4b6747b
[Decompilation] [th02] Stage tiles: .MAP file loading
...
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
366cd1bf95
[Decompilation] [th02] Stage tiles: VRAM source area initialization
...
So silly.
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
1778006684
[Decompilation] [th02] Stage tiles: Low-level EGC-accelerated blitting
...
Batched this time around!
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
fdee90a499
[Decompilation] [th02] Stage tiles: Regular scroll and render function
...
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
29cde9b5de
[Decompilation] [th02] Stage tiles: Initial screen of a stage
...
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
6acb385a5a
[Decompilation] [th02] Stage tiles: Rectangular invalidation
...
Part of P0236, funded by Yanga.
2023-03-29 12:36:55 +02:00
nmlgc
62c4b7f1c2
[Decompilation] [th02] Stage tiles: Regular rendering
...
Completes P0235, funded by Ember2528.
2023-03-29 12:36:55 +02:00
nmlgc
59564b3ecf
[Decompilation] [th02] Stage tiles: Re-rendering the entire playfield
...
Part of P0235, funded by Ember2528.
2023-03-29 12:36:55 +02:00
nmlgc
9c95ddace3
[Decompilation] [th02] Stage tiles: Setting and blitting single tiles
...
Used e.g. for the track marks that the Stage 1 midboss leaves on the
bridge. Nice detail… if it weren't for the wrong rendering order 🎺
Part of P0235, funded by Ember2528.
2023-03-29 12:36:55 +02:00
nmlgc
e1ccf2d67d
[Decompilation] [th02] Stage tiles: EGC-accelerated single-tile blitting
...
From the tile source area to the right of the HUD, obviously. So glad
that vram_offset_shift_fast() is possible without inline ASM, we're
definitely going to see that one more often.
Part of P0235, funded by Ember2528.
2023-03-29 12:36:55 +02:00
nmlgc
ca0a076e92
[Naming] [th02] Stage tiles: Rendering helper functions
...
Part of P0235, funded by Ember2528.
2023-03-29 12:36:55 +02:00
nmlgc
7cbaf4a123
[Reverse-engineering] [th02] Stage tiles: Public state
...
Part of P0235, funded by Ember2528.
2023-03-29 12:36:54 +02:00
nmlgc
54e72475c6
[Reverse-engineering] [th02] Stage tiles: Internal state
...
Part of P0235, funded by Ember2528.
2023-03-29 12:36:54 +02:00
nmlgc
0a71be2188
[Reverse-engineering] [th02/th04/th05] Stage tiles: VRAM source area offsets
...
Part of P0235, funded by Ember2528.
2023-03-29 12:36:54 +02:00
nmlgc
ebbb5b8255
[Maintenance] Move tile-related files to their own subdirectory
...
The next commit will make clear that tile functionality is not a subset
of the non-boss stage code.
Part of P0147, funded by -Tom- and Ember2528.
2021-06-20 19:37:20 +02:00