summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/battle_anims/subanimations.asm2
-rw-r--r--data/events/prizes.asm28
-rw-r--r--data/items/key_items.asm191
-rw-r--r--data/items/marts.asm18
-rw-r--r--data/items/prices.asm194
-rw-r--r--data/items/tm_prices.asm79
-rw-r--r--data/items/vending_prices.asm2
-rw-r--r--data/maps/headers/Route22.asm2
-rw-r--r--data/maps/headers/Route23.asm2
-rw-r--r--data/pokemon/menu_icons.asm231
-rw-r--r--data/tilesets/tileset_headers.asm60
-rw-r--r--data/trainers/pic_pointers_money.asm2
12 files changed, 439 insertions, 372 deletions
diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm
index 530192f6..54d346a6 100644
--- a/data/battle_anims/subanimations.asm
+++ b/data/battle_anims/subanimations.asm
@@ -92,7 +92,7 @@ SubanimationPointers:
; subanim type, count
; REPT count
; db frame block id, base coordinate id, frame block mode
-; endr
+; ENDR
subanim: MACRO
db (\1 << 5) | \2
diff --git a/data/events/prizes.asm b/data/events/prizes.asm
index 684add94..34cd75d7 100644
--- a/data/events/prizes.asm
+++ b/data/events/prizes.asm
@@ -19,14 +19,14 @@ ENDC
PrizeMenuMon1Cost:
IF DEF(_RED)
- coins 180
- coins 500
+ bcd2 180
+ bcd2 500
ENDC
IF DEF(_BLUE)
- coins 120
- coins 750
+ bcd2 120
+ bcd2 750
ENDC
- coins 1200
+ bcd2 1200
db "@"
PrizeMenuMon2Entries:
@@ -43,14 +43,14 @@ ENDC
PrizeMenuMon2Cost:
IF DEF(_RED)
- coins 2800
- coins 5500
- coins 9999
+ bcd2 2800
+ bcd2 5500
+ bcd2 9999
ENDC
IF DEF(_BLUE)
- coins 2500
- coins 4600
- coins 6500
+ bcd2 2500
+ bcd2 4600
+ bcd2 6500
ENDC
db "@"
@@ -61,7 +61,7 @@ PrizeMenuTMsEntries:
db "@"
PrizeMenuTMsCost:
- coins 3300
- coins 5500
- coins 7700
+ bcd2 3300
+ bcd2 5500
+ bcd2 7700
db "@"
diff --git a/data/items/key_items.asm b/data/items/key_items.asm
index 13a69ea4..b0c4b1ad 100644
--- a/data/items/key_items.asm
+++ b/data/items/key_items.asm
@@ -1,105 +1,86 @@
-key_item_bits: MACRO
-_bit = 0
-_byte = 0
-REPT _NARG
-_byte = _byte | ((\1) << _bit)
-_bit = _bit + 1
-IF _bit == 8
- db _byte
-_byte = 0
-_bit = 0
-ENDC
-SHIFT
-ENDR
-IF _bit > 0
- db _byte
-ENDC
-ENDM
-
-KeyItemBitfield:
- table_width 1, KeyItemBitfield
- key_item_bits \
- FALSE, \ ; MASTER_BALL
- FALSE, \ ; ULTRA_BALL
- FALSE, \ ; GREAT_BALL
- FALSE, \ ; POKE_BALL
- TRUE, \ ; TOWN_MAP
- TRUE, \ ; BICYCLE
- TRUE, \ ; SURFBOARD
- TRUE, \ ; SAFARI_BALL
- TRUE, \ ; POKEDEX
- FALSE, \ ; MOON_STONE
- FALSE, \ ; ANTIDOTE
- FALSE, \ ; BURN_HEAL
- FALSE, \ ; ICE_HEAL
- FALSE, \ ; AWAKENING
- FALSE, \ ; PARLYZ_HEAL
- FALSE, \ ; FULL_RESTORE
- FALSE, \ ; MAX_POTION
- FALSE, \ ; HYPER_POTION
- FALSE, \ ; SUPER_POTION
- FALSE, \ ; POTION
- TRUE, \ ; BOULDERBADGE
- TRUE, \ ; CASCADEBADGE
- TRUE, \ ; THUNDERBADGE
- TRUE, \ ; RAINBOWBADGE
- TRUE, \ ; SOULBADGE
- TRUE, \ ; MARSHBADGE
- TRUE, \ ; VOLCANOBADGE
- TRUE, \ ; EARTHBADGE
- FALSE, \ ; ESCAPE_ROPE
- FALSE, \ ; REPEL
- TRUE, \ ; OLD_AMBER
- FALSE, \ ; FIRE_STONE
- FALSE, \ ; THUNDER_STONE
- FALSE, \ ; WATER_STONE
- FALSE, \ ; HP_UP
- FALSE, \ ; PROTEIN
- FALSE, \ ; IRON
- FALSE, \ ; CARBOS
- FALSE, \ ; CALCIUM
- FALSE, \ ; RARE_CANDY
- TRUE, \ ; DOME_FOSSIL
- TRUE, \ ; HELIX_FOSSIL
- TRUE, \ ; SECRET_KEY
- TRUE, \ ; UNUSED_ITEM
- TRUE, \ ; BIKE_VOUCHER
- FALSE, \ ; X_ACCURACY
- FALSE, \ ; LEAF_STONE
- TRUE, \ ; CARD_KEY
- FALSE, \ ; NUGGET
- FALSE, \ ; PP_UP_2
- FALSE, \ ; POKE_DOLL
- FALSE, \ ; FULL_HEAL
- FALSE, \ ; REVIVE
- FALSE, \ ; MAX_REVIVE
- FALSE, \ ; GUARD_SPEC
- FALSE, \ ; SUPER_REPEL
- FALSE, \ ; MAX_REPEL
- FALSE, \ ; DIRE_HIT
- FALSE, \ ; COIN
- FALSE, \ ; FRESH_WATER
- FALSE, \ ; SODA_POP
- FALSE, \ ; LEMONADE
- TRUE, \ ; S_S_TICKET
- TRUE, \ ; GOLD_TEETH
- FALSE, \ ; X_ATTACK
- FALSE, \ ; X_DEFEND
- FALSE, \ ; X_SPEED
- FALSE, \ ; X_SPECIAL
- TRUE, \ ; COIN_CASE
- TRUE, \ ; OAKS_PARCEL
- TRUE, \ ; ITEMFINDER
- TRUE, \ ; SILPH_SCOPE
- TRUE, \ ; POKE_FLUTE
- TRUE, \ ; LIFT_KEY
- FALSE, \ ; EXP_ALL
- TRUE, \ ; OLD_ROD
- TRUE, \ ; GOOD_ROD
- TRUE, \ ; SUPER_ROD
- FALSE, \ ; PP_UP
- FALSE, \ ; ETHER
- FALSE, \ ; MAX_ETHER
- FALSE, \ ; ELIXER
- FALSE ; MAX_ELIXER
- assert_table_length (NUM_ITEMS + 7) / 8
+KeyItemFlags:
+ bit_array KeyItemFlags
+ dbit FALSE ; MASTER_BALL
+ dbit FALSE ; ULTRA_BALL
+ dbit FALSE ; GREAT_BALL
+ dbit FALSE ; POKE_BALL
+ dbit TRUE ; TOWN_MAP
+ dbit TRUE ; BICYCLE
+ dbit TRUE ; SURFBOARD
+ dbit TRUE ; SAFARI_BALL
+ dbit TRUE ; POKEDEX
+ dbit FALSE ; MOON_STONE
+ dbit FALSE ; ANTIDOTE
+ dbit FALSE ; BURN_HEAL
+ dbit FALSE ; ICE_HEAL
+ dbit FALSE ; AWAKENING
+ dbit FALSE ; PARLYZ_HEAL
+ dbit FALSE ; FULL_RESTORE
+ dbit FALSE ; MAX_POTION
+ dbit FALSE ; HYPER_POTION
+ dbit FALSE ; SUPER_POTION
+ dbit FALSE ; POTION
+ dbit TRUE ; BOULDERBADGE
+ dbit TRUE ; CASCADEBADGE
+ dbit TRUE ; THUNDERBADGE
+ dbit TRUE ; RAINBOWBADGE
+ dbit TRUE ; SOULBADGE
+ dbit TRUE ; MARSHBADGE
+ dbit TRUE ; VOLCANOBADGE
+ dbit TRUE ; EARTHBADGE
+ dbit FALSE ; ESCAPE_ROPE
+ dbit FALSE ; REPEL
+ dbit TRUE ; OLD_AMBER
+ dbit FALSE ; FIRE_STONE
+ dbit FALSE ; THUNDER_STONE
+ dbit FALSE ; WATER_STONE
+ dbit FALSE ; HP_UP
+ dbit FALSE ; PROTEIN
+ dbit FALSE ; IRON
+ dbit FALSE ; CARBOS
+ dbit FALSE ; CALCIUM
+ dbit FALSE ; RARE_CANDY
+ dbit TRUE ; DOME_FOSSIL
+ dbit TRUE ; HELIX_FOSSIL
+ dbit TRUE ; SECRET_KEY
+ dbit TRUE ; UNUSED_ITEM
+ dbit TRUE ; BIKE_VOUCHER
+ dbit FALSE ; X_ACCURACY
+ dbit FALSE ; LEAF_STONE
+ dbit TRUE ; CARD_KEY
+ dbit FALSE ; NUGGET
+ dbit FALSE ; PP_UP_2
+ dbit FALSE ; POKE_DOLL
+ dbit FALSE ; FULL_HEAL
+ dbit FALSE ; REVIVE
+ dbit FALSE ; MAX_REVIVE
+ dbit FALSE ; GUARD_SPEC
+ dbit FALSE ; SUPER_REPEL
+ dbit FALSE ; MAX_REPEL
+ dbit FALSE ; DIRE_HIT
+ dbit FALSE ; COIN
+ dbit FALSE ; FRESH_WATER
+ dbit FALSE ; SODA_POP
+ dbit FALSE ; LEMONADE
+ dbit TRUE ; S_S_TICKET
+ dbit TRUE ; GOLD_TEETH
+ dbit FALSE ; X_ATTACK
+ dbit FALSE ; X_DEFEND
+ dbit FALSE ; X_SPEED
+ dbit FALSE ; X_SPECIAL
+ dbit TRUE ; COIN_CASE
+ dbit TRUE ; OAKS_PARCEL
+ dbit TRUE ; ITEMFINDER
+ dbit TRUE ; SILPH_SCOPE
+ dbit TRUE ; POKE_FLUTE
+ dbit TRUE ; LIFT_KEY
+ dbit FALSE ; EXP_ALL
+ dbit TRUE ; OLD_ROD
+ dbit TRUE ; GOOD_ROD
+ dbit TRUE ; SUPER_ROD
+ dbit FALSE ; PP_UP
+ dbit FALSE ; ETHER
+ dbit FALSE ; MAX_ETHER
+ dbit FALSE ; ELIXER
+ dbit FALSE ; MAX_ELIXER
+ end_bit_array NUM_ITEMS
diff --git a/data/items/marts.asm b/data/items/marts.asm
index 80d62931..c6a80de5 100644
--- a/data/items/marts.asm
+++ b/data/items/marts.asm
@@ -1,64 +1,50 @@
; mart inventories are below
; they are texts
-; Viridian
ViridianCashierText::
script_mart POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL
-; Pewter
PewterCashierText::
script_mart POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL
-; Cerulean
CeruleanCashierText::
script_mart POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL
-; Bike shop
+BikeShopCashierText:: ; unreferenced
script_mart BICYCLE
-; Vermilion
VermilionCashierText::
script_mart POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL
-; Lavender
LavenderCashierText::
script_mart GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL
-; Celadon Dept. Store 2F (1)
CeladonMart2Clerk1Text::
script_mart GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL
-; Celadon Dept. Store 2F (2)
CeladonMart2Clerk2Text::
script_mart TM_DOUBLE_TEAM, TM_REFLECT, TM_RAZOR_WIND, TM_HORN_DRILL, TM_EGG_BOMB, TM_MEGA_PUNCH, TM_MEGA_KICK, TM_TAKE_DOWN, TM_SUBMISSION
-; Celadon Dept. Store 4F
CeladonMart4ClerkText::
script_mart POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE
-; Celadon Dept. Store 5F (1)
CeladonMart5Clerk1Text::
script_mart X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL
-; Celadon Dept. Store 5F (2)
CeladonMart5Clerk2Text::
script_mart HP_UP, PROTEIN, IRON, CARBOS, CALCIUM
-; Fuchsia
FuchsiaCashierText::
script_mart ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL
-; unused?
+UnusedCashierText:: ; unreferenced
script_mart GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE
-; Cinnabar
CinnabarCashierText::
script_mart ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE
-; Saffron
SaffronCashierText::
script_mart GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE
-; Indigo
IndigoCashierText::
script_mart ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL
diff --git a/data/items/prices.asm b/data/items/prices.asm
index 3740df8a..6c1c2891 100644
--- a/data/items/prices.asm
+++ b/data/items/prices.asm
@@ -1,101 +1,101 @@
ItemPrices::
table_width 3, ItemPrices
- money 0 ; MASTER_BALL
- money 1200 ; ULTRA_BALL
- money 600 ; GREAT_BALL
- money 200 ; POKE_BALL
- money 0 ; TOWN_MAP
- money 0 ; BICYCLE
- money 0 ; SURFBOARD
- money 1000 ; SAFARI_BALL
- money 0 ; POKEDEX
- money 0 ; MOON_STONE
- money 100 ; ANTIDOTE
- money 250 ; BURN_HEAL
- money 250 ; ICE_HEAL
- money 200 ; AWAKENING
- money 200 ; PARLYZ_HEAL
- money 3000 ; FULL_RESTORE
- money 2500 ; MAX_POTION
- money 1500 ; HYPER_POTION
- money 700 ; SUPER_POTION
- money 300 ; POTION
- money 0 ; BOULDERBADGE
- money 0 ; CASCADEBADGE
- money 0 ; THUNDERBADGE
- money 0 ; RAINBOWBADGE
- money 0 ; SOULBADGE
- money 0 ; MARSHBADGE
- money 0 ; VOLCANOBADGE
- money 0 ; EARTHBADGE
- money 550 ; ESCAPE_ROPE
- money 350 ; REPEL
- money 0 ; OLD_AMBER
- money 2100 ; FIRE_STONE
- money 2100 ; THUNDER_STONE
- money 2100 ; WATER_STONE
- money 9800 ; HP_UP
- money 9800 ; PROTEIN
- money 9800 ; IRON
- money 9800 ; CARBOS
- money 9800 ; CALCIUM
- money 4800 ; RARE_CANDY
- money 0 ; DOME_FOSSIL
- money 0 ; HELIX_FOSSIL
- money 0 ; SECRET_KEY
- money 0 ; XXX
- money 0 ; BIKE_VOUCHER
- money 950 ; X_ACCURACY
- money 2100 ; LEAF_STONE
- money 0 ; CARD_KEY
- money 10000 ; NUGGET
- money 9800 ; XXX PP_UP
- money 1000 ; POKE_DOLL
- money 600 ; FULL_HEAL
- money 1500 ; REVIVE
- money 4000 ; MAX_REVIVE
- money 700 ; GUARD_SPEC
- money 500 ; SUPER_REPEL
- money 700 ; MAX_REPEL
- money 650 ; DIRE_HIT
- money 10 ; COIN
- money 200 ; FRESH_WATER
- money 300 ; SODA_POP
- money 350 ; LEMONADE
- money 0 ; S_S_TICKET
- money 0 ; GOLD_TEETH
- money 500 ; X_ATTACK
- money 550 ; X_DEFEND
- money 350 ; X_SPEED
- money 350 ; X_SPECIAL
- money 0 ; COIN_CASE
- money 0 ; OAKS_PARCEL
- money 0 ; ITEMFINDER
- money 0 ; SILPH_SCOPE
- money 0 ; POKE_FLUTE
- money 0 ; LIFT_KEY
- money 0 ; EXP_ALL
- money 0 ; OLD_ROD
- money 0 ; GOOD_ROD
- money 0 ; SUPER_ROD
- money 0 ; PP_UP
- money 0 ; ETHER
- money 0 ; MAX_ETHER
- money 0 ; ELIXER
- money 0 ; MAX_ELIXER
+ bcd3 0 ; MASTER_BALL
+ bcd3 1200 ; ULTRA_BALL
+ bcd3 600 ; GREAT_BALL
+ bcd3 200 ; POKE_BALL
+ bcd3 0 ; TOWN_MAP
+ bcd3 0 ; BICYCLE
+ bcd3 0 ; SURFBOARD
+ bcd3 1000 ; SAFARI_BALL
+ bcd3 0 ; POKEDEX
+ bcd3 0 ; MOON_STONE
+ bcd3 100 ; ANTIDOTE
+ bcd3 250 ; BURN_HEAL
+ bcd3 250 ; ICE_HEAL
+ bcd3 200 ; AWAKENING
+ bcd3 200 ; PARLYZ_HEAL
+ bcd3 3000 ; FULL_RESTORE
+ bcd3 2500 ; MAX_POTION
+ bcd3 1500 ; HYPER_POTION
+ bcd3 700 ; SUPER_POTION
+ bcd3 300 ; POTION
+ bcd3 0 ; BOULDERBADGE
+ bcd3 0 ; CASCADEBADGE
+ bcd3 0 ; THUNDERBADGE
+ bcd3 0 ; RAINBOWBADGE
+ bcd3 0 ; SOULBADGE
+ bcd3 0 ; MARSHBADGE
+ bcd3 0 ; VOLCANOBADGE
+ bcd3 0 ; EARTHBADGE
+ bcd3 550 ; ESCAPE_ROPE
+ bcd3 350 ; REPEL
+ bcd3 0 ; OLD_AMBER
+ bcd3 2100 ; FIRE_STONE
+ bcd3 2100 ; THUNDER_STONE
+ bcd3 2100 ; WATER_STONE
+ bcd3 9800 ; HP_UP
+ bcd3 9800 ; PROTEIN
+ bcd3 9800 ; IRON
+ bcd3 9800 ; CARBOS
+ bcd3 9800 ; CALCIUM
+ bcd3 4800 ; RARE_CANDY
+ bcd3 0 ; DOME_FOSSIL
+ bcd3 0 ; HELIX_FOSSIL
+ bcd3 0 ; SECRET_KEY
+ bcd3 0 ; XXX
+ bcd3 0 ; BIKE_VOUCHER
+ bcd3 950 ; X_ACCURACY
+ bcd3 2100 ; LEAF_STONE
+ bcd3 0 ; CARD_KEY
+ bcd3 10000 ; NUGGET
+ bcd3 9800 ; XXX PP_UP
+ bcd3 1000 ; POKE_DOLL
+ bcd3 600 ; FULL_HEAL
+ bcd3 1500 ; REVIVE
+ bcd3 4000 ; MAX_REVIVE
+ bcd3 700 ; GUARD_SPEC
+ bcd3 500 ; SUPER_REPEL
+ bcd3 700 ; MAX_REPEL
+ bcd3 650 ; DIRE_HIT
+ bcd3 10 ; COIN
+ bcd3 200 ; FRESH_WATER
+ bcd3 300 ; SODA_POP
+ bcd3 350 ; LEMONADE
+ bcd3 0 ; S_S_TICKET
+ bcd3 0 ; GOLD_TEETH
+ bcd3 500 ; X_ATTACK
+ bcd3 550 ; X_DEFEND
+ bcd3 350 ; X_SPEED
+ bcd3 350 ; X_SPECIAL
+ bcd3 0 ; COIN_CASE
+ bcd3 0 ; OAKS_PARCEL
+ bcd3 0 ; ITEMFINDER
+ bcd3 0 ; SILPH_SCOPE
+ bcd3 0 ; POKE_FLUTE
+ bcd3 0 ; LIFT_KEY
+ bcd3 0 ; EXP_ALL
+ bcd3 0 ; OLD_ROD
+ bcd3 0 ; GOOD_ROD
+ bcd3 0 ; SUPER_ROD
+ bcd3 0 ; PP_UP
+ bcd3 0 ; ETHER
+ bcd3 0 ; MAX_ETHER
+ bcd3 0 ; ELIXER
+ bcd3 0 ; MAX_ELIXER
assert_table_length NUM_ITEMS
- money 0 ; FLOOR_B2F
- money 0 ; FLOOR_B1F
- money 0 ; FLOOR_1F
- money 0 ; FLOOR_2F
- money 0 ; FLOOR_3F
- money 0 ; FLOOR_4F
- money 0 ; FLOOR_5F
- money 0 ; FLOOR_6F
- money 0 ; FLOOR_7F
- money 0 ; FLOOR_8F
- money 0 ; FLOOR_9F
- money 0 ; FLOOR_10F
- money 0 ; FLOOR_11F
- money 0 ; FLOOR_B4F
+ bcd3 0 ; FLOOR_B2F
+ bcd3 0 ; FLOOR_B1F
+ bcd3 0 ; FLOOR_1F
+ bcd3 0 ; FLOOR_2F
+ bcd3 0 ; FLOOR_3F
+ bcd3 0 ; FLOOR_4F
+ bcd3 0 ; FLOOR_5F
+ bcd3 0 ; FLOOR_6F
+ bcd3 0 ; FLOOR_7F
+ bcd3 0 ; FLOOR_8F
+ bcd3 0 ; FLOOR_9F
+ bcd3 0 ; FLOOR_10F
+ bcd3 0 ; FLOOR_11F
+ bcd3 0 ; FLOOR_B4F
assert_table_length NUM_ITEMS + NUM_FLOORS
diff --git a/data/items/tm_prices.asm b/data/items/tm_prices.asm
index 22bcb074..89501e32 100644
--- a/data/items/tm_prices.asm
+++ b/data/items/tm_prices.asm
@@ -1,29 +1,54 @@
TechnicalMachinePrices:
; In thousands (nybbles).
- table_width 1, TechnicalMachinePrices
- dn 3, 2 ; TM01, TM02
- dn 2, 1 ; TM03, TM04
- dn 3, 4 ; TM05, TM06
- dn 2, 4 ; TM07, TM08
- dn 3, 4 ; TM09, TM10
- dn 2, 1 ; TM11, TM12
- dn 4, 5 ; TM13, TM14
- dn 5, 5 ; TM15, TM16
- dn 3, 2 ; TM17, TM18
- dn 3, 2 ; TM19, TM20
- dn 5, 5 ; TM21, TM22
- dn 5, 2 ; TM23, TM24
- dn 5, 4 ; TM25, TM26
- dn 5, 2 ; TM27, TM28
- dn 4, 1 ; TM29, TM30
- dn 2, 1 ; TM31, TM32
- dn 1, 2 ; TM33, TM34
- dn 4, 2 ; TM35, TM36
- dn 2, 5 ; TM37, TM38
- dn 2, 4 ; TM39, TM40
- dn 2, 2 ; TM41, TM42
- dn 5, 2 ; TM43, TM44
- dn 2, 4 ; TM45, TM46
- dn 3, 4 ; TM47, TM48
- dn 4, 2 ; TM49, TM50
- assert_table_length (NUM_TMS + 1) / 2
+ nybble_array TechnicalMachinePrices
+ nybble 3 ; TM01
+ nybble 2 ; TM02
+ nybble 2 ; TM03
+ nybble 1 ; TM04
+ nybble 3 ; TM05
+ nybble 4 ; TM06
+ nybble 2 ; TM07
+ nybble 4 ; TM08
+ nybble 3 ; TM09
+ nybble 4 ; TM10
+ nybble 2 ; TM11
+ nybble 1 ; TM12
+ nybble 4 ; TM13
+ nybble 5 ; TM14
+ nybble 5 ; TM15
+ nybble 5 ; TM16
+ nybble 3 ; TM17
+ nybble 2 ; TM18
+ nybble 3 ; TM19
+ nybble 2 ; TM20
+ nybble 5 ; TM21
+ nybble 5 ; TM22
+ nybble 5 ; TM23
+ nybble 2 ; TM24
+ nybble 5 ; TM25
+ nybble 4 ; TM26
+ nybble 5 ; TM27
+ nybble 2 ; TM28
+ nybble 4 ; TM29
+ nybble 1 ; TM30
+ nybble 2 ; TM31
+ nybble 1 ; TM32
+ nybble 1 ; TM33
+ nybble 2 ; TM34
+ nybble 4 ; TM35
+ nybble 2 ; TM36
+ nybble 2 ; TM37
+ nybble 5 ; TM38
+ nybble 2 ; TM39
+ nybble 4 ; TM40
+ nybble 2 ; TM41
+ nybble 2 ; TM42
+ nybble 5 ; TM43
+ nybble 2 ; TM44
+ nybble 2 ; TM45
+ nybble 4 ; TM46
+ nybble 3 ; TM47
+ nybble 4 ; TM48
+ nybble 4 ; TM49
+ nybble 2 ; TM50
+ end_nybble_array NUM_TMS
diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm
index 131d525d..9680c48d 100644
--- a/data/items/vending_prices.asm
+++ b/data/items/vending_prices.asm
@@ -1,6 +1,6 @@
vend_item: MACRO
db \1
- money \2
+ bcd3 \2
ENDM
VendingPrices:
diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm
index e235efa1..a045838e 100644
--- a/data/maps/headers/Route22.asm
+++ b/data/maps/headers/Route22.asm
@@ -1,5 +1,5 @@
map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST
- connection north, Route23, ROUTE_23, 0
+ connection north, Route23, ROUTE_23, 0 ; unnecessary
connection east, ViridianCity, VIRIDIAN_CITY, -4
end_map_header
diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm
index e1535c9d..66c2936f 100644
--- a/data/maps/headers/Route23.asm
+++ b/data/maps/headers/Route23.asm
@@ -1,5 +1,5 @@
map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH
connection north, IndigoPlateau, INDIGO_PLATEAU, 0
- connection south, Route22, ROUTE_22, 0
+ connection south, Route22, ROUTE_22, 0 ; unnecessary
end_map_header
diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm
index 80a45e49..d6ed5b35 100644
--- a/data/pokemon/menu_icons.asm
+++ b/data/pokemon/menu_icons.asm
@@ -1,79 +1,154 @@
MonPartyData:
- table_width 1, MonPartyData
- dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur
- dn ICON_GRASS, ICON_MON ; Venusaur / Charmander
- dn ICON_MON, ICON_MON ; Charmeleon / Charizard
- dn ICON_WATER, ICON_WATER ; Squirtle / Wartortle
- dn ICON_WATER, ICON_BUG ; Blastoise / Caterpie
- dn ICON_BUG, ICON_BUG ; Metapod / Butterfree
- dn ICON_BUG, ICON_BUG ; Weedle / Kakuna
- dn ICON_BUG, ICON_BIRD ; Beedrill / Pidgey
- dn ICON_BIRD, ICON_BIRD ; Pidgeotto / Pidgeot
- dn ICON_QUADRUPED, ICON_QUADRUPED ; Rattata / Raticate
- dn ICON_BIRD, ICON_BIRD ; Spearow / Fearow
- dn ICON_SNAKE, ICON_SNAKE ; Ekans / Arbok
- dn ICON_FAIRY, ICON_FAIRY ; Pikachu / Raichu
- dn ICON_MON, ICON_MON ; Sandshrew / Sandslash
- dn ICON_MON, ICON_MON ; NidoranF / Nidorina
- dn ICON_MON, ICON_MON ; Nidoqueen / NidoranM
- dn ICON_MON, ICON_MON ; Nidorino / Nidoking
- dn ICON_FAIRY, ICON_FAIRY ; Clefairy / Clefable
- dn ICON_QUADRUPED, ICON_QUADRUPED ; Vulpix / Ninetales
- dn ICON_FAIRY, ICON_FAIRY ; Jigglypuff / Wigglytuff
- dn ICON_MON, ICON_MON ; Zubat / Golbat
- dn ICON_GRASS, ICON_GRASS ; Oddish / Gloom
- dn ICON_GRASS, ICON_BUG ; Vileplume / Paras
- dn ICON_BUG, ICON_BUG ; Parasect / Venonat
- dn ICON_BUG, ICON_MON ; Venomoth / Diglett
- dn ICON_MON, ICON_MON ; Dugtrio / Meowth
- dn ICON_MON, ICON_MON ; Persian / Psyduck
- dn ICON_MON, ICON_MON ; Golduck / Mankey
- dn ICON_MON, ICON_QUADRUPED ; Primeape / Growlithe
- dn ICON_QUADRUPED, ICON_MON ; Arcanine / Poliwag
- dn ICON_MON, ICON_MON ; Poliwhirl / Poliwrath
- dn ICON_MON, ICON_MON ; Abra / Kadabra
- dn ICON_MON, ICON_MON ; Alakazam / Machop
- dn ICON_MON, ICON_MON ; Machoke / Machamp
- dn ICON_GRASS, ICON_GRASS ; Bellsprout / Weepinbell
- dn ICON_GRASS, ICON_WATER ; Victreebel / Tentacool
- dn ICON_WATER, ICON_MON ; Tentacruel / Geodude
- dn ICON_MON, ICON_MON ; Graveler / Golem
- dn ICON_QUADRUPED, ICON_QUADRUPED ; Ponyta / Rapidash
- dn ICON_QUADRUPED, ICON_MON ; Slowpoke / Slowbro
- dn ICON_BALL, ICON_BALL ; Magnemite / Magneton
- dn ICON_BIRD, ICON_BIRD ; Farfetch'd / Doduo
- dn ICON_BIRD, ICON_WATER ; Dodrio / Seel
- dn ICON_WATER, ICON_MON ; Dewgong / Grimer
- dn ICON_MON, ICON_HELIX ; Muk / Shellder
- dn ICON_HELIX, ICON_MON ; Cloyster / Gastly
- dn ICON_MON, ICON_MON ; Haunter / Gengar
- dn ICON_SNAKE, ICON_MON ; Onix / Drowzee
- dn ICON_MON, ICON_WATER ; Hypno / Krabby
- dn ICON_WATER, ICON_BALL ; Kingler / Voltorb
- dn ICON_BALL, ICON_GRASS ; Electrode / Exeggcute
- dn ICON_GRASS, ICON_MON ; Exeggutor / Cubone
- dn ICON_MON, ICON_MON ; Marowak / Hitmonlee
- dn ICON_MON, ICON_MON ; Hitmonchan / Lickitung
- dn ICON_MON, ICON_MON ; Koffing / Weezing
- dn ICON_QUADRUPED, ICON_MON ; Rhyhorn / Rhydon
- dn ICON_FAIRY, ICON_GRASS ; Chansey / Tangela
- dn ICON_MON, ICON_WATER ; Kangaskhan / Horsea
- dn ICON_WATER, ICON_WATER ; Seadra / Goldeen
- dn ICON_WATER, ICON_HELIX ; Seaking / Staryu
- dn ICON_HELIX, ICON_MON ; Starmie / Mr.Mime
- dn ICON_BUG, ICON_MON ; Scyther / Jynx
- dn ICON_MON, ICON_MON ; Electabuzz / Magmar
- dn ICON_BUG, ICON_QUADRUPED ; Pinsir / Tauros
- dn ICON_WATER, ICON_SNAKE ; Magikarp / Gyarados
- dn ICON_WATER, ICON_MON ; Lapras / Ditto
- dn ICON_QUADRUPED, ICON_QUADRUPED ; Eevee / Vaporeon
- dn ICON_QUADRUPED, ICON_QUADRUPED ; Jolteon / Flareon
- dn ICON_MON, ICON_HELIX ; Porygon / Omanyte
- dn ICON_HELIX, ICON_HELIX ; Omastar / Kabuto
- dn ICON_HELIX, ICON_BIRD ; Kabutops / Aerodactyl
- dn ICON_MON, ICON_BIRD ; Snorlax / Articuno
- dn ICON_BIRD, ICON_BIRD ; Zapdos / Moltres
- dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair
- dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo
- dn ICON_MON, 0 ; Mew / padding
- assert_table_length (NUM_POKEMON + 1) / 2
+ nybble_array MonPartyData
+ nybble ICON_GRASS ; Bulbasaur
+ nybble ICON_GRASS ; Ivysaur
+ nybble ICON_GRASS ; Venusaur
+ nybble ICON_MON ; Charmander
+ nybble ICON_MON ; Charmeleon
+ nybble ICON_MON ; Charizard
+ nybble ICON_WATER ; Squirtle
+ nybble ICON_WATER ; Wartortle
+ nybble ICON_WATER ; Blastoise
+ nybble ICON_BUG ; Caterpie
+ nybble ICON_BUG ; Metapod
+ nybble ICON_BUG ; Butterfree
+ nybble ICON_BUG ; Weedle
+ nybble ICON_BUG ; Kakuna
+ nybble ICON_BUG ; Beedrill
+ nybble ICON_BIRD ; Pidgey
+ nybble ICON_BIRD ; Pidgeotto
+ nybble ICON_BIRD ; Pidgeot
+ nybble ICON_QUADRUPED ; Rattata
+ nybble ICON_QUADRUPED ; Raticate
+ nybble ICON_BIRD ; Spearow
+ nybble ICON_BIRD ; Fearow
+ nybble ICON_SNAKE ; Ekans
+ nybble ICON_SNAKE ; Arbok
+ nybble ICON_FAIRY ; Pikachu
+ nybble ICON_FAIRY ; Raichu
+ nybble ICON_MON ; Sandshrew
+ nybble ICON_MON ; Sandslash
+ nybble ICON_MON ; NidoranF
+ nybble ICON_MON ; Nidorina
+ nybble ICON_MON ; Nidoqueen
+ nybble ICON_MON ; NidoranM
+ nybble ICON_MON ; Nidorino
+ nybble ICON_MON ; Nidoking
+ nybble ICON_FAIRY ; Clefairy
+ nybble ICON_FAIRY ; Clefable
+ nybble ICON_QUADRUPED ; Vulpix
+ nybble ICON_QUADRUPED ; Ninetales
+ nybble ICON_FAIRY ; Jigglypuff
+ nybble ICON_FAIRY ; Wigglytuff
+ nybble ICON_MON ; Zubat
+ nybble ICON_MON ; Golbat
+ nybble ICON_GRASS ; Oddish
+ nybble ICON_GRASS ; Gloom
+ nybble ICON_GRASS ; Vileplume
+ nybble ICON_BUG ; Paras
+ nybble ICON_BUG ; Parasect
+ nybble ICON_BUG ; Venonat
+ nybble ICON_BUG ; Venomoth
+ nybble ICON_MON ; Diglett
+ nybble ICON_MON ; Dugtrio
+ nybble ICON_MON ; Meowth
+ nybble ICON_MON ; Persian
+ nybble ICON_MON ; Psyduck
+ nybble ICON_MON ; Golduck
+ nybble ICON_MON ; Mankey
+ nybble ICON_MON ; Primeape
+ nybble ICON_QUADRUPED ; Growlithe
+ nybble ICON_QUADRUPED ; Arcanine
+ nybble ICON_MON ; Poliwag
+ nybble ICON_MON ; Poliwhirl
+ nybble ICON_MON ; Poliwrath
+ nybble ICON_MON ; Abra
+ nybble ICON_MON ; Kadabra
+ nybble ICON_MON ; Alakazam
+ nybble ICON_MON ; Machop
+ nybble ICON_MON ; Machoke
+ nybble ICON_MON ; Machamp
+ nybble ICON_GRASS ; Bellsprout
+ nybble ICON_GRASS ; Weepinbell
+ nybble ICON_GRASS ; Victreebel
+ nybble ICON_WATER ; Tentacool
+ nybble ICON_WATER ; Tentacruel
+ nybble ICON_MON ; Geodude
+ nybble ICON_MON ; Graveler
+ nybble ICON_MON ; Golem
+ nybble ICON_QUADRUPED ; Ponyta
+ nybble ICON_QUADRUPED ; Rapidash
+ nybble ICON_QUADRUPED ; Slowpoke
+ nybble ICON_MON ; Slowbro
+ nybble ICON_BALL ; Magnemite
+ nybble ICON_BALL ; Magneton
+ nybble ICON_BIRD ; Farfetch'd
+ nybble ICON_BIRD ; Doduo
+ nybble ICON_BIRD ; Dodrio
+ nybble ICON_WATER ; Seel
+ nybble ICON_WATER ; Dewgong
+ nybble ICON_MON ; Grimer
+ nybble ICON_MON ; Muk
+ nybble ICON_HELIX ; Shellder
+ nybble ICON_HELIX ; Cloyster
+ nybble ICON_MON ; Gastly
+ nybble ICON_MON ; Haunter
+ nybble ICON_MON ; Gengar
+ nybble ICON_SNAKE ; Onix
+ nybble ICON_MON ; Drowzee
+ nybble ICON_MON ; Hypno
+ nybble ICON_WATER ; Krabby
+ nybble ICON_WATER ; Kingler
+ nybble ICON_BALL ; Voltorb
+ nybble ICON_BALL ; Electrode
+ nybble ICON_GRASS ; Exeggcute
+ nybble ICON_GRASS ; Exeggutor
+ nybble ICON_MON ; Cubone
+ nybble ICON_MON ; Marowak
+ nybble ICON_MON ; Hitmonlee
+ nybble ICON_MON ; Hitmonchan
+ nybble ICON_MON ; Lickitung
+ nybble ICON_MON ; Koffing
+ nybble ICON_MON ; Weezing
+ nybble ICON_QUADRUPED ; Rhyhorn
+ nybble ICON_MON ; Rhydon
+ nybble ICON_FAIRY ; Chansey
+ nybble ICON_GRASS ; Tangela
+ nybble ICON_MON ; Kangaskhan
+ nybble ICON_WATER ; Horsea
+ nybble ICON_WATER ; Seadra
+ nybble ICON_WATER ; Goldeen
+ nybble ICON_WATER ; Seaking
+ nybble ICON_HELIX ; Staryu
+ nybble ICON_HELIX ; Starmie
+ nybble ICON_MON ; Mr.Mime
+ nybble ICON_BUG ; Scyther
+ nybble ICON_MON ; Jynx
+ nybble ICON_MON ; Electabuzz
+ nybble ICON_MON ; Magmar
+ nybble ICON_BUG ; Pinsir
+ nybble ICON_QUADRUPED ; Tauros
+ nybble ICON_WATER ; Magikarp
+ nybble ICON_SNAKE ; Gyarados
+ nybble ICON_WATER ; Lapras
+ nybble ICON_MON ; Ditto
+ nybble ICON_QUADRUPED ; Eevee
+ nybble ICON_QUADRUPED ; Vaporeon
+ nybble ICON_QUADRUPED ; Jolteon
+ nybble ICON_QUADRUPED ; Flareon
+ nybble ICON_MON ; Porygon
+ nybble ICON_HELIX ; Omanyte
+ nybble ICON_HELIX ; Omastar
+ nybble ICON_HELIX ; Kabuto
+ nybble ICON_HELIX ; Kabutops
+ nybble ICON_BIRD ; Aerodactyl
+ nybble ICON_MON ; Snorlax
+ nybble ICON_BIRD ; Articuno
+ nybble ICON_BIRD ; Zapdos
+ nybble ICON_BIRD ; Moltres
+ nybble ICON_SNAKE ; Dratini
+ nybble ICON_SNAKE ; Dragonair
+ nybble ICON_SNAKE ; Dragonite
+ nybble ICON_MON ; Mewtwo
+ nybble ICON_MON ; Mew
+ end_nybble_array NUM_POKEMON
diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm
index fc1f34e8..375b0687 100644
--- a/data/tilesets/tileset_headers.asm
+++ b/data/tilesets/tileset_headers.asm
@@ -1,36 +1,36 @@
tileset: MACRO
- db BANK(\2) ; BANK(GFX)
- dw \1, \2, \3 ; Block, GFX, Coll
- db \4, \5, \6 ; counter tiles
- db \7 ; grass tile
- db \8 ; animations (TILEANIM_* value)
+ db BANK(\1_GFX)
+ dw \1_Block, \1_GFX, \1_Coll
+ db \2, \3, \4 ; counter tiles
+ db \5 ; grass tile
+ db \6 ; animations (TILEANIM_* value)
ENDM
Tilesets:
table_width 12, Tilesets
- ; block, gfx, coll, 3 counter tiles, grass tile, animations
- tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, TILEANIM_WATER_FLOWER
- tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, TILEANIM_NONE
- tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, TILEANIM_WATER
- tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, TILEANIM_WATER_FLOWER
- tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, TILEANIM_NONE
- tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, TILEANIM_WATER_FLOWER
- tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, TILEANIM_NONE
- tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, TILEANIM_NONE
- tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, TILEANIM_NONE
- tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER
- tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER
- tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, TILEANIM_NONE
- tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, TILEANIM_WATER
- tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, TILEANIM_NONE
- tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, TILEANIM_NONE
- tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, TILEANIM_NONE
- tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, TILEANIM_WATER
- tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, TILEANIM_WATER
+ ; name, 3 counter tiles, grass tile, animations
+ tileset Overworld, -1, -1, -1, $52, TILEANIM_WATER_FLOWER
+ tileset RedsHouse1, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Mart, $18,$19,$1E, -1, TILEANIM_NONE
+ tileset Forest, -1, -1, -1, $20, TILEANIM_WATER
+ tileset RedsHouse2, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Dojo, $3A, -1, -1, -1, TILEANIM_WATER_FLOWER
+ tileset Pokecenter, $18,$19,$1E, -1, TILEANIM_NONE
+ tileset Gym, $3A, -1, -1, -1, TILEANIM_WATER_FLOWER
+ tileset House, -1, -1, -1, -1, TILEANIM_NONE
+ tileset ForestGate, $17,$32, -1, -1, TILEANIM_NONE
+ tileset Museum, $17,$32, -1, -1, TILEANIM_NONE
+ tileset Underground, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Gate, $17,$32, -1, -1, TILEANIM_NONE
+ tileset Ship, -1, -1, -1, -1, TILEANIM_WATER
+ tileset ShipPort, -1, -1, -1, -1, TILEANIM_WATER
+ tileset Cemetery, $12, -1, -1, -1, TILEANIM_NONE
+ tileset Interior, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Cavern, -1, -1, -1, -1, TILEANIM_WATER
+ tileset Lobby, $15,$36, -1, -1, TILEANIM_NONE
+ tileset Mansion, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Lab, -1, -1, -1, -1, TILEANIM_NONE
+ tileset Club, $07,$17, -1, -1, TILEANIM_NONE
+ tileset Facility, $12, -1, -1, -1, TILEANIM_WATER
+ tileset Plateau, -1, -1, -1, $45, TILEANIM_WATER
assert_table_length NUM_TILESETS
diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm
index 3143095c..c60a3ef9 100644
--- a/data/trainers/pic_pointers_money.asm
+++ b/data/trainers/pic_pointers_money.asm
@@ -1,6 +1,6 @@
pic_money: MACRO
dw \1
- money \2
+ bcd3 \2
ENDM
TrainerPicAndMoneyPointers::