Update:
Download Win32 [ setup | 7z ]
Download Win64 [ setup | 7z ]
Download Linux [ setup | 7z ]
Download Android [ apk ]
Visit the topics for the Android version and the Shader edition for more information.
Goodies:
Download the Dreamcast Pack: rvgl_dcpack.zip (not updated this time, latest version: 18.0720a)
Download the Soundtrack: soundtrack.zip
Download the Controller Map Android app: rvgl_controller_map.apk
More about the update and RVGL: changelog | docs
Full game downloads are available at distribute.re-volt.io.
MIDI and SVG Support:
SVG is now one of the supported texture formats.
There is also experimental support for MIDI music playback using FluidSynth. The Windows releases come with libfluidsynth-1.dll, while on Linux, you need the fluidsynth (1.x) package. The recently released FluidSynth 2 series is not supported yet. You also need to download one of the available SoundFonts and place it in the soundsfonts folder (create one if not present), with the name default.sf2.
There is room for further improvement:
- The path soundfonts/default.sf2 is currently hardcoded. It is planned to support multiple soundfonts sourced from the soundfonts folder.
- Soundfonts are loaded / unloaded along with the stream, which can result in a short freeze when playback starts. They should instead be loaded once at game start.
- FluidSynth 2.x support.
Graphics Updates:
- Shader renderer is now the default. For existing installations, enable it by setting Shaders = 1 in rvgl.ini. The legacy render can be activated with -noshader.
- Shader renderer is compatible with tracks having large number of texture animation pages, like Slippery Slope. (#252)
- V-sync is on by default on new installations.
- Particles option in Render Settings is improved: it now affects Spark Generators too. Also, Spark Generators are now handled properly by visiboxes. (#280)
- TEXTUREPROPS colorkey attribute behaves more consistently across legacy and shader modes. When this attribute is unset, 24-bit bitmaps no longer have pure-black transparency in legacy mode. (#289)
- Adaptive icons support for Android Oreo and above.
- Added FLAC playback support.
- FPU / NEON optimizations enabled on aarch64 and x86[_64] architectures.
- Vorbis Integer decoder (Tremor) and MPG123 fixed-point mode used on 32-bit armeabi and armeabi-v7a.
- Device Back button can be used for menu navigation, pausing the game and to skip intro screens.
- Resolved various issues in Controller Settings that affected joysticks and controllers. (#248)
- Controller Map utility: Available as a separate optional download, this app allows you to generate SDL GameController mappings for your controllers interactively. The mappings are saved to a log file at profiles/gamecontroller_log.txt. You can then add the mappings to profiles/gamecontroller_db.txt.
- The game now statically links to libstdc++, allowing it to run on old distros with an outdated C++ runtime. (#252)
- Scripts included with the release are now heavily optimized and several parts simplified. The fix_cases script replaces syscalls with native Bash 4 functionality and hence, file name checking is almost instantaneous on large folder trees.
- The setup script asks for Yes/No confirmation to proceed. It also ensures that the applications path (~/.local/share/applications) exists.
- Most libraries provided with the game have been upgraded: SDL_image 2.0.3, OpenAL Soft 1.19.0, ENet 1.3.13, image and audio libs.
- Audio libraries now use file-name versioning.
- License files are added for each of RVGL's dependencies.
- When a Controller mapping is available, Controller Settings displays the device name specified in the mapping. The mappings are also logged.
- Keyboard Pause/Break key can be used to pause the game.
- Going back (Esc) from Create Profile screen should no longer create a profile.
- Video Settings no longer shows "Windowed" when in fullscreen and the display mode couldn't be detected.
- The "Final Lap!" text and spru were flashing alternately in a disorienting way (especially noticeable at low frame rates). This is now fixed.
- Attempt to fix audio and music not paused when they should be. (#254)
18.1020a: Add: [General] - Add license files for RVGL and its dependencies, now providing proper attribution for libraries used / included with the game - see "licenses" folder. RVGL redistributables are themselves covered by CC-BY-NC-SA. [Graphics] - SVG textures support (provided by SDL_image 2.0.3). - Android: Adaptive icons support for Oreo and above. [Audio] - Experimental support for FluidSynth (MIDI) playback. The game looks for a soundfont placed in "soundfonts\default.sf2". Not supported on Android. - Android: FLAC playback support. [Input] - Android: New "Controller Map" app that allows generating SDL GameController mappings for controllers. The mappings can be retrieved from the log at: "profiles\gamecontroller_log.txt" and added to the db file. Mod: [General] - Android: FPU / NEON optimizations enabled where applicable for aarch64 and x86 builds (eg, for image, audio decoding). - Android: Several external components are now loaded as shared objects. - Windows: Audio libs now use file name versioning (i.e., libFLAC-8.dll instead of libFLAC.dll). - Windows: Major update of provided libraries: SDL_image 2.0.3, OpenAL Soft 1.19.0, ENet 1.3.13, updated image and audio libs. - Linux: Statically link to libstdc++ (compatible with old distros). - Linux: Updated scripts. Massive optimization of 'fix_cases' script using Bash 4 globstar support and parameter expansion. Also simplified working directory resolution. The 'setup' script uses Yes / No confirmation, and ensures that the .desktop file path exists. - Updated language strings. [Graphics] - V-sync is on by default for new installations. - The shader renderer is now enabled by default. - TEXTUREPROPS colorkey attribute now has effect on legacy renderer. - Render Settings "Particles" option now has effect for spark generators. - Spark generators are now affected by visiboxes. [Audio] - Android: 32-bit armeabi and armeabi-v7a now use Integer decoding for OGG Vorbis (Tremor) and MP3 playback. [Input] - Controller Settings displays the Game Controller name when available. - Game Controller mapping is now logged to the log file. - Maximum number of supported joystick buttons is now 100 (eg, Android reports 36 buttons). - The behavior of rejecting broken axes at Controller Config menu is restored for legacy joysticks. - Ensure flush upon joystick remove to prevent stray inputs from a removed controller. - Android: Support for Back button on the device to pause the game, skip the intro screens, etc. - Support for Keyboard Pause / Break button to pause the game. Fix: [General] - Fix profile created upon going back from Create Profile screen. Also simplified the "Profile Already Exists" message string. [Graphics] - Windows Setup: Fix font creation flags to use sans serif. - Fix display mode showing "Windowed" in fullscreen. Now shows "Unknown" if mode cannot be detected. - Fix HUD radar spru size in split-screen and touch modes (long car names touching the border). - Fix "challenge beaten" and "final lap" message text and spru flashing unsynchronized, which can be disorienting. - Fix crash when loading levels with large number of texture animation pages in shader mode (eg, Slippery Slope). [Audio] - Fix Alure library functions that return without doing anything when an existing OpenAL error was detected. Should solve audio / music not paused. [Input] - Android: Fix various glitches in Controller Settings menu that prevented controllers from being configured. - Ensure joystick and force feedback devices are properly re-initialized (fix potential crashes).[/hide]