This decision was made to reduce the complexity of using .include whilst
juggling with tools/scaninc and tools/preproc:
- tools/scaninc doesn't apply the proper search rules for .include (it
assumes #include behavior). In particular, it doesn't consider paths
starting from $PWD, and doesn't scan the included files as a result.
- .include had to be processed before #include by preproc in many cases,
as code was being included that had to be preprocessed by CPP (think
of #define). This contradicts standard GCC behavior.
To make include paths consistent across the asm/ data/ and src/
directories, the following files were moved:
- constants/ → include/asm/constants/
- asm/macros/ → include/asm/macros/
- asm/macros.inc → include/asm/macros.inc
- include/macros/m4a.inc → include/asm/macros/m4a.inc
As part of the necessary changes for this to work, the scaninc method in
the makefile was improved to generate .d files that don't choke when
files are missing.
* Created species data JSON
* Added item data JSON
* Removed address field from JSONs
-Moved constants/item.h import to item.h.
* Used default values for some JSON fields
-Use item ID macros for item evolutions.
* more data dumping and some code cleaning
* split out cutscene scripts
* initial start at script conversion
* more script work
* use correct type
* clearer up struct field names
* split known scripts into seperate files
* no need to preproc pure ascii strings in debug
* more cutscene work
* split out personality test scripts
* solidify text macros and doc some dungeon fields
* more scripting work
* move Thunderwave and Tiny Woods pokemon to json
* rule tweaking to actually build tool before parsing JSON
* delete .inc pokemon for tiny Woods and Thunderwave
* silence git complaining about br_ips and ips_patch
* use defines for species and pass the header file for species
* convert sinister woods
* convert MtThunderPeak
* convert silent chasm
* add trial floor_id w/ tiny woods
* change make rule name to fix compile
* MtSteel converted and bugfix
* convert few floor headers and great canyon pokemon
* code cleanup
* unify unkData into UnkTextStruct2
* more code cleanup and some text decomp
* doc more funcs and decomp/split some stuff
* document more save stuff
* more save work and move some data
* pika sniped UpdateNatureTotal
* decomp a litle and convert a few more dungeons
* better scanning for json files
* mt freeze and peak
* Text data cleanup!
Reformatted and fixed up all of data/text/, and extended charmap.txt
The `#P` metacharacter (prompt) acts like a newline, so I reformatted it as such.
All `.string` macros followed by `.byte 0x00` have been replaced with `.asciz` where possible, and `.string "...\0"` elsewhere, note that `.asciz` does not respect the charmap, so characters such as 'é' in 'Pokémon' or the various buttons would be incorrectly encoded.
Also cleaned up occurences of `.byte 0x24`, which should just be a literal '$' inside the string.
* Nuke all instances of `.asciz`
As discussed on Discord, globally replaced all `.asciz` macros with `.string "...\0"`, as `.asciz` did not respect the charmap.
* Minor string consistency fixes