OutFox-alpha.4.14.1 Build - Hot Fix Relief

If you have an error in evaluation, grab the HF build below!

image


Please read the change log!


(Incorporates Internal Builds 4.13.1-rc0 to 4.13.1-rc9)

(Incorporates Internal Builds 4.14.0-rc0 to 4.14.0-rc4)

(Incorporates Internal Builds 4.14.1-rc0 to 4.14.1-rc2)


Due to there now being a limit on the length of our changelog reports they will be mirrored at our OutFox Wiki.

PLEASE, IF YOU FIND ANY BUG IN OUR GAME REPORT IT EITHER BY MAKING A ISSUE ON OUR BUG TRACKER REPOSITORY OR IN OUR DISCORD SERVER, WE WON'T BE ABLE TO FIX BUGS THAT ARE NOT REPORTED TO US!

HOTFIX BUILD:

  • ❕✅ Fixed bug with SSC files inexplicably failing to show in the music wheel
  • ❕✅ Fixed bug in legacy code that prevented some older .SM files from showing
  • ❕✅ Fixed bug with missing videos
  • ❕✅ Fixed bug with BGA missing when simfile author didn't add the video file to the .sm/.ssc as to the standard specification
  • ❕✅ Fixed bug with #DESCRIPTION in .SSC files not parsing correctly due to a 'StepMania Thing' quirk
  • ❕✅ Fixed bug with #CHARTNAME in .SSC files not parsing correctly due to a 'StepMania Thing' quirk

New Versioning, folders, and a short news update.

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.

If you are using using Simply Love please follow the guide below to replace the files in the mean time.

Simply Love fixes needed for Alpha 4.14

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

Announcing a cross platform ParaPara Paradise Driver!

image

title: "Thanks to eks-d parapara for the image! (https://paramania.kirakira.org/ has an OutFox supported theme!)"


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!


KNOWN ISSUES: Alpha 4.14.0

  • ❕❌ ISSUE Playing 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!
  • ❕❌ ISSUE gh mode: Some charts may cause a crash when loaded into the game
  • ❕❌ ISSUE gddm/gdgf mode: We do not support the XA codec at this time, it'll play those keysounds silently.

ALL:

