Releases: Arnethegreat/yoshisisland-practice-hack
Yoshi's Island Practice Hack 1.0.1
What's Changed
Small update, mostly bugfixes.
New Features:
- warp to just after the falling blocks autoscroller in 2-1
- new HUD counter that displays the number of frames spent in slowed movement, per room
- this currently includes running on slopes, stairs, mud, or snow, and also tonguing, spitting, or swallowing while holding a direction
Fixes:
- crash when HUD enabled with null egg
- corrupted map screen gfx if the debug menu was opened after beating a level's high score
- the debug file is now loaded correctly when warping from the stork cs
- level rezone would not save egg inventory correctly in some circumstances
- when shooting a winged cloud near the edge of the screen so that a freeze occurs, a garbage tile would be written to the HUD
Changes:
- HUD displays for speed, aim angle, X pos, BG3 scroll, and rockless trainer are now 3 digits instead of 4, removing the unused digits
- additionally, some icons have been added for clarity.
- savestates can no longer be loaded cross-level (cross-room is still fine) due to inconsistent behaviour when rezoning back to the original level after loading
Full Changelog: v1.0.0...v1.0.1
Yoshi's Island Practice Hack 1.0.0
What's Changed
In addition to various optimisations across the codebase, code used to calculate and display HUD values has been greatly optimised.
The following benchmarks were recorded with Mesen 2.0.0's profiler, comparing practice hack v0.4.4 to current, playing through 1-3 with a standard 100% route. Values are approximate averages.
level_tick is the function that runs every frame to calculate updates to HUD data and upload them to the buffer, idle is the "free" time spent not running code.
HUD off | HUD on
level_tick (incl): 1.5% -> 0.3% | 4.5% -> 2.1%
[reset] aka idle: 34% -> 36% | 27% -> 35%
Base game idle: 37%
As you can see, the new idle times are much closer to the base game both with HUD on and off. This should considerably reduce any extra lag that would not be experienced on the base game.
New Features:
- quick-loading a savestate now restores MAP16 changes (e.g. destroyed sand/foam)
- debug flag to force hasty control scheme
- frame advance
- disable music now disables all music and correctly re-enables the last queued track
- optionally rezone to level start instead of just the last room entrance
- soft-reset the game by holding R+L+Start+Select on controller 1
- more animations on the score screen and overworld are now skipped
Fixes:
- various audio crashes when warping before loading a file (now loads debug file 3)
- audio crash when warping while game is paused
- world 7 bug on overworld when pressing right while the cursor is on world 6
- various HUD graphical glitches
- level intro lag when HUD active
- HUD is now shown during the load delay period
- stork intro CS crash on J
- super baby mario would last forever if the debug menu was opened due to the big Yoshi egg despawning
- input bindings not updating on bind clear
- jerky camera and related tile-loading bugs when loading savestate
- debug menu text would be hidden if it was opened during screen transitions or when a message box was open
- creating and loading a savestate after a dynamic tileset change now correctly loads the new tileset instead of the old one (e.g. at the start of 4-4)
- wrong Yoshi colour would be set when rezoning after the goal ring was hit
Changes:
- debug menu has been slightly reorganised to accommodate the new features
- warps room names have been updated to be (hopefully) more descriptive
- SuperFX checksum algorithm now uses CRC16
- HUD timer no longer ticks during loading/screen transitions
- slowdown value no longer saved in savestates
- corrupt/unexpected SRAM values used in the debug menu are normalised on boot
- numeric debug menu controls can now be changed rapidly by holding a button, similarly to dpad navigation
- HUD timer now respects slowdown/frame advance
- debug menu cursor remembers the previously navigated tree path
- warping now resets level progress
- new file default hasty functionality was removed as a result of the addition of "force hasty"
Full Changelog: v0.4.4...v1.0.0
Yoshi's Island Practice Hack 0.4.4
Yoshi's Island Practice Hack 0.4.3
What's Changed
- #4 Ability to configure which inputs will trigger certain debug functions
- Music toggle option moved to save data for persistence
- #7 Can now navigate the debug menu bidirectionally with left and right on the dpad
- Added submenu support and moved some game flag-related controls into one
- #19 Ability to toggle the control scheme between patient and hasty from the debug menu
- #20 RAMwatch option in debug menu - displays arbitrary data from memory in the HUD during gameplay
- Fixed #18 savestates could become corrupted in certain situations
- Various minor bugfixes and code improvements
Full Changelog: 0.4.2...0.4.3
v0.4.2
What's Changed
- Savestate load delay - configurable delay after loading a state if you need more time to prepare your inputs
- Stored in SRAM, so you will need to set this initially the first time you run the hack
- Warps menu now shows current level at the top of the screen
- Use B to go back and save cursor position in the warps menu
- Hold the d-pad to quickly navigate the debug menu options
- The currently selected option in the debug menu is now highlighted with an outline
- 6-6 rockless trainer added to HUD (see README)
- "Full load default" and "Skip kamek" debug menu flags have been moved to SRAM for persistence
- HUD timers are now saved and loaded when using savestates
- Fixed a debug menu bug preventing numeric controls from being incremented in certain situations
- Fixed a savestate bug where reset room required an existing savestate
- Fixed a savestate bug where attempting a room reset would break after a save or full load
Full Changelog: v0.4.1...0.4.2
v0.4.1
v0.4.0 Release
"Warp to boss" debug menu option replaced with a warps menu
Lui's HUD added - enable it from the debug menu
Egg inventory editor syncs properly with loaded eggs
World map transitions sped up
The skip Kamek flag in the debug menu is now persistent
0.3.1 Release
Added Room Reset, hold R while pressing X to reset to last used entrance.
Fixed big green eggs now properly working in menu,
Fixed toggles in menu to be consistent.
Slowdown is now disabled in menu.
Moved the menu down by A WHOLE PIXEL
0.3.0 Release
Added a debug menu accessed by pressing Start while holding L+R
SuperFX graphics should work properly now
Fixed various crashes when loading at certain game modes
Hookbill/Big Bowser now uses experimental load as default (hold L to override)
0.2.3 Release
Fixed static SuperFX graphics being improperly updated
Fixed platforms in 6-4 like areas for fast loads
Finally fixed terrain column loading being misaligned (I hope!)
Fixed saving during Kamek magic cutscene