Project:Help wanted: Difference between revisions
no edit summary
imported>Leoetlino (→Debug leftovers: update on StageSelect) |
imported>Leoetlino No edit summary |
||
Line 1: | Line 1: | ||
Many secrets still remain to be uncovered. If you have experience with reverse engineering or if you are looking for a fun project to start with RE (or both!), please help us investigate the following mysteries. | Many secrets still remain to be uncovered. If you have experience with reverse engineering or if you are looking for a fun project to start with RE (or both!), please help us investigate the following mysteries. | ||
== Reverse engineering tips == | |||
{{expand section}} | |||
=== GameData flags === | |||
GameData flags can be read and set from many different systems: | |||
* '''Event flows'''. A very convenient way to determine if a flag is being set in an event flow (or queried, passed to the executable, ...) is to grep [https://github.com/MrCheeze/botw-tools/tree/master/event MrCheeze/botw-tools:event] for the flag name. | |||
* '''Map units'''. LinkTags can be used to conditionally spawn map objects based on GameData flags (which are called SaveFlags in map units) and also to set them. It is extremely common for Area tags to be used for triggering LinkTags (which in turn write to GameData flags). | |||
* '''Executable'''. Of course, the executable also checks for game data flags. Do note that the name of the flag is not always hardcoded, and may instead come from a configuration file (example: the Defeated counters for the [[difficulty scaling]] system). | |||
== Formats == | == Formats == |