Skip to content

HenrykRichter/Cannonball-C

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cannonball-C

See README.md for original version.

Cannonball-C is a conversion of the Cannonball source code to ANSI C. The code is intended as a base for less powerful platforms that have non-existent or poor C++ compilers, like old consoles, computers, etc.

Codebase is based on the source at https://github.com/djyt/cannonball taken early September 2015.

Credits & Support

The conversion to C was done by djcc over at the Reassembler forums (http://reassembler.game-host.org/). Lantus360 (Modern Vintage Gamer) did the initial Amiga port of the SDL codebase.

This fork by Henryk Richter is dedicated to a native AmigaOS/68k version and does no longer use SDL.

Several optimizations have been incorporated to improve runtime performance. This port re-enables the background graphics that were missing in the previous port (and runs faster, still). Nevertheless, a very fast 68k Amiga is required for somewhat decent experience.

The ingame music of this port is in Protracker format for low music runtime overhead. The tunes were contributed by Sal "KJmann" Esquivel.

Conversion and Porting Notes

- All code converted from C++ to C
- Removed STL
- Removed Boost (which disables Cannonboard support)
- Removed directx, (which disables force feedback)
- Removed SDL
- Added Picasso96 drawing layer
- replaced SDL functions for input/timing/sound by Amiga native versions
- re-enabled tile (mainly clouds) rendering
- rewrote lots of internal routines for higher performance,
  partially in 68k asm code
- due to the multiple rendering layers and the multitude of 
  sprites, this game requires very fast 68k CPU (MC68060 or Vampire)
- Vampire-specific: Scanline on/off feature, some minor AMMX optimizations

Known Issues

- not all config options are working
- music is only available in game and must be manually activated
- no sound FX supported
- MIDI code is still present but disabled at the moment

History

1.4 - new music by Sal "KJMann" Esquivel who contributed all four Outrun tunes as new arrangements. Thanks, man. - fixed music selection screen: now the previews should work. - small change in Protracker player to re-initialize the tempo correctly 1.3 - fixed a bug in Hires road rendering that led to a crash - mod music is now on by default (unless disabled by an existing config file) - explicit clear screen on video mode changes

1.2 - added support for BGR16PC format in addition to RGB16,RGB16PC - custom replacement for p96BestModeIDTagList() to fix screen selection problems on some systems (P96 V2.0/2.1, at least) - reduced screen copy overhead for slightly faster rendering 1.01- first public (binary) release

About

Cannonball for the Amiga ported to C

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 95.0%
  • Assembly 3.3%
  • Other 1.7%