StepMania 5.3

What is StepMania 5.3?

StepMania 5.3 is a development branch focused primarily on refactoring SM’s internal codebase to improve performance, adhere to modern coding practices, and enhance its capabilities on modern hardware and other platforms (including single-board embedded systems such as Raspberry Pi). Improvements to uncapped frame rate have also been recorded on older hardware, as far back as the Pentium E2180. It also incorporates a new default theme with more integrated features than previous versions of SM, and new internal functions that can be used for future content.

As StepMania 5.3 is a continuation of the 5.0.12 and 5.1 codebase (not “5.2”), it remains compatible with almost all existing songs, themes, and noteskins that are supported on these versions (if you do encounter odd behaviour or other issues with older content, please report it to us as a bug).

5.3 is unrelated to 5.1 -3 (sometimes written as 5.1-3), which was a prior build of 5.2 before it was renamed.

Latest development build

The most recent public alpha snapshot of 5.3 “OutFox”, 5.3.0-alpha 4.5.6 (05/08/2020), was released on May 8, 2020.

Archived builds

Alpha 4.2

Alpha 4.1

5.3 “OutFox”, 5.3.0-alpha4.1 (01/04/2020), was released on January 4, 2020. A macOS version was not available

If you are running the amd64 build on a newer Linux system and are having issues, please download this alternate binary (compiled on a newer Arch Linux system) and replace the existing binary from the tarball with it.


Alpha 4

5.3 “OutFox”, 5.3.0-alpha4 (12/16/2019) was released on December 16, 2019.

Due to macOS limitations, you may need to perform additional configuration changes . Please see the troubleshooting page for more information. These are no longer required as of Alpha 4.2.

Build history

Only the most notable additions are listed here. Not every single commit ever done is shown. Either it was contributing to a major milestone that is shown on the changelog, or it was a simple revert while we are testing different options. Snapshots are usually posted first on our Discord server, where you can report bugs if found.

5.3.0 Silver Alpha 4.5.6 – May 8, 2020

All platforms

  • Aligned inline sine math with NotITG.
  • Fine-tune the Discord SDK integration added on 4.5.5.
  • Fix RPC core being required to run the game.
  • Additional Soundwaves bug fixes and details.
    • Fix the Avatar preference line not being found.
    • Fix failed initialisations on some of the theme statistics.

Windows:

  • Update EXE resource metadata to display 5.3 version number (should also help prevent false positives from antivirus software)

5.3.0 Silver Alpha 4.5.5 – May 5, 2020

All platforms

  • Fixed turn mod being applied throughout song (Reported by PCBoyGames)
  • Fixed range detection for attacks (Thanks ArcticFqx)
  • Fixed rounding error in Turn Mods (side-reported by PCBoyGames)
  • Fixed overflow caused by float in Turn Mods (side-reported by PCBoyGames)
  • Added original rounding methods back to the game to fix… like everything
  • Fixed resolution rounding to prevent 480p theme errors
  • Added new sine math (maintains 100% backwards compatibility)
  • Fixed overflow (drifting) AFT errors for legacy and modern themes
  • New Soundwaves theme features
    • Update profile edit menu
    • Avatar selector
    • Configurable, detailed statistics pane
    • Modules for calculating streams and density (NPS) in charts.
    • Display NPS graph and stream counts on ScreenSelectMusic, and optionally on ScreenGameplay.
    • Reorganize player options menus
    • New bundled judgment fonts by Koneko and MattMayuga
    • New color schemes (Fire, CincoCero)
  • Extra sub modifiers for Wave
  • Implement NoteTypeMult
  • 🐲 Fix RageMath Matrices
  • 🐲 Add Discord RPC support using Game SDK!
  • Remove Image Caching for this alpha – please let us know how this goes
  • Add new profile image handling
  • Restore average FPS counter
  • Reimplement messages for beginner helper
  • Fix screen rounding math
  • Force OpenGL 3.1 for the glad renderer

Windows

  • Fix bad sound math
  • Fix vertex positional data
  • Remove D3D legacy code from repository.
  • Remove old GraphicsWindow calls

Linux

  • 🐲 Fix library initialisation for ALSA
  • 🐲 Remove old ALSA Functions
  • 🐲 Add new MMAP functions for ALSA
  • 🐲 Fix ALSA-sw driver – it’s finally back!
  • 🐲 Support plug for ALSA-sw driver

MacOS

  • Fix AFT math
  • Update metadata to display 5.3 version number

5.3.0 Silver Alpha 4.5 – April 4, 2020

All platforms

  • Fix no input for axis U/D and L/R (reported by Julius)
  • 🐲 Fix Obscure Pad Buttons
  • 🐲 Add Multi-point Analog Support
  • 🐲 Fix analogue AXIS being mapped incorrectly
  • 🐲 Fix PS2/PS1/GC pad converter adapters
  • 🐲 Add Nintendo Joy-Con/Pro/SNES/NES/8Bit DO Pad support
  • 🐲 Add PS1/PS2/PS3/PS4 pad Support
  • 🐲 Add Xbox/Xbox 360 pad Support
  • 🐲 Add HORI Arcade pad support (PS4/Switch)
  • 🐲 Add Project Diva pad support (PS3/PS4)
  • 🐲 Add Stadia/Steam pad support
  • 🐲 Add custom game pad/dance pad mapping support and associated user interface.
  • 🐲 Added gamepad database support we can add to!
  • Fix crash on joystick index
  • Add and modify Actor functions to allow getting mid-tween values and skew values
  • Add extra modifiers, such as “Orient”
  • Add mid-gameplay combo manipulation to Players
  • Re-add old SM-SSC lighting
  • Fix 1-pixel overlap and gap on holds (Thanks waiei!)
  • Fix arrow hold drawing order

