MCPcopy Create free account
hub / github.com/djyt/cannonball

github.com/djyt/cannonball @v0.191

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.191 ↗ · + Follow
845 symbols 1,538 edges 103 files 372 documented · 44% updated 2y agov0.34 · 2021-04-26★ 85136 open issues

Browse by type

Functions 774 Types & classes 71
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cannonball - OutRun Engine

See Reassembler Blog.

Credits

  • Chris White - Project creator.
  • Arun Horne - Cross platform work.

Getting Started

Cannonball has been successfully built for Windows, Mac OS X, Linux, Open Pandora and the Raspberry Pi.

  • Install your favourite C++ environment (e.g. GCC, Visual Studio, Xcode, MingGW etc.)
  • Install CMake. This generates your platform and compiler build files.
  • Extract the Boost Library somewhere, for example: c:\coding\lib\boost_1_51_0
  • Extract the SDL Library somewhere, for example: c:\coding\lib\SDL-1.2.15
  • Read the SDL documentation & compile the SDL Library for your system.
  • Windows only, download and install the Direct 8.1 SDK
  • Extract the Cannonball code somewhere, for example: c:\coding\cannonball
  • You may need to create a .cmake file for your system to configure specific options. See the cmake subdirectory for more details. If not, the default.cmake file will be used.

Build

  • Run CMake to generate the relevant build files for your compiler. You can optionally pass -DTARGET=filename to pass a custom .cmake file
  • Compile using your chosen compiler. Further details below.

mkdir build
cd build

Non-IDE (e.g. straight GCC)

cmake -G "Insert Generator Name Here" ../cmake
make

MinGW

cmake -G "MinGW Makefiles" -DTARGET=mingw ../cmake
mingw32-make

Visual Studio 2010

cmake -G "Visual Studio 10" ../cmake
  • Copy SDL.DLL and the roms subdirectory to the build directory.
  • Right click the 'cannonball' project in the IDE and choose 'Set as StartUp project'.
  • You can then compile, debug and run from Visual Studio as expected.

Run

  • Copy the OutRun revision B romset to the roms subdirectory. Rename the files if necessary.
  • Copy or link the roms subdirectory to whereever your executable resides.

ln -s ../roms roms
./outrun

Building SDL-1.2.15

Darwin

./configure --prefix=~/SDL-1.2.15/build --disable-assembly

MinGW

See: Setting up MSYS MinGW build system for compiling SDL OpenGL applications.

Execute the below commands from the msys environment.

./configure --prefix=/mingw --enable-stdio-redirect=no
make
make install

Core symbols most depended-on inside this repo

Shape

Method 758
Class 70
Function 16
Enum 1

Languages

C++100%

Modules by API surface

src/main/engine/audio/osound.cpp62 symbols
src/main/engine/oroad.cpp39 symbols
src/main/engine/oferrari.cpp38 symbols
src/main/engine/ocrash.cpp33 symbols
src/main/engine/oinitengine.cpp31 symbols
src/main/engine/otiles.cpp27 symbols
src/main/engine/ohiscore.cpp27 symbols
src/main/trackloader.cpp26 symbols
src/main/engine/ohud.cpp26 symbols
src/main/engine/olevelobjs.cpp25 symbols
src/main/video.cpp24 symbols
src/main/hwaudio/ym2151.cpp20 symbols

For agents

$ claude mcp add cannonball \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page