Skip to content

Chlorobite/B3313tools-TrollEngine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

B3313 Dev Tools - Troll Engine

Directory structure:

  • Bee - place b3313 silved.z64, b3313 silved.config, and paintingcfg.txt here
  • TrollEngine - the source code behind the trolling

How it works

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!

Setup

  1. 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.txt file are required to modify painting data for castle areas.
  • A BeeieOptimizer setup in TrollEngine/tools/BeeieOptimizer/ & a paintingcfg.txt file are required to run make -j release.
  1. Set it up: you should have Bee/b3313 silved.z64, Bee/b3313 silved.config, Bee/paintingcfg.txt.
  2. Run make -j in the TrollEngine directory for a debug build, or make -j release for a release (console compatible) build.

Licensing

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.

About

Troll Engine for epicly Trolling your local B3313 today!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7