OutFox-alpha.4.12.0 Build - Onegai Muscle!

"Happy 2nd Anniversary, OutFox!"

Please read the change log!


(Incorporates Internal Builds 4.12.0-rc0 to 4.12.0-rc7)

(Incorporates Internal Builds 4.11.1-rc0 to 4.11.1-rc17)

(Incorporates Internal Builds 5.0.0-editor-preview-r0 to 5.0.0-editor-preview-r31)


New Folder Locations and Short News Update.

This release will be moving the base application, folders and it's naming to 'OutFox'. This means it will not be using the 'stepmania5.3' folder anymore, and it will install into an outfox folder. You will need to move your profiles over to this new version. The old version will also need to be uninstalled manually, sorry about all of this, it is just for this update.

There is no conspiracy behind the name change, we have to do this for application signing on the Mac and for the 'MS Smart Screen' requirements for the certificates we need on Windows. This allows us to continue to be a free rhythm game that is now signed to ensure your confidence in the project, as well as ensuring the installers and packages are not tampered with. The Windows builds will be signed starting from next year, as it has taken time for the verification to complete. Our MacOS builds have been signed for a few alpha versions now, and with the 'universal' binaries we are making the Mac experience better for our Apple Players.

With this release we are announcing that Project OutFox is becoming it's own official fork. This gives an end to the confusion about our direction and this also allows those who wish to keep 5.1 installed having no risk of OutFox over-writing or damaging profiles or stored scores.

I'd like to thank the StepMania community for making this decision a lot easier. The project is not the same as we started out in early 2019, and we are sorry we were unable to have a clearer 'direction' than just 'modernising the codebase' when we started. It is not our place to shoehorn this project into the StepMania repo, and a lot of you were very open about your feelings about that and as a result, Project OutFox will be on it's own moving forward, and we will discuss with the StepMania community about what support we can bring in the future.

This month, we start off on our journey as a new standalone project, and thus a very exciting time ahead for our team. We have a new touch based theming system coming, new online, new leader-boards, (more new modes of course!) new platforms and modernisations to come over the next year. With the 2nd anniversary of the Public Alpha Programme, the team thanks you for the support and the good vibes you have brought us as we work on this project, and we hope you'll stay with us for the rest of the journey!


Signed Mac builds update!

We have continued to work on our Mac builds since the last alpha, and this alpha will be released as a universal binary. This means we do not need to quarantine, nor worry about the systems we needed in the past to get the game to work. OutFox is fully signed and notorised, so this means installation is convenient and easy moving forward; you do not need to worry about which build to grab, as both will function as expected.


New Unicode/SHIFT-JIS support!

This build also has very long overdue extended character support in the file handlers. BeMusic Script, and DTXMania files use different encodings to .SSC and .SM simfiles, and in the past, they often showed up as garbage characters, or mojibake characters which could not be easily read into the game. A simple fix for this was to convert the simfile into UTF8, but with many hundreds of files, this is not reasonable to ask of players!

image

#### _(DTXMania Files natively loading)_

This build correctly can detect the encoding with no user interaction, and will load them as expected into the correct game mode.

The new supported encoding types are:

  • ANSI/Windows Extended (SMA/BMS/DWI/KSF)
  • SHIFT-JIS (BMS/BME/PMS/DTX/GDA/TJA)
  • UTF-8 (DTX/BME/SSC/SM/OTO)
  • UTF-8 BOM (GDA/DTX)
  • UTF-8 Extended (TJA/BME/DTX)
  • UTF-16 (DTX)
  • UTF-16LE (DTX)
  • UTF-16LE BOM (DTX)
  • UCS-2 (DTX)

This will mean songs using the new code paths for the encoding support will take a little bit longer to parse the first time, but having the support over not having it is worth it.

There will be opportunities to optimise the loading path, so it will get faster again!

image

#### _(BME files encoded in SHIFT-JIS natively loading)_

New and Updated Input Options!

ALL OS: portmidi comes out of beta!

teensyfsr

prototype fsr midi controller

teensyprototypebreadboard

This driver was written to accommodate the new DTXMania like mode, as the drum kits a lot of players use are MIDI based. This was the first time that our engine contained a fully functioning cross platform MIDI driver, the previous semi-broken win32-midi being Windows only. This new driver offers a 1ms clock timer and near realtime input on Linux and Mac OSX, but only supports one device connected to the system.

We are in the process of designing a MIDI based FSR controller for modes which need it as the MIDI system is currently the lowest latency for Windows based systems, and we hope to open source this in time, when the code is better (and Squirrel has the time!)

The reason we kept it in beta for so long was there was an identified need to have a MIDI driver capable of supporting more than one MIDI input device, as had been requested by be-mu and gddm players, like DTXMania has, being able to add a second device to enable menu control, or to enable non-standard setups, for example pedals or ride cymbals from a second kit.

