Maybe a vagrant box will be less work for users. At the moment the
Vagrantfile is just pointing to a remote url, but in the future it
should contain the actual scripts to construct the box so that the box
can be updated as the dependencies in the repository change.
This firmly ties spawn constant definition to data allocation,
preventing usage earlier in main.asm or in other objects.
A potential solution is to abuse ifdefs and include it in
both main.asm and constants.asm.
This should make map headers much easier to edit than before.
Rather than occasionally being able to reuse blockdata semantically,
create a label for each map and attach it to some blockdata include.
This improves readability and reduces overhead when adding new maps.
The macro argument length bug doesn't seem to crop up here...
It looks like it only happens when an argument is over 16 characters
long and references a symbol that exists before the macro is invoked.
SUBSTATUS_ROLLOUT was actually SUBSTATUS_RAMPAGE.
SUBSTATUS_ENCORED was actually SUBSTATUS_ROLLOUT.
Substatus 5 bit 4 was actually SUBSTATUS_ENCORED.
Also use some more (sub)status constants where needed.
Besides making predefs convenient, naming a predef no longer requires
adding or renaming a predef constant. This also lets predefs be rearranged at will.
- 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.
The PartyMon struct is really the box struct with volatile variables like status added.
Some other labels have been reworked.
Move structs no longer have explicit labels since their location is arbitrary and usually shared.
Random returns a value from 0 to 0xff.
Instead of doing extra work, most probabilities are out of 0xff.
Convert these from percentages at build time for readability.
Better compression, macro cleanup, use MAX_LEVEL everywhere.
- move stats -> data (like pokered).
- remove FuncCoord and use {hl,bc,de}coord for all tilemap loads.
- use MAX_LEVEL where needed.
- update pokemontools for better compression, and recomment related code.
- growth rate constants