Following this release OutFox will be officially dropping the 5.3
prefix from our versioning to lessen confusion from our user base. We used to be 5.3.0.4.xx.xx as we were working on the game, but many of our users preferred to use the Alpha 4.xx versioning, leaving the 5.3 alone. Following consultation with ensuring we are compliant with our binary signing requirements, we have decided to drop this long version number and just use the 0.x.y.z which is a lot easier to read.
Internally we were using the alpha builds like this to simplify our own understanding, and it seemed the easiest way to move forward. This build is formally known as 0.4.14
, and we will be dropping versioning from folders and suchlike moving onward. We have removed the final parts that we needed for validation, so we are pleased to announce signed binaries for Windows will be available in the summer.
Given this change, the location of the save folders has changed. Following here are the new save locations: (If you're in an existing installation, you can just rename your existing save folder to the new name that belongs to your OS)
Windows: %AppData%\Roaming\Project OutFox
(If in non-portable mode)
MacOS: ~/Library/Preferences/Project OutFox
Linux: ~/.project-outfox/
Themes or systems which check for 'StepMania' in the product family may fail to find OutFox until updated, we have reached out to the developers of Simply Love and let them know about our updates and they have let us know it will be updated in due course.
With the change of the Product Family and ID to OutFox and dropping the 5.3 suffix, there will be instances where Simply Love will break again due to its checks for "stepmania", so changes will need to be made.
(The files mentioned on this guide are included on the binaries section)
Upon starting the game, I get a message saying this build is unsupported.
That's the inital check coming from SL-SupportHelpers.lua
, in a function called StepManiaVersionIsSupported()
, which checks which versions of the game are supported. Only a single new line needs to be added to support OutFox on the list.
(Located in Simply Love/Scripts/SL-SupportHelpers.lua
)
StepManiaVersionIsSupported = function()
-- Add this line!
if type(ProductID) == "function" and ProductID():find("OutFox") then return true end
if type(ProductFamily) ~= "function" or ProductFamily():lower() ~= "stepmania" then return false end
if type(ProductVersion) ~= "function" then return false end
if type(ProductVersion()) ~= "string" then return false end
-- SM5.0.12 is supported (latest stable release)
-- SM5.1.x is supported
-- SM5.2 is not supported because it saw significant
-- backwards-incompatible API changes and is now abandoned
-- SM5.3.x is supported (beta status because it's not open source yet)
return IsSMVersion(5, 0, 12) or IsSMVersion(5, 1) or IsSMVersion(5, 3)
end
When I finish a song, the theme keeps failing me, what is that?
That comes from a check from a file called FailOnHoldStart.lua
. Given the changes to how OutFox now calculates the end of the song, this can break the theme's method to calculate its own end point.
(Located in Simply Love/BGAnimations/ScreenGameplay overlay/FailOnHoldStart.lua
)
-- We need a way to check if the player gave up before the song properly ended.
-- It doesn't look like the engine broadcasts any messages that would be helpful here,
-- so we do the best we can by checking the song position.
local af = Def.ActorFrame{
OffCommand=function(self)
-- Replace this line!
local fail = STATSMAN:GetCurStageStats():GaveUp()
-- local fail = (GAMESTATE:GetCurMusicSeconds() < GAMESTATE:GetCurrentSong():GetLastSecond())
-- In course mode always fail if we're not already on the last
-- song. If we are on the last song, then we fall back to the
-- condition above.
if GAMESTATE:IsCourseMode() then
local course = GAMESTATE:GetCurrentCourse()
if GAMESTATE:GetCourseSongIndex() + 1 < course:GetNumCourseEntries() then
fail = true
end
end
-- We have to fail both players as we stopped the song early.
if fail then
-- Let's fail the bots as well.
for player in ivalues( GAMESTATE:GetEnabledPlayers() ) do
local pss = STATSMAN:GetCurStageStats():GetPlayerStageStats(player)
pss:FailPlayer()
end
end
end,
}
return af
Following an overwhelming demand from the community, we have rewritten the old legacy PPP controller driver from the PS2 to work on all devices OutFox supports.
To use this new driver on your Mac or linux machine, go to your preferences.ini and use one of the following to get your controller to work:
Please Note: You will need to add one of these so your controller will work!
Windows
(para only):
InputDrivers=para,legacy,minisdl
(para and rtmidi):
InputDrivers=para,rtmidi,legacy,minisdl
Mac OS (M1 and Intel)
(para only):
InputDrivers=para,SDL
(para and rtmidi):
InputDrivers=para,rtmidi,SDL
Linux (x86_64/ARM/Raspberry Pi)
(para only):
InputDrivers=para,SDL
(para and rtmidi):
InputDrivers=para,rtmidi,SDL
The controller must be plugged in before you start OutFox, and it is recommended for M1 based Macs you have a USB C hub that has built in USB2 ports. This will give you the greatest compatibility with older hardware. Do send us your ParaPara setups, we'd love to see them!
be-mu
/po-mu
songs on Endless Mode may have a crash on song loading. Please be aware that course mode for these modes are a bit temperamental at the moment!gh
mode: Some charts may cause a crash when loaded into the gamegddm
/gdgf
mode: We do not support the XA codec at this time, it'll play those keysounds silently.Mode Specific
taiko
: New Added TJA parser support!taiko
: New Added TJA note type supporttaiko
: New Added TJA #BPM adjustment supporttaiko
: New Added math and base 4 measure support to TJA parsertaiko
: New Added multi-chart support in TJA parsertaiko
: New Added OTO taiko SV (scroll gimmick) supporttaiko
: New Added OTO taiko multi-chart in one folder supporttaiko
: Fixed crash in TJA parser on some linux distrostaiko
: Fixed ratio overflow on OTO taiko modetaiko
: Fixed crash with older community TJA files (pre 2014 era)taiko
: Adjusted drum hitsounds on taitai noteskins to be more accuratetaiko
: Adjusted the drum hitsounds to be less laggy when rapid hittingtaiko
: Finished OTO Taiko Note Parsing (we now can read everything, though holds/balloon are single notes at the moment)pump
: Fixed PIU loader crashpump
: Fixed bug with some .SM and .SSC breaking the cachepump
: Fixed bug with pump (.sm/.ssc/.ksh) files snapping to completed on startpump
: Fixed bug with pump charts showing a negative song lengthpump
: Fixed bug with pump charts being set a 2 second chart lengthpump
: Fixed bug with 'extended' pump charts (longer than 9:59) not being parsedpump
: Fixed bug with pump charts with no set song length from crashing the gamepump
: Fixed bug with pump charts being set an invalid steps seconds valuepump
: New Added new skeleton for AV mod, math to be added, (not finished yet)pump
: Fixed hashing being called with autogensteps causing lag on pump and dance wheelspump
: Fixed legacy bug with the KSF loader causing songs to end earlykbx
: New Added OTO mania SV (scroll gimmick) support, Warps to comekbx
: Fixed bug with bad osu charts crashing the game (Thanks Yuki)kbx
: Fixed initial scroll flags for o!mania chartskbx
: Fixed inverse math algorithm on gimmicks so they aren't back to frontkbx
: Fixed 'correction' and 'chapter' timing points on o!mania charts (Thanks Matthew - The Lagger)kbx
: Fixed lane math overflow in the QUA parserkbx
: Fixed some 7K holds being skipped in the QUA parserkbx
: New Added SV support to QUA parserkbx
: Fixed songs with different steps lengths from ending at odd timeskbx
: Fixed math overflow on some o!mania gimmickskbx
: Fixed math for OTO parser, scroll gimmicks and such now workkbx
: New Added scroll factor support to QUA parserkbx
: Fixed crash on OTO/QUA parsing of osu/osz and qua/qp files when loading a mix of archives and non-archiveskbx
: Fixed punishment with hold mashingkbx
: Made lift holds less harshkbx
: New Added KBX 16/17/18/19 lane support!kbx
: Fixed noteskin support for new KBX 16-19 laneskbx
: Fixed kbx noteskin crash - thanks hanubekikbx
: Fixed kbx column layout for 16K / 18K - thanks hanubekipara
: New cross platform Para Para Paradise Controller Driver!stepstage
: Make stepstage available on editordance
: Fixed bug with Hashsplit and SSC hashingdance
: Fixed quirk with some SSC cache files for old SM5 era modfilesdance
: New Rewrote and optimised the SSC loaderdance
: Fixed Memory leak with writing SSC files for the cachedance
: Fixed potential infinite loop on some dance songs causing crashdance
: Fixed crash with dance charts when selecting different stylesdance
: Fixed scoring and correct ITG windows in timing.luadance
: Fixed DDR Ace timing in timing.luadance
: Fixed bug with missing split-timing checksdance/smx
: Fixed 'REQUIRE_STEP_ON_MINES' logic, thanks to dintechno
: Fixed crash when using 4k 5k 8k 9k interchangeablyall
: Fixed Notedata memory leak on SSC files when initial loadingall
: Fixed crash on parsing when loading more than 9000 SSC filesall
: Fixed crash on parsing when loading more than 3000 non-SSC filesall
: Fixed crash on music wheel when going through SSC/SM filesall
: Fixed bug with some crashes on non-SSC files having no or missing preview songs/soundsall
: Fixed bug with some po-mu
/be-mu
/gddm
/pump
/ charts ending after < 2 seconds of startingall
: Fixed bug with songlength math overflow on some pump/osu chartsgh
: Allowed gh
charts to be genned for stylespo-mu
: Fixed crash when trying to play with different key values. Keysounds will be weird, as there needs to be new logic for this as it is new groundpo-mu
: Fixed playback on 3 lane charts being shifted to channel 12po-mu
: Fixed parsing of 3 lane chartspo-mu
: New pomu-nine-double
supportpo-mu
: New pomu-nine-double
native parsing from BME/PMS filespo-mu
: New pomu-nine-double
Mines and Long Note support (extended PMS spec) be-mu
: Fixed crash when playing 5k and 7k at the same timeEngine
Def.NoteField()
*Editor:
IsStepTiming
, SetSnapMode
, ChangeToStepTiming
, SetHighlightSelection
, SetBPM
, SetStop
, SetDelay
, SetWarp
, SetLabel
, SetTickCount
, SetScroll
, GetEditorPosition
Note: These Lua hooks can be subject to change.*Windows 7+:
Linux:
MacOS (Universal):
ARM32/ARM64: (Raspberry Pi etc)