ModSDK - a modding toolkit to create mods for Crash Team Racing in C. This repository also houses an effort to fully decompile and reverse-engineer CTR in C.
Go to file
Superstarxalien aaba858a76 readme update
2023-04-29 00:43:45 -04:00
psx-modding-toolchain feat(decomp): add LinkedCollideRadius function (#48) 2023-04-29 00:32:51 -04:00
.gitignore some stuff 2022-08-29 15:10:03 -04:00
lectures.txt lectures 2022-11-12 15:18:21 -05:00
README.md readme update 2023-04-29 00:43:45 -04:00

CTR-ModSDK

ModSDK. (noun) A toolkit that allows you to create mods for Crash Team Racing (1999) in C.

Contributors Discord Server

This repository also houses an effort to fully decompile and reverse-engineer CTR in C.

🏁 Modding CTR

Requirements

This SDK requires the installation of mateusfavarin's psx-modding-toolchain. You can check the repo's readme for instructions on the installation and additional documentation on its usage.

Downloading the SDK

Clone this repository:

$ git clone https://github.com/CTR-Tools/CTR-ModSDK.git

CTR-in-C

As mentioned earlier, this repository is also used for an attempt at decompiling the original CTR assembly into human-readable C code. Our decompilation targets non-matching code that still functions identically compared to the original code.

Decompile Overview

🤝 Contributing

Are you interested in contributing? Have any experience in C programming language? You're welcome to join!

How to rewrite functions:

  • Make sure you have cloned this repo and installed the requirements.
  • Choose a .c file from the ghidra folder. Each file represents a code section or category. All non-numbered .c files are parts of the main EXE while the numbered files are overlays.
  • Choose a function in that section to rewrite. Read the documentation comments on what the function does and what's the address.
  • Set up a compile folder for your rewritten function using psx-modding-toolchain. Please refer to the above section for its installation and usage.

* Build codenames:
common: All versions;
926: USA Retail;
1006: Japan Trial;
1020: Europe Retail;
1111: Japan Retail.

** Code region:
exe: main EXE;
221-233: Overlays (use the original .c filename number)

  • Run build.bat and choose "Compile", "Build ISO", then test the game.
  • After you've confirmed that it's functional, add your new function .c file to the decompile directory.
  • Feel free to make a pull request after everything is working!

If you have any questions, reach us out in our Discord server.