The Touhou PC-98 Restoration Project. Decompiled 100% of TH01 to provably legit C++ code, remaining games in progress. Which mods or ports do *you* want to see?
Many thanks to this month's subscribers!
The splitting process has escalated to not only cover Shuusou Gyoku's logic, but also my SDL-based engine, laying the groundwork for future modern-system builds.
Only missing the CLI now, and of course the blog post. Mid-June, maybe?
• …fake script code)
• The text popups shown for boss defeat and Evade bonuses or when collecting a bomb or extra life, where each letter flies off at a different angle
• The sprintf() implementation that decides the number of letters (and thus, RNG steps) in these popups (!)
Full list of seemingly decorative aspects in Shuusou Gyoku that are actually game logic and must always be simulated because they draw from and advance the single global RNG:
• The hearts shown when losing a life
• The sparks shown when grazing bullets or hitting an enemy
• The falling stars in the last phase of the Gates fight, and in Stage 6
• Boss explosions
• The background animations in Stage 6 (wavy clock, wireframe cubes, and …
Thus, negative item values will continue to just "absorb" points from subsequently collected positive-value items like they did in the original game, and not immediately decrease the score.
Some zoomed-in images variants for comparison: (fixed → original → ≥P0295 && ≤P0326)
Point items in Shuusou Gyoku will award negative points if you collect them below the bottom edge of the playfield during the respawn animation.
And nobody noticed because
1) the game's 5×7-digit font doesn't have a - sign, and
2) the total score can't decrease, only increase.
… that's *not* the score that the game would record in the High Score list. Shuusou Gyoku only ever adds potential negative deltas to the score on a Game Over – not when switching stages, and not when clearing the game.
And we obviously don't want to change such scoring details.
Although not entirely free, and it would come with a one-time setup cost and the drawbacks of abandoning the current strategy. So it's up to the backers to decide.
More info: https://t.co/Sjaehio2wL
What's this? A MinGW fork with GCC 15 that targets Windows 98? Small package, no bullshit? Tested and working fine for trivial programs?
https://t.co/hw7SXL7sZd
Removing the KernelEx and SSE instruction requirements from Shuusou Gyoku's backport has just become a lot cheaper.
Many thanks to this month's subscribers!
Very slow month, but I still managed to move enough code to push the headless Shuusou Gyoku subproject to over 100 commits. Very close to solving the hardest issues while juggling Windows 9x and FFI use cases.
4 pushes for sure, though.
Which is better in almost every way. Such a setting would propagate into the replay header of even pbg's original format, and replays recorded with it would play back fine on release builds too.
(Thus, replay sites would have to check for / recategorize this case anyway.)
Debug builds of Shuusou Gyoku had a menu option that turns off collision detection.
Past tense because this forks gameplay, desyncs replays recorded with the opposite value, and is therefore very bad. I'll replace it with the alternative approach of just setting lives to 255.
Many thanks to this month's subscribers!
Untangling Shuusou Gyoku's game logic into a library isn't the worst thing in the world, but still nontrivial. Will definitely end up closer to 2 pushes than to 1.
Probably doing a bit of TH02 RE after that, given its recent funding.
https://t.co/7xDsOpKEbh
[💰] Confirm T0425
Ember2528 is also back with a smaller €50 subscription towards the better replay format for Shuusou Gyoku, followed by the previous long-term TH03 decompilation and porting roadmap! Thank you very much.
https://t.co/1T9akB24Eh
[💰] Confirm T0424
Another €25 from iruleatgames towards reverse-engineering TH02 or getting it more position-independent, rounding up Yanga's earlier TH02 contributions to a full push. Thank you!
https://t.co/x59abrQTRC
[💰] Confirm T0423
€200 from iruleatgames towards reverse-engineering TH02, or getting it more position-independent! Thank you so much.