mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Merge pull request #816 from Rangi42/lists
Verify uneven list sizes with list_start, li, and assert_list_length macros
This commit is contained in:
commit
e2838892d6
@ -18,7 +18,8 @@ DECOATTR_STRUCT_LENGTH EQU _RS
|
||||
NUM_DECO_TYPES EQU const_value - 1
|
||||
|
||||
; DecorationNames indexes (see data/decorations/names.asm)
|
||||
const_def 1
|
||||
const_def
|
||||
const CANCEL_DECO
|
||||
const PUT_IT_AWAY
|
||||
const MAGNAPLANT
|
||||
const TROPICPLANT
|
||||
@ -44,6 +45,7 @@ NUM_DECO_TYPES EQU const_value - 1
|
||||
const BLUE_CARPET
|
||||
const YELLOW_CARPET
|
||||
const GREEN_CARPET
|
||||
NUM_DECO_NAMES EQU const_value
|
||||
|
||||
; DoDecorationAction2.DecoActions indexes (see engine/overworld/decorations.asm)
|
||||
const_def 1
|
||||
|
@ -1,10 +1,12 @@
|
||||
StatNames:
|
||||
; entries correspond to stat ids
|
||||
db "ATTACK@"
|
||||
db "DEFENSE@"
|
||||
db "SPEED@"
|
||||
db "SPCL.ATK@"
|
||||
db "SPCL.DEF@"
|
||||
db "ACCURACY@"
|
||||
db "EVASION@"
|
||||
db "ABILITY@" ; used for BattleCommand_Curse
|
||||
list_start StatNames
|
||||
li "ATTACK"
|
||||
li "DEFENSE"
|
||||
li "SPEED"
|
||||
li "SPCL.ATK"
|
||||
li "SPCL.DEF"
|
||||
li "ACCURACY"
|
||||
li "EVASION"
|
||||
li "ABILITY" ; used for BattleCommand_Curse
|
||||
assert_list_length NUM_LEVEL_STATS
|
||||
|
@ -1,28 +1,30 @@
|
||||
DecorationNames:
|
||||
; entries correspond to constants/deco_constants.asm
|
||||
db "CANCEL@"
|
||||
db "PUT IT AWAY@"
|
||||
db "MAGNAPLANT@"
|
||||
db "TROPICPLANT@"
|
||||
db "JUMBOPLANT@"
|
||||
db "TOWN MAP@"
|
||||
db "NES@"
|
||||
db "SUPER NES@"
|
||||
db "NINTENDO 64@"
|
||||
db "VIRTUAL BOY@"
|
||||
db "GOLD TROPHY@"
|
||||
db "SILVER TROPHY@"
|
||||
db "SURF PIKACHU DOLL@"
|
||||
db " BED@"
|
||||
db " CARPET@"
|
||||
db " POSTER@"
|
||||
db " DOLL@"
|
||||
db "BIG @"
|
||||
db "FEATHERY@"
|
||||
db "PIKACHU@"
|
||||
db "PINK@"
|
||||
db "POLKADOT@"
|
||||
db "RED@"
|
||||
db "BLUE@"
|
||||
db "YELLOW@"
|
||||
db "GREEN@"
|
||||
list_start DecorationNames
|
||||
li "CANCEL"
|
||||
li "PUT IT AWAY"
|
||||
li "MAGNAPLANT"
|
||||
li "TROPICPLANT"
|
||||
li "JUMBOPLANT"
|
||||
li "TOWN MAP"
|
||||
li "NES"
|
||||
li "SUPER NES"
|
||||
li "NINTENDO 64"
|
||||
li "VIRTUAL BOY"
|
||||
li "GOLD TROPHY"
|
||||
li "SILVER TROPHY"
|
||||
li "SURF PIKACHU DOLL"
|
||||
li " BED"
|
||||
li " CARPET"
|
||||
li " POSTER"
|
||||
li " DOLL"
|
||||
li "BIG "
|
||||
li "FEATHERY"
|
||||
li "PIKACHU"
|
||||
li "PINK"
|
||||
li "POLKADOT"
|
||||
li "RED"
|
||||
li "BLUE"
|
||||
li "YELLOW"
|
||||
li "GREEN"
|
||||
assert_list_length NUM_DECO_NAMES
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -7,16 +7,19 @@
|
||||
const MONMENUVALUE_MOVE ; 5
|
||||
const MONMENUVALUE_MAIL ; 6
|
||||
const MONMENUVALUE_ERROR ; 7
|
||||
NUM_MONMENUVALUES EQU const_value - 1
|
||||
|
||||
MonMenuOptionStrings:
|
||||
; entries correspond to MONMENUVALUE_* constants
|
||||
db "STATS@"
|
||||
db "SWITCH@"
|
||||
db "ITEM@"
|
||||
db "CANCEL@"
|
||||
db "MOVE@"
|
||||
db "MAIL@"
|
||||
db "ERROR!@"
|
||||
list_start MonMenuOptionStrings
|
||||
li "STATS"
|
||||
li "SWITCH"
|
||||
li "ITEM"
|
||||
li "CANCEL"
|
||||
li "MOVE"
|
||||
li "MAIL"
|
||||
li "ERROR!"
|
||||
assert_list_length NUM_MONMENUVALUES
|
||||
|
||||
MonMenuOptions:
|
||||
; category, item, value; actions are in PokemonActionSubmenu (see engine/pokemon/mon_menu.asm)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ MalePlayerNameArray:
|
||||
db "MAT@"
|
||||
db "ALLAN@"
|
||||
db "JON@"
|
||||
db 2 ; displacement
|
||||
db 2 ; title indent
|
||||
db " NAME @" ; title
|
||||
|
||||
KrisNameMenuHeader:
|
||||
|
@ -1,69 +1,71 @@
|
||||
TrainerClassNames::
|
||||
; entries correspond to trainer classes (see constants/trainer_constants.asm)
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "RIVAL@"
|
||||
db "#MON PROF.@"
|
||||
db "ELITE FOUR@"
|
||||
db "<PKMN> TRAINER@"
|
||||
db "ELITE FOUR@"
|
||||
db "ELITE FOUR@"
|
||||
db "ELITE FOUR@"
|
||||
db "CHAMPION@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "LEADER@"
|
||||
db "SCIENTIST@"
|
||||
db "LEADER@"
|
||||
db "YOUNGSTER@"
|
||||
db "SCHOOLBOY@"
|
||||
db "BIRD KEEPER@"
|
||||
db "LASS@"
|
||||
db "LEADER@"
|
||||
db "COOLTRAINER@"
|
||||
db "COOLTRAINER@"
|
||||
db "BEAUTY@"
|
||||
db "#MANIAC@"
|
||||
db "ROCKET@"
|
||||
db "GENTLEMAN@"
|
||||
db "SKIER@"
|
||||
db "TEACHER@"
|
||||
db "LEADER@"
|
||||
db "BUG CATCHER@"
|
||||
db "FISHER@"
|
||||
db "SWIMMER♂@"
|
||||
db "SWIMMER♀@"
|
||||
db "SAILOR@"
|
||||
db "SUPER NERD@"
|
||||
db "RIVAL@"
|
||||
db "GUITARIST@"
|
||||
db "HIKER@"
|
||||
db "BIKER@"
|
||||
db "LEADER@"
|
||||
db "BURGLAR@"
|
||||
db "FIREBREATHER@"
|
||||
db "JUGGLER@"
|
||||
db "BLACKBELT@"
|
||||
db "ROCKET@"
|
||||
db "PSYCHIC@"
|
||||
db "PICNICKER@"
|
||||
db "CAMPER@"
|
||||
db "ROCKET@"
|
||||
db "SAGE@"
|
||||
db "MEDIUM@"
|
||||
db "BOARDER@"
|
||||
db "#FAN@"
|
||||
db "KIMONO GIRL@"
|
||||
db "TWINS@"
|
||||
db "#FAN@"
|
||||
db "<PKMN> TRAINER@"
|
||||
db "LEADER@"
|
||||
db "OFFICER@"
|
||||
db "ROCKET@"
|
||||
db "MYSTICALMAN@"
|
||||
list_start TrainerClassNames
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "RIVAL"
|
||||
li "#MON PROF."
|
||||
li "ELITE FOUR"
|
||||
li "<PKMN> TRAINER"
|
||||
li "ELITE FOUR"
|
||||
li "ELITE FOUR"
|
||||
li "ELITE FOUR"
|
||||
li "CHAMPION"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "LEADER"
|
||||
li "SCIENTIST"
|
||||
li "LEADER"
|
||||
li "YOUNGSTER"
|
||||
li "SCHOOLBOY"
|
||||
li "BIRD KEEPER"
|
||||
li "LASS"
|
||||
li "LEADER"
|
||||
li "COOLTRAINER"
|
||||
li "COOLTRAINER"
|
||||
li "BEAUTY"
|
||||
li "#MANIAC"
|
||||
li "ROCKET"
|
||||
li "GENTLEMAN"
|
||||
li "SKIER"
|
||||
li "TEACHER"
|
||||
li "LEADER"
|
||||
li "BUG CATCHER"
|
||||
li "FISHER"
|
||||
li "SWIMMER♂"
|
||||
li "SWIMMER♀"
|
||||
li "SAILOR"
|
||||
li "SUPER NERD"
|
||||
li "RIVAL"
|
||||
li "GUITARIST"
|
||||
li "HIKER"
|
||||
li "BIKER"
|
||||
li "LEADER"
|
||||
li "BURGLAR"
|
||||
li "FIREBREATHER"
|
||||
li "JUGGLER"
|
||||
li "BLACKBELT"
|
||||
li "ROCKET"
|
||||
li "PSYCHIC"
|
||||
li "PICNICKER"
|
||||
li "CAMPER"
|
||||
li "ROCKET"
|
||||
li "SAGE"
|
||||
li "MEDIUM"
|
||||
li "BOARDER"
|
||||
li "#FAN"
|
||||
li "KIMONO GIRL"
|
||||
li "TWINS"
|
||||
li "#FAN"
|
||||
li "<PKMN> TRAINER"
|
||||
li "LEADER"
|
||||
li "OFFICER"
|
||||
li "ROCKET"
|
||||
li "MYSTICALMAN"
|
||||
assert_list_length NUM_TRAINER_CLASSES
|
||||
|
@ -9,10 +9,11 @@ rept _NARG - 1
|
||||
shift
|
||||
endr
|
||||
db 0
|
||||
list_index = list_index + 1
|
||||
ENDM
|
||||
|
||||
RoamMaps:
|
||||
; there are NUM_ROAMMON_MAPS entries
|
||||
list_start RoamMaps
|
||||
; start map, ...other maps
|
||||
roam_map ROUTE_29, ROUTE_30, ROUTE_46
|
||||
roam_map ROUTE_30, ROUTE_29, ROUTE_31
|
||||
@ -30,4 +31,5 @@ RoamMaps:
|
||||
roam_map ROUTE_44, ROUTE_42, ROUTE_43, ROUTE_45
|
||||
roam_map ROUTE_45, ROUTE_44, ROUTE_46
|
||||
roam_map ROUTE_46, ROUTE_45, ROUTE_29
|
||||
assert_list_length NUM_ROAMMON_MAPS
|
||||
db -1 ; end
|
||||
|
@ -19,6 +19,31 @@ x = \1
|
||||
"{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes"
|
||||
ENDM
|
||||
|
||||
list_start: MACRO
|
||||
list_index = 0
|
||||
if DEF(CURRENT_LIST_START)
|
||||
PURGE CURRENT_LIST_START
|
||||
endc
|
||||
if _NARG == 1
|
||||
CURRENT_LIST_START EQUS "\1"
|
||||
else
|
||||
CURRENT_LIST_START EQUS "._list_start\@"
|
||||
CURRENT_LIST_START:
|
||||
endc
|
||||
ENDM
|
||||
|
||||
li: MACRO
|
||||
assert !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1)
|
||||
db \1, "@"
|
||||
list_index = list_index + 1
|
||||
ENDM
|
||||
|
||||
assert_list_length: MACRO
|
||||
x = \1
|
||||
assert x == list_index, \
|
||||
"{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}"
|
||||
ENDM
|
||||
|
||||
def_grass_wildmons: MACRO
|
||||
;\1: map id
|
||||
if DEF(CURRENT_GRASS_WILDMONS_MAP)
|
||||
|
Loading…
x
Reference in New Issue
Block a user