Mode Specific

  • ❕✅ taiko: New Added TJA parser support!
  • ❕✅ taiko: New Added TJA note type support
  • ❕✅ taiko: New Added TJA #BPM adjustment support
  • ❕✅ taiko: New Added math and base 4 measure support to TJA parser
  • ❕✅ taiko: New Added multi-chart support in TJA parser
  • ❕✅ taiko: New Added OTO taiko SV (scroll gimmick) support
  • ❕✅ taiko: New Added OTO taiko multi-chart in one folder support
  • ❕✅ taiko: Fixed crash in TJA parser on some linux distros
  • ❕✅ taiko: Fixed ratio overflow on OTO taiko mode
  • ❕✅ taiko: Fixed crash with older community TJA files (pre 2014 era)
  • ❕✅ taiko: Adjusted drum hitsounds on taitai noteskins to be more accurate
  • ❕✅ taiko: Adjusted the drum hitsounds to be less laggy when rapid hitting
  • ❕✅ taiko: Finished OTO Taiko Note Parsing (we now can read everything, though holds/balloon are single notes at the moment)
  • ❕✅ pump: Fixed PIU loader crash
  • ❕✅ pump: Fixed bug with some .SM and .SSC breaking the cache
  • ❕✅ pump: Fixed bug with pump (.sm/.ssc/.ksh) files snapping to completed on start
  • ❕✅ pump: Fixed bug with pump charts showing a negative song length
  • ❕✅ pump: Fixed bug with pump charts being set a 2 second chart length
  • ❕✅ pump: Fixed bug with 'extended' pump charts (longer than 9:59) not being parsed
  • ❕✅ pump: Fixed bug with pump charts with no set song length from crashing the game
  • ❕✅ pump: Fixed bug with pump charts being set an invalid steps seconds value
  • ❕✅ pump: 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 wheels
  • ❕✅ pump: Fixed legacy bug with the KSF loader causing songs to end early
  • ❕✅ kbx: New Added OTO mania SV (scroll gimmick) support, Warps to come
  • ❕✅ kbx: Fixed bug with bad osu charts crashing the game (Thanks Yuki)
  • ❕✅ kbx: Fixed initial scroll flags for o!mania charts
  • ❕✅ kbx: Fixed inverse math algorithm on gimmicks so they aren't back to front
  • ❕✅ kbx: Fixed 'correction' and 'chapter' timing points on o!mania charts (Thanks Matthew - The Lagger)
  • ❕✅ kbx: Fixed lane math overflow in the QUA parser
  • ❕✅ kbx: Fixed some 7K holds being skipped in the QUA parser
  • ❕✅ kbx: New Added SV support to QUA parser
  • ❕✅ kbx: Fixed songs with different steps lengths from ending at odd times
  • ❕✅ kbx: Fixed math overflow on some o!mania gimmicks
  • ❕✅ kbx: Fixed math for OTO parser, scroll gimmicks and such now work
  • ❕✅ kbx: New Added scroll factor support to QUA parser
  • ❕✅ kbx: Fixed crash on OTO/QUA parsing of osu/osz and qua/qp files when loading a mix of archives and non-archives
  • ❕✅ kbx: Fixed punishment with hold mashing
  • ❕✅ kbx: Made lift holds less harsh
  • ❕✅ kbx: New Added KBX 16/17/18/19 lane support!
  • ❕✅ kbx: Fixed noteskin support for new KBX 16-19 lanes
  • ❕✅ kbx: Fixed kbx noteskin crash - thanks hanubeki
  • ❕✅ kbx: Fixed kbx column layout for 16K / 18K - thanks hanubeki
  • ❕✅ para: New cross platform Para Para Paradise Controller Driver!
  • ❕✅ stepstage: Make stepstage available on editor
  • ❕✅ dance: Fixed bug with Hashsplit and SSC hashing
  • ❕✅ dance: Fixed quirk with some SSC cache files for old SM5 era modfiles
  • ❕✅ dance: New Rewrote and optimised the SSC loader
  • ❕✅ dance: Fixed Memory leak with writing SSC files for the cache
  • ❕✅ dance: Fixed potential infinite loop on some dance songs causing crash
  • ❕✅ dance: Fixed crash with dance charts when selecting different styles
  • ❕✅ dance: Fixed scoring and correct ITG windows in timing.lua
  • ❕✅ dance: Fixed DDR Ace timing in timing.lua
  • ❕✅ dance: Fixed bug with missing split-timing checks
  • ❕✅ dance/smx: Fixed 'REQUIRE_STEP_ON_MINES' logic, thanks to din
  • ❕✅ techno: Fixed crash when using 4k 5k 8k 9k interchangeably
  • ❕✅ all: Fixed Notedata memory leak on SSC files when initial loading
  • ❕✅ all: Fixed crash on parsing when loading more than 9000 SSC files
  • ❕✅ all: Fixed crash on parsing when loading more than 3000 non-SSC files
  • ❕✅ all: Fixed crash on music wheel when going through SSC/SM files
  • ❕✅ all: Fixed bug with some crashes on non-SSC files having no or missing preview songs/sounds
  • ❕✅ all: Fixed bug with some po-mu/be-mu/gddm/pump/ charts ending after < 2 seconds of starting
  • ❕✅ all: Fixed bug with songlength math overflow on some pump/osu charts
  • ❕✅ gh: Allowed gh charts to be genned for styles
  • ❕✅ po-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 ground
  • ❕✅ po-mu: Fixed playback on 3 lane charts being shifted to channel 12
  • ❕✅ po-mu: Fixed parsing of 3 lane charts
  • ❕✅ po-mu: New pomu-nine-double support
  • ❕✅ po-mu: New pomu-nine-double native parsing from BME/PMS files
  • ❕✅ po-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 time

