Sunday, December 30, 2012

Cannonball 0.13 - Custom Music, Menu System & More

Cannonball 0.13 is out!
There are a lot of changes, so it's possible there are also bugs. Please report anything you find.

Music Customization

Configure Cannonball to play WAVs instead of using the inbuilt game music. Configure the name of the replacement tracks for full ingame integration!

Please note, I do not intend to support additional file formats like MP3. This is a decision to avoid bloating the codebase with third party libraries. Convert your files with a free audio editor like Audacity.

Menu System

Now you can configure Cannonball without editing the config.xml manually. Note that some options are only available in the config.xml though. 

High Score Saving

Scores are saved to a human editable hiscores.xml file. Edit the high score table manually!

Control Enhancements & Gamepad Support

Digital gamepads are supported. You can even change the digital sensitivity, so you can recreate the twitchy Sega Saturn conversion experience if you desire. Be sure to connect your gamepad before starting Cannonball.

All keys and joypad buttons are fully configurable.

I will support analogue whenever I buy a controller for testing. Or if you're in a hurry you can donate me one. :)

More Options & Bug Fixes

There's an app icon, ability to toggle extra level objects, fixes to the mingw compile and more. 
Check out the commit history for more detail. 

I will update the online manual tomorrow. 


yt said...

Anyone got any nice replacement OutRun sounding tunes to suggest (other than the actual remixes of the OutRun music).

Here's one I like:

Retro-Nerd said...

The new menu works great so far. Any chance that you add graphic filter/pixelshader support, especially with scanlines?

For the remake/port: Great job, i like the feel of the full 60 FPS. :-)

d from Shmups said...

Great awesome. You are the king!

ptitSeb said...

I ported the latest 0.1.3 to the OpenPandora. One word: Fantastic !!!

I haven't touch the code, I get smooth gameplay as long as I take "-Ofast" as optimization switch.
I just put some "Pandora specifics KeyCode for default", and 30fps for default (for original Pandora at 600Mhz, 30 fps is enough). I also had to add "#include in menu.cpp (or was it config.cpp), or the to_string would failed at link time. Minor things...

Again, outstanding work !

yt said...

Great work with regard to the porting - you're doing a speedy job there!

Hopefully we'll see additional ports to other systems soon.

If there are any fixes I can roll into the main code, let me know.

Would also be cool if we can get the Pandora build working with Cmake as well at some point... :)

ptitSeb said...

About Cmake, I used it this time. It worked to the linking phase. There it wanted to link SDLmain (I don't have that, a simple libSDL is enough), and also some c:\codeblabla that dosn't work. I had to edit by hand the generate link.txt... Not a big deal.

ptitSeb said...

About the #include
I have to do more check, because I have done to much change to the code to link, I have to go back and find the simplest way.

ptitSeb said...

The problem is, at link time, there is error because Config::to_string<int>(int) is undefined in menu.cpp (two times). I don't understand why, has it is well defined in config.cpp.
So I created, in menu.cpp, a std::string to_string(int i) with the exact same body as in config.cpp but without the template, added a #include <sstream> and it compiled. But I find it weird.

Unknown said...

Bah! I posted my comment on the wrong page!

Please go to the comments at the download section to see a bug I found and a possible solution to the music and map screens in ws mode.


yt said...

No worries - replied in the download section :)

Dma-Sc said...

Congratulations on your work, when emulation becomes improvement, it's just amazing.
My quest for an original cabinet "for the best experience" is just obsolete now. ;)