More actions
No edit summary |
No edit summary |
||
Line 22: | Line 22: | ||
==Features== | ==Features== | ||
* | * Full .ssc files support, including: | ||
**Normal, hold and fake notes. | ** Normal, hold and fake notes. | ||
**BPM changes. | ** BPM changes. | ||
**Scroll speed changes. | ** Scroll speed changes. | ||
**Stops/Delays and async-stops. | ** Stops/Delays and async-stops. | ||
**Warps and fast-BPM warps. | ** Warps and fast-BPM warps. | ||
* | * Multiple game modes:. | ||
**Campaign | ** Campaign: Play, unlock songs and defeat bosses. | ||
**Arcade | ** Arcade: Play songs in any numerical difficulty level. | ||
***Single | *** Single: 1 player, either Single (5-panel) or Double (10-panel) charts. | ||
***Multi VS | *** Multi VS: VS battles via Link Cable or Wireless Adapter. | ||
***Multi | *** Multi COOP: Double (10-panel) charts via Link Cable or Wireless Adapter. | ||
**Impossible | ** Impossible: Faster songs with insane mods. | ||
*Speed | * Speed multipliers can be changed in-game. | ||
* | * Mods support:. | ||
**Stage break. | ** Stage break: On, Off or SuddenDeath. | ||
**Pixelate | ** Pixelate: Mosaic effect. | ||
**Jump/Reduce | ** Jump/Reduce: Moves game area. | ||
** | ** Bounce: Makes the arrows bounce. | ||
** | ** Color filter: Alters colors. | ||
**Mirror and random steps. | ** Speed hack: AutoVelocity, FixedVelocity or RandomSpeed. | ||
**Training mode - | ** Mirror and random steps. | ||
* | ** Training mode: Rate, Fast-forward, Rewind. | ||
**Rumble. | ** AutoMod: Swaps mods randomly. | ||
**I/O LED Sync. | * Background videos "(uncompressed 240x160)" can be displayed using a flash cart. | ||
**SRAM LED Sync. | * HQ audio "(uncompressed s8 PCM)" can be played using a flash cart. | ||
* | * Two themes: "Classic" and "Modern". | ||
* | * BGA DARK background with blink effect. | ||
* | * Song selector with names, backgrounds and sound previews. | ||
* Hardware integrations:. | |||
** Rumble. | |||
** I/O LED Sync. | |||
** SRAM LED Sync. | |||
** PS/2 input. | |||
* Optimized to support ~70 songs per ROM file. | |||
==User guide== | ==User guide== | ||
Line 88: | Line 94: | ||
==Changelog== | ==Changelog== | ||
'''v1.10.*''' | '''v1.10.*''' | ||
* New features: | |||
* The game can now play [https://github.com/afska/piugba/wiki/Admin#hq-audio--video High-quality audio] by reading uncompressed PCM files from the flash cart's SD card | ** The game can now play [https://github.com/afska/piugba/wiki/Admin#hq-audio--video High-quality audio] by reading uncompressed PCM files from the flash cart's SD card. | ||
* Added support for | ** Added support for "EZ Flash Omega" flash carts when using Background videos and High-quality audio. | ||
* Added support for SD cards formatted in exFAT | ** Added support for SD cards formatted in exFAT. | ||
* Added | ** Added "Modern" theme. | ||
* Added | ** Added "Rewind" functionality to "Training mode", useful to practice difficult parts. | ||
* Added [https://github.com/afska/piugba/wiki/Admin#rumble-options Rumble options] | ** Added [https://github.com/afska/piugba/wiki/Admin#rumble-options Rumble options]. | ||
* Added [https://github.com/afska/piugba/wiki/Admin#configuring-song-offsets-in-arcade-modes Global offset] option | ** Added [https://github.com/afska/piugba/wiki/Admin#configuring-song-offsets-in-arcade-modes Global offset] option. | ||
* Graphical improvements: | |||
* Important sprite rework, supporting multiple themes | ** Important sprite rework, supporting multiple themes. | ||
* Added scaling effect to in-game score | ** Added scaling effect to in-game score. | ||
* Added scaling effect to Stage Break animation | ** Added scaling effect to Stage Break animation. | ||
* Added scaling effect to S grades | ** Added scaling effect to S grades. | ||
* Misc. changes: | |||
* Improved handling of SELECT key to quit multiplayer sessions | ** Improved handling of SELECT key to quit multiplayer sessions. | ||
* Adjusted fade time when confirming songs | ** Adjusted fade time when confirming songs. | ||
* | ** "Background blink" can now be disabled in multiplayer. | ||
* Multiplayer battles can now be tied | ** Multiplayer battles can now be tied. | ||
* Build process updates: | |||
* Added OPUS and JPEG support to the importer | ** Added OPUS and JPEG support to the importer. | ||
*Bugfixes: | |||
* Fixed pending audio glitches (e.g. when navigating to the next page after confirming a song) | ** Fixed pending audio glitches (e.g. when navigating to the next page after confirming a song). | ||
'''v1.9.*''' | '''v1.9.*''' | ||
*New features: | *New features: | ||
**The game can now display Background videos by reading them from the flash cart's SD card! (EverDrive exclusive feature) | **The game can now display Background videos by reading them from the flash cart's SD card! (EverDrive exclusive feature). | ||
**Added PS/2 keyboard support via Link Port | **Added PS/2 keyboard support via Link Port. | ||
**Added Rumble support via Link Port, for cartridges without Rumble | **Added Rumble support via Link Port, for cartridges without Rumble. | ||
**Added a FixedVelocity speed hack that ignores mid-game multiplier changes. Grade saving is disabled while this mod is active | **Added a FixedVelocity speed hack that ignores mid-game multiplier changes. Grade saving is disabled while this mod is active. | ||
**Added more post-game content after completing challenges | **Added more post-game content after completing challenges. | ||
*Optimizations: | *Optimizations: | ||
**Rearranged game loop for better usage of VDraw time | **Rearranged game loop for better usage of VDraw time. | ||
**Moved lots of functions to IWRAM | **Moved lots of functions to IWRAM. | ||
**Added optional EWRAM overclock | **Added optional EWRAM overclock. | ||
**Removed unused features from gba-sprite-engine | **Removed unused features from gba-sprite-engine. | ||
*Graphical improvements | *Graphical improvements. | ||
**You can now move the instructor's body when pressing keys in the Controls screen | **You can now move the instructor's body when pressing keys in the Controls screen. | ||
**Manually improved Home screen and Selection screen color conversion | **Manually improved Home screen and Selection screen color conversion. | ||
*Misc. changes: | *Misc. changes: | ||
**Challenge mode now uses FixedVelocity. | **Challenge mode now uses FixedVelocity. | ||
**Rumble is now enabled by default | **Rumble is now enabled by default. | ||
**The Settings screen now shows the trigger buttons and teaches users how to enter the Admin menu | **The Settings screen now shows the trigger buttons and teaches users how to enter the Admin menu. | ||
**The NIGHT color filter was replaced with a new ETHEREAL filter, which looks nicer | **The NIGHT color filter was replaced with a new ETHEREAL filter, which looks nicer. | ||
**Pixelate = FIXED will now use one less mosaic level so the life bar content is readable | **Pixelate = FIXED will now use one less mosaic level so the life bar content is readable. | ||
**The A+B+START+SELECT combo is now ignored in multiplayer sessions (except for cancelling the song) to prevent involuntary disconnects | **The A+B+START+SELECT combo is now ignored in multiplayer sessions (except for cancelling the song) to prevent involuntary disconnects. | ||
**The Link Cable multiplayer has now a slightly higher timeout to handle the case where one console has background videos and the other doesn't | **The Link Cable multiplayer has now a slightly higher timeout to handle the case where one console has background videos and the other doesn't. | ||
*Build process updates: | *Build process updates: | ||
**Added a --fast option to the importer to use async I/O (~2x faster) | **Added a --fast option to the importer to use async I/O (~2x faster). | ||
**Adding global offset support | **Adding global offset support. | ||
**Added configuration options to the portable song importer | **Added configuration options to the portable song importer. | ||
**The importer now forces the expected node version | **The importer now forces the expected node version. | ||
**Improved build error messages | **Improved build error messages. | ||
*Bugfixes: | *Bugfixes: | ||
**Reduced life bar's blink speed to once every 2 frames to make it more visible on some GBA displays | **Reduced life bar's blink speed to once every 2 frames to make it more visible on some GBA displays. | ||
**Fixed occasional audio clicks during multiplayer sessions by enabling nested interrupts for VBlank | **Fixed occasional audio clicks during multiplayer sessions by enabling nested interrupts for VBlank. | ||
**Fixed occasional audio glitches during screen transitions | **Fixed occasional audio glitches during screen transitions. | ||
**(v1.9.1) Improved SD card reading error messages | **(v1.9.1) Improved SD card reading error messages. | ||
**(v1.9.1) Fixed a glitch where Rumble would remain enabled after failing a song on a new beat | **(v1.9.1) Fixed a glitch where Rumble would remain enabled after failing a song on a new beat. | ||
'''v1.8.*''' | '''v1.8.*''' | ||
*New features: | *New features: | ||
**Added a new challenge mode when completing the campaign mode | **Added a new challenge mode when completing the campaign mode. | ||
**Arcade modes now store Dance Grades by index instead of by level. This allows saving different scores for charts that have the same numeric level (e.g. s19-a, s19-b) | **Arcade modes now store Dance Grades by index instead of by level. This allows saving different scores for charts that have the same numeric level (e.g. s19-a, s19-b). | ||
*Misc. changes: | *Misc. changes: | ||
**Stage Break = DEATH will now display the life bar at minimum level and ignore BADs in the judgement phase | **Stage Break = DEATH will now display the life bar at minimum level and ignore BADs in the judgement phase. | ||
**Now the game remembers the page/song when switching between campaign and the challenge (e.g. impossible) modes | **Now the game remembers the page/song when switching between campaign and the challenge (e.g. impossible) modes. | ||
**Bubbles in the Home Screen will 'regenerate' when leaving a submenu | **Bubbles in the Home Screen will 'regenerate' when leaving a submenu. | ||
**Removed pixel blinking effect from the Home Screen | **Removed pixel blinking effect from the Home Screen. | ||
*Optimizations | *Optimizations. | ||
**Now charts use static EWRAM to prevent crashes due to allocation failures | **Now charts use static EWRAM to prevent crashes due to allocation failures. | ||
**Updated gba-link-connection to v6.0.3, which fixes potential autopairing issues (e.g. two couples trying to create two separate sessions via Wireless Adapter) | **Updated gba-link-connection to v6.0.3, which fixes potential autopairing issues (e.g. two couples trying to create two separate sessions via Wireless Adapter). | ||
*Bugfixes: | *Bugfixes: | ||
**Fixed a small memory leak after playing a song | **Fixed a small memory leak after playing a song. | ||
**Fixed a bug with the random number generator that was causing the last value of a range to be ignored | **Fixed a bug with the random number generator that was causing the last value of a range to be ignored. | ||
**Fixed a glitch where the user could enter the "Audio lag" option and navigate to the previous/next option during the transition | **Fixed a glitch where the user could enter the "Audio lag" option and navigate to the previous/next option during the transition. | ||
**(v1.8.1) Added small fixes and adjustments to the new challenge mode | **(v1.8.1) Added small fixes and adjustments to the new challenge mode. | ||
**(v1.8.2) The Wireless Adapter is now put in low consumption mode when not in use | **(v1.8.2) The Wireless Adapter is now put in low consumption mode when not in use. | ||
**(v1.8.3) General system stability improvements to enhance the user's experience | **(v1.8.3) General system stability improvements to enhance the user's experience. | ||
**(v1.8.3) Fixed Rate = +1 mod in Impossible mode (v1.8.0 regression) | **(v1.8.3) Fixed Rate = +1 mod in Impossible mode (v1.8.0 regression). | ||
**(v1.8.3) Fixed 'mark as defective' combo being enabled during challenge mode | **(v1.8.3) Fixed 'mark as defective' combo being enabled during challenge mode. | ||
**(v1.8.3) The challenge mode now displays the current song | **(v1.8.3) The challenge mode now displays the current song. | ||
**(v1.8.3) If the Arcade library matches the selected difficulty level of the Campaign mode (most common case), the game now remembers the selected song when switching between modes | **(v1.8.3) If the Arcade library matches the selected difficulty level of the Campaign mode (most common case), the game now remembers the selected song when switching between modes. | ||
**(v1.8.3) The importer is now provided as a portable Windows executable | **(v1.8.3) The importer is now provided as a portable Windows executable. | ||
**(v1.8.4) Huh | **(v1.8.4) Huh. all this time prefetch was disabled. Well, free performance boost. | ||
**(v1.8.4) The sprite limit was increased from 50 to 90 | **(v1.8.4) The sprite limit was increased from 50 to 90. | ||
**(v1.8.4) The Bounce mod now uses a slightly less aggressive curve | **(v1.8.4) The Bounce mod now uses a slightly less aggressive curve. | ||
**(v1.8.4) Fixed an importer bug which could cause subindexes to appear in situations where they shouldn't (e.g. deleting level-99 charts via offsets.pofs) | **(v1.8.4) Fixed an importer bug which could cause subindexes to appear in situations where they shouldn't (e.g. deleting level-99 charts via offsets.pofs). | ||
'''v1.7.*''' | '''v1.7.*''' | ||
*New features: | *New features: | ||
**Menu controls | **Menu controls. | ||
**Menus can now be navigated using two key layouts: GBA style (new), and PIU style | **Menus can now be navigated using two key layouts: GBA style (new), and PIU style. | ||
**GBA style feels more natural, as it's how most GBA games work (navigate with arrows and confirm with A) | **GBA style feels more natural, as it's how most GBA games work (navigate with arrows and confirm with A). | ||
**The default layout was changed to GBA style, but it can be changed using the Admin menu | **The default layout was changed to GBA style, but it can be changed using the Admin menu. | ||
**Single-player Arcade mode | **Single-player Arcade mode. | ||
**Double charts can now be selected directly using the level change buttons | **Double charts can now be selected directly using the level change buttons. | ||
**Added AutoVelocity, under the Speed hacks mod (replaces Random speeds). AutoVelocity ignores the multiplier and sets a regular scroll BPM for all songs | **Added AutoVelocity, under the Speed hacks mod (replaces Random speeds). AutoVelocity ignores the multiplier and sets a regular scroll BPM for all songs. | ||
**Added Color filter mod (replaces Decolorize), with 16 different filters to alter game's background and sprites | **Added Color filter mod (replaces Decolorize), with 16 different filters to alter game's background and sprites. | ||
**Added Bounce mod, which makes the arrows (and/or its receptors) bounce | **Added Bounce mod, which makes the arrows (and/or its receptors) bounce. | ||
**Added AutoMod mod, which randomly combines all mods every 1~4 beats | **Added AutoMod mod, which randomly combines all mods every 1~4 beats. | ||
**Modified LINEAR and MICRO variants of Jump/Reduce mods to move the game area rhythmically | **Modified LINEAR and MICRO variants of Jump/Reduce mods to move the game area rhythmically. | ||
**Consecutive charts with the same numeric level now have a subindex to differentiate them | **Consecutive charts with the same numeric level now have a subindex to differentiate them. | ||
**Enabled mods are now highlighted to easily identify which ones are in use | **Enabled mods are now highlighted to easily identify which ones are in use. | ||
**Added a warning to let users know when the current mods won't let them save their Dance Grades | **Added a warning to let users know when the current mods won't let them save their Dance Grades. | ||
**Multiplayer Arcade mode | **Multiplayer Arcade mode. | ||
**VS mode now makes the winner's life bar bounce during gameplay to enhance competitiveness | **VS mode now makes the winner's life bar bounce during gameplay to enhance competitiveness. | ||
**Now players don't have to set the difficulty level after each song; the game remembers | **Now players don't have to set the difficulty level after each song; the game remembers. | ||
**Impossible mode | **Impossible mode. | ||
**It now uses the AutoMod/INSANE, +1 rate, and mirror steps mods | **It now uses the AutoMod/INSANE, +1 rate, and mirror steps mods. | ||
**Admin menu | **Admin menu. | ||
**offsets | **offsets. | ||
**Added a menu to set up custom offsets for each song/level. This feature is useful if you're playing a non-tested song pack and encounter an out-of-sync song. Now, you can add +/- 8ms offsets, which will be recorded in the save file and applied when playing. | **Added a menu to set up custom offsets for each song/level. This feature is useful if you're playing a non-tested song pack and encounter an out-of-sync song. Now, you can add +/- 8ms offsets, which will be recorded in the save file and applied when playing. | ||
*Engine fixes | *Engine fixes. | ||
**This build fixes ~32768 corner cases related to chart reading, increasing overall compatibility (specially with gimmick charts) | **This build fixes ~32768 corner cases related to chart reading, increasing overall compatibility (specially with gimmick charts). | ||
**Added mid-note BPM changes support. This fixes a lot of out-of-sync charts | **Added mid-note BPM changes support. This fixes a lot of out-of-sync charts. | ||
**Important ASYNC_STOP (aka setting #SCROLLS to 0) rewrite. This fixes multiple bugs where ASYNC_STOPs caused the chart to end up completely out of sync, with a broken metronome, or with infinite holds | **Important ASYNC_STOP (aka setting #SCROLLS to 0) rewrite. This fixes multiple bugs where ASYNC_STOPs caused the chart to end up completely out of sync, with a broken metronome, or with infinite holds. | ||
**BPM changes and arrow predictions are now executed even if the chart has stopped | **BPM changes and arrow predictions are now executed even if the chart has stopped. | ||
**The importer now ensures that every HOLD_START will have a subsequent HOLD_END. Now most of the start events have their duration pre-assigned, so no chart should show broken holds again | **The importer now ensures that every HOLD_START will have a subsequent HOLD_END. Now most of the start events have their duration pre-assigned, so no chart should show broken holds again. | ||
**Events inside WARP sections are no longer ignored by the importer, as they are important for gimmick charts. Instead, these are ignored during the judgement phase, to avoid unfair MISSes | **Events inside WARP sections are no longer ignored by the importer, as they are important for gimmick charts. Instead, these are ignored during the judgement phase, to avoid unfair MISSes. | ||
**Unsupported #SCROLLS segments are now emulated as regular speed changes. It doesn't have the same effect, but it works better than ignoring them. This fixes songs with a broken multiplier | **Unsupported #SCROLLS segments are now emulated as regular speed changes. It doesn't have the same effect, but it works better than ignoring them. This fixes songs with a broken multiplier. | ||
**MISSes are now judged by timing instead of by their Y coordinate. This is important when using low multiplier / speed values. | **MISSes are now judged by timing instead of by their Y coordinate. This is important when using low multiplier / speed values. | ||
**Using a lower FAST_BPM_WARP constant also fixed some songs | **Using a lower FAST_BPM_WARP constant also fixed some songs. | ||
**Fixed a corner case with fake segments events which caused some fake notes to appear as regular notes | **Fixed a corner case with fake segments events which caused some fake notes to appear as regular notes. | ||
**Removed frame skip in chart reading code, which fixes some glitches in gimmick charts | **Removed frame skip in chart reading code, which fixes some glitches in gimmick charts. | ||
**Fixed a corner case where a Scroll BPM change could be ignored until the player manually adjusts the multiplier | **Fixed a corner case where a Scroll BPM change could be ignored until the player manually adjusts the multiplier. | ||
**Equivalent keys (like RIGHT and B for CENTER) now trigger new keypress events even when the other key is already pressed. This makes single-note trills easier | **Equivalent keys (like RIGHT and B for CENTER) now trigger new keypress events even when the other key is already pressed. This makes single-note trills easier. | ||
**Precision of hold arrow judging was adjusted | **Precision of hold arrow judging was adjusted. | ||
**The default scroll BPM change speed was adjusted (100 => 150) and a lower arrow speed limit was set (1px/frame) | **The default scroll BPM change speed was adjusted (100 => 150) and a lower arrow speed limit was set (1px/frame). | ||
*Engine improvements: | *Engine improvements: | ||
**Added co-op chart support: pump-couple and pump-routine | **Added co-op chart support: pump-couple and pump-routine. | ||
**SSC parsing is now more robust, ignoring comments and finding charts using #NOTEDATA:; tags | **SSC parsing is now more robust, ignoring comments and finding charts using #NOTEDATA:; tags. | ||
**Unsupported S, V and H events are now individually ignored instead of ignoring the whole chart | **Unsupported S, V and H events are now individually ignored instead of ignoring the whole chart. | ||
**Unsupported negative #SPEEDS are now individually ignored instead of ignoring the whole chart | **Unsupported negative #SPEEDS are now individually ignored instead of ignoring the whole chart. | ||
*Optimizations: | *Optimizations: | ||
**Optimized IWRAM code, making everything faster and preventing slowdowns in complex charts | **Optimized IWRAM code, making everything faster and preventing slowdowns in complex charts. | ||
**Reduced memory access and CPU usage during gameplay | **Reduced memory access and CPU usage during gameplay. | ||
**Updated gba-link-connection to v6 | **Updated gba-link-connection to v6. | ||
**Significantly reduced latency in multiplayer sessions (both wired and wireless) | **Significantly reduced latency in multiplayer sessions (both wired and wireless). | ||
**Significantly reduced CPU consumption in multiplayer sessions | **Significantly reduced CPU consumption in multiplayer sessions. | ||
**Reduced base ROM size by removing dead gba-sprite-engine code | **Reduced base ROM size by removing dead gba-sprite-engine code. | ||
**Reduced final ROM size by optimizing space in the PIUS format | **Reduced final ROM size by optimizing space in the PIUS format. | ||
*Misc. changes: | *Misc. changes: | ||
**Pressing L and R in menus now lets the player change the option in any direction | **Pressing L and R in menus now lets the player change the option in any direction. | ||
**You can now exit any menu using either START or SELECT | **You can now exit any menu using either START or SELECT. | ||
**Finishing the game now takes user to the updated Home screen | **Finishing the game now takes user to the updated Home screen. | ||
**Rumble is now disabled during fast-forward (Training Mode) | **Rumble is now disabled during fast-forward (Training Mode). | ||
**SUDDEN_DEATH was renamed to DEATH | **SUDDEN_DEATH was renamed to DEATH. | ||
**The FAST Background blink mode was removed | **The FAST Background blink mode was removed. | ||
**The keys tutorial was moved from song 1 to song 0 | **The keys tutorial was moved from song 1 to song 0. | ||
**Holding START before entering a multiplayer mode will now set the communication mode to Wireless Host | **Holding START before entering a multiplayer mode will now set the communication mode to Wireless Host. | ||
**Wireless multiplayer will now use a slightly higher timeout value | **Wireless multiplayer will now use a slightly higher timeout value. | ||
**Library autoscroll can now be used in multiplayer | **Library autoscroll can now be used in multiplayer. | ||
**Added save file validation code | **Added save file validation code. | ||
*Build process updates: | *Build process updates: | ||
**Support for double/multiplayer chart offsets, subindex, and delete keyword in offset.pofs files | **Support for double/multiplayer chart offsets, subindex, and delete keyword in offset.pofs files. | ||
**The importer can now automatically add BOSS levels when creating Campaign builds | **The importer can now automatically add BOSS levels when creating Campaign builds. | ||
**Fixed some errors with the parsing of chart vs global properties | **Fixed some errors with the parsing of chart vs global properties. | ||
**Fixed an error that caused complexity to be zero if the charts didn't have a #LASTSECONDHINT | **Fixed an error that caused complexity to be zero if the charts didn't have a #LASTSECONDHINT. | ||
**Using a Campaign build with an Arcade library will now show a proper error when running the ROM (instead of crashing) | **Using a Campaign build with an Arcade library will now show a proper error when running the ROM (instead of crashing). | ||
**Reusing romid.u32 while changing the song count will now throw a proper error instead of building an incorrect ROM file | **Reusing romid.u32 while changing the song count will now throw a proper error instead of building an incorrect ROM file. | ||
**Fixed make package silently failing when the output ROM file was in use | **Fixed make package silently failing when the output ROM file was in use. | ||
**All errors thrown by the importer now have more details | **All errors thrown by the importer now have more details. | ||
*Graphical improvements | *Graphical improvements. | ||
**Song screen | **Song screen. | ||
***Fake HOLD_FILL notes now look fake (dedicated sprite) | ***Fake HOLD_FILL notes now look fake (dedicated sprite). | ||
**Home screen | **Home screen. | ||
***Increased demo chart complexity when some of the campaign modes are completed | ***Increased demo chart complexity when some of the campaign modes are completed. | ||
**Multiplayer/Connecting screen | **Multiplayer/Connecting screen. | ||
***Added a 'transmitting' animated icon | ***Added a 'transmitting' animated icon. | ||
**Selection screen | **Selection screen. | ||
***DOUBLE mode now has its own color palette, to easily identify what type of charts we're seeing | ***DOUBLE mode now has its own color palette, to easily identify what type of charts we're seeing. | ||
***Added 'transmitting' animated icons. On the host side, it will show two 'sending' icons over the lights. On the client side, a 'receiving' icon at the corner | ***Added 'transmitting' animated icons. On the host side, it will show two 'sending' icons over the lights. On the client side, a 'receiving' icon at the corner. | ||
**Dance Grade screen | **Dance Grade screen. | ||
***Updated winner message in VS multiplayer mode for clarity | ***Updated winner message in VS multiplayer mode for clarity. | ||
*Bugfixes: | *Bugfixes: | ||
**Fixed a random DMA lockup on hardware | **Fixed a random DMA lockup on hardware. | ||
**Fixed a glitch where changing the multiplier before the first SET_TEMPO event would cause the Scroll BPM to be set to 0, making initial arrows appear from nowhere | **Fixed a glitch where changing the multiplier before the first SET_TEMPO event would cause the Scroll BPM to be set to 0, making initial arrows appear from nowhere. | ||
**Fixed a glitch where correctly judged arrows would pass through receptors when using the Reduce mod | **Fixed a glitch where correctly judged arrows would pass through receptors when using the Reduce mod. | ||
**Fixed a glitch during transitions where the Selection screen could show garbage for one frame | **Fixed a glitch during transitions where the Selection screen could show garbage for one frame. | ||
**Fixed a bug where I/O SD blink time was tied to the value of the -now deprecated- Background blink speed setting | **Fixed a bug where I/O SD blink time was tied to the value of the -now deprecated- Background blink speed setting. | ||
**Fixed a bug related to numeric level synchronization (again) in multiplayer sessions | **Fixed a bug related to numeric level synchronization (again) in multiplayer sessions. | ||
**Fixed a bug where SRAM LED blink/ON HIT was also blinking with other player's arrows | **Fixed a bug where SRAM LED blink/ON HIT was also blinking with other player's arrows. | ||
**Fixed a bug where other player's WARPs were causing the local screen to blink using the pixel effect | **Fixed a bug where other player's WARPs were causing the local screen to blink using the pixel effect. | ||
**Fixed a bug where multiplier changes were not synchronized correctly in multiplayer sessions | **Fixed a bug where multiplier changes were not synchronized correctly in multiplayer sessions. | ||
**Fixed a bug where pixel blinks in level selection were not synchronized correctly during multiplayer sessions | **Fixed a bug where pixel blinks in level selection were not synchronized correctly during multiplayer sessions. | ||
**Fixed a bug where using fast-forward in training mode would cause a subsequent multiplier change to be ignored | **Fixed a bug where using fast-forward in training mode would cause a subsequent multiplier change to be ignored. | ||
**(v1.7.1) Fixed a bug in the importer which caused a few songs (with redundant #WARPS and #BPMS | **(v1.7.1) Fixed a bug in the importer which caused a few songs (with redundant #WARPS and #BPMS.=1000000) to warp twice. | ||
**(v1.7.1) Fixed a glitch where the life bar could blink at max level when returning from negative to positive value | **(v1.7.1) Fixed a glitch where the life bar could blink at max level when returning from negative to positive value. | ||
**(v1.7.1) Fixed a glitch where the controls screen was animating one of the center buttons at double speed | **(v1.7.1) Fixed a glitch where the controls screen was animating one of the center buttons at double speed. | ||
**(v1.7.1) Adjusted the orientation of the R button sprite, which previously had its corner pointing to the left | **(v1.7.1) Adjusted the orientation of the R button sprite, which previously had its corner pointing to the left. | ||
**(v1.7.1) Adjusted the contrast of the center idle sprite, which appeared too bright on some consoles compared to other sprites | **(v1.7.1) Adjusted the contrast of the center idle sprite, which appeared too bright on some consoles compared to other sprites. | ||
'''v1.6.*''' | '''v1.6.*''' | ||
* Graphical improvements: | * Graphical improvements: | ||
** Added black outline to sprites | ** Added black outline to sprites. | ||
** Added bounce animation on note hit | ** Added bounce animation on note hit. | ||
** Added a SLOW background blink mode | ** Added a SLOW background blink mode. | ||
* Bugfixes: | * Bugfixes: | ||
** Decolorize mod now also mutates life bars | ** Decolorize mod now also mutates life bars. | ||
** Fixed arrow holders blinking one frame late | ** Fixed arrow holders blinking one frame late. | ||
** (v1.6.1) Fixed small glitch where fake taps were displaying the wrong tile | ** (v1.6.1) Fixed small glitch where fake taps were displaying the wrong tile. | ||
'''v1.5.*''' | '''v1.5.*''' | ||
* New features: | |||
** [https://github.com/rodri042/piugba/wiki/Multiplayer Wireless Adapter support]. | |||
* New features: | |||
** [https://github.com/rodri042/piugba/wiki/Multiplayer Wireless Adapter support] | |||
** Wireless adapter support. | ** Wireless adapter support. | ||
* Bugfixes: | * Bugfixes: | ||
** Now multiplayer scores will always be in sync after a game (fixed Link Connection's packet loss). | ** Now multiplayer scores will always be in sync after a game (fixed Link Connection's packet loss). | ||
** Fixed errors where individual difficulty levels could get out of sync in multiplayer sessions. | ** Fixed errors where individual difficulty levels could get out of sync in multiplayer sessions. | ||
** Fixed glitch when confirming a song selection while crossing a page. | ** Fixed glitch when confirming a song selection while crossing a page. | ||
** Fixed admin menu key combo handling | ** Fixed admin menu key combo handling. | ||
* (v1.5.1) Fixed random crash in wireless multiplayer sessions due to audio DMA conflicts with serial IRQs. | |||
* (v1.5.1) Fixed wireless multiplayer slowdowns by moving time-critical code to IWRAM. | |||
* (v1.5.2) Fixed graphical glitch when the initial multiplier is set to 6x. | |||
* (v1.5.3) Fixed invalid memory read that affects SRAM LED Blink, but might cause other crashes. | |||
* (v1.5.3) Fixed vsync method (changed in v1.5.0) for better battery life. | |||
'''v1.4''' | |||
New features: | New features: | ||
*Hardware integrations | *Hardware integrations. | ||
**[https://github.com/rodri042/piugba/wiki/Admin#rumble Rumble]. | **[https://github.com/rodri042/piugba/wiki/Admin#rumble Rumble]. | ||
**[https://github.com/rodri042/piugba/wiki/Admin#io-sd-blink I/O SD Blink]. | **[https://github.com/rodri042/piugba/wiki/Admin#io-sd-blink I/O SD Blink]. | ||
[https://github.com/rodri042/piugba/wiki/Admin#sram-led-blink SRAM LED Blink]. | **[https://github.com/rodri042/piugba/wiki/Admin#sram-led-blink SRAM LED Blink]. | ||
*Arcade improvements. | |||
*Arcade improvements | |||
**Added [https://github.com/rodri042/piugba/wiki/Admin#arcade-charts Double charts] support inside Single player mode. | **Added [https://github.com/rodri042/piugba/wiki/Admin#arcade-charts Double charts] support inside Single player mode. | ||
**Added [https://github.com/rodri042/piugba/wiki/Admin#mark-a-song-as-defective-in-arcade-modes mark as deffective] option for broken charts. | **Added [https://github.com/rodri042/piugba/wiki/Admin#mark-a-song-as-defective-in-arcade-modes mark as deffective] option for broken charts. | ||
Line 324: | Line 333: | ||
Graphical improvements: | Graphical improvements: | ||
*Improved screen transitions. | *Improved screen transitions. | ||
*Now the selection screen background looks cleaner (less dithering below the lights) | *Now the selection screen background looks cleaner (less dithering below the lights). | ||
Bugfixes: | Bugfixes: | ||
*Fixed random crash due to invalid read after winning a song | *Fixed random crash due to invalid read after winning a song. | ||
*Fixed random crash due to a memory leak during screen transitions | *Fixed random crash due to a memory leak during screen transitions. | ||
*Fixed metronome. It was sometimes blinking on weak beats | *Fixed metronome. It was sometimes blinking on weak beats. | ||
*Now the random is more random | *Now the random is more random. | ||
*Now "random steps" is more humanly usable, since it tries to avoid repeated notes | *Now "random steps" is more humanly usable, since it tries to avoid repeated notes. | ||
[https://github.com/rodri042/piugba/wiki/Changelog Release notes.] | [https://github.com/rodri042/piugba/wiki/Changelog Release notes.] |
Revision as of 06:29, 12 Mayıs 2024
piuGBA | |
---|---|
General | |
Author | [r]labs |
Type | Music |
Version | 1.10.0 |
License | MIT License |
Last Updated | 2024/05/09 |
Links | |
Download | |
Website | |
Source | |
piuGBA is a Pump It Up (PIU) emulator specifically designed for the Game Boy Advance (GBA). Created by [r]labs, this emulator allows you to experience the rhythm and excitement (StepMania SSC charts) of PIU on your GBA handheld device.
Features
- Full .ssc files support, including:
- Normal, hold and fake notes.
- BPM changes.
- Scroll speed changes.
- Stops/Delays and async-stops.
- Warps and fast-BPM warps.
- Multiple game modes:.
- Campaign: Play, unlock songs and defeat bosses.
- Arcade: Play songs in any numerical difficulty level.
- Single: 1 player, either Single (5-panel) or Double (10-panel) charts.
- Multi VS: VS battles via Link Cable or Wireless Adapter.
- Multi COOP: Double (10-panel) charts via Link Cable or Wireless Adapter.
- Impossible: Faster songs with insane mods.
- Speed multipliers can be changed in-game.
- Mods support:.
- Stage break: On, Off or SuddenDeath.
- Pixelate: Mosaic effect.
- Jump/Reduce: Moves game area.
- Bounce: Makes the arrows bounce.
- Color filter: Alters colors.
- Speed hack: AutoVelocity, FixedVelocity or RandomSpeed.
- Mirror and random steps.
- Training mode: Rate, Fast-forward, Rewind.
- AutoMod: Swaps mods randomly.
- Background videos "(uncompressed 240x160)" can be displayed using a flash cart.
- HQ audio "(uncompressed s8 PCM)" can be played using a flash cart.
- Two themes: "Classic" and "Modern".
- BGA DARK background with blink effect.
- Song selector with names, backgrounds and sound previews.
- Hardware integrations:.
- Rumble.
- I/O LED Sync.
- SRAM LED Sync.
- PS/2 input.
- Optimized to support ~70 songs per ROM file.
User guide
How does it work
A node.js script (the importer) converts a list of SSC/MP3/PNG files into binary files which the GBA can understand. For audio, it uses GSM audio files which are very small in size.
Charts are converted into a format created for this project called PIUS. Then everything is bundled in a GBFS file (a filesystem created by the GBA scene) and appended to the final ROM.
Read the wiki for more details and guide of how to build a ROM.
You can also join the official Discord server to find pre-built ROMs and user-created content.
Screenshots
Media
piuGBA - Impossible Mode w/ Rumble (Rodrigo Alfonso)
Compatibility
Tested and works on mGBA, VBA-M, and NO$GBA.
Changelog
v1.10.*
- New features:
- The game can now play High-quality audio by reading uncompressed PCM files from the flash cart's SD card.
- Added support for "EZ Flash Omega" flash carts when using Background videos and High-quality audio.
- Added support for SD cards formatted in exFAT.
- Added "Modern" theme.
- Added "Rewind" functionality to "Training mode", useful to practice difficult parts.
- Added Rumble options.
- Added Global offset option.
- Graphical improvements:
- Important sprite rework, supporting multiple themes.
- Added scaling effect to in-game score.
- Added scaling effect to Stage Break animation.
- Added scaling effect to S grades.
- Misc. changes:
- Improved handling of SELECT key to quit multiplayer sessions.
- Adjusted fade time when confirming songs.
- "Background blink" can now be disabled in multiplayer.
- Multiplayer battles can now be tied.
- Build process updates:
- Added OPUS and JPEG support to the importer.
- Bugfixes:
- Fixed pending audio glitches (e.g. when navigating to the next page after confirming a song).
v1.9.*
- New features:
- The game can now display Background videos by reading them from the flash cart's SD card! (EverDrive exclusive feature).
- Added PS/2 keyboard support via Link Port.
- Added Rumble support via Link Port, for cartridges without Rumble.
- Added a FixedVelocity speed hack that ignores mid-game multiplier changes. Grade saving is disabled while this mod is active.
- Added more post-game content after completing challenges.
- Optimizations:
- Rearranged game loop for better usage of VDraw time.
- Moved lots of functions to IWRAM.
- Added optional EWRAM overclock.
- Removed unused features from gba-sprite-engine.
- Graphical improvements.
- You can now move the instructor's body when pressing keys in the Controls screen.
- Manually improved Home screen and Selection screen color conversion.
- Misc. changes:
- Challenge mode now uses FixedVelocity.
- Rumble is now enabled by default.
- The Settings screen now shows the trigger buttons and teaches users how to enter the Admin menu.
- The NIGHT color filter was replaced with a new ETHEREAL filter, which looks nicer.
- Pixelate = FIXED will now use one less mosaic level so the life bar content is readable.
- The A+B+START+SELECT combo is now ignored in multiplayer sessions (except for cancelling the song) to prevent involuntary disconnects.
- The Link Cable multiplayer has now a slightly higher timeout to handle the case where one console has background videos and the other doesn't.
- Build process updates:
- Added a --fast option to the importer to use async I/O (~2x faster).
- Adding global offset support.
- Added configuration options to the portable song importer.
- The importer now forces the expected node version.
- Improved build error messages.
- Bugfixes:
- Reduced life bar's blink speed to once every 2 frames to make it more visible on some GBA displays.
- Fixed occasional audio clicks during multiplayer sessions by enabling nested interrupts for VBlank.
- Fixed occasional audio glitches during screen transitions.
- (v1.9.1) Improved SD card reading error messages.
- (v1.9.1) Fixed a glitch where Rumble would remain enabled after failing a song on a new beat.
v1.8.*
- New features:
- Added a new challenge mode when completing the campaign mode.
- Arcade modes now store Dance Grades by index instead of by level. This allows saving different scores for charts that have the same numeric level (e.g. s19-a, s19-b).
- Misc. changes:
- Stage Break = DEATH will now display the life bar at minimum level and ignore BADs in the judgement phase.
- Now the game remembers the page/song when switching between campaign and the challenge (e.g. impossible) modes.
- Bubbles in the Home Screen will 'regenerate' when leaving a submenu.
- Removed pixel blinking effect from the Home Screen.
- Optimizations.
- Now charts use static EWRAM to prevent crashes due to allocation failures.
- Updated gba-link-connection to v6.0.3, which fixes potential autopairing issues (e.g. two couples trying to create two separate sessions via Wireless Adapter).
- Bugfixes:
- Fixed a small memory leak after playing a song.
- Fixed a bug with the random number generator that was causing the last value of a range to be ignored.
- Fixed a glitch where the user could enter the "Audio lag" option and navigate to the previous/next option during the transition.
- (v1.8.1) Added small fixes and adjustments to the new challenge mode.
- (v1.8.2) The Wireless Adapter is now put in low consumption mode when not in use.
- (v1.8.3) General system stability improvements to enhance the user's experience.
- (v1.8.3) Fixed Rate = +1 mod in Impossible mode (v1.8.0 regression).
- (v1.8.3) Fixed 'mark as defective' combo being enabled during challenge mode.
- (v1.8.3) The challenge mode now displays the current song.
- (v1.8.3) If the Arcade library matches the selected difficulty level of the Campaign mode (most common case), the game now remembers the selected song when switching between modes.
- (v1.8.3) The importer is now provided as a portable Windows executable.
- (v1.8.4) Huh. all this time prefetch was disabled. Well, free performance boost.
- (v1.8.4) The sprite limit was increased from 50 to 90.
- (v1.8.4) The Bounce mod now uses a slightly less aggressive curve.
- (v1.8.4) Fixed an importer bug which could cause subindexes to appear in situations where they shouldn't (e.g. deleting level-99 charts via offsets.pofs).
v1.7.*
- New features:
- Menu controls.
- Menus can now be navigated using two key layouts: GBA style (new), and PIU style.
- GBA style feels more natural, as it's how most GBA games work (navigate with arrows and confirm with A).
- The default layout was changed to GBA style, but it can be changed using the Admin menu.
- Single-player Arcade mode.
- Double charts can now be selected directly using the level change buttons.
- Added AutoVelocity, under the Speed hacks mod (replaces Random speeds). AutoVelocity ignores the multiplier and sets a regular scroll BPM for all songs.
- Added Color filter mod (replaces Decolorize), with 16 different filters to alter game's background and sprites.
- Added Bounce mod, which makes the arrows (and/or its receptors) bounce.
- Added AutoMod mod, which randomly combines all mods every 1~4 beats.
- Modified LINEAR and MICRO variants of Jump/Reduce mods to move the game area rhythmically.
- Consecutive charts with the same numeric level now have a subindex to differentiate them.
- Enabled mods are now highlighted to easily identify which ones are in use.
- Added a warning to let users know when the current mods won't let them save their Dance Grades.
- Multiplayer Arcade mode.
- VS mode now makes the winner's life bar bounce during gameplay to enhance competitiveness.
- Now players don't have to set the difficulty level after each song; the game remembers.
- Impossible mode.
- It now uses the AutoMod/INSANE, +1 rate, and mirror steps mods.
- Admin menu.
- offsets.
- Added a menu to set up custom offsets for each song/level. This feature is useful if you're playing a non-tested song pack and encounter an out-of-sync song. Now, you can add +/- 8ms offsets, which will be recorded in the save file and applied when playing.
- Engine fixes.
- This build fixes ~32768 corner cases related to chart reading, increasing overall compatibility (specially with gimmick charts).
- Added mid-note BPM changes support. This fixes a lot of out-of-sync charts.
- Important ASYNC_STOP (aka setting #SCROLLS to 0) rewrite. This fixes multiple bugs where ASYNC_STOPs caused the chart to end up completely out of sync, with a broken metronome, or with infinite holds.
- BPM changes and arrow predictions are now executed even if the chart has stopped.
- The importer now ensures that every HOLD_START will have a subsequent HOLD_END. Now most of the start events have their duration pre-assigned, so no chart should show broken holds again.
- Events inside WARP sections are no longer ignored by the importer, as they are important for gimmick charts. Instead, these are ignored during the judgement phase, to avoid unfair MISSes.
- Unsupported #SCROLLS segments are now emulated as regular speed changes. It doesn't have the same effect, but it works better than ignoring them. This fixes songs with a broken multiplier.
- MISSes are now judged by timing instead of by their Y coordinate. This is important when using low multiplier / speed values.
- Using a lower FAST_BPM_WARP constant also fixed some songs.
- Fixed a corner case with fake segments events which caused some fake notes to appear as regular notes.
- Removed frame skip in chart reading code, which fixes some glitches in gimmick charts.
- Fixed a corner case where a Scroll BPM change could be ignored until the player manually adjusts the multiplier.
- Equivalent keys (like RIGHT and B for CENTER) now trigger new keypress events even when the other key is already pressed. This makes single-note trills easier.
- Precision of hold arrow judging was adjusted.
- The default scroll BPM change speed was adjusted (100 => 150) and a lower arrow speed limit was set (1px/frame).
- Engine improvements:
- Added co-op chart support: pump-couple and pump-routine.
- SSC parsing is now more robust, ignoring comments and finding charts using #NOTEDATA:; tags.
- Unsupported S, V and H events are now individually ignored instead of ignoring the whole chart.
- Unsupported negative #SPEEDS are now individually ignored instead of ignoring the whole chart.
- Optimizations:
- Optimized IWRAM code, making everything faster and preventing slowdowns in complex charts.
- Reduced memory access and CPU usage during gameplay.
- Updated gba-link-connection to v6.
- Significantly reduced latency in multiplayer sessions (both wired and wireless).
- Significantly reduced CPU consumption in multiplayer sessions.
- Reduced base ROM size by removing dead gba-sprite-engine code.
- Reduced final ROM size by optimizing space in the PIUS format.
- Misc. changes:
- Pressing L and R in menus now lets the player change the option in any direction.
- You can now exit any menu using either START or SELECT.
- Finishing the game now takes user to the updated Home screen.
- Rumble is now disabled during fast-forward (Training Mode).
- SUDDEN_DEATH was renamed to DEATH.
- The FAST Background blink mode was removed.
- The keys tutorial was moved from song 1 to song 0.
- Holding START before entering a multiplayer mode will now set the communication mode to Wireless Host.
- Wireless multiplayer will now use a slightly higher timeout value.
- Library autoscroll can now be used in multiplayer.
- Added save file validation code.
- Build process updates:
- Support for double/multiplayer chart offsets, subindex, and delete keyword in offset.pofs files.
- The importer can now automatically add BOSS levels when creating Campaign builds.
- Fixed some errors with the parsing of chart vs global properties.
- Fixed an error that caused complexity to be zero if the charts didn't have a #LASTSECONDHINT.
- Using a Campaign build with an Arcade library will now show a proper error when running the ROM (instead of crashing).
- Reusing romid.u32 while changing the song count will now throw a proper error instead of building an incorrect ROM file.
- Fixed make package silently failing when the output ROM file was in use.
- All errors thrown by the importer now have more details.
- Graphical improvements.
- Song screen.
- Fake HOLD_FILL notes now look fake (dedicated sprite).
- Home screen.
- Increased demo chart complexity when some of the campaign modes are completed.
- Multiplayer/Connecting screen.
- Added a 'transmitting' animated icon.
- Selection screen.
- DOUBLE mode now has its own color palette, to easily identify what type of charts we're seeing.
- Added 'transmitting' animated icons. On the host side, it will show two 'sending' icons over the lights. On the client side, a 'receiving' icon at the corner.
- Dance Grade screen.
- Updated winner message in VS multiplayer mode for clarity.
- Song screen.
- Bugfixes:
- Fixed a random DMA lockup on hardware.
- Fixed a glitch where changing the multiplier before the first SET_TEMPO event would cause the Scroll BPM to be set to 0, making initial arrows appear from nowhere.
- Fixed a glitch where correctly judged arrows would pass through receptors when using the Reduce mod.
- Fixed a glitch during transitions where the Selection screen could show garbage for one frame.
- Fixed a bug where I/O SD blink time was tied to the value of the -now deprecated- Background blink speed setting.
- Fixed a bug related to numeric level synchronization (again) in multiplayer sessions.
- Fixed a bug where SRAM LED blink/ON HIT was also blinking with other player's arrows.
- Fixed a bug where other player's WARPs were causing the local screen to blink using the pixel effect.
- Fixed a bug where multiplier changes were not synchronized correctly in multiplayer sessions.
- Fixed a bug where pixel blinks in level selection were not synchronized correctly during multiplayer sessions.
- Fixed a bug where using fast-forward in training mode would cause a subsequent multiplier change to be ignored.
- (v1.7.1) Fixed a bug in the importer which caused a few songs (with redundant #WARPS and #BPMS.=1000000) to warp twice.
- (v1.7.1) Fixed a glitch where the life bar could blink at max level when returning from negative to positive value.
- (v1.7.1) Fixed a glitch where the controls screen was animating one of the center buttons at double speed.
- (v1.7.1) Adjusted the orientation of the R button sprite, which previously had its corner pointing to the left.
- (v1.7.1) Adjusted the contrast of the center idle sprite, which appeared too bright on some consoles compared to other sprites.
v1.6.*
- Graphical improvements:
- Added black outline to sprites.
- Added bounce animation on note hit.
- Added a SLOW background blink mode.
- Bugfixes:
- Decolorize mod now also mutates life bars.
- Fixed arrow holders blinking one frame late.
- (v1.6.1) Fixed small glitch where fake taps were displaying the wrong tile.
v1.5.*
- New features:
- Wireless Adapter support.
- Wireless adapter support.
- Bugfixes:
- Now multiplayer scores will always be in sync after a game (fixed Link Connection's packet loss).
- Fixed errors where individual difficulty levels could get out of sync in multiplayer sessions.
- Fixed glitch when confirming a song selection while crossing a page.
- Fixed admin menu key combo handling.
- (v1.5.1) Fixed random crash in wireless multiplayer sessions due to audio DMA conflicts with serial IRQs.
- (v1.5.1) Fixed wireless multiplayer slowdowns by moving time-critical code to IWRAM.
- (v1.5.2) Fixed graphical glitch when the initial multiplier is set to 6x.
- (v1.5.3) Fixed invalid memory read that affects SRAM LED Blink, but might cause other crashes.
- (v1.5.3) Fixed vsync method (changed in v1.5.0) for better battery life.
v1.4
New features:
- Hardware integrations.
- Arcade improvements.
- Added Double charts support inside Single player mode.
- Added mark as deffective option for broken charts.
- Added Reduce Mod variant: MICRO.
- Added save file reset options.
Impossible mode changes:
- Removed decolorize.
- Added reduce=micro.
Engine improvements:
- Added fake notes support through the {1|v|1|0} SSC syntax.
Graphical improvements:
- Improved screen transitions.
- Now the selection screen background looks cleaner (less dithering below the lights).
Bugfixes:
- Fixed random crash due to invalid read after winning a song.
- Fixed random crash due to a memory leak during screen transitions.
- Fixed metronome. It was sometimes blinking on weak beats.
- Now the random is more random.
- Now "random steps" is more humanly usable, since it tries to avoid repeated notes.
Credits
Open-source projects involved:
- wgroeneveld/gba-sprite-engine Dec 18, 2019.
- Forked at: rodri042/gba-sprite-engine.
- pinobatch/gsmplayer-gba Feb 9, 2020.
- rodri042/gba-link-connection.
External links
- GitHub - https://github.com/rodri042/piugba
- DIscord - https://discord.com/invite/JE33cc2