Releases: saekaze/th08-switch
Releases · saekaze/th08-switch
Release list
1.00d (r3)
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.
(upstream7148a76,src/ItemManager.cpp) - Black background behind pre-boss dialogue — the three Background draw gates
now useGui::IsStageFinished()like the retail executable instead of
Gui::IsDialoguePresent(), so the stage keeps rendering behind dialogue.
(upstreamaf72ca9, RT-006,src/Background.cpp) - Boss name banner —
Gui::CopyEnemyNameTexturenow takes its sprites from
frontAnm(33 sprites) instead of the 6-spritestgNtxt.anm; previously it
indexed sprites 16…27 out of bounds on every stage intro.
(upstream63256e0, RT-002,src/Gui.cpp) - Laser cancel burst —
BulletManager::RemoveAllBulletssteps the laser item
split by 32.0 likeDespawnBulletsalready did; bombing or killing a boss during
lasers no longer under-awards items/score. (upstreama393f40) - 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 theth08.dat/thbgm.datpath). FileSystem::TryDecryptFromTablereports 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 scalardeleteis preserved for the original target.