To assist with this need, we added another MIDI driver to the game:

rtmidi

This driver allows for more than one device support compared to our portmidi driver, which is limited to a single device, like an e-drum kit, or a DJ controller. rtmidi allows for more than one device to be connected for 2 player use, or for extra control for menu options for example.

The new rtmidi driver can be added to your preference.ini if you wish to use it:

Windows

(portmidi - you only have one device):
InputDrivers=portmidi,legacy,minisdl

(rtmidi - you have more than one device):
InputDrivers=rtmidi,legacy,minisdl

Mac OS (M1 and Intel)

(portmidi - you only have one device):
InputDrivers=portmidi,SDL

(rtmidi - you have more than one device):
InputDrivers=rtmidi,SDL

Linux (x86_64/ARM/Raspberry Pi)

(portmidi - you only have one device):
InputDrivers=portmidi,SDL

(rtmidi - you have more than one device):
InputDrivers=rtmidi,SDL

WINDOWS: legacy set to be the default and is out of beta!

If you have been reading the previous changelogs, we have been testing a slightly modified version of the old SM4/5 input driver for those that prefer the 'feel' of that era in input timing, and until the new GA driver is finished, (we are waiting for the Q1 2022 Win10/Win11 update) we will set this driver as default from this alpha.

If you are on an established preference.ini, to use it you can follow the style above:

legacy (Windows Only)

InputDrivers=legacy,minisdl

You can also leave this blank, or add MIDI if you plan to play DTX or use a MIDI based input device in the future. You will need the minisdl input driver for your window and operating system controllers, it allows for a smaller footprint on the game, and for your windows based playback this is important at the moment. It shows up in the 'test input' screen as 'Window Handler (aux)' so you have window controls, and full-screen etc support while keeping the base drivers compact. This driver will be default on all operating systems in due course, when the GA driver is complete.

if you however need to have an Xinput supported device, or you have an advanced setup, you can reset the driver to how it was before this alpha with a simple change in your preference.ini:

SDL Driver (Windows Only)

InputDrivers=SDL

This will enable the support for the Xinput system, and the legacy system in the default theme experimental options, (the UseOldJoystickMapping one) which will allow you to switch between the options.


If you use a ParaParaParadise controller you will need to add the Para Driver (windows only right now!) before your options in preferences.

Legacy Driver (Windows Only)

InputDrivers=Para,legacy,minisdl

SDL Driver (Windows Only)

InputDrivers=Para,SDL

If you use a Reflex controller, you have several options, however it is best on Windows if you use the new legacy driver for now. To enable the Reflex controller , you need to add the following to your entry: (please note: You need legacy for keyboard input and to avoid HIDAPI problems!)

(Only one player is supported at this time, however if there is demand we can add more player support! Bug Squirrel for more information!)

Reflex Driver (Windows Only)

InputDrivers=Reflex,legacy,minisdl

If you have a Python2/3 controller, like the above set up for the Reflex you can simply add your entry here, (remember to set up your COM ports etc as seen in the Windows Device Manager) and remember that this device is not seen in Windows 8 or higher due to the change in the way USB controllers became emulated.

Windows Only

InputDrivers=Python23IO,legacy,minisdl

If you have a Rtio controller, you need to add this as the other controllers, remember that legacy gives you keyboard and mouse support.

Windows Only

InputDrivers=Rtio,legacy,minisdl

Announcing smx mode!

