P0251
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 theStageSelect
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. -
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