* delete build artifacts on clean target
* clean out the graphics files too
* fix up auto-gen message on pokemon_found and move END_OF_TABLE to actual end of table
These are harder to pick up automatically, and will only change when the
tools are edited, anyway...
Any other methods for solving this issue can always be reconsidered
later down the line...
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
* Adding in all missing strings and labels
Quite a few strings and labels were missing. This should fix all of them. "NaiveQuest1Answers" might have the second option incorrect, but it's kinda hard to count bytes and this does seem to be a valid answer, and should be checked in the future.
* Add all strings, labels, and update pointers
Like the previous commit, I have 0 clue if this builds lol -- I can't quite test this, because I can't run a compiler to do so, and I don't own a copy of the game. Should still match I would think. JobHeadline may have something incorrect about trailing 0 bytes, but it seems to have been an observational mistake on my end on it having 5 of them rather than 4?
* Fix consistency with previous labels (+typo fix)
Basically just "Message" with "Text", and replace "Headlline" with "Headline"
* Fix mistyped labels from previous commit
It seems I'm not very good at this assembly thing. "NewFriendAreas" -> "NewFriendArea", like originally.
* Replace the rest of "Message" with "Text"
I forgot to replace some stuff
* Forgot an A
Insert an A to create "BraveQuest2A_Ignore" instead of "BraveQuest2_Ignore"
* Forgot a space, remove more
Removed some extra whitespace, add a space between ".string" and a quotation mark that I had missed. Hope this didn't break anything somehow.
* Add back all comments, fix missing pointer
I accidentally deleted all comments. I've now fixed that, and added in a pointer to NaiveQuest1_Love because I had missed it somewhere else.
* Add in TimidQuest3 answer pointers I had missed
This should be the last of the missing pointers?
* Tabs -> Spaces
Fixed formatting by converting all tabs to spaces. I don't actually know when I changed them to tabs, but I'd guess I did pretty early on...
* Add some labels
A few labels were missing, tried to fill them in.
* Made a data assembler!
I can now basically ensure that the files match! Found an error with two labels reversed, but that seems to be the only thing that was incorrect.
* Left out a space somehow
Simply just adds a space between a ".string" and the actual string
* Make the files actually match
Took a bit of time, but I believe I've finally got this file actually matching!
I was lazy with strings when first encoding and wrote decimal offsets for octal character encodings sometimes which is fun. All instances of this should now be fixed!
* Fix some labels
I believe this was just missing two labels that I forgot to change when copy-pasting them for the general format...
Meh, still, glad to have it fixed.
* Replace hexadecimal string escapes with octal ones
I tried committing this before but it doesn't seem to have worked for some reason -- Just in case it did and I'm rewriting this on accident.
I should have done some research apparently -- ARM asm doesn't support hexadecimal escape sequences, only octal ones. Should be fixed now!
* Replace octal escape sequences with ".byte"
It turns out those aren't supported either -- That's okay, though it looks a bit more messy imo.
* Update data/pokemon_mail.s
* fix up conflicts and labels
Co-authored-by: Seth Barberee <seth.barberee@gmail.com>
* Sync tools/ directory with pokeemerald
We really ought to have a central repository for this mess
* Make incremental builds faster
Scientists hate him!
He made NODEP disappear with this ONE SIMPLE TRICK!!!
Want to know more? -> __click here__ <-
* Disassemble some more tables and the first graphic