summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2017-11-04 19:49:38 -0700
committerGitHub <noreply@github.com>2017-11-04 19:49:38 -0700
commit8832b766facd48c85c1b99ac6dad555f1e2aa1c7 (patch)
tree8f4bded9d721a993674a4e5d9eeb57ad86580d39
parent1698e882b4760bcfe8cf91073cf7e46541ae6392 (diff)
parentb4c6e0560a7b1310cc08b93ea04935d4fbb7c3de (diff)
Merge pull request #450 from ProjectRevoTPP/fix_setmondata
various fixes
-rw-r--r--asm/battle_anim_80CA710.s174
-rw-r--r--asm/battle_anim_81258BC.s4
-rw-r--r--asm/battle_anim_812C144.s44
-rw-r--r--asm/battle_anim_813F0F4.s2
-rw-r--r--include/battle.h27
-rw-r--r--include/battle_ai.h5
-rw-r--r--include/battle_anim.h7
-rw-r--r--include/field_map_obj.h2
-rw-r--r--include/gba/defines.h9
-rw-r--r--include/gba/flash_internal.h10
-rw-r--r--include/global.h18
-rw-r--r--include/pokemon.h6
-rw-r--r--include/rom3.h8
-rw-r--r--include/save.h2
-rw-r--r--include/sprite.h2
-rw-r--r--include/string_util.h2
-rw-r--r--src/battle/battle_2.c78
-rw-r--r--src/battle/battle_4.c521
-rw-r--r--src/battle/battle_7.c10
-rw-r--r--src/battle/battle_ai.c195
-rw-r--r--src/battle/battle_anim.c210
-rw-r--r--src/battle/battle_anim_807B69C.c2
-rw-r--r--src/battle/battle_anim_80A7E7C.c4
-rw-r--r--src/battle/battle_controller_linkopponent.c65
-rw-r--r--src/battle/battle_controller_linkpartner.c64
-rw-r--r--src/battle/battle_controller_opponent.c71
-rw-r--r--src/battle/battle_controller_player.c86
-rw-r--r--src/battle/battle_controller_safari.c2
-rw-r--r--src/battle/battle_controller_wally.c58
-rw-r--r--src/battle/battle_interface.c38
-rw-r--r--src/battle/battle_records.c2
-rw-r--r--src/battle/battle_setup.c23
-rw-r--r--src/debug/matsuda_debug_menu.c8
-rw-r--r--src/engine/link.c2
-rw-r--r--src/engine/save.c6
-rw-r--r--src/engine/save_failed_screen.c4
-rw-r--r--src/engine/sprite.c11
-rw-r--r--src/engine/string_util.c34
-rw-r--r--src/engine/text.c230
-rw-r--r--src/engine/tileset_anim.c46
-rw-r--r--src/engine/trade.c88
-rw-r--r--src/field/battle_tower.c8
-rw-r--r--src/field/daycare.c10
-rw-r--r--src/field/decoration.c2
-rw-r--r--src/field/decoration_inventory.c2
-rw-r--r--src/field/easy_chat.c2
-rw-r--r--src/field/field_effect.c4
-rw-r--r--src/field/field_ground_effect.c38
-rw-r--r--src/field/field_map_obj.c18
-rw-r--r--src/field/field_map_obj_helpers.c2
-rw-r--r--src/field/field_poison.c2
-rw-r--r--src/field/field_specials.c10
-rw-r--r--src/field/party_menu.c14
-rw-r--r--src/field/player_pc.c8
-rw-r--r--src/field/pokeblock.c2
-rw-r--r--src/field/roamer.c14
-rw-r--r--src/field/slot_machine.c10
-rw-r--r--src/field/trainer_see.c2
-rw-r--r--src/field/use_pokeblock.c6
-rw-r--r--src/libs/agb_flash.c12
-rw-r--r--src/libs/agb_flash_mx.c2
-rw-r--r--src/pokemon/pokedex_cry_screen.c2
-rw-r--r--src/pokemon/pokemon_1.c96
-rw-r--r--src/pokemon/pokemon_2.c1
-rw-r--r--src/pokemon/pokemon_3.c16
-rw-r--r--src/pokemon/pokemon_icon.c7
-rw-r--r--src/rom3.c14
-rw-r--r--src/rom_8077ABC.c54
68 files changed, 1248 insertions, 1290 deletions
diff --git a/asm/battle_anim_80CA710.s b/asm/battle_anim_80CA710.s
index 7b506ac24..92ad421bb 100644
--- a/asm/battle_anim_80CA710.s
+++ b/asm/battle_anim_80CA710.s
@@ -757,7 +757,7 @@ sub_80CACEC: @ 80CACEC
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CAD06
@@ -1329,7 +1329,7 @@ _080CB13C:
sub_80CB144: @ 80CB144
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CB170
@@ -2521,7 +2521,7 @@ _080CBA6C:
adds r0, r6, 0
adds r0, 0xA
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CBA84
@@ -2721,7 +2721,7 @@ sub_80CBBF0: @ 80CBBF0
ldrsh r0, [r4, r1]
cmp r0, 0
bne _080CBC84
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CBC18
@@ -2917,7 +2917,7 @@ _080CBD44:
movs r1, 0xFF
ands r0, r1
strh r0, [r4, 0x30]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080CBD92
@@ -4233,7 +4233,7 @@ _080CC74C:
bl sub_80790F0
lsls r0, 16
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CC7AE
@@ -4968,7 +4968,7 @@ _080CCD1C:
sub_80CCD24: @ 80CCD24
push {r4-r6,lr}
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CCD3A
@@ -5000,7 +5000,7 @@ _080CCD3A:
lsls r0, 24
cmp r0, 0
beq _080CCD78
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CCDA0
@@ -7569,7 +7569,7 @@ sub_80CE09C: @ 80CE09C
ldrh r5, [r5, 0x2]
adds r0, r5
strh r0, [r6, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE0E0
@@ -7872,7 +7872,7 @@ _080CE308: .4byte gNoOfAllBanks
sub_80CE30C: @ 80CE30C
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE322
@@ -8359,7 +8359,7 @@ _080CE68E:
ldrh r1, [r5, 0x20]
strh r1, [r5, 0x3A]
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CE700
@@ -8953,7 +8953,7 @@ _080CEB48:
strh r1, [r5, 0x32]
ldrh r0, [r4, 0x4]
strh r0, [r5, 0x34]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CEB6C
@@ -10477,7 +10477,7 @@ sub_80CF6DC: @ 80CF6DC
push {r7}
sub sp, 0x4
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CF700
@@ -10550,7 +10550,7 @@ _080CF722:
lsls r1, 24
adds r0, r1
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080CF794
@@ -11031,7 +11031,7 @@ sub_80CFB04: @ 80CFB04
mov r4, sp
adds r4, 0x2
strh r1, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
mov r10, r4
cmp r0, 0
@@ -15162,7 +15162,7 @@ _080D1AF4:
cmp r5, 0x4
ble _080D1AF4
ldr r4, _080D1B3C @ =gBattleAnimSpritePalette_206
- bl IsContest
+ bl NotInBattle
lsls r0, 24
ldr r1, _080D1B40 @ =0x02018000
cmp r0, 0
@@ -15175,7 +15175,7 @@ _080D1B1C:
movs r5, 0
_080D1B24:
lsls r4, r5, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D1B4C
@@ -15390,7 +15390,7 @@ sub_80D1CD0: @ 80D1CD0
push {r4,r5,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
movs r2, 0xF0
cmp r0, 0
@@ -15943,7 +15943,7 @@ sub_80D2100: @ 80D2100
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D2144
@@ -15987,7 +15987,7 @@ _080D2144:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D21A4
@@ -16200,7 +16200,7 @@ _080D230E:
ldr r1, _080D23A4 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D235C
@@ -16280,7 +16280,7 @@ sub_80D23B4: @ 80D23B4
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D23FE
@@ -16313,7 +16313,7 @@ _080D23FE:
ldr r0, _080D2454 @ =0x85000400
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D245C
@@ -16359,7 +16359,7 @@ _080D2488:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D24B6
@@ -16564,7 +16564,7 @@ _080D25FE:
ldr r1, _080D2694 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D264C
@@ -18730,7 +18730,7 @@ sub_80D3698: @ 80D3698
bl sub_8079E90
lsls r0, 24
lsrs r5, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D36F2
@@ -19068,7 +19068,7 @@ _080D3920:
ldr r1, _080D399C @ =0x85000400
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D39B8
@@ -19174,7 +19174,7 @@ _080D3A0E:
lsls r0, 5
strh r0, [r7, 0xA]
strh r0, [r7, 0xC]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -19502,7 +19502,7 @@ _080D3CAA:
ldr r1, _080D3D58 @ =0x85000400
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D3D02
@@ -21104,7 +21104,7 @@ sub_80D48F4: @ 80D48F4
movs r1, 0x1
_080D4938:
strh r1, [r5, 0x16]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D494C
@@ -28400,7 +28400,7 @@ sub_80D80E0: @ 80D80E0
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D812A
@@ -28448,7 +28448,7 @@ _080D812A:
lsls r1, 4
movs r2, 0x20
bl LoadPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D8190
@@ -28679,7 +28679,7 @@ _080D832A:
ldr r1, _080D83C8 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D8378
@@ -28792,7 +28792,7 @@ sub_80D8414: @ 80D8414
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D845E
@@ -28840,7 +28840,7 @@ _080D845E:
lsls r1, 4
movs r2, 0x20
bl LoadPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D84C4
@@ -29061,7 +29061,7 @@ _080D864A:
ldr r1, _080D86E8 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080D8698
@@ -29274,7 +29274,7 @@ _080D8824:
ldrh r1, [r5, 0x3C]
orrs r0, r1
strh r0, [r5, 0x3C]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D8858
@@ -30348,7 +30348,7 @@ _080D9074: .4byte gBattleAnimBankAttacker
sub_80D9078: @ 80D9078
push {r4,lr}
adds r4, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9094
@@ -31652,7 +31652,7 @@ _080D9A82:
ands r0, r2
orrs r0, r1
strb r0, [r5, 0x5]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9ABC
@@ -31828,7 +31828,7 @@ _080D9BF0:
movs r1, 0
bl sub_8078764
_080D9BF8:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080D9C0C
@@ -32631,7 +32631,7 @@ sub_80DA208: @ 80DA208
negs r0, r0
strh r0, [r1, 0x6]
_080DA234:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DA24C
@@ -35427,7 +35427,7 @@ sub_80DB74C: @ 80DB74C
lsls r0, 24
cmp r0, 0
beq _080DB768
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DB77E
@@ -35444,7 +35444,7 @@ _080DB768:
movs r0, 0xC8
strb r0, [r1]
_080DB77E:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB7DA
@@ -35485,7 +35485,7 @@ _080DB7BC:
adds r1, r5, 0
bl sub_8076034
_080DB7DA:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB810
@@ -35540,7 +35540,7 @@ _080DB826:
adds r0, r4
_080DB84A:
strh r0, [r6, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DB85C
@@ -35679,7 +35679,7 @@ sub_80DB92C: @ 80DB92C
negs r1, r1
cmp r0, r1
bne _080DB9CC
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DB9BC
@@ -35754,7 +35754,7 @@ _080DB9E0: .4byte sub_80DB9E4
sub_80DB9E4: @ 80DB9E4
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DBA3C
@@ -35816,7 +35816,7 @@ sub_80DBA4C: @ 80DBA4C
bne _080DBA66
movs r6, 0x1
_080DBA66:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DBAAE
@@ -36651,7 +36651,7 @@ sub_80DC0B0: @ 80DC0B0
lsls r1, 3
ldr r0, _080DC10C @ =gTasks
adds r5, r1, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC154
@@ -37474,7 +37474,7 @@ _080DC720:
lsls r0, 24
lsrs r0, 24
strh r0, [r5, 0x22]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC74E
@@ -37594,7 +37594,7 @@ _080DC820: .4byte REG_BLDCNT
sub_80DC824: @ 80DC824
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC850
@@ -37690,7 +37690,7 @@ _080DC8F0: .4byte move_anim_8072740
sub_80DC8F4: @ 80DC8F4
push {r4-r6,lr}
adds r6, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC918
@@ -37770,7 +37770,7 @@ _080DC99C: .4byte move_anim_8072740
sub_80DC9A0: @ 80DC9A0
push {r4,r5,lr}
adds r5, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DC9BC
@@ -38063,7 +38063,7 @@ sub_80DCBCC: @ 80DCBCC
push {r4-r7,lr}
sub sp, 0x4
adds r7, r0, 0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DCBEC
@@ -38092,7 +38092,7 @@ _080DCBEC:
negs r0, r0
strh r0, [r1, 0x6]
_080DCC0E:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DCC5E
@@ -38668,7 +38668,7 @@ do_boulder_dust: @ 80DD078
movs r0, 0x3F
ands r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DD0C4
@@ -38710,7 +38710,7 @@ _080DD0C4:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DD120
@@ -38972,7 +38972,7 @@ _080DD2F6:
ldr r1, _080DD394 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080DD344
@@ -41857,7 +41857,7 @@ sub_80DE918: @ 80DE918
lsls r0, 16
lsrs r0, 16
str r0, [sp, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DE988
@@ -42296,7 +42296,7 @@ sub_80DECB0: @ 80DECB0
lsls r0, 24
cmp r0, 0
bne _080DECF4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080DED0C
@@ -44938,7 +44938,7 @@ _080E015E:
ldr r0, _080E01BC @ =REG_BG1VOFS
str r0, [sp]
movs r7, 0x2
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E01F4
@@ -44967,7 +44967,7 @@ _080E01C4:
ldr r0, _080E0284 @ =REG_BG2VOFS
str r0, [sp]
movs r7, 0x4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E01F4
@@ -45235,7 +45235,7 @@ _080E03EC:
.4byte _080E053C
.4byte _080E05A4
_080E0400:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
@@ -46092,7 +46092,7 @@ sub_80E0A4C: @ 80E0A4C
movs r0, 0x3F
ands r0, r1
strb r0, [r5, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0AC4
@@ -46108,7 +46108,7 @@ _080E0AC4:
lsls r0, 24
cmp r0, 0
beq _080E0B40
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0B40
@@ -46163,7 +46163,7 @@ _080E0AF4:
strb r0, [r5]
movs r7, 0x1
_080E0B40:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E0B84
@@ -46379,7 +46379,7 @@ sub_80E0CD0: @ 80E0CD0
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E0D40
@@ -49932,7 +49932,7 @@ sub_80E2838: @ 80E2838
lsls r0, 24
cmp r0, 0
beq _080E285C
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E285C
@@ -50880,7 +50880,7 @@ sub_80E2F2C: @ 80E2F2C
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E2FAC
@@ -50896,7 +50896,7 @@ _080E2FAC:
lsls r0, 24
cmp r0, 0
beq _080E3028
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3028
@@ -50951,7 +50951,7 @@ _080E2FDC:
strb r0, [r4]
movs r7, 0x1
_080E3028:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E306C
@@ -51033,7 +51033,7 @@ _080E30B4:
ldr r0, [r2, 0x8]
ldr r0, _080E3174 @ =gUnknown_08D20A30
bl LZDecompressVram
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3106
@@ -51150,7 +51150,7 @@ sub_80E3194: @ 80E3194
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3208
@@ -51358,7 +51358,7 @@ _080E3392:
mov r2, r8
eors r2, r0
mov r8, r2
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E33BC
@@ -51420,7 +51420,7 @@ _080E33C0:
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3432
@@ -51487,7 +51487,7 @@ _080E345E:
movs r2, 0x1
str r2, [sp, 0x20]
_080E34A4:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E34E4
@@ -51581,7 +51581,7 @@ _080E3578:
ldr r1, [sp, 0x4]
bl LZDecompressVram
_080E3580:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3598
@@ -51884,7 +51884,7 @@ _080E378E:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E37E8
@@ -52505,7 +52505,7 @@ sub_80E3C4C: @ 80E3C4C
movs r0, 0x2
adds r6, r7, 0
eors r6, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3CAE
@@ -52565,7 +52565,7 @@ _080E3CB2:
movs r1, 0x20
orrs r0, r1
strb r0, [r4, 0x1]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3D22
@@ -52577,7 +52577,7 @@ _080E3CB2:
orrs r1, r0
strb r1, [r4]
_080E3D22:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3D58
@@ -52651,7 +52651,7 @@ _080E3DC0:
ldr r1, [sp, 0x4]
ldr r0, [sp, 0x50]
bl LZDecompressVram
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E3DE6
@@ -52865,7 +52865,7 @@ _080E3F32:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _080E3F90
@@ -53003,7 +53003,7 @@ _080E4084:
movs r1, 0x2
ldrsh r0, [r0, r1]
lsls r5, r0, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E40A8
@@ -53093,7 +53093,7 @@ _080E412C:
movs r1, 0x2
ldrsh r0, [r0, r1]
lsls r4, r0, 5
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E4158
@@ -53197,7 +53197,7 @@ sub_80E4200: @ 80E4200
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -53326,7 +53326,7 @@ sub_80E4300: @ 80E4300
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _080E4318
diff --git a/asm/battle_anim_81258BC.s b/asm/battle_anim_81258BC.s
index 69b95b703..a42f7693e 100644
--- a/asm/battle_anim_81258BC.s
+++ b/asm/battle_anim_81258BC.s
@@ -377,7 +377,7 @@ sub_812B18C: @ 812B18C
bl sub_8076F98
lsls r0, 24
lsrs r6, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812B1CC
@@ -524,7 +524,7 @@ sub_812B2B8: @ 812B2B8
bl sub_8076F98
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812B2DC
diff --git a/asm/battle_anim_812C144.s b/asm/battle_anim_812C144.s
index 4562ad2f5..2ff8bc1ca 100644
--- a/asm/battle_anim_812C144.s
+++ b/asm/battle_anim_812C144.s
@@ -241,7 +241,7 @@ sub_812C2BC: @ 812C2BC
lsls r1, 23
adds r0, r1
lsrs r4, r0, 16
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812C31A
@@ -954,7 +954,7 @@ sub_812C848: @ 812C848
ldrsh r1, [r5, r2]
adds r0, r4, 0
bl sub_807867C
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812C89C
@@ -1473,7 +1473,7 @@ sub_812CC44: @ 812CC44
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812CC7A
@@ -1518,7 +1518,7 @@ sub_812CCA8: @ 812CCA8
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812CCCA
@@ -3125,7 +3125,7 @@ _0812D8C4:
ldrb r1, [r5]
mov r0, sp
bl sub_8078954
- bl IsContest
+ bl NotInBattle
lsls r0, 24
mov r9, r4
cmp r0, 0
@@ -3159,7 +3159,7 @@ _0812D906:
ldr r1, _0812D9DC @ =0x84000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812DA20
@@ -3350,7 +3350,7 @@ _0812DAAE:
negs r0, r0
ands r0, r1
strb r0, [r2]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DAF4
@@ -3507,7 +3507,7 @@ _0812DBD0:
movs r1, 0x1
orrs r0, r1
strb r0, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DC12
@@ -3542,7 +3542,7 @@ _0812DC12:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812DC9C
@@ -3786,7 +3786,7 @@ _0812DE0C:
ldr r1, _0812DE98 @ =0x85000200
str r1, [r0, 0x8]
ldr r0, [r0, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812DE5A
@@ -4226,7 +4226,7 @@ _0812E194:
movs r1, 0x1
orrs r0, r1
strb r0, [r4]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812E1D4
@@ -4261,7 +4261,7 @@ _0812E1D4:
lsls r1, 4
movs r2, 0x20
bl LoadCompressedPalette
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812E260
@@ -4529,7 +4529,7 @@ _0812E420:
ldr r0, _0812E484 @ =0x85000200
str r0, [r1, 0x8]
ldr r0, [r1, 0x8]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812E450
@@ -5513,7 +5513,7 @@ _0812EBC2:
bl obj_id_set_rotscale
adds r0, r5, 0
bl sub_8079A64
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0812EBE8
@@ -6047,7 +6047,7 @@ sub_812EFC8: @ 812EFC8
str r0, [sp, 0x10]
movs r0, 0
bl GetAnimBankSpriteId
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _0812F004
@@ -8382,7 +8382,7 @@ sub_81301EC: @ 81301EC
lsls r1, 3
ldr r0, _08130218 @ =gTasks
adds r6, r1, r0
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -9863,7 +9863,7 @@ sub_8130D20: @ 8130D20
lsls r0, 24
lsrs r0, 24
strh r0, [r6, 0x26]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _08130DA8
@@ -10557,7 +10557,7 @@ sub_8131264: @ 8131264
lsls r0, 24
cmp r0, 0
beq _08131290
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _081312A8
@@ -10690,7 +10690,7 @@ _08131384:
ldrb r0, [r4]
movs r1, 0
bl refresh_graphics_maybe
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _081313C6
@@ -11140,7 +11140,7 @@ sub_81316F8: @ 81316F8
lsls r0, 24
lsrs r4, r0, 24
mov r10, r4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0
@@ -11560,7 +11560,7 @@ _08131A2E:
_08131A3C: .4byte gSprites
_08131A40: .4byte gTasks
_08131A44:
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
beq _08131A74
@@ -12151,7 +12151,7 @@ _08131ECA:
lsrs r0, 24
cmp r0, 0x1
bne _08131FF4
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _08131FF4
diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s
index ab8a222df..6fa77321f 100644
--- a/asm/battle_anim_813F0F4.s
+++ b/asm/battle_anim_813F0F4.s
@@ -368,7 +368,7 @@ _0813F3AC:
strh r1, [r0]
adds r0, 0x2
strh r1, [r0]
- bl IsContest
+ bl NotInBattle
lsls r0, 24
cmp r0, 0
bne _0813F406
diff --git a/include/battle.h b/include/battle.h
index f973849b7..dc9ac93cc 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -686,6 +686,32 @@ extern u8 ewram[];
#define ewram17840 (*(struct Struct2017840 *) (ewram + 0x17840))
#define ewram17000 ((u32 *) (ewram + 0x17100))
+// used in many battle files, it seems as though Hisashi Sogabe wrote
+// some sort of macro to replace the use of actually calling memset.
+// Perhaps it was thought calling memset was much slower?
+
+// The compiler wont allow us to locally declare ptr in this macro; some
+// functions that invoke this macro will not match without this egregeous
+// assumption about the variable names, so in order to avoid this assumption,
+// we opt to pass the variables themselves, even though it is likely that
+// Sogabe assumed the variables were named src and dest. Trust me: I tried to
+// avoid assuming variable names, but the ROM just will not match without the
+// assumptions. Therefore, these macros are bad practice, but I'm putting them
+// here anyway.
+#define MEMSET_ALT(data, c, size, var, dest) \
+{ \
+ dest = (u8 *)data; \
+ for(var = 0; var < (u32)size; var++) \
+ dest[var] = c; \
+} \
+
+#define MEMCPY_ALT(data, dest, size, var, src) \
+{ \
+ src = (u8 *)data; \
+ for(var = 0; var < (u32)size; var++) \
+ dest[var] = src[var]; \
+} \
+
typedef void (*BattleCmdFunc)(void);
struct funcStack
@@ -725,7 +751,6 @@ void EmitEffectivenessSound(u8 a, u16 sound); //0x2B
void Emitcmd44(u8 a, u16 sound); //0x2C
void EmitFaintingCry(u8 a); //0x2D
void EmitIntroSlide(u8 a, u8 b); //0x2E
-void Emitcmd48(u8 a, u8 *b, u8 c); //0x30
void Emitcmd49(u8 a); //0x31
void EmitSpriteInvisibility(u8 a, u8 b); //0x33
void EmitBattleAnimation(u8 a, u8 b, u16 c); //0x34
diff --git a/include/battle_ai.h b/include/battle_ai.h
index 2922da0b3..60ca5d000 100644
--- a/include/battle_ai.h
+++ b/include/battle_ai.h
@@ -1,11 +1,6 @@
#ifndef GUARD_BATTLEAI_H
#define GUARD_BATTLEAI_H
-#define AIScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
-#define AIScriptRead16(ptr) ((ptr)[0] | (ptr)[1] << 8)
-#define AIScriptRead8(ptr) ((ptr)[0])
-#define AIScriptReadPtr(ptr) (u8*) AIScriptRead32(ptr)
-
enum
{
TARGET,
diff --git a/include/battle_anim.h b/include/battle_anim.h
index 2386c515c..3db5ae967 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -3,10 +3,6 @@
#include "sprite.h"
-#define SCRIPT_READ_8(ptr) ((ptr)[0])
-#define SCRIPT_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
-#define SCRIPT_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
-
#define REG_BGnCNT_BITFIELD(n) (*(struct BGCntrlBitfield *)REG_ADDR_BG##n##CNT)
#define REG_BG1CNT_BITFIELD REG_BGnCNT_BITFIELD(1)
#define REG_BG2CNT_BITFIELD REG_BGnCNT_BITFIELD(2)
@@ -55,13 +51,12 @@ struct UnknownStruct3
void DoMoveAnim(const u8 *const moveAnims[], u16 b, u8 c);
bool8 IsAnimBankSpriteVisible(u8 a);
void sub_8076034(u8, u8);
-bool8 IsContest(void);
+bool8 NotInBattle(void);
void battle_anim_clear_some_data(void);
void move_anim_8072740(struct Sprite *sprite);
void DestroyAnimVisualTask(u8 task);
void DestroyAnimVisualTask(u8 task);
bool8 IsAnimBankSpriteVisible(u8);
-u8 IsContest();
#endif
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
index 19482e71f..8e1fdc8bd 100644
--- a/include/field_map_obj.h
+++ b/include/field_map_obj.h
@@ -344,7 +344,7 @@ void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void FieldObjectHandleDynamicGraphicsId(struct MapObject *);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
-void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
+void FieldObjectGetLocalIdAndMap(struct MapObject *, void *, void *, void *);
void sub_805BCC0(s16 x, s16 y);
void sub_805BCF0(u8, u8, u8, u8);
void sub_805BD48(u8, u8, u8);
diff --git a/include/gba/defines.h b/include/gba/defines.h
index 0f7f06755..7fd429d9e 100644
--- a/include/gba/defines.h
+++ b/include/gba/defines.h
@@ -29,15 +29,16 @@
#define BG_VRAM VRAM
#define BG_VRAM_SIZE 0x10000
-#define BG_CHAR_ADDR(n) (BG_VRAM + (0x4000 * (n)))
-#define BG_SCREEN_ADDR(n) (BG_VRAM + (0x800 * (n)))
+#define BG_CHAR_ADDR(n) (void *)(BG_VRAM + (0x4000 * (n)))
+#define BG_SCREEN_ADDR(n) (void *)(BG_VRAM + (0x800 * (n)))
+#define BG_TILE_ADDR(n) (void *)(BG_VRAM + (0x80 * (n)))
// text-mode BG
-#define OBJ_VRAM0 (VRAM + 0x10000)
+#define OBJ_VRAM0 (void *)(VRAM + 0x10000)
#define OBJ_VRAM0_SIZE 0x8000
// bitmap-mode BG
-#define OBJ_VRAM1 (VRAM + 0x14000)
+#define OBJ_VRAM1 (void *)(VRAM + 0x14000)
#define OBJ_VRAM1_SIZE 0x4000
#define OAM 0x7000000
diff --git a/include/gba/flash_internal.h b/include/gba/flash_internal.h
index cbcfb5466..39e14ef73 100644
--- a/include/gba/flash_internal.h
+++ b/include/gba/flash_internal.h
@@ -35,7 +35,7 @@ struct FlashType {
struct FlashSetupInfo
{
u16 (*programFlashByte)(u16, u32, u8);
- u16 (*programFlashSector)(u16, u8 *);
+ u16 (*programFlashSector)(u16, void *);
u16 (*eraseFlashChip)(void);
u16 (*eraseFlashSector)(u16);
u16 (*WaitForFlashWrite)(u8, u8 *, u8);
@@ -46,7 +46,7 @@ struct FlashSetupInfo
extern u16 gFlashNumRemainingBytes;
extern u16 (*ProgramFlashByte)(u16, u32, u8);
-extern u16 (*ProgramFlashSector)(u16, u8 *);
+extern u16 (*ProgramFlashSector)(u16, void *);
extern u16 (*EraseFlashChip)(void);
extern u16 (*EraseFlashSector)(u16);
extern u16 (*WaitForFlashWrite)(u8, u8 *, u8);
@@ -67,15 +67,15 @@ void SetReadFlash1(u16 *dest);
void StopFlashTimer(void);
u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void));
u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src);
-void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size);
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n);
+void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size);
+u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n);
u16 WaitForFlashWrite_Common(u8 phase, u8 *addr, u8 lastData);
u16 EraseFlashChip_MX(void);
u16 EraseFlashSector_MX(u16 sectorNum);
u16 ProgramFlashByte_MX(u16 sectorNum, u32 offset, u8 data);
-u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src);
+u16 ProgramFlashSector_MX(u16 sectorNum, void *src);
// agb_flash_1m
u16 IdentifyFlash(void);
diff --git a/include/global.h b/include/global.h
index 29804a5a9..647f66bc8 100644
--- a/include/global.h
+++ b/include/global.h
@@ -55,6 +55,24 @@ enum
B_32 = 4
};
+// There are many quirks in the source code which have overarching behavioral differences from
+// a number of other files. For example, diploma.c seems to declare rodata before each use while
+// other files declare out of order and must be at the beginning. There are also a number of
+// macros which differ from one file to the next due to the method of obtaining the result, such
+// as these below. Because of this, there is a theory (Two Team Theory) that states that these
+// programming projects had more than 1 "programming team" which utilized different macros for
+// each of the files that were worked on.
+#define T1_READ_8(ptr) ((ptr)[0])
+#define T1_READ_16(ptr) ((ptr)[0] | ((ptr)[1] << 8))
+#define T1_READ_32(ptr) ((ptr)[0] | ((ptr)[1] << 8) | ((ptr)[2] << 16) | ((ptr)[3] << 24))
+#define T1_READ_PTR(ptr) (u8*) T1_READ_32(ptr)
+
+// T2_READ_8 is a duplicate to remain consistent with each group.
+#define T2_READ_8(ptr) ((ptr)[0])
+#define T2_READ_16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
+#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
+#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
+
enum
{
VERSION_SAPPHIRE = 1,
diff --git a/include/pokemon.h b/include/pokemon.h
index 572862b8f..7fc8e181f 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -541,11 +541,13 @@ union PokemonSubstruct *GetSubstruct(struct BoxPokemon *boxMon, u32 personality,
// but they are not used since some code erroneously omits the third arg.
// u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data);
// u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data);
+// void SetMonData(struct Pokemon *mon, s32 field, const void *dataArg);
+// void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *dataArg);
u32 GetMonData();
u32 GetBoxMonData();
+void SetMonData();
+void SetBoxMonData();
-void SetMonData(struct Pokemon *mon, s32 field, const u8 *data);
-void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data);
void CopyMon(void *dest, void *src, size_t size);
u8 GiveMonToPlayer(struct Pokemon *mon);
u8 SendMonToPC(struct Pokemon *mon);
diff --git a/include/rom3.h b/include/rom3.h
index 81bb56df1..19c6def25 100644
--- a/include/rom3.h
+++ b/include/rom3.h
@@ -1,6 +1,12 @@
#ifndef GUARD_ROM3_H
#define GUARD_ROM3_H
+struct HpAndStatus
+{
+ u16 hp;
+ u32 status;
+};
+
struct DisableStruct;
void sub_800B858(void);
@@ -55,7 +61,7 @@ void Emitcmd44(u8 a, u16 b);
void EmitFaintingCry(u8 a);
void EmitIntroSlide(u8 a, u8 b);
void EmitTrainerBallThrow(u8 a);
-void Emitcmd48(u8 a, u8 *b, u8 c);
+void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30
void Emitcmd49(u8 a);
void Emitcmd50(u8 a);
void EmitSpriteInvisibility(u8 a, u8 b);
diff --git a/include/save.h b/include/save.h
index 6c47c6f60..c35ad547a 100644
--- a/include/save.h
+++ b/include/save.h
@@ -3,7 +3,7 @@
struct SaveSectionLocation
{
- void *data;
+ u8 *data;
u16 size;
};
diff --git a/include/sprite.h b/include/sprite.h
index 769e1584d..38687ebd8 100644
--- a/include/sprite.h
+++ b/include/sprite.h
@@ -252,7 +252,7 @@ void SetOamMatrix(u8 matrixNum, u16 a, u16 b, u16 c, u16 d);
void CalcCenterToCornerVec(struct Sprite *sprite, u8 shape, u8 size, u8 affineMode);
void SpriteCallbackDummy(struct Sprite *sprite);
void ProcessSpriteCopyRequests(void);
-void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size);
+void RequestSpriteCopy(const void *src, u8 *dest, u16 size);
void FreeSpriteTiles(struct Sprite *sprite);
void FreeSpritePalette(struct Sprite *sprite);
void FreeSpriteOamMatrix(struct Sprite *sprite);
diff --git a/include/string_util.h b/include/string_util.h
index 7a4bfa4c1..55fa988b4 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -29,7 +29,7 @@ u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8
u8 *ConvertIntToDecimalString(u8 *dest, s32 value);
u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
u8 *StringBraille(u8 *dest, const u8 *src);
-u8 *GetExpandedPlaceholder(u32 id);
+const u8 *GetExpandedPlaceholder(u32 id);
u8 *StringFill(u8 *dest, u8 c, u16 n);
u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
u8 *StringFillWithTerminator(u8 *dest, u16 n);
diff --git a/src/battle/battle_2.c b/src/battle/battle_2.c
index a447cf498..1aec075db 100644
--- a/src/battle/battle_2.c
+++ b/src/battle/battle_2.c
@@ -999,7 +999,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
for (j = 0; j < 4; j++)
{
- SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]);
+ SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]);
SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp);
}
break;
@@ -1014,7 +1014,7 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0);
- SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem);
+ SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
break;
}
case 3:
@@ -1027,10 +1027,10 @@ u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum)
fixedIV = partyData[i].iv * 31 / 255;
CreateMon(&party[i], partyData[i].species, partyData[i].level, fixedIV, TRUE, personalityValue, 2, 0);
- SetMonData(&party[i], MON_DATA_HELD_ITEM, (u8 *)&partyData[i].heldItem);
+ SetMonData(&party[i], MON_DATA_HELD_ITEM, &partyData[i].heldItem);
for (j = 0; j < 4; j++)
{
- SetMonData(&party[i], MON_DATA_MOVE1 + j, (u8 *)&partyData[i].moves[j]);
+ SetMonData(&party[i], MON_DATA_MOVE1 + j, &partyData[i].moves[j]);
SetMonData(&party[i], MON_DATA_PP1 + j, &gBattleMoves[partyData[i].moves[j]].pp);
}
break;
@@ -1375,6 +1375,7 @@ void sub_8010384(struct Sprite *sprite)
void sub_8010494(struct Sprite *sprite)
{
s32 i;
+ u8 *dst;
sprite->data4--;
if (sprite->data4 == 0)
@@ -1389,8 +1390,8 @@ void sub_8010494(struct Sprite *sprite)
}
else
{
- u8 *dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8);
-
+ // this should use a MEMSET_ALT, but *(dst++) wont match with it.
+ dst = (u8 *)gUnknown_081FAF4C[GetBankIdentity(sprite->data0)] + (gBattleMonForms[sprite->data0] << 11) + (sprite->data3 << 8);
for (i = 0; i < 0x100; i++)
*(dst++) = 0;
StartSpriteAnim(sprite, gBattleMonForms[sprite->data0]);
@@ -1567,10 +1568,7 @@ void sub_8010874(void)
{
gStatuses3[i] = 0;
- r4 = (u8 *)&gDisableStructs[i];
- for (j = 0; j < (u32)0x1C; j++)
- r4[j] = 0;
-
+ MEMSET_ALT(&gDisableStructs[i], 0, 0x1C, j, r4);
gDisableStructs[i].isFirstTurn= 2;
gUnknown_02024C70[i] = 0;
gLastUsedMove[i] = 0;
@@ -1586,19 +1584,14 @@ void sub_8010874(void)
for (i = 0; i < 2; i++)
{
gSideAffecting[i] = 0;
-
- r4 = (u8 *)&gSideTimer[i];
- for (j = 0; j < 12; j++)
- r4[j] = 0;
+ MEMSET_ALT(&gSideTimer[i], 0, 12, j, r4);
}
gBankAttacker = 0;
gBankTarget = 0;
gBattleWeather = 0;
- r4 = (u8 *)&gWishFutureKnock;
- for (i = 0; i < (u32)0x2C; i++)
- r4[i] = 0;
+ MEMSET_ALT(&gWishFutureKnock, 0, 0x2C, i, r4);
gHitMarker = 0;
if ((gBattleTypeFlags & BATTLE_TYPE_LINK) == 0 && gSaveBlock2.optionsBattleSceneOff == TRUE)
@@ -1721,9 +1714,7 @@ void SwitchInClearStructs(void)
gActionSelectionCursor[gActiveBank] = 0;
gMoveSelectionCursor[gActiveBank] = 0;
- ptr = (u8 *)&gDisableStructs[gActiveBank];
- for (i = 0; i < (u32)0x1C; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr);
if (gBattleMoves[gCurrentMove].effect == EFFECT_BATON_PASS)
{
@@ -1778,9 +1769,7 @@ void UndoEffectsAfterFainting(void)
gActionSelectionCursor[gActiveBank] = 0;
gMoveSelectionCursor[gActiveBank] = 0;
- ptr = (u8 *)&gDisableStructs[gActiveBank];
- for (i = 0; i < (u32)0x1C; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gDisableStructs[gActiveBank], 0, 0x1C, i, ptr);
gProtectStructs[gActiveBank].protected = 0;
gProtectStructs[gActiveBank].endured = 0;
gProtectStructs[gActiveBank].onlyStruggle = 0;
@@ -1873,18 +1862,13 @@ void sub_8011384(void)
if ((gBattleTypeFlags & BATTLE_TYPE_SAFARI)
&& GetBankSide(gActiveBank) == 0)
{
- ptr = (u8 *)&gBattleMons[gActiveBank];
- for (i = 0; i < (u32)0x58; i++)
- ptr[i] = 0;
+ MEMSET_ALT(&gBattleMons[gActiveBank], 0, 0x58, i, ptr);
}
else
{
u8 r0;
- ptr = (u8 *)&gBattleMons[gActiveBank];
- for (i = 0; i < (u32)0x58; i++)
- ptr[i] = gBattleBufferB[gActiveBank][4 + i];
-
+ MEMSET_ALT(&gBattleMons[gActiveBank], gBattleBufferB[gActiveBank][4 + i], 0x58, i, ptr);
gBattleMons[gActiveBank].type1 = gBaseStats[gBattleMons[gActiveBank].species].type1;
gBattleMons[gActiveBank].type2 = gBaseStats[gBattleMons[gActiveBank].species].type2;
gBattleMons[gActiveBank].ability = GetAbilityBySpecies(gBattleMons[gActiveBank].species, gBattleMons[gActiveBank].altAbility);
@@ -1943,11 +1927,7 @@ void bc_801333C(void)
if (gBattleExecBuffer == 0)
{
- struct
- {
- u16 hp;
- u32 status;
- } sp0[6];
+ struct HpAndStatus hpStatus[6];
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
@@ -1956,17 +1936,17 @@ void bc_801333C(void)
if (GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gEnemyParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gEnemyParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByPlayerAI(1);
- Emitcmd48(0, (u8 *)sp0, 0x80);
+ EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
for (i = 0; i < 6; i++)
@@ -1974,17 +1954,17 @@ void bc_801333C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
gActiveBank = GetBankByPlayerAI(0);
- Emitcmd48(0, (u8 *)sp0, 0x80);
+ EmitDrawPartyStatusSummary(0, hpStatus, 0x80);
MarkBufferBankForExecution(gActiveBank);
gBattleMainFunc = bc_battle_begin_message;
@@ -1999,13 +1979,13 @@ void bc_801333C(void)
if (GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == 0
|| GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) == SPECIES_EGG)
{
- sp0[i].hp = 0xFFFF;
- sp0[i].status = 0;
+ hpStatus[i].hp = 0xFFFF;
+ hpStatus[i].status = 0;
}
else
{
- sp0[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
- sp0[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
+ hpStatus[i].hp = GetMonData(&gPlayerParty[i], MON_DATA_HP);
+ hpStatus[i].status = GetMonData(&gPlayerParty[i], MON_DATA_STATUS);
}
}
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index a3b7ac41f..65e0458a2 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -220,18 +220,6 @@ extern u8 gUnknown_081D8C65[];
extern u8 gUnknown_081D9156[];
extern u8 gUnknown_081D9468[];
-
-//useful macros
-//read via orr
-#define BSScriptRead32(ptr) ((ptr)[0] | (ptr)[1] << 8 | (ptr)[2] << 16 | (ptr)[3] << 24)
-#define BSScriptRead8(ptr) (((u8)((ptr)[0])))
-#define BSScriptReadPtr(ptr) ((void *)BSScriptRead32(ptr))
-
-//read via add
-#define BS2ScriptRead32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
-#define BS2ScriptRead16(ptr) ((ptr)[0] + ((ptr)[1] << 8))
-#define BS2ScriptReadPtr(ptr) ((void *)BS2ScriptRead32(ptr))
-
#define TargetProtectAffected ((gProtectStructs[gBankTarget].protected && gBattleMoves[gCurrentMove].flags & FLAG_PROTECT_AFFECTED))
//array entries for battle communication
@@ -1119,7 +1107,7 @@ static void JumpIfMoveFailed(u8 adder, u16 move)
{
gMoveHitWith[gBankTarget] = 0;
gUnknown_02024C44[gBankTarget] = 0;
- to_store = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ to_store = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -1200,13 +1188,13 @@ static bool8 AccuracyCalcHelper(u16 move)
static void atk01_accuracycheck(void)
{
- u16 move = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16 move = T2_READ_16(gBattlescriptCurrInstr + 5);
if (move == 0xFFFE || move == 0xFFFF)
{
if (gStatuses3[gBankTarget] & STATUS3_ALWAYS_HITS && move == 0xFFFF && gDisableStructs[gBankTarget].bankWithSureHit == gBankAttacker)
gBattlescriptCurrInstr += 7;
else if (gStatuses3[gBankTarget] & (STATUS3_ON_AIR | STATUS3_UNDERGROUND | STATUS3_UNDERWATER))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else if (!JumpIfMoveAffectedByProtect(0))
gBattlescriptCurrInstr += 7;
}
@@ -1891,7 +1879,7 @@ static void atk0B_healthbarupdate(void)
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
goto END;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{
@@ -1930,7 +1918,7 @@ static void atk0C_datahpupdate(void)
if (!(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{
if (gDisableStructs[gActiveBank].substituteHP >= gBattleMoveDamage)
@@ -1975,7 +1963,7 @@ static void atk0C_datahpupdate(void)
else
{
gTakenDmg[gActiveBank] += gBattleMoveDamage;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
gTakenDmgBanks[gActiveBank] = gBankAttacker;
else
gTakenDmgBanks[gActiveBank] = gBankTarget;
@@ -1999,7 +1987,7 @@ static void atk0C_datahpupdate(void)
{
gProtectStructs[gActiveBank].physicalDmg = gHP_dealt;
gSpecialStatuses[gActiveBank].moveturnLostHP_physical = gHP_dealt;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
{
gProtectStructs[gActiveBank].physicalBank = gBankAttacker;
gSpecialStatuses[gActiveBank].moveturnPhysicalBank = gBankAttacker;
@@ -2014,7 +2002,7 @@ static void atk0C_datahpupdate(void)
{
gProtectStructs[gActiveBank].specialDmg = gHP_dealt;
gSpecialStatuses[gActiveBank].moveturnLostHP_special = gHP_dealt;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
{
gProtectStructs[gActiveBank].specialBank = gBankAttacker;
gSpecialStatuses[gActiveBank].moveturnSpecialBank = gBankAttacker;
@@ -2033,7 +2021,7 @@ static void atk0C_datahpupdate(void)
}
else
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gSpecialStatuses[gActiveBank].moveturnLostHP == 0)
gSpecialStatuses[gActiveBank].moveturnLostHP = 0xFFFF;
}
@@ -2188,7 +2176,7 @@ static void atk10_printstring(void)
{
if (gBattleExecBuffer == 0)
{
- u16 var = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 var = T2_READ_16(gBattlescriptCurrInstr + 1);
PrepareStringBattle(var, gBankAttacker);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2198,7 +2186,7 @@ static void atk10_printstring(void)
static void atk11_printstring_playeronly(void)
{
gActiveBank = gBankAttacker;
- EmitPrintStringPlayerOnly(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitPrintStringPlayerOnly(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
gBattleCommunication[MSG_DISPLAY] = 1;
@@ -2214,7 +2202,7 @@ static void atk12_waitmessage(void)
}
else
{
- u16 to_wait = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 to_wait = T2_READ_16(gBattlescriptCurrInstr + 1);
if (++gPauseCounterBattle >= to_wait)
{
gPauseCounterBattle = 0;
@@ -2229,7 +2217,7 @@ static void atk13_printfromtable(void)
{
if (gBattleExecBuffer == 0)
{
- u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1);
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
PrepareStringBattle(*(u16*)ptr, gBankAttacker);
gBattlescriptCurrInstr += 5;
@@ -2241,7 +2229,7 @@ static void atk14_printfromtable_playeronly(void)
{
if (gBattleExecBuffer == 0)
{
- u16 *ptr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gBattlescriptCurrInstr + 1); // FIXME
ptr += gBattleCommunication[MULTISTRING_CHOOSER];
gActiveBank = gBankAttacker;
EmitPrintStringPlayerOnly(0, *(u16*)ptr);
@@ -4961,7 +4949,7 @@ static void atk17_seteffectsecondary(void)
static void atk18_status_effect_clear(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleCommunication[MOVE_EFFECT_BYTE] <= 6)
gBattleMons[gActiveBank].status1 &= (~gStatusFlagsForMoveEffects[gBattleCommunication[MOVE_EFFECT_BYTE]]);
else
@@ -4981,7 +4969,7 @@ static void atk19_faint_pokemon(void)
gActiveBank = GetBattleBank(gBattlescriptCurrInstr[1]);
if (gHitMarker & HITMARKER_FAINTED(gActiveBank))
{
- r4 = BSScriptReadPtr(gBattlescriptCurrInstr + 3);
+ r4 = T1_READ_PTR(gBattlescriptCurrInstr + 3);
b_movescr_stack_pop_cursor();
gBattlescriptCurrInstr = r4;
@@ -5079,7 +5067,7 @@ static void atk1A_faint_animation(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
Emitcmd10(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -5091,7 +5079,7 @@ static void atk1B_faint_effects_clear(void)
//Clears things like attraction or trapping to other banks
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
gBattleMons[gActiveBank].status1 = 0;
EmitSetAttributes(0, REQUEST_STATUS_BATTLE, 0, 0x4, &gBattleMons[gActiveBank].status1);
MarkBufferBankForExecution(gActiveBank);
@@ -5102,9 +5090,9 @@ static void atk1B_faint_effects_clear(void)
static void atk1C_jumpifstatus(void)
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6);
if (gBattleMons[bank].status1 & flags && gBattleMons[bank].hp)
gBattlescriptCurrInstr = jump_loc;
else
@@ -5113,9 +5101,9 @@ static void atk1C_jumpifstatus(void)
static void atk1D_jumpifstatus2(void)
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u32 flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u32 flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 6);
if (gBattleMons[bank].status2 & flags && gBattleMons[bank].hp)
gBattlescriptCurrInstr = jump_loc;
else
@@ -5125,9 +5113,9 @@ static void atk1D_jumpifstatus2(void)
static void atk1E_jumpifability(void)
{
u8 bank;
- u8 ability = BSScriptRead8(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3);
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 8)
+ u8 ability = T2_READ_8(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3);
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 8)
{
bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_BANK_SIDE, gBankAttacker, ability, 0, 0);
if (bank)
@@ -5140,7 +5128,7 @@ static void atk1E_jumpifability(void)
else
gBattlescriptCurrInstr += 7;
}
- else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 9)
+ else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 9)
{
bank = AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, gBankAttacker, ability, 0, 0);
if (bank)
@@ -5155,7 +5143,7 @@ static void atk1E_jumpifability(void)
}
else
{
- bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[bank].ability == ability)
{
gLastUsedAbility = ability;
@@ -5173,13 +5161,13 @@ static void atk1F_jumpifsideaffecting(void)
u8 side;
u16 flags;
void* jump_loc;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
side = GetBankIdentity(gBankAttacker) & 1;
else
side = GetBankIdentity(gBankTarget) & 1;
- flags = BS2ScriptRead16(gBattlescriptCurrInstr + 2);
- jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 4);
+ flags = T2_READ_16(gBattlescriptCurrInstr + 2);
+ jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 4);
if (gSideAffecting[side] & flags)
gBattlescriptCurrInstr = jump_loc;
@@ -5190,37 +5178,37 @@ static void atk1F_jumpifsideaffecting(void)
static void atk20_jumpifstat(void)
{
u8 ret = 0;
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u8 value = gBattleMons[bank].statStages[BSScriptRead8(gBattlescriptCurrInstr + 3)];
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u8 value = gBattleMons[bank].statStages[T2_READ_8(gBattlescriptCurrInstr + 3)];
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case CMP_EQUAL:
- if (value == BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value == T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_NOT_EQUAL:
- if (value != BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value != T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_GREATER_THAN:
- if (value > BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value > T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_LESS_THAN:
- if (value < BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value < T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_COMMON_BITS:
- if (value & BSScriptRead8(gBattlescriptCurrInstr + 4))
+ if (value & T2_READ_8(gBattlescriptCurrInstr + 4))
ret++;
break;
case CMP_NO_COMMON_BITS:
- if (!(value & BSScriptRead8(gBattlescriptCurrInstr + 4)))
+ if (!(value & T2_READ_8(gBattlescriptCurrInstr + 4)))
ret++;
break;
}
if (ret)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 5);
else
gBattlescriptCurrInstr += 9;
}
@@ -5230,10 +5218,10 @@ static void atk21_jumpifstatus3(void)
u32 flags;
void* jump_loc;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- flags = BS2ScriptRead32(gBattlescriptCurrInstr + 2);
- jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7);
- if (BSScriptRead8(gBattlescriptCurrInstr + 6))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ flags = T2_READ_32(gBattlescriptCurrInstr + 2);
+ jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7);
+ if (T2_READ_8(gBattlescriptCurrInstr + 6))
{
if ((gStatuses3[gActiveBank] & flags) != 0)
gBattlescriptCurrInstr += 11;
@@ -5251,9 +5239,9 @@ static void atk21_jumpifstatus3(void)
static void atk22_jumpiftype(void) //u8 bank, u8 type, *ptr
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- u8 type = BSScriptRead8(gBattlescriptCurrInstr + 2);
- void* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 3);
+ u8 bank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ u8 type = T2_READ_8(gBattlescriptCurrInstr + 2);
+ void* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 3);
if (gBattleMons[bank].type1 == type || gBattleMons[bank].type2 == type)
gBattlescriptCurrInstr = jump_loc;
@@ -5268,7 +5256,7 @@ static void atk23_getexp(void)
u8 hold_effect;
int via_expshare = 0, sent_in;
u16* exp = &BATTLE_STRUCT->exp;
- gBank1 = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gBank1 = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
sent_in = gSentPokesToOpponent[(gBank1 & 2) >> 1];
switch (BATTLE_STRUCT->atk23StateTracker)
{
@@ -6724,14 +6712,14 @@ static void atk24(void)
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (found2 + found1 > 1)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
else
{
if (found2 != 0 && found1 != 0)
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -6979,7 +6967,7 @@ static void atk25_move_values_cleanup(void)
static void atk26_set_multihit(void)
{
- gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1);
+ gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1);
gBattlescriptCurrInstr += 2;
}
@@ -6988,20 +6976,20 @@ static void atk27_decrement_multihit(void)
if (--gMultiHitCounter == 0)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk28_goto(void)
{
- gBattlescriptCurrInstr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T2_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk29_jumpifbyte(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u8* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u8 value = BSScriptRead8(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 7);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u8* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u8 value = T2_READ_8(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 7);
gBattlescriptCurrInstr += 11;
switch (caseID)
{
@@ -7034,10 +7022,10 @@ static void atk29_jumpifbyte(void)
static void atk2A_jumpifhalfword(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u16* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 8);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u16* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u16 value = T2_READ_16(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 8);
gBattlescriptCurrInstr += 12;
switch (caseID)
{
@@ -7068,12 +7056,13 @@ static void atk2A_jumpifhalfword(void)
}
}
+// Strange that there's an instance of T1_READ_32 in what seems to be a T2 function. see global.h for the distinction.
static void atk2B_jumpifword(void)
{
- u8 caseID = BSScriptRead8(gBattlescriptCurrInstr + 1);
- u32* ptr = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- u32 value = BSScriptRead32(gBattlescriptCurrInstr + 6);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8 caseID = T2_READ_8(gBattlescriptCurrInstr + 1);
+ u32* ptr = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ u32 value = T1_READ_32(gBattlescriptCurrInstr + 6);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
gBattlescriptCurrInstr += 14;
switch (caseID)
{
@@ -7107,10 +7096,10 @@ static void atk2B_jumpifword(void)
static void atk2C_jumpifarrayequal(void)
{
//Mem1, Mem2, Size, Jump Loc
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
u8 i;
for (i = 0; i < size; i++)
@@ -7131,10 +7120,10 @@ static void atk2D_jumpifarraynotequal(void)
{
//Mem1, Mem2, Size, Jump Loc
u8 equal_bytes = 0;
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
- u8* jump_loc = BS2ScriptReadPtr(gBattlescriptCurrInstr + 10);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
+ u8* jump_loc = T2_READ_PTR(gBattlescriptCurrInstr + 10);
u8 i;
for (i = 0; i < size; i++)
@@ -7154,30 +7143,30 @@ static void atk2D_jumpifarraynotequal(void)
static void atk2E_setbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem = BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem = T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk2F_addbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem += BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem += T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk30_subbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem -= BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem -= T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk31_copyarray(void)
{
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- s32 size = BSScriptRead8(gBattlescriptCurrInstr + 9);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ s32 size = T2_READ_8(gBattlescriptCurrInstr + 9);
s32 i;
for (i = 0; i < size; i++)
@@ -7190,10 +7179,10 @@ static void atk31_copyarray(void)
static void atk32_copyarray_withindex(void)
{
- u8* mem1 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* mem2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 5);
- u8* index = BS2ScriptReadPtr(gBattlescriptCurrInstr + 9);
- s32 size = BSScriptRead8(gBattlescriptCurrInstr + 13);
+ u8* mem1 = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* mem2 = T2_READ_PTR(gBattlescriptCurrInstr + 5);
+ u8* index = T2_READ_PTR(gBattlescriptCurrInstr + 9);
+ s32 size = T2_READ_8(gBattlescriptCurrInstr + 13);
s32 i;
for (i = 0; i < size; i++)
@@ -7206,15 +7195,15 @@ static void atk32_copyarray_withindex(void)
static void atk33_orbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem |= BSScriptRead8(gBattlescriptCurrInstr + 5);
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem |= T2_READ_8(gBattlescriptCurrInstr + 5);
gBattlescriptCurrInstr += 6;
}
static void atk34_orhalfword(void)
{
- u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
*mem |= val;
gBattlescriptCurrInstr += 7;
@@ -7222,8 +7211,8 @@ static void atk34_orhalfword(void)
static void atk35_orword(void)
{
- u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5);
+ u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
*mem |= val;
gBattlescriptCurrInstr += 9;
@@ -7231,15 +7220,15 @@ static void atk35_orword(void)
static void atk36_bicbyte(void)
{
- u8* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- *mem &= ~(BSScriptRead8(gBattlescriptCurrInstr + 5));
+ u8* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ *mem &= ~(T2_READ_8(gBattlescriptCurrInstr + 5));
gBattlescriptCurrInstr += 6;
}
static void atk37_bichalfword(void)
{
- u16* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u16 val = BS2ScriptRead16(gBattlescriptCurrInstr + 5);
+ u16* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u16 val = T2_READ_16(gBattlescriptCurrInstr + 5);
*mem &= ~val;
gBattlescriptCurrInstr += 7;
@@ -7247,8 +7236,8 @@ static void atk37_bichalfword(void)
static void atk38_bicword(void)
{
- u32* mem = BS2ScriptReadPtr(gBattlescriptCurrInstr + 1);
- u32 val = BS2ScriptRead32(gBattlescriptCurrInstr + 5);
+ u32* mem = T2_READ_PTR(gBattlescriptCurrInstr + 1);
+ u32 val = T2_READ_32(gBattlescriptCurrInstr + 5);
*mem &= ~val;
gBattlescriptCurrInstr += 9;
@@ -7258,7 +7247,7 @@ static void atk39_pause(void)
{
if (gBattleExecBuffer == 0)
{
- u16 value = BS2ScriptRead16(gBattlescriptCurrInstr + 1);
+ u16 value = T2_READ_16(gBattlescriptCurrInstr + 1);
if (++gPauseCounterBattle >= value)
{
gPauseCounterBattle = 0;
@@ -7275,7 +7264,7 @@ static void atk3A_waitstate(void)
static void atk3B_healthbar_update(void)
{
- if (!BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (!T2_READ_8(gBattlescriptCurrInstr + 1))
gActiveBank = gBankTarget;
else
gActiveBank = gBankAttacker;
@@ -7315,23 +7304,23 @@ static void atk3F_end3(void) //pops the main function stack
static void atk41_call(void)
{
b_movescr_stack_push(gBattlescriptCurrInstr + 5);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atk42_jumpiftype2(void) //u8 bank, u8 type, *ptr
{
- u8 bank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ u8 bank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
- if (BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || BSScriptRead8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 3);
+ if (T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type1 || T1_READ_8(gBattlescriptCurrInstr + 2) == gBattleMons[bank].type2)
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 3);
else
gBattlescriptCurrInstr += 7;
}
static void atk43_jumpifabilitypresent(void)
{
- if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, BSScriptRead8(gBattlescriptCurrInstr + 1), 0, 0))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ if (AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, T2_READ_8(gBattlescriptCurrInstr + 1), 0, 0))
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -7345,9 +7334,9 @@ static void atk44(void)
static void atk45_playanimation(void)
{
- #define ANIMATION_ID BSScriptRead8(gBattlescriptCurrInstr + 2)
- #define ARGUMENT (u16*) BS2ScriptReadPtr(gBattlescriptCurrInstr + 3)
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ #define ANIMATION_ID T2_READ_8(gBattlescriptCurrInstr + 2)
+ #define ARGUMENT (u16*) T2_READ_PTR(gBattlescriptCurrInstr + 3)
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if ( ANIMATION_ID == 1 || ANIMATION_ID == 0x11 || ANIMATION_ID == 2) {
EmitBattleAnimation(0, ANIMATION_ID, *argument);
@@ -7477,10 +7466,10 @@ static void atk46_playanimation2(void)
u16* arg3;
u32 something;
- arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1);
+ arg1 = T2_READ_8(gBattlescriptCurrInstr + 1);
gActiveBank = GetBattleBank(arg1);
- arg2 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 2);
- arg3 = BS2ScriptReadPtr(gBattlescriptCurrInstr + 6);
+ arg2 = T2_READ_PTR(gBattlescriptCurrInstr + 2);
+ arg3 = T2_READ_PTR(gBattlescriptCurrInstr + 6);
if (*arg2 == 1 || *arg2 == 0x11 || *arg2 == 2)
{
@@ -7645,9 +7634,9 @@ static void atk48_playstatchangeanimation(void)
u32 stats_to_check;
u8 arg3;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- stats_to_check = BSScriptRead8(gBattlescriptCurrInstr + 2);
- arg3 = BSScriptRead8(gBattlescriptCurrInstr + 3);
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ stats_to_check = T2_READ_8(gBattlescriptCurrInstr + 2);
+ arg3 = T2_READ_8(gBattlescriptCurrInstr + 3);
if (arg3 & 1)
{
u16 r1 = 0x15;
@@ -7657,7 +7646,7 @@ static void atk48_playstatchangeanimation(void)
{
if (!(stats_to_check & 1))
continue;
- if (!(BSScriptRead8(gBattlescriptCurrInstr + 3)))
+ if (!(T2_READ_8(gBattlescriptCurrInstr + 3)))
{
u8 ability;
if (gSideTimer[GetBankIdentity(gActiveBank) & 1].mistTimer)
@@ -7676,7 +7665,7 @@ static void atk48_playstatchangeanimation(void)
r1 += 1;
curr_stat++;
}
- if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2)
+ if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2)
stat_animID = 0x39;
else
stat_animID = 0x3A;
@@ -7700,19 +7689,19 @@ static void atk48_playstatchangeanimation(void)
r1 += 1;
curr_stat++;
}
- if (changeable_stats > 1 && BSScriptRead8(gBattlescriptCurrInstr + 3) & 2)
+ if (changeable_stats > 1 && T2_READ_8(gBattlescriptCurrInstr + 3) & 2)
stat_animID = 0x37;
else
stat_animID = 0x38;
}
- if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1)
+ if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 2 && changeable_stats <= 1)
|| changeable_stats == 0 || BATTLE_STRUCT->filler2[0] != 0)
gBattlescriptCurrInstr += 4;
else
{
EmitBattleAnimation(0, 1, stat_animID);
MarkBufferBankForExecution(gActiveBank);
- if ((BSScriptRead8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1)
+ if ((T2_READ_8(gBattlescriptCurrInstr + 3) & 4) && changeable_stats > 1)
BATTLE_STRUCT->filler2[0] = 1;
gBattlescriptCurrInstr += 4;
}
@@ -7998,8 +7987,8 @@ static void atk49_moveendturn(void)
if (gLastUsedMove != 0xFFFF)
last_move = gLastUsedMove;
- arg1 = BSScriptRead8(gBattlescriptCurrInstr + 1);
- arg2 = BSScriptRead8(gBattlescriptCurrInstr + 2);
+ arg1 = T2_READ_8(gBattlescriptCurrInstr + 1);
+ arg2 = T2_READ_8(gBattlescriptCurrInstr + 2);
if (gBattleMons[gBankTarget].item == ITEM_ENIGMA_BERRY)
hold_effect_atk = gEnigmaBerries[gBankAttacker].holdEffect;
else
@@ -9531,7 +9520,7 @@ static void atk4C_copy_poke_data(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
gBattlePartyID[gActiveBank] = unk_2000000[0x16068 + gActiveBank];
@@ -9558,7 +9547,7 @@ static void atk4D_switch_data_update(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
OldData = gBattleMons[gActiveBank];
monData = (u8*)(&gBattleMons[gActiveBank]);
for (i = 0; i < sizeof(struct BattlePokemon); i++)
@@ -9599,13 +9588,13 @@ static void atk4E_switchin_anim(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (GetBankSide(gActiveBank) == 1 && !(gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_BATTLE_TOWER)))
{
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gActiveBank].species), 2);
}
gAbsentBankFlags &= ~(gBitTable[gActiveBank]);
- EmitSendOutPoke(0, gBattlePartyID[gActiveBank], BSScriptRead8(gBattlescriptCurrInstr + 2));
+ EmitSendOutPoke(0, gBattlePartyID[gActiveBank], T2_READ_8(gBattlescriptCurrInstr + 2));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
@@ -9616,12 +9605,12 @@ static void atk4F_jump_if_cannot_switch(void)
register struct Pokemon *party;
u8 r7;
//0x80 byte is used as a way of telling the function whether to not check status2/status3
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x7F);
- if (!(BSScriptRead8(gBattlescriptCurrInstr + 1) & 0x80)
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x7F);
+ if (!(T2_READ_8(gBattlescriptCurrInstr + 1) & 0x80)
&& ((gBattleMons[gActiveBank].status2 & (STATUS2_WRAPPED | STATUS2_ESCAPE_PREVENTION))
|| (gStatuses3[gActiveBank] & STATUS3_ROOTED)))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
return;
}
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
@@ -9642,7 +9631,7 @@ static void atk4F_jump_if_cannot_switch(void)
break;
}
if (val == to_cmp)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -9675,7 +9664,7 @@ static void atk4F_jump_if_cannot_switch(void)
break;
}
if (val == 6)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -9694,9 +9683,9 @@ static void atk50_openpartyscreen(void)
{
int i = 0;
int r9 = 0;
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2);
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5)
{
if ((gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
{
@@ -10765,8 +10754,8 @@ static void atk51_switch_handle_order(void)
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case 0:
for (i = 0; i < gNoOfAllBanks; i++)
@@ -10816,7 +10805,7 @@ static void atk52_switch_in_effects(void)
{
int i;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
sub_80157C4(gActiveBank);
gHitMarker &= ~(HITMARKER_FAINTED(gActiveBank));
gSpecialStatuses[gActiveBank].flag40 = 0;
@@ -10836,9 +10825,9 @@ static void atk52_switch_in_effects(void)
BATTLE_STRUCT->scriptingActive = gActiveBank;
b_movescr_stack_push_cursor();
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 0)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 0)
gBattlescriptCurrInstr = gUnknown_081D919F;
- else if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 1)
+ else if (T2_READ_8(gBattlescriptCurrInstr + 1) == 1)
gBattlescriptCurrInstr = gUnknown_081D9171;
else
gBattlescriptCurrInstr = gUnknown_081D91CD;
@@ -10865,7 +10854,7 @@ static void atk52_switch_in_effects(void)
*(HP_ON_SWITCHOUT + GetBankSide(i)) = gBattleMons[i].hp;
}
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) == 5)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) == 5)
{
u32 hitmark = gHitMarker >> 0x1C;
gBank1++;
@@ -10885,7 +10874,7 @@ static void atk52_switch_in_effects(void)
static void atk53_trainer_slide(void)
{
- if (!BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (!T2_READ_8(gBattlescriptCurrInstr + 1))
gActiveBank = GetBankByPlayerAI(0);
else
gActiveBank = GetBankByPlayerAI(1);
@@ -10898,7 +10887,7 @@ static void atk53_trainer_slide(void)
static void atk54_effectiveness_sound(void)
{
gActiveBank = gBankAttacker;
- EmitEffectivenessSound(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ EmitEffectivenessSound(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
@@ -10906,14 +10895,14 @@ static void atk54_effectiveness_sound(void)
static void atk55_play_sound(void)
{
gActiveBank = gBankAttacker;
- Emitcmd44(0, BS2ScriptRead16(gBattlescriptCurrInstr + 1));
+ Emitcmd44(0, T2_READ_16(gBattlescriptCurrInstr + 1));
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 3;
}
static void atk56_fainting_cry(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitFaintingCry(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -10929,7 +10918,7 @@ static void atk57(void)
static void atk58_return_to_ball(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitReturnPokeToBall(0, 1);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -10937,10 +10926,10 @@ static void atk58_return_to_ball(void)
void atk59_learnmove_inbattle(void)
{
- u8* loc1 = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
- u8* loc2 = BSScriptReadPtr(gBattlescriptCurrInstr + 5);
+ u8* loc1 = T1_READ_PTR(gBattlescriptCurrInstr + 1);
+ u8* loc2 = T1_READ_PTR(gBattlescriptCurrInstr + 5);
- u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], BSScriptRead8(gBattlescriptCurrInstr + 9));
+ u16 ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], T2_READ_8(gBattlescriptCurrInstr + 9));
while (ret == 0xFFFE)
ret = MonTryLearningNewMove(&gPlayerParty[BATTLE_STRUCT->expGetterID], 0);
@@ -11053,7 +11042,7 @@ static void atk5A(void)
{
u8 *ptr;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
ptr = gBattleTextBuff2;
{
ptr[0] = 0xFD;
@@ -11123,7 +11112,7 @@ static void atk5B_80256E0(void)
{
PlaySE(SE_SELECT);
if (gBattleCommunication[1] != 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
sub_8023AD8();
@@ -11131,7 +11120,7 @@ static void atk5B_80256E0(void)
else if (gMain.newKeys & B_BUTTON)
{
PlaySE(SE_SELECT);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
sub_8023AD8();
}
}
@@ -11139,7 +11128,7 @@ static void atk5B_80256E0(void)
static void atk5C_hitanimation(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMoveFlags & MOVESTATUS_NOEFFECT)
gBattlescriptCurrInstr += 2;
else if (!(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE) || !(gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE) || gDisableStructs[gActiveBank].substituteHP == 0)
@@ -11412,7 +11401,7 @@ _08024190: .4byte gBattlescriptCurrInstr\n\
static void atk5E_8025A70(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
switch (gBattleCommunication[0])
{
case 0:
@@ -11453,26 +11442,20 @@ static void atk60_increment_gamestat(void)
{
if (GetBankSide(gBankAttacker) == 0)
{
- IncrementGameStat(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ IncrementGameStat(T2_READ_8(gBattlescriptCurrInstr + 1));
}
gBattlescriptCurrInstr += 2;
}
-struct hp_status
-{
- u16 hp;
- u32 status;
-};
-
static void atk61_8025BA4(void)
{
int i;
struct Pokemon* party;
- struct hp_status hpStatus[6];
+ struct HpAndStatus hpStatus[6];
if (gBattleExecBuffer)
return;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (GetBankSide(gActiveBank) == 0)
party = gPlayerParty;
else
@@ -11491,14 +11474,14 @@ static void atk61_8025BA4(void)
hpStatus[i].status = GetMonData(&party[i], MON_DATA_STATUS);
}
}
- Emitcmd48(0, (u8*)(hpStatus), 1);
+ EmitDrawPartyStatusSummary(0, hpStatus, 1);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
}
static void atk62_08025C6C(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
Emitcmd49(0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -11506,7 +11489,7 @@ static void atk62_08025C6C(void)
static void atk63_jumptorandomattack(void)
{
- if (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ if (T2_READ_8(gBattlescriptCurrInstr + 1))
gCurrentMove = gRandomMove;
else
gUnknown_02024BE8 = gCurrentMove = gRandomMove;
@@ -11517,7 +11500,7 @@ static void atk64_statusanimation(void)
{
if (gBattleExecBuffer == 0)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
EmitStatusAnimation(0, 0, gBattleMons[gActiveBank].status1);
@@ -11532,8 +11515,8 @@ static void atk65_status2animation(void)
if (gBattleExecBuffer == 0)
{
u32 possible_to_anim;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- possible_to_anim = BSScriptRead32(gBattlescriptCurrInstr + 2);
+ gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
+ possible_to_anim = T1_READ_32(gBattlescriptCurrInstr + 2);
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
EmitStatusAnimation(0, 1, gBattleMons[gActiveBank].status2 & possible_to_anim);
@@ -11548,11 +11531,11 @@ static void atk66_chosenstatusanimation(void)
if (gBattleExecBuffer == 0)
{
u32 status;
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- status = BSScriptRead32(gBattlescriptCurrInstr + 3);
+ gActiveBank = GetBattleBank(T1_READ_8(gBattlescriptCurrInstr + 1));
+ status = T1_READ_32(gBattlescriptCurrInstr + 3);
if (!(gStatuses3[gActiveBank] & STATUS3_SEMI_INVULNERABLE) && gDisableStructs[gActiveBank].substituteHP == 0 && !(gHitMarker & HITMARKER_NO_ANIMATIONS))
{
- EmitStatusAnimation(0, BSScriptRead8(gBattlescriptCurrInstr + 2), status);
+ EmitStatusAnimation(0, T1_READ_8(gBattlescriptCurrInstr + 2), status);
MarkBufferBankForExecution(gActiveBank);
}
gBattlescriptCurrInstr += 7;
@@ -11656,7 +11639,7 @@ static void atk69_dmg_adjustment2(void) //literally a copy of atk07 except there
void atk6A_removeitem(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
#define USED_HELD_ITEMS(bank) (*(u16 *)&ewram[0x160CC + 2 * (bank)])
USED_HELD_ITEMS(gActiveBank) = gBattleMons[gActiveBank].item;
@@ -12116,7 +12099,7 @@ static void atk6E_set_atk_to_player0(void)
static void atk6F_set_visible(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitSpriteInvisibility(0, 0);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -12124,7 +12107,7 @@ static void atk6F_set_visible(void)
static void atk70_record_ability(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
RecordAbilityBattle(gActiveBank, gLastUsedAbility);
gBattlescriptCurrInstr += 1; //buggy, should be += 2, one byte for command, one byte for argument...
}
@@ -12147,7 +12130,7 @@ static void atk71_buffer_move_to_learn(void)
static void atk72_jump_if_can_run_frombattle(void)
{
if (sub_8014AB8(gBank1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -12158,7 +12141,7 @@ static void atk73_hp_thresholds(void)
s32 result;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBank ^ 1;
result = gBattleMons[opposing_bank].hp * 100 / gBattleMons[opposing_bank].maxHP;
@@ -12185,7 +12168,7 @@ static void atk74_hp_thresholds2(void)
s32 result;
if (!(gBattleTypeFlags & BATTLE_TYPE_DOUBLE))
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
opposing_bank = gActiveBank ^ 1;
hp_switchout = ewram[2 * GetBankSide(opposing_bank) + 0x160bc]; //BATTLE_STRUCT->HP_OnSwitchout[GetBankSide(opposing_bank)];
result = (hp_switchout - gBattleMons[opposing_bank].hp) * 100 / hp_switchout;
@@ -12212,8 +12195,8 @@ static void atk75_8026A58(void)
static void atk76_various(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
- switch (BSScriptRead8(gBattlescriptCurrInstr + 2))
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
+ switch (T2_READ_8(gBattlescriptCurrInstr + 2))
{
case 0:
CancelMultiTurnMoves(gActiveBank);
@@ -12360,7 +12343,7 @@ static void atk79_setatkhptozero(void)
static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop through all targets
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
@@ -12383,9 +12366,9 @@ static void atk7A_jumpwhiletargetvalid(void) //used by intimidate to loop throug
static void atk7B_healhalfHP_if_possible(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
- if (BSScriptRead8(gBattlescriptCurrInstr + 5) == 1)
+ if (T2_READ_8(gBattlescriptCurrInstr + 5) == 1)
gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP / 2;
@@ -12502,7 +12485,7 @@ static void atk7F_setseeded(void)
static void atk80_manipulatedamage(void)
{
- switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ switch (T2_READ_8(gBattlescriptCurrInstr + 1))
{
case 0:
gBattleMoveDamage *= -1;
@@ -12524,7 +12507,7 @@ static void atk80_manipulatedamage(void)
static void atk81_setrest(void)
{
- u8* fail_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* fail_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
gActiveBank = gBankTarget = gBankAttacker;
gBattleMoveDamage = gBattleMons[gBankTarget].maxHP * (-1);
if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
@@ -12545,7 +12528,7 @@ static void atk81_setrest(void)
static void atk82_jumpifnotfirstturn(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].isFirstTurn)
gBattlescriptCurrInstr += 5;
@@ -12582,7 +12565,7 @@ bool8 UproarWakeUpCheck(u8 bank)
static void atk84_jump_if_cant_sleep(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (UproarWakeUpCheck(gBankTarget))
gBattlescriptCurrInstr = jump_loc;
else if (gBattleMons[gBankTarget].ability == ABILITY_INSOMNIA || gBattleMons[gBankTarget].ability == ABILITY_VITAL_SPIRIT)
@@ -12621,7 +12604,7 @@ static void atk85_stockpile(void)
static void atk86_stockpiletobasedamage(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jump_loc;
@@ -12646,7 +12629,7 @@ static void atk86_stockpiletobasedamage(void)
static void atk87_stockpiletohpheal(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 1);
if (gDisableStructs[gBankAttacker].stockpileCounter == 0)
{
gBattlescriptCurrInstr = jump_loc;
@@ -13433,8 +13416,8 @@ _080262C0: .4byte gBattleMoveFlags\n\
static void atk89_statbuffchange(void)
{
- u8* jump_loc = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
- if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, BSScriptRead8(gBattlescriptCurrInstr + 1), jump_loc) == 0)
+ u8* jump_loc = T1_READ_PTR(gBattlescriptCurrInstr + 2);
+ if (ChangeStatBuffs(BATTLE_STRUCT->statChanger & 0xF0, BATTLE_STRUCT->statChanger & 0xF, T2_READ_8(gBattlescriptCurrInstr + 1), jump_loc) == 0)
gBattlescriptCurrInstr += 6;
}
@@ -13469,8 +13452,8 @@ static void atk8C_confuseifrepeatingattackends(void)
static void atk8D_setmultihit_counter(void)
{
- if (BSScriptRead8(gBattlescriptCurrInstr + 1))
- gMultiHitCounter = BSScriptRead8(gBattlescriptCurrInstr + 1);
+ if (T2_READ_8(gBattlescriptCurrInstr + 1))
+ gMultiHitCounter = T2_READ_8(gBattlescriptCurrInstr + 1);
else
{
gMultiHitCounter = Random() & 3;
@@ -13504,7 +13487,7 @@ static bool8 sub_80264C0(void)
u16 random = Random() & 0xFF;
if ((u32)((random * (gBattleMons[gBankAttacker].level + gBattleMons[gBankTarget].level) >> 8) + 1) <= (gBattleMons[gBankTarget].level / 4))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
return 0;
}
ewram[gBankTarget + 0x16064] = gBattlePartyID[gBankTarget];
@@ -13555,7 +13538,7 @@ static void atk8F_forcerandomswitch(void)
if ((valid < 2 && (gBattleTypeFlags & (BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI)) != BATTLE_TYPE_DOUBLE)
|| (valid < 3 && (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) && !(gBattleTypeFlags & BATTLE_TYPE_MULTI)))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else if (sub_80264C0())
{
@@ -13631,7 +13614,7 @@ static void atk90_conversion_type_change(void)
if (checked_move == valid_moves)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -13750,7 +13733,7 @@ MOVESTATUS_MISSED_LABEL:
gBattleCommunication[MULTISTRING_CHOOSER] = 1;
else
gBattleCommunication[MULTISTRING_CHOOSER] = 0;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -14205,7 +14188,7 @@ static void atk97_try_infatuation(void)
|| gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE || gBattleMons[gBankTarget].status2 & STATUS2_INFATUATION || GetGenderFromSpeciesAndPersonality(atk_species, atk_pid) == 0xFF
|| GetGenderFromSpeciesAndPersonality(def_species, def_pid) == 0xFF)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -14220,9 +14203,9 @@ static void atk98_status_icon_update(void)
if (gBattleExecBuffer)
return;
- if (BSScriptRead8(gBattlescriptCurrInstr + 1) != 4)
+ if (T2_READ_8(gBattlescriptCurrInstr + 1) != 4)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
EmitStatusIconUpdate(0, gBattleMons[gActiveBank].status1, gBattleMons[gActiveBank].status2);
MarkBufferBankForExecution(gActiveBank);
gBattlescriptCurrInstr += 2;
@@ -14362,7 +14345,7 @@ static void atk9D_copyattack(void)
if (IsMoveUncopyable(gLastUsedMove[gBankTarget]) || gBattleMons[gBankAttacker].status2 & STATUS2_TRANSFORMED
|| gLastUsedMove[gBankTarget] == 0 || gLastUsedMove[gBankTarget] == 0xFFFF)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -14390,7 +14373,7 @@ static void atk9D_copyattack(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14527,7 +14510,7 @@ static void atkA1_counterdamagecalculator(void)
else
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14547,7 +14530,7 @@ static void atkA2_mirrorcoatdamagecalculator(void) //a copy of atkA1 with the ph
else
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14574,7 +14557,7 @@ static void atkA3_disablelastusedattack(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14598,7 +14581,7 @@ static void atkA4_setencore(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14619,14 +14602,14 @@ static void atkA5_painsplitdmgcalc(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#ifdef NONMATCHING
static void atkA6_settypetorandomresistance(void)
{
if (gMoveHitWith[gBankAttacker] == 0 || gMoveHitWith[gBankAttacker] == 0xFFFF || (IsTwoTurnsMove(gMoveHitWith[gBankAttacker]) && !gProtectStructs[gBankAttacker].physicalDmg && !gProtectStructs[gBankAttacker].specialDmg))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
int type = 0, rands = 0;
@@ -14668,7 +14651,7 @@ static void atkA6_settypetorandomresistance(void)
type += 3, rands += 3;
} while (rands < 336);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -14957,7 +14940,7 @@ static void atkA8_copymovepermanently(void)
break;
}
if (i != 4) //sketch fail
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else //sketch worked
{
struct move_pp moves_data;
@@ -14981,7 +14964,7 @@ static void atkA8_copymovepermanently(void)
}
}
else //sketch fail
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static bool8 IsTwoTurnsMove(u16 move)
@@ -15042,7 +15025,7 @@ static void atkA9_sleeptalk_choose_move(void)
gCurrMovePos = random_pos;
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
gBankTarget = GetMoveTarget(gRandomMove, 0);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15122,7 +15105,7 @@ static void atkAD_spite_ppreduce(void)
return;
}
}
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkAE_heal_party_status(void)
@@ -15206,7 +15189,7 @@ static void atkAF_cursetarget(void)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_CURSED || gStatuses3[gBankTarget] & STATUS3_SEMI_INVULNERABLE)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -15224,7 +15207,7 @@ static void atkB0_set_spikes(void)
if (gSideTimer[side].spikesAmount == 3)
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -15258,7 +15241,7 @@ static void atkB2_setperishsong(void)
sub_80153D0(gBankAttacker);
if (not_affected_pokes == gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
@@ -15296,8 +15279,8 @@ static void atkB3_rolloutdamagecalculation(void)
static void atkB4_jumpifconfusedandstatmaxed(void)
{
- if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[BSScriptRead8(gBattlescriptCurrInstr + 1)] == 0xC)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ if (gBattleMons[gBankTarget].status2 & STATUS2_CONFUSION && gBattleMons[gBankTarget].statStages[T2_READ_8(gBattlescriptCurrInstr + 1)] == 0xC)
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -15464,7 +15447,7 @@ static void atkBA_jumpifnopursuitswitchdmg(void)
gHitMarker &= ~(HITMARKER_ATTACKSTRING_PRINTED);
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkBB_setsunny(void)
@@ -15499,7 +15482,7 @@ static void atkBC_maxattackhalvehp(void) //belly drum
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15569,7 +15552,7 @@ static void atkC0_recoverbasedonsunlight(void)
}
else
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
@@ -15738,7 +15721,7 @@ static void atkC3_setfutureattack(void)
{
if (gWishFutureKnock.futureSightCounter[gBankTarget] != 0)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -15771,7 +15754,7 @@ static void atkC4_beat_up(void)
party = gEnemyParty;
if (gBattleMons[gBankTarget].hp == 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
while (gBattleCommunication[0] < 6)
@@ -15801,9 +15784,9 @@ static void atkC4_beat_up(void)
gBattleCommunication[0]++;
}
else if (gBattleCommunication[0] != 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 5);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 5);
}
}
#else
@@ -16125,7 +16108,7 @@ static void atkC9_jumpifattackandspecialattackcannotfall(void) //memento
if (gBattleMons[gBankTarget].statStages[STAT_STAGE_ATK] == 0
&& gBattleMons[gBankTarget].statStages[STAT_STAGE_SPATK] == 0
&& gBattleCommunication[6] != 1)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gActiveBank = gBankAttacker;
@@ -16171,13 +16154,13 @@ static void atkCD_cureifburnedparalysedorpoisoned(void) //refresh
MarkBufferBankForExecution(gActiveBank);
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkCE_settorment(void)
{
if (gBattleMons[gBankTarget].status2 & STATUS2_TORMENT)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gBattleMons[gBankTarget].status2 |= STATUS2_TORMENT;
@@ -16190,7 +16173,7 @@ static void atkCF_jumpifnodamage(void)
if (gProtectStructs[gBankAttacker].physicalDmg || gProtectStructs[gBankAttacker].specialDmg)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD0_settaunt(void)
@@ -16202,7 +16185,7 @@ static void atkD0_settaunt(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD1_set_helpinghand(void)
@@ -16215,7 +16198,7 @@ static void atkD1_set_helpinghand(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#ifdef NONMATCHING
@@ -16227,7 +16210,7 @@ static void atkD2_swap_items(void)
if (gBattleTypeFlags)
}
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -16560,12 +16543,12 @@ static void atkD3_copy_ability(void) //role play
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkD4_wish_effect(void)
{
- switch (BSScriptRead8(gBattlescriptCurrInstr + 1))
+ switch (T2_READ_8(gBattlescriptCurrInstr + 1))
{
case 0: //use wish
if (gWishFutureKnock.wishCounter[gBankAttacker] == 0)
@@ -16575,7 +16558,7 @@ static void atkD4_wish_effect(void)
gBattlescriptCurrInstr += 6;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
break;
case 1: //heal effect
gBattleTextBuff1[0] = 0xFD;
@@ -16588,7 +16571,7 @@ static void atkD4_wish_effect(void)
gBattleMoveDamage = 1;
gBattleMoveDamage *= -1;
if (gBattleMons[gBankTarget].hp == gBattleMons[gBankTarget].maxHP)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
break;
@@ -16598,7 +16581,7 @@ static void atkD4_wish_effect(void)
static void atkD5_setroots(void) //ingrain
{
if (gStatuses3[gBankAttacker] & STATUS3_ROOTED)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankAttacker] |= STATUS3_ROOTED;
@@ -16617,7 +16600,7 @@ static void atkD6_doubledamagedealtifdamaged(void)
static void atkD7_setyawn(void)
{
if (gStatuses3[gBankTarget] & STATUS3_YAWN || (u8) gBattleMons[gBankTarget].status1)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankTarget] |= 0x1000;
@@ -16629,7 +16612,7 @@ static void atkD8_setdamagetohealthdifference(void)
{
if (gBattleMons[gBankTarget].hp <= gBattleMons[gBankAttacker].hp)
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -16655,7 +16638,7 @@ static void atkDA_abilityswap(void)
if ((gBattleMons[gBankAttacker].ability == 0 && gBattleMons[gBankTarget].ability == 0)
|| gBattleMons[gBankAttacker].ability == ABILITY_WONDER_GUARD || gBattleMons[gBankTarget].ability == ABILITY_WONDER_GUARD
|| gBattleMoveFlags & MOVESTATUS_NOEFFECT)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
u8 atk_ability = gBattleMons[gBankAttacker].ability;
@@ -16670,7 +16653,7 @@ static void atkDB_imprisoneffect(void)
u8 r8 = 0;
if ((gStatuses3[gBankAttacker] & STATUS3_IMPRISIONED))
{
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
else
{
@@ -16701,14 +16684,14 @@ static void atkDB_imprisoneffect(void)
}
}
if (bank == gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
}
static void atkDC_setgrudge(void)
{
if (gStatuses3[gBankAttacker] & STATUS3_GRUDGE)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gStatuses3[gBankAttacker] |= STATUS3_GRUDGE;
@@ -16782,7 +16765,7 @@ static void atkDE_asistattackselect(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
#else
@@ -16978,7 +16961,7 @@ static void atkDF_setmagiccoat(void)
gBankTarget = gBankAttacker;
gSpecialStatuses[gBankAttacker].flag20 = 1;
if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gProtectStructs[gBankAttacker].bounceMove = 1;
@@ -16990,7 +16973,7 @@ static void atkE0_setstealstatchange(void)
{
gSpecialStatuses[gBankAttacker].flag20 = 1;
if (gCurrentMoveTurn == gNoOfAllBanks - 1) //last turn
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
gProtectStructs[gBankAttacker].stealMove = 1;
@@ -17018,14 +17001,14 @@ static void atkE1_intimidate_string_loader(void)
}
if (gBankTarget >= gNoOfAllBanks)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
gBattlescriptCurrInstr += 5;
}
static void atkE2_switchout_abilities(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
switch (gBattleMons[gActiveBank].ability)
{
case ABILITY_NATURAL_CURE:
@@ -17039,9 +17022,9 @@ static void atkE2_switchout_abilities(void)
static void atkE3_jumpiffainted(void)
{
- gActiveBank = GetBattleBank(BSScriptRead8(gBattlescriptCurrInstr + 1));
+ gActiveBank = GetBattleBank(T2_READ_8(gBattlescriptCurrInstr + 1));
if (gBattleMons[gActiveBank].hp == 0)
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 2);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 2);
else
gBattlescriptCurrInstr += 6;
}
@@ -17155,7 +17138,7 @@ static void atkE8_settypebasedhalvers(void) //water/mud sport
if (worked)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkE9_setweatherballtype(void)
@@ -17193,7 +17176,7 @@ static void atkEA_recycleitem(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkEB_settypetoterrain(void)
@@ -17209,7 +17192,7 @@ static void atkEB_settypetoterrain(void)
gBattlescriptCurrInstr += 5;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkEC_pursuit_sth(void)
@@ -17225,7 +17208,7 @@ static void atkEC_pursuit_sth(void)
gBankAttacker = gActiveBank;
}
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
static void atkED_802B4B4(void)
@@ -17401,7 +17384,7 @@ static void atkF0_copy_caught_poke(void)
static void atkF1_setpoke_as_caught(void)
{
if (GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 1))
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
else
{
GetSetPokedexFlag(SpeciesToNationalPokedexNum(gBattleMons[gBankTarget].species), 3);
@@ -17605,14 +17588,14 @@ static void atkF3_nickname_caught_poke(void)
if (gMain.callback2 == sub_800F808 && !gPaletteFade.active )
{
SetMonData(&gEnemyParty[gBattlePartyID[gBankAttacker ^ 1]], MON_DATA_NICKNAME, BATTLE_STRUCT->caughtNick);
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
}
break;
case 4:
if (CalculatePlayerPartyCount() == 6)
gBattlescriptCurrInstr += 5;
else
- gBattlescriptCurrInstr = BSScriptReadPtr(gBattlescriptCurrInstr + 1);
+ gBattlescriptCurrInstr = T1_READ_PTR(gBattlescriptCurrInstr + 1);
break;
}
}
diff --git a/src/battle/battle_7.c b/src/battle/battle_7.c
index ad96510cf..1d68386aa 100644
--- a/src/battle/battle_7.c
+++ b/src/battle/battle_7.c
@@ -637,7 +637,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
const void *src;
void *dst;
- if (IsContest())
+ if (NotInBattle())
{
r10 = 0;
species = ewram19348.unk2;
@@ -702,7 +702,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
}
BlendPalette(paletteOffset, 16, 6, 0x7FFF);
CpuCopy32(gPlttBufferFaded + paletteOffset, gPlttBufferUnfaded + paletteOffset, 32);
- if (!IsContest())
+ if (!NotInBattle())
{
ewram17800[a].transformedSpecies = species;
gBattleMonForms[a] = gBattleMonForms[b];
@@ -722,11 +722,11 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
if (b == 0)
{
- if (IsContest())
+ if (NotInBattle())
r4 = 0;
else
r4 = GetBankIdentity(a);
- if (IsContest())
+ if (NotInBattle())
LZDecompressVram(gSubstituteDollTilemap, gUnknown_081FAF4C[r4]);
else if (GetBankSide(a) != 0)
LZDecompressVram(gSubstituteDollGfx, gUnknown_081FAF4C[r4]);
@@ -742,7 +742,7 @@ void BattleLoadSubstituteSprite(u8 a, u8 b)
}
else
{
- if (!IsContest())
+ if (!NotInBattle())
{
if (GetBankSide(a) != 0)
BattleLoadOpponentMonSprite(&gEnemyParty[gBattlePartyID[a]], a);
diff --git a/src/battle/battle_ai.c b/src/battle/battle_ai.c
index 1869bbe36..9c6d2bec4 100644
--- a/src/battle/battle_ai.c
+++ b/src/battle/battle_ai.c
@@ -267,10 +267,9 @@ const u16 sDiscouragedPowerfulMoveEffects[] =
void BattleAI_HandleItemUseBeforeAISetup(void)
{
s32 i;
- u8 *data = (u8 *)UNK_2016A00_STRUCT;
+ u8 *data;
- for (i = 0; (u32)i < sizeof(struct UnkBattleStruct1); i++)
- data[i] = 0;
+ MEMSET_ALT(UNK_2016A00_STRUCT, 0, sizeof(struct UnkBattleStruct1), i, data);
if ((gBattleTypeFlags & BATTLE_TYPE_TRAINER)
&& gTrainerBattleOpponent != 0x400
@@ -292,21 +291,23 @@ void BattleAI_HandleItemUseBeforeAISetup(void)
void BattleAI_SetupAIData(void)
{
s32 i;
- u8 *data = (u8 *)AI_THINKING_STRUCT;
- u8 r7;
+ u8 limitations;
+ u8 *data;
// clear AI data and set default move score to 100. strange that they didn't use memset here.
- for (i = 0; (u32)i < sizeof(struct AI_ThinkingStruct); i++)
- data[i] = 0;
+ MEMSET_ALT(AI_THINKING_STRUCT, 0, sizeof(struct AI_ThinkingStruct), i, data);
+
for (i = 0; i < MAX_MON_MOVES; i++)
AI_THINKING_STRUCT->score[i] = 100;
- r7 = CheckMoveLimitations(gActiveBank, 0, 0xFF);
+ limitations = CheckMoveLimitations(gActiveBank, 0, 0xFF);
- // probably sets up the moves to consider and ignores non-valid moves such as NO_MOVE or glitch moves.
+ // do not consider moves the AI cannot select
+ // also, roll simulated RNG for moves that have a degree of
+ // randomness.
for (i = 0; i < MAX_MON_MOVES; i++)
{
- if (gBitTable[i] & r7)
+ if (gBitTable[i] & limitations)
AI_THINKING_STRUCT->score[i] = 0;
AI_THINKING_STRUCT->simulatedRNG[i] = 100 - (Random() % 16);
@@ -411,7 +412,7 @@ void BattleAI_DoAIProcessing(void)
break;
case AIState_Processing:
if (AI_THINKING_STRUCT->moveConsidered != MOVE_NONE)
- sBattleAICmdTable[*(u8 *)gAIScriptPtr](); // run AI command.
+ sBattleAICmdTable[*gAIScriptPtr](); // run AI command.
else
{
AI_THINKING_STRUCT->score[AI_THINKING_STRUCT->movesetIndex] = 0; // definitely do not consider any move that has 0 PP.
@@ -469,7 +470,7 @@ void RecordItemBattle(u8 a, u8 b)
static void BattleAICmd_if_random_less_than(void)
{
if (Random() % 256 < gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -477,7 +478,7 @@ static void BattleAICmd_if_random_less_than(void)
static void BattleAICmd_if_random_greater_than(void)
{
if (Random() % 256 > gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -485,7 +486,7 @@ static void BattleAICmd_if_random_greater_than(void)
static void BattleAICmd_if_random_equal(void)
{
if (Random() % 256 == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -493,7 +494,7 @@ static void BattleAICmd_if_random_equal(void)
static void BattleAICmd_if_random_not_equal(void)
{
if (Random() % 256 != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -518,7 +519,7 @@ static void BattleAICmd_if_hp_less_than(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) < gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -533,7 +534,7 @@ static void BattleAICmd_if_hp_more_than(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) > gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -548,7 +549,7 @@ static void BattleAICmd_if_hp_equal(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) == gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -563,7 +564,7 @@ static void BattleAICmd_if_hp_not_equal(void)
index = gBankTarget;
if ((u32)(100 * gBattleMons[index].hp / gBattleMons[index].maxHP) != gAIScriptPtr[2])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
@@ -578,10 +579,10 @@ static void BattleAICmd_if_status(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status1 & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -596,10 +597,10 @@ static void BattleAICmd_if_not_status(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status1 & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -614,10 +615,10 @@ static void BattleAICmd_if_status2(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status2 & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -632,10 +633,10 @@ static void BattleAICmd_if_not_status2(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gBattleMons[index].status2 & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -650,10 +651,10 @@ static void BattleAICmd_if_status3(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gStatuses3[index] & arg) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -668,10 +669,10 @@ static void BattleAICmd_if_not_status3(void)
else
index = gBankTarget;
- arg = AIScriptRead32(gAIScriptPtr + 2);
+ arg = T1_READ_32(gAIScriptPtr + 2);
if ((gStatuses3[index] & arg) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -687,10 +688,10 @@ static void BattleAICmd_if_status4(void)
index = gBankTarget;
arg1 = GetBankIdentity(index) & 1;
- arg2 = AIScriptRead32(gAIScriptPtr + 2);
+ arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -706,10 +707,10 @@ static void BattleAICmd_if_not_status4(void)
index = gBankTarget;
arg1 = GetBankIdentity(index) & 1;
- arg2 = AIScriptRead32(gAIScriptPtr + 2);
+ arg2 = T1_READ_32(gAIScriptPtr + 2);
if ((gSideAffecting[arg1] & arg2) == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
else
gAIScriptPtr += 10;
}
@@ -717,7 +718,7 @@ static void BattleAICmd_if_not_status4(void)
static void BattleAICmd_if_less_than(void)
{
if (AI_THINKING_STRUCT->funcResult < gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -725,7 +726,7 @@ static void BattleAICmd_if_less_than(void)
static void BattleAICmd_if_more_than(void)
{
if (AI_THINKING_STRUCT->funcResult > gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -733,7 +734,7 @@ static void BattleAICmd_if_more_than(void)
static void BattleAICmd_if_equal(void)
{
if (AI_THINKING_STRUCT->funcResult == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -741,80 +742,80 @@ static void BattleAICmd_if_equal(void)
static void BattleAICmd_if_not_equal(void)
{
if (AI_THINKING_STRUCT->funcResult != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
static void BattleAICmd_if_less_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult < *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_more_than_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult > *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult == *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_not_equal_32(void)
{
- u8 *temp = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *temp = T1_READ_PTR(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->funcResult != *temp)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
else
gAIScriptPtr += 9;
}
static void BattleAICmd_if_move(void)
{
- u16 move = AIScriptRead16(gAIScriptPtr + 1);
+ u16 move = T1_READ_16(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->moveConsidered == move)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
static void BattleAICmd_if_not_move(void)
{
- u16 move = AIScriptRead16(gAIScriptPtr + 1);
+ u16 move = T1_READ_16(gAIScriptPtr + 1);
if (AI_THINKING_STRUCT->moveConsidered != move)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
}
static void BattleAICmd_if_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
if (AI_THINKING_STRUCT->funcResult == *ptr)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
return;
}
ptr++;
@@ -824,7 +825,7 @@ static void BattleAICmd_if_in_bytes(void)
static void BattleAICmd_if_not_in_bytes(void)
{
- u8 *ptr = AIScriptReadPtr(gAIScriptPtr + 1);
+ u8 *ptr = T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFF)
{
@@ -835,18 +836,18 @@ static void BattleAICmd_if_not_in_bytes(void)
}
ptr++;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
static void BattleAICmd_if_in_words(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
if (AI_THINKING_STRUCT->funcResult == *ptr)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
return;
}
ptr++;
@@ -856,7 +857,7 @@ static void BattleAICmd_if_in_words(void)
static void BattleAICmd_if_not_in_words(void)
{
- u16 *ptr = (u16 *)AIScriptReadPtr(gAIScriptPtr + 1);
+ u16 *ptr = (u16 *)T1_READ_PTR(gAIScriptPtr + 1);
while (*ptr != 0xFFFF)
{
@@ -867,7 +868,7 @@ static void BattleAICmd_if_not_in_words(void)
}
ptr++;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 5);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 5);
}
static void BattleAICmd_if_user_can_damage(void)
@@ -883,7 +884,7 @@ static void BattleAICmd_if_user_can_damage(void)
if (i == MAX_MON_MOVES)
gAIScriptPtr += 5;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_if_user_cant_damage(void)
@@ -899,7 +900,7 @@ static void BattleAICmd_if_user_cant_damage(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 5;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_get_turn_count(void)
@@ -1258,7 +1259,7 @@ static void BattleAICmd_get_move(void)
static void BattleAICmd_if_arg_equal(void)
{
if (gAIScriptPtr[1] == AI_THINKING_STRUCT->funcResult)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1266,7 +1267,7 @@ static void BattleAICmd_if_arg_equal(void)
static void BattleAICmd_if_arg_not_equal(void)
{
if (gAIScriptPtr[1] != AI_THINKING_STRUCT->funcResult)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1274,7 +1275,7 @@ static void BattleAICmd_if_arg_not_equal(void)
static void BattleAICmd_if_would_go_first(void)
{
if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1282,7 +1283,7 @@ static void BattleAICmd_if_would_go_first(void)
static void BattleAICmd_if_would_not_go_first(void)
{
if (GetWhoStrikesFirst(gBankAttacker, gBankTarget, 1) != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1486,7 +1487,7 @@ static void BattleAICmd_if_damage_bonus(void)
damageVar = gBattleMoveDamage;
if (damageVar == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1517,7 +1518,7 @@ static void BattleAICmd_if_status_in_party(void)
break;
}
- statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2);
+ statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
for (i = 0; i < 6; i++)
{
@@ -1527,7 +1528,7 @@ static void BattleAICmd_if_status_in_party(void)
if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6); // WHAT. why is this being merged into the above switch
return;
}
}
@@ -1553,7 +1554,7 @@ static void BattleAICmd_if_status_not_in_party(void)
break;
}
- statusToCompareTo = AIScriptRead32(gAIScriptPtr + 2);
+ statusToCompareTo = T1_READ_32(gAIScriptPtr + 2);
for (i = 0; i < 6; i++)
{
@@ -1565,7 +1566,7 @@ static void BattleAICmd_if_status_not_in_party(void)
if (species != SPECIES_NONE && species != SPECIES_EGG && hp != 0 && status == statusToCompareTo)
gAIScriptPtr += 10; // doesnt return?
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 6);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 6);
}
static void BattleAICmd_get_weather(void)
@@ -1585,7 +1586,7 @@ static void BattleAICmd_get_weather(void)
static void BattleAICmd_if_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect == gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1593,7 +1594,7 @@ static void BattleAICmd_if_effect(void)
static void BattleAICmd_if_not_effect(void)
{
if (gBattleMoves[AI_THINKING_STRUCT->moveConsidered].effect != gAIScriptPtr[1])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
else
gAIScriptPtr += 6;
}
@@ -1608,7 +1609,7 @@ static void BattleAICmd_if_stat_level_less_than(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] < gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1623,7 +1624,7 @@ static void BattleAICmd_if_stat_level_more_than(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] > gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1638,7 +1639,7 @@ static void BattleAICmd_if_stat_level_equal(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] == gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1653,7 +1654,7 @@ static void BattleAICmd_if_stat_level_not_equal(void)
party = gBankTarget;
if (gBattleMons[party].statStages[gAIScriptPtr[2]] != gAIScriptPtr[3])
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
else
gAIScriptPtr += 8;
}
@@ -1682,7 +1683,7 @@ static void BattleAICmd_if_can_faint(void)
gBattleMoveDamage = 1;
if (gBattleMons[gBankTarget].hp <= gBattleMoveDamage)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -1709,7 +1710,7 @@ static void BattleAICmd_if_cant_faint(void)
// this macro is missing the damage 0 = 1 assumption.
if (gBattleMons[gBankTarget].hp > gBattleMoveDamage)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -1731,7 +1732,7 @@ static void BattleAICmd_if_has_move(void)
if (i == MAX_MON_MOVES)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
case 0:
case 2:
@@ -1743,7 +1744,7 @@ static void BattleAICmd_if_has_move(void)
if (i == 8)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
}
}
@@ -1765,7 +1766,7 @@ static void BattleAICmd_if_dont_have_move(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
case 0:
case 2:
@@ -1777,7 +1778,7 @@ static void BattleAICmd_if_dont_have_move(void)
if (i != 8)
gAIScriptPtr += 8;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 4);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 4);
break;
}
}
@@ -1796,7 +1797,7 @@ static void BattleAICmd_if_move_effect(void)
break;
}
if (i != MAX_MON_MOVES)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
else
gAIScriptPtr += 7;
break;
@@ -1807,7 +1808,7 @@ static void BattleAICmd_if_move_effect(void)
if (gBattleMons[gBankAttacker].moves[i] != 0 && gBattleMoves[UNK_2016A00_STRUCT->movesUsed[gBankTarget >> 1][i]].effect == gAIScriptPtr[2])
break;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
}
}
@@ -1827,7 +1828,7 @@ static void BattleAICmd_if_not_move_effect(void)
if (i != MAX_MON_MOVES)
gAIScriptPtr += 7;
else
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
break;
case 0:
case 2:
@@ -1856,7 +1857,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
gAIScriptPtr += 7;
return;
}
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
return;
}
else if (gAIScriptPtr[2] != 1) // ignore the macro if its not 0 or 1.
@@ -1866,7 +1867,7 @@ static void BattleAICmd_if_last_move_did_damage(void)
}
else if (gDisableStructs[index].encoredMove != 0)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 3);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 3);
return;
}
gAIScriptPtr += 7;
@@ -1879,7 +1880,7 @@ static void BattleAICmd_if_encored(void)
case 0: // _08109348
if (gDisableStructs[gActiveBank].disabledMove == AI_THINKING_STRUCT->moveConsidered)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -1887,7 +1888,7 @@ static void BattleAICmd_if_encored(void)
case 1: // _08109370
if (gDisableStructs[gActiveBank].encoredMove == AI_THINKING_STRUCT->moveConsidered)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -1908,7 +1909,7 @@ static void BattleAICmd_if_random_100(void)
u8 safariFleeRate = BATTLE_STRUCT->safariFleeRate * 5; // safari flee rate, from 0-20
if ((u8)(Random() % 100) < safariFleeRate)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -2065,12 +2066,12 @@ static void BattleAICmd_nullsub_57(void)
static void BattleAICmd_call(void)
{
AIStackPushVar(gAIScriptPtr + 5);
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_jump(void)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
}
static void BattleAICmd_end(void)
@@ -2086,7 +2087,7 @@ static void BattleAICmd_if_level_compare(void)
case 0: // greater than
if (gBattleMons[gBankAttacker].level > gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2094,7 +2095,7 @@ static void BattleAICmd_if_level_compare(void)
case 1: // less than
if (gBattleMons[gBankAttacker].level < gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2102,7 +2103,7 @@ static void BattleAICmd_if_level_compare(void)
case 2: // equal
if (gBattleMons[gBankAttacker].level == gBattleMons[gBankTarget].level)
{
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 2);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 2);
return;
}
gAIScriptPtr += 6;
@@ -2113,7 +2114,7 @@ static void BattleAICmd_if_level_compare(void)
static void BattleAICmd_if_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 != 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
@@ -2121,7 +2122,7 @@ static void BattleAICmd_if_taunted(void)
static void BattleAICmd_if_not_taunted(void)
{
if (gDisableStructs[gBankTarget].tauntTimer1 == 0)
- gAIScriptPtr = AIScriptReadPtr(gAIScriptPtr + 1);
+ gAIScriptPtr = T1_READ_PTR(gAIScriptPtr + 1);
else
gAIScriptPtr += 5;
}
diff --git a/src/battle/battle_anim.c b/src/battle/battle_anim.c
index 111d72813..eac16ee18 100644
--- a/src/battle/battle_anim.c
+++ b/src/battle/battle_anim.c
@@ -217,7 +217,7 @@ void DoMoveAnim(const u8 *const moveAnims[], u16 move, u8 c)
{
s32 i;
- if (IsContest() == 0)
+ if (NotInBattle() == 0)
{
sub_8079E24();
sub_8043EB4(0);
@@ -335,7 +335,7 @@ static void RunAnimScriptCommand(void)
{
do
{
- sScriptCmdTable[SCRIPT_READ_8(gBattleAnimScriptPtr)]();
+ sScriptCmdTable[T1_READ_8(gBattleAnimScriptPtr)]();
} while (gAnimFramesToWait == 0 && gAnimScriptActive != FALSE);
}
@@ -344,7 +344,7 @@ static void ScriptCmd_loadsprite(void)
u16 index;
gBattleAnimScriptPtr++;
- index = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ index = T1_READ_16(gBattleAnimScriptPtr);
LoadCompressedObjectPic(&gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)]);
LoadCompressedObjectPalette(&gBattleAnimPaletteTable[GET_TRUE_SPRITE_INDEX(index)]);
gBattleAnimScriptPtr += 2;
@@ -358,7 +358,7 @@ static void ScriptCmd_unloadsprite(void)
u16 index;
gBattleAnimScriptPtr++;
- index = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ index = T1_READ_16(gBattleAnimScriptPtr);
FreeSpriteTilesByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag);
FreeSpritePaletteByTag(gBattleAnimPicTable[GET_TRUE_SPRITE_INDEX(index)].tag);
gBattleAnimScriptPtr += 2;
@@ -378,15 +378,15 @@ static void ScriptCmd_sprite(void)
s8 r1;
gBattleAnimScriptPtr++;
- r7 = (struct SpriteTemplate *)(SCRIPT_READ_32(gBattleAnimScriptPtr));
+ r7 = (struct SpriteTemplate *)(T2_READ_32(gBattleAnimScriptPtr));
gBattleAnimScriptPtr += 4;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < r0; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
if (r4 & 0x80)
@@ -559,16 +559,16 @@ static void ScriptCmd_createtask(void)
s32 i;
gBattleAnimScriptPtr++;
- taskFunc = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ taskFunc = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 4;
- taskPriority = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ taskPriority = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ numArgs = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < numArgs; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
@@ -580,7 +580,7 @@ static void ScriptCmd_createtask(void)
static void ScriptCmd_delay(void)
{
gBattleAnimScriptPtr++;
- gAnimFramesToWait = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ gAnimFramesToWait = T1_READ_8(gBattleAnimScriptPtr);
if (gAnimFramesToWait == 0)
gAnimFramesToWait = -1;
gBattleAnimScriptPtr++;
@@ -654,7 +654,7 @@ static void ScriptCmd_end(void)
if (continuousAnim == FALSE) // may have been used for debug?
{
m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
- if (IsContest() == 0)
+ if (NotInBattle() == 0)
{
sub_8079E24();
sub_8043EB4(1);
@@ -666,7 +666,7 @@ static void ScriptCmd_end(void)
static void ScriptCmd_playse(void)
{
gBattleAnimScriptPtr++;
- PlaySE(SCRIPT_READ_16(gBattleAnimScriptPtr));
+ PlaySE(T1_READ_16(gBattleAnimScriptPtr));
gBattleAnimScriptPtr += 2;
}
@@ -680,7 +680,7 @@ static void ScriptCmd_monbg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r6 = T1_READ_8(gBattleAnimScriptPtr);
if (r6 == 0)
r6 = 2;
else if (r6 == 1)
@@ -693,7 +693,7 @@ static void ScriptCmd_monbg(void)
{
r0 = GetBankIdentity(r5);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r7 = 0;
else
r7 = 1;
@@ -723,7 +723,7 @@ static void ScriptCmd_monbg(void)
{
r0 = GetBankIdentity(r5);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r7 = 0;
else
r7 = 1;
@@ -753,7 +753,7 @@ static void ScriptCmd_monbg(void)
#ifdef NONMATCHING
bool8 IsAnimBankSpriteVisible(u8 a)
{
- if (IsContest())
+ if (NotInBattle())
{
if (a == gBattleAnimBankAttacker)
return TRUE;
@@ -762,7 +762,7 @@ bool8 IsAnimBankSpriteVisible(u8 a)
}
if (!AnimBankSpriteExists(a))
return FALSE;
- if (IsContest())
+ if (NotInBattle())
return TRUE; // this line wont ever be reached.
if (!(EWRAM_17800[a].unk0 & 1))
return TRUE;
@@ -779,7 +779,7 @@ bool8 IsAnimBankSpriteVisible(u8 a)
lsls r0, 24\n\
lsrs r4, r0, 24\n\
adds r5, r4, 0\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08075FDC\n\
@@ -796,7 +796,7 @@ _08075FDC:\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _0807602C\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _0807601C\n\
@@ -877,7 +877,7 @@ void sub_8076034(u8 a, u8 b)
spriteId = gObjectBankIDs[a];
gUnknown_030042C0 = -(gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x) + 32;
- if (IsContest() != 0 && sub_80AEB1C(EWRAM_19348) != 0)
+ if (NotInBattle() != 0 && sub_80AEB1C(EWRAM_19348) != 0)
gUnknown_030042C0--;
gUnknown_030041B4 = -(gSprites[spriteId].pos1.y + gSprites[spriteId].pos2.y) + 32;
gSprites[gObjectBankIDs[a]].invisible = TRUE;
@@ -889,12 +889,12 @@ void sub_8076034(u8 a, u8 b)
addr3 = (u16 *)PLTT + s.unk8 * 16;
DmaCopy32(3, gPlttBufferUnfaded + 0x100 + a * 16, addr3, 32);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
r2 = 0;
else
r2 = GetBankIdentity(a);
sub_80E4EF8(0, 0, r2, s.unk8, (u32)s.unk0, (((s32)s.unk4 - VRAM) / 2048), REG_BG1CNT_BITFIELD.charBaseBlock);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
sub_8076380();
}
else
@@ -996,7 +996,7 @@ void sub_8076464(u8 a)
struct UnknownStruct2 s;
sub_8078914(&s);
- if (a == 0 || IsContest() != 0)
+ if (a == 0 || NotInBattle() != 0)
{
u16 *addr2;
@@ -1090,7 +1090,7 @@ static void ScriptCmd_clearmonbg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
if (r4 == 0)
r4 = 2;
else if (r4 == 1)
@@ -1121,7 +1121,7 @@ static void sub_807672C(u8 taskId)
{
var = GetBankIdentity(gTasks[taskId].data[2]);
var += 0xFF;
- if (var <= 1 || IsContest() != 0)
+ if (var <= 1 || NotInBattle() != 0)
r4 = 0;
else
r4 = 1;
@@ -1149,7 +1149,7 @@ static void ScriptCmd_monbg_22(void)
u8 r1;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r5 = T1_READ_8(gBattleAnimScriptPtr);
if (r5 == 0)
r5 = 2;
else if (r5 == 1)
@@ -1162,7 +1162,7 @@ static void ScriptCmd_monbg_22(void)
{
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r1 = 0;
else
r1 = 1;
@@ -1174,7 +1174,7 @@ static void ScriptCmd_monbg_22(void)
{
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r1 = 0;
else
r1 = 1;
@@ -1191,7 +1191,7 @@ static void ScriptCmd_clearmonbg_23(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r5 = T1_READ_8(gBattleAnimScriptPtr);
if (r5 == 0)
r5 = 2;
else if (r5 == 1)
@@ -1224,7 +1224,7 @@ static void sub_80769A4(u8 taskId)
r4 = gTasks[taskId].data[2];
r0 = GetBankIdentity(r4);
r0 += 0xFF;
- if (r0 <= 1 || IsContest() != 0)
+ if (r0 <= 1 || NotInBattle() != 0)
r5 = 0;
else
r5 = 1;
@@ -1268,12 +1268,9 @@ static void ScriptCmd_blendoff(void)
static void ScriptCmd_call(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
gBattleAnimScriptRetAddr = gBattleAnimScriptPtr + 4;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
static void ScriptCmd_return(void)
@@ -1288,36 +1285,31 @@ static void ScriptCmd_setvar(void)
u8 r2;
gBattleAnimScriptPtr++;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r2 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ r4 = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr = addr + 4;
gBattleAnimArgs[r2] = r4;
}
static void ScriptCmd_ifelse(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
if (gUnknown_0202F7C4 & 1)
gBattleAnimScriptPtr += 4;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
static void ScriptCmd_jumpif(void)
{
u8 r1;
- u32 addr;
gBattleAnimScriptPtr++;
- r1 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r1 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
if (r1 == gUnknown_0202F7C4)
{
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
else
{
@@ -1327,15 +1319,11 @@ static void ScriptCmd_jumpif(void)
static void ScriptCmd_jump(void)
{
- u32 addr;
-
gBattleAnimScriptPtr++;
- addr = SCRIPT_READ_32(gBattleAnimScriptPtr);
- gBattleAnimScriptPtr = (u8 *)addr;
+ gBattleAnimScriptPtr = T2_READ_PTR(gBattleAnimScriptPtr);
}
-// Uses of this function that rely on a TRUE return are expecting inBattle to not be ticked as defined in contest behavior. As a result, if misused, this function cannot reliably discern between field and contest status and could result in undefined behavior.
-bool8 IsContest(void)
+bool8 NotInBattle(void)
{
if (!gMain.inBattle)
return TRUE;
@@ -1349,7 +1337,7 @@ static void ScriptCmd_fadetobg(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
taskId = CreateTask(task_p5_load_battle_screen_elements, 5);
gTasks[taskId].data[0] = r4;
@@ -1369,7 +1357,7 @@ static void ScriptCmd_fadetobg_25(void)
r6 = gBattleAnimScriptPtr[2];
gBattleAnimScriptPtr += 3;
taskId = CreateTask(task_p5_load_battle_screen_elements, 5);
- if (IsContest() != 0)
+ if (NotInBattle() != 0)
gTasks[taskId].data[0] = r6;
else if (GetBankSide(gBattleAnimBankTarget) == 0)
gTasks[taskId].data[0] = r7;
@@ -1416,15 +1404,15 @@ static void task_p5_load_battle_screen_elements(u8 taskId)
static void sub_8076DB8(u16 a)
{
- if (IsContest())
+ if (NotInBattle())
{
void *tilemap = gBattleAnimBackgroundTable[a].tilemap;
void *dmaSrc;
void *dmaDest;
- LZDecompressWram(tilemap, IsContest() ? EWRAM_14800 : EWRAM_18000);
- sub_80763FC(sub_80789BC(), IsContest() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
- dmaSrc = IsContest() ? EWRAM_14800 : EWRAM_18000;
+ LZDecompressWram(tilemap, NotInBattle() ? EWRAM_14800 : EWRAM_18000);
+ sub_80763FC(sub_80789BC(), NotInBattle() ? EWRAM_14800 : EWRAM_18000, 0x100, 0);
+ dmaSrc = NotInBattle() ? EWRAM_14800 : EWRAM_18000;
dmaDest = (void *)(VRAM + 0xD000);
DmaCopy32(3, dmaSrc, dmaDest, 0x800);
LZDecompressVram(gBattleAnimBackgroundTable[a].image, (void *)(VRAM + 0x2000));
@@ -1440,7 +1428,7 @@ static void sub_8076DB8(u16 a)
static void dp01t_11_3_message_for_player_only(void)
{
- if (IsContest())
+ if (NotInBattle())
sub_80AB2AC();
else
sub_800D7B8();
@@ -1485,7 +1473,7 @@ static void ScriptCmd_waitbgfadein(void)
static void ScriptCmd_changebg(void)
{
gBattleAnimScriptPtr++;
- sub_8076DB8(SCRIPT_READ_8(gBattleAnimScriptPtr));
+ sub_8076DB8(T1_READ_8(gBattleAnimScriptPtr));
gBattleAnimScriptPtr++;
}
@@ -1493,14 +1481,14 @@ static void ScriptCmd_changebg(void)
/*
s8 sub_8076F98(s8 a)
{
- if (!IsContest() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
+ if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
{
a = GetBankSide(gBattleAnimBankAttacker) ? 0xC0 : 0x3F;
}
//_08076FDC
else
{
- if (IsContest())
+ if (NotInBattle())
{
if (gBattleAnimBankAttacker == gBattleAnimBankTarget && gBattleAnimBankAttacker == 2
&& a == 0x3F)
@@ -1536,7 +1524,7 @@ s8 sub_8076F98(s8 a)
push {r4,lr}\n\
lsls r0, 24\n\
lsrs r4, r0, 24\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
bne _08076FDC\n\
@@ -1564,7 +1552,7 @@ s8 sub_8076F98(s8 a)
_08076FD4: .4byte gBattleAnimBankAttacker\n\
_08076FD8: .4byte 0x02017810\n\
_08076FDC:\n\
- bl IsContest\n\
+ bl NotInBattle\n\
lsls r0, 24\n\
cmp r0, 0\n\
beq _08077004\n\
@@ -1661,7 +1649,7 @@ _08077088:\n\
s8 sub_8077094(s8 a)
{
- if (!IsContest() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
+ if (!NotInBattle() && (EWRAM_17810[gBattleAnimBankAttacker].unk0 & 0x10))
{
if (GetBankSide(gBattleAnimBankAttacker) != 0)
a = 0x3F;
@@ -1670,7 +1658,7 @@ s8 sub_8077094(s8 a)
}
else
{
- if (GetBankSide(gBattleAnimBankAttacker) != 0 || IsContest() != 0)
+ if (GetBankSide(gBattleAnimBankAttacker) != 0 || NotInBattle() != 0)
a = -a;
}
return a;
@@ -1706,8 +1694,8 @@ static void ScriptCmd_panse_19(void)
s8 r0;
gBattleAnimScriptPtr++;
- r4 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
PlaySE12WithPanning(r4, sub_8076F98(r0));
gBattleAnimScriptPtr += 3;
}
@@ -1717,7 +1705,7 @@ static void ScriptCmd_setpan(void)
s8 r0;
gBattleAnimScriptPtr++;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr);
SE12PanpotControl(sub_8076F98(r0));
gBattleAnimScriptPtr++;
}
@@ -1734,11 +1722,11 @@ static void ScriptCmd_panse_1B(void)
u8 taskId;
gBattleAnimScriptPtr++;
- songNum = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ songNum = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 5);
panning = sub_8076F98(r0);
r8 = sub_8076F98(r4);
r4 = sub_807712C(panning, r8, r6);
@@ -1899,11 +1887,11 @@ static void ScriptCmd_panse_26(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r8 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r5 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r10 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ r8 = T1_READ_16(gBattleAnimScriptPtr);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r5 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r10 = T1_READ_8(gBattleAnimScriptPtr + 5);
taskId = CreateTask(c3_08073CEC, 1);
gTasks[taskId].data[0] = r4;
gTasks[taskId].data[1] = r5;
@@ -1928,11 +1916,11 @@ static void ScriptCmd_panse_27(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r9 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r4 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 5);
+ r9 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r4 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 4);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 5);
r6 = sub_8077094(r0);
r5 = sub_8077094(r4);
r4_2 = sub_8077094(r8);
@@ -1957,10 +1945,10 @@ static void ScriptCmd_panse_1C(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
- r9 = SCRIPT_READ_8(gBattleAnimScriptPtr + 4);
+ r5 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 3);
+ r9 = T1_READ_8(gBattleAnimScriptPtr + 4);
r4 = sub_8076F98(r0);
taskId = CreateTask(sub_80774FC, 1);
gTasks[taskId].data[0] = r5;
@@ -2007,9 +1995,9 @@ static void ScriptCmd_panse_1D(void)
u8 taskId;
gBattleAnimScriptPtr++;
- r5 = SCRIPT_READ_16(gBattleAnimScriptPtr);
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 2);
- r8 = SCRIPT_READ_8(gBattleAnimScriptPtr + 3);
+ r5 = T1_READ_16(gBattleAnimScriptPtr);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 2);
+ r8 = T1_READ_8(gBattleAnimScriptPtr + 3);
r4 = sub_8076F98(r0);
taskId = CreateTask(sub_80775CC, 1);
gTasks[taskId].data[0] = r5;
@@ -2041,13 +2029,13 @@ static void ScriptCmd_createtask_1F(void)
u8 taskId;
gBattleAnimScriptPtr++;
- func = (TaskFunc)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ func = (TaskFunc)T2_READ_32(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 4;
- numArgs = SCRIPT_READ_8(gBattleAnimScriptPtr);
+ numArgs = T1_READ_8(gBattleAnimScriptPtr);
gBattleAnimScriptPtr++;
for (i = 0; i < numArgs; i++)
{
- gBattleAnimArgs[i] = SCRIPT_READ_16(gBattleAnimScriptPtr);
+ gBattleAnimArgs[i] = T1_READ_16(gBattleAnimScriptPtr);
gBattleAnimScriptPtr += 2;
}
taskId = CreateTask(func, 1);
@@ -2090,11 +2078,11 @@ static void ScriptCmd_jumpvareq(void)
u8 *addr;
gBattleAnimScriptPtr++;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr);
- r1 = SCRIPT_READ_16(gBattleAnimScriptPtr + 1);
+ r2 = T1_READ_8(gBattleAnimScriptPtr);
+ r1 = T1_READ_16(gBattleAnimScriptPtr + 1);
if (r1 == gBattleAnimArgs[r2])
{
- addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr + 3);
+ addr = T2_READ_PTR(gBattleAnimScriptPtr + 3);
gBattleAnimScriptPtr = addr;
}
else
@@ -2108,9 +2096,9 @@ static void ScriptCmd_jumpunkcond(void)
u8 *addr;
gBattleAnimScriptPtr++;
- if (IsContest())
+ if (NotInBattle())
{
- addr = (u8 *)SCRIPT_READ_32(gBattleAnimScriptPtr);
+ addr = T2_READ_PTR(gBattleAnimScriptPtr);
gBattleAnimScriptPtr = addr;
}
else
@@ -2125,14 +2113,14 @@ static void ScriptCmd_monbgprio_28(void)
u8 r0;
u8 r4;
- r2 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r2 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
if (r2 != 0)
r0 = gBattleAnimBankTarget;
else
r0 = gBattleAnimBankAttacker;
r4 = GetBankIdentity(r0);
- if (!IsContest() && (r4 == 0 || r4 == 3))
+ if (!NotInBattle() && (r4 == 0 || r4 == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2142,7 +2130,7 @@ static void ScriptCmd_monbgprio_28(void)
static void ScriptCmd_monbgprio_29(void)
{
gBattleAnimScriptPtr++;
- if (!IsContest())
+ if (!NotInBattle())
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2155,7 +2143,7 @@ static void ScriptCmd_monbgprio_2A(void)
u8 r4;
u8 r0;
- r6 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r6 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
if (GetBankSide(gBattleAnimBankAttacker) != GetBankSide(gBattleAnimBankTarget))
{
@@ -2164,7 +2152,7 @@ static void ScriptCmd_monbgprio_2A(void)
else
r0 = gBattleAnimBankAttacker;
r4 = GetBankIdentity(r0);
- if (!IsContest() && (r4 == 0 || r4 == 3))
+ if (!NotInBattle() && (r4 == 0 || r4 == 3))
{
REG_BG1CNT_BITFIELD.priority = 1;
REG_BG2CNT_BITFIELD.priority = 2;
@@ -2177,7 +2165,7 @@ static void ScriptCmd_invisible(void)
u8 r0;
u8 spriteId;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 1);
spriteId = GetAnimBankSpriteId(r0);
if (spriteId != 0xFF)
{
@@ -2191,7 +2179,7 @@ static void ScriptCmd_visible(void)
u8 r0;
u8 spriteId;
- r0 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r0 = T1_READ_8(gBattleAnimScriptPtr + 1);
spriteId = GetAnimBankSpriteId(r0);
if (spriteId != 0xFF)
{
@@ -2206,9 +2194,9 @@ static void ScriptCmd_doublebattle_2D(void)
u8 r4;
u8 spriteId;
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
- if (!IsContest() && IsDoubleBattle()
+ if (!NotInBattle() && IsDoubleBattle()
&& GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget))
{
if (r7 == 0)
@@ -2240,9 +2228,9 @@ static void ScriptCmd_doublebattle_2E(void)
u8 r4;
u8 spriteId;
- r7 = SCRIPT_READ_8(gBattleAnimScriptPtr + 1);
+ r7 = T1_READ_8(gBattleAnimScriptPtr + 1);
gBattleAnimScriptPtr += 2;
- if (!IsContest() && IsDoubleBattle()
+ if (!NotInBattle() && IsDoubleBattle()
&& GetBankSide(gBattleAnimBankAttacker) == GetBankSide(gBattleAnimBankTarget))
{
if (r7 == 0)
diff --git a/src/battle/battle_anim_807B69C.c b/src/battle/battle_anim_807B69C.c
index bf3eb7ef1..9acc7bd46 100644
--- a/src/battle/battle_anim_807B69C.c
+++ b/src/battle/battle_anim_807B69C.c
@@ -183,7 +183,7 @@ void sub_807B920(u8 taskId)
s16 y = sub_8077ABC(gBattleAnimBankTarget, 3) - 36;
u8 spriteId;
- if (IsContest())
+ if (NotInBattle())
x -= 6;
REG_BLDCNT = 0x3F40;
REG_BLDALPHA = 0x1000;
diff --git a/src/battle/battle_anim_80A7E7C.c b/src/battle/battle_anim_80A7E7C.c
index e0c79dc8e..19ac7143e 100644
--- a/src/battle/battle_anim_80A7E7C.c
+++ b/src/battle/battle_anim_80A7E7C.c
@@ -769,7 +769,7 @@ void sub_80A8E04(u8 taskId)
TASK.data[4] = gBattleAnimArgs[1];
TASK.data[5] = spriteId;
TASK.data[6] = gBattleAnimArgs[3];
- if (IsContest())
+ if (NotInBattle())
{
TASK.data[7] = 1;
}
@@ -786,7 +786,7 @@ void sub_80A8E04(u8 taskId)
}
if (TASK.data[7])
{
- if (!IsContest())
+ if (!NotInBattle())
{
TASK.data[3] *= -1;
TASK.data[4] *= -1;
diff --git a/src/battle/battle_controller_linkopponent.c b/src/battle/battle_controller_linkopponent.c
index edfd7e675..ff4df81e4 100644
--- a/src/battle/battle_controller_linkopponent.c
+++ b/src/battle/battle_controller_linkopponent.c
@@ -637,9 +637,8 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
@@ -660,9 +659,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon__(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -936,38 +933,38 @@ void sub_8038900(u8 a)
{
u8 iv;
- SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gEnemyParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed);
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -979,8 +976,8 @@ void sub_8038900(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -1145,9 +1142,9 @@ void LinkOpponentHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst);
+
LinkOpponentBufferExecCompleted();
}
diff --git a/src/battle/battle_controller_linkpartner.c b/src/battle/battle_controller_linkpartner.c
index 335ebcb12..a874190aa 100644
--- a/src/battle/battle_controller_linkpartner.c
+++ b/src/battle/battle_controller_linkpartner.c
@@ -593,9 +593,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -616,9 +614,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -893,38 +889,38 @@ void sub_811EC68(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -936,8 +932,8 @@ void sub_811EC68(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -1103,9 +1099,9 @@ void LinkPartnerHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1],
+ gBattleBufferA[gActiveBank][3 + i], gBattleBufferA[gActiveBank][2], i, dst);
+
LinkPartnerBufferExecCompleted();
}
diff --git a/src/battle/battle_controller_opponent.c b/src/battle/battle_controller_opponent.c
index 6594e4183..392e80f08 100644
--- a/src/battle/battle_controller_opponent.c
+++ b/src/battle/battle_controller_opponent.c
@@ -601,9 +601,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
GetMonData(&gEnemyParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gEnemyParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gEnemyParty[a], MON_DATA_SPECIES);
@@ -624,9 +622,7 @@ u32 sub_8033598(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gEnemyParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -864,12 +860,12 @@ u32 sub_8033598(u8 a, u8 *buffer)
void OpponentHandlecmd1(void)
{
struct BattlePokemon buffer;
- u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- u8 *dst = (u8 *)&buffer + gBattleBufferA[gActiveBank][1];
u8 i;
+ // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
+ u8 *src = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = src[i];
+ MEMSET_ALT(&buffer + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst);
Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst);
OpponentBufferExecCompleted();
}
@@ -908,38 +904,38 @@ void sub_8033E24(u8 a)
{
u8 iv;
- SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gEnemyParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gEnemyParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gEnemyParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gEnemyParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gEnemyParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gEnemyParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gEnemyParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gEnemyParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gEnemyParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed);
- SetMonData(&gEnemyParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gEnemyParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gEnemyParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gEnemyParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gEnemyParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gEnemyParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gEnemyParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gEnemyParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gEnemyParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -951,8 +947,8 @@ void sub_8033E24(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gEnemyParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gEnemyParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -1117,9 +1113,8 @@ void OpponentHandlecmd3(void)
u8 *dst;
u8 i;
- dst = (u8 *)&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gEnemyParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i],
+ gBattleBufferA[gActiveBank][2], i, dst);
OpponentBufferExecCompleted();
}
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 7f5c6c490..136c31841 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -841,7 +841,7 @@ void sub_802CA60(void)
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, (u8 *)&sp0.moves[i]);
+ SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_MOVE1 + i, &sp0.moves[i]);
SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP1 + i, &sp0.pp[i]);
}
SetMonData(&gPlayerParty[gBattlePartyID[gActiveBank]], MON_DATA_PP_BONUSES, &totalPPBonuses);
@@ -1149,7 +1149,7 @@ void sub_802D924(u8 taskId)
{
u8 savedActiveBank;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&nextLvlExp);
+ SetMonData(pkmn, MON_DATA_EXP, &nextLvlExp);
CalculateMonStats(pkmn);
gainedExp -= nextLvlExp - currExp;
savedActiveBank = gActiveBank;
@@ -1166,7 +1166,7 @@ void sub_802D924(u8 taskId)
else
{
currExp += gainedExp;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&currExp);
+ SetMonData(pkmn, MON_DATA_EXP, &currExp);
gBattleBankFunc[bank] = sub_802D90C;
DestroyTask(taskId);
}
@@ -1231,7 +1231,7 @@ void sub_802DB6C(u8 taskId)
u8 r5;
u32 asdf;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp0);
+ SetMonData(pkmn, MON_DATA_EXP, &sp0);
CalculateMonStats(pkmn);
//r10 -= sp0 - sp4;
asdf = sp0 - sp4;
@@ -1247,7 +1247,7 @@ void sub_802DB6C(u8 taskId)
{
//u32 asdf = sp4 + r10;
sp4 += r10;
- SetMonData(pkmn, MON_DATA_EXP, (u8 *)&sp4);
+ SetMonData(pkmn, MON_DATA_EXP, &sp4);
gBattleBankFunc[r7] = sub_802D90C;
DestroyTask(taskId);
}
@@ -1773,9 +1773,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -1796,9 +1794,7 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -2035,13 +2031,13 @@ u32 dp01_getattr_by_ch1_for_player_pokemon_(u8 a, u8 *buffer)
void PlayerHandlecmd1(void)
{
- struct BattlePokemon battleMon; // I think this is a BattlePokemon
- u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
- u8 *dst = (u8 *)&battleMon + gBattleBufferA[gActiveBank][1];
+ struct BattlePokemon battleMon;
u8 i;
+ // TODO: Maybe fix this. Integrating this into MEMSET_ALT is too hard.
+ u8 *src = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = src[i];
+ MEMSET_ALT(&battleMon + gBattleBufferA[gActiveBank][1], src[i], gBattleBufferA[gActiveBank][2], i, dst);
Emitcmd29(1, gBattleBufferA[gActiveBank][2], dst);
PlayerBufferExecCompleted();
}
@@ -2081,38 +2077,38 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -2124,8 +2120,8 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
@@ -2288,11 +2284,11 @@ void dp01_setattr_by_ch1_for_player_pokemon(u8 a)
void PlayerHandlecmd3(void)
{
- u8 *dst = (u8 *)&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1];
u8 i;
+ u8 *dst;
- for (i = 0; i < gBattleBufferA[gActiveBank][2]; i++)
- dst[i] = gBattleBufferA[gActiveBank][3 + i];
+ MEMSET_ALT(&gPlayerParty[gBattlePartyID[gActiveBank]] + gBattleBufferA[gActiveBank][1], gBattleBufferA[gActiveBank][3 + i],
+ gBattleBufferA[gActiveBank][2], i, dst);
PlayerBufferExecCompleted();
}
@@ -2599,7 +2595,7 @@ void PlayerHandlecmd18(void)
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CA8);
+ StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CA8);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
}
diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c
index e05578c31..2fcdf7548 100644
--- a/src/battle/battle_controller_safari.c
+++ b/src/battle/battle_controller_safari.c
@@ -483,7 +483,7 @@ void SafariHandlecmd18(void)
nullsub_8(i);
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle((u8 *) gUnknown_08400CBB);
+ StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CBB);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index 3531c1771..9d70ca557 100644
--- a/src/battle/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -569,9 +569,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
GetMonData(&gPlayerParty[a], MON_DATA_NICKNAME, nickname);
StringCopy10(battlePokemon.nickname, nickname);
GetMonData(&gPlayerParty[a], MON_DATA_OT_NAME, battlePokemon.otName);
- src = (u8 *)&battlePokemon;
- for (size = 0; size < sizeof(battlePokemon); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&battlePokemon, buffer, sizeof(battlePokemon), size, src);
break;
case 1:
data16 = GetMonData(&gPlayerParty[a], MON_DATA_SPECIES);
@@ -592,9 +590,7 @@ u32 sub_8137A84(u8 a, u8 *buffer)
moveData.pp[size] = GetMonData(&gPlayerParty[a], MON_DATA_PP1 + size);
}
moveData.ppBonuses = GetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES);
- src = (u8 *)&moveData;
- for (size = 0; size < sizeof(moveData); size++)
- buffer[size] = src[size];
+ MEMCPY_ALT(&moveData, buffer, sizeof(moveData), size, src);
break;
case 4:
case 5:
@@ -868,38 +864,38 @@ void sub_8138294(u8 a)
{
u8 iv;
- SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, (u8 *)&battlePokemon->species);
- SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, (u8 *)&battlePokemon->item);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPECIES, &battlePokemon->species);
+ SetMonData(&gPlayerParty[a], MON_DATA_HELD_ITEM, &battlePokemon->item);
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&battlePokemon->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&battlePokemon->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &battlePokemon->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &battlePokemon->pp[i]);
}
- SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, (u8 *)&battlePokemon->ppBonuses);
- SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, (u8 *)&battlePokemon->friendship);
- SetMonData(&gPlayerParty[a], MON_DATA_EXP, (u8 *)&battlePokemon->experience);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &battlePokemon->ppBonuses);
+ SetMonData(&gPlayerParty[a], MON_DATA_FRIENDSHIP, &battlePokemon->friendship);
+ SetMonData(&gPlayerParty[a], MON_DATA_EXP, &battlePokemon->experience);
iv = battlePokemon->hpIV;
- SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP_IV, &iv);
iv = battlePokemon->attackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK_IV, &iv);
iv = battlePokemon->defenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF_IV, &iv);
iv = battlePokemon->speedIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED_IV, &iv);
iv = battlePokemon->spAttackIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK_IV, &iv);
iv = battlePokemon->spDefenseIV;
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, (u8 *)&iv);
- SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, (u8 *)&battlePokemon->personality);
- SetMonData(&gPlayerParty[a], MON_DATA_STATUS, (u8 *)&battlePokemon->status1);
- SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, (u8 *)&battlePokemon->level);
- SetMonData(&gPlayerParty[a], MON_DATA_HP, (u8 *)&battlePokemon->hp);
- SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, (u8 *)&battlePokemon->maxHP);
- SetMonData(&gPlayerParty[a], MON_DATA_ATK, (u8 *)&battlePokemon->attack);
- SetMonData(&gPlayerParty[a], MON_DATA_DEF, (u8 *)&battlePokemon->defense);
- SetMonData(&gPlayerParty[a], MON_DATA_SPEED, (u8 *)&battlePokemon->speed);
- SetMonData(&gPlayerParty[a], MON_DATA_SPATK, (u8 *)&battlePokemon->spAttack);
- SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, (u8 *)&battlePokemon->spDefense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF_IV, &iv);
+ SetMonData(&gPlayerParty[a], MON_DATA_PERSONALITY, &battlePokemon->personality);
+ SetMonData(&gPlayerParty[a], MON_DATA_STATUS, &battlePokemon->status1);
+ SetMonData(&gPlayerParty[a], MON_DATA_LEVEL, &battlePokemon->level);
+ SetMonData(&gPlayerParty[a], MON_DATA_HP, &battlePokemon->hp);
+ SetMonData(&gPlayerParty[a], MON_DATA_MAX_HP, &battlePokemon->maxHP);
+ SetMonData(&gPlayerParty[a], MON_DATA_ATK, &battlePokemon->attack);
+ SetMonData(&gPlayerParty[a], MON_DATA_DEF, &battlePokemon->defense);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPEED, &battlePokemon->speed);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPATK, &battlePokemon->spAttack);
+ SetMonData(&gPlayerParty[a], MON_DATA_SPDEF, &battlePokemon->spDefense);
}
break;
case 1:
@@ -911,8 +907,8 @@ void sub_8138294(u8 a)
case 3:
for (i = 0; i < 4; i++)
{
- SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, (u8 *)&moveData->moves[i]);
- SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, (u8 *)&moveData->pp[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_MOVE1 + i, &moveData->moves[i]);
+ SetMonData(&gPlayerParty[a], MON_DATA_PP1 + i, &moveData->pp[i]);
}
SetMonData(&gPlayerParty[a], MON_DATA_PP_BONUSES, &moveData->ppBonuses);
break;
diff --git a/src/battle/battle_interface.c b/src/battle/battle_interface.c
index 8bfeedd4d..10962c025 100644
--- a/src/battle/battle_interface.c
+++ b/src/battle/battle_interface.c
@@ -482,7 +482,7 @@ u8 battle_make_oam_normal_battle(u8 a)
SetSubspriteTables(sprite, &gSubspriteTables_820A684[GetBankSide(a)]);
sprite->subspriteMode = 2;
sprite->oam.priority = 1;
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + sprite->oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + sprite->oam.tileNum * 32, 64);
gSprites[spriteId1].data5 = spriteId3;
gSprites[spriteId1].data6 = a;
@@ -940,7 +940,7 @@ static void sub_8044210(u8 a, s16 b, u8 c)
sub_8003504(ptr, b, 0xF, 1);
if (GetBankSide(r4) == 0)
{
- CpuCopy32(sub_8043CDC(0x74), (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x74), OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x34) * 32, 32);
}
}
r4 = gSprites[a].data5;
@@ -1309,7 +1309,7 @@ void sub_804454C(void)
{
spriteId = gSprites[gHealthboxIDs[i]].data5;
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gPlayerParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -1317,7 +1317,7 @@ void sub_804454C(void)
{
draw_status_ailment_maybe(gHealthboxIDs[i]);
sub_8045A5C(gHealthboxIDs[i], &gPlayerParty[gBattlePartyID[i]], 5);
- CpuCopy32(sub_8043CDC(0x75), (void *)(OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32), 32);
+ CpuCopy32(sub_8043CDC(0x75), OBJ_VRAM0 + 0x680 + gSprites[gHealthboxIDs[i]].oam.tileNum * 32, 32);
}
}
else
@@ -1332,7 +1332,7 @@ void sub_804454C(void)
{
spriteId = gSprites[gHealthboxIDs[i]].data5;
- CpuFill32(0, (void *)(OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32), 0x100);
+ CpuFill32(0, OBJ_VRAM0 + gSprites[spriteId].oam.tileNum * 32, 0x100);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_HP), 0);
sub_8044210(gHealthboxIDs[i], GetMonData(&gEnemyParty[gBattlePartyID[i]], MON_DATA_MAX_HP), 1);
}
@@ -2505,9 +2505,9 @@ static void sub_8045458(u8 a, u8 b)
{
r4 = gSprites[a].data5;
if (b != 0)
- CpuCopy32(sub_8043CDC(0x46), (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuCopy32(sub_8043CDC(0x46), OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
else
- CpuFill32(0, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32), 32);
+ CpuFill32(0, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 8) * 32, 32);
}
}
}
@@ -2568,10 +2568,10 @@ static void draw_status_ailment_maybe(u8 a)
r6 = sub_8043CDC(0x27);
for (i = 0; i < 3; i++)
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32), 32);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8 + i) * 32, 32);
if (!ewram17800[r7].unk0_4)
- CpuCopy32(sub_8043CDC(1), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 64);
+ CpuCopy32(sub_8043CDC(1), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 64);
sub_8045458(a, 1);
return;
@@ -2582,13 +2582,13 @@ static void draw_status_ailment_maybe(u8 a)
// I don't like writing the array index like this, but I can't get it to match otherwise.
FillPalette(r0[gBattleInterfaceStatusIcons_DynPal], r4_2 + 0x100, 2);
CpuCopy16(gPlttBufferUnfaded + 0x100 + r4_2, (void *)(OBJ_PLTT + r4_2 * 2), 2);
- CpuCopy32(r6, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32), 96);
+ CpuCopy32(r6, OBJ_VRAM0 + (gSprites[a].oam.tileNum + r8) * 32, 96);
if (IsDoubleBattle() == TRUE || GetBankSide(r7) == TRUE)
{
if (!ewram17800[r7].unk0_4)
{
- CpuCopy32(sub_8043CDC(0), (void *)(OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32), 32);
- CpuCopy32(sub_8043CDC(0x41), (void *)(OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32), 32);
+ CpuCopy32(sub_8043CDC(0), OBJ_VRAM0 + gSprites[r10].oam.tileNum * 32, 32);
+ CpuCopy32(sub_8043CDC(0x41), OBJ_VRAM0 + (gSprites[r10].oam.tileNum + 1) * 32, 32);
}
}
sub_8045458(a, 0);
@@ -2669,11 +2669,11 @@ static void sub_80458B0(u8 a)
CpuCopy32(sub_8043CDC(0x2B), r6 + i * 64, 32);
for (r7 = 3; r7 < 3 + r8; r7++)
{
- addr = (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
- addr = (void *)(OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32);
+ addr = OBJ_VRAM0 + (8 + gSprites[a].oam.tileNum + MACRO1(r7)) * 32;
CpuCopy32(r6, addr, 32);
r6 += 32;
}
@@ -2697,7 +2697,7 @@ static void sub_8045998(u8 a)
r7 = (u8 *)0x02000520 + status * 0x180 + 32;
for (i = 6; i < 6 + r6; i++)
{
- CpuCopy32(r7, (void *)(OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32), 32);
+ CpuCopy32(r7, OBJ_VRAM0 + (gSprites[a].oam.tileNum + 0x18 + MACRO1(i)) * 32, 32);
r7 += 64;
}
}
@@ -2821,9 +2821,9 @@ static void sub_8045D58(u8 a, u8 b)
{
u8 r4 = gSprites[ewram17850[a].unk0].data5;
if (i < 2)
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[r4].oam.tileNum + 2 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(r8) + sp8[i] * 32, OBJ_VRAM0 + 64 + (i + gSprites[r4].oam.tileNum) * 32, 32);
}
break;
case 1:
@@ -2837,9 +2837,9 @@ static void sub_8045D58(u8 a, u8 b)
for (i = 0; i < 8; i++)
{
if (i < 4)
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + (gSprites[ewram17850[a].unk0].oam.tileNum + 0x24 + i) * 32, 32);
else
- CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, (void *)(OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32), 32);
+ CpuCopy32(sub_8043CDC(0xC) + sp8[i] * 32, OBJ_VRAM0 + 0xB80 + (i + gSprites[ewram17850[a].unk0].oam.tileNum) * 32, 32);
}
break;
}
diff --git a/src/battle/battle_records.c b/src/battle/battle_records.c
index fd1f528ac..54697593b 100644
--- a/src/battle/battle_records.c
+++ b/src/battle/battle_records.c
@@ -243,7 +243,7 @@ static void PrintLinkBattleRecord(struct LinkBattleRecord *record, u8 y)
void ShowLinkBattleRecords(void) {
s32 i;
MenuDrawTextWindow(1, 0, 28, 18);
- sub_8072BD8((u8 *) gOtherText_BattleResults, 0, 1, 240);
+ sub_8072BD8(gOtherText_BattleResults, 0, 1, 240);
PrintLinkBattleWinsLossesDraws(gSaveBlock1.linkBattleRecords);
#if ENGLISH
diff --git a/src/battle/battle_setup.c b/src/battle/battle_setup.c
index 91a0667d9..8327ed59d 100644
--- a/src/battle/battle_setup.c
+++ b/src/battle/battle_setup.c
@@ -880,19 +880,20 @@ static void CB2_EndFirstBattle(void)
SetMainCallback2(c2_exit_to_overworld_1_continue_scripts_restart_music);
}
+// why not just use the macros? maybe its because they didnt want to uncast const every time?
static u32 TrainerBattleLoadArg32(const u8 *ptr)
{
- return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
+ return T1_READ_32(ptr);
}
static u16 TrainerBattleLoadArg16(const u8 *ptr)
{
- return ptr[0] | (ptr[1] << 8);
+ return T1_READ_16(ptr);
}
static u8 TrainerBattleLoadArg8(const u8 *ptr)
{
- return ptr[0];
+ return T1_READ_8(ptr);
}
static u16 CurrentOpponentTrainerFlag(void)
@@ -1123,8 +1124,8 @@ void ScrSpecial_StartTrainerEyeRematch(void)
ScriptContext1_Stop();
}
-static u8 *GetTrainerIntroSpeech(void);
-static u8 *GetTrainerNonBattlingSpeech(void);
+static const u8 *GetTrainerIntroSpeech(void);
+static const u8 *GetTrainerNonBattlingSpeech(void);
void ScrSpecial_ShowTrainerIntroSpeech(void)
{
@@ -1207,15 +1208,15 @@ void PlayTrainerEncounterMusic(void)
}
//Returns an empty string if a null pointer was passed, otherwise returns str
-static u8 *SanitizeString(const u8 *str)
+static const u8 *SanitizeString(const u8 *str)
{
if (str)
- return (u8 *) str;
+ return str;
else
- return (u8 *) gOtherText_CancelWithTerminator;
+ return gOtherText_CancelWithTerminator;
}
-static u8 *GetTrainerIntroSpeech(void)
+static const u8 *GetTrainerIntroSpeech(void)
{
return SanitizeString(sTrainerIntroSpeech);
}
@@ -1233,12 +1234,12 @@ u8 *sub_8082830(void)
return gStringVar4;
}
-u8 *unref_sub_808286C(void)
+const u8 *unref_sub_808286C(void)
{
return SanitizeString(sTrainerVictorySpeech);
}
-static u8 *GetTrainerNonBattlingSpeech(void)
+static const u8 *GetTrainerNonBattlingSpeech(void)
{
return SanitizeString(sTrainerCannotBattleSpeech);
}
diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c
index c7d81f502..d0c0f95f7 100644
--- a/src/debug/matsuda_debug_menu.c
+++ b/src/debug/matsuda_debug_menu.c
@@ -516,10 +516,10 @@ void SetDebugMonForContest(void)
SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart);
SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough);
SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]);
}
void sub_80AA754(struct Sprite *sprite)
diff --git a/src/engine/link.c b/src/engine/link.c
index 850201ccb..7f7e48083 100644
--- a/src/engine/link.c
+++ b/src/engine/link.c
@@ -954,7 +954,7 @@ static u16 LinkTestCalcBlockChecksum(void *data, u16 size)
static void PrintHexDigit(u8 tileNum, u8 x, u8 y)
{
- u16 *tilemap = (u16 *)BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock);
+ u16 *tilemap = BG_SCREEN_ADDR(gLinkTestBGInfo.screenBaseBlock);
tilemap[(32 * y) + x] = (gLinkTestBGInfo.paletteNum << 12) | (tileNum + 1);
}
diff --git a/src/engine/save.c b/src/engine/save.c
index eae3f4470..5ea949cae 100644
--- a/src/engine/save.c
+++ b/src/engine/save.c
@@ -282,7 +282,7 @@ u8 sub_81255B8(u16 a1, const struct SaveSectionLocation *location)
for (i = 0; i < sizeof(struct UnkSaveSection); i++)
{
- if (ProgramFlashByte(sector, i, ((u8 *)gFastSaveSection)[i]))
+ if (ProgramFlashByte(sector, i, gFastSaveSection->data[i]))
{
status = 0xFF;
break;
@@ -402,7 +402,7 @@ u8 sub_81258BC(u16 a1, const struct SaveSectionLocation *location)
{
u16 j;
for (j = 0; j < location[id].size; j++)
- ((u8 *)location[id].data)[j] = gFastSaveSection->data[j];
+ location[id].data[j] = gFastSaveSection->data[j];
}
}
@@ -774,7 +774,7 @@ u8 unref_sub_8125FF0(u8 *data, u16 size)
for (i = 0; i < size; i++)
section->data[i] = data[i];
- gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], (u8 *)section, sizeof(struct SaveSection));
+ gLastSaveSectorStatus = ProgramFlashSectorAndVerifyNBytes(gFlashSectors[0], section, sizeof(struct SaveSection));
if (gLastSaveSectorStatus)
return 0xFF;
diff --git a/src/engine/save_failed_screen.c b/src/engine/save_failed_screen.c
index b91e8b5bf..17bda237e 100644
--- a/src/engine/save_failed_screen.c
+++ b/src/engine/save_failed_screen.c
@@ -267,10 +267,10 @@ static void VBlankCB_UpdateClockGraphics(void)
static bool8 VerifySectorWipe(u16 sector)
{
- u32 *ptr = (u32 *)unk_2000000;
+ u32 *ptr = (u32 *)&unk_2000000;
u16 i;
- ReadFlash(sector, 0, (u8 *)ptr, 4096);
+ ReadFlash(sector, 0, ptr, 4096);
for (i = 0; i < 0x400; i++, ptr++)
if (*ptr)
diff --git a/src/engine/sprite.c b/src/engine/sprite.c
index 5d394502a..34ca3802d 100644
--- a/src/engine/sprite.c
+++ b/src/engine/sprite.c
@@ -833,13 +833,13 @@ static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, const struct Spr
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
gSpriteCopyRequests[gSpriteCopyRequestCount].src = images[index].data;
- gSpriteCopyRequests[gSpriteCopyRequestCount].dest = (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
+ gSpriteCopyRequests[gSpriteCopyRequestCount].dest = OBJ_VRAM0 + TILE_SIZE_4BPP * tileNum;
gSpriteCopyRequests[gSpriteCopyRequestCount].size = images[index].size;
gSpriteCopyRequestCount++;
}
}
-void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
+void RequestSpriteCopy(const void *src, u8 *dest, u16 size)
{
if (gSpriteCopyRequestCount < MAX_SPRITE_COPY_REQUESTS)
{
@@ -850,6 +850,7 @@ void RequestSpriteCopy(const u8 *src, u8 *dest, u16 size)
}
}
+// these two functions are unused.
void CopyFromSprites(u8 *dest)
{
u32 i;
@@ -1479,7 +1480,7 @@ u16 LoadSpriteSheet(const struct SpriteSheet *sheet)
else
{
AllocSpriteTileRange(sheet->tag, (u16)tileStart, sheet->size / TILE_SIZE_4BPP);
- CpuCopy16(sheet->data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
+ CpuCopy16(sheet->data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
return (u16)tileStart;
}
}
@@ -1517,7 +1518,7 @@ void LoadTilesForSpriteSheet(const struct SpriteSheet *sheet)
{
const u8 *data = sheet->data;
u16 tileStart = GetSpriteTileStartByTag(sheet->tag);
- CpuCopy16(data, (u8 *)OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
+ CpuCopy16(data, OBJ_VRAM0 + TILE_SIZE_4BPP * tileStart, sheet->size);
}
void LoadTilesForSpriteSheets(struct SpriteSheet *sheets)
@@ -1603,7 +1604,7 @@ void RequestSpriteSheetCopy(const struct SpriteSheet *sheet)
{
const u8 *data = sheet->data;
u16 tileStart = GetSpriteTileStartByTag(sheet->tag);
- RequestSpriteCopy(data, (u8 *)OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size);
+ RequestSpriteCopy(data, OBJ_VRAM0 + tileStart * TILE_SIZE_4BPP, sheet->size);
}
u16 LoadSpriteSheetDeferred(const struct SpriteSheet *sheet)
diff --git a/src/engine/string_util.c b/src/engine/string_util.c
index 9686256a1..7316f533a 100644
--- a/src/engine/string_util.c
+++ b/src/engine/string_util.c
@@ -376,7 +376,7 @@ u8 *StringExpandPlaceholders(u8 *dest, const u8 *src)
{
u8 c = *src++;
u8 placeholderId;
- u8 *expandedString;
+ const u8 *expandedString;
u8 length;
switch (c)
@@ -432,45 +432,45 @@ u8 *StringBraille(u8 *dest, const u8 *src)
}
}
-static u8 *ExpandPlaceholder_UnknownStringVar(void)
+static const u8 *ExpandPlaceholder_UnknownStringVar(void)
{
return gUnknownStringVar;
}
-static u8 *ExpandPlaceholder_PlayerName(void)
+static const u8 *ExpandPlaceholder_PlayerName(void)
{
return gSaveBlock2.playerName;
}
-static u8 *ExpandPlaceholder_StringVar1(void)
+static const u8 *ExpandPlaceholder_StringVar1(void)
{
return gStringVar1;
}
-static u8 *ExpandPlaceholder_StringVar2(void)
+static const u8 *ExpandPlaceholder_StringVar2(void)
{
return gStringVar2;
}
-static u8 *ExpandPlaceholder_StringVar3(void)
+static const u8 *ExpandPlaceholder_StringVar3(void)
{
return gStringVar3;
}
-static u8 *ExpandPlaceholder_KunChan(void)
+static const u8 *ExpandPlaceholder_KunChan(void)
{
if (gSaveBlock2.playerGender == MALE)
- return (u8 *) gExpandedPlaceholder_Kun;
+ return gExpandedPlaceholder_Kun;
else
- return (u8 *) gExpandedPlaceholder_Chan;
+ return gExpandedPlaceholder_Chan;
}
-static u8 *ExpandPlaceholder_RivalName(void)
+static const u8 *ExpandPlaceholder_RivalName(void)
{
if (gSaveBlock2.playerGender == MALE)
- return (u8 *) gExpandedPlaceholder_May;
+ return gExpandedPlaceholder_May;
else
- return (u8 *) gExpandedPlaceholder_Brendan;
+ return gExpandedPlaceholder_Brendan;
}
#define VERSION_DEPENDENT_PLACEHOLDER_LIST \
@@ -484,19 +484,19 @@ static u8 *ExpandPlaceholder_RivalName(void)
#ifdef SAPPHIRE
#define X(ph, r, s) \
-static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##s; }
+static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##s; }
VERSION_DEPENDENT_PLACEHOLDER_LIST
#else
#define X(ph, r, s) \
-static u8 *ExpandPlaceholder_##ph(void) { return (u8 *) gExpandedPlaceholder_##r; }
+static const u8 *ExpandPlaceholder_##ph(void) { return gExpandedPlaceholder_##r; }
VERSION_DEPENDENT_PLACEHOLDER_LIST
#endif
#undef X
-u8 *GetExpandedPlaceholder(u32 id)
+const u8 *GetExpandedPlaceholder(u32 id)
{
- typedef u8 *(*ExpandPlaceholderFunc)(void);
+ typedef const u8 *(*ExpandPlaceholderFunc)(void);
static const ExpandPlaceholderFunc funcs[] =
{
@@ -517,7 +517,7 @@ u8 *GetExpandedPlaceholder(u32 id)
};
if (id >= ARRAY_COUNT(funcs))
- return (u8 *) gExpandedPlaceholder_Empty;
+ return gExpandedPlaceholder_Empty;
else
return funcs[id]();
}
diff --git a/src/engine/text.c b/src/engine/text.c
index 87903608f..1d1d31383 100644
--- a/src/engine/text.c
+++ b/src/engine/text.c
@@ -396,6 +396,8 @@ extern const u32 gFont4LatinGlyphs[];
extern const u32 gFont3JapaneseGlyphs[];
extern const u32 gFont4JapaneseGlyphs[];
+// Getting rid of the u8 recasting will make the ROM no longer match due to
+// a const being required to pass the elements directly to the rodata structs.
static const struct Font sFonts[] =
{
// Japanese fonts
@@ -405,15 +407,15 @@ static const struct Font sFonts[] =
{ 4, (u8 *)gFont3JapaneseGlyphs, 64, 512 },
{ 1, (u8 *)gFont4JapaneseGlyphs, 32, 0 },
{ 2, (u8 *)gFont4JapaneseGlyphs, 32, 0 },
- { 3, (u8 *)sBrailleGlyphs, 8, 0 },
+ { 3, (u8 *)sBrailleGlyphs, 8, 0 },
// Latin
- { 0, (u8 *)sFont0LatinGlyphs, 16, 8 },
- { 1, (u8 *)sFont1LatinGlyphs, 8, 0 },
- { 2, (u8 *)sFont1LatinGlyphs, 8, 0 },
- { 0, (u8 *)gFont3LatinGlyphs, 64, 32 },
- { 1, (u8 *)gFont4LatinGlyphs, 32, 0 },
- { 2, (u8 *)gFont4LatinGlyphs, 32, 0 },
- { 3, (u8 *)sBrailleGlyphs, 8, 0 },
+ { 0, (u8 *)sFont0LatinGlyphs, 16, 8 },
+ { 1, (u8 *)sFont1LatinGlyphs, 8, 0 },
+ { 2, (u8 *)sFont1LatinGlyphs, 8, 0 },
+ { 0, (u8 *)gFont3LatinGlyphs, 64, 32 },
+ { 1, (u8 *)gFont4LatinGlyphs, 32, 0 },
+ { 2, (u8 *)gFont4LatinGlyphs, 32, 0 },
+ { 3, (u8 *)sBrailleGlyphs, 8, 0 },
};
static const u8 sTextSpeedDelays[] = { 6, 3, 1 }; // slow, mid, fast
@@ -492,8 +494,8 @@ const struct WindowConfig gWindowConfig_81E6C3C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6C58 =
@@ -513,8 +515,8 @@ const struct WindowConfig gWindowConfig_81E6C58 =
0, // tilemap top coordinate
26, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6C74 =
@@ -534,7 +536,7 @@ const struct WindowConfig gWindowConfig_81E6C74 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)OBJ_VRAM0, // tile data
+ OBJ_VRAM0, // tile data
NULL, // tilemap
};
@@ -555,8 +557,8 @@ const struct WindowConfig gWindowConfig_81E6C90 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6CAC =
@@ -597,8 +599,8 @@ const struct WindowConfig gWindowConfig_81E6CC8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6CE4 =
@@ -618,8 +620,8 @@ const struct WindowConfig gWindowConfig_81E6CE4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D00 =
@@ -639,8 +641,8 @@ const struct WindowConfig gWindowConfig_81E6D00 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D1C =
@@ -660,8 +662,8 @@ const struct WindowConfig gWindowConfig_81E6D1C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D38 =
@@ -702,8 +704,8 @@ const struct WindowConfig gWindowConfig_81E6D54 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D70 =
@@ -723,8 +725,8 @@ const struct WindowConfig gWindowConfig_81E6D70 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E6D8C =
@@ -744,8 +746,8 @@ const struct WindowConfig gWindowConfig_81E6D8C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E6DA8 =
@@ -765,8 +767,8 @@ const struct WindowConfig gWindowConfig_81E6DA8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(11), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(11), // tilemap
};
const struct WindowConfig WindowConfig_TrainerCard_Back_Values =
@@ -786,8 +788,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Values =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig WindowConfig_TrainerCard_Back_Labels =
@@ -807,8 +809,8 @@ const struct WindowConfig WindowConfig_TrainerCard_Back_Labels =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6DFC =
@@ -828,8 +830,8 @@ const struct WindowConfig gWindowConfig_81E6DFC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E18 =
@@ -849,8 +851,8 @@ const struct WindowConfig gWindowConfig_81E6E18 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E34 =
@@ -870,8 +872,8 @@ const struct WindowConfig gWindowConfig_81E6E34 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E50 =
@@ -891,8 +893,8 @@ const struct WindowConfig gWindowConfig_81E6E50 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E6C =
@@ -912,8 +914,8 @@ const struct WindowConfig gWindowConfig_81E6E6C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6E88 =
@@ -933,8 +935,8 @@ const struct WindowConfig gWindowConfig_81E6E88 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EA4 =
@@ -954,8 +956,8 @@ const struct WindowConfig gWindowConfig_81E6EA4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EC0 =
@@ -975,8 +977,8 @@ const struct WindowConfig gWindowConfig_81E6EC0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EDC =
@@ -996,8 +998,8 @@ const struct WindowConfig gWindowConfig_81E6EDC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6EF8 =
@@ -1017,8 +1019,8 @@ const struct WindowConfig gWindowConfig_81E6EF8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F14 =
@@ -1038,8 +1040,8 @@ const struct WindowConfig gWindowConfig_81E6F14 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F30 =
@@ -1059,8 +1061,8 @@ const struct WindowConfig gWindowConfig_81E6F30 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(29), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(29), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F4C =
@@ -1080,8 +1082,8 @@ const struct WindowConfig gWindowConfig_81E6F4C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F68 =
@@ -1101,8 +1103,8 @@ const struct WindowConfig gWindowConfig_81E6F68 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(13), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(13), // tilemap
};
const struct WindowConfig gWindowConfig_81E6F84 =
@@ -1122,8 +1124,8 @@ const struct WindowConfig gWindowConfig_81E6F84 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FA0 =
@@ -1143,8 +1145,8 @@ const struct WindowConfig gWindowConfig_81E6FA0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FBC =
@@ -1164,8 +1166,8 @@ const struct WindowConfig gWindowConfig_81E6FBC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FD8 =
@@ -1185,8 +1187,8 @@ const struct WindowConfig gWindowConfig_81E6FD8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E6FF4 =
@@ -1206,8 +1208,8 @@ const struct WindowConfig gWindowConfig_81E6FF4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(24), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(24), // tilemap
};
const struct WindowConfig gWindowConfig_81E7010 =
@@ -1227,8 +1229,8 @@ const struct WindowConfig gWindowConfig_81E7010 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E702C =
@@ -1248,8 +1250,8 @@ const struct WindowConfig gWindowConfig_81E702C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E7048 =
@@ -1269,8 +1271,8 @@ const struct WindowConfig gWindowConfig_81E7048 =
0, // tilemap top coordinate
16, // width
32, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E7064 =
@@ -1290,8 +1292,8 @@ const struct WindowConfig gWindowConfig_81E7064 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(14), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(14), // tilemap
};
const struct WindowConfig gWindowConfig_81E7080 =
@@ -1311,8 +1313,8 @@ const struct WindowConfig gWindowConfig_81E7080 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E709C =
@@ -1332,8 +1334,8 @@ const struct WindowConfig gWindowConfig_81E709C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E70B8 =
@@ -1353,8 +1355,8 @@ const struct WindowConfig gWindowConfig_81E70B8 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E70D4 =
@@ -1374,8 +1376,8 @@ const struct WindowConfig gWindowConfig_81E70D4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E70F0 =
@@ -1416,8 +1418,8 @@ const struct WindowConfig gWindowConfig_81E710C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7128 =
@@ -1437,8 +1439,8 @@ const struct WindowConfig gWindowConfig_81E7128 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7144 =
@@ -1458,8 +1460,8 @@ const struct WindowConfig gWindowConfig_81E7144 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7160 =
@@ -1479,8 +1481,8 @@ const struct WindowConfig gWindowConfig_81E7160 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(10), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(10), // tilemap
};
const struct WindowConfig gWindowConfig_81E717C =
@@ -1500,8 +1502,8 @@ const struct WindowConfig gWindowConfig_81E717C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(3), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(3), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7198 =
@@ -1521,8 +1523,8 @@ const struct WindowConfig gWindowConfig_81E7198 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E71B4 =
@@ -1542,8 +1544,8 @@ const struct WindowConfig gWindowConfig_81E71B4 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(15), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(15), // tilemap
};
const struct WindowConfig gWindowConfig_81E71D0 =
@@ -1563,8 +1565,8 @@ const struct WindowConfig gWindowConfig_81E71D0 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E71EC =
@@ -1584,8 +1586,8 @@ const struct WindowConfig gWindowConfig_81E71EC =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(1), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(1), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E7208 =
@@ -1605,8 +1607,8 @@ const struct WindowConfig gWindowConfig_81E7208 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(28), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(28), // tilemap
};
const struct WindowConfig gWindowConfig_81E7224 =
@@ -1626,8 +1628,8 @@ const struct WindowConfig gWindowConfig_81E7224 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(0), // tile data
- (u16 *)BG_SCREEN_ADDR(31), // tilemap
+ BG_CHAR_ADDR(0), // tile data
+ BG_SCREEN_ADDR(31), // tilemap
};
const struct WindowConfig gWindowConfig_81E7240 =
@@ -1647,8 +1649,8 @@ const struct WindowConfig gWindowConfig_81E7240 =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)BG_CHAR_ADDR(2), // tile data
- (u16 *)BG_SCREEN_ADDR(30), // tilemap
+ BG_CHAR_ADDR(2), // tile data
+ BG_SCREEN_ADDR(30), // tilemap
};
const struct WindowConfig gWindowConfig_81E725C =
@@ -1668,7 +1670,7 @@ const struct WindowConfig gWindowConfig_81E725C =
0, // tilemap top coordinate
30, // width
20, // height
- (u8 *)OBJ_VRAM0, // tile data
+ OBJ_VRAM0, // tile data
NULL, // tilemap
};
diff --git a/src/engine/tileset_anim.c b/src/engine/tileset_anim.c
index 34685381d..f892e5e9a 100644
--- a/src/engine/tileset_anim.c
+++ b/src/engine/tileset_anim.c
@@ -32,8 +32,8 @@ extern u8 *gTilesetAnimTable_BikeShop[];
struct Dma
{
- u8 *src;
- u8 *dest;
+ void *src;
+ void *dest;
u16 size;
};
@@ -95,7 +95,7 @@ static void ClearTilesetAnimDmas(void)
CpuFill32(0, &gTilesetAnimDmas, sizeof(gTilesetAnimDmas));
}
-static void QueueTilesetAnimDma(u8 *src, u8 *dest, u16 size)
+static void QueueTilesetAnimDma(void *src, void *dest, u16 size)
{
if (gNumTilesetAnimDmas < 20)
{
@@ -217,28 +217,28 @@ static void sub_8073070(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], (u8 *)(BG_VRAM + 0x3f80), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_0[v1], BG_TILE_ADDR(127), 0x80);
}
static void sub_8073098(u16 a1)
{
u8 v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], (u8 *)(BG_VRAM + 0x3600), 0x3c0);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_1[v1], BG_TILE_ADDR(108), 0x3c0);
}
static void sub_80730C0(u16 a1)
{
int v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], (u8 *)(BG_VRAM + 0x3a00), 0x140);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_2[v1], BG_TILE_ADDR(116), 0x140);
}
static void sub_80730E8(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], (u8 *)(BG_VRAM + 0x3e00), 0xc0);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_3[v1], BG_TILE_ADDR(124), 0xc0);
}
void TilesetCB_Petalburg(void)
@@ -454,37 +454,37 @@ static void sub_807361C(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], (u8 *)(BG_VRAM + 0x3c00), 0x140);
+ QueueTilesetAnimDma(gTilesetAnimTable_General_4[v1], BG_TILE_ADDR(120), 0x140);
}
static void sub_8073644(u8 a1)
{
u8 v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(200), 0x80);
v1 = (a1 + 2) % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], (u8 *)(BG_VRAM + 0x6480), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Lavaridge[v1], BG_TILE_ADDR(201), 0x80);
}
static void sub_807368C(u8 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], (u8 *)(BG_VRAM + 0x7a00), 0x3c0);
+ QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_0[v1], BG_TILE_ADDR(244), 0x3c0);
}
static void sub_80736B4(u8 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], (u8 *)(BG_VRAM + 0x7e00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Underwater[v1], BG_TILE_ADDR(252), 0x80);
}
static void sub_80736DC(u8 a1)
{
int v1;
v1 = a1 % 8;
- QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], (u8 *)(BG_VRAM + 0x7e00), 0x100);
+ QueueTilesetAnimDma(gTilesetAnimTable_Pacifidlog_1[v1], BG_TILE_ADDR(252), 0x100);
}
static void sub_8073704(u16 a1, u8 a2)
@@ -521,14 +521,14 @@ static void sub_80737E0(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], (u8 *)(BG_VRAM + 0x7800), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Rustboro_1[v1], BG_TILE_ADDR(240), 0x80);
}
static void sub_8073808(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x5400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(168), 0x80);
}
static void sub_8073830(u16 a1, u8 a2)
@@ -543,7 +543,7 @@ static void sub_8073868(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], (u8 *)(BG_VRAM + 0x7400), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Cave[v1], BG_TILE_ADDR(232), 0x80);
}
static void sub_8073890(u16 a1)
@@ -590,41 +590,41 @@ static void sub_8073904(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], (u8 *)(BG_VRAM + 0x3e00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_Building[v1], BG_TILE_ADDR(124), 0x80);
}
static void sub_807392C(u16 a1)
{
int v1;
v1 = a1 % 3;
- QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], (u8 *)(BG_VRAM + 0x7e00), 0x180);
- QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], (u8 *)(BG_VRAM + 0x7a00), 0x280);
+ QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_0[v1], BG_TILE_ADDR(252), 0x180);
+ QueueTilesetAnimDma(gTilesetAnimTable_SootopolisGym_1[v1], BG_TILE_ADDR(244), 0x280);
}
static void sub_8073974(u16 a1)
{
int v1;
v1 = a1 % 4;
- QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], (u8 *)(BG_VRAM + 0x7f00), 0x20);
+ QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_0[v1], BG_TILE_ADDR(254), 0x20);
}
static void sub_807399C(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], (u8 *)(BG_VRAM + 0x7c00), 0x80);
+ QueueTilesetAnimDma(gTilesetAnimTable_EliteFour_1[v1], BG_TILE_ADDR(248), 0x80);
}
static void sub_80739C4(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], (u8 *)(BG_VRAM + 0x5200), 0x200);
+ QueueTilesetAnimDma(gTilesetAnimTable_MauvilleGym[v1], BG_TILE_ADDR(164), 0x200);
}
static void sub_80739EC(u16 a1)
{
int v1;
v1 = a1 % 2;
- QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], (u8 *)(BG_VRAM + 0x7e00), 0x120);
+ QueueTilesetAnimDma(gTilesetAnimTable_BikeShop[v1], BG_TILE_ADDR(252), 0x120);
}
diff --git a/src/engine/trade.c b/src/engine/trade.c
index 905e9ff0c..8fad94be8 100644
--- a/src/engine/trade.c
+++ b/src/engine/trade.c
@@ -112,7 +112,6 @@ struct TradeEwramSubstruct {
/*0x0087*/ u8 unk_0087;
/*0x0088*/ u8 filler_0088[2];
/*0x008a*/ u8 unk_008a;
- /*0x008b*/ u8 unk_008b;
/*0x008c*/ u16 linkData[20];
/*0x00b4*/ u8 unk_00b4;
/*0x00b5*/ u8 unk_00b5[11];
@@ -1088,7 +1087,7 @@ static void sub_8047EC0(void)
ResetSpriteData();
FreeAllSpritePalettes();
ResetTasks();
- sub_804A964(&gUnknown_03004824->unk_00c8, (void *)BG_SCREEN_ADDR(5));
+ sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5));
SetVBlankCallback(sub_80489F4);
InitMenuWindow(&gWindowConfig_81E6CE4);
SetUpWindowConfig(&gWindowConfig_81E6F84);
@@ -1268,7 +1267,7 @@ static void sub_80484F4(void)
ResetSpriteData();
FreeAllSpritePalettes();
ResetTasks();
- sub_804A964(&gUnknown_03004824->unk_00c8, (void *)BG_SCREEN_ADDR(5));
+ sub_804A964(&gUnknown_03004824->unk_00c8, BG_SCREEN_ADDR(5));
SetVBlankCallback(sub_80489F4);
InitMenuWindow(&gWindowConfig_81E6CE4);
SetUpWindowConfig(&gWindowConfig_81E6F84);
@@ -1484,12 +1483,12 @@ static void sub_8048B0C(u8 a0)
}
for (i = 0; i < 0x400; i ++)
gUnknown_03004824->unk_00c8.unk_12[i] = gUnknown_08EA15C8[i];
- dest = (u16 *)BG_SCREEN_ADDR(6);
+ dest = BG_SCREEN_ADDR(6);
DmaCopy16(3, gTradeStripesBG2Tilemap, dest, 0x800);
break;
case 1:
src = gTradeStripesBG3Tilemap;
- dest = (u16 *)BG_SCREEN_ADDR(7);
+ dest = BG_SCREEN_ADDR(7);
DmaCopy16(3, src, dest, 0x800);
sub_804A6DC(0);
sub_804A6DC(1);
@@ -1706,8 +1705,11 @@ static void sub_8048C70(void)
static void nullsub_5(u8 a0, u8 a1) {}
-static void sub_8048D24(u8 *dest, const u8 *src, u32 size)
+// why not just use memcpy?
+static void Trade_Memcpy(void *dataDest, void *dataSrc, u32 size)
{
+ u8 *dest = dataDest;
+ u8 *src = dataSrc;
int i;
for (i = 0; i < size; i ++) dest[i] = src[i];
}
@@ -1724,7 +1726,7 @@ static bool8 sub_8048D44(void)
switch (gUnknown_03004824->unk_0075)
{
case 0:
- sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[0], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon));
gUnknown_03004824->unk_0075 ++;
break;
case 1:
@@ -1751,13 +1753,13 @@ static bool8 sub_8048D44(void)
case 3:
if (GetBlockReceivedStatus() == 3)
{
- sub_8048D24((u8 *)&gEnemyParty[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
ResetBlockReceivedFlags();
gUnknown_03004824->unk_0075 ++;
}
break;
case 4:
- sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[2], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon));
gUnknown_03004824->unk_0075 ++;
break;
case 5:
@@ -1770,13 +1772,13 @@ static bool8 sub_8048D44(void)
case 6:
if (GetBlockReceivedStatus() == 3)
{
- sub_8048D24((u8 *)&gEnemyParty[2], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
ResetBlockReceivedFlags();
gUnknown_03004824->unk_0075 ++;
}
break;
case 7:
- sub_8048D24(gBlockSendBuffer, (const u8 *)&gPlayerParty[4], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 2 * sizeof(struct Pokemon));
gUnknown_03004824->unk_0075 ++;
break;
case 8:
@@ -1789,13 +1791,13 @@ static bool8 sub_8048D44(void)
case 9:
if (GetBlockReceivedStatus() == 3)
{
- sub_8048D24((u8 *)&gEnemyParty[4], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
+ Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[mpId ^ 1], 2 * sizeof(struct Pokemon));
ResetBlockReceivedFlags();
gUnknown_03004824->unk_0075 ++;
}
break;
case 10:
- sub_8048D24(gBlockSendBuffer, (const u8 *)&gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4);
+ Trade_Memcpy(gBlockSendBuffer, &gSaveBlock1.mail[0], 6 * sizeof(struct MailStruct) + 4);
gUnknown_03004824->unk_0075 ++;
break;
case 11:
@@ -1808,13 +1810,13 @@ static bool8 sub_8048D44(void)
case 12:
if (GetBlockReceivedStatus() == 3)
{
- sub_8048D24((u8 *)&gUnknown_02029700[0], (const u8 *)gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct));
+ Trade_Memcpy(&gUnknown_02029700[0], gBlockRecvBuffer[mpId ^ 1], 6 * sizeof(struct MailStruct));
ResetBlockReceivedFlags();
gUnknown_03004824->unk_0075 ++;
}
break;
case 13:
- sub_8048D24(gBlockSendBuffer, (const u8 *)gSaveBlock1.giftRibbons, 11);
+ Trade_Memcpy(gBlockSendBuffer, gSaveBlock1.giftRibbons, 11);
gUnknown_03004824->unk_0075 ++;
break;
case 14:
@@ -1827,7 +1829,7 @@ static bool8 sub_8048D44(void)
case 15:
if (GetBlockReceivedStatus() == 3)
{
- sub_8048D24((u8 *)gUnknown_03004824->unk_00b5, (const u8 *)gBlockRecvBuffer[mpId ^ 1], 11);
+ Trade_Memcpy(gUnknown_03004824->unk_00b5, gBlockRecvBuffer[mpId ^ 1], 11);
ResetBlockReceivedFlags();
gUnknown_03004824->unk_0075 ++;
}
@@ -1853,7 +1855,7 @@ static void sub_8049088(void)
{
u8 string[28];
StringCopy(string, gTradeText_TradeOkayPrompt);
- sub_804ACD8(string, (u8 *)BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20);
+ sub_804ACD8(string, BG_CHAR_ADDR(4) + gUnknown_03004824->unk_007e * 32, 20);
}
static void sub_80490BC(u8 mpId, u8 a1)
@@ -1915,7 +1917,7 @@ static void sub_80491E4(u8 mpId, u8 status)
gUnknown_03004824->unk_007b = 8;
break;
case 0xdddd:
- gUnknown_03004824->unk_008a = ((u8 *)gBlockRecvBuffer[0])[1 * sizeof(u16)] + 6;
+ gUnknown_03004824->unk_008a = gBlockRecvBuffer[0][1] + 6;
sub_8049E9C(gUnknown_03004824->tradeMenuCursorPosition);
sub_8049E9C(gUnknown_03004824->unk_008a);
gUnknown_03004824->unk_007b = 7;
@@ -2111,7 +2113,7 @@ static void sub_8049680(void)
DrawTextWindow(&gUnknown_03004824->window, 24, 14, 29, 19);
InitYesNoMenu(24, 14, 4);
gUnknown_03004824->unk_007b = 4;
- sub_804ACD8(gUnknown_0820C14C[4], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ sub_804ACD8(gUnknown_0820C14C[4], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
}
}
if (gMain.newKeys & R_BUTTON)
@@ -2130,7 +2132,7 @@ static void sub_8049804(void)
sub_804A80C();
gUnknown_03004824->unk_007b = 0;
gSprites[gUnknown_03004824->tradeMenuCursorSpriteIdx].invisible = FALSE;
- sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
}
static void sub_8049860(void)
@@ -2498,7 +2500,7 @@ static void sub_8049ED4(u8 a0)
gUnknown_03004824->unk_0080[a0] ++;
break;
case 4:
- sub_804ACD8(gUnknown_0820C14C[5], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ sub_804ACD8(gUnknown_0820C14C[5], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
sub_804A51C(a0, whichPokemon, gUnknown_0820C3D1[a0][0] + 4, gUnknown_0820C3D1[a0][1] + 1, gUnknown_0820C3D1[a0][0], gUnknown_0820C3D1[a0][1]);
gUnknown_03004824->unk_0080[a0] ++;
break;
@@ -3362,7 +3364,7 @@ static void sub_804A840(u8 whichParty)
sub_804A740(1);
sub_804A938(&gUnknown_03004824->unk_00c8);
}
- sub_804ACD8(gUnknown_0820C14C[1], (u8 *)(BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e), 20);
+ sub_804ACD8(gUnknown_0820C14C[1], BG_CHAR_ADDR(4) + 32 * gUnknown_03004824->unk_007e, 20);
gUnknown_03004824->unk_0080[whichParty] = 0;
}
@@ -4037,7 +4039,7 @@ static void sub_804B41C(void)
gMain.state ++;
LZDecompressVram(gUnknown_08D00000, (void *)VRAM);
CpuCopy16(gUnknown_08D00524, ewram, 0x1000);
- DmaCopy16Defvars(3, ewram, (void *)BG_SCREEN_ADDR(5), 0x500);
+ DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500);
LoadCompressedPalette(gUnknown_08D004E0, 0, 32);
gUnknown_03004828->unk_00b6 = 0;
gUnknown_03004828->unk_00c4 = 0;
@@ -4678,8 +4680,8 @@ static void sub_804BBE8(u8 a0)
{
case 0:
LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0);
- DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(1), 0x1300, 0x1000);
- DmaCopy16Defvars(3, gUnknown_0820F798, (void *)BG_SCREEN_ADDR(18), 0x1000);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000);
gUnknown_03004828->bg2vofs = 0;
gUnknown_03004828->bg2hofs = 0xb4;
REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
@@ -4691,15 +4693,15 @@ static void sub_804BBE8(u8 a0)
REG_BG1VOFS = 0x15c;
REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5) | BGCNT_TXT256x512;
- DmaCopy16Defvars(3, gUnknown_08210798, (void *)BG_SCREEN_ADDR(5), 0x1000);
- DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(0), 0x1300, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08210798, BG_SCREEN_ADDR(5), 0x1000);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(0), 0x1300, 0x1000);
REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
break;
case 2:
gUnknown_03004828->bg1vofs = 0;
gUnknown_03004828->bg1hofs = 0;
REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
- DmaCopy16Defvars(3, gUnknown_08211798, (void *)BG_SCREEN_ADDR(5), 0x800);
+ DmaCopy16Defvars(3, gUnknown_08211798, BG_SCREEN_ADDR(5), 0x800);
break;
case 3:
REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | DISPCNT_OBJ_ON;
@@ -4708,8 +4710,8 @@ static void sub_804BBE8(u8 a0)
gUnknown_03004828->unk_010c = 0x78;
gUnknown_03004828->unk_010e = -0x46;
gUnknown_03004828->unk_011c = 0;
- DmaCopyLarge16(3, gUnknown_0820DD98, (void *)BG_CHAR_ADDR(1), 0x1a00, 0x1000);
- DmaCopy16Defvars(3, gUnknown_08211F98, (void *)BG_SCREEN_ADDR(18), 0x100);
+ DmaCopyLarge16(3, gUnknown_0820DD98, BG_CHAR_ADDR(1), 0x1a00, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08211F98, BG_SCREEN_ADDR(18), 0x100);
break;
case 4:
REG_DISPCNT = DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON;
@@ -4719,20 +4721,20 @@ static void sub_804BBE8(u8 a0)
gUnknown_03004828->unk_0118 = 0x20;
gUnknown_03004828->unk_011a = 0x400;
gUnknown_03004828->unk_011c = 0;
- DmaCopyLarge16(3, gUnknown_08213738, (void *)BG_CHAR_ADDR(1), 0x2040, 0x1000);
- DmaCopy16Defvars(3, gUnknown_08215778, (void *)BG_SCREEN_ADDR(18), 0x100);
+ DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100);
break;
case 5:
gUnknown_03004828->bg1vofs = 0;
gUnknown_03004828->bg1hofs = 0;
REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | BGCNT_SCREENBASE(5);
- LZDecompressVram(gUnknown_08D00000, (void *)BG_CHAR_ADDR(0));
+ LZDecompressVram(gUnknown_08D00000, BG_CHAR_ADDR(0));
CpuCopy16(gUnknown_08D00524, buffer = (u16 *)ewram, 0x1000);
LoadCompressedPalette(gUnknown_08D004E0, 0x70, 0x20);
FillPalette(0, 0, 2);
for (i = 0; i < 0x280; i ++)
buffer[i] |= 0x7000;
- DmaCopy16Defvars(3, ewram, (void *)BG_SCREEN_ADDR(5), 0x500);
+ DmaCopy16Defvars(3, ewram, BG_SCREEN_ADDR(5), 0x500);
MenuZeroFillWindowRect(2, 15, 27, 18);
break;
case 6:
@@ -4745,16 +4747,16 @@ static void sub_804BBE8(u8 a0)
gUnknown_03004828->unk_010c = 0x78;
gUnknown_03004828->unk_010e = 0x50;
gUnknown_03004828->unk_011c = 0;
- DmaCopyLarge16(3, gUnknown_08213738, (void *)BG_CHAR_ADDR(1), 0x2040, 0x1000);
- DmaCopy16Defvars(3, gUnknown_08215778, (void *)BG_SCREEN_ADDR(18), 0x100);
+ DmaCopyLarge16(3, gUnknown_08213738, BG_CHAR_ADDR(1), 0x2040, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_08215778, BG_SCREEN_ADDR(18), 0x100);
break;
case 7:
gUnknown_03004828->bg2vofs = 0;
gUnknown_03004828->bg2hofs = 0;
REG_BG2CNT = BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | BGCNT_SCREENBASE(18) | BGCNT_TXT512x256;
LoadPalette(gUnknown_0820C9F8, 0x10, 0xa0);
- DmaCopyLarge16(3, gUnknown_0820CA98, (void *)BG_CHAR_ADDR(1), 0x1300, 0x1000);
- DmaCopy16Defvars(3, gUnknown_0820F798, (void *)BG_SCREEN_ADDR(18), 0x1000);
+ DmaCopyLarge16(3, gUnknown_0820CA98, BG_CHAR_ADDR(1), 0x1300, 0x1000);
+ DmaCopy16Defvars(3, gUnknown_0820F798, BG_SCREEN_ADDR(18), 0x1000);
break;
}
}
@@ -5416,7 +5418,6 @@ static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade)
struct MailStruct mail;
u8 metLocation = 0xFE;
u8 isMail;
- u8 *item;
struct Pokemon *pokemon = &gEnemyParty[0];
CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId);
@@ -5447,12 +5448,11 @@ static void sub_804D948(u8 whichPlayerMon, u8 whichInGameTrade)
sub_804DAD4(&mail, inGameTrade);
gUnknown_02029700[0] = mail;
SetMonData(pokemon, MON_DATA_MAIL, &isMail);
- SetMonData(pokemon, MON_DATA_HELD_ITEM, (u8 *)&inGameTrade->heldItem);
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem);
}
else
{
- item = (u8 *)&inGameTrade->heldItem;
- SetMonData(pokemon, MON_DATA_HELD_ITEM, item);
+ SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem);
}
}
CalculateMonStats(&gEnemyParty[0]);
@@ -5705,10 +5705,10 @@ void sub_804E22C(void)
{
const u16 *src;
u16 *dest;
- LZDecompressVram(gUnknown_08D00000, (u8 *)VRAM);
+ LZDecompressVram(gUnknown_08D00000, (void *)VRAM);
CpuCopy16(gUnknown_08D00524, ewram, 0x1000);
src = (const u16 *)ewram;
- dest = (u16 *)(BG_SCREEN_ADDR(5));
+ dest = BG_SCREEN_ADDR(5);
DmaCopy16(3, src, dest, 0x500)
LoadCompressedPalette(gUnknown_08D004E0, 0, 32);
REG_BG1CNT = BGCNT_PRIORITY(2) | BGCNT_SCREENBASE(5);
diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c
index 06d692eae..1b5759f49 100644
--- a/src/field/battle_tower.c
+++ b/src/field/battle_tower.c
@@ -1370,7 +1370,7 @@ void FillBattleTowerTrainerParty(void)
}
SetMonData(&gEnemyParty[partyIndex], MON_DATA_FRIENDSHIP, &friendship);
- SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, (u8 *)&sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]);
+ SetMonData(&gEnemyParty[partyIndex], MON_DATA_HELD_ITEM, &sBattleTowerHeldItems[battleTowerMons[battleMonIndex].heldItem]);
// The pokemon was successfully added to the trainer's party, so it's safe to move on to
// the next party slot.
@@ -1589,7 +1589,7 @@ void sub_81354CC(void)
for (i = 0; i < PARTY_SIZE; i++)
{
heldItem = GetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM);
- SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
break;
case 2:
@@ -1633,7 +1633,7 @@ void sub_813556C(void)
for (i = 0; i < PARTY_SIZE; i++)
{
heldItem = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
- SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ SetMonData(&gSaveBlock1.playerParty[i], MON_DATA_HELD_ITEM, &heldItem);
}
CreateTask(sub_8135534, 1);
@@ -2185,7 +2185,7 @@ void AwardBattleTowerRibbons(void)
if (!GetMonData(pokemon, ribbonType))
{
gScriptResult = 1;
- SetMonData(pokemon, ribbonType, (u8 *)&gScriptResult);
+ SetMonData(pokemon, ribbonType, &gScriptResult);
}
}
}
diff --git a/src/field/daycare.c b/src/field/daycare.c
index d182e121b..dd74f59e0 100644
--- a/src/field/daycare.c
+++ b/src/field/daycare.c
@@ -189,7 +189,7 @@ static u16 sub_8041570(struct DayCareData * daycare_data, u8 slot)
if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL)
{
experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->misc.countersEtc.steps[slot];
- SetMonData(&pokemon, MON_DATA_EXP, (u8 *)&experience);
+ SetMonData(&pokemon, MON_DATA_EXP, &experience);
DayCare_LevelUpMoves(&pokemon);
}
gPlayerParty[PARTY_SIZE - 1] = pokemon;
@@ -214,7 +214,7 @@ u16 sub_8041648()
u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){
struct BoxPokemon temp = *mon;
u32 new_exp = GetBoxMonData(mon, MON_DATA_EXP) + steps;
- SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp);
+ SetBoxMonData(&temp, MON_DATA_EXP, &new_exp);
return GetLevelFromBoxMonExp(&temp);
}
@@ -961,7 +961,7 @@ void sub_8042044(struct Pokemon *mon, u16 species, u8 overwriteMetLocation) // s
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
- SetMonData(mon, MON_DATA_POKEBALL, (u8 *)&ball);
+ SetMonData(mon, MON_DATA_POKEBALL, &ball);
SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4);
SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles);
SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel);
@@ -986,7 +986,7 @@ static void sub_80420FC(struct Pokemon *mon, u16 species, struct DayCareData *da
metLevel = 0;
ball = ITEM_POKE_BALL;
language = LANGUAGE_JAPANESE;
- SetMonData(mon, MON_DATA_POKEBALL, (u8 *)&ball);
+ SetMonData(mon, MON_DATA_POKEBALL, &ball);
SetMonData(mon, MON_DATA_NICKNAME, gUnknown_08209AD4);
SetMonData(mon, MON_DATA_FRIENDSHIP, &gBaseStats[species].eggCycles);
SetMonData(mon, MON_DATA_MET_LEVEL, &metLevel);
@@ -1031,7 +1031,7 @@ static bool8 sub_80421B0(struct DayCareData *dayCareData)
return TRUE;
}
steps--;
- SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, (u8 *)&steps);
+ SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps);
}
}
}
diff --git a/src/field/decoration.c b/src/field/decoration.c
index e067191e9..59c19c20a 100644
--- a/src/field/decoration.c
+++ b/src/field/decoration.c
@@ -1494,7 +1494,7 @@ const union AnimCmd *const gSpriteAnimTable_83EC930[] = {
};
const struct SpriteFrameImage gSpriteImageTable_83EC934[] = {
- {.data = (u8 *)&gUnknown_02038900.image, .size = sizeof gUnknown_02038900.image}
+ {.data = gUnknown_02038900.image, .size = sizeof(gUnknown_02038900.image)}
};
const struct SpriteTemplate gSpriteTemplate_83EC93C = {
diff --git a/src/field/decoration_inventory.c b/src/field/decoration_inventory.c
index 083cb260c..687589373 100644
--- a/src/field/decoration_inventory.c
+++ b/src/field/decoration_inventory.c
@@ -8,7 +8,7 @@
#include "decoration.h"
#include "decoration_inventory.h"
-#define DECOR_INV(ptr) {.items = (u8 *)&ptr, .size = sizeof ptr}
+#define DECOR_INV(ptr) {.items = ptr, .size = sizeof ptr}
struct DecorationInventory const gDecorationInventories[] = {
DECOR_INV(gSaveBlock1.decorDesk),
diff --git a/src/field/easy_chat.c b/src/field/easy_chat.c
index 2668b57dd..8e7413516 100644
--- a/src/field/easy_chat.c
+++ b/src/field/easy_chat.c
@@ -161,7 +161,7 @@ u16 unref_sub_80EB5E0(u16 arg0)
{
case EC_GROUP_POKEMON: // 0
case EC_GROUP_POKEMON_2: // 21
- chars = (u8 *) gSpeciesNames[word];
+ chars = gSpeciesNames[word];
break;
case EC_GROUP_MOVE_1: // 18
case EC_GROUP_MOVE_2: // 19
diff --git a/src/field/field_effect.c b/src/field/field_effect.c
index d86d6e5cd..bd78fb632 100644
--- a/src/field/field_effect.c
+++ b/src/field/field_effect.c
@@ -37,7 +37,7 @@ const u16 gFieldEffectObjectPalette4[16] = INCBIN_U16("graphics/field_effect_obj
const u32 gSpriteImage_839E474[] = INCBIN_U32("graphics/misc/pokecenter_monitor/0.4bpp");
const u32 gSpriteImage_839E534[] = INCBIN_U32("graphics/misc/pokecenter_monitor/1.4bpp");
const u32 gSpriteImage_839E5F4[] = INCBIN_U32("graphics/misc/big_hof_monitor.4bpp");
-const u32 gSpriteImage_839E7F4[] = INCBIN_U32("graphics/misc/small_hof_monitor.4bpp");
+const u8 gSpriteImage_839E7F4[] = INCBIN_U8("graphics/misc/small_hof_monitor.4bpp");
const u16 gFieldEffectObjectPalette5[16] = INCBIN_U16("graphics/field_effect_objects/palettes/05.gbapal");
// Graphics for the lights streaking past your Pokemon when it uses a field move.
@@ -110,7 +110,7 @@ const struct SpriteFrameImage gSpriteImageTable_839F170[] = {
};
const struct SpriteFrameImage gSpriteImageTable_839F178[] = {
- {.data = (u8 *)gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here
+ {.data = gSpriteImage_839E7F4, .size = 0x200} // the macro breaks down here
};
const struct Subsprite Unknown_39F180[] = {
diff --git a/src/field/field_ground_effect.c b/src/field/field_ground_effect.c
index 5af8ea3e3..25b678ff9 100644
--- a/src/field/field_ground_effect.c
+++ b/src/field/field_ground_effect.c
@@ -458,76 +458,52 @@ bool8 AreZCoordsCompatible(u8 a, u8 b)
void GroundEffect_SpawnOnTallGrass(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 1;
FieldEffectStart(FLDEFF_TALL_GRASS);
}
void sub_8063E94(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 0;
FieldEffectStart(FLDEFF_TALL_GRASS);
}
void sub_8063EE0(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
- gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
+ gFieldEffectArguments[4] = mapObj->localId << 8 | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 1;
FieldEffectStart(FLDEFF_LONG_GRASS);
}
void sub_8063F2C(struct MapObject *mapObj, struct Sprite *sprite)
{
- u8 *ptr;
-
gFieldEffectArguments[0] = mapObj->coords2.x;
gFieldEffectArguments[1] = mapObj->coords2.y;
gFieldEffectArguments[2] = mapObj->elevation;
gFieldEffectArguments[3] = 2;
gFieldEffectArguments[4] = (mapObj->localId << 8) | mapObj->mapNum;
gFieldEffectArguments[5] = mapObj->mapGroup;
-
- ptr = (u8 *)&gSaveBlock1;
- gFieldEffectArguments[6] = ((u8)gSaveBlock1.location.mapNum << 8)
- | (u8)gSaveBlock1.location.mapGroup;
-
+ gFieldEffectArguments[6] = (u8)gSaveBlock1.location.mapNum << 8 | (u8)gSaveBlock1.location.mapGroup;
gFieldEffectArguments[7] = 0;
FieldEffectStart(FLDEFF_LONG_GRASS);
}
diff --git a/src/field/field_map_obj.c b/src/field/field_map_obj.c
index 094e70107..74ef3b7fe 100644
--- a/src/field/field_map_obj.c
+++ b/src/field/field_map_obj.c
@@ -2775,11 +2775,11 @@ void npc_by_local_id_and_map_set_field_1_bit_x20(u8 localId, u8 mapNum, u8 mapGr
gMapObjects[mapObjectId].mapobj_bit_13 = d;
}
-void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, u8 *localId, u8 *mapNum, u8 *mapGroup)
+void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup)
{
- *localId = mapObject->localId;
- *mapNum = mapObject->mapNum;
- *mapGroup = mapObject->mapGroup;
+ *(u8 *)localId = mapObject->localId;
+ *(u8 *)mapNum = mapObject->mapNum;
+ *(u8 *)mapGroup = mapObject->mapGroup;
}
void sub_805BCC0(s16 x, s16 y)
@@ -5187,7 +5187,7 @@ void FieldObjectCB_TreeDisguise(struct Sprite *sprite)
mapObject = &gMapObjects[sprite->data0];
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0))
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_TREE_DISGUISE);
mapObject->mapobj_unk_21 = 1;
sprite->data7 ++;
@@ -5207,7 +5207,7 @@ void FieldObjectCB_MountainDisguise(struct Sprite *sprite)
mapObject = &gMapObjects[sprite->data0];
if (mapObject->mapobj_unk_21 == 0 || (mapObject->mapobj_unk_21 == 1 && sprite->data7 == 0))
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
mapObject->mapobj_unk_1A = FieldEffectStart(FLDEFF_MOUNTAIN_DISGUISE);
mapObject->mapobj_unk_21 = 1;
sprite->data7 ++;
@@ -7371,7 +7371,7 @@ bool8 sub_8062644(struct MapObject *mapObject, struct Sprite *sprite)
bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
sprite->data2 = 1;
return TRUE;
@@ -7379,7 +7379,7 @@ bool8 do_exclamation_mark_bubble_1(struct MapObject *mapObject, struct Sprite *s
bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_2);
sprite->data2 = 1;
return TRUE;
@@ -7387,7 +7387,7 @@ bool8 do_exclamation_mark_bubble_2(struct MapObject *mapObject, struct Sprite *s
bool8 do_heart_bubble(struct MapObject *mapObject, struct Sprite *sprite)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_HEART_ICON);
sprite->data2 = 1;
return TRUE;
diff --git a/src/field/field_map_obj_helpers.c b/src/field/field_map_obj_helpers.c
index b453d3794..59e857aae 100644
--- a/src/field/field_map_obj_helpers.c
+++ b/src/field/field_map_obj_helpers.c
@@ -294,7 +294,7 @@ void sub_8064990(u8 a1, u8 dir)
u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject)
{
- FieldObjectGetLocalIdAndMap(mapObject, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(mapObject, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
return FieldEffectStart(fieldEffectId);
}
diff --git a/src/field/field_poison.c b/src/field/field_poison.c
index 1244b9c62..b6ff12ff9 100644
--- a/src/field/field_poison.c
+++ b/src/field/field_poison.c
@@ -128,7 +128,7 @@ s32 DoPoisonFieldEffect(void)
hp--;
if (hp == 0)
numFainting++; //Pokemon will now faint due to poison
- SetMonData(pkmn, MON_DATA_HP, (u8 *)&hp);
+ SetMonData(pkmn, MON_DATA_HP, &hp);
numPoisoned++;
}
pkmn++;
diff --git a/src/field/field_specials.c b/src/field/field_specials.c
index d67cbe54f..46061febf 100644
--- a/src/field/field_specials.c
+++ b/src/field/field_specials.c
@@ -1905,13 +1905,13 @@ void PutZigzagoonInPlayerParty(void)
u16 monData;
CreateMon(&gPlayerParty[0], SPECIES_ZIGZAGOON, 7, 0x20, FALSE, 0, FALSE, 0);
monData = TRUE;
- SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_ALT_ABILITY, &monData);
monData = MOVE_TACKLE;
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, &monData);
monData = MOVE_NONE;
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (u8 *)&monData);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (u8 *)&monData);
- SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (u8 *)&monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, &monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, &monData);
+ SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, &monData);
}
bool8 IsStarterInParty(void)
diff --git a/src/field/party_menu.c b/src/field/party_menu.c
index a4c66d891..7a519d737 100644
--- a/src/field/party_menu.c
+++ b/src/field/party_menu.c
@@ -2855,7 +2855,7 @@ void sub_806D5B8(u8 monIndex)
ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
var1 = 0;
- CpuFastSet(&var1, (void *)(OBJ_VRAM1 + monIndex * 0x400), 0x1000100);
+ CpuFastSet(&var1, OBJ_VRAM1 + monIndex * 0x400, 0x1000100);
}
void sub_806D668(u8 monIndex)
@@ -2869,7 +2869,7 @@ void sub_806D668(u8 monIndex)
ZeroFillWindowRect(&gUnknown_03004210, left, top, right, bottom);
var1 = 0;
- CpuFastSet(&var1, (void *)(OBJ_VRAM1 + 0x300 + monIndex * 0x400), 0x1000040);
+ CpuFastSet(&var1, OBJ_VRAM1 + 0x300 + monIndex * 0x400, 0x1000040);
}
bool8 LoadPartyMenuGraphics(u8 a)
@@ -3460,7 +3460,7 @@ void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer)
u32 var1 = 0;
CpuFastSet(&var1, gTileBuffer, 0x1000100);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gTileBuffer, nameBuffer);
- CpuFastSet(gTileBuffer, (void *)(OBJ_VRAM1 + (monIndex * 0x400)), 128);
+ CpuFastSet(gTileBuffer, OBJ_VRAM1 + (monIndex * 0x400), 128);
}
void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon)
@@ -3570,7 +3570,7 @@ void PartyMenuDoPrintLevel(u8 monIndex, u8 menuLayout, u8 level)
var1 = 0;
CpuFastSet(&var1, gUnknown_02039460, 0x1000020);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
- CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x200 + (monIndex * 0x400)), 32);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x200 + (monIndex * 0x400), 32);
}
void PartyMenuPrintLevel(u8 monIndex, u8 menuLayout, struct Pokemon *pokemon)
@@ -3664,7 +3664,7 @@ void PartyMenuDoPrintHP(u8 monIndex, u8 b, u16 currentHP, u16 maxHP)
CpuFastSet(&var, gUnknown_02039460, 0x1000040);
sub_8004E3C((struct WindowConfig *)&gWindowConfig_81E6CAC, gUnknown_02039460 - 0x100 /*gTileBuffer*/, gStringVar1);
- CpuFastSet(gUnknown_02039460, (void *)(OBJ_VRAM1 + 0x300 + (monIndex * 0x400)), 64);
+ CpuFastSet(gUnknown_02039460, OBJ_VRAM1 + 0x300 + (monIndex * 0x400), 64);
}
void PartyMenuPrintHP(u8 monIndex, u8 b, struct Pokemon *pokemon)
@@ -4457,7 +4457,7 @@ void sub_806F8AC(u8 taskId)
ewram1B000.unk261 = 2;
sub_806E834(gStringVar4, 1);
sp14 += sp0.unk4;
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&sp14);
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &sp14);
RemoveBagItem(ewram1C000.unk6, 1);
sub_8032638();
gTasks[taskId].func = sub_806FB44;
@@ -4478,7 +4478,7 @@ void sub_806FA18(u8 taskId)
PlaySE(SE_KAIFUKU);
ewram1C000.unkC = 0;
gTasks[taskId].data[11] -= gTasks[taskId].data[12];
- SetMonData(ewram1C000.pokemon, MON_DATA_HP, (u8 *)&gTasks[taskId].data[11]);
+ SetMonData(ewram1C000.pokemon, MON_DATA_HP, &gTasks[taskId].data[11]);
SetMonIconAnim(GetMonIconSpriteId(ewram1C000.unk4, ewram01000.unk1), ewram1C000.pokemon);
ewram1C000.unk5 = gSprites[ewram01000.unk2].data0;
ewram1C000.pokemon = &gPlayerParty[ewram1C000.unk5];
diff --git a/src/field/player_pc.c b/src/field/player_pc.c
index 83e6dd221..d01829266 100644
--- a/src/field/player_pc.c
+++ b/src/field/player_pc.c
@@ -32,7 +32,7 @@ extern u8 sub_807D770(void);
extern void sub_808B020(void);
extern void sub_80F944C(void);
-static EWRAM_DATA u8 *gPcItemMenuOptionOrder = NULL;
+static EWRAM_DATA const u8 *gPcItemMenuOptionOrder = NULL;
static u8 gPcItemMenuOptionsNum;
@@ -211,14 +211,14 @@ void NewGameInitPCItems(void)
void BedroomPC(void)
{
- gPcItemMenuOptionOrder = (u8 *)gBedroomPC_OptionOrder;
+ gPcItemMenuOptionOrder = gBedroomPC_OptionOrder;
gPcItemMenuOptionsNum = 4;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
void PlayerPC(void)
{
- gPcItemMenuOptionOrder = (u8 *)gPlayerPC_OptionOrder;
+ gPcItemMenuOptionOrder = gPlayerPC_OptionOrder;
gPcItemMenuOptionsNum = 3;
DisplayItemMessageOnField(CreateTask(TaskDummy, 0), gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0);
}
@@ -1064,7 +1064,7 @@ static void Mailbox_DrawMailList(u8 taskId) // taskId is unused
if(i != mailbox->count)
{
- StringCopy(gStringVar1, (u8 *)gSaveBlock1.mail[i + 6].playerName);
+ StringCopy(gStringVar1, gSaveBlock1.mail[i + 6].playerName);
SanitizeNameString(gStringVar1);
MenuPrint(gStringVar1, 0x15, yCoord + 2);
}
diff --git a/src/field/pokeblock.c b/src/field/pokeblock.c
index 34f4ffa35..2ee1a23ae 100644
--- a/src/field/pokeblock.c
+++ b/src/field/pokeblock.c
@@ -374,7 +374,7 @@ static bool8 sub_810B998(void)
switch (ewram[0x1ffff])
{
case 0:
- LZDecompressVram(gMenuPokeblock_Gfx, (u8 *)BG_CHAR_ADDR(2));
+ LZDecompressVram(gMenuPokeblock_Gfx, BG_CHAR_ADDR(2));
ewram[0x1ffff]++;
break;
case 1:
diff --git a/src/field/roamer.c b/src/field/roamer.c
index 948828d5e..c45c87601 100644
--- a/src/field/roamer.c
+++ b/src/field/roamer.c
@@ -173,13 +173,13 @@ void CreateRoamerMonInstance(void)
struct Pokemon *mon = &gEnemyParty[0];
struct Roamer *roamer = &gSaveBlock1.roamer;
CreateMonWithIVsPersonality(mon, roamer->species, roamer->level, roamer->ivs, roamer->personality);
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&roamer->status);
- SetMonData(mon, MON_DATA_HP, (u8 *)&roamer->hp);
- SetMonData(mon, MON_DATA_COOL, (u8 *)&roamer->cool);
- SetMonData(mon, MON_DATA_BEAUTY, (u8 *)&roamer->beauty);
- SetMonData(mon, MON_DATA_CUTE, (u8 *)&roamer->cute);
- SetMonData(mon, MON_DATA_SMART, (u8 *)&roamer->smart);
- SetMonData(mon, MON_DATA_TOUGH, (u8 *)&roamer->tough);
+ SetMonData(mon, MON_DATA_STATUS, &roamer->status);
+ SetMonData(mon, MON_DATA_HP, &roamer->hp);
+ SetMonData(mon, MON_DATA_COOL, &roamer->cool);
+ SetMonData(mon, MON_DATA_BEAUTY, &roamer->beauty);
+ SetMonData(mon, MON_DATA_CUTE, &roamer->cute);
+ SetMonData(mon, MON_DATA_SMART, &roamer->smart);
+ SetMonData(mon, MON_DATA_TOUGH, &roamer->tough);
}
bool8 TryStartRoamerEncounter(void)
diff --git a/src/field/slot_machine.c b/src/field/slot_machine.c
index e8e4f271b..153970337 100644
--- a/src/field/slot_machine.c
+++ b/src/field/slot_machine.c
@@ -94,7 +94,7 @@ void sub_8106448(void) {
}
void sub_81064B8(void) {
- CpuCopy16(gUnknown_08E95AB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2);
+ CpuCopy16(gUnknown_08E95AB8, BG_SCREEN_ADDR(29), 20 * 32 * 2);
LoadSlotMachineWheelOverlay();
}
@@ -102,7 +102,7 @@ static void LoadSlotMachineWheelOverlay(void) {
s16 x, y, dx;
u16 *screen;
- screen = (u16 *) BG_SCREEN_ADDR(30);
+ screen = BG_SCREEN_ADDR(30);
for (x = 4; x < 18; x += 5)
{
@@ -125,7 +125,7 @@ static void LoadSlotMachineWheelOverlay(void) {
}
void sub_81065A8(s16 arg0, u16 arg1, u16 arg2, u16 arg3, u16 arg4) {
- u16 *vram = (u16 *) BG_SCREEN_ADDR(29);
+ u16 *vram = BG_SCREEN_ADDR(29);
vram[15 * 32 + arg0] = arg1;
vram[15 * 32 + 1 + arg0] = arg2;
@@ -137,9 +137,9 @@ void sub_81065DC(void) {
s16 y, x;
u16 *screen;
- CpuCopy16(gUnknown_08E95FB8, (void *) BG_SCREEN_ADDR(29), 20 * 32 * 2);
+ CpuCopy16(gUnknown_08E95FB8, BG_SCREEN_ADDR(29), 20 * 32 * 2);
- screen = (u16 *) BG_SCREEN_ADDR(30);
+ screen = BG_SCREEN_ADDR(30);
for (y = 0; y < 20; y++)
{
for (x = 0; x < 30; x++)
diff --git a/src/field/trainer_see.c b/src/field/trainer_see.c
index 5a8ebbafc..85bd7ad0b 100644
--- a/src/field/trainer_see.c
+++ b/src/field/trainer_see.c
@@ -257,7 +257,7 @@ static bool8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainer
{
u8 direction;
- FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gFieldEffectArguments[0], (u8 *)&gFieldEffectArguments[1], (u8 *)&gFieldEffectArguments[2]);
+ FieldObjectGetLocalIdAndMap(trainerObj, &gFieldEffectArguments[0], &gFieldEffectArguments[1], &gFieldEffectArguments[2]);
FieldEffectStart(FLDEFF_EXCLAMATION_MARK_ICON_1);
direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18);
FieldObjectSetSpecialAnim(trainerObj, direction);
diff --git a/src/field/use_pokeblock.c b/src/field/use_pokeblock.c
index e946a9cfc..5fbecec0d 100644
--- a/src/field/use_pokeblock.c
+++ b/src/field/use_pokeblock.c
@@ -22,10 +22,10 @@
#ifdef GERMAN
extern const u16 ConditionUpDownPalette[16];
-extern const u32 ConditionUpDownTiles[0x80];
+extern const u8 ConditionUpDownTiles[0x200];
#else
const u16 ConditionUpDownPalette[] = INCBIN_U16("graphics/misc/condition_up_down.gbapal");
-const u32 ConditionUpDownTiles[] = INCBIN_U32("graphics/misc/condition_up_down.4bpp");
+const u8 ConditionUpDownTiles[] = INCBIN_U8("graphics/misc/condition_up_down.4bpp");
#endif
static const u32 sContestStatsMonData[] = {
@@ -49,7 +49,7 @@ static const u8 *const sContextStatNames[] = {
};
static const struct SpriteSheet gSpriteSheet_ConditionUpDown = {
- (u8 *)ConditionUpDownTiles,
+ ConditionUpDownTiles,
sizeof ConditionUpDownTiles,
GFX_TAG_CONDITIONUPDOWN
};
diff --git a/src/libs/agb_flash.c b/src/libs/agb_flash.c
index 340d469a7..5b171abcb 100644
--- a/src/libs/agb_flash.c
+++ b/src/libs/agb_flash.c
@@ -9,7 +9,7 @@ static u16 sSavedIme;
u8 gFlashTimeoutFlag;
u8 (*PollFlashStatus)(u8 *);
u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData);
-u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src);
+u16 (*ProgramFlashSector)(u16 sectorNum, void *src);
const struct FlashType *gFlash;
u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data);
u16 gFlashNumRemainingBytes;
@@ -135,7 +135,7 @@ void ReadFlash_Core(u8 *src, u8 *dest, u32 size)
}
}
-void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size)
+void ReadFlash(u16 sectorNum, u32 offset, void *dest, u32 size)
{
u8 *src;
u16 i;
@@ -256,7 +256,7 @@ u32 VerifyFlashSectorNBytes(u16 sectorNum, u8 *src, u32 n)
return verifyFlashSector_Core(src, tgt, n);
}
-u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused
+u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src)
{
u8 i;
u32 result;
@@ -275,18 +275,18 @@ u32 ProgramFlashSectorAndVerify(u16 sectorNum, u8 *src) // 3rd is unused
return result; // return 0 if verified and programmed.
}
-u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n)
+u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, void *dataSrc, u32 n)
{
u8 i;
u32 result;
for (i = 0; i < 3; i++)
{
- result = ProgramFlashSector(sectorNum, src);
+ result = ProgramFlashSector(sectorNum, dataSrc);
if (result != 0)
continue;
- result = VerifyFlashSectorNBytes(sectorNum, src, n);
+ result = VerifyFlashSectorNBytes(sectorNum, dataSrc, n);
if (result == 0)
break;
}
diff --git a/src/libs/agb_flash_mx.c b/src/libs/agb_flash_mx.c
index 67348901f..b4f710f36 100644
--- a/src/libs/agb_flash_mx.c
+++ b/src/libs/agb_flash_mx.c
@@ -157,7 +157,7 @@ static u16 ProgramByte(u8 *src, u8 *dest)
return WaitForFlashWrite(1, dest, *src);
}
-u16 ProgramFlashSector_MX(u16 sectorNum, u8 *src)
+u16 ProgramFlashSector_MX(u16 sectorNum, void *src)
{
u16 result;
u8 *dest;
diff --git a/src/pokemon/pokedex_cry_screen.c b/src/pokemon/pokedex_cry_screen.c
index 92fd832fc..ad7029f59 100644
--- a/src/pokemon/pokedex_cry_screen.c
+++ b/src/pokemon/pokedex_cry_screen.c
@@ -49,7 +49,7 @@ u8 ShowPokedexCryScreen(struct CryRelatedStruct *cry, u8 arg1) {
u32 r12;
int x, y;
- vram = (void *) BG_SCREEN_ADDR(cry->unk2);
+ vram = BG_SCREEN_ADDR(cry->unk2);
r12 = (u32) (cry->unk0 << 18) >> 23;
diff --git a/src/pokemon/pokemon_1.c b/src/pokemon/pokemon_1.c
index 204baddbf..0c0d14d7a 100644
--- a/src/pokemon/pokemon_1.c
+++ b/src/pokemon/pokemon_1.c
@@ -39,17 +39,17 @@ void ZeroMonData(struct Pokemon *mon)
u32 arg;
ZeroBoxMonData(&mon->box);
arg = 0;
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&arg);
- SetMonData(mon, MON_DATA_LEVEL, (u8 *)&arg);
- SetMonData(mon, MON_DATA_HP, (u8 *)&arg);
- SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&arg);
- SetMonData(mon, MON_DATA_ATK, (u8 *)&arg);
- SetMonData(mon, MON_DATA_DEF, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPEED, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPATK, (u8 *)&arg);
- SetMonData(mon, MON_DATA_SPDEF, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_STATUS, &arg);
+ SetMonData(mon, MON_DATA_LEVEL, &arg);
+ SetMonData(mon, MON_DATA_HP, &arg);
+ SetMonData(mon, MON_DATA_MAX_HP, &arg);
+ SetMonData(mon, MON_DATA_ATK, &arg);
+ SetMonData(mon, MON_DATA_DEF, &arg);
+ SetMonData(mon, MON_DATA_SPEED, &arg);
+ SetMonData(mon, MON_DATA_SPATK, &arg);
+ SetMonData(mon, MON_DATA_SPDEF, &arg);
arg = 255;
- SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_MAIL, &arg);
}
void ZeroPlayerPartyMons(void)
@@ -74,7 +74,7 @@ void CreateMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFix
CreateBoxMon(&mon->box, species, level, fixedIV, hasFixedPersonality, fixedPersonality, otIdType, fixedOtId);
SetMonData(mon, MON_DATA_LEVEL, &level);
arg = 255;
- SetMonData(mon, MON_DATA_MAIL, (u8 *)&arg);
+ SetMonData(mon, MON_DATA_MAIL, &arg);
CalculateMonStats(mon);
}
@@ -92,7 +92,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
else
personality = Random32();
- SetBoxMonData(boxMon, MON_DATA_PERSONALITY, (u8 *)&personality);
+ SetBoxMonData(boxMon, MON_DATA_PERSONALITY, &personality);
//Determine original trainer ID
if (otIdType == 2) //Pokemon cannot be shiny
@@ -116,24 +116,24 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
| (gSaveBlock2.playerTrainerId[3] << 24);
}
- SetBoxMonData(boxMon, MON_DATA_OT_ID, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_OT_ID, &value);
checksum = CalculateBoxMonChecksum(boxMon);
- SetBoxMonData(boxMon, MON_DATA_CHECKSUM, (u8 *)&checksum);
+ SetBoxMonData(boxMon, MON_DATA_CHECKSUM, &checksum);
EncryptBoxMon(boxMon);
GetSpeciesName(speciesName, species);
SetBoxMonData(boxMon, MON_DATA_NICKNAME, speciesName);
SetBoxMonData(boxMon, MON_DATA_LANGUAGE, &gGameLanguage);
SetBoxMonData(boxMon, MON_DATA_OT_NAME, gSaveBlock2.playerName);
- SetBoxMonData(boxMon, MON_DATA_SPECIES, (u8 *)&species);
- SetBoxMonData(boxMon, MON_DATA_EXP, (u8 *)&gExperienceTables[gBaseStats[species].growthRate][level]);
+ SetBoxMonData(boxMon, MON_DATA_SPECIES, &species);
+ SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]);
SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship);
value = sav1_map_get_name();
- SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value);
SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level);
SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion);
value = 4;
- SetBoxMonData(boxMon, MON_DATA_POKEBALL, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_POKEBALL, &value);
SetBoxMonData(boxMon, MON_DATA_OT_GENDER, &gSaveBlock2.playerGender);
if (fixedIV < 32)
@@ -151,26 +151,26 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV,
value = Random();
iv = value & 0x1F;
- SetBoxMonData(boxMon, MON_DATA_HP_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_HP_IV, &iv);
iv = (value & 0x3E0) >> 5;
- SetBoxMonData(boxMon, MON_DATA_ATK_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_ATK_IV, &iv);
iv = (value & 0x7C00) >> 10;
- SetBoxMonData(boxMon, MON_DATA_DEF_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_DEF_IV, &iv);
value = Random();
iv = value & 0x1F;
- SetBoxMonData(boxMon, MON_DATA_SPEED_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPEED_IV, &iv);
iv = (value & 0x3E0) >> 5;
- SetBoxMonData(boxMon, MON_DATA_SPATK_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPATK_IV, &iv);
iv = (value & 0x7C00) >> 10;
- SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, (u8 *)&iv);
+ SetBoxMonData(boxMon, MON_DATA_SPDEF_IV, &iv);
}
if (gBaseStats[species].ability2)
{
value = personality & 1;
- SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, (u8 *)&value);
+ SetBoxMonData(boxMon, MON_DATA_ALT_ABILITY, &value);
}
GiveBoxMonInitialMoveset(boxMon);
@@ -237,7 +237,7 @@ void CreateMaleMon(struct Pokemon *mon, u16 species, u8 level)
void CreateMonWithIVsPersonality(struct Pokemon *mon, u16 species, u8 level, u32 ivs, u32 personality)
{
CreateMon(mon, species, level, 0, 1, personality, 0, 0);
- SetMonData(mon, MON_DATA_IVS, (u8 *)&ivs);
+ SetMonData(mon, MON_DATA_IVS, &ivs);
CalculateMonStats(mon);
}
@@ -278,7 +278,7 @@ void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedI
for (i = 0; i < 6; i++)
{
if (evSpread & temp)
- SetMonData(mon, MON_DATA_HP_EV + i, (u8 *)&evAmount);
+ SetMonData(mon, MON_DATA_HP_EV + i, &evAmount);
temp <<= 1;
}
@@ -297,8 +297,8 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
for (i = 0; i < 4; i++)
SetMonMoveSlot(mon, src->moves[i], i);
- SetMonData(mon, MON_DATA_PP_BONUSES, (u8 *)&src->ppBonuses);
- SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&src->heldItem);
+ SetMonData(mon, MON_DATA_PP_BONUSES, &src->ppBonuses);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &src->heldItem);
StringCopy(nickname, src->nickname);
@@ -310,13 +310,13 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src)
SetMonData(mon, MON_DATA_LANGUAGE, &language);
StripExtCtrlCodes(nickname);
SetMonData(mon, MON_DATA_NICKNAME, nickname);
- SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&src->friendship);
- SetMonData(mon, MON_DATA_HP_EV, (u8 *)&src->hpEV);
- SetMonData(mon, MON_DATA_ATK_EV, (u8 *)&src->attackEV);
- SetMonData(mon, MON_DATA_DEF_EV, (u8 *)&src->defenseEV);
- SetMonData(mon, MON_DATA_SPEED_EV, (u8 *)&src->speedEV);
- SetMonData(mon, MON_DATA_SPATK_EV, (u8 *)&src->spAttackEV);
- SetMonData(mon, MON_DATA_SPDEF_EV, (u8 *)&src->spDefenseEV);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &src->friendship);
+ SetMonData(mon, MON_DATA_HP_EV, &src->hpEV);
+ SetMonData(mon, MON_DATA_ATK_EV, &src->attackEV);
+ SetMonData(mon, MON_DATA_DEF_EV, &src->defenseEV);
+ SetMonData(mon, MON_DATA_SPEED_EV, &src->speedEV);
+ SetMonData(mon, MON_DATA_SPATK_EV, &src->spAttackEV);
+ SetMonData(mon, MON_DATA_SPDEF_EV, &src->spDefenseEV);
value = src->altAbility;
SetMonData(mon, MON_DATA_ALT_ABILITY, &value);
value = src->hpIV;
@@ -401,7 +401,7 @@ u16 CalculateBoxMonChecksum(struct BoxPokemon *boxMon)
s32 n = (((2 * baseStat + iv + ev / 4) * level) / 100) + 5; \
u8 nature = GetNature(mon); \
n = nature_stat_mod(nature, n, statIndex); \
- SetMonData(mon, field, (u8 *)&n); \
+ SetMonData(mon, field, &n); \
}
void CalculateMonStats(struct Pokemon *mon)
@@ -424,7 +424,7 @@ void CalculateMonStats(struct Pokemon *mon)
s32 level = GetLevelFromMonExp(mon);
s32 newMaxHP;
- SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level);
+ SetMonData(mon, MON_DATA_LEVEL, &level);
if (species == SPECIES_SHEDINJA)
{
@@ -440,7 +440,7 @@ void CalculateMonStats(struct Pokemon *mon)
if (unk_2000000[0x160FA] == 0)
unk_2000000[0x160FA] = 1;
- SetMonData(mon, MON_DATA_MAX_HP, (u8 *)&newMaxHP);
+ SetMonData(mon, MON_DATA_MAX_HP, &newMaxHP);
CALC_STAT(baseAttack, attackIV, attackEV, 1, MON_DATA_ATK)
CALC_STAT(baseDefense, defenseIV, defenseEV, 2, MON_DATA_DEF)
@@ -465,18 +465,18 @@ void CalculateMonStats(struct Pokemon *mon)
return;
}
- SetMonData(mon, MON_DATA_HP, (u8 *)&currentHP);
+ SetMonData(mon, MON_DATA_HP, &currentHP);
}
void sub_803B4B4(const struct BoxPokemon *src, struct Pokemon *dest)
{
u32 value = 0;
dest->box = *src;
- SetMonData(dest, MON_DATA_STATUS, (u8 *)&value);
- SetMonData(dest, MON_DATA_HP, (u8 *)&value);
- SetMonData(dest, MON_DATA_MAX_HP, (u8 *)&value);
+ SetMonData(dest, MON_DATA_STATUS, &value);
+ SetMonData(dest, MON_DATA_HP, &value);
+ SetMonData(dest, MON_DATA_MAX_HP, &value);
value = 255;
- SetMonData(dest, MON_DATA_MAIL, (u8 *)&value);
+ SetMonData(dest, MON_DATA_MAIL, &value);
CalculateMonStats(dest);
}
@@ -517,7 +517,7 @@ u16 GiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
u16 existingMove = GetBoxMonData(boxMon, MON_DATA_MOVE1 + i, NULL);
if (!existingMove)
{
- SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&move);
+ SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &move);
SetBoxMonData(boxMon, MON_DATA_PP1 + i, &gBattleMoves[move].pp);
return move;
}
@@ -546,7 +546,7 @@ u16 GiveMoveToBattleMon(struct BattlePokemon *mon, u16 move)
void SetMonMoveSlot(struct Pokemon *mon, u16 move, u8 slot)
{
- SetMonData(mon, MON_DATA_MOVE1 + slot, (u8 *)&move);
+ SetMonData(mon, MON_DATA_MOVE1 + slot, &move);
SetMonData(mon, MON_DATA_PP1 + slot, &gBattleMoves[move].pp);
}
@@ -636,7 +636,7 @@ void DeleteFirstMoveAndGiveMoveToMon(struct Pokemon *mon, u16 move)
for (i = 0; i < 4; i++)
{
- SetMonData(mon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]);
+ SetMonData(mon, MON_DATA_MOVE1 + i, &moves[i]);
SetMonData(mon, MON_DATA_PP1 + i, &pp[i]);
}
@@ -663,7 +663,7 @@ void DeleteFirstMoveAndGiveMoveToBoxMon(struct BoxPokemon *boxMon, u16 move)
for (i = 0; i < 4; i++)
{
- SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, (u8 *)&moves[i]);
+ SetBoxMonData(boxMon, MON_DATA_MOVE1 + i, &moves[i]);
SetBoxMonData(boxMon, MON_DATA_PP1 + i, &pp[i]);
}
diff --git a/src/pokemon/pokemon_2.c b/src/pokemon/pokemon_2.c
index 447d95768..d3bdf3a13 100644
--- a/src/pokemon/pokemon_2.c
+++ b/src/pokemon/pokemon_2.c
@@ -1077,6 +1077,7 @@ void CreateSecretBaseEnemyParty(struct SecretBaseRecord *secretBaseRecord)
2,
0);
+ // these two SetMonData calls require the (u8 *) cast since SetMonData is declared in this function.
SetMonData(&gEnemyParty[i], MON_DATA_HELD_ITEM, (u8 *)&gSecretBaseRecord.partyHeldItems[i]);
for (j = 0; j < 6; j++)
diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c
index f3d0bee03..9c2cb4730 100644
--- a/src/pokemon/pokemon_3.c
+++ b/src/pokemon/pokemon_3.c
@@ -68,7 +68,7 @@ bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 bat
if (status & healMask)
{
status &= ~healMask;
- SetMonData(mon, MON_DATA_STATUS, (u8 *)&status);
+ SetMonData(mon, MON_DATA_STATUS, &status);
if (gMain.inBattle && battleId != 4)
gBattleMons[battleId].status1 &= ~healMask;
return FALSE;
@@ -203,7 +203,7 @@ void sub_803F324(int stat)
u8 *sub_803F378(u16 itemId)
{
int i;
- u8 *itemEffect;
+ const u8 *itemEffect;
if (itemId == ITEM_ENIGMA_BERRY)
{
@@ -218,7 +218,7 @@ u8 *sub_803F378(u16 itemId)
}
else
{
- itemEffect = (u8 *) gItemEffectTable[itemId - 13];
+ itemEffect = gItemEffectTable[itemId - 13];
}
gStringBank = gBankInMenu;
@@ -355,7 +355,7 @@ u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem)
if (gEvolutionTable[species].evolutions[i].param == heldItem)
{
heldItem = 0;
- SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem);
+ SetMonData(mon, MON_DATA_HELD_ITEM, &heldItem);
targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies;
}
break;
@@ -695,7 +695,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event)
friendship = 0;
if (friendship > 255)
friendship = 255;
- SetMonData(mon, MON_DATA_FRIENDSHIP, (u8 *)&friendship);
+ SetMonData(mon, MON_DATA_FRIENDSHIP, &friendship);
}
}
}
@@ -1299,16 +1299,16 @@ void SetWildMonHeldItem(void)
u16 species = GetMonData(&gEnemyParty[0], MON_DATA_SPECIES, 0);
if (gBaseStats[species].item1 == gBaseStats[species].item2)
{
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1);
return;
}
if (rnd > 44)
{
if (rnd <= 94)
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item1);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item1);
else
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&gBaseStats[species].item2);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &gBaseStats[species].item2);
}
}
}
diff --git a/src/pokemon/pokemon_icon.c b/src/pokemon/pokemon_icon.c
index 9bb3386e1..e83f912ec 100644
--- a/src/pokemon/pokemon_icon.c
+++ b/src/pokemon/pokemon_icon.c
@@ -1215,8 +1215,11 @@ u8 UpdateMonIconFrame(struct Sprite *sprite)
break;
default:
RequestSpriteCopy(
- (u8 *)sprite->images + sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame,
- (u8 *)OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
+ // pointer arithmetic is needed to get the correct pointer to perform the sprite copy on.
+ // because sprite->images is a struct def, it has to be casted to (u8 *) before any
+ // arithmetic can be performed.
+ (u8 *)sprite->images + (sSpriteImageSizes[sprite->oam.shape][sprite->oam.size] * frame),
+ OBJ_VRAM0 + sprite->oam.tileNum * TILE_SIZE_4BPP,
sSpriteImageSizes[sprite->oam.shape][sprite->oam.size]);
{
register u8 duration asm("r0") = sprite->anims[sprite->animNum][sprite->animCmdIndex].frame.duration;
diff --git a/src/rom3.c b/src/rom3.c
index 3f4860ecc..75dfdf2a2 100644
--- a/src/rom3.c
+++ b/src/rom3.c
@@ -92,7 +92,7 @@ void setup_poochyena_battle(void)
ZeroEnemyPartyMons();
CreateMon(&gEnemyParty[0], SPECIES_POOCHYENA, 2, 32, 0, 0, 0, 0);
i = ITEM_NONE;
- SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, (u8 *)&i);
+ SetMonData(&gEnemyParty[0], MON_DATA_HELD_ITEM, &i);
}
gUnknown_020239FC = 0;
gUnknown_02024C78 = 0;
@@ -489,7 +489,7 @@ void sub_800C35C(void)
u8 i; //r4
s32 j; //r2
u16 r6; //r6
- u8 *recvBuffer; //r3
+ u16 *recvBuffer; //r3
u8 *dest; //r5
u8 *src; //r4
@@ -500,10 +500,10 @@ void sub_800C35C(void)
if (GetBlockReceivedStatus() & gBitTable[i])
{
ResetBlockReceivedFlag(i);
- recvBuffer = (u8 *)&gBlockRecvBuffer[i];
+ recvBuffer = gBlockRecvBuffer[i];
#ifndef NONMATCHING
asm("");
- recvBuffer = (u8 *)&gBlockRecvBuffer[i];
+ recvBuffer = gBlockRecvBuffer[i];
#endif
r6 = gBlockRecvBuffer[i][2];
if (gTasks[gUnknown_020238C5].data[14] + 9 + r6 > 0x1000)
@@ -513,7 +513,7 @@ void sub_800C35C(void)
}
//_0800C402
dest = EWRAM_15000 + gTasks[gUnknown_020238C5].data[14];
- src = recvBuffer;
+ src = (u8 *)recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
gTasks[gUnknown_020238C5].data[14] = gTasks[gUnknown_020238C5].data[14] + r6 + 8;
@@ -1097,7 +1097,7 @@ void EmitTrainerBallThrow(u8 a)
PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 4);
}
-void Emitcmd48(u8 a, u8 *b, u8 c)
+void EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c)
{
int i;
@@ -1106,7 +1106,7 @@ void Emitcmd48(u8 a, u8 *b, u8 c)
gBattleBuffersTransferData[2] = (c & 0x80) >> 7;
gBattleBuffersTransferData[3] = 48;
for (i = 0; i < 48; i++)
- gBattleBuffersTransferData[4 + i] = b[i];
+ gBattleBuffersTransferData[4 + i] = *(i + (u8*)(hpAndStatus));
PrepareBufferDataTransfer(a, gBattleBuffersTransferData, 52);
}
diff --git a/src/rom_8077ABC.c b/src/rom_8077ABC.c
index ef9eb36a8..285c992ca 100644
--- a/src/rom_8077ABC.c
+++ b/src/rom_8077ABC.c
@@ -187,7 +187,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) {
u16 species;
struct TransformStatus *transform;
- if (IsContest()) {
+ if (NotInBattle()) {
if (a2 == 3 && slot == 3) {
a2 = 1;
}
@@ -203,7 +203,7 @@ u8 sub_8077ABC(u8 slot, u8 a2) {
case 3:
case 4:
default:
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
} else {
@@ -243,9 +243,9 @@ u8 sub_8077BFC(u8 slot, u16 species) {
u8 ret;
u16 var;
- if (!GetBankSide(slot) || IsContest()) {
+ if (!GetBankSide(slot) || NotInBattle()) {
if (species == SPECIES_UNOWN) {
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
personality = unk_2019348.field_10;
} else {
@@ -302,7 +302,7 @@ u8 sub_8077BFC(u8 slot, u16 species) {
u8 sub_8077DD8(u8 slot, u16 species) {
u8 ret = 0;
if (GetBankSide(slot) == 1) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
if (species == SPECIES_CASTFORM) {
ret = gCastformElevations[gBattleMonForms[slot]];
} else if (species > NUM_SPECIES) {
@@ -318,7 +318,7 @@ u8 sub_8077DD8(u8 slot, u16 species) {
u8 sub_8077E44(u8 slot, u16 species, u8 a3) {
u16 offset;
u8 y;
- if (GetBankSide(slot) == 0 || IsContest()) {
+ if (GetBankSide(slot) == 0 || NotInBattle()) {
offset = sub_8077BFC(slot, species);
} else {
offset = sub_8077BFC(slot, species);
@@ -338,7 +338,7 @@ u8 sub_8077EE4(u8 slot, u8 a2) {
u16 species;
struct TransformStatus *transform;
if (a2 == 3 || a2 == 4) {
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
} else {
@@ -381,7 +381,7 @@ u8 sub_8077FC0(u8 slot) {
u8 r6;
struct TransformStatus *transform;
r6 = sub_8077ABC(slot, 1);
- if (!IsContest()) {
+ if (!NotInBattle()) {
if (GetBankSide(slot)) {
transform = &gTransformStatuses[slot];
if (!transform->species) {
@@ -752,7 +752,7 @@ u8 GetBankByPlayerAI(u8 slot) {
}
bool8 AnimBankSpriteExists(u8 slot) {
- if (IsContest()) {
+ if (NotInBattle()) {
if (gBattleAnimBankAttacker == slot) {
return TRUE;
}
@@ -782,7 +782,7 @@ bool8 IsDoubleBattle() {
}
void sub_8078914(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
+ if (NotInBattle()) {
unk->field_0 = (u8 *)0x6008000;
unk->field_4 = (u8 *)0x600f000;
unk->field_8 = 0xe;
@@ -794,7 +794,7 @@ void sub_8078914(struct Struct_sub_8078914 *unk) {
}
void sub_8078954(struct Struct_sub_8078914 *unk) {
- if (IsContest()) {
+ if (NotInBattle()) {
unk->field_0 = (u8 *)0x6008000;
unk->field_4 = (u8 *)0x600f000;
unk->field_8 = 0xe;
@@ -810,7 +810,7 @@ void sub_8078954(struct Struct_sub_8078914 *unk) {
}
u8 sub_80789BC() {
- if (IsContest()) {
+ if (NotInBattle()) {
return 1;
}
return 2;
@@ -820,7 +820,7 @@ void sub_80789D4(bool8 a1) {
if (!a1) {
BG3CNT.size = 0;
BG3CNT.overflow = 1;
- } else if (IsContest()) {
+ } else if (NotInBattle()) {
BG3CNT.size = 0;
BG3CNT.overflow = 1;
} else {
@@ -1025,7 +1025,7 @@ void obj_id_set_rotscale(u8 sprite, s16 xScale, s16 yScale, u16 rotation) {
}
bool8 sub_8078E38() {
- if (IsContest()) {
+ if (NotInBattle()) {
if (gSprites[GetAnimBankSpriteId(0)].data2 == 0xc9 /* XXX SPECIES_UNOWN? */) {
return FALSE;
}
@@ -1037,12 +1037,12 @@ bool8 sub_8078E38() {
void sub_8078E70(u8 sprite, u8 a2) {
struct Struct_2017810 *unk;
u8 r7 = gSprites[sprite].data0;
- if (IsContest() || IsAnimBankSpriteVisible(r7)) {
+ if (NotInBattle() || IsAnimBankSpriteVisible(r7)) {
gSprites[sprite].invisible = FALSE;
}
gSprites[sprite].oam.objMode = a2;
gSprites[sprite].affineAnimPaused = TRUE;
- if (!IsContest() && !gSprites[sprite].oam.affineMode) {
+ if (!NotInBattle() && !gSprites[sprite].oam.affineMode) {
unk = &unk_2017810[r7];
gSprites[sprite].oam.matrixNum = unk->field_6;
}
@@ -1135,7 +1135,7 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
u32 var = 0;
u32 shift;
if (a1) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var = 0xe;
} else {
var = 1 << sub_80789BC();
@@ -1162,14 +1162,14 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
}
}
if (a6) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var |= 0x100;
} else {
var |= 0x4000;
}
}
if (a7) {
- if (!IsContest()) {
+ if (!NotInBattle()) {
var |= 0x200;
}
}
@@ -1179,7 +1179,7 @@ u32 sub_80791A8(u8 a1, u8 a2, u8 a3, u8 a4, u8 a5, u8 a6, u8 a7) {
u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4) {
u32 var = 0;
u32 shift;
- if (IsContest()) {
+ if (NotInBattle()) {
if (a1) {
var |= 1 << 18;
return var;
@@ -1540,7 +1540,7 @@ u16 sub_8079B10(u8 sprite) {
u16 i;
for (i = 0; i < (sizeof(gBattleMonSprites) / sizeof(u8)); i++) {
if (gBattleMonSprites[i] == sprite) {
- if (IsContest()) {
+ if (NotInBattle()) {
species = unk_2019348.field_0;
return gMonBackPicCoords[species].y_offset;
} else {
@@ -1653,7 +1653,7 @@ void sub_8079E24() {
u8 sub_8079E90(u8 slot) {
u8 status;
u8 ret;
- if (IsContest()) {
+ if (NotInBattle()) {
if (slot == 2) {
return 30;
} else {
@@ -1676,7 +1676,7 @@ u8 sub_8079E90(u8 slot) {
u8 sub_8079ED4(u8 slot) {
u8 status = GetBankIdentity(slot);
- if (IsContest()) {
+ if (NotInBattle()) {
return 2;
}
if (status == 0 || status == 3) {
@@ -1688,7 +1688,7 @@ u8 sub_8079ED4(u8 slot) {
u8 GetBankIdentity_permutated(u8 slot) {
u8 status;
- if (!IsContest()) {
+ if (!NotInBattle()) {
status = GetBankIdentity(slot);
if (status == 0 || status == 3) {
return 2;
@@ -1744,7 +1744,7 @@ u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7,
} else {
sprite = CreateSprite(&gSpriteTemplate_837F5B0[a3], a4, a5 + gMonBackPicCoords[species].y_offset, a6);
}
- if (IsContest()) {
+ if (NotInBattle()) {
gSprites[sprite].affineAnims = &gSpriteAffineAnimTable_81E7C18;
StartSpriteAffineAnim(&gSprites[sprite], 0);
}
@@ -1763,7 +1763,7 @@ int sub_807A100(u8 slot, u8 a2) {
int ret;
const struct MonCoords *coords;
struct TransformStatus *transform;
- if (IsContest()) {
+ if (NotInBattle()) {
if (unk_2019348.field_4 & 1) {
species = unk_2019348.field_2;
personality = unk_2019348.field_10;
@@ -1870,7 +1870,7 @@ void sub_807A3FC(u8 slot, u8 a2, s16 *a3, s16 *a4) {
}
v3 = sub_8077ABC(slot, v1);
v4 = sub_8077ABC(slot, v2);
- if (IsDoubleBattle() && !IsContest()) {
+ if (IsDoubleBattle() && !NotInBattle()) {
v5 = sub_8077ABC(slot ^ 2, v1);
v6 = sub_8077ABC(slot ^ 2, v2);
} else {