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.
* decompile sub_80918EC
* some more item related functions
* more item functions
* more decomp, fix types in other places
* more small functions
* more item related decomp
* one more weird branching item function
* fix global.h includes
* figured out branch pattern
* decompile sub_8090F58
* make temporary struct for function
* 🦀 items.s is gone 🦀
* some renaming
* rename some obvious item related constants
* fix spelling error
* splitting lots of pokemon square and labeling lots of other things
* actually commit this stuff
* more moving data and things
* more screen work
* split out some pokemon dungeon data
* lots of data work
* push more data work
* split kecleon, decomp another kanghaskhan func, and try to doc UpdateBGControl more
* lots of item work
* label more item things
* subtype -> category and doc types/category
* decomp few personality funcs and clean up some pointers in the dungeon data
* de-pointer-ify friend area dialogue
* clean pointers on a personality test question
* decomp a few more main menu funcs and dump some more data
* label some funcs