Giter VIP home page Giter VIP logo

scarlet-engine's Introduction

A modded version of RSDKv4 with fan game development in mind.

SUPPORT THE OFFICIAL RELEASES OF SONIC 1 & 2

Even if your platform isn't supported by the official releases, you must buy or officially download it for the assets (you don't need to run the official release, you just need the game assets (if running the original games (Sonic 1 & Sonic 2 in this case)) ).

Additional Tweaks over RSDKv4

  • Adds the video playback from RSDKv3
  • Added all the features from every revision of RSDKv4 (REV00, REV01, REV02 & REV03)
  • Removed the 2MBs Audio limit
  • Re-adds the Disable Focus Pause that was missing from the Mobile versions of RSDKv4
  • Extra functions for the scripting language (such as RSDKv5(U)-backported functions, alongside with RSDKv3 & RSDKv2/Sonic Nexus functions)

Scarlet Engine's Compatible Games

  • Sonic 1
  • Sonic 2
  • Virtua Scarlet
  • Another Sonic Adventure
  • RSDK-GDT (Framework)

How to Build?

Both the original RSDKv4 decompilation project and this project uses CMake, a versatile building system that supports many different compilers and platforms. You can download CMake here. (Make sure to enable the feature to add CMake to the system PATH during the installation!)

Get the source code

In order to clone the repository, you need to install Git, which you can get here.

Clone the repo recursively, using: git clone --recursive https://github.com/Rubberduckycooly/Sonic-1-2-2013-Decompilation

If you've already cloned the repo, run this command inside of the repository: git submodule update --init

Follow the build steps

Windows

To handle dependencies, you'll need to install Visual Studio Community (make sure to install the Desktop development with C++ package during the installation) and vcpkg.

After installing those, run the following in Command Prompt (make sure to replace [vcpkg root] with the path to the vcpkg installation!):

  • [vcpkg root]\vcpkg.exe install glew sdl2 libogg libvorbis --triplet=x64-windows-static (If you're compiling a 32-bit build, replace x64-windows-static with x86-windows-static.)

Finally, follow the compilation steps below using -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_PREFIX_PATH=[vcpkg root]/installed/x64-windows-static/ as arguments for cmake -B build.

  • Make sure to replace each instance of [vcpkg root] with the path to the vcpkg installation!
  • If you're compiling a 32-bit build, replace each instance of x64-windows-static with x86-windows-static.

Linux

Install the following dependencies: then follow the compilation steps below:

  • pacman (Arch): sudo pacman -S base-devel cmake glew sdl2 libogg libvorbis
  • apt (Debian/Ubuntu): sudo apt install build-essential cmake libglew-dev libglfw3-dev libsdl2-dev libogg-dev libvorbis-dev
  • rpm (Fedora): sudo dnf install make gcc cmake glew-devel glfw-devel sdl2-devel libogg-devel libvorbis-devel zlib-devel
  • apk (Alpine/PostmarketOS) sudo apk add build-base cmake glew-dev glfw-dev sdl2-dev libogg-dev libvorbis-dev
  • Your favorite package manager here, make a pull request

Android

Follow the android build instructions here.

Compiling

Compiling is as simple as typing the following in the root repository directory:

cmake -B build
cmake --build build --config release

The resulting build will be located somewhere in build/ depending on your system.

The following cmake arguments are available when compiling:

  • Use these on the first cmake -B build step like so: cmake -B build -DRETRO_DISABLE_PLUS=on

Scarlet Engine flags

  • RETRO_DISABLE_PLUS: Whether or not to disable the Plus DLC. Takes a boolean (on/off): build with on when compiling for distribution. Defaults to off.
  • RETRO_FORCE_CASE_INSENSITIVE: Forces case insensivity when loading files. Takes a boolean, defaults to off.
  • RETRO_MOD_LOADER: Enables or disables the mod loader. Takes a boolean, defaults to on.
  • RETRO_NETWORKING: Enables or disables networking features used for Sonic 2's 2P VS mode. Takes a boolean, defaults to on.
  • RETRO_SDL_VERSION: Only change this if you know what you're doing. Switches between using SDL1 or SDL2. Takes an integer of either 1 or 2, defaults to 2.

Server

The multiplayer server requires Python 3.8 or later. You can download Python here. To use the server, open Command Prompt in the folder Server.py is located in, then run the command py -3 Server.py [local IPv4 address] [port] debug. You can find your local IPv4 address using the command ipconfig. Note that the C++ server found in the Server folder has been deprecated and no longer works. It has been kept in the repo for reference purposes.

FAQ

You can find the FAQ here.

Reminder this branch is unofficial, neither REMS nor the original decomp team can't provide support for this and it may not be up-to-date all the time.

Special Thanks

  • st×tic for helping me fix bugs, tweaking up my sometimes sloppy code and generally being really helpful and fun to work with on this project.
  • The Weigman for creating the header you see up here along with similar assets.
  • Everyone in the Retro Engine Modding Server for being supportive of me and for giving me a place to show off these things that I've found.

Contact:

Join the Retro Engine Modding Discord Server for any extra questions you may need to know about the decompilation or modding it.

scarlet-engine's People

Contributors

rubberduckycooly avatar sonic-geared avatar megami24 avatar stxticovfl avatar heyjoeway avatar leonx254 avatar santiagocezar avatar youngerelk1 avatar wamwoowam avatar torutheredfox avatar chunkyjackson avatar elspeththepict avatar xeeynamo avatar blawar avatar cuckydev avatar tunip3 avatar geffdev avatar sedme0 avatar emretech avatar zerothecat4564 avatar supakugaigames avatar littleplanetcd avatar consoleskunk avatar kekun avatar frozenfish24 avatar kurausukun avatar arclightmat avatar lethal-guitar avatar vanfanel avatar lavesiime 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.