Directory structure:
Bee- placeb3313 silved.z64,b3313 silved.config, andpaintingcfg.txthereTrollEngine- the source code behind the trolling
You must first understand how code is built.
.c files, and game assets do not immediately become an executable - they go through an intermediary stage, the object file (.o). It is with the help of a linker that the .o files are then turned into an executable: Super Mario 64.
To apply C code to an existing ROM, we use Armips. In our case, it is the linker; it handles references to each object file's symbols (functions, variables, data), as well as any other random stuff that already exist in the ROM. It also allows us to import the data and functions inside the .o file anywhere in the ROM.
Due to the consistency in how functions are generated by the same compiler that was used to build Super Mario 64, it is possible to replace the body of any function in the game without causing trouble!
- Obtain the dependencies:
- Linux is required; Windows users must run through WSL. Cry about it.
- You must source your own target ROM & .config file pair, as well as, optionally,
paintingcfg.txt. We will not provide instructions on how to obtain this material. - A Painting64 binary in TrollEngine/tools/Painting64/ & a
paintingcfg.txtfile are required to modify painting data for castle areas. - A BeeieOptimizer setup in TrollEngine/tools/BeeieOptimizer/ & a
paintingcfg.txtfile are required to runmake -j release.
- Set it up: you should have
Bee/b3313 silved.z64,Bee/b3313 silved.config,Bee/paintingcfg.txt. - Run
make -jin the TrollEngine directory for a debug build, ormake -j releasefor a release (console compatible) build.
Troll Engine is released, with an agreement with some significant contributors, under the BSD-3-Clause license. See LICENSE.md for more details.
Licensing currently remains unsolved for:
- someone2639's contributions (TrollEngine/Objects/custom_purple_switch/)
- Cavin789's contributions (TrollEngine/Cavins_B3313_ASM.asm)
- Kaze Emanuar's contributions (TrollEngine/Objects/corrupt/)
- JoshTheBosh06's contributions (TrollEngine/Objects/blooper_bhv/)
B3313 is not affiliated with or endorsed by Nintendo; any references to the company are strictly for storytelling purposes. A legal copy of Super Mario 64 is required in order to use this repository.