SDL is SUS
¶ Please take a moment to understand that there is a lot in this Alpha Release, so please take a moment to read over the changes!
¶ LINUX USERS! IF YOU HAVE A BLACK SCREEN ON LOADING DUE TO NOUVEAU/ATI DRIVERS, GO INTO YOUR PREFERENCE.INI AND SET HIGHRES_TEXTURES TO AUTO!!!!
HighResolutionTextures=ForceOn
needs to be HighResolutionTextures=Auto
However, some machines may need it to be HighResolutionTextures=ForceOff
You may also need to set your MaxTextureResolution=2048
to MaxTextureResolution=1024
as well.
Thanks to several upstream issues, we've taken the decision to move the underlying version of the SDL engine back to how it was on 4.9.6, and we'll monitor and troubleshoot the issues some of you guys faced in 4.9.7. We apologise for those on Linux for the issues, and we have now forked our own SDL branch to doublecheck for issues in the future.
4.9.7GG Specific Fixes
- ❕✅📝 Fixed Crash when entering Extended/Course Mode [Dance] when entering options #29 (Thanks Jubo!)
- ❕✅📝 Fixed System Lockup on certain nouveau drivers when launching the game #209 (Thanks Din!)
- ❕✅📝 Fixed Segfault on game launch with older ATI cards on linux #208 (Thanks Din!)
- ❕✅📝 Fixed Crash on Twister OS on the RPi #216 (Thanks snil4!)
- ❕✅📝 Fixed Smoothlines Issue #164 (thanks natano!)
- ❕✅📝 Fixed Crash after load screen on RPi 4 64bit #211 (Thanks eudes!)
- ❕✅📝 Fixed Crash on Calibrate Audio Sync on pump #210 (Thanks Shrmp0, Kaede573!)
- ❕✅ Fixed Performance Drop due to renderer present context
- ❕✅ Removed nvidia driver debug code causing some issues
- ❕✅ Tweaked GLEW to not cause a race condition
- ❕✅ Fixed bug where window was presenting a GL version not supported by the system
- ❕✅ Fixed one of my oopsies by leaving in a forced Nvidia GL debug option
- ❕✅ Force High Res Textures to auto since we're now as size 2048
- ❕✅ Force High Res Textures to auto to fix crash on mesa on ARM32 based boards
- ❕✅ Fixed Crash on Pinebook/RockPi4 due to bad opengl initialisation
- ❕✅ Downgraded SDL back to OutFox 2.0.13modded
- ❕✅ Fixed font size and life bar on pump mode
- ❕✅ Fixed icon sizing on the application itself
- ❕✅ Add missing visuals for pump mode
- ❕✅ Fix GLAD being wrongly selected on some systems, causing a crash
- ❕✅ Added 41 new tween system for further use in the future
- ❕✅📝 Moved profile size to 20MB #215 (Thanks Kellykato!)
- ❕✅ Updated docker build system to support new changes
There has been a flurry of bug reports due to the new GeForce Experience based drivers moving into 460. There are some quite fundamental changes in this driver that have affected our LowLevelWindow system, and the way we draw. The latter will be fixed over the coming months, so we can be proactive and fix the issue before it becomes a game breaking situation. There is no way to 'force' a bit per pixel
or bpp
in this version, as it's being moved into a different function, that we will re-expose in the next alpha. This has no affect on gameplay or mode changes in the game, however it means if you're on a system we consider historic
(<1999) or vintage
(2000 - 2007), you may need to force the settings in the preference.ini to set your 'texture color depth' to 16. as always if you have any questions or need help, do not hesitate to reach out to us in our discord server https://discord.gg/hSHPAU37t8
We are still working on restoring some settings changed in the operating system in the 20H2, which can limit frame rate, force your GPU to change delta clock accuracy and even affect the kernel poll/tick rate. These issues will be resolved in a future update as we find out more from Windows Dev support/MSDN.
Nvidia Specific Fixes
- ❕✅ Fixed Crash with Generating Avatars for profiles due to texture format
- ❕✅ Fixed Crash with Changing VSync via
F3 + 7
(Thanks Shockdude)
- ❕✅ Fixed Race Condition Crash with debugoverlay (Thanks Shockdude)
- ❕✅ Fixed Crash with Setting Refresh Rate (Thanks Moneko, Moru)
- ❕✅ Fixed Crash with Paraph AMV Heavy Modfiles causing a Texture overflow (Thanks Moru, Paraph)
- ❕✅ Fixed Crash with Paraph AMV Heavy Modfiles causing a Context Splice problem (Thanks Moru, Paraph)
- ❕✅ Fixed Crash with Paraph AMV Heavy Modfiles not clearing correctly on song close (Thanks Moru, Paraph)
- ❕✅ Fixed Crash caused in method to intialise the OpenGL and GLAD render pipes
- ❕✅ Forced OpenGL <4.1 as the new driver is unstable on anything newer at this time
- ❕✅ Fixed Crash with Theme changes from default
- ❕✅ Add Object Flags to prevent crash with some of the more exotic mod files
¶ StepMania Random Number Generation
Since the beginning of this project, we have had a few bug reports about the 'random' number generator in the game not being... well, random at all. We have been spending some of the time in the downtime over the holiday to actually look into this and we discovered that the system was indeed not performing remotely as designed, and has been broken since late 2004. The main bug report was #22 and #59 by @PCBoyGames and well, we discovered that on further investigation, those bugs were caused to a misinterpretation of the way that the random generator was designed and how it should be used in getting/acquiring a random number.
¶ SuperShuffle/Blender and Soft_Shuffle
This was further crushed in it's delivery with shuffle and super shuffle, and anything really that relied on these broken systems. To resolve them we have removed the 1999 era code and modernised it to current modern standards. This has the benefit of completely fixing SuperShuffle (Blender on old versions) and now the distribution is as expected, not to the left.
This has the side effect of making the randomness different for each player so bear this in mind if you're going to play! We will add a Mirror function for this so Player 1 = Player 2 in the future.
Those of you that use the default theme, we have returned a feature that was oddly missing on 5.3, and that was the Portal slot next to Roulette and Random.
What is Portal?
Portal will pick at random from an open folder/group and if you move on it and away from it it will select a different song.
If you close your folder so none are open, then portal will pick at random from your whole collection for that mode.
Most Played should now spawn songs, I sadly have a low level of played songs due to this being a development build, but you can get the general gist of how this system works.
Folder Courses now spawn a collection as expected, and should be different
With the new random modes now working as expected, this has been a welcome quality of life for ONI mode: Artist songs are now shuffled as expected!
This mode has never been given any love so far from the dev team, so much so even the layout hasn't been finalised! We will look at fixing this and making this mode consistent in the future, so forgive the 'default' looking layout.
¶ Random Attacks
There were issues with how this methodology was supposed to actually work, as it likely has been broken for so long. Well in this release, we have unique per player random attacks for that extra challenge! The text file RandomAttacks.txt in your /Data file can be filled with fiendish ideas that can help or hinder a player, so do take a moment to be naughty (or nice!) and populate that file with some cool effects!
With the removal of the legacy code and the new updates, we can happily say that we have squashed 37 upstream bugs that have been around since the SM 3.0 era.
Random Number Generator Specifc Fixes
- ❕✅ Fixed Edge Case Crash with random background movies when only one movie was present
- ❕✅ Fixed Random Movies only selecting 0, 1, or 2, movies in a folder
- ❕✅ Fixed Random Backgrounds only selecting 0, 1, or 2 backgrounds in a folder
- ❕✅ Fixed Random Movies showing the same movie on song start
- ❕✅ Fixed Random Backgrounds showing the same movie on song start
- ❕✅ Fixed Course Generation on Extended Mode
- ❕✅ Fixed Course Generation on Oni Mode
- ❕✅ Fixed Course Generation on Endless Mode
- ❕✅ Fixed Course Generation on Survival Mode
- ❕✅ Fixed Shuffle Mode on the Music Wheel for Roulette
- ❕✅ Fixed Random Stage Seed generation
- ❕✅ Fixed GameState Seed generation
- ❕✅ Fixed Seed generation in NoteDataUtil, Allowing for better AutoGen
- ❕✅ Fixed Kickbox Autogen
- ❕✅ Fixed Song Shuffle being pushed to duplicates in SongManager
- ❕✅ Add new RandomInt function to allow for course generation without crashing
- ❕✅ Add new RandomFloat function for equivalent support for older content using it
- ❕✅ Fixed Math.Random being linked to a function that didn't work as designed
- ❕✅ Fixed Random Attacks only selecting a maximum of 5 different during a song
- ❕✅ Fixed Random Attacks not actually being Random
- ❕✅ Fixed Random Attacks edge crash on Raspberry pi/M1 due to bad math function
- ❕✅ Fixed Random Attacks not completely loading the text file and making attacks available to the players
- ❕✅ Fixed Jukebox Mode not using the full available mode song selection
- ❕✅ Fixed Jukebox Mode not using the correct random mode for mod selection during playback
- ❕✅ Fixed Portal Mode not accessing folder based songs
- ❕✅ Fixed Portal Mode not selecting the available mode song list
- ❕✅ Fixed Edge Crash on Portal Mode with 2 Players selected
- ❕✅ Fixed Jitter Generation on BitMapText
- ❕✅ Fixed Distortion Generation on BitMapText
- ❕✅ Fixed Array Overflow where returned index was out of bounds
- ❕✅ Fixed now defunct RandomGen calls in course generation as they are no longer required
- ❕✅ Fixed bit underflow when Song Index is NULL
Sorry, we got tired of mishitting it to use F3, and F2 will become a new mod debug menu in a future update, so watch this space.
We have also added new tween types for actors (30!) that were missing from the game, as they have been popularly requested to be available over the 4 we have in game at the moment. I promised Mr.ThatKid that we'd add them, so now they are available for all from Squirrel's dragons branch. New documentation will be available in the Spring for these!
Tween Updates and Fixes
- ❕✅🐲 Optimised Tween calls
- ❕✅🐲 Added Tween fix for legacy tweentypes/selections
- ❕✅🐲 Added Tweens for EaseInSine/EaseOutSine/EaseInOutSine
- ❕✅🐲 Added Tweens for EaseInQuad/EaseOutquad/EaseInOutQuad
- ❕✅🐲 Added Tweens for EaseInCubic/EaseOutCubic/EaseInOutCubic
- ❕✅🐲 Added Tweens for EaseInQuart/EaseOutQuart/EaseInOutQuart
- ❕✅🐲 Added Tweens for EaseInQuint/EaseOutQuint/EaseInOutQuint
- ❕✅🐲 Added Tweens for EaseInExpo/EaseOutExpo/EaseInOutExpo
- ❕✅🐲 Added Tweens for EaseInBack/EaseOutBack/EaseInOutBack
- ❕✅🐲 Added Tweens for EaseInCircle/EaseOutCircle/EaseInOutCircle
- ❕✅🐲 Added Tweens for EaseInElastic/EaseOutElastic/EaseInOutElastic
- ❕✅🐲 Added Tweens for EaseInBounce/EaseOutBounce/EaseInOutBounce
- ❕✅🐲 Fixed bug on Sine Curve Drawing on 460+ Nvidia Driver
- ❕✅🐲 Fixed time based crashes in Actors
- ❕✅🐲 Fixed SetEffectPeriod crashing with some negative BPM effects
- ❕✅🐲 Fixed bug with compiler overoptimisation killing the tween curves
- ❕✅ Added new Actor functions for the eases (Thanks Mr.ThatKid!)
¶ And finally back to normal business!
- ❕✅🐲 Added new colorkey effect
- ❕✅ Restored backwards compatible draw modes to support older content
- ❕✅ Fix Sine function floating point overflow
- ❕✅ Add new HIDAPI compliant library support for all platforms
- ❕✅ Fix Orient in reverse
- ❕✅ Stop game halting on mistapped
`
Key while holding tab
- ❕✅ Add new PolyLineStrip DrawMode
- ❕✅ Make DefaultFailTypes Translatable
- ❕✅ Fix Player Unjoin
- ❕✅ Fix String to Int in reference to #168 (Thanks Natano!)
- ❕✅ Remove dependency on LibGLU (full removal in next release)
- ❕✅ Speed up Texgen functions (Thanks Arctic!)
- ❕✅ Update SDL2 and add OutFox patches
- ❕✅ Fix rotationy on holds with splines
- ❕✅ Optimise NoteColorActor/NoteColorSprite to not memory leak
- ❕✅ Fix MinTNSToHideNotes ordering
- ❕✅ Fix Field Flip check calling GameState too often
- ❕✅ Move Field Flip check to a less demanding section of playeroptions
- ❕✅ Fix int overflow on RageSoundPosMap causing stuttering
- ❕✅ Add New forward and back debug options for the camera in ScreenDebugOverlay
F3 + S
and F3 + D
Upside down mirrored mode is available if you zoom out far enough! Reset with F3 + E
- ❕✅ Fix JoyStick and Controller instanceID being reset on hotplugging
- ❕✅ Fix JOY Index resetting on removal
- ❕✅ Set Console Command to use
Tilde ~
instead of Pause
- ❕✅ Fix Finger Events on Touch Screens
- ❕✅ Fix Finger Movement and ensure mouse co-ordinates are taken into consideration if both move at the same time
- ❕✅ Add LuaScoring - Now fixes a lot of issues with timing systems, and allows for custom ones!
- ❕✅ Autosave Profiles when the game closes, as sometimes SetUserQuit() is interrupted when the window is closed
- ❕✅ Readd Portal function to the Music Wheel, welcome back!
- ❕✅ Fix the
AvarageBPM
typo - If your mode used AvarageBPM
fix this!
- ❕✅ Cull the ancient PRNG code
- ❕✅ Fix the edges of the number font used for combo in Soundwaves.
- ❕✅ Add FAPlus timing mode (similar to existing ECFA, except Fantastic and Fantastic+ are scored the same with no percentage above 100%, and the lower Fantastic window is coloured white in the judgement font)
- ❕✅ Advanced timing modes are now scored out of 100%.
- ❕✅ Fix non-module based themes crashing on new SmartTiming entries, when they had their own LuaTiming entries
- ❕✅ Fix Start sound being played twice on controller menu
- ❕✅ Add pro-judgements to pump noteskins
- ❕✅ Fix invalid judgechoice on initialisation
- ❕✅ Change Arrows to our new Blue Brand Choice
Windows 7+:
- ❕✅ Fix MSVC warnings due to new windows updates
- ❕✅ Fix edge case crash with sound waveout driver
- ❕✅ Fix edge case system lockup caused by waveout driver
- ❕✅ Fix Modfile performance due to locale check tanking FPS
- ❕✅ Fix UTF-8 Calls slowing down mod performance
Windows XP Service Pack 3 (32bit):
- ❕✅ Fix edge case crash with sound waveout driver
- ❕✅ Fix edge case system lockup caused by waveout driver
- ❕✅ Fix edge case bluescreen on some Cmedia Audio sound cards / AC97 codec based cards
- ❕✅ Fix Modfile performance due to locale check tanking FPS
- ❕✅ Fix UTF-8 Calls slowing down mod performance
Linux:
- ❕✅ Fix deltaclock to monotonic to reduce pulseaudio lag
- ❕✅ Fix XInput trying to overwrite HIDAPI modes on some controllers
- ❕✅ Fix XInput RAW
- ❕✅ Add Wayland Preliminary Support - Needs more work yet however!
MacOSX (Intel):
- ❕✅ Fix SDL compilation
- ❕✅ Fix XInput trying to overwrite HIDAPI modes on some controllers
- ❕✅ Fix Xcode warnings
MacOSX (Arm M1):
- ❕✅ Fix XInput trying to overwrite HIDAPI modes on some controllers
- ❕✅ Fix Xcode warnings
ARM32/ARM64: (Raspberry Pi etc)
- ❕✅ Fix deltaclock to monotonic to reduce pulseaudio lag
- ❕✅ Fix XInput trying to overwrite HIDAPI modes on some controllers
- ❕✅ Fix XInput RAW
Colors
- ❕✅ Two new colour schemes from Moneko
- ❕✅ Some changes to the shadowtip 3D versions from R.O.B.-bot
Translations
- ✅ Translations updated from Moru, SHRMP0 and SheepyChris (Brazilian Portuguese)
- ✅ Translations updated from Moneko (Polish)
- ✅ Translations updated from Hanubeki (Japanese)
- ✅ Translations updated from Jose_Varela (Spanish)
- ✅ Translations updated from Daniel Rotwind (German)
- ✅ Translations updated from Ksempac (French)
- ✅ Translations updated from Snil4 (Hebrew)
(The 'source' code below is the reporting issues template, it is not the source for OutFox)