Skip to content

lunarsoap5/GC-Randomizer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twilight Princess REL base

Homepage | Development Information | Mirror | Discord

Disclaimer

As of 2020 the new Repository is just Randomizer due to massive code and structural changes

This project is based on Piston's ttyd-tools and ported to Twilight Princess by Zephiles

Info

This is template code without any game changing logic whatsoever. It randomizes every item Link gets then turns towards the camera with the item floating above his hands (excluding getting an item for the first time on the ground). This means these items are not randomized in this version:

  • Master Sword
  • Shadow Crystal
  • Horse Call
  • Master Sword infused with light
  • Shop ammo that doesn't trigger a cutscene
  • Floor rupees/arrows/seeds
  • Scoopable bottle contents (might be possible in an update from the official version )
  • Fished items (might be possible in an update from the official version )

What is planned for later versions

  • Keysanity (very complex, might not do it)

If you think an item check wasn't randomized properly:

  1. Get the item check in-game
  2. Open the in-game console (R+Z) before getting another item
  3. Go to page 3 (named "Debug Info")
    1. If the lines "Function:", "Source:" and "Dest:" didn't change: it means that we can't randomize that item at the moment since we don't know the trigger that gets called when this item is gotten
    2. If the line "Source:" does not contain some "->" and the line "Dest:" says: "No Replacement found for this source", it means that item check wasn't found, so:
      1. It could be abscent from our code
      2. It could be in the code but with some incorrect data
    3. If the line "Source:" looks someting like "F_SP08->5->7" and the line "Dest:" says: "No replacement here.", it means that the item check was found and already collected, so:
      1. The trigger for getting the item might get fired more than once
      2. There could be a problem with the logic
    4. If the line "Source:" and the line "Dest:" look someting like "F_SP08->5->7", then the item check was randomized properly
  4. If any of these cases happen you must take note of:
    1. page 3 "Debug Info", the lines "Function:", "Source:", "Dest:", "Active Seed:" and "Checksum:"
    2. page 4 "Item Search", the lines "MetadataID:", "MetadataX:", "MetadataY:" and "MetadataZ:"
    3. page 5 "Game Info", the lines "CurrentStage:", "NextStage:" and "NextRoom:"
    4. top right, the randomizer versions
  5. After this, feel free to mention it in the Discord, where we will look into this item check
  6. You can also look into the newer releases to see if that problem was already taken care of

Build Requirements

After downloading the DevTools you want to adjust some files for the Makefile to match your elf2rel and gcipack path(s)

Linux/Unix:

$ sudo cp /path/to/elf2rel /usr/bin/elf2rel

$ sudo echo 'python3 /path/to/gcipack.py "$@"' > /usr/bin/gcipack && sudo chmod +x /usr/bin/gcipack

In this case the Makefile does not need to be changed, however if you don't want to add the binaries/scripts to your PATH or bin you should edit the Makefile (see Windows variant)

Windows

  • Open the Makefile for edit
  • Change line 12 from export ELF2REL := elf2rel to export ELF2REL := /path/to/elf2rel.exe (or /path/to/elf2rel on linux)
  • Change line 13 from export GCIPACK := gcipack to export GCIPACK := python3 /path/to/gcipack.py

It is suggested to create a bin folder inside the Randomizer and copy the binary/script (elf2rel, gcipack.py) inside there - then use bin/elf2rel[.exe] and bin/gcipack.py as paths

Credits and special thanks to

  • AECX for the first versions of the randomizer
  • Piston for TTYD-Tools
  • Zephiles for porting them to TP and helping to set them up properly aswell as hours of testing, debugging and providing help
  • Taka for helping a lot with testing and gathering meta-data for chests
  • Skyreon for also helping with REL testing
  • Hornlitz for writing down all chests + some information on how to access them
  • Jacquaid for his TPHD rando logic and general information
  • Dragonbane for providing inifinite amounts of information and being a constant source of Game knowledge
  • Everyone who contributed to researching the game and/or was involved in the Ultimate TP Spreadsheet

About

Twilight Princess Randomizer

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.4%
  • Other 1.6%