Project OutFox Wiki
Project OutFox home View the OutFox Wiki source on GitHub Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

OutFox Alpha 4.9.5 Build

Release Date: 30th November 2020

“Step into tha game!”


(Yakitate!! Japan - © 2004 Sunrise/TV Tokyo)

The Alpha of many changes…

Introducing Both At Once!

What is Both At Once? Both at once is a popular feature option used in @taronuke’s project Not in the Groove. It allows player one to input to player two, while playing mod files. As many of the mod files ported from NitG require two joined players, and before this alpha, the method to enable autoplay for the alternate player was a bit sketchy on SM5, we have taken the time to add this feature to OutFox.

How do we use it? Ever accidentally turned on ‘Monkey Input’ and wondered why the game doesn’t work anymore? Well, we removed Monkey Input from the F3 Debug Menu, and in it’s place, we have added the BAO option!


You need to be in a game menu, and have added 2 players to activate it, (So after you have selected a mode, or on the music wheel) - or you simply will not be able to activate it. This is to protect you having settings or menus operate as both players at once, which could be a pain!

When you are in a game mode, you can add two players and then turn the option on: Press and Hold F3, then press 5


You will then be in BAO mode, and can play mod files! (You can find a collection of ported and original files from our community)


(Screen Select Music - Setting both at once mode on)

You can also select menu options and settings in BAO mode for the song, but do bear in mind many mod files set their own speed mods and noteskins:


You can then play the game as one player, but it will fill in for two!

Things to note!

  • If you are player 2, then player 1 will be your ‘ghost’ and vice versa
  • If there is a mini-game in the mod file, which checks for individual player input, we will not override this with BAO! (This is to mirror NitG Behaviour, and is as designed)
  • The player you are not playing on will be disqualified, and it’s score won’t be saved, even if it is displayed in the evaluation screen
  • You can turn off and on BAO during a song, using F3 + 5
  • BAO will be reset when leaving the Select Music Screen, or if the System Switch is pressed

On evaluation, you will note player 1 matches player 2:


We also have some different pages on the evaluation page - if you press left or right you will change ‘page’ to reveal more details.


The scatter graph in this alpha is drawn a lot more efficiently, which should prevent the slowdown when looking at many presses.


The ‘histogram’ is another highly requested feature for outfox, adapted from the features from, we draw it differently in OutFox, as we have the different timing windows.

New Actor Multi Vertex Draw options!

This alpha also introduces a few new options for controlling your draw commands when creating an actormultivertex(). There were some issues we found in the methodology used in the older code which sometimes allowed the game to fall back to CPU based rendering/calculation for drawing some objects and lines, causing stuttering and arrow lag in screen gameplay, and would cause odd slowdowns in the evaluation screen (as noted by many of our stamina players, when playing marathon mode!)

We added two new draw options, and optimised some of the older modes to be less heavy on the game while drawing effects or UI objects.

Note the VPF (Vertices per Frame) Count. Higher counts mean higher loads on the system: (Before with drawmode_quadstrip) unknown

The draw mode has been changed to just use points, dropping the value considerably. (After with the new drawmode_points) unknown

Another thing that can be decided in the Lua command is the state of the points, which allow for square or circle points: Square: unknown

Circle: unknown

New lua commands: self:SetDrawState{Mode="DrawMode_Points"}:SetVertices(verts)

New Draw Modes, we have DrawMode_Points and DrawMode_Lines!

self:SetPointState(boolean) (so false or true - Alias the Points. if the size is too big, or it is not supported on the GPU’s driver, it will be drawn as a square, but won’t crash.)

example: circle: self:SetPointState(true) square: self:SetPointState(false)

resizable points: self:SetPointSize(float) - Size in PIXELS of the point to draw. This will often round to a whole number on older systems, but most cards will use subpixel sampling to keep these as designed. For better performance, use a whole number, so 6.0.

Example: self:SetPointSize(10.5)

