summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/constants.py111
-rwxr-xr-xtools/script_extractor2.py10
2 files changed, 64 insertions, 57 deletions
diff --git a/tools/constants.py b/tools/constants.py
index d54b0be..ee3069e 100644
--- a/tools/constants.py
+++ b/tools/constants.py
@@ -264,61 +264,62 @@ cards = {
0xff: "$ff",
}
-decks = [
- "SAMS_PRACTICE_DECK_ID",
- "PRACTICE_PLAYER_DECK_ID",
- "SAMS_NORMAL_DECK_ID",
- "CHARMANDER_AND_FRIENDS_DECK_ID",
- "CHARMANDER_EXTRA_DECK_ID",
- "SQUIRTLE_AND_FRIENDS_DECK_ID",
- "SQUIRTLE_EXTRA_DECK_ID",
- "BULBASAUR_AND_FRIENDS_DECK_ID",
- "BULBASAUR_EXTRA_DECK_ID",
- "LIGHTNING_AND_FIRE_DECK_ID",
- "WATER_AND_FIGHTING_DECK_ID",
- "GRASS_AND_PSYCHIC_DECK_ID",
- "LEGENDARY_MOLTRES_DECK_ID",
- "LEGENDARY_ZAPDOS_DECK_ID",
- "LEGENDARY_ARTICUNO_DECK_ID",
- "LEGENDARY_DRAGONITE_DECK_ID",
- "FIRST_STRIKE_DECK_ID",
- "ROCK_CRUSHER_DECK_ID",
- "GO_GO_RAIN_DANCE_DECK_ID",
- "ZAPPING_SELFDESTRUCT_DECK_ID",
- "FLOWER_POWER_DECK_ID",
- "STRANGE_PSYSHOCK_DECK_ID",
- "WONDERS_OF_SCIENCE_DECK_ID",
- "FIRE_CHARGE_DECK_ID",
- "IM_RONALD_DECK_ID",
- "POWERFUL_RONALD_DECK_ID",
- "INVINCIBLE_RONALD_DECK_ID",
- "LEGENDARY_RONALD_DECK_ID",
- "MUSCLES_FOR_BRAINS_DECK_ID",
- "HEATED_BATTLE_DECK_ID",
- "LOVE_TO_BATTLE_DECK_ID",
- "EXCAVATION_DECK_ID",
- "BLISTERING_POKEMON_DECK_ID",
- "HARD_POKEMON_DECK_ID",
- "WATERFRONT_POKEMON_DECK_ID",
- "LONELY_FRIENDS_DECK_ID",
- "SOUND_OF_THE_WAVES_DECK_ID",
- "PIKACHU_DECK_ID",
- "BOOM_BOOM_SELFDESTRUCT_DECK_ID",
- "POWER_GENERATOR_DECK_ID",
- "ETCETERA_DECK_ID",
- "FLOWER_GARDEN_DECK_ID",
- "KALEIDOSCOPE_DECK_ID",
- "GHOST_DECK_ID",
- "NAP_TIME_DECK_ID",
- "STRANGE_POWER_DECK_ID",
- "FLYIN_POKEMON_DECK_ID",
- "LOVELY_NIDORAN_DECK_ID",
- "POISON_DECK_ID",
- "ANGER_DECK_ID",
- "FLAMETHROWER_DECK_ID",
- "RESHUFFLE_DECK_ID",
- "IMAKUNI_DECK_ID",
-]
+decks = {
+ 0x00: "SAMS_PRACTICE_DECK_ID",
+ 0x01: "PRACTICE_PLAYER_DECK_ID",
+ 0x02: "SAMS_NORMAL_DECK_ID",
+ 0x03: "CHARMANDER_AND_FRIENDS_DECK_ID",
+ 0x04: "CHARMANDER_EXTRA_DECK_ID",
+ 0x05: "SQUIRTLE_AND_FRIENDS_DECK_ID",
+ 0x06: "SQUIRTLE_EXTRA_DECK_ID",
+ 0x07: "BULBASAUR_AND_FRIENDS_DECK_ID",
+ 0x08: "BULBASAUR_EXTRA_DECK_ID",
+ 0x09: "LIGHTNING_AND_FIRE_DECK_ID",
+ 0x0a: "WATER_AND_FIGHTING_DECK_ID",
+ 0x0b: "GRASS_AND_PSYCHIC_DECK_ID",
+ 0x0c: "LEGENDARY_MOLTRES_DECK_ID",
+ 0x0d: "LEGENDARY_ZAPDOS_DECK_ID",
+ 0x0e: "LEGENDARY_ARTICUNO_DECK_ID",
+ 0x0f: "LEGENDARY_DRAGONITE_DECK_ID",
+ 0x10: "FIRST_STRIKE_DECK_ID",
+ 0x11: "ROCK_CRUSHER_DECK_ID",
+ 0x12: "GO_GO_RAIN_DANCE_DECK_ID",
+ 0x13: "ZAPPING_SELFDESTRUCT_DECK_ID",
+ 0x14: "FLOWER_POWER_DECK_ID",
+ 0x15: "STRANGE_PSYSHOCK_DECK_ID",
+ 0x16: "WONDERS_OF_SCIENCE_DECK_ID",
+ 0x17: "FIRE_CHARGE_DECK_ID",
+ 0x18: "IM_RONALD_DECK_ID",
+ 0x19: "POWERFUL_RONALD_DECK_ID",
+ 0x1a: "INVINCIBLE_RONALD_DECK_ID",
+ 0x1b: "LEGENDARY_RONALD_DECK_ID",
+ 0x1c: "MUSCLES_FOR_BRAINS_DECK_ID",
+ 0x1d: "HEATED_BATTLE_DECK_ID",
+ 0x1e: "LOVE_TO_BATTLE_DECK_ID",
+ 0x1f: "EXCAVATION_DECK_ID",
+ 0x20: "BLISTERING_POKEMON_DECK_ID",
+ 0x21: "HARD_POKEMON_DECK_ID",
+ 0x22: "WATERFRONT_POKEMON_DECK_ID",
+ 0x23: "LONELY_FRIENDS_DECK_ID",
+ 0x24: "SOUND_OF_THE_WAVES_DECK_ID",
+ 0x25: "PIKACHU_DECK_ID",
+ 0x26: "BOOM_BOOM_SELFDESTRUCT_DECK_ID",
+ 0x27: "POWER_GENERATOR_DECK_ID",
+ 0x28: "ETCETERA_DECK_ID",
+ 0x29: "FLOWER_GARDEN_DECK_ID",
+ 0x2a: "KALEIDOSCOPE_DECK_ID",
+ 0x2b: "GHOST_DECK_ID",
+ 0x2c: "NAP_TIME_DECK_ID",
+ 0x2d: "STRANGE_POWER_DECK_ID",
+ 0x2e: "FLYIN_POKEMON_DECK_ID",
+ 0x2f: "LOVELY_NIDORAN_DECK_ID",
+ 0x30: "POISON_DECK_ID",
+ 0x31: "ANGER_DECK_ID",
+ 0x32: "FLAMETHROWER_DECK_ID",
+ 0x33: "RESHUFFLE_DECK_ID",
+ 0x34: "IMAKUNI_DECK_ID",
+ 0xff: "$ff",
+}
directions = [
"NORTH",
diff --git a/tools/script_extractor2.py b/tools/script_extractor2.py
index 385a2c2..25fef03 100755
--- a/tools/script_extractor2.py
+++ b/tools/script_extractor2.py
@@ -192,7 +192,13 @@ def dump_movement(address):
while 1:
movement = rom[address]
if movement == 0xff:
- blobs.append(make_blob(address, "\tdb $ff\n\n", address + 1))
+ blobs.append(make_blob(address, "\tdb ${:02x}\n\n".format(movement), address + 1))
+ break
+ if movement == 0xfe:
+ jump = rom[address + 1]
+ if jump > 127:
+ jump -= 256
+ blobs.append(make_blob(address, "\tdb ${:02x}, {}\n\n".format(movement, jump), address + 2))
break
blobs.append(make_blob(address, "\tdb {}".format(directions[movement & 0b01111111]) + (" | NO_MOVE\n" if movement & 0b10000000 else "\n"), address + 1))
address += 1
@@ -339,7 +345,7 @@ def dump_script(start_address, address=None, visited=set()):
for branch in branches:
blobs += dump_script(start_address, branch, visited)
return blobs
-
+
def fill_gap(start, end):
output = ""
for address in range(start, end):