Releases: djyt/cannonball
Car Handling Options, Colours & More!
- Car Setup Options (selectable in Settings -> Engine -> Car Setup)
- [Car Handling] Top Speed of 352kph option.
- [Car Handling] Grippy Tyres option.
- [Car Handling] Drive offroad without losing speed option.
- [Car Handling] Strong Bumper option. Hit other cars without sliding/losing as much speed.
- [Car Colours] Eventually these will be hooked up to something interesting, but for now you simply toggle them in the menu.
- [Controls] Possible to invert analog pedal axis in config.xml
- [Bug] Fixed issue present on original hardware, where 1 horizontal line of road bleeds onto music selection and map screen fixed, when fix_bugs enabled in config.xml
- [Bug] Fixed issue present in the original game, where the passengers palettes would be incorrect on passing the finish line for 3/5 destinations.
- [Bug] Fixed a visual glitch that persisted for 1/60th of a second when passing the finish line in 60fps mode
- [High Score Entry] Possible to delete last initial (not present in original game, but enabled by default in config.xml)
- [High Score Entry] Possible to change default timeout value in config.xml
- [Music Selection] Possible to change default timeout value in config.xml
- [Shadows] Darkness increased to match hardware, as opposed to MAME. Can be toggled in config.xml
- [Menus] Reorganised menu structure. Added Freeplay and Timing Fixes to menu.
- [Roms] Support for both versions of fixed sample rom
- New Icon on Windows build
Switch & 3DS Audio Support
Overview
Good news: This release focuses on enabling the new music from the Nintendo 3DS and Nintendo Switch version to be used. This audio is in native format, rather than streamed. Yey.
Bad news: It is incredibly complex to extract the audio. And I cannot provide it for legal reasons. Boo.
I have provided a wiki page which provides a rough overview of what's involved. I'll add instructions for the 3DS release at a later date.
Please replace your old config.xml file when upgrading to this release.
What's New
- [Audio] Nintendo Switch and Nintendo 3DS Audio File Support.
- [Audio] Sample Rate can now be set in config.xml. Default frequency increased to 48Khz, which makes a difference for FM generated audio.
- [Audio] Music Test menu now supports additional audio files
- [Audio] Extra music tracks no longer replace existing audio.
- [Audio] Music selection screen auto-adjusts when new audio added with new scrolling format.
- [Bug] Fixed long-standing bug where there was a 50% chance of a blank screen when switching from 60fps to 30fps mode.
- [Techy] MML format better documented in osound.cpp source code. Additional command added to support Step On Beat.
Controller Improvements & Rumble Support
This release focuses on Controller Support & Improvements.
Please replace your old config.xml file when upgrading to this release.
- [Controllers] Basic rumble support can now be enabled from the CONTROLS menu. The strength can be adjusted. The code that controls the rumble is identical to that of the upright arcade machine motor shaker. The option will only show in the menu if your controller is supported.
- [Controllers] Auto-detection and assignment of controller buttons and axis should be much improved. I will update the manual to call out the default controls in due course. (Right trigger = accelerate, Left trigger = brake, Start = Start, Back = Menu, A = Gear Change, X = Change View, Y = Coin). These can be redefined as desired.
- [Controllers] D-Pad can be used in menus.
- [Menus] Gamepad/Joystick settings has its own menu.
- [Menus] Ensure that 'A' button on controllers can be used to select items. Analog accelerate is now only used when run via original arcade cabs as it's not optimal.
- [Rom Loader] Sped up CRC32 based loading by using a Hashmap. It was reportedly slow when used over a network.
- [Rom Loader] It is possible to switch back to the old filename loading system via a setting in config.xml
- [Config] It is now possible to change and configure the location of the 'res' directory.
Maintenance Release
This release focuses on upgrading the libraries and compilation tools CannonBall uses, as I hadn't maintained the codebase in a number of years. Most of these changes will be invisible to most users. Right now, I'm trying to get the house in order as opposed to add lots of wild new features! :)
- [audio] Audio updates at the correct rate and resolves the longstanding issue with music and sound being very slightly 'off'
- [roms] ROMs are now read by CRC 32 value. Filenames no longer matter - so long as they are present they can be renamed to anything.
- [roms] Fixed expected Z80 rom file length
- [controls] Start Button behaviour less 'sticky' and buggy
- [controls] Analog axis for accelerate and brake can now be configured via the in-built menu system
- [menu] Reduced delay when scrolling through menu with analog controls
- [config] ROMs and save data can be relocated to separate locations
- [bug fix] Time Trial mode no longer crashes if used as the first mode played
- [timing] Code tries to use V-Sync for timing OR internal timing, as opposed to both at once
- [source] SDL 2 used by default. SDL 1 removed from codebase. This appears to have fixed compatibility bugs for some people
- [source] Added compatibility for upcoming SmartyPi hardware (Pi 4 based) to run on original arcade hardware
- [source] A general clean-up in many areas