Giter Site home page Giter Site logo

craftyawesome / ringracers-switch Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kartkrewdev/ringracers

1.0 0.0 0.0 165.84 MB

License: GNU General Public License v2.0

Shell 0.24% C++ 23.02% C 75.30% Objective-C 0.07% Java 0.03% Assembly 0.65% Makefile 0.19% HTML 0.02% CMake 0.44% Batchfile 0.05%

ringracers-switch's Introduction

Dr. Robotnik's Ring Racers

Dr. Robotnik's Ring Racers logo

Dr. Robotnik's Ring Racers is a kart racing video game originally based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2, itself based on a modified version of Doom Legacy.

Ring Racers' source code is available to users under the GNU General Public License version 2.0 or higher.

This is a port for the Nintendo Switch.

Install Instructions

  1. Have a switch that can run homebrew
  2. Download the zip from releases
  3. Extract to the root of the SD card.
  4. Start via a game (not album or another applet)

Update instructions

Extract the new zip to the root of the SD card and overwrite any changes. Revisions for only the switch likely only need to update the nro in switch/RingRacers (see the release notes)

Notes

  • It takes a while to boot up, longer than SRB2/kart do.
  • Increase the CPU clock with something like sys-clk. It helps framerates significantly, which is needed to get modes with multiple racers to a playable framerate.
  • Legacy GL is not very stable, especially with multiple racers. Consider using software only.
  • I would recommend a resolution of 708x400 under software, and 800x450 for less complex tracks or one racer. Legacy GL can handle larger at similar framerates.
  • Buttons match the Xbox controller layout. (A and B are swapped, X and Y are swapped)

Links

Disclaimer

Dr. Robotnik's Ring Racers is a work of fan art made available for free without intent to profit or harm the intellectual property rights of the original works it is based on. Kart Krew Dev is in no way affiliated with SEGA Corporation. We do not claim ownership of any of SEGA's intellectual property used in Dr. Robotnik's Ring Racers.

Development

Building from Source

Ring Racers is built using a compatible C++ toolchain (GCC, MinGW, Clang and Apple Clang as of this writing), CMake, and Microsoft vcpkg. The compiler and runtime libraries must support the ISO C++17 standard and ISO C11 standard.

On Linux platforms, you will need the following libraries available on the system.

  • libcurl
  • zlib
  • libpng
  • libogg
  • libvorbis
  • libvpx
  • libyuv
  • SDL2

On Windows and macOS, you will need to install vcpkg instead to build these dependencies alongside the game.

To configure and build the game, there are CMake presets (declared in CMakePresets.json). These presets require the ninja build script tool in addition to cmake and your C++ toolchain. Here is a non-exhaustive list of them:

  • ninja-debug: non-optimized, assertions enabled
  • ninja-develop: optimized, assertions enabled
  • ninja-release: optimized
  • ninja-x86_mingw_static_vcpkg-debug
  • ninja-x86_mingw_static_vcpkg-develop
  • ninja-x86_mingw_static_vcpkg-release
  • ninja-x64_osx_vcpkg-debug
  • ninja-x64_osx_vcpkg-develop
  • ninja-x64_osx_vcpkg-release
  • ninja-arm64_osx_vcpkg-debug
  • ninja-arm64_osx_vcpkg-develop
  • ninja-arm64_osx_vcpkg-release

These presets depend on the VCPKG_ROOT environment variable being specified before the first run of the cmake command. Their build directories are pre-configured as subdirectories of build/.

After all prerequisites are set-up, configure and build using the following commands, adjusting according to your target system:

cmake --preset ninja-x86_mingw_static_vcpkg-develop
cmake --build --preset ninja-x86_mingw_static_vcpkg-develop

Switch

With a standard switch development enviroment and the relevant dependencies, run the follownig to generate the nro.

cmake --preset switch-release
cmake --build --preset switch-release 

switch-develop and switch-debug are also available and have nxlink enabled by default. If you want nxlink and no LTO in the release build run this command in between configuring and building.

cmake -U CONFIG_LTO -DSRB2_CONFIG_NXLINK:BOOL=true --preset switch-release

Contributing

We welcome external contributions from the community. If you are planning on making a large feature you intend to contribute to the project, please consider reaching out to us in the Kart Krew Dev public Discord server so we can coordinate with you.

Our primary source repository is hosted on the SRB2 Gitlab. The Github repository is a mirror of this. If you submit a Pull Request to the Github repository, please keep in mind that we do not consistently monitor that mirror and may not see your request.

All contributions must be made available under the GPL General Public License version 2.0, or public domain. Integrations for third party code must be made to code which is compatibly licensed.

ringracers-switch's People

Contributors

tehrealsalt avatar toasterone avatar jameds avatar monsteriestyn avatar mazmazz avatar alama avatar lactozilla avatar steelt1 avatar mascarasnakesrb2 avatar hybrideidolon avatar sryder13 avatar lachablock avatar ljsonik avatar wolfy852 avatar nevur avatar tyronesama avatar kscl avatar goldentails avatar seventhsentinel avatar goosevali avatar yukitty avatar ninesphere avatar choalover avatar ashnal avatar tatsuruikr avatar alexmsexe avatar redenchilada avatar hazepastel avatar craftyawesome avatar zwipzwapzapony avatar

Stargazers

AlM avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.