summaryrefslogtreecommitdiff
path: root/macros/wram.asm
diff options
context:
space:
mode:
authorRangi <35663410+Rangi42@users.noreply.github.com>2021-04-27 12:11:39 -0400
committerGitHub <noreply@github.com>2021-04-27 12:11:39 -0400
commitefd1006917b438ff683e8f702adbe6b4d0733a0f (patch)
treef16f9860af61e855d90db4c9641af84034be4644 /macros/wram.asm
parentc5f9e25cc493ecc0e49ffd437dad73893b5529d0 (diff)
Use {interpolation} to generate sequences of RAM labels
This makes the table_width/assert_table_length usages unnecessary, and also keeps the labels automatically up to date if the length constants change.
Diffstat (limited to 'macros/wram.asm')
-rw-r--r--macros/wram.asm46
1 files changed, 25 insertions, 21 deletions
diff --git a/macros/wram.asm b/macros/wram.asm
index 8ed452885..9fd997ac0 100644
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -100,13 +100,23 @@ battle_struct: MACRO
ENDM
box: MACRO
-\1Count:: db
-\1Species:: ds MONS_PER_BOX + 1
+\1Count:: db
+\1Species:: ds MONS_PER_BOX + 1
\1Mons::
-\1Mon1:: box_struct \1Mon1
-\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX - 1)
-\1MonOTs:: ds NAME_LENGTH * MONS_PER_BOX
-\1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX
+; \1Mon1 - \1Mon20
+for n, 1, MONS_PER_BOX + 1
+\1Mon{d:n}:: box_struct \1Mon{d:n}
+endr
+\1MonOTs::
+; \1Mon1OT - \1Mon20OT
+for n, 1, MONS_PER_BOX + 1
+\1Mon{d:n}OT:: ds NAME_LENGTH
+endr
+\1MonNicknames::
+; \1Mon1Nickname - \1Mon20Nickname
+for n, 1, MONS_PER_BOX + 1
+\1Mon{d:n}Nickname:: ds MON_NAME_LENGTH
+endr
\1MonNicknamesEnd::
\1End::
ds 2 ; padding
@@ -171,15 +181,11 @@ ENDM
battle_tower_struct: MACRO
\1Name:: ds NAME_LENGTH - 1
\1TrainerClass:: db
-\1Mon1:: party_struct \1Mon1
-\1Mon1Name:: ds MON_NAME_LENGTH
-\1Mon1NameEnd::
-\1Mon2:: party_struct \1Mon2
-\1Mon2Name:: ds MON_NAME_LENGTH
-\1Mon2NameEnd::
-\1Mon3:: party_struct \1Mon3
-\1Mon3Name:: ds MON_NAME_LENGTH
-\1Mon3NameEnd::
+; \1Mon1 - \1Mon3 and \1Mon1Name - \1Mon3Name
+for n, 1, BATTLETOWER_PARTY_LENGTH + 1
+\1Mon{d:n}:: party_struct \1Mon{d:n}
+\1Mon{d:n}Name:: ds MON_NAME_LENGTH
+endr
\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH
\1TrainerEnd::
ENDM
@@ -221,12 +227,10 @@ ENDM
hall_of_fame: MACRO
\1WinCount:: db
-\1Mon1:: hof_mon \1Mon1
-\1Mon2:: hof_mon \1Mon2
-\1Mon3:: hof_mon \1Mon3
-\1Mon4:: hof_mon \1Mon4
-\1Mon5:: hof_mon \1Mon5
-\1Mon6:: hof_mon \1Mon6
+; \1Mon1 - \1Mon6
+for n, 1, PARTY_LENGTH + 1
+\1Mon{d:n}:: hof_mon \1Mon{d:n}
+endr
\1End:: db
ENDM