Per discussion on pret, `obedient`/`fatefulEncounter` has been renamed to `eventLegal`, and all related functions and constants have been modified with this in mind.
Additionally, fixed some whitespace alignment issues in `script_cmd_table.h`, `pokemon.h`, and `tv.c` from the last commit.
The giftRibbons field has been split out into proper subfields. The new ExternalEvent structs deal with interconnectivity between external games/peripherals and Emerald, such as PokéCoupon storage and the flag for receiving Wishmaker Jirachi.
The giftRibbon fields in `PokemonSubstruct3` have also been renamed to their appropriate ribbons, and commented with distribution info if applicable. The previous `fatefulEncounter` field was actually filler, and relabeled as such, while the obedient bit was renamed `fatefulEncounter`. All relevant constants and functions dealing with the Pokémon data structure were renamed with these changes in mind.
Information: Our current audio macros preclude the definition of root
key and pan (applicable when used in drumsets, aka "keysplit_all") for
GB channels. However, this functionality does exist in m4a--Pokemon
Emerald just happens not to use it. However, for the sake of people
working with custom music, I believe these values should be modifiable
by users.
Additionally, given the recent events that have occurred with this repo,
I would like to make something fully clear: I have indeed looked at the
GBA SDK before, which contains notes on how these sounds are defined;
therefore, I cannot blame you if you reject this PR on the grounds that
the information is "tainted." However, this information is readily
available and matches the same macros used for directsound--it's hardly
information that one would need the source to know.
This change will make the script command documentation more user-friendly to read.
Additionally, provided the information on the 'delay' macro. I have confirmed that this
is indeed Frames and not Milliseconds. Updated the macro respectively.
The nops are essential to the hidemoneybox and updatemoneybox commands when using vanilla versions of those commands. Even though they're not actually used parameters in the command implementation, they are still consumed, which means if someone were to get rid of the nops (as I did in TriHard) it causes the commands to consume bytecode that are not theirs, resulting in undefined behavior usually leading to softlocks. Folding the extra bytes into the macros means there's no chance of the extra bytes getting losts in scripts.
Renaming the command to something that makes more sense as to what the command actually does. The command copies the current xy of the instantiated object back to its template, so that the object remains in the same place if the player walks away and despawns the object, and then comes back. "moveobjectoffscreen" implies that it might be taking the object and moving it physically to an off-screen location somehow.