You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -18,112 +18,39 @@ A complete decompilation of Retro Engine v3.
18
18
19
19
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). Note that only FMV files from the original Steam release of the game are supported; mobile and Origins video files do not work.
20
20
21
-
# Advantages over the PC version of Sonic CD
22
-
* Sharp, pixel-perfect display.
23
-
* Controls are completely remappable via the settings.ini file.
24
-
* The window allows windows shortcuts to be used.
25
-
* Complete support for using mobile/updated scripts, allowing for features the official PC version never got to be played on PC.
26
-
* Native Windows x64 version, as well as an x86 version.
27
-
28
-
# Advantages over the Mobile versions of Sonic CD
29
-
* The rendering backend is based off the PC version by default, so palettes are fully supported (Tidal Tempest water in particular).
30
-
31
-
# Additional Tweaks
32
-
* Added a built in mod loader and API, allowing to easily create and play mods with features such as save file redirection and XML GameConfig data.
33
-
* There is now a settings.ini file that the game uses to load all settings, similar to Sonic Mania.
34
-
* The dev menu can now be accessed from anywhere by pressing the `ESC` key if enabled in the config.
35
-
* The `F12` pause, `F11` step over & fast forward debug features from Sonic Mania have all been ported and are enabled if `devMenu` is enabled in the config.
36
-
* A number of additional dev menu debug features have been added:
37
-
*`F1` will load the first scene in the Presentation stage list (usually the title screen).
38
-
*`F2` and `F3` will load the previous and next scene in the current stage list.
39
-
*`F5` will reload the current scene, as well as all assets and scripts.
40
-
*`F8` and `F9` will visualize touch screen and object hitboxes.
41
-
*`F10` will activate a palette overlay that shows the game's 8 internal palettes in real time.
42
-
* If `useSteamDir` is set in the config (Windows only), the game will try to load savedata from Steam's `userdata` directory (where the original Steam version saves to).
43
-
* Added the idle screen dimming feature from Sonic Mania Plus, as well as allowing the user to disable it or set how long it takes for the screen to dim.
44
-
45
-
# How to Build
46
-
47
-
This project uses [CMake](https://cmake.org/), a versatile building system that supports many different compilers and platforms. You can download CMake [here](https://cmake.org/download/). **(Make sure to enable the feature to add CMake to the system PATH during the installation!)**
48
-
49
-
## Get the source code
50
-
51
-
In order to clone the repository, you need to install Git, which you can get [here](https://git-scm.com/downloads).
If you've already cloned the repo, run this command inside of the repository:
57
-
```git submodule update --init --recursive```
58
-
59
-
## Getting dependencies
60
-
61
-
### Windows
62
-
To handle dependencies, you'll need to install [Visual Studio Community](https://visualstudio.microsoft.com/downloads/) (make sure to install the `Desktop development with C++` package during the installation) and [vcpkg](https://learn.microsoft.com/en-us/vcpkg/get_started/get-started?pivots=shell-cmd#1---set-up-vcpkg) (You only need to follow `1 - Set up vcpkg`).
63
-
64
-
After installing those, run the following in Command Prompt (make sure to replace `[vcpkg root]` with the path to the vcpkg installation!):
65
-
-`[vcpkg root]\vcpkg.exe install glew sdl2 libogg libtheora libvorbis --triplet=x64-windows-static` (If you're compiling a 32-bit build, replace `x64-windows-static` with `x86-windows-static`.)
66
-
67
-
Finally, follow the [compilation steps below](#compiling) 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`.
68
-
- Make sure to replace each instance of `[vcpkg root]` with the path to the vcpkg installation!
69
-
- If you're compiling a 32-bit build, replace each instance of `x64-windows-static` with `x86-windows-static`.
70
-
71
-
### Linux
72
-
Install the following dependencies: then follow the [compilation steps below](#compiling):
- Your favorite package manager here, [make a pull request](https://github.com/RSDKModding/RSDKv3-Decompilation/fork)
78
-
79
-
### Mac
80
-
Follow the build instructions [here.](./dependencies/mac/README.md)
81
-
82
-
### Android
83
-
Follow the android build instructions [here.](./dependencies/android/README.md)
84
-
85
-
## Compiling
86
-
87
-
Compiling is as simple as typing the following in the root repository directory:
88
-
```
89
-
cmake -B build
90
-
cmake --build build --config release
91
-
```
92
-
93
-
The resulting build will be located somewhere in `build/` depending on your system.
94
-
95
-
The following cmake arguments are available when compiling:
96
-
- Use these by adding `-D[flag-name]=[value]` to the end of the `cmake -B build` command. For example, to build with `RETRO_DISABLE_PLUS` set to on, add `-DRETRO_DISABLE_PLUS=on` to the command.
97
-
98
-
### RSDKv3 flags
99
-
-`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`.
100
-
-`RETRO_FORCE_CASE_INSENSITIVE`: Forces case insensivity when loading files. Takes a boolean, defaults to `off`.
101
-
-`RETRO_MOD_LOADER`: Enables or disables the mod loader. Takes a boolean, defaults to `on`.
102
-
-`RETRO_USE_HW_RENDER`: Enables the Hardware Renderer as an option. Takes a boolean, defaults to `on`.
103
-
-`RETRO_ORIGINAL_CODE`: Removes any custom code. *A playable game will not be built with this enabled.* Takes a boolean, defaults to `off`.
104
-
-`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`.
105
-
106
-
## Unofficial Branches
107
-
Follow the installation instructions in the readme of each branch.
108
-
* For the **Nintendo Switch**, go to [heyjoeway's fork](https://github.com/heyjoeway/Sonic-CD-11-Decompilation).
109
-
* For the **Nintendo 3DS**, go to [SaturnSH2x2's fork](https://github.com/SaturnSH2x2/Sonic-CD-11-3DS).
110
-
* A New Nintendo 3DS is required for the game to run smoothly.
111
-
112
-
Because these branches are unofficial, we can't provide support for them and they may not be up-to-date.
113
-
114
-
## Other Platforms
115
-
Currently the only supported platforms are the ones listed above, however the backend uses libogg, libvorbis, libtheora & SDL2 to power it (as well as tinyxml2 for the mod API), so the codebase is very multiplatform.
116
-
If you're able to, you can clone this repo and port it to a platform not on the list.
117
-
118
-
# FAQ
119
-
You can find the FAQ [here](./FAQ.md).
120
-
121
-
# Special Thanks
122
-
*[Xeeynamo](https://github.com/Xeeynamo): for creating the RSDK Animation editor & an early version of the script unpacker, both of which got me into RSDK modding.
123
-
*[Sappharad](https://github.com/Sappharad): for making a decompilation of the Windows Phone 7 version of Sonic CD (found [here](https://github.com/Sappharad/rvm_soniccd)) which gave me the idea & motivation to decompile the PC/iOS/Android versions.
124
-
*[SuperSonic16](https://github.com/TheSuperSonic16): for creating & adding some stuff to the Sonic CD mod loader that I asked for.
125
-
*[The Weigman](https://github.com/TheWeigman) for creating the header you see up here along with similar assets.
126
-
* Everyone in the [Retro Engine Modding Server](https://dc.railgun.works/retroengine) for being supportive of me and for giving me a place to show off these things that I've found.
127
-
128
-
# Contact:
129
-
Join the [Retro Engine Modding Discord Server](https://dc.railgun.works/retroengine) for any extra questions you may need to know about the decompilation or modding it.
21
+
# 3DS Port
22
+
## Features
23
+
- Built on recent decomp source, as of Feb 2025
24
+
- Both Old and New 3DS supported
25
+
- Fast hardware (GPU) rendering by default
26
+
- (NEW) Software renderer supported, but slow special stages on N3DS, and slow in general on O3DS
27
+
- (NEW) FMV playback (Currently slow on O3DS and choppy on N3DS, use ffmpeg to scale down OGVs)
28
+
- (NEW) Mod support, set up and install them as you normally would
29
+
- Stereoscopic 3D support (hardware renderer only)
30
+
- Remappable keys in settings.ini (uses [bitmasks](https://github.com/devkitPro/libctru/blob/master/libctru/include/3ds/services/hid.h) from libctru)
31
+
- Access dev menu at any time by pressing SELECT
32
+
33
+
## Setup
34
+
-[Dump dspfirm.cdc](https://github.com/zoogie/DSP1/releases) from your 3DS, make sure it's at `sdmc:/3ds/`. This is necessary for audio to work.
35
+
- For the best experience, use Data.rsdk from the official mobile version and place it at `sdmc:/3ds/SonicCD/`.
36
+
- For the best experience, copy the decompiled scripts from [here](https://github.com/RSDKModding/RSDKv3-Script-Decompilation) to `sdmc:/3DS/SonicCD/Scripts/`.
37
+
- Make sure to set `TxtScripts` in settings.ini to `true` after doing this.
38
+
- (Optional) To slightly improve loading times, [extract Data.rsdk contents](https://forums.sonicretro.org/index.php?threads/rsdk-unpacker.30338/) to `sdmc:/3ds/SonicCD/Data/`.
39
+
- Make sure Data.rsdk itself is removed from `sdmc:/3ds/SonicCD/` or set `DataFile` in settings.ini to blank.
40
+
- (Optional) For FMV playback, copy the `videos/` folder from the original Steam release to `sdmc:/3ds/SonicCD/`.
41
+
- To ensure the best playback performance, scale down the OGV files to 400x240 using ffmpeg:
0 commit comments