These are called in your actormultivertex like so:

    local amv = Def.ActorMultiVertex

Example drawn with thin DrawMode_Lines: unknown

Oh, we built a Windows XP build for those with cabinets.

  • ❕✅🐲📝 Added Hebrew (Thanks Snil4 for the request)
  • ❕✅🐲📝 Set the ’example’ glyph to be 0000058 so it is usually displayed by obscure fonts.


  • ❕✅ Fixed Discord RPC compiling on newer GCC versions
  • ❕✅📝 Readd the minimaid option to the build scripts
  • ❕✅ Fixed miscasts of ActorUtil causing some actors in mods to be drawn with corruption
  • ❕✅ Fixed the Analogue Input Screen so players can exit/enter as designed
  • ❕✅ Fixed DetailStatsEdit Screen (Thanks MDR/Moneko!)
  • ❕✅ Add New Opus SoundReader
  • ❕✅ Add New FLAC SoundReader
  • ❕✅ Add New Wave SoundReader, removed legacy WAV pipe
  • ❕✅ Update MP3 SoundReader pipe
  • ❕✅ Update Ogg SoundReader pipe
  • ❕✅ Update Vorbis and Ogg Libraries
  • ❕✅ Fix CMake building for the sound components
  • ❕✅ Force SoundWriteAhead to 4096 to alleviate some skipping on older systems
  • ❕✅ Force SoundPreferredSampleRate to 44.1khz to fix skipping on older systems
  • ❕✅ Fix Resolution display checking
  • ❕✅ Fix Display Sorting
  • ❕✅ Fix Texture debug log spam, we only need to do this internally, and saves our time going through crash logs
  • ❕✅📝 Add missing Aspect Ratios - Closes TeamRizu/OutFox#179 and Simply-Love/Simply-Love-SM5#214
  • ❕✅📝 Fix coloured glow missing from ActorFrames - Closes TeamRizu/OutFox#155
  • ❕✅📝 Fix ScreenGamePlay player resize math calculations - Closes TeamRizu/OutFox#63 (Thanks @JapanYoshi)
  • ❕✅📝 Fix location of field when player zoom is larger than one - Closes TeamRizu/OutFox#63 (Thanks @JapanYoshi)
  • ❕✅ Implement SetBaseLocation
  • ❕✅ Fix Metronome Clap/sound type being quiet and not correct
  • ❕✅📝 Fix Endless mode not working - Closes TeamRizu/OutFox#159
  • ❕✅📝 Added option to “inputfocus” preference to ’not minimise screen on focus loss’ - (Thanks Digital Dancer!)
  • ❕✅ Added Median page to Screen Evaluation (Page 4) to display the input histogram
  • ❕✅ Fixed Miss offsets being included on calculations in the Median page
  • ❕✅📝 Added 2 decimal places to FPS stats as requested by the community
  • ❕✅ Added Delta Clock second counter, if the log shows >1.00 then DeltaTime() has skipped
  • ❕✅ Fixed misrepresented fonts on Median page
  • ❕✅📝 Added Hebrew Font Maps - (Thanks @snil4 for the request!)
  • ❕✅ Fix font alignment to support Hebrew
  • ❕✅📝 Implemented P3IO Driver - (Thanks @chrispable for the initial work
  • ❕✅📝 Implemented P2IO Driver - (Thanks @chrispable for the initial work
  • ❕✅📝 Implemented PacDrive Linux Driver - (Thanks @lqbombjack for the initial work PR at stepmania/stepmania#1479)
  • ❕✅📝 Implemented ITGIO Linux Driver - (Thanks @DinsFire64 for the commit stepmania/stepmania#1994)
  • ❕✅📝 Added the SM Mainline PacDrive fixes (Thanks @DinsFire64 and @KevinTurner / stepmania/stepmania#2056 and stepmania/stepmania#1819)
  • ❕✅📝 Fixed Win32 Parallel on Dance - (Thanks @ArcticFqx!)
  • ❕✅📝 Set Textures to be 2048 and Hi-Res by default - Closes TeamRizu/OutFox#166 (Thanks @natano!)
  • ❕✅📝 Set Smoothlines behaviour to mimic 5.1 by default - Closes TeamRizu/OutFox#164 (Thanks @natano!)
  • ❕✅📝 Set Pad Input behaviour to mimic 5.1 by default - Simply-Love/Simply-Love-SM5#214 (Requested by @natano!)
  • ❕✅ Fix fonts not falling back onto provided extended UTF-8 glyphs.
  • ❕✅📝 Fix bad bitmap textures causing a dialogue message which cannot be cleared - Closes TeamRizu/OutFox#157 (Thanks @NekoIncardine!)
  • ❕✅ Fixed Bad Math calls on the Display Draw pipe for Actors
  • ❕✅ Fixed an issue where a few edge case systems could cause a crash due to a malformed check in the GLAD Renderer
  • ❕✅ Resized the fonts on stats overlay
  • ❕✅ Fixed several type warnings on stats overlay
  • ❕✅ Added both at once on basic input types (inspired from @TaroNuke’s NitG Project)
  • ❕✅ Fixed both at once being set and causing menu lock options
  • ❕✅ Fixed both at once messing up the system switch menu
  • ❕✅ Fixed option in screen select music that sometimes caused the game to crash on some mod files
  • ❕✅ Forced 2 players joined to enable both at once
  • ❕✅ Forced non playing player on both at once to be disqualified
  • ❕✅ Modernise and optimise the screen options menu system
  • ❕✅ Optimise the menu up/down process for both at once
  • ❕✅ Match difficulties on screen select music for both at once
  • ❕✅ Fixed issues with both at once being on for screens which really do not work well for this feature
  • ❕✅ Make the BMS loader smarter at finding a preview to play
  • ❕✅ Renamed the old SM5 beat default noteskin to defaultsm5
  • ❕✅ Fixed the issue where INVALID_PLAYER_OPTION would produce a dialog, it now warns in the log file
  • ❕✅ Fixed bug in the loading window where course counters could produce a value above 100%
  • ❕✅ Added new CI options to build nightly packages for testers moving into 2021
  • ❕✅ Fixed issue with music sometimes not playing after ScreenGamePlay
  • ❕✅ Add a background switching system to SoundWaves
  • ❕✅ Change combo milestone animation to match current design paradigms
  • ❕✅ Fixed outdated ‘hexagon’ banners
  • ❕✅ Fixed issue where returning from pause could trigger transitions to be run
  • ❕✅ Fixed metronome being the same sound as clap
  • ❕✅ Fixed a rare Access Violation being triggered due to an operating system adjustment of the sound buffer
  • ❕✅ Fixed an issue with the USB IO Driver sometimes hanging the game
  • ❕✅ Added the defaults that modes that should be upside down (down scrolling) ARE upside down
  • ❕✅ Fixed a bug which caused a crash in the mp3 driver - (Thanks mattbisme!)
  • ❕✅ Added new ActorMultiVertex options to allow for wider draw methods
  • ❕✅ Optimised the drawing methods from AMV calls
  • ❕✅ Fixed smooth lines causing lag on some mod files
  • ❕✅ Added AMV points to the lua command
  • ❕✅ Added AMV pointsize to lua
  • ❕✅ Added AMV lines to the lua command
  • ❕✅ Added the lua option to set points to circle or square
  • ❕✅📝 Fixed FFMPEG Memory leaks due to a bug in the way the Surface was allocating textures - Closes TeamRizu/OutFox#85 (Thanks @EngineMachiner!)
  • ❕✅📝 Fixed FFMPEG Memory leak causing the game to crash with GL_OUT_OF_MEMORY - Closes TeamRizu/OutFox#153 (Thanks @igormclven!)
  • ❕✅ Added new debug information for GL’s line and point width as it is dependent on graphics hardware (if people have a tiny line)
  • ❕✅ Modernised the scatter graph to use the new points system
  • ❕✅ Fixed IsUsingWidescreen()
  • ❕✅ Added IsUsingPortrait()
  • ❕✅ Fixed DrawTap creation to be more streamlined
  • ❕✅ Separate loading of notes per Routine and Regular
  • ❕✅ Fixed single frame movies/images that use FFMPEG to work as designed
  • ❕✅ Fixed FFMPEG not being freed correctly when being used with legacy DivX/XViD/AVI/MPEG files from prior to 2008
  • ❕✅ Fixed regression in sound readers defaulting to the beginning of the song on the music wheel (Thanks Moneko/Moru)
  • ❕✅ Fixed FFMPEG thread sometimes speeding up on movie looping
  • ❕✅ Fixed FFMPEG resize/scale from causing skips on older hardware
  • ❕✅ Fixed method where the game forgets that background is an effect
  • ❕✅ Fixed FFMPEG sprite allocation from being leaked
  • ❕✅ Fixed Context generation leaking memory
  • ❕✅ Fixed float overflow in RageSoundPosMap
  • ❕✅📝 Fixed regression that prevented the background from showing when a file was missing - Closes TeamRizu/OutFox#172 (Thanks @SheepyChris!)
  • ❕✅ Fixed library version mismatch with some of the newer compiled libs
  • ❕✅ Fixed centering of player in demonstration screen.
  • ❕✅ Fixed issue with compilation of AV1 support
  • ❕✅ Fixed crash issue in ScreenSelectLanguage
  • ❕✅ Fixed issue with player scaling code being set incorrectly
  • ❕✅ Added GetTexture for FFMPEG to fall back to image instead of a null movie overlay on screen gameplay
  • ❕✅ Added a proper pause mode to movies, so the DeltaTime() no longer slips while the game is paused.
  • ❕✅ New Feature: Ability to change SOUNDMAN volume in lua
  • ❕✅ New Feature: Added fade option to SOUNDMAN

Windows 7+:

  • ❕✅ Fixed NSIS branding and missing items
  • ❕✅ Added the beginnings of 64bit windows support
  • ❕✅ Segregated calls and API objects for 64bit windows support
  • ❕✅ Removed the deprecated files inside the win32 arch util folder
  • ❕✅ Fix Midi input mapping missing extended button types
  • ❕✅ GetArch() now returns windows version

Windows XP (32bit):

  • ❕✅ Yea, we went here
  • ❕✅ Fixed FFMPEG generation so the formats supported match Win 7
  • ❕✅ Fixed Memory leak causing the game to crash with GL_OUT_OF_MEMORY
  • ❕✅ Fixed uninitialised locale crashing the game and preventing startup
  • ❕✅ GetArch() now returns Windows XP


  • ❕✅ Fix compile for file operations
  • ❕✅ Fix build scripts to correctly label the bundled libraries - Closes TeamRizu/OutFox#165 (Thanks natano!)
  • ❕✅ Fixed libusb0 being built against the wrong version of libraries

MacOSX (Intel):

  • ❕✅ Fixed libusb0 libs
  • ❕✅ Fixed FFMPEG sometimes not initialising for supported
  • ❕✅ Fixed FFMPEG Memory leak causing the game to freeze

MacOSX (M1):

  • ❕✅ Fixed FFMPEG support for arm64
  • ❕✅ Fixed Opus Support
  • ❕✅ Fixed LibUSB support

ARM/ARM64: (Raspberry Pi etc)

  • ❕✅ Fixed uninitialised locale crashing the game and preventing startup

New community content:


  • ❕✅ New 3D versions of Outfox, Broadhead, and Shadowtip noteskins by R.O.B.-Bot
  • ❕✅ Added new BMS noteskin
  • ❕✅ Added new 3DDX note types to crystal


  • ✅ Alien Alien by Moneko


  • ✅ 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)