Skip to content

P0251

Compare
Choose a tag to compare
@nmlgc nmlgc released this 01 Aug 23:57
· 409 commits to master since this release

Tons of internal changes in preparation for migrating the codebase to SDL and its renderer abstraction, together with a few minor bug fixes:

  • The P0226 build had a bug that allowed invalid stages to be selected for replay recording. If the ReplaySave option was [O F F], pressing the ⬅️ left arrow key on the StageSelect option would overflow its value to 255. The effects of this weren't all too serious: The game would simply stay on the Weapon Select screen for an invalid stage number, or launch into the Extra Stage if you scrolled all the way to 131. Still, it's fixed in this build.

    Screenshot of the negative overflow bug that the P0226 build of Shuusou Gyoku accidentally introduced into the replay stage selection
    Whoops! That one was fully my fault.

  • Alt-Tabbing out of the ending won't mess up graphics anymore.
    See #19 for details of this bug.

  • Text rendering has been optimized by caching each piece of text on a DirectDraw surface (equivalent to a texture in modern 3D APIs) instead of directly rasterizing it onto the DirectDraw framebuffer every frame. This was necessary for porting the game away from DirectDraw later, but it also happened to increase the game's potential frame rate by roughly 3.5× in the Music Room, and 1.9× during in-game dialog.

  • The gradient on the in-game music title now renders roughly twice as fast, cutting down the lag before its animation.

  • The configuration file now uses a forwards-compatible versioning scheme, and a matching SSG_V??.CFG file name format. These new files don't use a checksum anymore, which allows the configuration to be freely hex-edited. The game now validates each value individually, and resets it to its default on a validation failure.

    • For backward compatibility, a build will always write any changed settings to all previous configuration file versions, including the original 秋霜CFG.DAT.

    • A bit depth setting of 32-bit is now automatically turned into 16-bit when writing to the original 秋霜CFG.DAT. On the original 秋霜玉.exe, any value apart from 8-bit or 16-bit would cause the entire file to fail validation, resetting the entire configuration to its defaults and re-locking the Extra Stage. This fully restores the backward compatibility to the original release that the P0226 build broke.

  • 8-bit mode now requires no special tweaks in DxWnd to run without glitches.
    To display the in-game music title with correct colors, the original game required the DirectX(2) → Fix DC palette setting, which was only introduced in version 2.05.95, released in April 2023.

  • The archive now includes an i586 build that can potentially run on vintage Windows systems. See the Setup section inside the archive for more details.

The original screenshot feature is still missing, as it also wasn't part of pbg's released source code.

Troubleshooting

  • If the game runs slow on your system, or doesn't render anything at all:

    • Delete any reference to GIAN07.exe from the following registry keys:

      • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
      • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
    • Make sure that the 32-bit mode is activated in the Config → Graphic menu.

  • If you're wondering why your antivirus is freaking out: I explained the reasons in #22, with some more background in #21.


Summary blog post: https://rec98.nmlgc.net/blog/2023-08-01
Full changelog compared to the previous release: P0226...P0251
Previous release: https://github.com/nmlgc/ssg/releases/tag/P0226