Project OutFox 0.4.18.1 released!

Happy Halloween! We’ve got a new release for you!

Project OutFox 0.4.18.x marks the beginning of the “long-term stable” (LTS) phase for the 0.4.x branch, meaning that we now consider this branch of Project OutFox to be stable, and no longer require the “Alpha” branding. All future feature development will target the alpha 0.5.x branch (also branded as “Alpha V”), but we will continue to support the 0.4.x branch with bug fixes and performance improvements until December 2023.

We will continue our monthly release schedule for 0.4.x until December 2022, after which it will move to a quarterly release schedule. This means there will be four more updates in 2023, with the last scheduled to be 0.4.24 in December 2023.

Alongside the switch to LTS status, there’s also a few major new features in 0.4.18:

New mode: bongo!

bongo is Project OutFox’s 18th game type, based on a console game first released in 2003. It has gameplay similar to taiko mode, except using a pair of bongos instead of a taiko drum, also incorporating a microphone input for clap notes.

This mode supports the same chart formats we use for taiko, so existing TJA and OSU charts can automatically be parsed and converted to bongo charts as well. Just keep in mind that existing charts may not have been authored with this gameplay style in mind, and some holds and effects do break sync, but we will be fixing these issues in time as part of our ongoing work on ``taiko`. It will also receive a dedicated theme in a later release.

We have designed this mode in collaboration with OpenTaiko, so that charts made using the new TJA letter types in the charting format will be cross-compatible moving forward.

32-bit ARM legacy build

We have added a 32-bit ARM legacy Linux build, which is designed for 32-bit boards manufactured around the 2010s (2010-2016), often with a Tegra chip, with the ARM Cortex-based processors of the time. As with our other legacy builds, it is compiled using an older glibc from the Ubuntu 14.04 era. The photo above is from community member Chriswak, showing the game running on a Jetson TK1, a Nvidia Tegra development board.

The extreme minimum requirement is a Linux distro with a glibc version of 2.19-2.21. To confirm your CXXABI and GLIBCXX versions, run the following commands;

strings /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 | grep GLIBCXX
strings /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 | grep CXXABI

If your list does not show GLIBCXX_3.4.22 and CXXABI_1.3.11, you will need to update your system to GCC 7.0 (which is still supported even on these old distros) with the following commands (add sudo or run under a root shell);

apt-get update -y 
apt-get install software-properties-common -y 
add-apt-repository ppa:ubuntu-toolchain-r/test -y 
apt-get update -y 
apt-get install gcc-7 g++-7 -y 
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7 
update-alternatives --config gcc

New PandaLog system

This month we also added a new logging system which will greatly help with any debugging needs that you have. There are now separate main, theme, crashlogs now, and these have varying levels of detail, depending on need. If you happen to have a crash or need to debug a theme or Lua script, this is now much easier to do.

You can adjust the detail of the logs by setting the LogLevel preference in Save/Preferences.ini to a number between 1 and 5, with 0 giving full detail, and 5 giving the least detail.

As we no longer follow the SM logging system, we have added a dummy info.txt to maintain compatibility with GrooveStats Launcher.

New FFMPEG system

This release also sees some changes to the FFMPEG builds used in OutFox. We had discovered there is a memory leak bug in the upstream code; while it doesn’t really affect many of the video players out there generally, the code we use to acquire and display video data is based on the functions that are bugged in newer versions, so folks using banners or video backgrounds would end up with crashing and freezes due to this.

We have reverted back to a much older ‘bug free’ build of 4.x for the time being until it is fixed upstream. If you get any quirks or errors on videos, do let us know; we tried a lot of different formats and videos commonly used, but we didn’t cover everything!

Linux joystick preference

This build adds a support option for those folks on some builds which have had evdev issues with the newer kernels (5.1 and newer) making pads not show up.

By default OutFox uses the event system, as this is recommended by distros like Ubuntu and Debian but with recent updates these can miss seeing pads and controllers.

The new preference UseLinuxJS (Use Linux JoyStick) sets /js* by default, so folks can access the controllers correctly. If you want the older behaviour, take a moment to set this to 0 in your preference.ini file in the /save folder. We will keep an eye on this for now, and if you get access denied errors, ensure your user is in the input group using a terminal:

sudo usermod -a -G input USERNAME

where USERNAME is your current user (type whoami) to see what this is in a terminal. Let us know if you have any issues, and pop into the Discord server if you need any help!

pump hold fixes

This month we have been working with the players and developers of the Infinitesimal theme for pump with fixing the hold situation in the simulation of this mode. With a lot of revisions and testing, we can happily report that the holds are operating properly now, and we are grateful to those that gave their time helping us perfect it!

Always on Top mode

We have added a new AlwaysOnTop preference, as some streamers have reported that their capture methods have issues with the game unless it is always on top. This preference.

Thanks to Zui and SHRMP0 on the Project OutFox Discord for making the suggestion known to us, and for our streamer friends for enjoying the game on different platforms.

New AllowRotation Preference

This preference was backported from alpha 0.5 as some of our users have requested support for rotational options. This preference is off by default, and allows rotation for portrait screens where the resolution/display is rotated, mainly for vertical orientations

StepLastSeconds changes

For songs which have multiple chart files in the folder, like pump, be-mu, po-mu, kbx via .osu, etc, there is a slight bug in the way the game sends the ’length' data to the theme/engine that counts stages at the moment. This is a long upstream bug and we are working on a fix in Alpha V, and will backport it when it is ready.

The issue is, if some charts are different lengths, they will show correctly in screen game-play, but only display the LONGEST length in the music wheel, or ‘ScreenSelectMusic’ as it’s known internally. Fixing this bug will also benefit other modes so it is something we want to work on.

Updated Windows installer

Last but not least, we’ve also given the Windows installer an update. We did some internal changes to how we generate and localize it, and gave it a fresh coat of paint. A Brazilian Portuguese localization has also been added.

Downloads

This is just a recap of the major, user-facing features and technical changes in this release. You can read the full changelog on the 0.4.18 page on outfox.wiki.

As always, be sure to report any bugs you encounter on either our issue tracker or Discord. Be sure to provide us with as much information as you can whenever you report an issue. We won’t be able to fix bugs that aren’t reported to us.

Download 0.4.18.1