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.
* add struct names
* decompile SaveRecruitedPokemon
* decompile ReadRecruitedPokemon
* decomp anotha one
* some renaming
* another save function
* more backup functions
* sub_808E400
* only one function left in pokemon_2.s
* decomp one more function
* merge 2 structs
* decompile last function in pokemon_1.s
* some pokemon related decomp
* more decomp
* decomp another function
* decompile function
* another one
* decompile GetPokemonLevelData
* decompile more
* more decomp
* more structure and decomp
* decomp another function (need to do some renaming)
* rename some stuff
* I cant do anything without committing these 2 files
* 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
* lots of wonder mail work, credits and label some stuff
* nonmatch one intr func, match another, and label unused intr func
* seperate credits out
* split out debug menu and other stuff that isn't main menu
* label another func
* label some more funcs