The generated gba_db.bin now works with open_agb_firm!
With a ton of help from profi200, I finally figured out the issue. Turns out open_agb_firm uses a binary search algorithm to find the hash from the gba_db.bin file. After a ton of (probably unnecessary) trial and error, I fixed my script so that it sorts the entries in the way open_agb_firm expects, and boom, it works!
* Updated gba_db.bin Builder to v2.1, adding some important fail-safes and fixing some nasty bugs.
* Updated Makefile to create releases as ZIPs instead of 7Zs and include the gba_db.bin file in releases.
* Updated gitignore to allow necessary files for gba_db.bin Builder to be added to the repo, among other changes.
* Moved script and necessary files to a new "tools" folder. The resources folder is now used for files that facilitate releases, such as "safe" versions of gba_db.bin.
* Made a few changes to open_agb_firm.c to prepare for full gba_db.bin integration.
* Updated README to reflect the new changes, among other changes.
open_agb_firm gba_db.bin Builder:
* Updated to v2.0
* No-Intro DAT support
* Additional entry support
* Entries added/skipped are now output
* Other optimizations
Other changes:
* Remove most overrides in `open_agb_firm.c` to prepare for gba_db.bin
* Add `resources/gba.dat` entry to gitignore