OoTRandomizer / OoT-Randomizer

A randomizer for Ocarina of Time.
Other
404 stars 233 forks source link

Add dockerfile for toolchain, minor internal changes #2314

Open mracsys opened 1 month ago

mracsys commented 1 month ago

A dockerfile and compose script are added to the ASM folder to make setting up the randomizer toolchain easier. Readme files are updated to describe the process from both the command line and from VSCode's Dev Container extension. Both pipelines have been tested on Linux and Windows. It would be helpful to test on a Mac (especially on ARM) if someone has one.

I made some internal changes that should be transparent to users/devs that make it easier to reuse files in the container:

Some of these changes may affect the web branch. ROM patching should be tested there before merging.

flagrama commented 1 month ago
  • ZOOTDEC.z64 is no longer generated in the root of the repository. The randomizer caches the uncompressed ROM in ASM/roms/base.z64, which also conveniently removes the need to copy it there to compile the C/ASM patch. This required changing hardcoded references to ZOOTDEC.z64 in some of the helper scripts and notes.

Is this going to break running the generator without a base ROM selected, or do the other changes mean that is effectively unchanged, the location just happens to be different?

mracsys commented 1 month ago

No, it only changed the location/filename. I just doublechecked and it worked fine without the vanilla compressed ROM once the uncompressed one was generated.

mracsys commented 2 weeks ago

I got a chance to test this on a mac. Unfortunately there are no pre-built aarch64 debian packages for the n64 toolchain. Building from source works, just very slowly (~30 minutes on an M4). Once the image is built everything is quick.