Alpha 4.8.1 Fixed Build - RageFile Against the Loading Window

Next Major Update (5.0.0 Anniversary Edition) December 2020

Hotfix Build!

  • β•βœ…πŸ² Fixed bug with Locking up on loading songs (RageFile Error) (Thanks Maractus)
  • β•βœ…πŸ² Fixed Crash with too many handles being created for users with >6700 songs
  • β•βœ…πŸ² Fixed bug with Update loop lagging on loading window

New Input Update (Version 4)!

  • β•βœ…πŸ² New Selectable Input system via Preference.ini and Experimental Settings in the theme
  • β•βœ…πŸ² Added new "legacy"(HIDAPI) Input to fix regressions in Windows and Ubuntu updates
  • β•βœ…πŸ² Fixed bug with Modern XInput method causing slowdowns
  • β•βœ…πŸ² Fixed bug with ParaPara Controller not being detected
  • β•βœ…πŸ² Fixed bug with Bemani Controllers not being detected
  • β•βœ…πŸ² Fixed bug with Hori PS2 Controllers not being detected
  • β•βœ…πŸ² Fixed bug with PS2 Adapted Controllers not being detected
  • β•βœ…πŸ² Added new Init() functions for controllers
  • β•βœ…πŸ² Added new ReAssign functions for controllers
  • β•βœ…πŸ² Fixed error in update loop that added controllers twice to the system
  • β•βœ…πŸ² Fixed error with mapping buttons back to front on legacy
  • β•βœ…πŸ² Fixed edge case crashes when adding names to controllers plugged in
  • β•βœ…πŸ² Fixed error in option row not setting the preference value.
  • β•βœ…πŸ² Added new UseOldJoystickMapping preference to choose your input system
  • β•βœ…πŸ² Fixed some older controllers causing a stuck button
  • β•βœ…πŸ² Fixed controller index being sketchy on USB Host/Hub reset (USB 1.1/1.0)
  • β•βœ…πŸ² Fixed button assignment reaching a cap and causing an edge crash
  • β•βœ…πŸ² Fixed availability of Rotary and L - R button assignments on 'legacy' input
  • β•βœ…πŸ² Fixed analogue inputs on some controllers staying at max range
  • β•βœ…πŸ² Fixed some older controllers (Pre-2009) from polling at 250ms
  • β•βœ…πŸ² Fixed some mechanical keyboards polling at 10hz/100hz in Windows 8.1/10
  • β•βœ… Fix some analogue inputs being seen as 'depressed' when they were not (Thanks JapanYoshi)
  • β•βœ… Fix left analogue sticks not being detected on some controllers (Thanks JapanYoshi)
  • β•βœ… Fix some D-Pad presses (on XInput) not being detected on some controllers (Thanks JapanYoshi)

This edition features another rewrite of the Input System for OutFox. Due to windows updates, (and Ubuntu updates) that have directly affected several of our users, we have taken the time to bring forward our plans to fix this sooner rather that later.

What this means to you, our players. You now have a choice of using the XInput which will be enabled by default, (and has been the norm since alpha 4.5) which gives the familiar buttons on the XBox controller. We have added a new controller option row in the 'Experimental Settings' which will allow easy change, you will need to reboot your game to reinitialise the input system, but we will make this a non-game reset option in a future update. There is also a preference you can edit which is called UseOldJoystickMapping setting this to 0 sets the XInput mode, and setting this to 1 enables the legacy (HIDAPI) mode for your controller or pad.

You will likely need to check your offset for this update, if you are swapping modes, as some controllers behave slightly different in legacy/XInput. This is true especially of custom Arduino pads, so take time to remember to test this.

If you use older controllers, please ensure they are plugged in BEFORE you start the game. Because we do not depend on DirectX anymore, we need to initialise the system on game start. We are looking into this, but once the system is live, controllers can be added and removed as normal. We really do not want to go back to DInput7 or DInput8 as Microsoft is really punishing use of these system and will remove them outright eventually.

Keyboard players can use either method, this update fixed a couple of awry driver update issues on steelseries/Corsair keyboards to fix their polling issue, so you can play as normal.

If you have an SMX 4k/5k/pump pad, you can use either mode, but some players have mentioned that legacy 'feels tighter' than XInput for this pad. Give it a try and let us know your thoughts.

