OutFox 5.3.0-alpha.4.9.7 Build - We're Only Human After All

unknown

Windows 10 is getting a pain to code for, da-don!

Nvidia 460+ Driver Issues + Windows HotFix!

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.

supershuffle result

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.

PORTAL on the Music Wheel

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. image

If you close your folder so none are open, then portal will pick at random from your whole collection for that mode.

image

Extended 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.

image

Folder Courses now spawn a collection as expected, and should be different image

ONI Mode

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!

image

Endless Mode

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.

image

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!

image

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

PLEASE NOTE F2 TO RELOAD SCRIPTS HAS MOVED TO THE INSERT KEY!!!

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.

Tweens

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!

ALL:

  • ❕✅🐲 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

New community content:

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)