diff options
author | Rangi <35663410+Rangi42@users.noreply.github.com> | 2021-04-27 12:11:39 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-27 12:11:39 -0400 |
commit | efd1006917b438ff683e8f702adbe6b4d0733a0f (patch) | |
tree | f16f9860af61e855d90db4c9641af84034be4644 /macros/wram.asm | |
parent | c5f9e25cc493ecc0e49ffd437dad73893b5529d0 (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.asm | 46 |
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 |