-
Notifications
You must be signed in to change notification settings - Fork 6
Changelog
Rodrigo Alfonso edited this page Jan 9, 2024
·
126 revisions
- New versions are compatible with old savefiles.
- Don't mix versions in multiplayer sessions.
- Don't mix *.pius files or *.gbfs libraries from different versions.
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
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
- 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
to0
) 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
andpump-routine
- SSC parsing is now more robust, ignoring comments and finding charts using
#NOTEDATA:;
tags - Unsupported
S
,V
andH
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
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
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
New features:
- Wireless Adapter support
- WIRELESS ADAPTER SUPPORT!!!
- Wireless
- Adapter
- Support
- Adapter
Bugfixes:
- Fixed gba-link-connection's packet loss: now, multiplayer scores will always be in sync after a game
- 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
New features:
- Hardware integrations
- Arcade mode improvements
- Added Double charts support inside Single player mode
- Added a mark as defective 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
- Cleaner selection screen background (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
- Random steps is now more humanly usable, since it tries to avoid repeated notes
- Now the random is more random
New features:
- Multiplayer modes via Link Cable
- VS battles
- Same chart (judgement by score)
- Different charts (judgement by %)
- Coop with double, 10-panel charts
- VS battles
- Arcade mode improvements
- Progress record (best grades now appear on each chart)
- Death report (when 'Stage Break' is off, you can now see when you died)
- Now, the last available song you have in Campaign is also unlocked. This is useful if you got stuck and need to use the Training mod
-
Training mod
- Change songs' playback speed
- Fast-forward to the most difficult part
-
Decolorize mod (invert, gray, red, green, blue)
- Alters screen colors
Impossible mode changes:
- Added Rate = +1
- Added Decolorize = GRAY
- Disabled Reduce mod
Engine improvements:
- Added fake taps (
F
events) support - Big SSC simfile support. PIUS files are now parsed partially, so the game doesn't crash on songs with a lot of charts
- Faster chart reading routines
- If a song lags, now it just slows down the game, without any weird audio glitches
Misc. changes:
- New default background type: FULL DARK
- The Controls screen now shows alternative layouts. L is promoted as the upper-left arrow
- Added a 'back' button to the Calibration screen
Build process updates:
- Arcade-only builds
- Added offsets file support to automatically patch songs
- Pre-built ROMs are now provided in the Releases section, for an easier import process
Removed mods:
- Extra judgement
- Added 6x multiplier
- New mods: LINEAR Jump & Reduce. The Impossible mode now uses them
- Improved library's automatic scrolling
- Decreased max life bar mosaic in the Pixelate mod
- Added ROM name support
- Added debug menu to correct offsets
- Added songs' path parameter to importer script
- Fixes:
- Precision bug in BPM changes
- Rhythm events not taking into account the audio lag
- Initial rhythm events not firing on time
- Blinking on weak beats
- Boss channel icons appearing in the Arcade mode
- Song title escaping
- Random dots glitch when using dark background types
- Individual song sorting (by difficulty level) using a complexity index:
- Now NORMAL, HARD and CRAZY have different song lists
- Added SUDDEN_DEATH Stage Break mod
- Added new Pixelate variant: LIFE_MAX
- Added hint message on second song with key shortcuts
- Improved difficulty level detector
First public release.