This new mode allows for more than 4 controllers (which XInput is limited to by design), and does not require a mapping for the gamecontrollerdb.txt file which XInput pads require. This new mode allows the older Joystick path to run, which is based on HIDAPI, thus giving us a greater level of controller support than ever before. If your controller does not show up in OutFox, or has become troublesome since the operating system updates, this is the mode for you. If you have any issues with the new system (bear in mind, you WILL need to go to Key mapping and map all the buttons for your controller to their actions. YOU DO NOT NEED TO USE CONTROLLER MAPPING WITH THIS MODE!

The legacy mode returns to a slightly more familiar system from 5.1/5.0 so those of you with particularly troublesome controllers will no longer have issues. The ParaParaParadise Controller prefers to be on legacy. So if you use OutFox for Para/ParaStar/EKS-D remember to set this in your game, and restart. The PPP Controller needs to be plugged in BEFORE you start the game, due to how windows operates now. This is true for Ubuntu also. Mac OSX now also properly supports this controller.

On the subject of ParaPara Paradise, this month has seen a lot of work and collaboration to finally fix some of the glaring issues for this mode. We will continue to do this for all our modes, so look out for updates!

ParaPara Paradise mode has been given a swathe of fixes:

  • β•βœ… Fixed Noteskin loading on PPP mode
  • β•βœ… Fixed missing theme elements on PPP mode
  • β•βœ… Added new timing windows for PPP mode, which match the PS2/2nd Mix games
  • β•βœ… Added new judgement names for PPP mode to match PS2/2nd Mix
  • β•βœ… Added new Tick hit support - This allows for a hit if the sensor is triggered, as per the original games
  • β•βœ… Added new Hold Tick Hit support - Fixes a long overdue bug in holds on PPP mode.
  • β•βœ… Added new column style 'active' when a sensor is triggered, to closer match the original games
  • β•βœ… Added 2 player support for PPP mode
  • β•βœ… Fixed PPP controller buttons not being recognised in game
  • β•βœ… Added new default noteskin for PPP mode
  • β•βœ… Added new Jara noteskin for PPP mode
  • β•βœ… Fixed evaluation screen elements causing an edge case crash
  • β•βœ… Fixed how the game records play details to be more accurate to the original play experience.
  • β•βœ… Fixed Rate mode being set to a weird value
  • β•βœ… Fixed Speed Mod. For accurate arcade experience, use A or C mod, between 100-300, we feel the sweet spot is 100-150
  • β•βœ… Fixed missing gameplay elements

We hope you all enjoy the new revamped Para Mode, and remember it's also playable on MacOS fully for the first time! If you have any feedback or questions please do not hesitate to contact us on the discord!

New Loading Window

  • β•βœ…πŸ² New loading song error checking - The log will tell you about bad songs
  • β•βœ…πŸ² New loading window system
  • β•βœ…πŸ² Support UTF-8 on new loading window
  • β•βœ…πŸ² New themeable loading window
  • β•βœ…πŸ² Custom Font loading support
  • β•βœ…πŸ² New font rendering

This version sees the launch of a new loading window, which has plagued the game since 2007. We plan to use this new window for more features in the future, and it will become fully themeable for those of you that wish to modify it. It is cross platform so replaces the legacy Linux Loader, and the horribly bugged MacOSX loader. The other good thing about this mode is when you load songs, it will check your audio files for availability. What this means, if the file is corrupted or damaged, or just unable to be loaded by the game, you will get a notice in your log file. For ease of viewing, you can scan the games songs with the new version, then check out info.txt in your /logs folder. if you have any damaged songs or corrupt mp3s etc, they will be logged here. An example from my own simfile collection:

WARNING: Sound file /AdditionalSongs/parapara/Big O/Big O.ogg couldn't be opened: . Please check it is not corrupted and redownload the file.

We hope you find this a welcome addition, as it will prevent some sudden crashing or silence being played in the song wheel. This feature will be worked on in the future, so if you have any ideas please throw them our way! Sometimes the window will look like it's 'locked up' on Windows - this is just the SSC cache being generated! Give it a moment and it'll sort itself out, it only does it once.

We have plans to allow the online patcher and for configurations to be changed/set up for the future, so I'm hoping it is stable for you all and works as designed.

New MP3 Driver:

  • β•βœ… Removed libMAD and it's dependencies
  • β•βœ… Added new dr_mp3 MP3 Driver (clean for closed source phase)
  • β•βœ… Added new libmpeg123 MP3 Driver (not in repo but available for open source phase)
  • β•βœ…πŸ² Fixed internal Threads overflow
  • β•βœ…πŸ² Fixed internal buffer sizes
  • β•βœ…πŸ² Set modern system settings to allow transition

This has been in the background for some time. LibMAD has been a bit of a thorn in our side for some years, and as it is also GPL, it does not really fit with our closed source phase, so we have spent the past 3 months working on a resolution. We have two drivers, Libmpeg123, and dr_mp3. Libmpeg123 will be added when we are open source, and currently is on a closed branch not for distribution. dr_mp3 is the new library we have chosen to fully support as it finally adds VBR support, it's lightweight, and also finally stops one of the broken_pipe problems on the Raspberry Pi 2/3 boards. It also has meant we have taken the time to identify more problems with the sound delivery in the game, so we will be fixing these in the future. For now we have tweaked the pipe to be consistent across drivers, so this also has given us a better experience across the different modes. We also will be looking at a new asynchronous loading mode for Keysounds, primarily for beat/popn so the load times will be reduced and this will deliver a better player experience.

If you experience any issues with the new sound driver, do let us know, but it has had some serious testing so we're hoping it is stable and sane for you guys!

The other fixes for this month include:


  • β•βœ…πŸ² Fix texture buffer inconsistencies in RageTextureManager
  • β•βœ…πŸ² Fixed resolution of some broken actorframe calls
  • β•βœ… Fixed several pointer dereferences in actor handling
  • β•βœ… Fixed a few missing casts in the GL pipe
  • β•βœ… Fixed missing oem102 key for foreign keyboards
  • β•βœ… Fixed bad issues with variables in RageSurface
  • β•βœ… Revert C++ opts until the new compile method is finished
  • β•βœ… Fixed absf math issues when calculating locations
  • β•βœ… Fix compiler unoptimised functions causing slowdown on tweens
  • β•βœ… Prevent overlapped centering when - 1p occurs (Thanks NekoΒ²)
  • β•βœ… Fix sizing on - 6/8 panel modes
  • β•βœ… Fix size of notefield via AR over ScreenWidth
  • β•βœ… Allow HoldJudgements to receive Player variables
  • β•βœ… Change round method on stats display
  • β•βœ… Support for toggling audio preview modes for ScreenSelectMusic
  • β•βœ…πŸ² Changed the use of ragefile within sound engine
  • β•βœ…πŸ² Removed GL 4.6 and 3.3 due to windows 10 update bugs killing the intel driver
  • β•βœ…πŸ“ Fixed Esc not leaving test input screen Issue #41 (Thanks Moru!)
  • β•βœ…πŸ“ Allowed early dismissal of input keybind warning Issue 40
  • β•βœ…πŸ“ Fixed non-random Seed generation for game/stage Issue 38 (Thanks JustinLove)
  • β•βœ…πŸ“ Fixed Game Crash in Extended/Course Mode Issue 29 (Thanks Jubo)
  • β•βœ…πŸ“ Fixed FPS Slowdown on some GPUs Issue 25 (Thanks LightningSkunk)
  • β•βœ…πŸ“ Fixed Notefield Overlaps on Center 1 player Issue 24 (Thanks SilentTempest83/NekoΒ²)
  • β•βœ…πŸ“ Fixed Random noteskins failing to activate Issue 21 (Thanks bibusdax)
  • β•βœ…πŸ“ Make ScreenTextEntry handle caps lock once more Issue #13(Thanks Moru!)


  • β•βœ… Fixed dll Access Violation issues with older videos
  • β•βœ… Fixed edge case overflow on ttf loading
  • β•βœ… Fixed missing return path on input
  • β•βœ…πŸ² Removed Loading Window win32 and its baggage
  • β•βœ…πŸ² Removed deprecated WINAPI callbacks


  • β•βœ… Fixed missing EGL calls
  • β•βœ…πŸ² Re-add MacOSX 10.16 optimised code as it offers better stability
  • β•βœ…πŸ² Begun Wayland compatibility code
  • β•βœ…πŸ² Removed Loading Window linux and its baggage
  • β•βœ…πŸ² Removed deprecated GTK dependencies
  • β•βœ…πŸ² Removed deprecated X11/XRandR dependencies
  • β•βœ…πŸ“ Added upstream fix to use GLVND SM Issue 1860 (Thanks mwkroening)


  • β•βœ… Fix discord linking for status updates
  • β•βœ…πŸ² Removed Loading Window and its baggage
  • β•βœ…πŸ² Removed Darwin era dependencies
  • β•βœ… Fix CMake folder inclusion

ARM/ARM64: (Raspberry Pi etc)

  • β•βœ… Fix char overflow
  • β•βœ… Fix legacy 32bit FFMPEG builds
  • β•βœ… Adjust Sound buffer sizes to ease CPU load

Community Content:

  • βœ… 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)

(The 'source' code below is the reporting issues template, it is not the source for OutFox)