Skip to content

1.00d (r3)

Latest

Choose a tag to compare

@saekaze saekaze released this 13 Sep 13:43
· 3 commits to main since this release

Fixed

  • Item auto-collect at non-max power — items past the point-of-collection line
    are no longer magnet-attracted unless power is full (128). Matches the original.
    (upstream 7148a76, src/ItemManager.cpp)
  • Black background behind pre-boss dialogue — the three Background draw gates
    now use Gui::IsStageFinished() like the retail executable instead of
    Gui::IsDialoguePresent(), so the stage keeps rendering behind dialogue.
    (upstream af72ca9, RT-006, src/Background.cpp)
  • Boss name bannerGui::CopyEnemyNameTexture now takes its sprites from
    frontAnm (33 sprites) instead of the 6-sprite stgNtxt.anm; previously it
    indexed sprites 16…27 out of bounds on every stage intro.
    (upstream 63256e0, RT-002, src/Gui.cpp)
  • Laser cancel burstBulletManager::RemoveAllBullets steps the laser item
    split by 32.0 like DespawnBullets already did; bombing or killing a boss during
    lasers no longer under-awards items/score. (upstream a393f40)
  • Respawn animation stretched at the wrong rate (/60/30).
  • Radial effect scatter offset (+0.0f+1.0f).
  • Narrow mirror-barrier bullet warp used the inverted ratio (branches were swapped).

Hardened (upstream a45e99fb)

  • LZSS decode now bounds-checks before reading — a truncated stream can no longer
    read one byte past the buffer (this is the th08.dat / thbgm.dat path).
  • FileSystem::TryDecryptFromTable reports the true decrypted size (size - 4),
    so modern bounded readers stop at the end of the buffer.
  • Legacy array allocations are released with delete[] in modern builds
    (ZUN_DELETE_ARRAY, ZUN_DELETE_ARRAY2, SAFE_DELETE_LEGACY_ARRAY), while the
    VC7-exact scalar delete is preserved for the original target.