This was discussed in #706
It also uncovered some off-by-one issues with defining some constants.
A few structs now use rsreset/_RS to define their offset constants, as discussed in #739
- `PSYCHIC` → `PSYCHIC_TYPE` (not the trainer `PSYCHIC_T` or the move `PSYCHIC_M`)
- `BLACKBELT` → `BLACKBELT_I` (not the trainer `BLACKBELT_T`)
- `CURSE_T` → `CURSE_TYPE` (not the move `CURSE`)
- `TOWN_MAP_D` → `TOWN_MAP_POSTER` (not the item `TOWN_MAP`)
This also uncovered a misidentified event: `EVENT_DECO_PLANT_4` → `EVENT_DECO_POSTER_1`. (There are three plants and four posters.)
(This is not expected to be their final location, but it makes them easier to relocate when necessary, and easier for users to edit until the whole project's file structure is finalized.)
It's pretty clear what it's used for.
PartyMenuActionText is used for two things:
1) Storing what kind of action we're going to do (<$10)
2) Storing the text for some kind of healing stuff I'm not entirely sure (>=$f0)
In the former case, if GetPartyMenuTilemapPointers is ran, it will be
used to pick a sequence of actions that should be done, specified in the
table, and it'll print the corresponding string using the
PartyMenuStrings table. The items in the sequence of actions that should
be done are in WritePartyMenuTilemap.
Strangely enough, one possible value is left completely unused:
PARTYMENUACTION_GIVE_MON_FEMALE. It works in the exact same way as it's
male counterpart, and as such I don't believe it was used in the
japanese version either, since it doesn't matter which gender your 'mon
is when you put 'em in the daycare.
Trainer data in map scripts is now a macro-defined structure.
Field move functions in main.asm are now nearly completely annotated, with local references.
Trailing white space deleted.
- Use more substatus constants.
- Reformat some code to be more atomic.
- Add constants for unused status prevention held item effects.
- Remove pointless or redundant comments.