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.
* Decomped SetAction()
* Changed MapTile.tileType to u16 bit field
* Decomped FindStraightThrowableTargets()
* Cleaned up CannotAttack()
* Cleaned up some externs
* Converted dungeon action to substruct
* death by 74 files
* 20% reached
* doc move stuff in pokemon
* fix undef reference
* doc more and plumb a few more constanst for num party members and num moves
* that struct is def PokemonMove.. clean up all code with it
* decomp rest of main_menu
* move some main menu data over
* decomp some more wonder mail
* decomp the dungeon dialogue scene switches
* more wonder mail
* consolidate struct_802F204
* another wonder mail func
* more wonder mail
* slight cleanup
* 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
* 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
* decompile sub_8091290
* decompile sub_80912c8
* rename functions / struct field
* more names
* decompile 80913A0
* decompile GetItemMove
* decompile sub_80913E0
* rename function
* decompile CanSellItem function
* rename inventory struct
* add some item check functions
* fix renaming stuff
* this file shouldnt have been here
* forgot merge conflict
* decompile more item functions
* rename some stuff
* fix HM/TM naming
* Update src/code_801AFA4.c
Use enum value for USED_TM
* Fix incorrect value
* decompile sub_80915F4
* decompile HasGummiItem
* decompiled another function and renamed stuff
* decompile 2 smaller functions
* more functions
* more decompiling and renaming
* redo change that was undone in the merge
* Makefile: move over to gcc for preproc and ditch cpp
* INSTALL: rewrite INSTALL
* README: add CI badge
* Makefile: make tools build before anything else
* 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
* 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
* more wonder mail and main menu work
* Lots of things.. doc'ing, decomping, and other things
* continue decomping boss scenes
* up to Suicune
* up to Mewtwo dialogue
* up to Raquaza
* fix spelling error on Rayquaza and decomp a few more
* up to groudon
* divide > shift
* actually put C files in preproc and use it for formatted type names. Cleaned up makefile like pokeemerald
* finish adding all colors and text macros to charmap
* preproc all the data and use text macros
* move all of wonder_mail_1 to src
* unify wonder_mail and wonder_mail_mid
* small code cleanup
* name two more exclusive pokemon funcs
* decomp a few more wonder mail funcs
* clean up MemoryFill call
* doc more of wonder mail in main menu
* split adventure log menu out and decompile
* add most adventure log matchings w/ 2 nonmatchings and move some relevant data
* more work on other menus
* fully decomp debug stuff around 203B3F0
* more debug menu work
* fix CreatePartnerSelectionMenu nonmatch
* move more data and clean some data up
* move friend area settings to src
* split out playtime into different C file and decomp a few more funcs
* time -> play_time
* fix include
* split out more wonder mail stuff
* unify 203B2C0 and unkDungeon structs. snuck in a decomp func too
* split out more menu screens
* work some more on trade items
* doc a few more things
* add a close nonmatch and decomp nullsub and small func
* rollback struct attempt since it causes nonmatchings
* only one func left in asm
* death to trade_item asm and unify into one C file
* more docing and cleanup
* label main menu and trade items menu global menu struct
* doc itemMode
* move some personality data from asm to C
* combine personality_test files and add my close attempt at RedrawPartnerSelectionMenu
* decomp some more wonder mail funcs and label some more data
* lots of data splitting and move some to src
* split out more dungeon data
* continue splitting out more dungeon data
* doc rescue team rank/pts funcs/data and exclusive pokemon ewram
* doc more sound things and decomp a func
* decomp LoadTeamRankBadge and label some data members
* split out rescue team and text util stuff
* forgot a constant
* match a few funcs and clean up a few
* cleaned up sub_80A28B4
* work on debug menu and document that and main menu
* split, decomp, label more funcs
* split exclusive pokemon data out into C
* macro-ize exlusive pokemon data
* decomp 2 more funcs
* decomp a few more
* finally match PromptNewQuestion
* woot 7% aka more debug menu stuff
* 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
* some work on decomping more save stuff
* code cleanup and decomp another save func
* fully decomp save and combine split save c files
* fix two nonmatchings
* decomp most of personality_test
* just gonna move the funcs to src in assembly for now so I can combine stuff
* label another func and some cleanup
* one func of personality test left in asm
* small cleanups and labeling of funcs
* 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