Engine

  • ❕✅ Fixed Charts with similar difficulties in a folder having scores assigned to them weirdly, due to the old SM paradigm.
  • ❕✅ Fixed Charts with different song lengths being finished at wrong times due to the audio of the main song being incorrect.
  • ❕✅ New OutFox branded init screens, bye bye Team Rizu!
  • ❕✅ Fixed selection reset on 2 player confirmation on the music wheel, closes #489
  • ❕✅ Added TimingData support to 'PlayMusicPart()'
  • ❕✅ Fix missing Localised 'Exit' on OptionsRow - will need to be added to the other langs
  • ❕✅ Fixed bug with some sextet streams missing
  • ❕✅ Fixed bug with chart audio being forced on selected song
  • ❕✅ Allowed PlayerState() access from Def.NoteField()
  • ❕✅ Added new mouse support to miniSDL's aux handler
  • ❕✅ Fixed missing finger presses
  • ❕✅ Fixed alignment issues with Boxy noteskins
  • ❕✅ New Added Cubeism Framework
  • ❕✅ Fixed Excessive memory use on parsing songs - wipe cache and prefs for this one!
  • ❕✅ Added new minisdl aux driver access to lua for proper mouse/touchscreen support
  • ❕✅ Add new modstring aliases
  • ❕✅ New Added new CA (ConstAverage) mod to the game
  • ❕✅ New Added new skeleton for CX (ConstMultiplier) mod, math to be added, (not finished yet)
  • ❕✅ Fixed double note loading being called causing lag on music wheels
  • ❕✅ Fixed bug with bad AMod initialisation
  • ❕✅ Fixed bug with crashing on enumhelper
  • ❕✅ Fixed Mismatched charthash generation
  • ❕✅ Fixed cache not being generated with hashkeys that the game recognised
  • ❕✅ Fixed hash generation on SSC
  • ❕✅ Fixed bug in loading window that slowed down chart loading and memory use
  • ❕✅ Fixed bug with Centered1Player on course mode
  • ❕✅ Fixed bug with missing BGA calls on several notes loaders
  • ❕✅ Fixed bug with FGA/BGA data being written to cache but not being used
  • ❕✅ Fixed missing FG commands that broke a few modfiles
  • ❕✅ Fixed a few things with textentry (highlight/clipboard/etc)
  • ❕✅ Fixed bug with font size on music wheel for subtitle
  • ❕✅ Fixed bug with BG/FG screens not being correctly called on some mod files
  • ❕✅ Updated libjson (SM#2188) and added OutFox patches
  • ❕✅ Fixed TextEntry overflow support
  • ❕✅ New Added GameSoundManager:GetMusicPath()
  • ❕✅ Fixed bug with odd offsets and fSongBeat() at the beginning of gameplay
  • ❕✅ New Added TextEntry:Clear()
  • ❕✅ Fixed bug with missing mine count on modes other than dance
  • ❕✅ Added FoxClock() snippets for frame calc
  • ❕✅ Added new max()/min() functions to support newer types
  • ❕✅ Fixed math with flow operations causing stutters on newer gpu drivers (500+ for nvidia/21.6+ for AMD)
  • ❕✅ Fixed CMake issues and we are now 0.4.14 - 5.3 is gone
  • ❕✅ Fixed bug with root access - #SM2187
  • ❕✅ Fixed bug with sorting by song length returning garbage - #SM2192
  • ❕✅ Fixed bug with resorting sections when not required - #SM2193
  • ❕✅ Fixed bug with not reporting 'OutFox' in PRODUCTFAMILY
  • ❕✅ Fixed bug in BeatBarsDistanceDraw() for reverse points
  • ❕✅ Fixed bug with missing legacy high scores

*Editor:

  • ❕✅ Begin work on new side information text layout
  • ❕✅ Added option to toggle chart autosaving
  • ❕✅ Added "Set Current Section as Attack Time"
  • ❕✅ Fixed Stop highlight colour
  • ❕✅ Restored text information for this release
  • ❕✅ Increased editor movement speed when holding button
  • ❕✅ Moved "Record Mode Lean In" and "Clear Prompt Threshold" to Editor settings.
  • ❕✅ Marginal system for beat bar drawing during editing (To become a setting later)
  • ❕✅ Changed button combination for Screenshot in MacOS (CMD + F12)
  • ❕✅ Converted Record Note data into a pointer, fixes the missing visual representation during record.
  • ❕✅ Added notefield zoom scaling via the mouse wheel
  • ❕✅ Added support for adding Note Group types for Taitai and StepStage
  • ❕ Reverted change for play selection
  • ❕✅ Meter editing in chart now support floating numbers
  • ❕ Added Lua hooks: IsStepTiming, SetSnapMode, ChangeToStepTiming, SetHighlightSelection, SetBPM, SetStop, SetDelay, SetWarp, SetLabel, SetTickCount, SetScroll, GetEditorPosition Note: These Lua hooks can be subject to change.

*Windows 7+:

  • ❕✅ Fixed bug in ParaPara Controller on windows 11 not detecting input
  • ❕✅ Removed deprecated Win32_Para driver
  • ❕✅ Removed broken Legacy Mouse from Win32_Legacy Driver
  • ❕✅ Fixed bug with Windows 10 & 11 low level window potentially trying to triple buffer due to latest update
  • ❕✅ Fixed bug with Focus glitches on win32 legacy due to Nvidia 5xx drivers
  • ❕✅ Fixed bug with Windows 98 era calls being used for some window options
  • ❕✅ Fixed 2004 era bug with redundant code causing stutters on windows 11
  • ❕✅ Fixed bugs with missing delete commands in uninstaller. Closes #498

Linux:

  • ❕✅ Fixed GLAD static libraries for Linux

MacOS (Universal):

  • ❕✅ Fixed bug with M1 Macs forgetting the para controller is plugged in

ARM32/ARM64: (Raspberry Pi etc)

  • ❕✅ Fixed GLAD generation causing issues on RPi 3/4

Community content


Other

  • ✅ Added OutFox category to the LuaDocs XML

Noteskins

  • ✅ New default noteskin for kbx
  • ✅ New default noteskin for smx
  • ✅ New o2jous noteskin for kbx
  • ✅ New orbital noteskin for kbx
  • ✅ New orbular noteskin for kbx
  • ✅ New retrobar noteskin for kbx
  • ✅ New retrobar-iidx noteskin for kbx
  • ✅ New retrobar-o2jam noteskin for kbx
  • ✅ New retrobar-razor noteskin for kbx
  • ✅ New retrobar-razor_o2 noteskin for kbx
  • ✅ New coloured mine sprites for cat/bun noteskin for po-mu

Judgments

  • ❕✅ Added KBX / BMS judgments from MDR
  • ❕✅ Added Infinitesimal judgments

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)