summaryrefslogtreecommitdiff
path: root/src/constants
diff options
context:
space:
mode:
Diffstat (limited to 'src/constants')
-rw-r--r--src/constants/card_data_constants.asm33
-rw-r--r--src/constants/duel_constants.asm12
-rw-r--r--src/constants/menu_constants.asm48
3 files changed, 78 insertions, 15 deletions
diff --git a/src/constants/card_data_constants.asm b/src/constants/card_data_constants.asm
index 3b775b0..2fc0bfc 100644
--- a/src/constants/card_data_constants.asm
+++ b/src/constants/card_data_constants.asm
@@ -8,9 +8,14 @@ CARD_NOT_OWNED EQU 1 << CARD_NOT_OWNED_F
CARD_COUNT_MASK EQU $7f
; sDeck* and generic deck constants
-NUM_DECKS EQU 4
-DECK_NAME_SIZE EQU 24
-DECK_SIZE EQU 60
+NUM_DECKS EQU 4
+DECK_NAME_SIZE EQU 24
+DECK_NAME_SIZE_WO_SUFFIX EQU 21 ; name part before "deck"
+DECK_SIZE EQU 60
+DECK_STRUCT_SIZE EQU DECK_NAME_SIZE + DECK_SIZE
+DECK_CONFIG_BUFFER_SIZE EQU 80
+MAX_NUM_SAME_NAME_CARDS EQU 4
+MAX_UNNAMED_DECK_NUM EQU 999
; card data offsets (data/cards.asm and card_data_struct)
@@ -128,13 +133,23 @@ DIAMOND EQU $1
STAR EQU $2
PROMOSTAR EQU $ff
+; card set constants (set 1)
+ const_def
+ const CARD_SET_COLOSSEUM ; $0
+ const CARD_SET_EVOLUTION ; $1
+ const CARD_SET_MYSTERY ; $2
+ const CARD_SET_LABORATORY ; $3
+ const CARD_SET_PROMOTIONAL ; $4
+ const CARD_SET_ENERGY ; $5
+NUM_CARD_SETS EQU const_value - 1
+
; CARD_DATA_SET constants (set 1)
-COLOSSEUM EQU $0 << 4
-EVOLUTION EQU $1 << 4
-MYSTERY EQU $2 << 4
-LABORATORY EQU $3 << 4
-PROMOTIONAL EQU $4 << 4
-ENERGY EQU $5 << 4
+COLOSSEUM EQU CARD_SET_COLOSSEUM << 4
+EVOLUTION EQU CARD_SET_EVOLUTION << 4
+MYSTERY EQU CARD_SET_MYSTERY << 4
+LABORATORY EQU CARD_SET_LABORATORY << 4
+PROMOTIONAL EQU CARD_SET_PROMOTIONAL << 4
+ENERGY EQU CARD_SET_ENERGY << 4
; CARD_DATA_SET constants (set 2)
JUNGLE EQU $1
diff --git a/src/constants/duel_constants.asm b/src/constants/duel_constants.asm
index fe21753..89377dc 100644
--- a/src/constants/duel_constants.asm
+++ b/src/constants/duel_constants.asm
@@ -257,12 +257,12 @@ EFFECT_FAILED_UNSUCCESSFUL EQU $02
; wAnimationQueue length
ANIMATION_QUEUE_LENGTH EQU 7
-PRIZES_1 EQU $01
-PRIZES_2 EQU $02
-PRIZES_3 EQU $03
-PRIZES_4 EQU $04
-PRIZES_5 EQU $05
-PRIZES_6 EQU $06
+PRIZES_1 EQU $01
+PRIZES_2 EQU $02
+PRIZES_3 EQU $03
+PRIZES_4 EQU $04
+PRIZES_5 EQU $05
+PRIZES_6 EQU $06
; constants to use as input to LookForCardInDeck
SEARCHEFFECT_CARD_ID EQU $0
diff --git a/src/constants/menu_constants.asm b/src/constants/menu_constants.asm
new file mode 100644
index 0000000..86df8bf
--- /dev/null
+++ b/src/constants/menu_constants.asm
@@ -0,0 +1,48 @@
+; filter types for CardTypeFilters
+; used to categorise the different cards
+; i.e. in the deck building screen
+FILTER_FIRE EQUS "TYPE_PKMN_FIRE"
+FILTER_GRASS EQUS "TYPE_PKMN_GRASS"
+FILTER_LIGHTNING EQUS "TYPE_PKMN_LIGHTNING"
+FILTER_WATER EQUS "TYPE_PKMN_WATER"
+FILTER_FIGHTING EQUS "TYPE_PKMN_FIGHTING"
+FILTER_PSYCHIC EQUS "TYPE_PKMN_PSYCHIC"
+FILTER_COLORLESS EQUS "TYPE_PKMN_COLORLESS"
+FILTER_TRAINER EQUS "TYPE_TRAINER"
+FILTER_ENERGY EQU $20
+
+NUM_FILTERS EQU 9
+
+NUM_DECK_CONFIRMATION_VISIBLE_CARDS EQU 7
+NUM_CARD_ALBUM_VISIBLE_CARDS EQU 7
+NUM_FILTERED_LIST_VISIBLE_CARDS EQU 6
+NUM_DECK_MACHINE_VISIBLE_DECKS EQU 5
+
+; deck flags
+ const_def
+ const DECK_1_F ; $0
+ const DECK_2_F ; $1
+ const DECK_3_F ; $2
+ const DECK_4_F ; $3
+
+DECK_1 EQU 1 << DECK_1_F ; $1
+DECK_2 EQU 1 << DECK_2_F ; $2
+DECK_3 EQU 1 << DECK_3_F ; $4
+DECK_4 EQU 1 << DECK_4_F ; $8
+
+ALL_DECKS EQU $ff
+
+NUM_DECK_SAVE_MACHINE_SLOTS EQU 60
+NUM_DECK_MACHINE_SLOTS EQU 5
+
+; TODO find a way to not have these hardcoded?
+NUM_CARDS_COLOSSEUM EQU 56
+NUM_CARDS_EVOLUTION EQU 50
+NUM_CARDS_MYSTERY EQU 51
+NUM_CARDS_LABORATORY EQU 51
+NUM_CARDS_PROMOTIONAL EQU 20
+
+; wOwnedPhantomCardFlags flags
+ const_def
+ const VENUSAUR_OWNED_PHANTOM_F ; $0
+ const MEW_OWNED_PHANTOM_F ; $1