Commit Graph

61 Commits

Author SHA1 Message Date
dannye fc6d216c17 Merge pull request #50 from ElectroDeoxys/master
Extract and document effect commands
2025-12-06 15:08:50 -06:00
dannye d129e4eef5 Improve mail data macros
and other minor cleanup
2025-12-06 11:28:07 -06:00
Electro 7af67c323a Extract and document effect commands 2025-12-03 15:11:15 +00:00
mdraves91 eec0aa5c59 send_mail script command
missed adding this file two commits ago, oops
2025-11-16 13:20:24 -06:00
dannye bebad8d219 Merge pull request #45 from mdraves91/tcg2disasm-recursive
enhance tcg2disasm.py to recursively dump unknown called functions
2025-11-08 15:00:37 -06:00
earthoul 5754313c10 Update music constants 2025-11-06 18:43:06 +09:00
mdraves91 790c5022ab fix: bank1calls to functions that were not yet disassembled were generating Func_xxx labels that did not point to bank1 2025-11-05 10:39:38 -06:00
earthoul 8f3db0ab88 Fix tileset labels + refactoring 2025-11-05 21:39:40 +09:00
earthoul 31130185df Fix GR Blimp labels and file names 2025-11-05 19:02:58 +09:00
earthoul f25a04fb76 Identify songs and slot SFXs
Also refactor song labels and files
2025-11-05 18:54:49 +09:00
earthoul 6d55435c70 Update SFX file names
Also identify TCG1 leftovers and re-organize a few labels
2025-11-05 14:48:57 +09:00
mdraves91 65c9e971c4 fix: jr opcodes being output twice 2025-11-04 21:30:05 -06:00
mdraves91 de2035f223 change the way tcg2disasm.py handles "end" offsets provided to the script, and allow multiple addresses to be passed for disassembly
This allows a more flexible script when working with or without the new recursive feature.

Also, the previous behavior was very unintuitive, and probably not that helpful.

Before, if you provided an "end" offset, the script would go AT LEAST as far as that offset, but would not terminate if it still hadn't found a ret command, and had satisfied all of the other stop conditions. This made it very easy to pass an "end" argument that caused the script to disassemble past the real end of the function, and in many cases get stuck in an infinite loop.

However, if you also provided the "dry-run" arg, it would set the "hard stop" flag, which instead made it so that the disassembler would actually stop dead when hitting the "end" offset.

Now, you must pass the stop offset to the --hard-stop arg, and it will act like the previous dry-run/hard-stop. The other behavior (that likes to get stuck in infinite loops) is no longer available.
2025-11-04 19:22:08 -06:00
mdraves91 9746b0537f adding new args to tcg2disasm.py: --recurse and --sections 2025-11-04 19:20:06 -06:00
earthoul 485bf674dd Update SFX and Duel Anim labels
TODO: Rename files and re-sort SFX functions
2025-11-03 23:18:59 +09:00
dannye e30afed737 Misc bank04 cleanup
and other minor cleanup
2025-11-01 19:10:33 -05:00
mdraves91 fd481d3699 fix: forgot to swap golbat and magnemite coin order 2025-10-25 21:24:06 -05:00
mdraves91 c9432f228e add COIN_GR_START to GR_COIN_PIECE constants so that they have the correct value in give_coin commands 2025-10-25 19:10:41 -05:00
mdraves91 3efc22cdd0 feat: parse more complex NPCMovement data
now handles NPCs that move backwards, and those that move at running speed
2025-10-25 19:09:49 -05:00
Mitchell Draves 75b705cc10 Enhance map_header_extractor.py to also dump all referenced routines and scripts (#33)
Also make script_extractor into a class.

This makes it possible to support the various command-line args (--address-comments, etc) without various functions referencing a global args variable.

That in turn makes it possible to more cleanly call the ScriptExtractor from tcg2disasm.py.
2025-10-25 11:45:54 -05:00
dannye 18ac2956d3 Parse movement data 2025-10-24 17:36:47 -05:00
dannye 99790d81fa Parse booster pack list data
and improve ScriptCommand_GiveBoosterPacks and give_booster_packs accordingly.
2025-10-24 14:30:34 -05:00
dannye a25b8d5af7 Fix constants declarations 2025-10-23 12:26:18 -05:00
mdraves91 b18335c9ad refactor: enumerate DUEL_REQUIREMENT_* constants for use in scripts 2025-10-23 09:48:37 -05:00
dannye 00bea3e45b Fixup GR Coin constants 2025-10-20 13:40:08 -05:00
mdraves91 6ef04e7934 fix: swapping coin and event constants for GOLBAT_COIN and MAGNEMITE_COIN 2025-10-12 12:12:05 -05:00
mdraves91 d504b61182 adding COIN_GR_PIECE* constants
these values are used in some event scripts
2025-10-11 11:10:33 -05:00
dannye f821bd537e Merge pull request #34 from earthoul/nameless
Refactor nameless NPC labels based on maps
2025-10-11 10:56:55 -05:00
dannye 26dc9d2b30 Remove excess sfx constants
and other minor cleanup
2025-10-11 10:35:30 -05:00
mdraves91 71c960c9c7 naming some game center chip related functions and sfx 2025-10-11 07:54:27 -05:00
mdraves91 426bb4806c label script commands related to game center chips 2025-10-09 16:29:52 -05:00
earthoul de2e05f043 Update Ishihara's Villa labels 2025-10-08 16:51:32 +09:00
earthoul 94ce7a2bde Refactor nameless NPC labels based on maps
Also rename a few gfx files
2025-10-08 03:01:02 +09:00
dannye 8954020e51 Rename some scripting engine variables 2025-10-06 15:07:40 -05:00
earthoul 2b2f4d69c3 Label texts for disassembled map events +refactoring 2025-10-06 22:31:30 +09:00
dannye 7e24598a7e Rename OW_* constants to NPC_* 2025-10-06 01:02:56 -05:00
dannye 9feca4378f Update more script macro arguments 2025-10-05 21:36:37 -05:00
dannye 3a4940b28c Update some script macro arguments 2025-10-05 11:42:58 -05:00
dannye 32c26e2035 Rename script command macros 2025-10-05 10:57:16 -05:00
dannye 27d5f6a429 Create script command macros 2025-10-04 19:21:02 -05:00
dannye e78fd395f3 Minor cleanup 2025-10-04 16:38:33 -05:00
mdraves91 9c851d75c8 special handling for 3 maps that had missed data structures in parsing 2025-10-04 12:34:37 -05:00
mdraves91 a0b5cbcada adding newlines between blobs in script output
makes it easier to copy and paste large chunks into the bank0x files
2025-10-04 12:33:55 -05:00
mdraves91 7729b8c890 adding SECTIONs to script output 2025-10-04 12:03:07 -05:00
mdraves91 72afa608c3 wrote script to parse the entire MapHeaderPtrs table 2025-10-04 12:01:31 -05:00
dannye 2e25e17036 script_extractor.py: don't add address comments after labels by default 2025-10-02 22:34:51 -05:00
dannye c16903f567 script_extractor.py: handle far call and ret better 2025-10-02 18:07:43 -05:00
dannye 6d8362f2a6 Fix argument order 2025-10-02 01:41:06 -05:00
dannye 9480e9c094 Add script_extractor.py 2025-10-02 01:18:24 -05:00
dannye 54b87fb212 tcg2disasm.py: use integer division for bank calculations 2025-09-28 13:42:13 -05:00