Theme

  • Add sub-themes to Soundwaves.
  • Add CDtitles.
  • Option to disable W4 and/or W5 timing windows (ITG Decent and Way Off)
  • More detailed stats display
  • Scatter MS judgment bar.
  • Players can select their own life type individually.
  • Measure counter for streams and breaks (Thanks rin!)
  • Display summary of last-played songs on evaluation in 1-player mode.

Linux:

  • Fix 5.1 Folders being overwritten with 5.3 data due to hardcoded paths
  • New 5.3 Folder Location beginning this Alpha

macOS

  • No longer causes program softlocks
  • Support new input methods removing lag.

Windows

  • Fix bad renderer selection on pre-2011 graphics cards
  • Fix rare crash on axis overflow.

5.3.0 Silver Alpha 4.4.1 – March 4, 2020

  • Properly removed the obsolete input handlers – seems there was a separate one added to a lone screen. Cheers, Glenn.
  • Fixed missing keystrokes on profile creation and high score name entry.

5.3.0 Silver Alpha 4.4 – March 3, 2020

  • Removed extra input debug output from Alpha 4.3; thank you for your reports and updates.
  • 🐲 Fixed missing scancodes on keyboard input.
  • Fixed old %d number behaviour in Lua. Returns to 5.0/5/1 behaviour. Thanks Tatsh for reporting.
  • Removed ‘Frameskipcode’ – It will be readded in a later build.
  • Fixed a few more bugs in the render pipeline… added in 2004.
  • 🐲 Properly removed the obsolete input handlers.
  • Fixed some old cmake typos and cleaned up code for linux.
  • Fixed regression in not supporting smzip/zip archives. Thanks to Jubo for the report.
  • Add new keyboard input system.
  • Fixed InputHandler issues, no more skipping on pads.
  • Fixed missing SDL options in input causing a break error.
  • 🐲 Added new entry-points for OpenGL.
  • 🐲 Fixed Matrix calculation errors, resulting in a small performance boost.
  • 🐲 Added new math functions.
  • Added new GL support for older Intel Cards. Thanks Astolfo, Gabrielpivotyt, Aqui and Wilycel for reporting.
  • Added new noteskins.
  • ArrowEffect fixes to prevent math errors.
  • 🐲 Fixed matrix errors in GL causing odd crashes.
  • Fixed missing ImageCache setting causing odd slowdowns on launch.

Theme

  • New options menu appearance.
  • New two-row speed mod selector (pick a speed type, increment the value in a second row, similar to Simply Love) and note skin preview on ScreenPlayerOptions.
  • New ScreenStageInformation design with song background.
  • Updated Japanese language strings by hanubeki
  • Downplay references to “Event Mode” in the gameplay user interface.
  • Adjustment to ScreenSelectMusic heading to fix misalignment of the sort mode box’s fill. Thanks MoNeko for reporting.
  • In a related change, refresh header on ScreenEvaluation.
  • Fix missing option (ScreenOptionsTheme) for mascot on title screen.
  • Change ScreenOptionsService (options menu from title screen) and submenus to use a minimalistic, static background.

macOS

  • Fixed another weird issue with compiling.
  • Fixed dmg creation.

Linux:

  • Fixed weird Mesa edge crash.
  • Fixed odd missing entry-points on GLX, thanks Hālian for reporting.

Windows:

  • Fixed missing GLAD definitions.