This month we are proud to announce initial support for the smx mode. This mode is a simulation of the game StepManiaX (https://stepmaniax.com/) by Step Revolution, and are long time friends of our project. You can join their discord here and give them some support!

We respectfully ask you to not try to rip or use official assets or songs as we want to keep the arcade scene alive and support the guys over at SMX! OutFox will not support the arcade timings or the smx sim file format, so please do not ask us for this!

This mode was planned to be an Alpha V release, but with the pandemic, and the fact many of our players with SMX pads requested it. The pads are released when ready but you can Buy the pads here! and see when they are available again.

This mode will have some of the first non-arcade charted SMX files coming in the winter update of the OutFox Serenity Pack Volume 1.5 coming soon!

image

Serenity smx charts

The game mode is best played with the itg based timing, and the layout is familiar:

image

In game footage

This mode has several cool new features with the beat bars, and with popular request we have added the colour differences to show the BPM/Stop changes on the notefield:

image

Please be aware that autoGen does work with this mode, and that we've been working on improving the memory use with the autogeneration until we have talented charters creating new content for it. Any other 5K sim-files that OutFox supports will work.


We say farewell to kb7 mode!

The mode introduced with Team SSC has been retired in this alpha. There were many players who wanted it to be more than it was, and the use of the mode was generally for a small set of players, and the original creators of the mode also wished for it to be retired as well when we got the chance.

We salute the mode and what it did for StepMania at the time when it was released, but fear not kb fans and players, we are proud to announce:

Introducing kbx Mode!

This is a revamp and rewrite of the KB7 mode, aimed at players that wanted a specific down-scrolling game mode, but with different sets of columns. We of course have varying modes with different sets and styles already, but there was no actual option to have things set in one specific place and one specific mode for it.

This mode supports 1 to 15 columns, and is a single player option. It will eventually get it's own theme and other mechanics, but for now, it will fall back to our usual theme, but this does not make it any less playable!

We have decided to follow along the play style of ez2, or o2jam style of games, but giving our own little twist on things as is common with OutFox modes. In the future, there will be options to set this mode up to how you prefer, with styles and timing/scoring available to change up and adjust as always.

There is one specific thing about this mode however, The mod system is disabled. You may be wondering why we took the time to write a 'slimmer' player options for this mode, well, in honesty there are a lot of things happening in the background we don't use in some modes, and we wanted to try out turning some of these things off to see how it works with the game and performance styles.

The default noteskin for this game is based off of a synthwave style from the 80s, and we will continue to create the theme with this aesthetic.

PLEASE NOTE: You do NOT need to turn on autoGen for this mode! The game will automatically create charts in the format and column size of supported sim files already on your system!

image

The mode comes with a variety of noteskins and features out of the box, alongside a new interface and feature!

image

This skin reads the input assigned to each column and prints it within the space for you to remember where things are. This is helpful for you to learn the mode, and to discover play methods that you are comfortable with.

The default mapping for this mode is as follows: Please bear in mind, the button layout still needs work!

kb1  = space
kb2  = f j
kb3  = f space j
kb4  = d f j k
kb5  = d f space j k 
kb6  = s d f j k l
kb7  = s d f space j k l
kb8  = a s d f j k l ;
kb9  = a s d space f j k l ;
kb10 = a w s d f j k l p ;
kb11 = a w s d f space j k l p ;
kb12 = a w s d r f j i k l p ;
kb13 = a w s d r f space j i k l p ;
kb14 = a w s e d r f j i k o l p ;
kb15 = a w s e d r f space j i k o l p ;

This set is just the auto-mapping, and as is always with OutFox everything is completely remappable, you can also assign controllers, MIDI input, drums, DJ controllers, pads etc to this and play in any way you like!

image

This is the o2jous noteskin which has the same feature that shows the keyboard mapping, but is less vibrant on the eyes.

The other news about this mode, is we have begun work on the OTO parser to enable osu & osz file support. We support the mania mode (3) at this time - (we were unable to finish the taitai (1) support in time, it will come soon!) The game reads them and can play them with synched video and bg changes, but we do not support osr or osb at this time.

You must place the files in the group folder as you would as normal with sim files from other modes. They will be created as a kbx chart type, they will NOT change over to dance or any other mode at this time! (unless you autoGen for them)

This mode supports multiple difficulty per folder, and will not make some versions 'disappear' as the old versions did, and if there are multiple different songs in the same folder, the OTO parser can read and differentiate between the chart and it's song/background, meaning you do not need to swap out anything or move stuff to individual folders. We will look into making this option available to other modes in the future. This new parser is based off of the .chart parser using line by line, splitting up each section into it's own loading function.

As we were testing this mode, many of our awesome testing players suggested that we should have a 'Lift-Hold' to 'Normal Hold' modifier, to make the game more accessible and fun as sometimes the lift-hold requirement raised the difficulty of the chart too much, or players felt overly punished by the placement of the lift holds.

This alpha has a new modifier for this, it is available on the song options -> modifiers as seen in the screenshot below. Remember to access this you need to double tap when you have selected a song on the music wheel!

image

These options give a different play style to the pink game, and makes it a lot more accessible to folks playing.

We hope you have fun with it, and do let us know what you think!


KNOWN ISSUES: Alpha 4.12.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 will 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 silent.
  • ❕❌ ISSUE Charts with similar difficulties in a folder will have scores assigned to them weirdly, due to the old SM paradigm. This will be fixed in a future update.

ALL:

Mode Specific

  • ❕✅ smx: New! Created a new smx mode!
  • ❕✅ smx: New! Added display for stops and bpm changes on the note-field
  • ❕✅ smx: New! Added new default noteskin
  • ❕✅ smx: New! Added single, double6, double10 styles
  • ❕✅ smx: New! Added 2 player support
  • ❕✅ smx: New! Adapted lift-holds to work with this mode
  • ❕✅ smx: New! Adapted minefields to work with this mode
  • ❕✅ smx: New! Adapted roll-types to work with this mode
  • ❕✅ smx: New! Added custom beat bar render distance
  • ❕✅ smx: New! Added special column spacing
  • ❕✅ kb7: New! removed kb7 mode from the game
  • ❕✅ kbx: New! Created a new kbx mode!
  • ❕✅ kbx: New! Created a new mod-less path for kbx for better performance
  • ❕✅ kbx: New! Added 1 to 15 Column style support
  • ❕✅ kbx: New! Added proper BGA/Video sync
  • ❕✅ kbx: New! Added Background 1 and 2 support
  • ❕✅ kbx: New! Added mash prevention
  • ❕✅ kbx: New! Added per-chart music support for folders with different songs inside
  • ❕✅ kbx: New! Added style support and noteskins
  • ❕✅ kbx: New! Added new bpm and segment styles
  • ❕✅ kbx: New! Adjusted offset drift with some BPM methods
  • ❕✅ kbx: New! Repurposed old KB7 noteskins, thanks shakesoda and AJ!
  • ❕✅ kbx: New! SmartGen - You do not need to turn on autogen for this mode!
  • ❕✅ kbx: New! OTO Parser for kbx for osz and osu files
  • ❕✅ kbx: New! Added Modifier option to remove lift-holds in kbx
  • ❕✅ dtx: New! Only load Unicode based simfiles on the new code paths
  • ❕✅ dance: New! def.NoteField() command for mod creators

Engine

  • ❕✅ Fixed SDL handle dereference (closes #465)
  • ❕✅ Updated base SDL libraries
  • ❕✅ Fixed SDL with OutFox patches
  • ❕✅ Fixed Reflex Driver OS calls
  • ❕✅ Fixed non-repeating input on Editor
  • ❕✅ Fixed negative position scrolling on preview
  • ❕✅ New! Add support for lift holds and mine fields to editor
  • ❕✅ Fixed lirocode causing hang on some screens in SoundWaves
  • ❕✅ Fixed bug with Out of Bounds Access Violation on some Actor calls
  • ❕✅ Fixed bug where courses could crash with an Access Violation when a course actually existed
  • ❕✅ Fixed header includes to respect Actor calls
  • ❕✅ Fixed bug with some float logic always returning true
  • ❕✅ New! ICU and Boost library to support Unicode properly
  • ❕✅ New! Meter floating point numbers display in the wheel etc
  • ❕✅ New! Groove Radar support for all note loaders
  • ❕✅ New! SimpleHold() functions to reduce load on playback
  • ❕✅ Fixed bug with math overflow in Lua, by setting lua numbers to float
  • ❕✅ Fixed bug in ArrowEffects with PlayerData being dereferenced
  • ❕✅ Reverted code optimisations to keep Simply Love and it's derivatives working as expected
  • ❕✅ Fixed bug with strings causing some themes to display rate at 0.05x
  • ❕✅ Fixed bug with some PlayerOptions functions returning a clamped value
  • ❕✅ Fixed issue with Notefield states
  • ❕✅ Fixed crash with loading empty files
  • ❕✅ New! Text entry movement and behaviour in editor
  • ❕✅ New! Fixed bug with note flashes would eat notes in editor
  • ❕✅ New! Fixed turn and long note functions in editor
  • ❕✅ New! PlayerOptionsSimple() a mod-less option for modes which are not gimmick based
  • ❕✅ New! Optimise and streamlined the note loading system for the modes which need them
  • ❕✅ Fixed bug with song offset causing crashes
  • ❕✅ Fixed hang with new parser and longer than 12second introductions before first note
  • ❕✅ Fixed slow parsing speed with new code, it needs more work
  • ❕✅ Fixed bug with cmake properties
  • ❕✅ Fixed bug with banner disappearing on some charts in smzip/osz files
  • ❕✅ New! Added Tags support for future search options
  • ❕✅ New! Added game type next to stage count on screen select music
  • ❕✅ Fixed bug with floating point numbers displaying oddly on themes

Windows 7+:

  • ❕✅ Fixed Reflex Driver breaking on latest Windows 10 update
  • ❕✅ Fixed Sound device truncation in Win 8+

Linux:

  • ❕✅ Fixed L-Tek Dance pad missing on *Ubuntu and Debian
  • ❕✅ Fixed Cobalt Flux Dance pad missing on *Ubuntu and Debian

MacOS (Universal):

  • ❕✅ Fixed L-Tek Dance pad missing on MacOS Sierra/High Sierra

ARM32/ARM64: (Raspberry Pi etc)

  • ❕✅ Fixed L-Tek Dance pad missing on MacOS Sierra/High Sierra
  • ❕✅ Fixed bug with newer boards crashing with hashing
  • ❕✅ Fixed compiling with newer tomCrypt
  • ❕✅ Fixed bug with the new Unicode support crashing TwisterOS and Armbian OSs

Community content


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

Theme

  • ✅ Remove ScreenStageInformation from Soundwaves to further streamline transition to gameplay.

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)