nmlgc
deb45ea14e
[Reverse-engineering] [th04/th05] Player shot structure
...
And that's enough for now, see you in February!
Funded by -Tom-.
2019-01-01 02:29:12 +01:00
nmlgc
35f9bd71e8
[Reduction] [th04/th05] Micro-optimized version of super_roll_put_tiny()
...
Y'know, maybe ZUN measured and all of this actually mattered? What do I
know?
Funded by -Tom-.
2018-12-31 20:41:13 +01:00
nmlgc
e7265ac656
[Reverse-engineering] [th04/th05] Shot X/Y velocity lookup table
...
Funded by -Tom-.
2018-12-31 19:45:34 +01:00
nmlgc
4770d145d6
[Reverse-engineering] [th04/th05] Target position for homing shots
...
Funded by -Tom-.
2018-12-30 15:31:26 +01:00
nmlgc
612beb815b
[Maintenance] Clean up the confusion between "tiles" and .STD tile sections
...
Funded by -Tom-.
2018-12-30 02:30:16 +01:00
nmlgc
75763ccd32
[Reverse-engineering] [th04/th05] Invalidating background tiles around a point
...
…and *now* we can tackle all those entity types that were referencing
this function, with the help of uth05win.
Funded by -Tom-.
2018-12-30 00:19:18 +01:00
nmlgc
c2ef9d51b6
[Reverse-engineering] [th02/th03/th04/th05] Back/front page pairs
...
Because using just one variable would have totally been too
straightforward.
Funded by -Tom-.
2018-12-30 00:16:18 +01:00
nmlgc
35ef90f4d1
[Reduction] Page flipping
...
Funded by -Tom-.
2018-12-30 00:16:18 +01:00
nmlgc
c00b87ed4f
[Reverse-engineering] [th04/th05] Redrawing dirty stage background tiles
...
Funded by -Tom-.
2018-12-30 00:16:16 +01:00
nmlgc
bcc1b7518f
[Reverse-engineering] [th04/th05] Applying VRAM scrolling to Y coordinates
...
Funded by -Tom-.
2018-12-29 18:34:51 +01:00
nmlgc
dbf1e93a79
[Reverse-engineering] [th02] Current scrolling line
...
… and that's all that's superficially identical to TH04 and TH05. I lack
the funding to cover more. :P
Funded by -Tom-.
2018-12-29 18:34:51 +01:00
nmlgc
4fe4c8eed1
[Reverse-engineering] [th04/th05] Scrolling-related variables
...
Funded by -Tom-.
2018-12-29 18:34:51 +01:00
nmlgc
20d05c1653
[Reverse-engineering] [th04/th05] Rendering all stage background tiles at once
...
Funded by -Tom-.
2018-12-29 18:34:51 +01:00
nmlgc
6a6ce47c56
[Reduction] EGC-powered VRAM region copies
...
Funded by -Tom-.
2018-12-29 17:03:26 +01:00
nmlgc
e1e4f819ed
[Reverse-engineering] [th02/th04/th05] Stage background tile ring buffer
...
Funded by -Tom-.
2018-12-29 17:03:24 +01:00
nmlgc
8ee87233b8
[Reverse-engineering] [th02/th05] Player movement speed
...
Yes, both characters in TH04 have the same speed!
Funded by -Tom-.
2018-12-26 22:07:34 +01:00
nmlgc
261d5037ed
[Reverse-engineering] [th04/th05] .STD file loading
...
… because TH04's version of this takes the ASCII stage ID directly from
the resident structure.
So boss battles are simply triggered by setting the background tile
scroll speed to 0? That means…
Funded by zorg.
2018-12-26 17:59:03 +01:00
nmlgc
3f06c63206
[Reverse-engineering] [th03/th04/th05] Pointers to the resident structure
...
Quickly doing these despite not having RE'd the structures themselves
yet…
Funded by zorg.
2018-12-26 17:59:03 +01:00
nmlgc
6c555aad61
[Readme] Mention that stage portions in TH04/TH05 *are* handled by bytecode
...
Funded by zorg.
2018-12-26 17:59:03 +01:00
nmlgc
4a0b973c76
[Reverse-engineering] [th04/th05] Midboss-related function pointers
...
Funded by zorg.
2018-12-26 17:59:03 +01:00
nmlgc
25ee5990aa
[Reverse-engineering] [th04/th05] Boss battle backdrop rendering
...
Funded by zorg.
2018-12-26 17:59:03 +01:00
nmlgc
d211a22c9f
[Reverse-engineering] [th04/th05] GRCG-powered playfield row filling
...
Isn't it quite a bit risky to do that without a CLD in front?
Funded by zorg.
2018-12-26 17:59:01 +01:00
nmlgc
bc3c85f09a
[Reverse-engineering] [th04/th05] GRCG/EGC-powered VRAM writes
...
Funded by zorg.
2018-12-25 23:45:24 +01:00
nmlgc
41622254a8
[Reverse-engineering] EGC register writes
...
Funded by zorg.
2018-12-25 23:45:24 +01:00
nmlgc
b62a8b29a6
[Reverse-engineering] [th02/th04/th05] Boss-related function pointers
...
No idea what these other ones in TH02 are.
Funded by zorg.
2018-12-18 19:52:41 +01:00
nmlgc
0cde4b7cd3
[Reverse-engineering] [th05] Laser update and render functions
...
Funded by zorg.
2018-12-17 00:27:38 +01:00
nmlgc
8634e10b6d
[Reverse-engineering] [th04/th05] Bullet clear trigger and time
...
Funded by zorg.
2018-12-16 01:49:55 +01:00
nmlgc
4aeb035121
[Reverse-engineering] [th04/th05] A random shared draw coordinate
...
Local variables are so overrated.
Funded by zorg.
2018-12-16 00:31:05 +01:00
nmlgc
b3c5e4dcfe
[Reverse-engineering] [th05] Rendering and hit testing for a single laser
...
What the hell.
Funded by zorg.
2018-12-15 23:04:26 +01:00
nmlgc
9d79c1413c
[Reverse-engineering] [th05] Laser coordinate sub-structure
...
Yup, the draw function actually takes a sub-structure starting at 0x02.
Funded by zorg.
2018-12-15 23:04:24 +01:00
nmlgc
07e466cf3b
[Reverse-engineering] [th01/th02/th04/th05] Player hit flag
...
Funded by zorg.
2018-12-15 22:57:36 +01:00
nmlgc
e73d740926
[Reverse-engineering] [th05] Laser control functions
...
Funded by zorg.
2018-12-15 22:57:34 +01:00
nmlgc
ac7e6bc176
[Reverse-engineering] [th05] Rank-based speed adjustment
...
Again, one of these functions that ZUN *probably* wrote in ASM for shits
and giggles, which you *again could* "decompile" using in-line assembly,
but that kind of defeats the point.
Oh well, at least the fact that the parameter is passed in AL means that
the calling convention must have been __fastcall, and *that* part *does*
cleanly map to C. Unlike some of the functions in d08a7f4
.
Funded by zorg.
2018-12-12 21:50:44 +01:00
nmlgc
807df3d5a7
[Reverse-engineering] [th05] Laser structure
...
Struct strLASER in uth05win… except that the member names in that one
were not only a bit too unclear, but `ageThres` and `shootAgeThres`
should have also been the other way round.
Also, yes, TH04's laser structure seems completely different.
Funded by -Tom-.
2018-12-12 02:49:42 +01:00
nmlgc
0e8bbe8130
[Reverse-engineering] [th04/th05] Player performance ("rank") management
...
Going with uth05win's "player performance" here, since we already use
"rank" for Easy/Normal/Hard/Lunatic.
Funded by -Tom-.
2018-12-10 21:00:19 +01:00
nmlgc
f3b6137fe2
[Reverse-engineering] [th04/th05] Midboss HP
...
Funded by -Tom-.
2018-12-09 01:09:17 +01:00
nmlgc
9fd3f6dbf6
[Reverse-engineering] [th04/th05] Boss position
...
Funded by -Tom-.
2018-12-09 00:57:42 +01:00
nmlgc
59e692a82a
[Reverse-engineering] [th04/th05] Midboss position
...
Funded by -Tom-.
2018-12-09 00:47:52 +01:00
nmlgc
352240e6c5
[Reverse-engineering] [th04/th05] Boss animation sprite IDs
...
Funded by -Tom-.
2018-12-09 00:47:50 +01:00
nmlgc
36b1a02773
[Reverse-engineering] [th05] Yuki's HP
...
Internally, Mai is seen as the "primary" Stage 4 boss.
Funded by -Tom-.
2018-12-09 00:44:31 +01:00
nmlgc
e855e1a908
[Reverse-engineering] [th04/th05] Boss phase end HP
...
Funded by -Tom-.
2018-12-09 00:40:20 +01:00
nmlgc
49a67a1a8b
[Reverse-engineering] [th04/th05] Boss HP
...
Funded by -Tom-.
2018-12-09 00:20:27 +01:00
nmlgc
b03bc91357
[Reverse-engineering] [th04/th05] Growing and shrinking circles
...
As seen during bomb animations, and around bosses. Class CCircle in
uth05win.
Funded by -Tom-.
2018-12-06 23:29:45 +01:00
nmlgc
d08a7f49b6
[Reduction] [th04/th05] Redefined GRCG mode/color setting functions
...
Funded by -Tom-.
2018-12-06 22:39:11 +01:00
nmlgc
70d1e1c230
[Reverse-engineering] [th04/th05] Inlined GRCG color setting calls
...
Funded by -Tom-.
2018-12-06 19:42:44 +01:00
nmlgc
83e089cba9
[Reverse-engineering] Inlined GRCG mode setting calls
...
Funded by -Tom-.
2018-12-06 19:18:02 +01:00
nmlgc
d7483c09cc
[Maintenance] Fix the TASM32 crash when assembling th03_mainl.asm
...
Right, the last path component in an INCLUDE file name is "limited" to 28
bytes. Turns out it only crashes on every system that *isn't* the main one I
develop on, though…
2018-12-04 19:55:18 +01:00
nmlgc
141baa4ca9
[Reverse-engineering] [th05/maine] Remaining references to CDG slot data
...
…unlike these two identical functions, which hopefully become clearer
after more reverse-engineering has been done around them. It's not like
they're directly related to CDG slot data anyway, they just apply the
TH05 version of the dissolution effect in the staff roll on top of the
already displayed image.
And that concludes all CDG/CD2-related code!
Funded by DTM.
2018-10-16 01:04:46 +02:00
nmlgc
01a430d027
[Reverse-engineering] [th03/mainl] CDG line removal for upwards motion
...
Not *really* CDG-related, but it does use CDG slot data, and is easy
enough to be covered right now…
Funded by DTM.
2018-10-16 01:04:46 +02:00
nmlgc
766a34d044
[Reverse-engineering] [th04/maine] Single-plane CDG display
...
Only used in the staff roll.
Funded by DTM.
2018-10-16 01:04:46 +02:00