diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-04-27 12:30:04 -0400 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2021-04-27 12:30:04 -0400 |
commit | 2a9ae6ecefe12e798c15e7a37a77005f5373aa9d (patch) | |
tree | 130d959ec25729831aad44d2e741b82af5dcf429 | |
parent | 5f2d61034527ffd2c36eaa4d4079e9948dc809b4 (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.
-rw-r--r-- | constants/pokemon_data_constants.asm | 8 | ||||
-rw-r--r-- | engine/battle/core.asm | 2 | ||||
-rw-r--r-- | engine/battle_anims/bg_effects.asm | 2 | ||||
-rw-r--r-- | macros/wram.asm | 32 | ||||
-rw-r--r-- | sram.asm | 136 | ||||
-rw-r--r-- | vram.asm | 20 | ||||
-rw-r--r-- | wram.asm | 309 |
7 files changed, 165 insertions, 344 deletions
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 171068e7..12670215 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -116,12 +116,16 @@ PARTY_LENGTH EQU 6 ; boxes MONS_PER_BOX EQU 20 +; box: count, species, mons, OTs, nicknames, padding +BOX_LENGTH EQU 1 + MONS_PER_BOX + 1 + (BOXMON_STRUCT_LENGTH + NAME_LENGTH + MON_NAME_LENGTH) * MONS_PER_BOX + 2 ; $450 NUM_BOXES EQU 14 NUM_BOXES_JAPANESE EQU 9 ; hall of fame -HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; species, id, dvs, level, nick -HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator +; hof_mon: species, id, dvs, level, nicknames +HOF_MON_LENGTH EQU 1 + 2 + 2 + 1 + (MON_NAME_LENGTH - 1) ; $10 +; hall_of_fame: win count, party, terminator +HOF_LENGTH EQU 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; $62 NUM_HOF_TEAMS EQU 30 ; evolution types (used in data/pokemon/evos_attacks.asm) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 3749b421..7e13f89d 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6166,7 +6166,7 @@ LoadEnemyMon: and a ret z -; Update enemy nick +; Update enemy nickname ld hl, wStringBuffer1 ld de, wEnemyMonNickname ld bc, MON_NAME_LENGTH diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index 466310fc..c6699270 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -2255,7 +2255,7 @@ BattleBGEffect_Rollout: ldh [hSCY], a xor $ff inc a - ld [wAnimObject01YOffset], a + ld [wAnimObject1YOffset], a ret BattleBGEffect_ShakeScreenX: diff --git a/macros/wram.asm b/macros/wram.asm index 419c8397..f791f053 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -97,13 +97,23 @@ battle_struct: MACRO ENDM curbox: 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:: ENDM @@ -206,12 +216,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 @@ -14,54 +14,30 @@ ENDU SECTION "SRAM Bank 0", SRAM sPartyMail:: - table_width MAIL_STRUCT_LENGTH, sPartyMail -sPartyMon1Mail:: mailmsg sPartyMon1Mail -sPartyMon2Mail:: mailmsg sPartyMon2Mail -sPartyMon3Mail:: mailmsg sPartyMon3Mail -sPartyMon4Mail:: mailmsg sPartyMon4Mail -sPartyMon5Mail:: mailmsg sPartyMon5Mail -sPartyMon6Mail:: mailmsg sPartyMon6Mail - assert_table_length PARTY_LENGTH +; sPartyMon1Mail - sPartyMon6Mail +for n, 1, PARTY_LENGTH + 1 +sPartyMon{d:n}Mail:: mailmsg sPartyMon{d:n}Mail +endr sPartyMailBackup:: - table_width MAIL_STRUCT_LENGTH, sPartyMailBackup -sPartyMon1MailBackup:: mailmsg sPartyMon1MailBackup -sPartyMon2MailBackup:: mailmsg sPartyMon2MailBackup -sPartyMon3MailBackup:: mailmsg sPartyMon3MailBackup -sPartyMon4MailBackup:: mailmsg sPartyMon4MailBackup -sPartyMon5MailBackup:: mailmsg sPartyMon5MailBackup -sPartyMon6MailBackup:: mailmsg sPartyMon6MailBackup - assert_table_length PARTY_LENGTH +; sPartyMon1MailBackup - sPartyMon6MailBackup +for n, 1, PARTY_LENGTH + 1 +sPartyMon{d:n}MailBackup:: mailmsg sPartyMon{d:n}MailBackup +endr sMailboxCount:: db sMailboxes:: - table_width MAIL_STRUCT_LENGTH, sMailboxes -sMailbox1:: mailmsg sMailbox1 -sMailbox2:: mailmsg sMailbox2 -sMailbox3:: mailmsg sMailbox3 -sMailbox4:: mailmsg sMailbox4 -sMailbox5:: mailmsg sMailbox5 -sMailbox6:: mailmsg sMailbox6 -sMailbox7:: mailmsg sMailbox7 -sMailbox8:: mailmsg sMailbox8 -sMailbox9:: mailmsg sMailbox9 -sMailbox10:: mailmsg sMailbox10 - assert_table_length MAILBOX_CAPACITY +; sMailbox1 - sMailbox10 +for n, 1, MAILBOX_CAPACITY + 1 +sMailbox{d:n}:: mailmsg sMailbox{d:n} +endr sMailboxCountBackup:: db sMailboxesBackup:: - table_width MAIL_STRUCT_LENGTH, sMailboxesBackup -sMailbox1Backup:: mailmsg sMailbox1Backup -sMailbox2Backup:: mailmsg sMailbox2Backup -sMailbox3Backup:: mailmsg sMailbox3Backup -sMailbox4Backup:: mailmsg sMailbox4Backup -sMailbox5Backup:: mailmsg sMailbox5Backup -sMailbox6Backup:: mailmsg sMailbox6Backup -sMailbox7Backup:: mailmsg sMailbox7Backup -sMailbox8Backup:: mailmsg sMailbox8Backup -sMailbox9Backup:: mailmsg sMailbox9Backup -sMailbox10Backup:: mailmsg sMailbox10Backup - assert_table_length MAILBOX_CAPACITY +; sMailbox1Backup - sMailbox10Backup +for n, 1, MAILBOX_CAPACITY + 1 +sMailbox{d:n}Backup:: mailmsg sMailbox{d:n}Backup +endr sMysteryGiftData:: sMysteryGiftItem:: db @@ -141,51 +117,20 @@ sLinkBattleLosses:: dw sLinkBattleDraws:: dw sLinkBattleRecord:: - table_width LINK_BATTLE_RECORD_LENGTH, sLinkBattleRecord -sLinkBattleRecord1:: link_battle_record sLinkBattleRecord1 -sLinkBattleRecord2:: link_battle_record sLinkBattleRecord2 -sLinkBattleRecord3:: link_battle_record sLinkBattleRecord3 -sLinkBattleRecord4:: link_battle_record sLinkBattleRecord4 -sLinkBattleRecord5:: link_battle_record sLinkBattleRecord5 - assert_table_length NUM_LINK_BATTLE_RECORDS +; sLinkBattleRecord1 - sLinkBattleRecord5 +for n, 1, NUM_LINK_BATTLE_RECORDS + 1 +sLinkBattleRecord{d:n}:: link_battle_record sLinkBattleRecord{d:n} +endr sLinkBattleStatsEnd:: SECTION "SRAM Hall of Fame", SRAM sHallOfFame:: - table_width HOF_LENGTH, sHallOfFame -sHallOfFame01:: hall_of_fame sHallOfFame01 -sHallOfFame02:: hall_of_fame sHallOfFame02 -sHallOfFame03:: hall_of_fame sHallOfFame03 -sHallOfFame04:: hall_of_fame sHallOfFame04 -sHallOfFame05:: hall_of_fame sHallOfFame05 -sHallOfFame06:: hall_of_fame sHallOfFame06 -sHallOfFame07:: hall_of_fame sHallOfFame07 -sHallOfFame08:: hall_of_fame sHallOfFame08 -sHallOfFame09:: hall_of_fame sHallOfFame09 -sHallOfFame10:: hall_of_fame sHallOfFame10 -sHallOfFame11:: hall_of_fame sHallOfFame11 -sHallOfFame12:: hall_of_fame sHallOfFame12 -sHallOfFame13:: hall_of_fame sHallOfFame13 -sHallOfFame14:: hall_of_fame sHallOfFame14 -sHallOfFame15:: hall_of_fame sHallOfFame15 -sHallOfFame16:: hall_of_fame sHallOfFame16 -sHallOfFame17:: hall_of_fame sHallOfFame17 -sHallOfFame18:: hall_of_fame sHallOfFame18 -sHallOfFame19:: hall_of_fame sHallOfFame19 -sHallOfFame20:: hall_of_fame sHallOfFame20 -sHallOfFame21:: hall_of_fame sHallOfFame21 -sHallOfFame22:: hall_of_fame sHallOfFame22 -sHallOfFame23:: hall_of_fame sHallOfFame23 -sHallOfFame24:: hall_of_fame sHallOfFame24 -sHallOfFame25:: hall_of_fame sHallOfFame25 -sHallOfFame26:: hall_of_fame sHallOfFame26 -sHallOfFame27:: hall_of_fame sHallOfFame27 -sHallOfFame28:: hall_of_fame sHallOfFame28 -sHallOfFame29:: hall_of_fame sHallOfFame29 -sHallOfFame30:: hall_of_fame sHallOfFame30 - assert_table_length NUM_HOF_TEAMS +; sHallOfFame1 - sHallOfFame30 +for n, 1, NUM_HOF_TEAMS + 1 +sHallOfFame{d:n}:: hall_of_fame sHallOfFame{d:n} +endr sHallOfFameEnd:: @@ -194,26 +139,29 @@ SECTION "Backup Save 2", SRAM sBackupPlayerData2:: ds wPlayerData2End - wPlayerData2 -SECTION "Boxes 1-7", SRAM +; The PC boxes will not fit into one SRAM bank, +; so they use multiple SECTIONs +box_n = 0 +boxes: MACRO +rept \1 +box_n = box_n + 1 +sBox{d:box_n}:: box sBox{d:box_n} +endr +ENDM -sBox1:: box sBox1 -sBox2:: box sBox2 -sBox3:: box sBox3 -sBox4:: box sBox4 -sBox5:: box sBox5 -sBox6:: box sBox6 -sBox7:: box sBox7 +SECTION "Boxes 1-7", SRAM +; sBox1 - sBox7 + boxes 7 SECTION "Boxes 8-14", SRAM -sBox8:: box sBox8 -sBox9:: box sBox9 -sBox10:: box sBox10 -sBox11:: box sBox11 -sBox12:: box sBox12 -sBox13:: box sBox13 -sBox14:: box sBox14 +; sBox8 - sBox14 + boxes 7 + +; All 14 boxes fit exactly within 2 SRAM banks + assert box_n == NUM_BOXES, \ + "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" SECTION "Backup Save 3", SRAM @@ -1,16 +1,16 @@ SECTION "VRAM0", VRAM -vTiles0:: ds $800 -vTiles1:: ds $800 -vTiles2:: ds $800 -vBGMap0:: ds $400 -vBGMap1:: ds $400 +vTiles0:: ds $80 tiles +vTiles1:: ds $80 tiles +vTiles2:: ds $80 tiles +vBGMap0:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +vBGMap1:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT SECTION "VRAM1", VRAM -vTiles3:: ds $800 -vTiles4:: ds $800 -vTiles5:: ds $800 -vBGMap2:: ds $400 -vBGMap3:: ds $400 +vTiles3:: ds $80 tiles +vTiles4:: ds $80 tiles +vTiles5:: ds $80 tiles +vBGMap2:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +vBGMap3:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT @@ -12,17 +12,10 @@ SECTION "Audio RAM", WRAM0 wMusicPlaying:: db wAudio:: - table_width CHANNEL_STRUCT_LENGTH, wAudio -wChannel1:: channel_struct wChannel1 -wChannel2:: channel_struct wChannel2 -wChannel3:: channel_struct wChannel3 -wChannel4:: channel_struct wChannel4 - assert_table_length NUM_MUSIC_CHANS -wChannel5:: channel_struct wChannel5 -wChannel6:: channel_struct wChannel6 -wChannel7:: channel_struct wChannel7 -wChannel8:: channel_struct wChannel8 - assert_table_length NUM_CHANNELS +; wChannel1 - wChannel8 +for n, 1, NUM_CHANNELS + 1 +wChannel{d:n}:: channel_struct wChannel{d:n} +endr ds 1 @@ -158,48 +151,10 @@ wOBPals2:: ds 8 palettes SECTION "Sprites", WRAM0 wVirtualOAM:: - table_width SPRITEOAMSTRUCT_LENGTH, wVirtualOAM -wVirtualOAMSprite00:: sprite_oam_struct wVirtualOAMSprite00 -wVirtualOAMSprite01:: sprite_oam_struct wVirtualOAMSprite01 -wVirtualOAMSprite02:: sprite_oam_struct wVirtualOAMSprite02 -wVirtualOAMSprite03:: sprite_oam_struct wVirtualOAMSprite03 -wVirtualOAMSprite04:: sprite_oam_struct wVirtualOAMSprite04 -wVirtualOAMSprite05:: sprite_oam_struct wVirtualOAMSprite05 -wVirtualOAMSprite06:: sprite_oam_struct wVirtualOAMSprite06 -wVirtualOAMSprite07:: sprite_oam_struct wVirtualOAMSprite07 -wVirtualOAMSprite08:: sprite_oam_struct wVirtualOAMSprite08 -wVirtualOAMSprite09:: sprite_oam_struct wVirtualOAMSprite09 -wVirtualOAMSprite10:: sprite_oam_struct wVirtualOAMSprite10 -wVirtualOAMSprite11:: sprite_oam_struct wVirtualOAMSprite11 -wVirtualOAMSprite12:: sprite_oam_struct wVirtualOAMSprite12 -wVirtualOAMSprite13:: sprite_oam_struct wVirtualOAMSprite13 -wVirtualOAMSprite14:: sprite_oam_struct wVirtualOAMSprite14 -wVirtualOAMSprite15:: sprite_oam_struct wVirtualOAMSprite15 -wVirtualOAMSprite16:: sprite_oam_struct wVirtualOAMSprite16 -wVirtualOAMSprite17:: sprite_oam_struct wVirtualOAMSprite17 -wVirtualOAMSprite18:: sprite_oam_struct wVirtualOAMSprite18 -wVirtualOAMSprite19:: sprite_oam_struct wVirtualOAMSprite19 -wVirtualOAMSprite20:: sprite_oam_struct wVirtualOAMSprite20 -wVirtualOAMSprite21:: sprite_oam_struct wVirtualOAMSprite21 -wVirtualOAMSprite22:: sprite_oam_struct wVirtualOAMSprite22 -wVirtualOAMSprite23:: sprite_oam_struct wVirtualOAMSprite23 -wVirtualOAMSprite24:: sprite_oam_struct wVirtualOAMSprite24 -wVirtualOAMSprite25:: sprite_oam_struct wVirtualOAMSprite25 -wVirtualOAMSprite26:: sprite_oam_struct wVirtualOAMSprite26 -wVirtualOAMSprite27:: sprite_oam_struct wVirtualOAMSprite27 -wVirtualOAMSprite28:: sprite_oam_struct wVirtualOAMSprite28 -wVirtualOAMSprite29:: sprite_oam_struct wVirtualOAMSprite29 -wVirtualOAMSprite30:: sprite_oam_struct wVirtualOAMSprite30 -wVirtualOAMSprite31:: sprite_oam_struct wVirtualOAMSprite31 -wVirtualOAMSprite32:: sprite_oam_struct wVirtualOAMSprite32 -wVirtualOAMSprite33:: sprite_oam_struct wVirtualOAMSprite33 -wVirtualOAMSprite34:: sprite_oam_struct wVirtualOAMSprite34 -wVirtualOAMSprite35:: sprite_oam_struct wVirtualOAMSprite35 -wVirtualOAMSprite36:: sprite_oam_struct wVirtualOAMSprite36 -wVirtualOAMSprite37:: sprite_oam_struct wVirtualOAMSprite37 -wVirtualOAMSprite38:: sprite_oam_struct wVirtualOAMSprite38 -wVirtualOAMSprite39:: sprite_oam_struct wVirtualOAMSprite39 - assert_table_length NUM_SPRITE_OAM_STRUCTS +; wVirtualOAMSprite00 - wVirtualOAMSprite39 +for n, NUM_SPRITE_OAM_STRUCTS +wVirtualOAMSprite{02d:n}:: sprite_oam_struct wVirtualOAMSprite{02d:n} +endr wVirtualOAMEnd:: @@ -258,20 +213,12 @@ wSpriteAnimDict:: ds NUM_SPRITEANIMDICT_ENTRIES * 2 wSpriteAnimationStructs:: - table_width SPRITEANIMSTRUCT_LENGTH, wSpriteAnimationStructs +; wSpriteAnim1 - wSpriteAnim10 +for n, 1, NUM_SPRITE_ANIM_STRUCTS + 1 ; field 0: index ; fields 1-3: loaded from SpriteAnimSeqData -wSpriteAnim1:: sprite_anim_struct wSpriteAnim1 -wSpriteAnim2:: sprite_anim_struct wSpriteAnim2 -wSpriteAnim3:: sprite_anim_struct wSpriteAnim3 -wSpriteAnim4:: sprite_anim_struct wSpriteAnim4 -wSpriteAnim5:: sprite_anim_struct wSpriteAnim5 -wSpriteAnim6:: sprite_anim_struct wSpriteAnim6 -wSpriteAnim7:: sprite_anim_struct wSpriteAnim7 -wSpriteAnim8:: sprite_anim_struct wSpriteAnim8 -wSpriteAnim9:: sprite_anim_struct wSpriteAnim9 -wSpriteAnim10:: sprite_anim_struct wSpriteAnim10 - assert_table_length NUM_SPRITE_ANIM_STRUCTS +wSpriteAnim{d:n}:: sprite_anim_struct wSpriteAnim{d:n} +endr wSpriteAnimationStructsEnd:: wSpriteAnimCount:: db @@ -555,66 +502,42 @@ wLinkPartyEnd:: db ; older code doesn't check PartyCount UNION ; link player data wLinkPlayerData:: - table_width PARTYMON_STRUCT_LENGTH, wLinkPlayerData -wLinkPlayerPartyMon1:: party_struct wLinkPlayerPartyMon1 -wLinkPlayerPartyMon2:: party_struct wLinkPlayerPartyMon2 -wLinkPlayerPartyMon3:: party_struct wLinkPlayerPartyMon3 -wLinkPlayerPartyMon4:: party_struct wLinkPlayerPartyMon4 -wLinkPlayerPartyMon5:: party_struct wLinkPlayerPartyMon5 -wLinkPlayerPartyMon6:: party_struct wLinkPlayerPartyMon6 - assert_table_length PARTY_LENGTH +; wLinkPlayerPartyMon1 - wLinkPlayerPartyMon6 +for n, 1, PARTY_LENGTH + 1 +wLinkPlayerPartyMon{d:n}:: party_struct wLinkPlayerPartyMon{d:n} +endr wLinkPlayerPartyMonOTs:: - table_width NAME_LENGTH, wLinkPlayerPartyMonOTs -wLinkPlayerPartyMon1OT:: ds NAME_LENGTH -wLinkPlayerPartyMon2OT:: ds NAME_LENGTH -wLinkPlayerPartyMon3OT:: ds NAME_LENGTH -wLinkPlayerPartyMon4OT:: ds NAME_LENGTH -wLinkPlayerPartyMon5OT:: ds NAME_LENGTH -wLinkPlayerPartyMon6OT:: ds NAME_LENGTH - assert_table_length PARTY_LENGTH +; wLinkPlayerPartyMon1OT - wLinkPlayerPartyMon6OT +for n, 1, PARTY_LENGTH + 1 +wLinkPlayerPartyMon{d:n}OT:: ds NAME_LENGTH +endr wLinkPlayerPartyMonNicknames:: - table_width MON_NAME_LENGTH, wLinkPlayerPartyMonNicknames -wLinkPlayerPartyMon1Nickname:: ds MON_NAME_LENGTH -wLinkPlayerPartyMon2Nickname:: ds MON_NAME_LENGTH -wLinkPlayerPartyMon3Nickname:: ds MON_NAME_LENGTH -wLinkPlayerPartyMon4Nickname:: ds MON_NAME_LENGTH -wLinkPlayerPartyMon5Nickname:: ds MON_NAME_LENGTH -wLinkPlayerPartyMon6Nickname:: ds MON_NAME_LENGTH - assert_table_length PARTY_LENGTH +; wLinkPlayerPartyMon1Nickname - wLinkPlayerPartyMon6Nickname +for n, 1, PARTY_LENGTH + 1 +wLinkPlayerPartyMon{d:n}Nickname:: ds MON_NAME_LENGTH +endr NEXTU ; time capsule party data wTimeCapsulePlayerData:: - table_width REDMON_STRUCT_LENGTH, wTimeCapsulePlayerData -wTimeCapsulePartyMon1:: red_party_struct wTimeCapsulePartyMon1 -wTimeCapsulePartyMon2:: red_party_struct wTimeCapsulePartyMon2 -wTimeCapsulePartyMon3:: red_party_struct wTimeCapsulePartyMon3 -wTimeCapsulePartyMon4:: red_party_struct wTimeCapsulePartyMon4 -wTimeCapsulePartyMon5:: red_party_struct wTimeCapsulePartyMon5 -wTimeCapsulePartyMon6:: red_party_struct wTimeCapsulePartyMon6 - assert_table_length PARTY_LENGTH +; wTimeCapsulePartyMon1 - wTimeCapsulePartyMon6 +for n, 1, PARTY_LENGTH + 1 +wTimeCapsulePartyMon{d:n}:: red_party_struct wTimeCapsulePartyMon{d:n} +endr wTimeCapsulePartyMonOTs:: - table_width NAME_LENGTH, wTimeCapsulePartyMonOTs -wTimeCapsulePartyMon1OT:: ds NAME_LENGTH -wTimeCapsulePartyMon2OT:: ds NAME_LENGTH -wTimeCapsulePartyMon3OT:: ds NAME_LENGTH -wTimeCapsulePartyMon4OT:: ds NAME_LENGTH -wTimeCapsulePartyMon5OT:: ds NAME_LENGTH -wTimeCapsulePartyMon6OT:: ds NAME_LENGTH - assert_table_length PARTY_LENGTH +; wTimeCapsulePartyMon1OT - wTimeCapsulePartyMon6OT +for n, 1, PARTY_LENGTH + 1 +wTimeCapsulePartyMon{d:n}OT:: ds NAME_LENGTH +endr wTimeCapsulePartyMonNicknames:: - table_width MON_NAME_LENGTH, wTimeCapsulePartyMonNicknames -wTimeCapsulePartyMon1Nickname:: ds MON_NAME_LENGTH -wTimeCapsulePartyMon2Nickname:: ds MON_NAME_LENGTH -wTimeCapsulePartyMon3Nickname:: ds MON_NAME_LENGTH -wTimeCapsulePartyMon4Nickname:: ds MON_NAME_LENGTH -wTimeCapsulePartyMon5Nickname:: ds MON_NAME_LENGTH -wTimeCapsulePartyMon6Nickname:: ds MON_NAME_LENGTH - assert_table_length PARTY_LENGTH +; wTimeCapsulePartyMon1Nickname - wTimeCapsulePartyMon6Nickname +for n, 1, PARTY_LENGTH + 1 +wTimeCapsulePartyMon{d:n}Nickname:: ds MON_NAME_LENGTH +endr NEXTU ; link patch lists @@ -628,14 +551,10 @@ NEXTU wCurLinkOTPartyMonTypePointer:: dw wLinkOTPartyMonTypes:: - table_width 2, wLinkOTPartyMonTypes -wLinkOTPartyMon1Type:: dw -wLinkOTPartyMon2Type:: dw -wLinkOTPartyMon3Type:: dw -wLinkOTPartyMon4Type:: dw -wLinkOTPartyMon5Type:: dw -wLinkOTPartyMon6Type:: dw - assert_table_length PARTY_LENGTH +; wLinkOTPartyMon1Type - wLinkOTPartyMon6Type +for n, 1, PARTY_LENGTH + 1 +wLinkOTPartyMon{d:n}Type:: dw +endr NEXTU ; link mail data @@ -731,27 +650,16 @@ wBattleAnimTileDict:: ds NUM_BATTLEANIMTILEDICT_ENTRIES * 2 wActiveAnimObjects:: - table_width BATTLEANIMSTRUCT_LENGTH, wActiveAnimObjects -wAnimObject01:: battle_anim_struct wAnimObject01 -wAnimObject02:: battle_anim_struct wAnimObject02 -wAnimObject03:: battle_anim_struct wAnimObject03 -wAnimObject04:: battle_anim_struct wAnimObject04 -wAnimObject05:: battle_anim_struct wAnimObject05 -wAnimObject06:: battle_anim_struct wAnimObject06 -wAnimObject07:: battle_anim_struct wAnimObject07 -wAnimObject08:: battle_anim_struct wAnimObject08 -wAnimObject09:: battle_anim_struct wAnimObject09 -wAnimObject10:: battle_anim_struct wAnimObject10 - assert_table_length NUM_ANIM_OBJECTS +; wAnimObject1 - wAnimObject10 +for n, 1, NUM_ANIM_OBJECTS + 1 +wAnimObject{d:n}:: battle_anim_struct wAnimObject{d:n} +endr wActiveBGEffects:: - table_width BG_EFFECT_STRUCT_LENGTH, wActiveBGEffects -wBGEffect1:: battle_bg_effect wBGEffect1 -wBGEffect2:: battle_bg_effect wBGEffect2 -wBGEffect3:: battle_bg_effect wBGEffect3 -wBGEffect4:: battle_bg_effect wBGEffect4 -wBGEffect5:: battle_bg_effect wBGEffect5 - assert_table_length NUM_BG_EFFECTS +; wBGEffect1 - wBGEffect5 +for n, 1, NUM_BG_EFFECTS + 1 +wBGEffect{d:n}:: battle_bg_effect wBGEffect{d:n} +endr wLastAnimObjectIndex:: db @@ -2418,27 +2326,17 @@ wCenteredObject:: db wFollowerMovementQueueLength:: db wFollowMovementQueue:: ds 5 -wObjectStructs:: - table_width OBJECT_LENGTH, wObjectStructs -wPlayerStruct:: object_struct wPlayer -wObject1Struct:: object_struct wObject1 -wObject2Struct:: object_struct wObject2 -wObject3Struct:: object_struct wObject3 -wObject4Struct:: object_struct wObject4 -wObject5Struct:: object_struct wObject5 -wObject6Struct:: object_struct wObject6 -wObject7Struct:: object_struct wObject7 -wObject8Struct:: object_struct wObject8 -wObject9Struct:: object_struct wObject9 -wObject10Struct:: object_struct wObject10 UNION - ds 18 +wObjectStructs:: +wPlayerStruct:: object_struct wPlayer ; player is object struct 0 +; wObjectStruct1 - wObjectStruct12 +for n, 1, NUM_OBJECT_STRUCTS +wObject{d:n}Struct:: object_struct wObject{d:n} +endr +NEXTU + ds 458 wPlayerData1End:: wPlayerData2:: -NEXTU -wObject11Struct:: object_struct wObject11 -wObject12Struct:: object_struct wObject12 - assert_table_length NUM_OBJECT_STRUCTS ENDU wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE @@ -2446,24 +2344,11 @@ wCmdQueue:: ds CMDQUEUE_CAPACITY * CMDQUEUE_ENTRY_SIZE ds 40 wMapObjects:: - table_width MAPOBJECT_LENGTH, wMapObjects -wPlayerObject:: map_object wPlayer -wMap1Object:: map_object wMap1 -wMap2Object:: map_object wMap2 -wMap3Object:: map_object wMap3 -wMap4Object:: map_object wMap4 -wMap5Object:: map_object wMap5 -wMap6Object:: map_object wMap6 -wMap7Object:: map_object wMap7 -wMap8Object:: map_object wMap8 -wMap9Object:: map_object wMap9 -wMap10Object:: map_object wMap10 -wMap11Object:: map_object wMap11 -wMap12Object:: map_object wMap12 -wMap13Object:: map_object wMap13 -wMap14Object:: map_object wMap14 -wMap15Object:: map_object wMap15 - assert_table_length NUM_OBJECTS +wPlayerObject:: map_object wPlayer ; player is map object 0 +; wMap1Object - wMap15Object +for n, 1, NUM_OBJECTS +wMap{d:n}Object:: map_object wMap{d:n} +endr wObjectMasks:: ds NUM_OBJECTS @@ -2756,34 +2641,22 @@ wPartySpecies:: ds PARTY_LENGTH wPartyEnd:: db ; older code doesn't check wPartyCount wPartyMons:: - table_width PARTYMON_STRUCT_LENGTH, wPartyMons -wPartyMon1:: party_struct wPartyMon1 -wPartyMon2:: party_struct wPartyMon2 -wPartyMon3:: party_struct wPartyMon3 -wPartyMon4:: party_struct wPartyMon4 -wPartyMon5:: party_struct wPartyMon5 -wPartyMon6:: party_struct wPartyMon6 - assert_table_length PARTY_LENGTH +; wPartyMon1 - wPartyMon6 +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}:: party_struct wPartyMon{d:n} +endr wPartyMonOTs:: - table_width NAME_LENGTH, wPartyMonOTs -wPartyMon1OT:: ds NAME_LENGTH -wPartyMon2OT:: ds NAME_LENGTH -wPartyMon3OT:: ds NAME_LENGTH -wPartyMon4OT:: ds NAME_LENGTH -wPartyMon5OT:: ds NAME_LENGTH -wPartyMon6OT:: ds NAME_LENGTH - assert_table_length PARTY_LENGTH +; wPartyMon1OT - wPartyMon6OT +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}OT:: ds NAME_LENGTH +endr wPartyMonNicknames:: - table_width MON_NAME_LENGTH, wPartyMonNicknames -wPartyMon1Nickname:: ds MON_NAME_LENGTH -wPartyMon2Nickname:: ds MON_NAME_LENGTH -wPartyMon3Nickname:: ds MON_NAME_LENGTH -wPartyMon4Nickname:: ds MON_NAME_LENGTH -wPartyMon5Nickname:: ds MON_NAME_LENGTH -wPartyMon6Nickname:: ds MON_NAME_LENGTH - assert_table_length PARTY_LENGTH +; wPartyMon1Nickname - wPartyMon6Nickname +for n, 1, PARTY_LENGTH + 1 +wPartyMon{d:n}Nickname:: ds MON_NAME_LENGTH +endr wPartyMonNicknamesEnd:: ds 22 @@ -2871,34 +2744,22 @@ ENDU UNION ; ot party mons wOTPartyMons:: - table_width PARTYMON_STRUCT_LENGTH, wOTPartyMons -wOTPartyMon1:: party_struct wOTPartyMon1 -wOTPartyMon2:: party_struct wOTPartyMon2 -wOTPartyMon3:: party_struct wOTPartyMon3 -wOTPartyMon4:: party_struct wOTPartyMon4 -wOTPartyMon5:: party_struct wOTPartyMon5 -wOTPartyMon6:: party_struct wOTPartyMon6 - assert_table_length PARTY_LENGTH +; wOTPartyMon1 - wOTPartyMon6 +for n, 1, PARTY_LENGTH + 1 +wOTPartyMon{d:n}:: party_struct wOTPartyMon{d:n} +endr wOTPartyMonOTs:: - table_width NAME_LENGTH, wOTPartyMonOTs -wOTPartyMon1OT:: ds NAME_LENGTH -wOTPartyMon2OT:: ds NAME_LENGTH -wOTPartyMon3OT:: ds NAME_LENGTH -wOTPartyMon4OT:: ds NAME_LENGTH -wOTPartyMon5OT:: ds NAME_LENGTH -wOTPartyMon6OT:: ds NAME_LENGTH - assert_table_length PARTY_LENGTH +; wOTPartyMon1OT - wOTPartyMon6OT +for n, 1, PARTY_LENGTH + 1 +wOTPartyMon{d:n}OT:: ds NAME_LENGTH +endr wOTPartyMonNicknames:: - table_width MON_NAME_LENGTH, wOTPartyMonNicknames -wOTPartyMon1Nickname:: ds MON_NAME_LENGTH -wOTPartyMon2Nickname:: ds MON_NAME_LENGTH -wOTPartyMon3Nickname:: ds MON_NAME_LENGTH -wOTPartyMon4Nickname:: ds MON_NAME_LENGTH -wOTPartyMon5Nickname:: ds MON_NAME_LENGTH -wOTPartyMon6Nickname:: ds MON_NAME_LENGTH - assert_table_length PARTY_LENGTH +; wOTPartyMon1Nickname - wOTPartyMon6Nickname +for n, 1, PARTY_LENGTH + 1 +wOTPartyMon{d:n}Nickname:: ds MON_NAME_LENGTH +endr wOTPartyDataEnd:: NEXTU |