Skip to content
This repository was archived by the owner on Oct 6, 2026. It is now read-only.

P0341

Latest

Choose a tag to compare

@nmlgc nmlgc released this 06 Oct 00:33

Game logic code has now been isolated into a separate DLL (ssg.v1.005.dll), which is now shared by both the modern and Windows 98 builds. A new command-line tool (ssg_cli.exe) demonstrates how this shared code can be used for rapid replay validation and desync detection by running them without graphical output. This allows a full 7-minute Extra Stage replay to be validated in less than 200 ms on modern systems.

Output of the new Shuusou Gyoku command-line replay simulation tool, showing the end result of two Extra Stage and one Lunatic Stage 4 replay, together with the surprisingly short amount of time it took to gather these results – 141.3 ms for a Wide Shot Extra Stage run, 173.3 ms for a Homing Missile Extra Stage run, and 44.8 ms for a Laser run of Stage 4 on Lunatic difficulty, translating to validation frame rates of 191894, 151244 and 242082 FPS, respectively. Output of the new Shuusou Gyoku command-line replay simulation tool, showing a desyncing replay that ends 77.1% into the recorded replay data with a Game Over, after just 24.6 ms of simulation time.

This will be the final release before my retirement.

The remaining changes:

  • Score popups from point items collected with negative values are now correctly rendered as such, with a preceding minus sign.
    If you spawn point items close to the center of the playfield and then lose a life, VIVIT is very likely to collect them while she's still moving up from below the playfield during the first 120 frames of the respawn animation. At these Y positions, the point item formula results in negative values. Since the original game's renderer simply skipped over minus signs, these negative scores wrongly appeared to be positive.
    See #98 for more details and video comparisons.

  • In pbg's original release, trying to play a nonexistent Extra Stage replay would limit a subsequent Weapon Select screen for the 6-stage main game to the shot types that the Extra Stage has been unlocked with. This has now been fixed.
    See #94 for more details.

  • 秋霜CFG.DAT is now written with correct checksums again, re-establishing backwards compatibility with the original release for all applicable configuration options. This feature accidentally broke in P0295.

Troubleshooting

Modern build (GIAN07.exe)

  • ❓ The game runs, but rendering is broken
    ❗ Try hitting F7 to switch to the next rendering API in the list. You can also override any previous API choice by setting the environment variable SDL_RENDER_DRIVER to one of the following:
    • direct3d
    • direct3d11
    • direct3d12
    • opengl
    • opengles2
    • vulkan
    • gpu
    • software

Windows 98 build (GIAN07_win98.exe)

  • ❓ The game runs slow, or doesn't render anything at all
    ❗ Delete any reference to GIAN07_win98.exe (the binary's file name) 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

    Also, make sure that the 32-bit mode is activated in the Config → Graphic menu.

  • ❓ D3DWindower stops windowing the game after it lost and regained focus, and might even crash the game soon after
    ❗ Open the game's ⚙️ Options dialog and check these boxes in the Foreground Control tab:

    Screenshot of the D3DWindower Foreground Control settings that are necessary for keeping the ReC98 Shuusou Gyoku build windowed

  • ❓ D3DWindower has no effect on KernelEx-enhanced Windows 98
    ❗ Disable the KernelEx wrapper for KERNEL32.GetVersion:

    1. Open %WINDIR%\KernelEx\Core.ini
    2. Find the *.names section of the KernelEx configuration you're using for Shuusou Gyoku (i.e., [WIN2K8.names] for Windows 2008 SP1)
    3. Replace the KERNEL32.GetVersion= line with KERNEL32.GetVersion=std
    4. Save and reboot

Additional credits


Summary blog post: https://rec98.nmlgc.net/blog/2026-10-05
Full changelog compared to the previous release: P0326...P0341
Previous release: https://github.com/nmlgc/ssg/releases/tag/P0326