5.3.0 Silver Alpha 4.3 – February 9, 2020

  • Fixed various missing keyboard inputs, including symbol keys (;:’@#,<>./?\|`{}[])(&^%$”), the ~ key for localised keyboards, and the number pad.
  • Fixed missing options for no mapping on localised keyboards.
  • 🐲 Add touchscreen and mouse input hooks
  • 🐲 Added hooks for haptic/rumble support on controllers. Why? Why not?
  • 🐲 Fixed odd skipping on inputfilters.
  • Removed average FPS gauge from debug overlay; caused skew on mod files.
  • 🐲 Fixed a few bugs in the render pipeline… added in 2004.
  • 🐲 Properly integrated buffering.
  • Rewritten triangle logic to prevent errors in ActorMultiVertex.
  • Fixed a small lights bug.
  • Added a cleaner way to shut the game down.
  • Added new window states in preparation for the removal of RageDisplay (check the logs for events!)
  • Fixed draw issue reported by some users.

Linux:

  • Removed obsolete X11 input hook code.

macOS

  • This build will only run on 10.14/10.15 due to work in progress code.
  • Fixed an integer overflow that messed with Catalina’s guiding of our output windows.
  • Fixed a vertex overflow causing a very rare crash
  • 🐲 Fixed polling error.

Windows:

  • Removed obsolete win32 input hook code.

5.3.0 Silver Alpha 4.2 – February 6, 2020

  • 🐉 Fix Shader initialisation being skipped due to new LLW pipeline.
  • Fix Detection returning false when actually true.
  • Added new Delta2019 noteskin (Thanks shakesoda).
  • Fix StepMania 5.0 noteskins to not use .redir files or fall back on assets from Default.
  • Fix SDL init not being set up correctly on older hardware.
  • Fix static linking of libs on windows.
  • Add SDL patchfix to fix input lag.
  • New GLAD renderer pipeline.
  • 🐉 Input has been completely rewritten to test controller input.
    • Player 2’s keyboard mappings will need resetting to numpad as it sets +-/* as keys. (This is a hooks bug we will remove).
  • Lua’s backend code has been made a little more stable.
  • Removed several cachemiss overflows, an important one being in the math pipe.
  • 🐉 Experimental touch support added. (There is no code at the moment, but it is on our roadmap.)
  • 🐉 Experimental hotplugging Support.
  • DrunkOffset and TipsyOffset changed to match their behaviour on NotITG v4; the previous versions have been renamed to DrunkSpacing and TipsySpacing.
  • HiddenRegions has been added
  • Optimise old ssc code from NoteDisplay.
  • Add option for hiding the mascot character on the title screen in Soundwaves
  • 🐉 Gatekeeper no longer gets upset on macOS
  • Core input modules are now macOS Sierra (10.12)+ compliant.
  • Sound modules are now 10.12+ compliant.
  • HiDPI is enabled, but the resize window will still fail on a resize if the computer has 2 monitors. (known bug)
  • Memory usage display on renderer stats overlay now functions on macOS.
  • Fix clock errors.
  • 🐉 Remove DirectX code from the game on Windows.
  • Fixed edge case heap crash on Windows caused by game controllers.
  • Fix bad Xinput crash on Linux.
  • Fix lag on gameplay on Linux.

5.3.0 Silver Alpha 4.1 – January 4, 2020

  • New GLFW Renderer Pipeline.
  • 🐉Added Xwindow SDL2 support.
  • 🐉Tweak to remove dependency on ancient colour handling that actually slowed the game down, instead of giving it the intended performance.
  • Re-purposed GL Entrypoints to re-support ancient GL<1.5 Hardware, for Native Arcade Hardware support.
  • 🐉Fix LLW to allow for set contexts.
  • 🐉Experimental GLES2 support from Dragons.
  • Add new Lua hook for getrenderer now we have a choice.
  • 🐉Experimental HiDPI support.
  • Add Mascot to home screen.
  • Fix missing external SDL code.
  • Fix NaN crash on Actors.
  • Fix GLHandleARB mismatch.
  • Add better openGL handling for contexts on different systems.
  • 🐉Fix ImageCache forcing a D3D format causing unnecessary conversions in RageSurface.
  • Remove float based textures as they were unused.
  • Remove Rageformat PAL from the game as it’s been unsupported since 2007.
  • Fix apple compiling with new pipeline.
  • Fix float errors in Gameloop.

5.3.0 Silver Alpha 4 – December 16, 2019

  • Fix up NoteField zoom and positioning math for soundwaves.
  • Fix Linux Compile.
  • Fix Mine Rotation.
  • Fix FFMPEG memory leak.
  • Fix Credits with inconsistent shakesoda.
  • Add back select button menu, but also change the presentation of the options themselves to make it more prominent.
  • Set Loading Window Size on Linux.
  • Allow any splash size on windows.
  • Ensure Frame is persistent and not lose data.
  • Fix screengameplay background.lua calling the old func instead of the updated one.
  • Fix splash being width locked.
  • Make Eval’s noteskin actors grab from the Stage ModsLevel.
  • Fix making Credit’s and Openings work on any Theme’s screen height.
  • Fix typing issue with DrawDistanceBeforeTargetsPixels.
  • Fix TapNoteScore_Attack being invalid by replacing it with a valid TNS.
  • Allow PLayerAI to use Pro Judgments.
  • Remove delete on sharedptr in D3D.
  • Fix any image file extension support for avatars.
  • 🐉Update soundman earlier to stop usb cards lagging.
  • Hotfix Crash fixes.
  • 🐉Fix Colour Profile on D3D.
  • Fix Input detection on MacOS.
  • Update MacOS App Icon.
  • Fix typo pointed out by shakesoda.
  • Make map controllers screen BG more minimal, strip down overlay on input calibration gameplay.
  • New HD Noteskins.
  • Include new core mediaframeworks into CMake.
  • NSIS and Installer fixes.
  • Fix Lua Compile Warning.
  • Fix Topcap Effects.
  • Add Stretch and shrink holds.
  • Make BitmapText Accept floats and then convert to int to prevent Lua errors.
  • Tweak lifebar and judgment for shake, explain ComboIsPerRow option in theme.

5.3.0.a52 – June 29, 2019

  • Added LuaJIT to test performance. (Jousway)
  • Added CMD lexicon Parser to maintain support with prior SM versions. (Jousway)
  • Fixed LibMad Time limit causing an overflow. (Squirrel)
  • Fixed Crash with Disablemines. (Mr.ThatKid)
  • Massive demacro throughout the codebase to modernise functions. (Mr.ThatKid)
  • Some more chrono fixes. (Rytak)

5.3.0.a51 – May 27, 2019

  • Correct hold on noteskins. (Lirodon)
  • Add Trig Modifiers. (Mr.ThatKid)
  • Fix plethora of invalid casts, and fix alsa class. (Jousway/Squirrel)
  • Fix Pump holds and noteskins. (Lirodon)
  • Added Paw Noteskin for Pump. (Lirodon)
  • Typedef to using swap for cpp 11. (Rytak)

5.3.0.a47 – April 24, 2019

  • Fixed mixed Texture allocation being dereferenced. (RyTak/Squirrel)
  • Fixed some old C-Style casting errors causing stack overflows. (RyTak)
  • Fixed dangling pointers in old->new handling of sprites. (RyTak/Squirrel)
  • Tweaked several Rage handlers for better memory management. (RyTak/Jousway)

5.3.0.🐉81 – April 24, 2019

  • Tweak of GLEW/OpenGL to re-enable (Hardware Acceleration) support for pre-2011 Hardware. We will not be supporting anything with less than 128MB of VRAM. (Squirrel)
  • Tweak to remove dependency on ancient colour handling that actually slowed the game down, instead of giving it the intended performance. (Squirrel)
  • Re-purposed GL Entrypoints to re-support ancient GL<1.5 Hardware, for Native Arcade Hardware support. (Squirrel)
  • Added oITG Lua handling tweaks for some items which were lost in the 4.0->5.x “modernisation”. (Squirrel)
  • New Input Manager. (Squirrel)

5.3.0.a44 – April 19, 2019

  • Implemented SetNoteData. (Mr.ThatKid)
  • Implemented SetNoteDataFromLua. (Mr.ThatKid)
  • Have NotePath Draw under receptors. (Mr.ThatKid)
  • Many deletetexture tweaks and fixes. (RyTak/Jousway)
  • Early uPnP support for windows. (RyTak)

5.3.0.a40 – April 4, 2019

  • ALSA cast consignments fix. (RyTak/Squirrel)
  • Uninit issues fixed. (RyTak)
  • Fixed Advanced Judgements showing when not enabled. (Jousway)
  • Fixed invalid ALSA cleanup. (Squirrel)
  • Fixed invalid pointer clear in LUA. (RyTak)

5.3.0.a38 (0007BugFix) – March 28, 2019

  • Fixed bAccurate Math. (RyTak)
  • Added Beat Based Hold Lengths. (Mr.ThatKid)
  • Fixed ExtendHolds and StraightHolds. (Mr.ThatKid)
  • Added Lower Hz refresh rate support. (RyTak)
  • Minor Chrono fixes to polling rates. (RyTak)

5.3.0.a36 (0007BugFix) – March 21, 2019

  • Fixed RageEvent polling. (RyTak)
  • Calls to WheelBase preventing time stamps fixed. (RyTak)
  • Chrono Fixes and Many other tweaks. (RyTak)
  • Implemented HoldTinyX & UnboundedReverse Submodifiers. (Mr.ThatKid)
  • Many Textureman Tweaks. (Jousway)
  • Fixed Boomerang to depend on it’s own magnitude. (Mr.ThatKid)
  • Fixed Lua stack issues in preparation for future development. (Mr.ThatKid)
  • Fixed Hold body cap behaviour. (Mr.ThatKid)

5.3.0.🐉69 – March 21h2. 5.3.0 Silver Alpha 4.4.1 – March 4th, 2020 2019

  • Added New SDL2 XWindow support. (Squirrel)
  • New m_prefs for chosen underlying GFX systems. (Squirrel)
  • Added new sound pipe. (Squirrel)
  • Re-based GPU entry points to support OG hardware and timing systems. (Squirrel)
  • Fixed Sprite() handover. (Squirrel)
  • Added a new heap stack to check for overflow/stack corruption. (Squirrel)
  • Fixed computational math pipe. (Squirrel)
  • Added new media decoder support. (Squirrel)

5.3.0.a34 (0003/0004/0005/0006 BugFix) – March 12th 2019

  • QoL bug squishing, update code to modern standards, many little typos. (Squirrel)
  • Fix 255 colour mode for palette textures. (Squirrel)
  • Fix GPU detection system for defaults. (Squirrel)
  • Fix several iteration errors causing heap corruption. (Squirrel)
  • Fixed FontPage overflow. (Squirrel)

5.3.0.a33 (0003BugFix) – February 25-28th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed odd thread crash with a rarely called out of order variable. (Squirrel)
  • Removed pointless ASSERT if a texture was already unloaded. (Squirrel)
  • Fixed many uninitialized variables across the Rage* .h collection, mostly typos. (Squirrel)
  • Fixed MusicWheel overflow, causing a crash on Mac/Linux when user has 509+ songs. (Squirrel)
  • Adjusted Memory handling for the main game loop, to ensure image caching is effective once more. (Squirrel)
  • Added new definitions in rage display to stop ancient prefs being picked. (Squirrel)
  • Implemented FinishedCommand to sound. (Jousway)
  • Multiple performance tweaks across the repo, mostly to do with typos and bad variable name choices. (Squirrel)
  • Identified option for color blind mode. (Squirrel)
  • Set version on shaders in prep for set GL core versioning. (Squirrel)

5.3.0.b09 – February 27th 2019

  • Reduced logic check in ModSpline to improve performance. (Mr.ThatKid)
  • Fixed column check in ModSpline. (Mr.ThatKid)
  • Fixed AttenuateX behaviour to act as defined. (Mr.ThatKid)

5.3.0.a30 (0003BugFix) – February 21-24th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed Missing Array management in JSON. (Squirrel)
  • Fixed Overflow in zlib caused by new optimisations. (Squirrel)
  • Fixed array overflows caused by new memory management code. (Squirrel)
  • Fixed erroneous edge case crash with one memory address out of range in Linux. (Squirrel)
  • Fixed bad memory handlers in Wheel and Note-field. (Squirrel)
  • Fixed case checks causing odd stack heap corruption. (Squirrel)
  • Removed bad calls in /arch to support new clear functions to lessen memory load. (Squirrel)
  • Ensure free() calls were implemented correctly in gameplay and song select. (Squirrel)
  • Massive iterator check over the /src folder to ensure none were lost. (Squirrel)
  • Fix array destruction causing edge-case crashes on Linux. (Squirrel)
  • Fix variable pointer destruction to prevent windows crash on leaving note-field. (Squirrel)
  • Fixed Deprecated cmp call to remove warn-deprecated in compilation. (Squirrel/RyTak)
  • Added Mod constructor to fix Column-Specific NotePaths. (Mr.ThatKid)
  • Fixed typos in LLW X11. (RyTak)
  • Fixed Iterator bugs in RageFile* cpp files. (Squirrel)
  • Fixed missing mapping in Screen* cpp files. (Squirrel)
  • Fixed RunItTwice in Textbanner. (RyTak)
  • Fixed overflow in array bounds in Sprite Manager. (Squirrel)
  • Fixed out of order declarations in Gameplay. Fixes a rare crash and closes several bugs. (Squirrel)
  • Fixed bug with dangling pointer access violation in Notefield due to an old oversight. (Squirrel)
  • Fixed a Lua edge-case un-reference error causing a corrupted stack. (Squirrel)

5.3.0.a25(Blackflagged) – February 18th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed RageFile errors with corrupt headers. (Squirrel)
  • Fixed Lua pointers being delinked causing mods and actors to not play correctly. (Squirrel)
  • Fixed more variable memory management. (Squirrel)
  • A regression was caused in the heap stack, build blackflagged to find out what caused it. (Squirrel)

5.3.0.a24 – February 18th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed missing variable declarations. (Squirrel)
  • Re-enabled several missing pointers in the lua system. (Squirrel)
  • Fixed array management from lost changed in the past. (Squirrel)

5.3.0.a23 – February 15th 2019 (BRONZE) Engine Pull-up Branch

  • Discovered flaw in timing method needing modernising before beta push. (Squirrel)
  • Modernised memory management in regards to allocation. (Squirrel)
  • Removed Reassignment after delete options for variables that did not require it. (Squirrel)

5.3.0.a22 – February 14th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed Array Allocation being missed in destruction calls. (Squirrel)
  • More Pointer Fixes. (Squirrel)
  • Removed archaic delete handling. (Squirrel)
  • Fixed memory overflow in RageThreads. (Squirrel)
  • Fixed multiple issues in Json handling. (Squirrel)

5.3.0.a21 – February 13th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed Chrono Calls in InputDevice. (RyTak)
  • Overhauled bug in Rage’s memory handler to no longer leave memory holes. (Squirrel)
  • Fixed bad CString calls in FontManager (Squirrel)

5.3.0.a20 – February 11th 2019 (BRONZE) Engine Pull-up Branch

  • Fixed Missing declarations. (Squirrel)
  • Edited missing loop calls. (Squirrel)
  • Re-added missing iterators lost to the sands of time. (Squirrel)
  • Ensured nullptr assignments were needed within Rage, several were not. (Squirrel)

5.3.0.a15 – 5.3.0.a19 – February 10th 2019 (BRONZE) Engine Pull-up Branch

  • Fix Dangling Pointers in RageSound. (Squirrel)
  • Fix Dangling Pointers in Screen Management. (Squirrel)
  • Fix Overflows in Song management. (Squirrel)
  • RageSurface memory management tweaks. (Squirrel)
  • MovieTexture Reference repairing. (Squirrel)
  • Variable Name cleanup and redundancy removal. (Squirrel)
  • RageDriver tweaks to prevent crash on new bug found from Variable tweaks. (Squirrel)
  • Order of execution error in driver manager fixed. (Squirrel/RyTak)

5.3.0.b08 – February 9th 2019

  • New Memory use display on debugoverlay. (RyTak/Mr.ThatKid)
  • Fix Linux compilation problems with new math and modifiers. (Mr.ThatKid)
  • New Mod/adjustment for players with FarDistZ. (Mr.ThatKid)

5.3.0.b07 – February 9th 2019

  • New Mods: WireFrame, StraightHolds and Gradient Bugfix. (Mr.ThatKid)
  • Readied Codebase for Bronze branch testing. This will allow us to focus on the release! (RyTak/Mr.ThatKid)
  • Fixed Array allocations within Rage to prevent an edge case overflow/crash with mods enabled (Squirrel)
  • More Dangling Pointer fixes.

5.3.0.b06 – February 5th 2019

  • Fix Dangling Pointers in timing system (Squirrel)
  • Fix HID Errors. (RyTak)
  • New Mods: Gradient for NotePath, HideNoteFlash/HideHoldJudgements and Spiral (Mr.ThatKid)

5.3.0.b05 – February 1st 2019

  • Fix Ragetimer calls. (Squirrel/RyTak)
  • Fix PCH Errors. (RyTak)
  • New JIT testing code – using new cmath methods. (Jousway)

5.3.0.🐉43 – January 31st 2019

Squirrel’s Experimental branch added to changelog. This branch is considered experimental, and will have code added which will move into the Alpha/Beta branch after extreme testing.

  • SFML handles added for first time. (Squirrel)
  • LLW (for RageLegacy) removed. (Squirrel)
  • SDL2 properties added, not implemented in code just yet. (Squirrel)
  • Shader programs loaded in a new folder called ‘shaders’. Accessible to modders and main engine for new effects and textures. (Squirrel)
  • RageDisplay_GLES deprecated and will be removed in favour of new engine updates. (Squirrel)
  • New sound options added, to support other formats and loading methods. (Squirrel)

5.3.0.b04 – January 27th 2019

  • Fixing Mac OS Compile Errors (10.12/10.13) (RyTak)
  • lib updates – libogg/libvorbis (RyTak)
  • Judgement fixes (Lirodon)

5.3.0.b03 – January 24th 2019

  • Fixed Fitness Goal Y positioning with the new evaluation positioning. (Jose)
  • Moved new fonts from “Default” to “default”. (Jose)
  • Implemented floor reflections for characters. (feedback needed) (Jose)
  • Added support of Rate in case of Edit Mode usage. (Jose)
  • Remade implementation of Cameras. (Jose)
  • Automated NumCameras per stage. (Jose)
  • Updated DCD documentation for the new usage methods. (Jose)
  • Replaced Check[Boolean/Number]OnLocationSetting with more reasonable Config.Load commands. (Jose)
  • Readded MusicRate to the Model RateUpdater. (Jose)

5.3.0.b02 – January 17th 2019

  • Soundwaves refresh updates (Lirodon)
  • Timing.lua edited to remove AddSeconds Function. (RyTak)
  • Pro handling in noteskin fixes. (Lirodon)
  • Fallback noteskin handing fixes. (Lirodon)
  • Lua Trash/Garbage Collection fixes. (Lirodon)
  • Fixed type casting. (RyTak)
  • Fixed AutoPlay behavior with Pro Judgements. Now, AutoPlay & AutoPlayCPU will have their judgements clamped to not exceed the current highest enabled judgement in the current timing set. (Mr.ThatKid)

For example, if W1 is the highest enabled judgement, AutoPlay will give out W1 judgements. If Pro_W5 is the highest enabled, AutoPlay gives out Pro_W5 instead. AutoPlayCPU is similarly clamped in regards to the judgements it can
give out. The TimingWindow enum was slightly rearranged to aid in this. The window determination for AutoPlay was also changed to properly use the higher judgements.

5.3.0.b01 – January 16th 2019

  • Changes to Soundwaves and DCD. (Jose)
  • Increase speed limit of dancers. ( 1.5x rate at 300 to 3x time at 700 ) (Jose)
  • Remove clamp from the ModelRate function because honestly it was unnecessary. (Jose)
  • Added transparent GraphDisplay for the Scatterplot. (Jose)
  • Fixed Max Combo label on Gameplay StatsDisplay. (Jose)
  • Added Stepcircle Graphic for BeginnerHelper and fixed positioning of DancePad to accommodate DDRPC pads. (Jose)
  • Cleaned up some prints. (Jose)

5.3.0.b00 – January 13th 2019

Began Code Evaluation for Release candidate for first beta

The engine code from the previous builds will be used to cherry pick and create the branch for the public builds.

5.3.0.a14 – January 13th 2019

  • Researched 64-bit implementation (RyTak/Squirrel)
  • Fixed crash handler arch win32 invalid use of i386 asm. (RyTak)
  • Created Chart Stats, using AMV’s, adapted them for 16:9/4:3 use (Jose)
  • Added icon display of step-type behind the difficulty name (Jose)
  • Created 2 stages for the Dedicated Character Display (Skybox & Soundwaves), meant to demonstrate DCD with it’s stage support. (Jose)
  • Fixed context handling for windows 64 bit operations (RyTak)
  • Fixed default mixed case in folder names causing assert failures. (RyTak/Lirodon/Mr.ThatKid)
  • Exposed polygonmode & polygonlinewidth to Actors. (Wireframe Mode) (Mr. ThatKid)
  • Fix for deleted stages to prevent check for unreferenced stages. (Jose)
  • Optimised theme functions with newer more modern methods. (Jose)
  • Researched SDL2 implementation for Raspberry Pi 2 and upwards (Squirrel)
  • Began Serene OGL testing for GL3+ (Squirrel)

5.3.0.a13 – January 4th 2019

  • Dedicated Character Display has been re-implemented and has had many fixes added (Jose)
  • Beginner Helper implemented via LUA. (Jose)
  • Fixed error preventing GLES returning null on linux. (RyTak)
  • Implemented Rage Color Modifiers (Mr. ThatKid)
  • Fixed deltatime() conversions causing overflow on mods (RyTak)

5.3.0.a12 – 31 December 2018

  • Fixed more memory leaks in texture generation. (Squirrel/RyTak)
  • Fixed Access Exception errors on AFTs. (RyTak)
  • Edited CMake to properly understand the modern libraries OutFox uses now. (RyTak)
  • Fixed Variable De-Refence in font manager. (RyTak/Squirrel)
  • Removed generation of multiple stack() variables to fix linux memory management. (RyTak)
  • Fixed a whole host of typos in the engine. (RyTak/Squirrel)
  • Fixed De-reference points in many functions. (RyTak/Squirrel)
  • Fixed TextureLeak method. (Squirrel/RyTak)

5.3.0.a11 – 27 December 2018

  • Fixed massive memory leak in texture generation. (Squirrel/RyTak)
  • Removed DDR era texture functions which have enabled a 4x speedup on OpenGL. (Squirrel)
  • Fixed and streamlined many aspects of RageMath/RageMatrix, prior to its deprecation and removal. (RyTak/Squirrel)
  • Modified several loading methods to stop junk data overloading in pointers. (RyTak)
  • Added new GFX window preparations prior to LLW deprecation and removal. (RyTak/Squirrel)
  • Added new preference options prior to deprecation of the FF pipeline in OpenGL (Squirrel/RyTak)
  • Fixed Math overflows in AFTs. (RyTak/Mr. ThatKid)
  • Fixed out-of-order execution on several functions to reduce memory use and give us a performance increase in windows. (RyTak/Squirrel)
  • Tweaking of media loading in preparation for the older loaders deprecation and removal. (RyTak/Jousway/Squirrel)
  • Added new fixes for modifiers in preparation for new options for ITG style mods (Mr. ThatKid)
  • Linux regression on overflow due to RagePAL textures removed and fixed. (Squirrel/RyTak)
  • Fixed bug in DDR code that isn’t being used to do anything, but was still being called 100+ times a frame. (Squirrel/RyTak)

5.3.0.a10 – 19 December 2018

  • Implemented Hold orientation by travel. (Mr. ThatKid)
  • Removed Lambda theme. (Lirodon)
  • Introduced new ‘Soundwaves’ Theme, to reflect the new modernisation and stylistic changes to the game. The new theme is much lighter and includes the OutFox branding. (Lirodon)
  • SIGSEGV Fixed on overflow will now continue if noteskin isn’t present. (RyTak/Lirodon)
  • Added Wide and Double support for SMX. (Lirodon)
  • Increased TextureUnit enum size from 4 to more modern equivalents. (Squirrel/RyTak)
  • Increase Log File Size Limit to 2MB (RyTak/Squirrel)
  • Allow LoadBones to stack animations. (This will allow playanimation to properly load the animation without hitting the machine, as the previous method interrupted the playback of the current animation to overwrite.) (Jose)
  • Added more controls for column-specific Bumpy & its’ variants. (Mr. ThatKid)
  • Changed buffer time for deleting cached textures. (RyTak/Squirrel)
  • Modern FFMPEG Testing and evaluation. (Jousway)
  • LibMAD alternative research and development (Jousway)
  • MP3 implementation research and development (Jousway/Squirrel)

5.3.0.a09 – 13 December 2018

  • Fix screenshots by adding RGB2BGR. (Jousway)
  • Added new levels on screenshots, and fixed an overflow due to odd dimensions. (Jousway)
  • Implemented HoldGrainMult modifier. (Mr. ThatKid)
  • libogg updated. (RyTak)
  • libvorbis updated. (RyTak)
  • zlib updated. (RyTak)
  • tommath updated. (RyTak)
  • tomcrypt updated. (RyTak)
  • libprce updated. (RyTak)
  • Fixed hold behavior for when Tipsy gets activated. (Mr. ThatKid)
  • Fixed FFMPEG memory leaks, no more buffer overflow in rare cases. (RyTak/Jousway/Squirrel)
  • ScreenGameplay no longer memory leaks on arrow generation. (RyTak)
  • Implemented ExtendHolds modifier. (Mr. ThatKid)
  • Massive fix spree of Memory Leaks in texture and asset management. (RyTak/Squirrel)
  • Reloading themes no longer causes RAM use to drastically increase, now only results in ~2MB increase per refresh. (RyTak)
  • OGL tweaks to improve frame response. (Squirrel/RyTak)
  • Pipeline modified to allow for higher GPU load! (Squirrel)
  • ActorFrameTextures Reworked. (RyTak)

5.3.0.a08 – 1 December 2018

  • Removal of on iterators within the fixed pipeline parts of the engine to fix memory leaking during play. (Squirrel)
  • Modernising of Rage Asset management prior to Rage being deprecated and removed. (Squirrel)
  • Clang misc-* across code base. No more C++98 in weird places anymore. (Squirrel)
  • Preliminary SMX 5 Panel support. (Lirodon)
  • SM5 Noteskins folder moved to Appearance folder. (Jousway)
  • Native Theme/NoteSkin support moved to the Appearance folder. (Jousway)
  • Toasties / Media added to Appearance folder. (Jousway)
  • Added original folder location support to keep backwards compatibility. (Jousway)
  • Fix hold judgment behavior with move column mods (Mr. ThatKid)
  • Allow for variable FarDistZ limits. (Mr. ThatKid)
  • Now you can set a draw distance for your ActorFrame! (Mr. ThatKid)
  • Implemented NoteSkew. (Mr. ThatKid)
  • LuaJIT Testing (Jousway)

5.3.0.a07 – 27 November 2018

The Code Freeze ended on the 27th of November to allow more work to be done on modernising the code.

  • Code Freeze: QA Round 2.
  • Fixed GL3 initialisation on X. (Squirrel)
  • Fixed overflow on X window systems with more than one monitor. (Squirrel)
  • Fixed overflow on LLW due to pointer de-references. (Squirrel)
  • Optimised Mod implementations in the engine. (Mr. ThatKid)
  • Fixed incorrect ceilf() settings in functions. (Squirrel)
  • Fixed regression due to bad code in RageTimer. (Squirrel)
  • Allowed for new Preferences to be added, and added new screens for this support. (Squirrel/Jousway)
  • Added new Graphics levels, in preparation for Rage deprecation and removal. (Squirrel)

5.3.0.a06 – 20 October 2018

There was a code freeze implemented on 1st October 2018 to re-base and quality assure work done since August 14th 2018. Squirrel wished to ensure no regressions were added to the code, and several bug fixes were discovered in this time.

  • Code Freeze: QA Round 1.
  • Fixed unnecessary float->int conversion in animations as we do not need to worry about floating point co-ordinates anymore. (Jousway/Squirrel)
  • Fixed overflow caused by STBI, as Rage was still expecting archaic formats to be delivered to RageTextureManager, this has now been modernised. (Squirrel/Jousway)
  • Fixed rare Ogg Vorbis overflow introduced by increasing accuracy of timer. (Squirrel)
  • Fixed rare crash in D3D due to some integrated GPU’s not having RGB888/RGB444 support, and RageSurface not providing an accurate pixel format. (Squirrel)
  • Fixed OpenGL versioning not correctly reading MacOS’s implementation of GL Core Profile (Squirrel)
  • Modified OpenGL’s calling and texture allocation. (Squirrel/imakris)
  • Fixed MipMapping level and texture allocation, this now effectively gives us more linear control over how the screen is drawn in OGL. (Squirrel/imakris)
  • Fixed unnecessary call to modules that don’t exist. (Squirrel/Jousway)
  • Added more functions to GLATTER which allow for 4.x OpenGL init calls. (imakris)
  • Fixed regression in RageTextureManager that wanted GLUBuild2DMipMaps() specifically hardcoded for a backup that didn’t exist. This removed an odd state in the machine and stopped weird ‘skips’ on the screen on X windows. It had the benefit of enabling MacOS to enjoy 3.3 Core mode for the first time. (Squirrel)
  • Fixed many broken pointers and de-referencing of variables. (Squirrel/Jousway)

5.3.0.a05 – 28 September 2018

  • Removed VBO Restriction. (Squirrel/Jousway)
  • Fixed Texture Format Allocation. (Squirrel/Jousway)
  • Fixed build compilation for Win32 D3D. (Jousway)
  • Replaced old image calls with STBI. (Jousway)
  • Implemented CenteredPath. (Mr. ThatKid)

5.3.0.a04 -16 September 2018

  • Optimized bundled themes and NoteSkins. (Lirodon/Jousway)
  • Adjusted use of the obsolete Lua custom command reader (“cmd”) to improve performance. (Lirodon/Jousway)
    • This is intended as future-proofing for other upcoming changes.
  • Use of file-based redirection (.redir) in themes are to be considered deprecated, and this practice is being removed from 5.3 default themes and NoteSkins to improve performance. They will remain within the engine to maintain backwards compatibility with existing and previous content. (Lirodon)
  • Fixed ScreenInit Animations. (Jose/Jousway)
  • Fixed Transitions for NextScreen. (Jose/Lirodon/Jousway)
  • Fixed Quad Bordering on ScreenInit. (Jose/Lirodon/Jousway)
  • Added new Tiny animation mod. (Mr. ThatKid)
  • Fixed compilation on macOS 10.13 “High Sierra”. (Jose)

5.3.0.a03 – 11 September 2018

  • Fixed input ghosting issue in X11 (geefr)
  • Fixed style consistency. (Lirodon)
  • Modded Fragment/Vertex Shader Compilations so they now work. (Squirrel)
  • NEW OpenGL Loader – Added glatter for OpenGL (Win/Linux) – massive increase in performance!! (Squirrel/imakris)
  • Added new GLU methodology, together with GLATTER, means mipmapping now works. (Squirrel/imakris)
  • Fixed WGL function support. (Squirrel/Jousway)
  • Removed Texture Font Generator, as it’s not needed at all. (Squirrel/Jousway)
  • Added Lua function to load bones to a 3D model without having to reload the screen. (Jose)

5.3.0.a02 – 4 September 2018

  • New Noteskins – Paw/Paws, and modified some of the methodology for them (Lirodon)
  • Added New Judgement System (Jousway)
  • Added CLANG-modernise across the code to remove archiac practice. (Squirrel)
  • Fixed CDTitle Layering (Jousway/Lirodon)
  • Updated and modernised the Installer on windows. (Jousway)
  • Updated and fixed GLEW memory leaking on windows. (Squirrel/Jousway)
  • Raspberry Pi 3B/B+ compiler support (SpottyMatt)

5.3.0.a01 – 29 August 2018

  • Fixed issue with Alsa polling in linux. (Flameshadowxeroshin)
  • Removes the unnecessary %s from all language files (Fighter19)
  • Added new Toasty and Appearance options. (Jousway)
  • Added new judgements. (Jousway)
  • Added new version of GLEW. (Jousway/Squirrel)
  • Added new GLEW 3.0+ hooks (Squirrel)
  • Fixed GLEW seek pointers. (Squirrel/imakris)
  • Added Outfox branding and modified Lambda theme. (Lirodon)
  • Added new Arcade options to prevent exiting of game (Jousway)
  • Removed libPNG and libJPG (Jousway)
  • Added new image loader STB_Image (Jousway)
  • Removed Palettes as they are 13 years out of date. (Squirrel/Jousway)

5.3.0.a00 – 2 July 2018

This was our initial snapshot version. We pushed several new features to this version from our build of 5.0.x we began to work on. We refactored many pointers into streamlined areas and added GL3 to the engine, along with a new mode to enable modern practices. We consider this the beginning of the 5.3 branch, as by this point we had already changed much behind the scenes.