ref: f030315b1fd797aa6765ac8cd8c35c0cd9b600a0
parent: 2bd45ca574aab251b91c24837b102c9c2a5e76a0
author: PikalaxALT <PikalaxALT@gmail.com>
date: Sat Dec 26 16:59:03 EST 2015
jumptable macro repurposed
--- a/battle/anim_objects.asm
+++ b/battle/anim_objects.asm
@@ -3,7 +3,7 @@
INCLUDE "battle/objects/engine.asm"
INCLUDE "battle/objects/data.asm"
INCLUDE "battle/objects/functions.asm"
-INCLUDE "battle/objects/library.asm"
+INCLUDE "battle/objects/helpers.asm"
INCLUDE "battle/objects/framesets.asm"
INCLUDE "battle/objects/oam.asm"
INCLUDE "battle/objects/gfx_headers.asm"
--- a/battle/bg_effects.asm
+++ b/battle/bg_effects.asm
@@ -70,9 +70,8 @@
ld e, [hl]
ld d, 0
ld hl, BattleBGEffects
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -227,55 +226,63 @@
ret
BattleBGEffect_WhiteHues: ; c812d (32:412d)
- ld de, Unknown_c813d
- call Functionc8d57
- jr c, .asm_c8139
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
ld [wBGP], a
ret
-.asm_c8139
+.quit
call EndBattleBGEffect
ret
-; c813d (32:413d)
-
-Unknown_c813d:
- db $e4, $e0, $d0, $ff
+.Pals
+ db %11100100
+ db %11100000
+ db %11010000
+ db -1
; c8141
BattleBGEffect_BlackHues: ; c8141 (32:4141)
- ld de, Unknown_c8151
- call Functionc8d57
- jr c, .asm_c814d
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
ld [wBGP], a
ret
-.asm_c814d
+.quit
call EndBattleBGEffect
ret
-; c8151 (32:4151)
-
-Unknown_c8151:
- db $e4, $f4, $f8, $ff
+.Pals
+ db %11100100
+ db %11110100
+ db %11111000
+ db -1
; c8155
BattleBGEffect_AlternateHues: ; c8155 (32:4155)
- ld de, Unknown_c8168
- call Functionc8d57
- jr c, .asm_c8164
+ ld de, .Pals
+ call BattleBGEffect_GetNthDMGPal
+ jr c, .quit
ld [wBGP], a
ld [wOBP1], a
ret
-.asm_c8164
+.quit
call EndBattleBGEffect
ret
-; c8168 (32:4168)
-
-Unknown_c8168:
- db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe
+.Pals
+ db %11100100
+ db %11111000
+ db %11111100
+ db %11111000
+ db %11100100
+ db %10010000
+ db %01000000
+ db %10010000
+ db -2
; c8171
BattleBGEffect_06: ; c8171 (32:4171)
@@ -287,14 +294,19 @@
.sgb
ld de, .PalsSGB
.okay
- call Functionc8d57
+ call BattleBGEffect_GetNthDMGPal
ld [wOBP0], a
ret
.PalsCGB
- db $e4, $90, $fe
+ db %11100100
+ db %10010000
+ db -2
+
.PalsSGB
- db $f0, $c0, $fe
+ db %11110000
+ db %11000000
+ db -2
; c818b
BattleBGEffect_07: ; c818b (32:418b)
@@ -306,29 +318,37 @@
.sgb
ld de, .PalsSGB
.okay
- call Functionc8d57
+ call BattleBGEffect_GetNthDMGPal
ld [wOBP0], a
ret
.PalsCGB
- db $e4, $d8, $fe
+ db %11100100
+ db %11011000
+ db -2
+
.PalsSGB
- db $f0, $cc, $fe
+ db %11110000
+ db %11001100
+ db -2
; c81a5
BattleBGEffect_08: ; c81a5 (32:41a5)
ld de, .Pals
- call Functionc8d57
+ call BattleBGEffect_GetNthDMGPal
ld [wBGP], a
ret
.Pals
- db $1b, $63, $87, $fe
+ db %00011011
+ db %01100011
+ db %10000111
+ db -2
; c81b3
BattleBGEffect_HideMon: ; c81b3 (32:41b3)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw BattleBGEffects_IncrementJumptable
dw BattleBGEffects_IncrementJumptable
@@ -395,7 +415,7 @@
BattleBGEffect_FeetFollow: ; c8214 (32:4214)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw BattleBGEffects_IncrementJumptable
@@ -417,13 +437,13 @@
push bc
call BGEffect_CheckBattleTurn
jr nz, .player_turn
- ld a, ANIM_OBJ_B8
+ ld a, ANIM_OBJ_PLAYERFEETFOLLOW
ld [wBattleAnimTemp0], a
ld a, 16 * 8 + 4
jr .okay
.player_turn
- ld a, ANIM_OBJ_B9
+ ld a, ANIM_OBJ_ENEMYFEETFOLLOW
ld [wBattleAnimTemp0], a
ld a, 6 * 8
.okay
@@ -463,7 +483,7 @@
BattleBGEffect_HeadFollow: ; c8281 (32:4281)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw BattleBGEffects_IncrementJumptable
@@ -535,7 +555,7 @@
BattleBGEffect_27: ; c82f5 (32:42f5)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw BattleBGEffects_IncrementJumptable
@@ -700,7 +720,7 @@
BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw BattleBGEffects_IncrementJumptable
dw BattleBGEffects_IncrementJumptable
@@ -769,9 +789,8 @@
ld e, [hl]
ld d, 0
ld hl, .Coords
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -811,9 +830,8 @@
ld e, [hl]
ld d, 0
ld hl, .Coords
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -903,7 +921,7 @@
BattleBGEffect_Surf: ; c8545 (32:4545)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -915,7 +933,7 @@
call InitSurfWaves
.one
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
and a
ret z
push bc
@@ -945,7 +963,7 @@
ld hl, wSurfWaveBGEffect
ld bc, $0
.loop2
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
cp e
jr nc, .load_zero
push hl
@@ -970,7 +988,7 @@
BattleBGEffect_Whirlpool: ; c8599 (32:4599)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -980,11 +998,11 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $5e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
lb de, 2, 2
call Functionc8f2e
ret
@@ -1000,7 +1018,7 @@
BattleBGEffect_30: ; c85c2 (32:45c2)
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
call EndBattleBGEffect
ret
@@ -1028,9 +1046,8 @@
ld a, [hl]
cp $20
jr nc, .done
-rept 2
inc [hl]
-endr
+ inc [hl]
call Functionc8f9a
ret
@@ -1045,7 +1062,7 @@
BattleBGEffect_Psychic: ; c8607 (32:4607)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1055,11 +1072,11 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $5f
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
lb de, 6, 5
call Functionc8f2e
ld hl, BG_EFFECT_STRUCT_03
@@ -1083,7 +1100,7 @@
BattleBGEffect_Teleport: ; c863f (32:463f)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1093,7 +1110,7 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
lb de, 6, 5
call Functionc8f2e
ret
@@ -1108,7 +1125,7 @@
BattleBGEffect_NightShade: ; c8662 (32:4662)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1118,7 +1135,7 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld e, [hl]
@@ -1136,7 +1153,7 @@
BattleBGEffect_DoubleTeam: ; c8689 (32:4689)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1149,10 +1166,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $0
@@ -1207,9 +1224,9 @@
inc a
ld d, a
ld h, LYOverridesBackup / $100
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
srl a
push af
@@ -1231,7 +1248,7 @@
BattleBGEffect_AcidArmor: ; c8709 (32:4709)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1241,7 +1258,7 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld e, [hl]
@@ -1248,7 +1265,7 @@
ld d, 2
call Functionc8f2e
ld h, $d2
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
ld l, a
ld [hl], $0
dec l
@@ -1256,7 +1273,7 @@
ret
.one
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
ld l, a
ld h, $d2
ld e, l
@@ -1266,11 +1283,11 @@
ld a, [de]
dec de
ld [hld], a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
cp l
jr nz, .loop
ld [hl], $90
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
ld l, a
ld a, [hl]
cp $1
@@ -1294,7 +1311,7 @@
BattleBGEffect_21: ; c8761 (32:4761)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1304,10 +1321,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
@@ -1343,7 +1360,7 @@
BattleBGEffect_Dig: ; c87a7 (32:47a7)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1354,10 +1371,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $2
@@ -1379,9 +1396,9 @@
ld [hl], $10
call BattleBGEffects_IncrementJumptable
.two
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
dec a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
@@ -1400,9 +1417,8 @@
call Functionc901b
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
-rept 2
inc [hl]
-endr
+ inc [hl]
ret
.three
@@ -1411,7 +1427,7 @@
BattleBGEffect_Tackle: ; c8805 (32:4805)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw Tackle_BGEffect25_2d_one
dw Tackle_BGEffect25_2d_two
@@ -1422,10 +1438,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
@@ -1446,7 +1462,7 @@
BattleBGEffect_25: ; c8837 (32:4837)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw Tackle_BGEffect25_2d_one
dw Tackle_BGEffect25_2d_two
@@ -1457,10 +1473,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ef4
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
@@ -1533,9 +1549,9 @@
jp Functionc900b
.rollout
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld d, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub d
ld d, a
ld h, LYOverridesBackup / $100
@@ -1542,7 +1558,7 @@
ld a, [hSCY]
or a
jr nz, .skip1
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
or a
jr z, .skip2
dec a
@@ -1551,7 +1567,7 @@
jr .skip2
.skip1
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
dec a
ld l, a
ld [hl], $0
@@ -1558,7 +1574,7 @@
.skip2
ld a, [hSCY]
ld l, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
sub l
jr nc, .skip3
xor a
@@ -1574,7 +1590,7 @@
BattleBGEffect_2d: ; c88e7 (32:48e7)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw BGEffect2d_2f_zero
dw Tackle_BGEffect25_2d_one
dw Tackle_BGEffect25_2d_two
@@ -1589,10 +1605,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
@@ -1609,7 +1625,7 @@
BattleBGEffect_2f: ; c8919 (32:4919)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw BGEffect2d_2f_zero
dw Tackle_BGEffect25_2d_one
dw .two
@@ -1623,7 +1639,7 @@
BattleBGEffect_26: ; c892a (32:492a)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1633,10 +1649,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
@@ -1662,7 +1678,7 @@
BattleBGEffect_2c: ; c8964 (32:4964)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1672,10 +1688,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
xor a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
@@ -1717,7 +1733,7 @@
BattleBGEffect_28: ; c89b5 (32:49b5)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1727,7 +1743,7 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
ret
.one
@@ -1760,7 +1776,7 @@
BattleBGEffect_BounceDown: ; c89ee (32:49ee)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1770,10 +1786,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $42
- call Functionc8ef4
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms2
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
@@ -1801,9 +1817,8 @@
call Functionc901b
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
-rept 2
inc [hl]
-endr
+ inc [hl]
ret
.two
@@ -1812,7 +1827,7 @@
BattleBGEffect_2a: ; c8a3a (32:4a3a)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1825,15 +1840,15 @@
ld a, $e4
call BattleBGEffects_SetLYOverrides
ld a, $47
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
- ld a, [hLCDStatCustom + 1]
+ ld [hFFC8], a
+ ld a, [hFFC7]
ld l, a
ld h, $d2
.loop
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
cp l
jr z, .done
xor a
@@ -1858,9 +1873,9 @@
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
inc a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
call BattleBGEffects_IncrementJumptable
ret
@@ -1868,7 +1883,7 @@
call .GetLYOverride
jr nc, .finish
call .SetLYOverridesBackup
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
dec a
ld l, a
ld [hl], e
@@ -1880,23 +1895,22 @@
.SetLYOverridesBackup
ld e, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
srl a
ld h, LYOverridesBackup / $100
.loop2
ld [hl], e
-rept 2
inc hl
-endr
+ inc hl
dec a
jr nz, .loop2
ret
.five
- call Functionc8f19
+ call BattleBGEffects_ResetVideoHRAM
ret
.GetLYOverride
@@ -1922,7 +1936,7 @@
BattleBGEffect_2b: ; c8acc (32:4acc)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
@@ -1931,7 +1945,7 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
+ call BattleBGEffect_SetLCDStatCustoms1
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $40
@@ -1942,7 +1956,7 @@
add hl, bc
ld a, [hl]
and a
- jr z, .asm_c8afc
+ jr z, .done
dec [hl]
srl a
srl a
@@ -1953,7 +1967,7 @@
call Functionc8f2e
ret
-.asm_c8afc
+.done
call BattleAnim_ResetLCDStatCustom
ret
@@ -1962,7 +1976,7 @@
and a
jr nz, .cgb
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -1973,11 +1987,11 @@
ld a, $e4
call BattleBGEffects_SetLYOverrides
ld a, $47
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $60
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
.one
@@ -2022,7 +2036,7 @@
ret
.two
- call Functionc8f19
+ call BattleBGEffects_ResetVideoHRAM
ld a, $e4
ld [wBGP], a
ld [wOBP1], a
@@ -2199,7 +2213,7 @@
BattleBGEffect_VibrateMon: ; c8c61 (32:4c61)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
@@ -2208,10 +2222,10 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_BATTLE_TURN
add hl, bc
ld [hl], $1
@@ -2244,7 +2258,7 @@
BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2)
call BattleBGEffects_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -2254,11 +2268,11 @@
call BattleBGEffects_IncrementJumptable
call BattleBGEffects_ClearLYOverrides
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $37
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
@@ -2376,18 +2390,17 @@
ld [hSCX], a
ret
-Functionc8d57: ; c8d57 (32:4d57)
+BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57)
ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld a, [hl]
and a
jr z, .zero
-
dec [hl]
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
- call Functionc8eb2
+ call BattleBGEffect_GetNextDMGPal
ret
.zero
@@ -2397,7 +2410,7 @@
ld hl, BG_EFFECT_STRUCT_JT_INDEX
add hl, bc
ld [hl], a
- call Functionc8eac
+ call BattleBGEffect_GetFirstDMGPal
ret
BGEffect_RapidCyclePals: ; c8d77 (32:4d77)
@@ -2421,10 +2434,10 @@
ld a, $e4
call BattleBGEffects_SetLYOverrides
ld a, $47
- call Functionc8ede
- ld a, [hLCDStatCustom + 2]
+ call BattleBGEffect_SetLCDStatCustoms1
+ ld a, [hFFC8]
inc a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
@@ -2448,7 +2461,7 @@
swap a
or [hl]
ld [hl], a
- call Functionc8eac
+ call BattleBGEffect_GetFirstDMGPal
jr c, .okay_2_dmg
call Functionc900b
ret
@@ -2460,8 +2473,8 @@
ret
.two_dmg: ; c8dc9 (32:4dc9)
- call Functionc8f19
- ld a, $e4
+ call BattleBGEffects_ResetVideoHRAM
+ ld a, %11100100
ld [rBGP], a
call EndBattleBGEffect
ret
@@ -2511,7 +2524,7 @@
swap a
or [hl]
ld [hl], a
- call Functionc8eac
+ call BattleBGEffect_GetFirstDMGPal
jr c, .okay_2_cgb
call BGEffects_LoadBGPal0_OBPal1
ret
@@ -2542,7 +2555,7 @@
swap a
or [hl]
ld [hl], a
- call Functionc8eac
+ call BattleBGEffect_GetFirstDMGPal
jr c, .okay_4_cgb
call BGEffects_LoadBGPal1_OBPal0
ret
@@ -2613,30 +2626,29 @@
ld [hCGBPalUpdate], a
ret
-Functionc8eac: ; c8eac (32:4eac)
+BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac)
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld a, [hl]
inc [hl]
-
-Functionc8eb2: ; c8eb2 (32:4eb2)
+BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2)
ld l, a
ld h, $0
add hl, de
ld a, [hl]
- cp $ff
- jr z, .asm_c8ec8
- cp $fe
- jr nz, .asm_c8ec6
+ cp -1
+ jr z, .quit
+ cp -2
+ jr nz, .repeat
ld a, [de]
ld hl, BG_EFFECT_STRUCT_03
add hl, bc
ld [hl], $0
-.asm_c8ec6
+.repeat
and a
ret
-.asm_c8ec8
+.quit
scf
ret
@@ -2657,57 +2669,57 @@
jr nz, .loop2
ret
-Functionc8ede: ; c8ede (32:4ede)
- ld [hLCDStatCustom], a
+BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede)
+ ld [hFFC6], a
call BGEffect_CheckBattleTurn
- jr nz, .asm_c8eea
- ld de, $36
+ jr nz, .player_turn
+ lb de, $00, $36
jr .okay
-.asm_c8eea
- ld de, $2f5e
+.player_turn
+ lb de, $2f, $5e
.okay
ld a, d
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
-Functionc8ef4: ; c8ef4 (32:4ef4)
- ld [hLCDStatCustom], a
+BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4)
+ ld [hFFC6], a
call BGEffect_CheckBattleTurn
- jr nz, .asm_c8f00
- ld de, $36
- jr .asm_c8f03
+ jr nz, .player_turn
+ lb de, $00, $36
+ jr .okay
-.asm_c8f00
- ld de, $2d5e
-.asm_c8f03
+.player_turn
+ lb de, $2d, $5e
+.okay
ld a, d
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a)
xor a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC7], a
+ ld [hFFC8], a
call BattleBGEffects_ClearLYOverrides
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call EndBattleBGEffect
ret
-Functionc8f19: ; c8f19 (32:4f19)
+BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19)
xor a
- ld [hLCDStatCustom], a
- ld a, $e4
+ ld [hFFC6], a
+ ld a, %11100100
ld [rBGP], a
ld [wBGP], a
ld [wOBP1], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC7], a
+ ld [hFFC8], a
call BattleBGEffects_ClearLYOverrides
ret
@@ -2723,10 +2735,10 @@
ld [wBattleAnimTemp3], a
ld bc, LYOverridesBackup
.loop
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
cp c
jr nc, .next
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
cp c
jr c, .next
ld a, [wBattleAnimTemp2]
@@ -2800,7 +2812,7 @@
call BattleBGEffects_Sine
ld e, a
pop hl
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
cp c
jr c, .skip1
ld a, e
@@ -2807,7 +2819,7 @@
ld [bc], a
inc bc
.skip1
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
cp l
jr nc, .skip2
ld [hl], e
@@ -2825,7 +2837,7 @@
ret
.GetLYOverrideBackupAddrOffset
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld e, a
ld a, [wBattleAnimTemp0]
add e
@@ -2835,13 +2847,13 @@
BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef)
push bc
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
inc a
ld e, a
ld h, $d2
ld d, h
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
and a
jr z, .done
@@ -2863,9 +2875,9 @@
Functionc900b: ; c900b (32:500b)
push af
ld h, $d2
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
ld d, a
pop af
@@ -2878,14 +2890,14 @@
Functionc901b: ; c901b (32:501b)
push af
ld e, a
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
- ld a, [hLCDStatCustom + 2]
+ ld a, [hFFC8]
sub l
sub e
ld d, a
ld h, $d2
- ld a, [hLCDStatCustom + 1]
+ ld a, [hFFC7]
ld l, a
ld a, $90
.asm_c902c
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -1849,9 +1849,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2575,9 +2574,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2615,9 +2613,8 @@
rl [hl]
ret nc
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ret
; 3d0ab
@@ -4747,9 +4744,8 @@
ld a, [hli]
cp $ff
jr z, .finish
-rept 2
inc hl
-endr
+ inc hl
cp b
jr nz, .loop
pop bc
@@ -4756,9 +4752,8 @@
ld a, [bc]
ld [wd265], a
push bc
-rept 2
dec hl
-endr
+ dec hl
ld a, [hli]
ld h, [hl]
ld l, a
@@ -5822,9 +5817,8 @@
ld a, [wMenuCursorY]
ld b, a
ld a, [wNumMoves]
-rept 2
inc a
-endr
+ inc a
cp b
jp nz, .menu_loop
ld a, $1
@@ -6008,9 +6002,8 @@
lb bc, 1, 2
call PrintNum
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld [hl], "/"
inc hl
ld de, wNamedObjectIndexBuffer
@@ -6818,9 +6811,8 @@
.next
; Make sure we haven't gone past the end of the table
-rept 2
inc e
-endr
+ inc e
ld a, e
cp a, .Set1 - .LetterSets
jr c, .loop
@@ -7176,9 +7168,8 @@
; Swap badges 3 (PlainBadge) and 5 (MineralBadge).
ld d, a
and (1 << PLAINBADGE)
-rept 2
add a
-endr
+ add a
ld b, a
ld a, d
and (1 << MINERALBADGE)
@@ -7197,9 +7188,8 @@
ld a, b
srl b
call c, BoostStat
-rept 2
inc hl
-endr
+ inc hl
; Check every other badge.
srl b
dec c
@@ -7328,9 +7318,8 @@
; a * 5 + 1
ld c, a
-rept 2
add a
-endr
+ add a
add c
inc a
@@ -7467,9 +7456,8 @@
ld [de], a
.skip
-rept 2
inc de
-endr
+ inc de
dec c
jr nz, .loop1
xor a
@@ -7544,9 +7532,8 @@
inc [hl]
jr nz, .skip2
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.skip2
@@ -7881,9 +7868,8 @@
inc [hl]
jr nz, .asm_3f186
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.asm_3f186
@@ -8800,9 +8786,8 @@
rl [hl]
jr nc, .okay
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
.okay
@@ -9202,13 +9187,11 @@
ld d, 5
.loop
push hl
-rept 2
inc hl
-endr
+ inc hl
ld a, [hl]
-rept 2
dec hl
-endr
+ dec hl
and a
jr z, .copy
push de
@@ -9308,9 +9291,8 @@
ld c, $1
.loop2
ld a, b
-rept 2
add b
-endr
+ add b
ld e, a
ld d, $0
ld hl, wd002
@@ -9317,9 +9299,8 @@
add hl, de
push hl
ld a, c
-rept 2
add c
-endr
+ add c
ld e, a
ld d, $0
ld hl, wd002
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -51,9 +51,8 @@
ld c, a
ld b, 0
ld hl, MoveEffectsPointers
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, BANK(MoveEffectsPointers)
call GetFarHalfword
@@ -102,9 +101,8 @@
ld c, a
ld b, 0
ld hl, BattleCommandPointers
-rept 2
add hl, bc
-endr
+ add hl, bc
pop bc
ld a, BANK(BattleCommandPointers)
@@ -1076,9 +1074,8 @@
jp nz, EndMoveEffect
; SubStatus5
-rept 2
inc de
-endr
+ inc de
ld a, [de]
bit SUBSTATUS_TRANSFORMED, a
@@ -1276,9 +1273,8 @@
jr nc, .ScopeLens
; +2 critical level
-rept 2
inc c
-endr
+ inc c
.ScopeLens
push bc
@@ -1522,9 +1518,8 @@
pop hl
.SkipType
-rept 2
inc hl
-endr
+ inc hl
jr .TypesLoop
.end
@@ -2741,9 +2736,8 @@
ld a, [BattleScriptBufferLoc + 1]
ld h, a
ld a, $ff
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ret
@@ -3457,9 +3451,8 @@
xor a
ld hl, hDividend
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
; Level * 2
@@ -3480,9 +3473,8 @@
pop bc
; + 2
-rept 2
inc [hl]
-endr
+ inc [hl]
; * bp
inc hl
@@ -4075,9 +4067,8 @@
ld [Buffer3], a
ld a, [hl]
ld [Buffer4], a
-rept 2
dec de
-endr
+ dec de
ld a, [de]
dec de
add b
@@ -4587,9 +4578,8 @@
call GetMoveName
call BattleRandom
and 3
-rept 2
inc a
-endr
+ inc a
ld b, a
ld a, [hl]
and $3f
@@ -6380,9 +6370,8 @@
dec c
ld b, 0
ld hl, StatLevelMultipliers
-rept 2
add hl, bc
-endr
+ add hl, bc
xor a
ld [hMultiplicand + 0], a
@@ -6538,9 +6527,8 @@
ld [wEnemyMoveStruct + MOVE_EFFECT], a
call BattleRandom
and 1
-rept 2
inc a
-endr
+ inc a
ld [bc], a
ld a, 1
ld [wKickCounter], a
@@ -6579,9 +6567,8 @@
set SUBSTATUS_CONFUSED, [hl]
call BattleRandom
and %00000001
-rept 2
inc a
-endr
+ inc a
inc de ; ConfuseCount
ld [de], a
.continue_rampage
@@ -7464,9 +7451,8 @@
ld a, [hli]
cp b
jr z, .found_trap_text
-rept 2
inc hl
-endr
+ inc hl
jr .find_trap_text
.found_trap_text
@@ -7552,9 +7538,8 @@
ld [Buffer2], a
ld a, [hl]
ld [Buffer1], a
-rept 2
dec hl
-endr
+ dec hl
ld a, [hl]
ld [Buffer3], a
sub c
@@ -7651,9 +7636,8 @@
set SUBSTATUS_CONFUSED, [hl]
call BattleRandom
and 3
-rept 2
inc a
-endr
+ inc a
ld [bc], a
ld a, BATTLE_VARS_MOVE_EFFECT
@@ -7844,9 +7828,8 @@
rr b
srl a
rr b
-rept 2
dec hl
-endr
+ dec hl
ld a, b
ld [de], a
ld a, [hld]
@@ -8457,9 +8440,8 @@
ld a, [hli]
ld [de], a
inc hl
-rept 2
inc de
-endr
+ inc de
ld bc, NUM_MOVES
call CopyBytes
ld a, [hBattleTurn]
@@ -9125,9 +9107,8 @@
ld a, [hli]
cp b
jr nc, .ok
-rept 2
inc hl
-endr
+ inc hl
jr .loop
.ok
@@ -9528,16 +9509,14 @@
inc c
cp WEATHER_SUN
jr z, .Heal
-rept 2
dec c
-endr
+ dec c
.Heal
ld b, 0
ld hl, .Multipliers
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
--- a/battle/objects/data.asm
+++ b/battle/objects/data.asm
@@ -558,10 +558,10 @@
; ANIM_OBJ_COTTON
battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f
-; ANIM_OBJ_B8
+; ANIM_OBJ_PLAYERFEETFOLLOW
battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28
-; ANIM_OBJ_B9
+; ANIM_OBJ_ENEMYFEETFOLLOW
battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29
; ANIM_OBJ_BA
--- a/battle/objects/functions.asm
+++ b/battle/objects/functions.asm
@@ -96,13 +96,11 @@
BattleAnimFunction_00: ; cd06e (33:506e)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
-
.one
call DeinitBattleAnimation
-
.zero
ret
@@ -179,10 +177,9 @@
BattleAnimFunction_03: ; cd0e3 (33:50e3)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -200,7 +197,6 @@
ld a, [hl]
and $7f
ld [hl], a
-
.one
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -227,10 +223,9 @@
BattleAnimFunction_01: ; cd12a (33:512a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
-
.one
call DeinitBattleAnimation
ret
@@ -265,7 +260,7 @@
BattleAnimFunction_12: ; cd15c (33:515c)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -278,7 +273,6 @@
dw .nine
dw .ten
dw .eleven
-
.zero
call GetBallAnimFunction
call BattleAnim_IncAnonJumptableIndex
@@ -308,7 +302,6 @@
ld [hl], $0
inc hl
ld [hl], $10
-
.four
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -384,11 +377,10 @@
BattleAnimFunction_13: ; cd212 (33:5212)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
-
.zero
call GetBallAnimFunction
call BattleAnim_IncAnonJumptableIndex
@@ -448,8 +440,8 @@
add hl, bc
ld [hl], a
ret
-; cd26c (33:526c)
+; cd26c (33:526c)
.balls
db MASTER_BALL, 5
db ULTRA_BALL, 3
@@ -464,16 +456,14 @@
db LOVE_BALL, 4
db -1, 2
; cd284
-
BattleAnimFunction_10: ; cd284 (33:5284)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
dw .three
dw .four
-
.zero
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -510,10 +500,9 @@
BattleAnimFunction_07: ; cd2be (33:52be)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -558,12 +547,11 @@
BattleAnimFunction_08: ; cd306 (33:5306)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
dw .three
-
.zero
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -633,7 +621,6 @@
.finish
call BattleAnim_IncAnonJumptableIndex
-
.three
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -672,11 +659,10 @@
BattleAnimFunction_09: ; cd3ae (33:53ae)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -689,7 +675,6 @@
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
ld [hl], a
-
.one
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -722,7 +707,7 @@
BattleAnimFunction_0A: ; cd3f2 (33:53f2)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -733,7 +718,6 @@
dw .seven
dw .eight
dw .nine
-
.zero
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -800,7 +784,6 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
inc [hl]
-
.two
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
@@ -811,18 +794,16 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
inc [hl]
-
.three
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
inc [hl]
-
.six
ret
BattleAnimFunction_0B: ; cd478 (33:5478)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
@@ -832,13 +813,11 @@
dw .six
dw .seven
dw .eight
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
ld [hl], $40
-
.one
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -952,7 +931,6 @@
ld hl, BATTLEANIMSTRUCT_01
add hl, bc
res 5, [hl]
-
.four
.five
.six
@@ -1010,10 +988,9 @@
BattleAnimFunction_4E: ; cd58a (33:558a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
-
.zero
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -1073,11 +1050,10 @@
BattleAnimFunction_0C: ; cd5e9 (33:55e9)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -1103,7 +1079,6 @@
ld [hl], $0
ld a, $22
call ReinitBattleAnimFrameset
-
.two
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -1159,21 +1134,20 @@
BattleAnimFunction_0D: ; cd66a (33:566a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw .zero
dw .one
dw .two
dw .three
dw .four
-
.zero
call BattleAnim_IncAnonJumptableIndex
ld a, $42
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $58
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $5e
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
ret
.one
@@ -1187,7 +1161,7 @@
jr nc, .asm_cd69b
call BattleAnim_IncAnonJumptableIndex
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ret
.asm_cd69b
@@ -1206,7 +1180,7 @@
add [hl]
sub $10
ret c
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld hl, BATTLEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
@@ -1227,10 +1201,9 @@
cp $70
jr c, asm_cd6da
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
-
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
.four
call DeinitBattleAnimation
ret
@@ -1241,15 +1214,14 @@
ld [hl], a
sub $10
ret c
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ret
BattleAnimFunction_0E: ; cd6e3 (33:56e3)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd6ea
dw Functioncd6f7
-
Functioncd6ea: ; cd6ea (33:56ea)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -1257,7 +1229,6 @@
ld a, $24
add [hl]
call ReinitBattleAnimFrameset
-
Functioncd6f7: ; cd6f7 (33:56f7)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -1283,15 +1254,13 @@
BattleAnimFunction_0F: ; cd71a (33:571a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd725
dw Functioncd728
dw Functioncd763
dw Functioncd776
-
Functioncd725: ; cd725 (33:5725)
call BattleAnim_IncAnonJumptableIndex
-
Functioncd728: ; cd728 (33:5728)
ld hl, BATTLEANIMSTRUCT_YCOORD
add hl, bc
@@ -1326,7 +1295,6 @@
ld a, [hl]
and $1
ld [hl], a
-
Functioncd763: ; cd763 (33:5763)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -1340,7 +1308,6 @@
call BattleAnim_IncAnonJumptableIndex
ld a, $29
call ReinitBattleAnimFrameset
-
Functioncd776: ; cd776 (33:5776)
ret
@@ -1378,10 +1345,9 @@
BattleAnimFunction_14: ; cd7a4 (33:57a4)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd7ab
dw Functioncd7d2
-
Functioncd7ab: ; cd7ab (33:57ab)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -1404,7 +1370,6 @@
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
ld [hl], $1
-
Functioncd7d2: ; cd7d2 (33:57d2)
ld hl, BATTLEANIMSTRUCT_10
add hl, bc
@@ -1447,17 +1412,15 @@
BattleAnimFunction_15: ; cd80c (33:580c)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd81f
dw Functioncd817
dw Functioncd81f
dw Functioncd820
-
Functioncd817: ; cd817 (33:5817)
call BattleAnim_IncAnonJumptableIndex
ld a, $35
call ReinitBattleAnimFrameset
-
Functioncd81f: ; cd81f (33:581f)
ret
@@ -1467,7 +1430,7 @@
BattleAnimFunction_16: ; cd824 (33:5824)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd835
dw Functioncd860
dw Functioncd88f
@@ -1475,7 +1438,6 @@
dw Functioncd88f
dw Functioncd88f
dw Functioncd893
-
Functioncd835: ; cd835 (33:5835)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
@@ -1503,7 +1465,6 @@
ld a, [hl]
and $7f
ld [hl], a
-
Functioncd860: ; cd860 (33:5860)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -1535,7 +1496,6 @@
ld a, [hl]
and $1f
ret nz
-
Functioncd88f: ; cd88f (33:588f)
call BattleAnim_IncAnonJumptableIndex
ret
@@ -1548,7 +1508,7 @@
BattleAnimFunction_17: ; cd89a (33:589a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd8ab
dw Functioncd8cc
dw Functioncd8f5
@@ -1556,7 +1516,6 @@
dw Functioncd8f5
dw Functioncd8f5
dw Functioncd8f9
-
Functioncd8ab: ; cd8ab (33:58ab)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -1578,7 +1537,6 @@
ld a, [hl]
and $7f
ld [hl], a
-
Functioncd8cc: ; cd8cc (33:58cc)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -1606,7 +1564,6 @@
ld a, [hl]
and $1f
ret nz
-
Functioncd8f5: ; cd8f5 (33:58f5)
call BattleAnim_IncAnonJumptableIndex
ret
@@ -1619,10 +1576,9 @@
BattleAnimFunction_18: ; cd900 (33:5900)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd907
dw Functioncd913
-
Functioncd907: ; cd907 (33:5907)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -1630,7 +1586,6 @@
ld [hl], $28
inc hl
ld [hl], $0
-
Functioncd913: ; cd913 (33:5913)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -1677,19 +1632,17 @@
BattleAnimFunction_19: ; cd954 (33:5954)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncd961
dw Functioncd96a
dw Functioncd96e
dw Functioncd96a
dw Functioncd97b
-
Functioncd961: ; cd961 (33:5961)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
ld [hl], $0
-
Functioncd96a: ; cd96a (33:596a)
call Functioncd99a
ret
@@ -1794,12 +1747,11 @@
add hl, de
ld d, [hl]
ret
-; cda01 (33:5a01)
+; cda01 (33:5a01)
Unknown_cda01: ; cda01
db 8, 6, 5, 4, 5, 6, 8, 12, 16
; cda0a
-
BattleAnimFunction_1C: ; cda0a (33:5a0a)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -1831,11 +1783,10 @@
BattleAnimFunction_1F: ; cda31 (33:5a31)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncda4c
dw Functioncda3a
dw Functioncda4c
-
Functioncda3a: ; cda3a (33:5a3a)
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
add hl, bc
@@ -1846,18 +1797,16 @@
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
ld [hl], $8
-
Functioncda4c: ; cda4c (33:5a4c)
ret
BattleAnimFunction_20: ; cda4d (33:5a4d)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncda58
dw Functioncda62
dw Functioncda7a
dw Functioncda8c
-
Functioncda58: ; cda58 (33:5a58)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_10
@@ -1894,7 +1843,6 @@
call BattleAnim_IncAnonJumptableIndex
ld a, $58
call ReinitBattleAnimFrameset
-
Functioncda8c: ; cda8c (33:5a8c)
ret
@@ -1948,11 +1896,10 @@
BattleAnimFunction_3F: ; cdad6 (33:5ad6)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdadf
dw Functioncdae9
dw Functioncdaf9
-
Functioncdadf: ; cdadf (33:5adf)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_10
@@ -1971,7 +1918,6 @@
.asm_cdaf6
call BattleAnim_IncAnonJumptableIndex
-
Functioncdaf9: ; cdaf9 (33:5af9)
ret
@@ -1986,13 +1932,12 @@
BattleAnimFunction_1B: ; cdb06 (33:5b06)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdb13
dw Functioncdb14
dw Functioncdb28
dw Functioncdb50
dw Functioncdb65
-
Functioncdb13: ; cdb13 (33:5b13)
ret
@@ -2048,7 +1993,6 @@
ld hl, BATTLEANIMSTRUCT_DURATION
add hl, bc
ld [hl], $80
-
Functioncdb65: ; cdb65 (33:5b65)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -2070,7 +2014,7 @@
BattleAnimFunction_1D: ; cdb80 (33:5b80)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdb9f
dw Functioncdbb3
dw Functioncdbcf
@@ -2085,7 +2029,6 @@
dw Functioncdc48
dw Functioncdc57
dw Functioncdc74
-
Functioncdb9f: ; cdb9f (33:5b9f)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -2236,7 +2179,6 @@
.asm_cdc71
call BattleAnim_IncAnonJumptableIndex
-
Functioncdc74: ; cdc74 (33:5c74)
ret
@@ -2296,10 +2238,9 @@
BattleAnimFunction_21: ; cdcc3 (33:5cc3)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdcca
dw Functioncdced
-
Functioncdcca: ; cdcca (33:5cca)
ld a, [hBattleTurn]
and a
@@ -2371,10 +2312,9 @@
BattleAnimFunction_22: ; cdd2a (33:5d2a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdd31
dw Functioncdd4f
-
Functioncdd31: ; cdd31 (33:5d31)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -2439,10 +2379,9 @@
BattleAnimFunction_23: ; cdd90 (33:5d90)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdd97
dw Functioncddbc
-
Functioncdd97: ; cdd97 (33:5d97)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
@@ -2465,7 +2404,6 @@
ld a, [hl]
and $7f
ld [hl], a
-
Functioncddbc: ; cddbc (33:5dbc)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -2509,11 +2447,10 @@
BattleAnimFunction_24: ; cddf9 (33:5df9)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncde02
dw Functioncde20
dw Functioncde21
-
Functioncde02: ; cde02 (33:5e02)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -2531,7 +2468,6 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], a
-
Functioncde20: ; cde20 (33:5e20)
ret
@@ -2538,12 +2474,11 @@
Functioncde21: ; cde21 (33:5e21)
call DeinitBattleAnimation
ret
-; cde25 (33:5e25)
+; cde25 (33:5e25)
Unknown_cde25: ; cde25
db $ec, $f8, $00
; cde28
-
BattleAnimFunction_25: ; cde28 (33:5e28)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -2591,10 +2526,9 @@
BattleAnimFunction_27: ; cde6b (33:5e6b)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncde72
dw Functioncde88
-
Functioncde72: ; cde72 (33:5e72)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -2608,16 +2542,14 @@
.asm_cde83
add $6a
call ReinitBattleAnimFrameset
-
Functioncde88: ; cde88 (33:5e88)
ret
BattleAnimFunction_28: ; cde89 (33:5e89)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncde90
dw Functioncdebf
-
Functioncde90: ; cde90 (33:5e90)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -2758,10 +2690,9 @@
BattleAnimFunction_2A: ; cdf59 (33:5f59)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functioncdf60
dw BattleAnimFunction_29
-
Functioncdf60: ; cdf60 (33:5f60)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -2879,11 +2810,10 @@
BattleAnimFunction_35: ; ce00b (33:600b)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce014
dw Functionce023
dw Functionce05f
-
Functionce014: ; ce014 (33:6014)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -2892,7 +2822,6 @@
ld hl, BATTLEANIMSTRUCT_10
add hl, bc
ld [hl], $10
-
Functionce023: ; ce023 (33:6023)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -2938,12 +2867,11 @@
BattleAnimFunction_2B: ; ce063 (33:6063)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce06e
dw Functionce083
dw Functionce091
dw Functionce09e
-
Functionce06e: ; ce06e (33:606e)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3005,11 +2933,10 @@
BattleAnimFunction_2C: ; ce0c5 (33:60c5)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce0ce
dw Functionce0f8
dw Functionce0dd
-
Functionce0ce: ; ce0ce (33:60ce)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3038,7 +2965,6 @@
ld a, [hl]
sub $4
ld [hl], a
-
Functionce0f8: ; ce0f8 (33:60f8)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -3057,10 +2983,9 @@
BattleAnimFunction_2E: ; ce10e (33:610e)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce115
dw Functionce12a
-
Functionce115: ; ce115 (33:6115)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -3073,7 +2998,6 @@
ld hl, BATTLEANIMSTRUCT_10
add hl, bc
ld [hl], a
-
Functionce12a: ; ce12a (33:612a)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -3207,10 +3131,9 @@
BattleAnimFunction_30: ; ce1e7 (33:61e7)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce1ee
dw Functionce1fb
-
Functionce1ee: ; ce1ee (33:61ee)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -3219,7 +3142,6 @@
ld hl, BATTLEANIMSTRUCT_10
add hl, bc
ld [hl], a
-
Functionce1fb: ; ce1fb (33:61fb)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3248,10 +3170,9 @@
BattleAnimFunction_31: ; ce226 (33:6226)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce22d
dw Functionce254
-
Functionce22d: ; ce22d (33:622d)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -3273,18 +3194,16 @@
ld hl, BATTLEANIMSTRUCT_10
add hl, bc
ld [hl], $f
-
Functionce254: ; ce254 (33:6254)
ret
BattleAnimFunction_32: ; ce255 (33:6255)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce260
dw Functionce274
dw Functionce278
dw Functionce289
-
Functionce260: ; ce260 (33:6260)
call BattleAnim_IncAnonJumptableIndex
ld a, [hBattleTurn]
@@ -3356,14 +3275,13 @@
and [hl]
ld [wOBP0], a
ret
-; ce2c4 (33:62c4)
+; ce2c4 (33:62c4)
Unknown_ce2c4: ; ce2c4
db $ff, $aa, $55, $aa
Unknown_ce2c8: ; ce2c8
db $ff, $ff, $00, $00
; ce2cc
-
BattleAnimFunction_33: ; ce2cc (33:62cc)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3396,11 +3314,10 @@
BattleAnimFunction_36: ; ce2fd (33:62fd)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce306
dw Functionce330
dw Functionce34c
-
Functionce306: ; ce306 (33:6306)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -3469,10 +3386,9 @@
BattleAnimFunction_37: ; ce35f (33:635f)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce366
dw Functionce375
-
Functionce366: ; ce366 (33:6366)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -3481,7 +3397,6 @@
and $7f
add $81
call ReinitBattleAnimFrameset
-
Functionce375: ; ce375 (33:6375)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3500,11 +3415,10 @@
BattleAnimFunction_38: ; ce389 (33:6389)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce392
dw Functionce39c
dw Functionce3ae
-
Functionce392: ; ce392 (33:6392)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -3525,7 +3439,6 @@
call BattleAnim_IncAnonJumptableIndex
ld a, $20
call ReinitBattleAnimFrameset
-
Functionce3ae: ; ce3ae (33:63ae)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -3584,10 +3497,9 @@
BattleAnimFunction_3B: ; ce3ff (33:63ff)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce406
dw Functionce412
-
Functionce406: ; ce406 (33:6406)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3628,11 +3540,10 @@
BattleAnimFunction_3E: ; ce43a (33:643a)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce443
dw Functionce465
dw Functionce490
-
Functionce443: ; ce443 (33:6443)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0F
@@ -3652,7 +3563,6 @@
and $f0
or $8
ld [hl], a
-
Functionce465: ; ce465 (33:6465)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -3682,7 +3592,6 @@
.asm_ce48b
ld [hl], $10
call BattleAnim_IncAnonJumptableIndex
-
Functionce490: ; ce490 (33:6490)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -3695,10 +3604,9 @@
BattleAnimFunction_40: ; ce49c (33:649c)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce4a3
dw Functionce4b0
-
Functionce4a3: ; ce4a3 (33:64a3)
call BattleAnim_IncAnonJumptableIndex
ld hl, BATTLEANIMSTRUCT_0B
@@ -3706,7 +3614,6 @@
ld a, $24
add [hl]
call ReinitBattleAnimFrameset
-
Functionce4b0: ; ce4b0 (33:64b0)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -3828,11 +3735,10 @@
BattleAnimFunction_45: ; ce55b (33:655b)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce564
dw Functionce56e
dw Functionce577
-
Functionce564: ; ce564 (33:6564)
ld d, $18
ld hl, BATTLEANIMSTRUCT_0B
@@ -3846,7 +3752,6 @@
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
ld [hl], $18
-
Functionce577: ; ce577 (33:6577)
ld hl, BATTLEANIMSTRUCT_0F
add hl, bc
@@ -3871,10 +3776,9 @@
BattleAnimFunction_46: ; ce593 (33:6593)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce5b3
dw Functionce59a
-
Functionce59a: ; ce59a (33:659a)
ld hl, BATTLEANIMSTRUCT_XCOORD
add hl, bc
@@ -3893,7 +3797,6 @@
.asm_ce5b0
call DeinitBattleAnimation
-
Functionce5b3: ; ce5b3 (33:65b3)
ret
@@ -3941,12 +3844,11 @@
BattleAnimFunction_49: ; ce5ee (33:65ee)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce5f9
dw Functionce60a
dw Functionce622
dw Functionce618
-
Functionce5f9: ; ce5f9 (33:65f9)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -3957,7 +3859,6 @@
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], $ec
-
Functionce60a: ; ce60a (33:660a)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -3976,7 +3877,6 @@
asm_ce61c: ; ce61c (33:661c)
call BattleAnim_IncAnonJumptableIndex
call BattleAnim_IncAnonJumptableIndex
-
Functionce622: ; ce622 (33:6622)
ld hl, BATTLEANIMSTRUCT_YOFFSET
add hl, bc
@@ -3990,12 +3890,11 @@
BattleAnimFunction_4A: ; ce62f (33:662f)
call BattleAnim_AnonJumptable
-.anon_jumptable
+.anon_dw
dw Functionce63a
dw Functionce648
dw Functionce65c
dw Functionce672
-
Functionce63a: ; ce63a (33:663a)
ld hl, BATTLEANIMSTRUCT_0B
add hl, bc
@@ -4234,8 +4133,8 @@
call BattleAnim_Cosine
ld e, a
ret
-; ce771 (33:6771)
+; ce771 (33:6771)
BattleAnim_AbsSinePrecise: ; ce771
ld a, e
call BattleAnim_Sine
@@ -4242,8 +4141,8 @@
ld e, l
ld d, h
ret
-; ce778
+; ce778
BattleAnim_AbsCosinePrecise: ; ce778
ld a, e
call BattleAnim_Cosine
@@ -4250,8 +4149,8 @@
ld e, l
ld d, h
ret
-; ce77f
+; ce77f
BattleAnimSineWave: ; ce77f
sine_wave $100
; ce7bf
--- /dev/null
+++ b/battle/objects/helpers.asm
@@ -1,0 +1,130 @@
+ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], 0
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], -1
+ ret
+
+GetBattleAnimFrame: ; ce7d1
+.loop
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld a, [hl]
+ and a
+ jr z, .next_frame
+ dec [hl]
+ call .GetPointer
+ ld a, [hli]
+ push af
+ jr .okay
+
+.next_frame
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ inc [hl]
+ call .GetPointer
+ ld a, [hli]
+ cp -2
+ jr z, .restart
+ cp -1
+ jr z, .repeat_last
+ push af
+ ld a, [hl]
+ push hl
+ and $3f
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ pop hl
+
+.okay
+ ld a, [hl]
+ and $c0
+ srl a
+ ld [wBattleAnimTemp7], a
+ pop af
+ ret
+
+.repeat_last
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ dec [hl]
+ dec [hl]
+ jr .loop
+
+.restart
+ xor a
+ ld hl, BATTLEANIMSTRUCT_DURATION
+ add hl, bc
+ ld [hl], a
+ dec a
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld [hl], a
+ jr .loop
+
+; ce823
+
+.GetPointer: ; ce823
+ ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
+ add hl, bc
+ ld e, [hl]
+ ld d, 0
+ ld hl, BattleAnimFrameData
+ add hl, de
+ add hl, de
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ ld hl, BATTLEANIMSTRUCT_FRAME
+ add hl, bc
+ ld l, [hl]
+ ld h, $0
+ add hl, hl
+ add hl, de
+ ret
+
+; ce83c
+
+GetBattleAnimOAMPointer: ; ce83c
+ ld l, a
+ ld h, 0
+ ld de, BattleAnimOAMData
+ add hl, hl
+ add hl, hl
+ add hl, de
+ ret
+
+; ce846
+
+LoadBattleAnimObj: ; ce846 (33:6846)
+ push hl
+ ld l, a
+ ld h, 0
+ add hl, hl
+ add hl, hl
+ ld de, AnimObjGFX
+ add hl, de
+ ld c, [hl]
+ inc hl
+ ld b, [hl]
+ inc hl
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ pop de
+ push bc
+ call DecompressRequest2bpp
+ pop bc
+ ret
+
+; ce85e (33:685e)
--- a/battle/objects/library.asm
+++ /dev/null
@@ -1,130 +1,0 @@
-ReinitBattleAnimFrameset: ; ce7bf (33:67bf)
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], 0
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], -1
- ret
-
-GetBattleAnimFrame: ; ce7d1
-.loop
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld a, [hl]
- and a
- jr z, .next_frame
- dec [hl]
- call .GetPointer
- ld a, [hli]
- push af
- jr .okay
-
-.next_frame
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- inc [hl]
- call .GetPointer
- ld a, [hli]
- cp -2
- jr z, .restart
- cp -1
- jr z, .repeat_last
- push af
- ld a, [hl]
- push hl
- and $3f
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- pop hl
-
-.okay
- ld a, [hl]
- and $c0
- srl a
- ld [wBattleAnimTemp7], a
- pop af
- ret
-
-.repeat_last
- xor a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- dec [hl]
- dec [hl]
- jr .loop
-
-.restart
- xor a
- ld hl, BATTLEANIMSTRUCT_DURATION
- add hl, bc
- ld [hl], a
- dec a
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld [hl], a
- jr .loop
-
-; ce823
-
-.GetPointer: ; ce823
- ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
- add hl, bc
- ld e, [hl]
- ld d, 0
- ld hl, BattleAnimFrameData
- add hl, de
- add hl, de
- ld e, [hl]
- inc hl
- ld d, [hl]
- ld hl, BATTLEANIMSTRUCT_FRAME
- add hl, bc
- ld l, [hl]
- ld h, $0
- add hl, hl
- add hl, de
- ret
-
-; ce83c
-
-GetBattleAnimOAMPointer: ; ce83c
- ld l, a
- ld h, 0
- ld de, BattleAnimOAMData
- add hl, hl
- add hl, hl
- add hl, de
- ret
-
-; ce846
-
-LoadBattleAnimObj: ; ce846 (33:6846)
- push hl
- ld l, a
- ld h, 0
- add hl, hl
- add hl, hl
- ld de, AnimObjGFX
- add hl, de
- ld c, [hl]
- inc hl
- ld b, [hl]
- inc hl
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop de
- push bc
- call DecompressRequest2bpp
- pop bc
- ret
-
-; ce85e (33:685e)
--- a/battle/sliding_intro.asm
+++ b/battle/sliding_intro.asm
@@ -5,10 +5,10 @@
ld [rSVBK], a
call .subfunction1
ld a, rSCX - $ff00
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call .subfunction2
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
pop af
ld [rSVBK], a
ret
--- a/constants/animation_constants.asm
+++ b/constants/animation_constants.asm
@@ -210,8 +210,8 @@
const ANIM_OBJ_B5
const ANIM_OBJ_FLOWER
const ANIM_OBJ_COTTON
- const ANIM_OBJ_B8
- const ANIM_OBJ_B9
+ const ANIM_OBJ_PLAYERFEETFOLLOW
+ const ANIM_OBJ_ENEMYFEETFOLLOW
const ANIM_OBJ_BA
const ANIM_OBJ_BB
--- a/constants/battle_tower_constants.asm
+++ b/constants/battle_tower_constants.asm
@@ -15,7 +15,7 @@
const BATTLETOWERACTION_0D ; more time stuff in SRAM bank 5
const BATTLETOWERACTION_EGGTICKET ; egg ticket
const BATTLETOWERACTION_0F ; check w3_d090
- const BATTLETOWERACTION_10 ; jumptable based on 5:a800
+ const BATTLETOWERACTION_10 ; dw based on 5:a800
const BATTLETOWERACTION_11 ; store 0 in 5:aa8d
const BATTLETOWERACTION_12 ; store 1 in 5:aa8d
const BATTLETOWERACTION_13 ; check 5:aa8d
--- a/engine/battle_start.asm
+++ b/engine/battle_start.asm
@@ -39,9 +39,9 @@
call DmgToCgbBGPals
call DelayFrame
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
ld [hSCY], a
ld a, $1
@@ -74,9 +74,8 @@
ld [hBGMapMode], a
ld hl, wJumptableIndex
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
call WipeLYOverrides
ret
@@ -146,20 +145,10 @@
FlashyTransitionToBattle: ; 8c314
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .dw, wJumptableIndex
; 8c323
-.jumptable: ; 8c323 (23:4323)
+.dw: ; 8c323 (23:4323)
dw StartTrainerBattle_DetermineWhichAnimation ; 00
; Animation 1: cave
@@ -314,11 +303,11 @@
call StartTrainerBattle_NextScene
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
xor a
- ld [hLCDStatCustom + 1], a
+ ld [hFFC7], a
ld a, $90
- ld [hLCDStatCustom + 2], a
+ ld [hFFC8], a
xor a
ld [wcf64], a
ld [wcf65], a
@@ -784,9 +773,8 @@
ld a, d
ld d, 0
ld hl, .sinewave
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
--- a/engine/billspc.asm
+++ b/engine/billspc.asm
@@ -42,12 +42,12 @@
jp [hl]
.Jumptable: ; e23df (38:63df)
- jumptable_start
- jumptable .Init
- jumptable .HandleJoypad
- jumptable .WhatsUp
- jumptable .Submenu
- jumptable BillsPC_EndJumptableLoop
+
+ dw .Init
+ dw .HandleJoypad
+ dw .WhatsUp
+ dw .Submenu
+ dw BillsPC_EndJumptableLoop
.Init: ; e23e9 (38:63e9)
@@ -151,11 +151,11 @@
jp [hl]
BillsPCDepositJumptable: ; e24a1 (38:64a1)
- jumptable_start
- jumptable BillsPCDepositFuncDeposit ; Deposit Pokemon
- jumptable BillsPCDepositFuncStats ; Pokemon Stats
- jumptable BillsPCDepositFuncRelease ; Release Pokemon
- jumptable BillsPCDepositFuncCancel ; Cancel
+
+ dw BillsPCDepositFuncDeposit ; Deposit Pokemon
+ dw BillsPCDepositFuncStats ; Pokemon Stats
+ dw BillsPCDepositFuncRelease ; Release Pokemon
+ dw BillsPCDepositFuncCancel ; Cancel
BillsPCDepositFuncDeposit: ; e24a9 (38:64a9)
@@ -310,12 +310,12 @@
jp [hl]
.Jumptable: ; e25d2 (38:65d2)
- jumptable_start
- jumptable .Init
- jumptable .Joypad
- jumptable .PrepSubmenu
- jumptable BillsPC_Withdraw
- jumptable BillsPC_EndJumptableLoop
+
+ dw .Init
+ dw .Joypad
+ dw .PrepSubmenu
+ dw BillsPC_Withdraw
+ dw BillsPC_EndJumptableLoop
.Init: ; e25dc (38:65dc)
@@ -410,7 +410,7 @@
and 3
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -419,7 +419,7 @@
ld l, a
jp [hl]
-.jumptable: ; e2699 (38:6699) #mark
+.dw: ; e2699 (38:6699) #mark
dw .withdraw ; Withdraw
dw .stats ; Stats
dw .release ; Release
@@ -562,14 +562,14 @@
; e27ac
.Jumptable: ; e27ac
- jumptable_start
- jumptable .Init
- jumptable .Joypad
- jumptable .PrepSubmenu
- jumptable .MoveMonWOMailSubmenu
- jumptable .PrepInsertCursor
- jumptable .Joypad2
- jumptable BillsPC_EndJumptableLoop
+
+ dw .Init
+ dw .Joypad
+ dw .PrepSubmenu
+ dw .MoveMonWOMailSubmenu
+ dw .PrepInsertCursor
+ dw .Joypad2
+ dw BillsPC_EndJumptableLoop
; e27ba
.Init: ; e27ba
@@ -2016,12 +2016,12 @@
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .jumptable_return
+ ld de, .dw_return
push de
jp [hl]
; e322a
-.jumptable_return: ; e322a
+.dw_return: ; e322a
pop af
ld e, a
callba Function14ad5
@@ -2033,11 +2033,11 @@
; e3245
.Jumptable: ; e3245
- jumptable_start
- jumptable .BoxToBox
- jumptable .PartyToBox
- jumptable .BoxToParty
- jumptable .PartyToParty
+
+ dw .BoxToBox
+ dw .PartyToBox
+ dw .BoxToParty
+ dw .PartyToParty
; e324d
.BoxToBox: ; e324d
--- a/engine/card_flip.asm
+++ b/engine/card_flip.asm
@@ -81,15 +81,15 @@
; e01a0 (38:41a0)
.Jumptable: ; e01a0
- jumptable_start
- jumptable .AskPlayWithThree
- jumptable .DeductCoins
- jumptable .ChooseACard
- jumptable .PlaceYourBet
- jumptable .CheckTheCard
- jumptable .TabulateTheResult
- jumptable .PlayAgain
- jumptable .Quit
+
+ dw .AskPlayWithThree
+ dw .DeductCoins
+ dw .ChooseACard
+ dw .PlaceYourBet
+ dw .CheckTheCard
+ dw .TabulateTheResult
+ dw .PlayAgain
+ dw .Quit
; e01b0
.Increment: ; e01b0
@@ -108,7 +108,7 @@
ret
.SaidNo
- ld a, 7 ; .QuitTableIndex
+ ld a, 7
ld [wJumptableIndex], a
ret
; e01cd
@@ -132,7 +132,7 @@
jr nc, .deduct ; You have at least 3 coins.
ld hl, .NotEnoughCoinsText
call CardFlip_UpdateCoinBalanceDisplay
- ld a, 7 ; .QuitTableIndex
+ ld a, 7
ld [wJumptableIndex], a
ret
@@ -329,7 +329,7 @@
call CardFlip_BlankDiscardedCardSlot
.LoopAround
- ld a, 1 ; .DeductCoinsTableIndex
+ ld a, 1
ld [wJumptableIndex], a
ret
; e0356
@@ -659,13 +659,13 @@
; e0553
.Jumptable: ; e0553
- jumptable_start
- jumptable .Level1
- jumptable .Level2
- jumptable .Level3
- jumptable .Level4
- jumptable .Level5
- jumptable .Level6
+
+ dw .Level1
+ dw .Level2
+ dw .Level3
+ dw .Level4
+ dw .Level5
+ dw .Level6
; e055f
.Level1: ; e055f
@@ -848,62 +848,62 @@
; e0643
.Jumptable: ; e0643
- jumptable_start
- jumptable .Impossible
- jumptable .Impossible
- jumptable .PikaJiggly
- jumptable .PikaJiggly
- jumptable .PoliOddish
- jumptable .PoliOddish
+
+ dw .Impossible
+ dw .Impossible
+ dw .PikaJiggly
+ dw .PikaJiggly
+ dw .PoliOddish
+ dw .PoliOddish
- jumptable .Impossible
- jumptable .Impossible
- jumptable .Pikachu
- jumptable .Jigglypuff
- jumptable .Poliwag
- jumptable .Oddish
+ dw .Impossible
+ dw .Impossible
+ dw .Pikachu
+ dw .Jigglypuff
+ dw .Poliwag
+ dw .Oddish
- jumptable .OneTwo
- jumptable .One
- jumptable .PikaOne
- jumptable .JigglyOne
- jumptable .PoliOne
- jumptable .OddOne
+ dw .OneTwo
+ dw .One
+ dw .PikaOne
+ dw .JigglyOne
+ dw .PoliOne
+ dw .OddOne
- jumptable .OneTwo
- jumptable .Two
- jumptable .PikaTwo
- jumptable .JigglyTwo
- jumptable .PoliTwo
- jumptable .OddTwo
+ dw .OneTwo
+ dw .Two
+ dw .PikaTwo
+ dw .JigglyTwo
+ dw .PoliTwo
+ dw .OddTwo
- jumptable .ThreeFour
- jumptable .Three
- jumptable .PikaThree
- jumptable .JigglyThree
- jumptable .PoliThree
- jumptable .OddThree
+ dw .ThreeFour
+ dw .Three
+ dw .PikaThree
+ dw .JigglyThree
+ dw .PoliThree
+ dw .OddThree
- jumptable .ThreeFour
- jumptable .Four
- jumptable .PikaFour
- jumptable .JigglyFour
- jumptable .PoliFour
- jumptable .OddFour
+ dw .ThreeFour
+ dw .Four
+ dw .PikaFour
+ dw .JigglyFour
+ dw .PoliFour
+ dw .OddFour
- jumptable .FiveSix
- jumptable .Five
- jumptable .PikaFive
- jumptable .JigglyFive
- jumptable .PoliFive
- jumptable .OddFive
+ dw .FiveSix
+ dw .Five
+ dw .PikaFive
+ dw .JigglyFive
+ dw .PoliFive
+ dw .OddFive
- jumptable .FiveSix
- jumptable .Six
- jumptable .PikaSix
- jumptable .JigglySix
- jumptable .PoliSix
- jumptable .OddSix
+ dw .FiveSix
+ dw .Six
+ dw .PikaSix
+ dw .JigglySix
+ dw .PoliSix
+ dw .OddSix
; e06a3
.Impossible: ; e06a3
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -367,9 +367,8 @@
.okay
ld l, c
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
ld bc, 4
@@ -405,9 +404,8 @@
ld hl, StatsScreenPals
ld b, 0
dec c
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [rSVBK]
push af
ld a, $5
@@ -441,9 +439,8 @@
ld bc, PALPACKET_LENGTH
call CopyBytes
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld a, [hli]
ld [wSGBPals + 3], a
ld a, [hli]
@@ -818,9 +815,8 @@
GetTrainerPalettePointer: ; 976b
ld l, a
ld h, 0
-rept 2
add hl,hl
-endr
+ add hl,hl
ld bc, TrainerPalettes
add hl, bc
ret
@@ -1152,9 +1148,8 @@
jr nz, .asm_99a6
ld a, $20
ld [rJOYP], a
-rept 2
ld a, [rJOYP]
-endr
+ ld a, [rJOYP]
call SGBDelayCycles
call SGBDelayCycles
ld a, $30
@@ -1962,9 +1957,8 @@
ld e, a
ld d, 0
ld hl, .TilesetColorsPointers
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -183,7 +183,7 @@
call ByteFill
ld a, rSCX - $ff00
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call GetCreditsPalette
call SetPalettes
@@ -211,7 +211,7 @@
.exit_credits
call ClearBGPalettes
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hBGMapAddress], a
pop af
ld [hVBlank], a
@@ -269,20 +269,20 @@
.Jumptable: ; 109937 (42:5937)
- jumptable_start
- jumptable ParseCredits
- jumptable Credits_Next
- jumptable Credits_Next
- jumptable Credits_PrepBGMapUpdate
- jumptable Credits_UpdateGFXRequestPath
- jumptable Credits_RequestGFX
- jumptable Credits_LYOverride
- jumptable Credits_Next
- jumptable Credits_Next
- jumptable Credits_Next
- jumptable Credits_UpdateGFXRequestPath
- jumptable Credits_RequestGFX
- jumptable Credits_LoopBack
+
+ dw ParseCredits
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_PrepBGMapUpdate
+ dw Credits_UpdateGFXRequestPath
+ dw Credits_RequestGFX
+ dw Credits_LYOverride
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_Next
+ dw Credits_UpdateGFXRequestPath
+ dw Credits_RequestGFX
+ dw Credits_LoopBack
Credits_Next: ; 109951 (42:5951)
--- a/engine/crystal_intro.asm
+++ b/engine/crystal_intro.asm
@@ -119,7 +119,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -129,7 +129,7 @@
jp [hl]
; e467f
-.jumptable: ; e467f
+.dw: ; e467f
dw PlaceGameFreakPresents_0
dw PlaceGameFreakPresents_1
dw PlaceGameFreakPresents_2
@@ -625,7 +625,7 @@
call ClearTileMap
xor a
ld [hBGMapMode], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap005
@@ -819,7 +819,7 @@
IntroScene9: ; e4c04 (39:4c04)
; Set up the next scene (same bg).
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
call ClearSprites
hlcoord 0, 0, AttrMap
; first 12 rows have palette 1
@@ -893,7 +893,7 @@
call ClearTileMap
xor a
ld [hBGMapMode], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
ld [rVBK], a
ld hl, IntroTilemap007
@@ -2103,7 +2103,7 @@
pop af
ld [rSVBK], a
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
Intro_PerspectiveScrollBG: ; e552f (39:552f)
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -1355,7 +1355,7 @@
and 3
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -1365,7 +1365,7 @@
jp [hl]
; 82301
-.jumptable: ; 82301
+.dw: ; 82301
dw Function82309
dw Function82339
dw Function8234b
--- a/engine/decorations.asm
+++ b/engine/decorations.asm
@@ -104,7 +104,7 @@
ret
.FindOwndDecos: ; 2683a (9:683a)
- ld hl, .jumptable
+ ld hl, .dw
.loop
ld a, [hli]
ld e, a
@@ -127,7 +127,7 @@
ret
; 26855 (9:6855)
-.jumptable: ; 26855
+.dw: ; 26855
dwb FindOwnedBeds, 0 ; bed
dwb FindOwnedCarpets, 1 ; carpet
dwb FindOwnedPlants, 2 ; plant
--- a/engine/engine_flags.asm
+++ b/engine/engine_flags.asm
@@ -37,9 +37,8 @@
.read
ld hl, EngineFlags
; location
-rept 2
add hl, de
-endr
+ add hl, de
; bit
add hl, de
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -771,9 +771,8 @@
push hl
call PlayTalkObject
pop hl
-rept 2
inc hl
-endr
+ inc hl
call GetMapScriptHeaderBank
call GetFarHalfword
call GetMapScriptHeaderBank
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -514,7 +514,7 @@
CmdQueue_Type4: ; 97ebc
call CmdQueueAnonymousJumptable
- ; anonymous jumptable
+ ; anonymous dw
dw .zero
dw .one
; 97ec3
@@ -560,7 +560,7 @@
CmdQueue_Type3: ; 97ef9
call CmdQueueAnonymousJumptable
- ; anonymous jumptable
+ ; anonymous dw
dw .zero
dw .one
dw .two
--- a/engine/events_3.asm
+++ b/engine/events_3.asm
@@ -55,7 +55,7 @@
ld [rWY], a
ld [hWY], a
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; b8064
@@ -126,7 +126,7 @@
ld [rWY], a
ld [hWY], a
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -1041,7 +1041,7 @@
call ClearScreen
call WaitBGMap2
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hSCX], a
ld [hSCY], a
ld a, $7
@@ -1058,10 +1058,9 @@
.ok
ld e, a
ld d, 0
- ld hl, .jumptable
-rept 2
+ ld hl, .dw
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1068,7 +1067,7 @@
jp [hl]
; 626a
-.jumptable
+.dw
dw _MainMenu
dw DeleteSaveData
dw CrystalIntroSequence
@@ -1113,9 +1112,8 @@
ld e, a
ld d, 0
ld hl, .scenes
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1174,7 +1172,7 @@
ld hl, wJumptableIndex
inc [hl]
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
; Play the title screen music.
ld de, MUSIC_TITLE
@@ -1343,22 +1341,19 @@
add hl, bc ; over-the-top compicated way to load wc3ae into hl
ld l, [hl]
ld h, 0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld de, Data63ca
add hl, de
; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw
ld a, [wcf65]
and %00000100
-rept 2
srl a
-endr
+ srl a
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
and a
ret z
--- a/engine/main_menu.asm
+++ b/engine/main_menu.asm
@@ -54,13 +54,13 @@
db "MOBILE STUDIUM@"
.Jumptable: ; 0x49d60
- jumptable_start
- jumptable MainMenu_Continue
- jumptable MainMenu_NewGame
- jumptable MainMenu_Options
- jumptable MainMenu_MysteryGift
- jumptable MainMenu_Mobile
- jumptable MainMenu_MobileStudium
+
+ dw MainMenu_Continue
+ dw MainMenu_NewGame
+ dw MainMenu_Options
+ dw MainMenu_MysteryGift
+ dw MainMenu_Mobile
+ dw MainMenu_MobileStudium
; 0x49d6c
CONTINUE EQU 0
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -233,9 +233,8 @@
ld a, [hl]
ld l, a
ld h, 0
-rept 2
add hl,hl
-endr
+ add hl,hl
add hl, de
ld a, [hli]
ld h, [hl]
@@ -676,9 +675,8 @@
add hl, bc
bit FIXED_FACING, [hl]
jr nz, GetNextTile
-rept 2
add a
-endr
+ add a
and %00001100
ld hl, OBJECT_FACING
add hl, bc
@@ -746,9 +744,8 @@
add hl, bc
ld a, [hl]
and %00001111
-rept 2
add a
-endr
+ add a
ld l, a
ld h, 0
ld de, StepVectors
@@ -888,7 +885,7 @@
; 47a8
Object28AnonymousJumptable: ; 47a8
-; anonymous jumptable
+; anonymous dw
ld hl, OBJECT_28
add hl, bc
ld a, [hl]
@@ -942,35 +939,35 @@
; 47e9
.Pointers ; 47e9
- jumptable_start
- jumptable .Null_00 ; 00
- jumptable .RandomWalkY ; 01
- jumptable .RandomWalkX ; 02
- jumptable .RandomWalkXY ; 03
- jumptable .RandomSpin1 ; 04
- jumptable .RandomSpin2 ; 05
- jumptable .Standing ; 06
- jumptable .ObeyDPad ; 07
- jumptable .Movement08 ; 08
- jumptable .Movement09 ; 09
- jumptable .Movement0a ; 0a
- jumptable .Movement0b ; 0b
- jumptable .Movement0c ; 0c
- jumptable .Movement0d ; 0d
- jumptable .Movement0e ; 0e
- jumptable .Follow ; 0f
- jumptable .Script ; 10
- jumptable .Strength ; 11
- jumptable .FollowNotExact ; 12
- jumptable .MovementShadow ; 13
- jumptable .MovementEmote ; 14
- jumptable .MovementBigStanding ; 15
- jumptable .MovementBouncing ; 16
- jumptable .MovementScreenShake ; 17
- jumptable .MovementSpinClockwise ; 18
- jumptable .MovementSpinCounterclockwise ; 19
- jumptable .MovementBoulderDust ; 1a
- jumptable .MovementShakingGrass ; 1b
+
+ dw .Null_00 ; 00
+ dw .RandomWalkY ; 01
+ dw .RandomWalkX ; 02
+ dw .RandomWalkXY ; 03
+ dw .RandomSpin1 ; 04
+ dw .RandomSpin2 ; 05
+ dw .Standing ; 06
+ dw .ObeyDPad ; 07
+ dw .Movement08 ; 08
+ dw .Movement09 ; 09
+ dw .Movement0a ; 0a
+ dw .Movement0b ; 0b
+ dw .Movement0c ; 0c
+ dw .Movement0d ; 0d
+ dw .Movement0e ; 0e
+ dw .Follow ; 0f
+ dw .Script ; 10
+ dw .Strength ; 11
+ dw .FollowNotExact ; 12
+ dw .MovementShadow ; 13
+ dw .MovementEmote ; 14
+ dw .MovementBigStanding ; 15
+ dw .MovementBouncing ; 16
+ dw .MovementScreenShake ; 17
+ dw .MovementSpinClockwise ; 18
+ dw .MovementSpinCounterclockwise ; 19
+ dw .MovementBoulderDust ; 1a
+ dw .MovementShakingGrass ; 1b
; 4821
.Null_00: ; 4821
@@ -1390,9 +1387,8 @@
ld e, a
ld d, 0
ld hl, .data_4a81
-rept 2
add hl,de
-endr
+ add hl,de
ld d, [hl]
inc hl
ld e, [hl]
@@ -1549,33 +1545,33 @@
Pointers4b45: ; 4b45
; These pointers use OBJECT_STEP_TYPE. See constants/sprite_constants.asm
- jumptable_start
- jumptable ObjectMovementReset ; 00
- jumptable MapObjectMovementPattern ; 01
- jumptable NPCStep ; 02 npc walk
- jumptable Function4ddd ; 03
- jumptable Function4e21 ; 04
- jumptable Function4e0c ; 05
- jumptable PlayerStep ; 06 player walk
- jumptable Function4e47 ; 07
- jumptable NPCJump ; 08 npc jump step
- jumptable PlayerJump ; 09 player jump step
- jumptable PlayerOrNPCHalfStep ; 0a half step
- jumptable Function4dff ; 0b
- jumptable TeleportFrom ; 0c teleport from
- jumptable TeleportTo ; 0d teleport to
- jumptable Skyfall ; 0e skyfall
- jumptable Function4ecd ; 0f
- jumptable GotBiteStep ; 10
- jumptable RockSmashStep ; 11
- jumptable ReturnDigStep ; 12
- jumptable Function4f04 ; 13
- jumptable Function4f33 ; 14
- jumptable Function4f33 ; 15
- jumptable Function4f77 ; 16
- jumptable Function4f7a ; 17
- jumptable Function4df0 ; 18
- jumptable SkyfallTop ; 19
+
+ dw ObjectMovementReset ; 00
+ dw MapObjectMovementPattern ; 01
+ dw NPCStep ; 02 npc walk
+ dw Function4ddd ; 03
+ dw Function4e21 ; 04
+ dw Function4e0c ; 05
+ dw PlayerStep ; 06 player walk
+ dw Function4e47 ; 07
+ dw NPCJump ; 08 npc jump step
+ dw PlayerJump ; 09 player jump step
+ dw PlayerOrNPCHalfStep ; 0a half step
+ dw Function4dff ; 0b
+ dw TeleportFrom ; 0c teleport from
+ dw TeleportTo ; 0d teleport to
+ dw Skyfall ; 0e skyfall
+ dw Function4ecd ; 0f
+ dw GotBiteStep ; 10
+ dw RockSmashStep ; 11
+ dw ReturnDigStep ; 12
+ dw Function4f04 ; 13
+ dw Function4f33 ; 14
+ dw Function4f33 ; 15
+ dw Function4f77 ; 16
+ dw Function4f7a ; 17
+ dw Function4df0 ; 18
+ dw SkyfallTop ; 19
; 4b79
Function4b79: ; 4b79
@@ -1591,7 +1587,7 @@
NPCJump: ; 4b86
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4b8d
dw Function4ba9
; 4b8d
@@ -1628,7 +1624,7 @@
PlayerJump: ; 4bbf
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw .initjump
dw .stepjump
dw .initland
@@ -1680,7 +1676,7 @@
TeleportFrom: ; 4c18
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4c23
dw Function4c32
dw Function4c42
@@ -1751,7 +1747,7 @@
TeleportTo: ; 4c89
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4c9a
dw Function4caa
dw Function4cb3
@@ -1843,7 +1839,7 @@
Skyfall: ; 4d14
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4d1f
dw Function4d2e
dw Function4d4f
@@ -1908,7 +1904,7 @@
GotBiteStep: ; 4d7e
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4d85
dw Function4d94
; 4d85
@@ -2015,7 +2011,7 @@
Function4e0c: ; 4e0c
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4e13
dw Function4e21
; 4e13
@@ -2065,7 +2061,7 @@
PlayerStep: ; 4e56
; AnimateStep?
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw .init
dw .step
; 4e5d
@@ -2095,7 +2091,7 @@
PlayerOrNPCHalfStep: ; 4e83
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw .init1
dw .step1
dw .init2
@@ -2211,7 +2207,7 @@
Function4f33: ; 4f33
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4f3a
dw Function4f43
; 4f3a
@@ -2266,7 +2262,7 @@
Function4f7a: ; 4f7a
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw SkyfallTop
dw SkyfallTop
dw SkyfallTop
@@ -2274,7 +2270,7 @@
SkyfallTop: ; 4f83
call Object28AnonymousJumptable
-; anonymous jumptable
+; anonymous dw
dw Function4f8a
dw Function4f99
; 4f8a
@@ -3060,9 +3056,8 @@
ret z
ld a, [wPlayerSpriteSetupFlags]
and 3
-rept 2
add a
-endr
+ add a
jr ContinueSpawnFacing
; 57d9
@@ -3650,9 +3645,8 @@
ld c, a
ld b, 0
ld hl, .Addresses
-rept 2
add hl,bc
-endr
+ add hl,bc
ld c, [hl]
inc hl
ld b, [hl]
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -6,9 +6,8 @@
ld c, a
ld b, 0
ld hl, MapSetupScripts
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
--- a/engine/mart.asm
+++ b/engine/mart.asm
@@ -841,12 +841,12 @@
.TryToSellItem: ; 15ee0
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 15eee
-.jumptable: ; 15eee
+.dw: ; 15eee
dw .try_sell
dw .cant_buy
dw .cant_buy
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -27,7 +27,7 @@
Function8e849: ; 8e849
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -38,7 +38,7 @@
; 8e854
-.jumptable: ; 8e854 (23:6854)
+.dw: ; 8e854 (23:6854)
dw Function8e8d5 ; init
dw Function8e961
dw Function8e97d
--- a/engine/move_mon.asm
+++ b/engine/move_mon.asm
@@ -193,9 +193,8 @@
inc de
push hl
push de
-rept 2
inc hl
-endr
+ inc hl
call FillPP
pop de
pop hl
@@ -636,9 +635,8 @@
ld a, [CurPartySpecies]
cp EGG
jr z, .egg
-rept 2
inc hl
-endr
+ inc hl
ld a, [hli]
ld [de], a
ld a, [hl]
@@ -1423,9 +1421,8 @@
ld a, c
cp STAT_SDEF
jr nz, .not_spdef
-rept 2
dec hl
-endr
+ dec hl
.not_spdef
sla c
@@ -1469,9 +1466,8 @@
ld b, a
ld a, [hli]
and $1
-rept 2
add a
-endr
+ add a
add b
ld b, a
ld a, [hl]
@@ -1673,9 +1669,8 @@
ld a, [ScriptBank]
call FarCopyBytes
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld a, [ScriptBank]
call GetFarHalfword
pop bc
--- a/engine/mysterygift.asm
+++ b/engine/mysterygift.asm
@@ -211,9 +211,8 @@
ld hl, sDailyMysteryGiftPartnerIDs ; inc hl
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wMysteryGiftPartnerID]
ld [hli], a
ld a, [wMysteryGiftPartnerID + 1]
@@ -1062,9 +1061,8 @@
Function105038: ; 105038 (41:5038)
ld a, $20
ld [rJOYP], a
-rept 2
ld a, [rJOYP]
-endr
+ ld a, [rJOYP]
cpl
and $f
swap a
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -28,18 +28,18 @@
; 10030
.Jumptable: ; 10030 (4:4030)
- jumptable_start
- jumptable .InitGFX ; 0
- jumptable .InitItemsPocket ; 1
- jumptable .ItemsPocketMenu ; 2
- jumptable .InitBallsPocket ; 3
- jumptable .BallsPocketMenu ; 4
- jumptable .InitKeyItemsPocket ; 5
- jumptable .KeyItemsPocketMenu ; 6
- jumptable .InitTMHMPocket ; 7
- jumptable .TMHMPocketMenu ; 8
- jumptable Pack_QuitNoScript ; 9
- jumptable Pack_QuitRunScript ; 10
+
+ dw .InitGFX ; 0
+ dw .InitItemsPocket ; 1
+ dw .ItemsPocketMenu ; 2
+ dw .InitBallsPocket ; 3
+ dw .BallsPocketMenu ; 4
+ dw .InitKeyItemsPocket ; 5
+ dw .KeyItemsPocketMenu ; 6
+ dw .InitTMHMPocket ; 7
+ dw .TMHMPocketMenu ; 8
+ dw Pack_QuitNoScript ; 9
+ dw Pack_QuitRunScript ; 10
.InitGFX: ; 10046 (4:4046)
xor a
@@ -163,9 +163,9 @@
; 0x10137
.Jumptable1: ; 10137
- jumptable_start
- jumptable .UseItem
- jumptable QuitItemSubmenu
+
+ dw .UseItem
+ dw QuitItemSubmenu
; 1013b
@@ -328,12 +328,12 @@
; 0x1026a
Jumptable_UseGiveTossRegisterQuit: ; 1026a
- jumptable_start
- jumptable UseItem
- jumptable GiveItem
- jumptable TossMenu
- jumptable RegisterItem
- jumptable QuitItemSubmenu
+
+ dw UseItem
+ dw GiveItem
+ dw TossMenu
+ dw RegisterItem
+ dw QuitItemSubmenu
; 10274
MenuDataHeader_UsableItem: ; 0x10274
@@ -354,11 +354,11 @@
; 0x10291
Jumptable_UseGiveTossQuit: ; 10291
- jumptable_start
- jumptable UseItem
- jumptable GiveItem
- jumptable TossMenu
- jumptable QuitItemSubmenu
+
+ dw UseItem
+ dw GiveItem
+ dw TossMenu
+ dw QuitItemSubmenu
; 10299
MenuDataHeader_UnusableItem: ; 0x10299
@@ -377,9 +377,9 @@
; 0x102ac
Jumptable_UseQuit: ; 102ac
- jumptable_start
- jumptable UseItem
- jumptable QuitItemSubmenu
+
+ dw UseItem
+ dw QuitItemSubmenu
; 102b0
MenuDataHeader_UnusableKeyItem: ; 0x102b0
@@ -399,10 +399,10 @@
; 0x102c7
Jumptable_UseRegisterQuit: ; 102c7
- jumptable_start
- jumptable UseItem
- jumptable RegisterItem
- jumptable QuitItemSubmenu
+
+ dw UseItem
+ dw RegisterItem
+ dw QuitItemSubmenu
; 102cd
MenuDataHeader_HoldableKeyItem: ; 0x102cd
@@ -423,11 +423,11 @@
; 0x102ea
Jumptable_GiveTossRegisterQuit: ; 102ea
- jumptable_start
- jumptable GiveItem
- jumptable TossMenu
- jumptable RegisterItem
- jumptable QuitItemSubmenu
+
+ dw GiveItem
+ dw TossMenu
+ dw RegisterItem
+ dw QuitItemSubmenu
; 102f2
MenuDataHeader_HoldableItem: ; 0x102f2
@@ -447,10 +447,10 @@
; 0x1030b
Jumptable_GiveTossQuit: ; 1030b
- jumptable_start
- jumptable GiveItem
- jumptable TossMenu
- jumptable QuitItemSubmenu
+
+ dw GiveItem
+ dw TossMenu
+ dw QuitItemSubmenu
; 10311
@@ -457,20 +457,20 @@
UseItem: ; 10311
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 1031f
-.jumptable: ; 1031f (4:431f)
- jumptable_start
- jumptable .Oak
- jumptable .Oak
- jumptable .Oak
- jumptable .Oak
- jumptable .Current
- jumptable .Party
- jumptable .Field
+.dw: ; 1031f (4:431f)
+
+ dw .Oak
+ dw .Oak
+ dw .Oak
+ dw .Oak
+ dw .Current
+ dw .Party
+ dw .Field
; 1035c
.Oak: ; 1032d (4:432d)
@@ -694,18 +694,18 @@
; 104c3
.Jumptable: ; 104c3 (4:44c3)
- jumptable_start
- jumptable .InitGFX ; 0
- jumptable .InitItemsPocket ; 1
- jumptable .ItemsPocketMenu ; 2
- jumptable .InitBallsPocket ; 3
- jumptable .BallsPocketMenu ; 4
- jumptable .InitKeyItemsPocket ; 5
- jumptable .KeyItemsPocketMenu ; 6
- jumptable .InitTMHMPocket ; 7
- jumptable .TMHMPocketMenu ; 8
- jumptable Pack_QuitNoScript ; 9
- jumptable Pack_QuitRunScript ; 10
+
+ dw .InitGFX ; 0
+ dw .InitItemsPocket ; 1
+ dw .ItemsPocketMenu ; 2
+ dw .InitBallsPocket ; 3
+ dw .BallsPocketMenu ; 4
+ dw .InitKeyItemsPocket ; 5
+ dw .KeyItemsPocketMenu ; 6
+ dw .InitTMHMPocket ; 7
+ dw .TMHMPocketMenu ; 8
+ dw Pack_QuitNoScript ; 9
+ dw Pack_QuitRunScript ; 10
.InitGFX: ; 104d9 (4:44d9)
xor a
@@ -865,9 +865,9 @@
; 0x10614
.UsableJumptable: ; 10614
- jumptable_start
- jumptable .Use
- jumptable .Quit
+
+ dw .Use
+ dw .Quit
; 10618
.UnusableMenuDataHeader: ; 0x10618
@@ -885,8 +885,8 @@
; 0x10627
.UnusableJumptable: ; 10627
- jumptable_start
- jumptable .Quit
+
+ dw .Quit
; 10629
.Use: ; 10629
@@ -897,14 +897,14 @@
ret
.ItemFunctionJumptable: ; 10637 (4:4637)
- jumptable_start
- jumptable .Oak
- jumptable .Oak
- jumptable .Oak
- jumptable .Oak
- jumptable .Unused
- jumptable .BattleField
- jumptable .BattleOnly
+
+ dw .Oak
+ dw .Oak
+ dw .Oak
+ dw .Oak
+ dw .Unused
+ dw .BattleField
+ dw .BattleOnly
.Oak: ; 10645 (4:4645)
ld hl, Text_ThisIsntTheTime
@@ -942,7 +942,7 @@
cp $2
jr z, .didnt_use_item
.quit_run_script: ; 1067e (4:467e)
- ld a, Pack_QuitRunScriptTableIndex
+ ld a, 10
ld [wJumptableIndex], a
ret
@@ -1002,11 +1002,11 @@
; 106d1
.Jumptable: ; 106d1 (4:46d1)
- jumptable_start
- jumptable .ItemsPocket
- jumptable .BallsPocket
- jumptable .KeyItemsPocket
- jumptable .TMHMPocket
+
+ dw .ItemsPocket
+ dw .BallsPocket
+ dw .KeyItemsPocket
+ dw .TMHMPocket
.ItemsPocket: ; 106d9 (4:46d9)
xor a
call InitPocket
@@ -1142,18 +1142,18 @@
.RunJumptable: ; 107d7
ld a, [wJumptableIndex]
- ld hl, .jumptable
+ ld hl, .dw
call Pack_GetJumptablePointer
jp [hl]
; 107e1
-.jumptable: ; 107e1 (4:47e1)
- jumptable_start
- jumptable .Items
- jumptable .Balls
- jumptable .KeyItems
- jumptable .TMHM
+.dw: ; 107e1 (4:47e1)
+
+ dw .Items
+ dw .Balls
+ dw .KeyItems
+ dw .TMHM
.Items: ; 107e9 (4:47e9)
xor a
@@ -1351,7 +1351,7 @@
ret
.b_button
- ld a, Pack_QuitNoScriptTableIndex
+ ld a, 9
ld [wJumptableIndex], a
scf
ret
--- a/engine/player_step.asm
+++ b/engine/player_step.asm
@@ -59,19 +59,19 @@
ret
.Jumptable: ; d4f2 (3:54f2)
- jumptable_start
- jumptable GetMovementPermissions
- jumptable BufferScreen
- jumptable .mobile
- jumptable .fail2
+
+ dw GetMovementPermissions
+ dw BufferScreen
+ dw .mobile
+ dw .fail2
; The rest are never used. Ever.
- jumptable .fail1
- jumptable .fail1
- jumptable .fail1
- jumptable .fail1
- jumptable .fail1
- jumptable .fail1
- jumptable .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
+ dw .fail1
.fail1: ; d508 (3:5508)
ret
--- a/engine/pokecenter_pc.asm
+++ b/engine/pokecenter_pc.asm
@@ -472,7 +472,7 @@
ld [wSpriteUpdatesEnabled], a
callba CheckItemMenu
ld a, [wItemAttributeParamBuffer]
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
pop af
ld [wSpriteUpdatesEnabled], a
@@ -479,7 +479,7 @@
ret
; 0x158e7
-.jumptable: ; 0x158e7
+.dw: ; 0x158e7
dw .tossable
dw .no_toss
dw .no_toss
--- a/engine/printer.asm
+++ b/engine/printer.asm
@@ -32,27 +32,27 @@
.Jumptable: ; 84031 (21:4031)
- jumptable_start
- jumptable Function84077
- jumptable Function84143
- jumptable Function84120
- jumptable Function84099
- jumptable Function84180
- jumptable Function8412e
- jumptable Function840c5
- jumptable Function84180
- jumptable Function84120
- jumptable Function840de
- jumptable Function84180
- jumptable Function84120
- jumptable Function841a1
- jumptable Function84063
- jumptable Function8406d
- jumptable Function84120
- jumptable Function84103
- jumptable Function84071
- jumptable Function841b0
- jumptable Function841b3
+
+ dw Function84077
+ dw Function84143
+ dw Function84120
+ dw Function84099
+ dw Function84180
+ dw Function8412e
+ dw Function840c5
+ dw Function84180
+ dw Function84120
+ dw Function840de
+ dw Function84180
+ dw Function84120
+ dw Function841a1
+ dw Function84063
+ dw Function8406d
+ dw Function84120
+ dw Function84103
+ dw Function84071
+ dw Function841b0
+ dw Function841b3
Function84059: ; 84059 (21:4059)
@@ -443,39 +443,39 @@
.Jumptable: ; 842ea (21:42ea)
- jumptable_start
- jumptable Function8432f
- jumptable Function84330
- jumptable Function84339
- jumptable Function84343
- jumptable Function8434d
- jumptable Function84357
- jumptable Function84361
- jumptable Function8438b
- jumptable Function84395
- jumptable Function8439f
- jumptable Function843a8
- jumptable Function843b6
- jumptable Function84330
- jumptable Function843c0
- jumptable Function843c9
- jumptable Function843c9
- jumptable Function843c9
- jumptable Function843c0
- jumptable Function843c9
- jumptable Function8439f
- jumptable Function843a8
- jumptable Function843e6
- jumptable Function84330
- jumptable Function843d2
- jumptable Function843c9
- jumptable Function843c9
- jumptable Function843c9
- jumptable Function843d2
- jumptable Function843c9
- jumptable Function8439f
- jumptable Function843a8
- jumptable Function843b6
+
+ dw Function8432f
+ dw Function84330
+ dw Function84339
+ dw Function84343
+ dw Function8434d
+ dw Function84357
+ dw Function84361
+ dw Function8438b
+ dw Function84395
+ dw Function8439f
+ dw Function843a8
+ dw Function843b6
+ dw Function84330
+ dw Function843c0
+ dw Function843c9
+ dw Function843c9
+ dw Function843c9
+ dw Function843c0
+ dw Function843c9
+ dw Function8439f
+ dw Function843a8
+ dw Function843e6
+ dw Function84330
+ dw Function843d2
+ dw Function843c9
+ dw Function843c9
+ dw Function843c9
+ dw Function843d2
+ dw Function843c9
+ dw Function8439f
+ dw Function843a8
+ dw Function843b6
Function8432a: ; 8432a (21:432a)
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -862,9 +862,8 @@
ld c, a
ld b, 0
ld hl, WalkingX
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1127,9 +1126,8 @@
ld e, a
callba GetRelativeFacing
ld a, d
-rept 2
add a
-endr
+ add a
ld e, a
ld a, [hLastTalked]
ld d, a
@@ -1162,9 +1160,8 @@
pop bc
ret c
ld a, d
-rept 2
add a
-endr
+ add a
ld e, a
ld d, c
call ApplyPersonFacing
@@ -1185,9 +1182,8 @@
.ok
ld d, a
call GetScriptByte
-rept 2
add a
-endr
+ add a
ld e, a
call ApplyPersonFacing
ret
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -211,43 +211,29 @@
; 92844
SlotsJumptable: ; 92844 (24:6844)
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wJumptableIndex
-; 92853 (24:6853)
+.Jumptable
+ dw Slots_Init ; 00
+ dw Slots_BetAndStart ; 01
+ dw Slots_WaitStart ; 02
+ dw Slots_WaitReel1 ; 03
+ dw Slots_WaitStopReel1 ; 04
+ dw Slots_WaitReel2 ; 05
+ dw Slots_WaitStopReel2 ; 06
+ dw Slots_WaitReel3 ; 07
+ dw Slots_WaitStopReel3 ; 08
+ dw Slots_Next ; 09
+ dw Slots_Next ; 0a
+ dw Slots_Next ; 0b
+ dw Slots_FlashIfWin ; 0c
+ dw Slots_FlashScreen ; 0d
+ dw Slots_GiveEarnedCoins ; 0e
+ dw Slots_PayoutTextAndAnim ; 0f
+ dw Slots_PayoutAnim ; 10
+ dw Slots_RestartOrQuit ; 11
+ dw Slots_Quit ; 12
-
-.Jumptable: ; 92853 (24:6853)
- jumptable_start
- jumptable Slots_Init ; 00
- jumptable Slots_BetAndStart ; 01
- jumptable Slots_WaitStart ; 02
- jumptable Slots_WaitReel1 ; 03
- jumptable Slots_WaitStopReel1 ; 04
- jumptable Slots_WaitReel2 ; 05
- jumptable Slots_WaitStopReel2 ; 06
- jumptable Slots_WaitReel3 ; 07
- jumptable Slots_WaitStopReel3 ; 08
- jumptable Slots_Next ; 09
- jumptable Slots_Next ; 0a
- jumptable Slots_Next ; 0b
- jumptable Slots_FlashIfWin ; 0c
- jumptable Slots_FlashScreen ; 0d
- jumptable Slots_GiveEarnedCoins ; 0e
- jumptable Slots_PayoutTextAndAnim ; 0f
- jumptable Slots_PayoutAnim ; 10
- jumptable Slots_RestartOrQuit ; 11
- jumptable Slots_Quit ; 12
-
Slots_Next: ; 92879 (24:6879)
ld hl, wJumptableIndex
inc [hl]
@@ -265,7 +251,7 @@
Slots_BetAndStart: ; 9288e (24:688e)
call Slots_AskBet
jr nc, .proceed
- ld a, Slots_QuitTableIndex
+ ld a, 18
ld [wJumptableIndex], a
ret
@@ -275,7 +261,7 @@
call Slots_InitBias
ld a, 32
ld [wcf64], a
- ld a, 4 ; ReelAction_NormalRateTableIndex
+ ld a, 4
ld [wReel1ReelAction], a
ld [wReel2ReelAction], a
ld [wReel3ReelAction], a
@@ -455,12 +441,12 @@
call WaitPressAorB_BlinkCursor
call Slots_AskPlayAgain
jr c, .exit_slots
- ld a, Slots_InitTableIndex
+ ld a, 0
ld [wJumptableIndex], a
ret
.exit_slots
- ld a, Slots_QuitTableIndex
+ ld a, 18
ld [wJumptableIndex], a
ret
@@ -804,10 +790,9 @@
add hl, bc
ld e, [hl]
ld d, 0
- ld hl, .jumptable
-rept 2
+ ld hl, .dw
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -815,40 +800,33 @@
; 92be4 (24:6be4)
-.jumptable: ; 92be4
- jumptable_start
- jumptable ReelAction_DoNothing ; 00
- jumptable Slots_StopReelIgnoreJoypad ; 01
-
- jumptable ReelAction_QuadrupleRate ; 02
- jumptable ReelAction_DoubleRate ; 03
- jumptable ReelAction_NormalRate ; 04
- jumptable ReelAction_HalfRate ; 05
- jumptable ReelAction_QuarterRate ; 06
-
- jumptable ReelAction_StopReel1 ; 07
- jumptable ReelAction_StopReel2 ; 08
- jumptable ReelAction_StopReel3 ; 09
-
- jumptable ReelAction_SetUpReel2SkipTo7 ; 0a
- jumptable ReelAction_WaitReel2SkipTo7 ; 0b
- jumptable ReelAction_FastSpinReel2UntilLinedUp7s ; 0c
-
- jumptable ReelAction_BoringReelDrops ; 0d
- jumptable ReelAction_CheckDropReel ; 0e
- jumptable ReelAction_WaitDropReel ; 0f
-
- jumptable ReelAction_StartSlowAdvanceReel3 ; 10
- jumptable ReelAction_WaitSlowAdvanceReel3 ; 11
-
- jumptable ReelAction_InitGolem ; 12
- jumptable ReelAction_WaitGolem ; 13
- jumptable ReelAction_EndGolem ; 14
-
- jumptable Slots_InitChansey ; 15
- jumptable ReelAction_WaitChansey ; 16
- jumptable ReelAction_WaitEgg ; 17
- jumptable ReelAction_DropReel ; 18
+.dw: ; 92be4
+
+ dw ReelAction_DoNothing ; 00
+ dw Slots_StopReelIgnoreJoypad ; 01
+ dw ReelAction_QuadrupleRate ; 02
+ dw ReelAction_DoubleRate ; 03
+ dw ReelAction_NormalRate ; 04
+ dw ReelAction_HalfRate ; 05
+ dw ReelAction_QuarterRate ; 06
+ dw ReelAction_StopReel1 ; 07
+ dw ReelAction_StopReel2 ; 08
+ dw ReelAction_StopReel3 ; 09
+ dw ReelAction_SetUpReel2SkipTo7 ; 0a
+ dw ReelAction_WaitReel2SkipTo7 ; 0b
+ dw ReelAction_FastSpinReel2UntilLinedUp7s ; 0c
+ dw ReelAction_BoringReelDrops ; 0d
+ dw ReelAction_CheckDropReel ; 0e
+ dw ReelAction_WaitDropReel ; 0f
+ dw ReelAction_StartSlowAdvanceReel3 ; 10
+ dw ReelAction_WaitSlowAdvanceReel3 ; 11
+ dw ReelAction_InitGolem ; 12
+ dw ReelAction_WaitGolem ; 13
+ dw ReelAction_EndGolem ; 14
+ dw Slots_InitChansey ; 15
+ dw ReelAction_WaitChansey ; 16
+ dw ReelAction_WaitEgg ; 17
+ dw ReelAction_DropReel ; 18
; 92c16
ReelAction_DoNothing: ; 92c16
@@ -1205,9 +1183,8 @@
ld [hl], $0
ld hl, wReel1ReelAction - wReel1
add hl, bc
-rept 2
dec [hl]
-endr
+ dec [hl]
ld a, $1
ld [wcf64], a
ret
@@ -1327,9 +1304,8 @@
ld e, a
ld d, 0
ld hl, .Jumptable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1347,11 +1323,11 @@
; 92ebd
.Jumptable: ; 92ebd
- jumptable_start
- jumptable .zero
- jumptable .one
- jumptable .two
- jumptable .three
+
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
; 92ec5
.three: ; 92ec5
@@ -1439,9 +1415,8 @@
ld e, a
ld d, 0
ld hl, .Jumptable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1463,11 +1438,11 @@
; 92f48
.Jumptable: ; 92f48
- jumptable_start
- jumptable .zero
- jumptable .one
- jumptable .two
- jumptable .three
+
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
; 92f50
.three: ; 92f50
@@ -1978,9 +1953,8 @@
ld e, [hl]
ld d, 0
ld hl, .Jumptable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1987,10 +1961,10 @@
jp [hl]
.Jumptable: ; 9322d (24:722d)
- jumptable_start
- jumptable .init
- jumptable .fall
- jumptable .roll
+
+ dw .init
+ dw .fall
+ dw .roll
.init: ; 93233 (24:7233)
@@ -2051,9 +2025,8 @@
ld hl, SPRITEANIMSTRUCT_XOFFSET
add hl, bc
ld a, [hl]
-rept 2
inc [hl]
-endr
+ inc [hl]
cp 9 * 8
jr nc, .restart
and $3
@@ -2081,9 +2054,8 @@
ld e, [hl]
ld d, 0
ld hl, .Jumptable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2090,10 +2062,10 @@
jp [hl]
.Jumptable: ; 932bc (24:72bc)
- jumptable_start
- jumptable .walk
- jumptable .one
- jumptable .two
+
+ dw .walk
+ dw .one
+ dw .two
.walk: ; 932c2 (24:72c2)
--- a/engine/sprite_anims.asm
+++ b/engine/sprite_anims.asm
@@ -4,9 +4,8 @@
ld e, [hl]
ld d, 0
ld hl, .Jumptable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -13,44 +12,43 @@
jp [hl]
; 8d25b
-
.Jumptable: ; 8d25b (23:525b)
- jumptable_start
- jumptable .Null ; null
- jumptable .one ; bouncing mon icon
- jumptable .two ; bouncing mon icon, selected
- jumptable .three ; bouncing mon icon, menu open
- jumptable .four
- jumptable .five
- jumptable .GameFreakLogo ; Game Freak logo
- jumptable .seven
- jumptable .eight
- jumptable .SlotsGolem ; Something to do with slots
- jumptable .SlotsChansey ; Something to do with slots
- jumptable .SlotsChanseyEgg ; Something to do with slots
- jumptable .twelve ; blinking cursor
- jumptable .thirteen
- jumptable .fourteen
- jumptable .fifteen
- jumptable .sixteen
- jumptable .seventeen
- jumptable .eighteen
- jumptable .EggShell ; finish egg hatching animation
- jumptable .RadioTuningKnob ; radio tuning knob
- jumptable .twentyone ; cut grass leaves
- jumptable .FlyFrom ; flying sprite
- jumptable .FlyLeaf ; flying leaves
- jumptable .FlyTo ; fly to
- jumptable .twentyfive
- jumptable .twentysix
- jumptable .twentyseven
- jumptable .twentyeight
- jumptable .twentynine ; intro suicune
- jumptable .thirty ; intro pichu wooper
- jumptable .thirtyone ; celebi
- jumptable .thirtytwo ; intro unown
- jumptable .thirtythree ; intro unown F with suicune leaping up
- jumptable .thirtyfour ; intro suicune facing away from us
+
+ dw .Null ; null
+ dw .one ; bouncing mon icon
+ dw .two ; bouncing mon icon, selected
+ dw .three ; bouncing mon icon, menu open
+ dw .four
+ dw .five
+ dw .GameFreakLogo ; Game Freak logo
+ dw .seven
+ dw .eight
+ dw .SlotsGolem ; Something to do with slots
+ dw .SlotsChansey ; Something to do with slots
+ dw .SlotsChanseyEgg ; Something to do with slots
+ dw .twelve ; blinking cursor
+ dw .thirteen
+ dw .fourteen
+ dw .fifteen
+ dw .sixteen
+ dw .seventeen
+ dw .eighteen
+ dw .EggShell ; finish egg hatching animation
+ dw .RadioTuningKnob ; radio tuning knob
+ dw .twentyone ; cut grass leaves
+ dw .FlyFrom ; flying sprite
+ dw .FlyLeaf ; flying leaves
+ dw .FlyTo ; fly to
+ dw .twentyfive
+ dw .twentysix
+ dw .twentyseven
+ dw .twentyeight
+ dw .twentynine ; intro suicune
+ dw .thirty ; intro pichu wooper
+ dw .thirtyone ; celebi
+ dw .thirtytwo ; intro unown
+ dw .thirtythree ; intro unown F with suicune leaping up
+ dw .thirtyfour ; intro suicune facing away from us
.Null: ; 8d2a1 (23:52a1)
@@ -135,11 +133,11 @@
ret
.four: ; 8d302 (23:5302)
- call .anonymous_jumptable
+ call .anonymous_dw
jp [hl]
; 8d306 (23:5306)
-; Anonymous jumptable (see .anonymous_jumptable)
+; Anonymous dw (see .anonymous_dw)
dw .four_zero
dw .four_one
; 8d30a
@@ -237,9 +235,8 @@
ld a, [hl]
and a
jr z, .asm_8d3ba
-rept 2
dec [hl]
-endr
+ dec [hl]
ld d, a
and $1f
jr nz, .asm_8d395
@@ -420,11 +417,11 @@
ret
.sixteen: ; 8d483 (23:5483)
- call .anonymous_jumptable
+ call .anonymous_dw
jp [hl]
; 8d487 (23:5487)
-; Anonymous jumptable (see .anonymous_jumptable)
+; Anonymous dw (see .anonymous_dw)
dw .sixteen_zero
dw .sixteen_one
dw .sixteen_two
@@ -554,9 +551,8 @@
ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [hl]
-rept 2
inc [hl]
-endr
+ inc [hl]
cp $b0
jr nc, .asm_8d53f
and $3
@@ -669,9 +665,8 @@
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
-rept 2
dec [hl]
-endr
+ dec [hl]
ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
@@ -699,9 +694,8 @@
ld a, [hl]
cp -9 * 8
jr nc, .delete_leaf
-rept 2
inc [hl]
-endr
+ inc [hl]
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
@@ -732,9 +726,8 @@
ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
-rept 2
inc [hl]
-endr
+ inc [hl]
ld hl, SPRITEANIMSTRUCT_0F
add hl, bc
@@ -861,7 +854,7 @@
callba UpdateCelebiPosition
ret
-.anonymous_jumptable: ; 8d6c5 (23:56c5)
+.anonymous_dw: ; 8d6c5 (23:56c5)
ld hl, [sp+$0]
ld e, [hl]
inc hl
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -46,7 +46,7 @@
ld b, h
push hl
push de
- call DoAnimFrame ; Uses a massive jumptable
+ call DoAnimFrame ; Uses a massive dw
call UpdateAnimFrame
pop de
pop hl
@@ -86,7 +86,7 @@
ld b, h
push hl
push de
- call DoAnimFrame ; Uses a massive jumptable
+ call DoAnimFrame ; Uses a massive dw
call UpdateAnimFrame
pop de
pop hl
@@ -188,13 +188,11 @@
ld [hli], a
; load 0 into the next four fields
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
; load -1 into the next field
dec a
ld [hli], a
@@ -478,9 +476,8 @@
ld hl, SPRITEANIMSTRUCT_FRAME
add hl, bc
-rept 2
dec [hl]
-endr
+ dec [hl]
jr .loop
.restart
@@ -505,9 +502,8 @@
ld e, [hl]
ld d, 0
ld hl, SpriteAnimFrameData
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -536,9 +532,8 @@
push hl
ld l, a
ld h, 0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld de, BrokenStdGFXPointers ; broken 2bpp pointers
add hl, de
ld c, [hl]
@@ -635,9 +630,8 @@
ld a, d
ld d, 0
ld hl, .sinewave
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -677,9 +671,8 @@
call .AnimateFrame
call DelayFrame
pop bc
-rept 2
inc d
-endr
+ inc d
dec c
jr nz, .loop
call ClearSprites
--- a/engine/startmenu.asm
+++ b/engine/startmenu.asm
@@ -50,9 +50,8 @@
ld hl, .MenuReturns
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -235,9 +234,8 @@
push de
ld a, [MenuSelection]
call .GetMenuAccountTextPointer
-rept 2
inc hl
-endr
+ inc hl
ld a, [hli]
ld d, [hl]
ld e, a
--- a/engine/stats_screen.asm
+++ b/engine/stats_screen.asm
@@ -100,15 +100,15 @@
; 4dd2a
StatsScreenPointerTable: ; 4dd2a
- jumptable_start
- jumptable MonStatsInit ; regular pokémon
- jumptable EggStatsInit ; egg
- jumptable StatsScreenWaitCry
- jumptable EggStatsJoypad
- jumptable StatsScreen_LoadPage
- jumptable StatsScreenWaitCry
- jumptable MonStatsJoypad
- jumptable StatsScreen_Exit
+
+ dw MonStatsInit ; regular pokémon
+ dw EggStatsInit ; egg
+ dw StatsScreenWaitCry
+ dw EggStatsJoypad
+ dw StatsScreen_LoadPage
+ dw StatsScreenWaitCry
+ dw MonStatsJoypad
+ dw StatsScreen_Exit
; 4dd3a
@@ -157,12 +157,12 @@
call StatsScreen_InitUpperHalf
ld hl, wcf64
set 4, [hl]
- ld h, StatsScreen_LoadPageTableIndex
+ ld h, 4
call StatsScreen_SetJumptableIndex
ret
.egg
- ld h, EggStatsInitTableIndex
+ ld h, 1
call StatsScreen_SetJumptableIndex
ret
@@ -178,7 +178,7 @@
EggStatsJoypad: ; 4ddac (13:5dac)
call StatsScreen_GetJoypad
jr nc, .check
- ld h, MonStatsInitTableIndex
+ ld h, 0
call StatsScreen_SetJumptableIndex
ret
@@ -189,7 +189,7 @@
jp StatsScreen_JoypadAction
.quit
- ld h, StatsScreen_ExitTableIndex
+ ld h, 7
call StatsScreen_SetJumptableIndex
ret
@@ -205,7 +205,7 @@
MonStatsJoypad: ; 4ddd6 (13:5dd6)
call StatsScreen_GetJoypad
jr nc, .next
- ld h, MonStatsInitTableIndex
+ ld h, 0
call StatsScreen_SetJumptableIndex
ret
@@ -360,17 +360,17 @@
and %11111100
or c
ld [wcf64], a
- ld h, StatsScreen_LoadPageTableIndex
+ ld h, 4
call StatsScreen_SetJumptableIndex
ret
.load_mon
- ld h, MonStatsInitTableIndex
+ ld h, 0
call StatsScreen_SetJumptableIndex
ret
.b_button: ; 4dee4 (13:5ee4)
- ld h, StatsScreen_ExitTableIndex
+ ld h, 7
call StatsScreen_SetJumptableIndex
ret
@@ -535,10 +535,10 @@
ret
.Jumptable: ; 4e00d (13:600d)
- jumptable_start
- jumptable .PinkPage
- jumptable .GreenPage
- jumptable .BluePage
+
+ dw .PinkPage
+ dw .GreenPage
+ dw .BluePage
.PinkPage: ; 4e013 (13:6013)
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -189,7 +189,7 @@
; Let LCD Stat know we're messing around with SCX
ld a, rSCX - rJOYP
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
pop af
ld [rSVBK], a
--- a/engine/unown_puzzle.asm
+++ b/engine/unown_puzzle.asm
@@ -188,8 +188,8 @@
; e12d9
.Jumptable: ; e12d9
- jumptable_start
- jumptable .Function
+
+ dw .Function
; e12db
.Function: ; e12db
--- a/event/daycare.asm
+++ b/event/daycare.asm
@@ -273,9 +273,8 @@
ld e, a
ld d, 0
ld hl, .TextTable
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -780,9 +779,8 @@
ld hl, wEggMonHappiness
ld [hli], a
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld a, [CurPartyLevel]
ld [wEggMonLevel], a
--- a/event/field_moves.asm
+++ b/event/field_moves.asm
@@ -163,7 +163,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -174,7 +174,7 @@
; 8ca1b
-.jumptable: ; 8ca1b (23:4a1b)
+.dw: ; 8ca1b (23:4a1b)
dw Cut_SpawnAnimateTree
dw Cut_SpawnAnimateLeaves
dw Cut_StartWaiting
--- a/event/magnet_train.asm
+++ b/event/magnet_train.asm
@@ -61,9 +61,9 @@
ld [hVBlank], a
call ClearBGPalettes
xor a
- ld [hLCDStatCustom], a
- ld [hLCDStatCustom + 1], a
- ld [hLCDStatCustom + 2], a
+ ld [hFFC6], a
+ ld [hFFC7], a
+ ld [hFFC8], a
ld [hSCX], a
ld [Requested2bppSource], a
ld [Requested2bppSource + 1], a
@@ -254,7 +254,7 @@
ld a, [wMagnetTrainInitPosition]
call ByteFill
ld a, $43
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 8cdc3
@@ -306,14 +306,14 @@
; 8ce06
.Jumptable: ; 8ce06
- jumptable_start
- jumptable .InitPlayerSpriteAnim
- jumptable .WaitScene
- jumptable .MoveTrain1
- jumptable .WaitScene
- jumptable .MoveTrain2
- jumptable .WaitScene
- jumptable .TrainArrived
+
+ dw .InitPlayerSpriteAnim
+ dw .WaitScene
+ dw .MoveTrain1
+ dw .WaitScene
+ dw .MoveTrain2
+ dw .WaitScene
+ dw .TrainArrived
; 8ce14
.Next: ; 8ce14
--- a/event/mom.asm
+++ b/event/mom.asm
@@ -22,7 +22,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -32,17 +32,17 @@
jp [hl]
; 16242
-.jumptable: ; 16242
- jumptable_start
- jumptable .CheckIfBankInitialized
- jumptable .InitializeBank
- jumptable .IsThisAboutYourMoney
- jumptable .AccessBankOfMom
- jumptable .StoreMoney
- jumptable .TakeMoney
- jumptable .StopOrStartSavingMoney
- jumptable .AskDST
- jumptable .JustDoWhatYouCan
+.dw: ; 16242
+
+ dw .CheckIfBankInitialized
+ dw .InitializeBank
+ dw .IsThisAboutYourMoney
+ dw .AccessBankOfMom
+ dw .StoreMoney
+ dw .TakeMoney
+ dw .StopOrStartSavingMoney
+ dw .AskDST
+ dw .JustDoWhatYouCan
; 16254
.CheckIfBankInitialized: ; 16254
--- a/home.asm
+++ b/home.asm
@@ -926,9 +926,8 @@
ld e, a
ld h, 0
ld l, a
-rept 2
add hl, hl ; hl = hl * 4
-endr
+ add hl, hl ; hl = hl * 4
add hl, de ; hl = (hl*4) + de
add hl, hl ; hl = (5*hl) + (5*hl)
ld de, PokemonNames
@@ -1295,9 +1294,8 @@
inc hl
.next_inc2
-rept 2
inc hl
-endr
+ inc hl
jr .loop2
.nope3
@@ -1929,7 +1927,7 @@
Function3b0c:: ; 3b0c
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
and a
ret z
@@ -1992,12 +1990,10 @@
push bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
call Function3f35
pop bc
pop hl
@@ -2021,12 +2017,10 @@
push bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
call Function3f35
pop bc
pop hl
@@ -2147,9 +2141,8 @@
ld c, $8
.asm_3fa5
ld a, [de]
-rept 2
inc de
-endr
+ inc de
cpl
ld [hl], $0
inc hl
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -3,7 +3,7 @@
Function547:: ; 547
; Unreferenced
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
cp rSCX - $ff00
ret nz
ld c, a
@@ -15,7 +15,7 @@
LCD:: ; 552
push af
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
and a
jr z, .done
@@ -26,7 +26,7 @@
ld b, LYOverrides >> 8
ld a, [bc]
ld b, a
- ld a, [hLCDStatCustom]
+ ld a, [hFFC6]
ld c, a
ld a, b
ld [$ff00+c], a
--- a/home/tilemap.asm
+++ b/home/tilemap.asm
@@ -214,13 +214,11 @@
ld a, c
ld b, h
ld c, l
-rept 2
add hl, hl
-endr
+ add hl, hl
add hl, bc
-rept 2
add hl, hl
-endr
+ add hl, hl
ld c, a
xor a
ld b, a
@@ -244,13 +242,11 @@
ld a, c
ld b, h
ld c, l
-rept 2
add hl, hl
-endr
+ add hl, hl
add hl, bc
-rept 2
add hl, hl
-endr
+ add hl, hl
ld c, a
xor a
ld b, a
--- a/home/video.asm
+++ b/home/video.asm
@@ -77,9 +77,8 @@
; We've done 2 16x8 blocks
ld a, [hFFDC]
-rept 2
dec a
-endr
+ dec a
ld [hFFDC], a
jr nz, .next
--- a/hram.asm
+++ b/hram.asm
@@ -76,8 +76,9 @@
hFFC2 EQU $ffc2
hMoneyTemp EQU $ffc3
-hLCDStatCustom EQU $ffc6
-
+hFFC6 EQU $ffc6
+hFFC7 EQU $ffc7
+hFFC8 EQU $ffc8
hMobileReceive EQU $ffc9
hFFCA EQU $ffca
hLinkPlayerNumber EQU $ffcb
--- a/items/item_effects.asm
+++ b/items/item_effects.asm
@@ -1614,11 +1614,11 @@
; f09e
StatusHealer_Jumptable: ; f09e (3:709e)
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
-.jumptable: ; f0a3 (3:70a3)
+.dw: ; f0a3 (3:70a3)
dw StatusHealer_ClearPalettes
dw StatusHealer_NoEffect
dw StatusHealer_ExitMenu
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -74,7 +74,7 @@
Function110030:: ; 110030 (44:4030)
; Use the byte at $c988 as a parameter
-; for a jumptable.
+; for a dw.
; If [$c988] in {12, 14, 16},
; clear [$c835].
push de
@@ -91,7 +91,7 @@
.noreset
ld d, $0
ld e, a
- ld hl, .jumptable
+ ld hl, .dw
add hl, de
ld a, [hli]
ld [$c988], a
@@ -114,10 +114,10 @@
ld a, [hli]
ld h, [hl]
ld l, a
- ret ; indirectly jump to the function loaded from the jumptable, which returns to Function3e60.
+ ret ; indirectly jump to the function loaded from the dw, which returns to Function3e60.
; 110070 (44:4070)
-.jumptable: ; 110070
+.dw: ; 110070
dw Function110115
dw Function110236
dw Function110291
--- a/macros.asm
+++ b/macros.asm
@@ -257,25 +257,15 @@
endc
endm
-jumptable_start: MACRO
-; Use the declare opname you want to use,
-; either "dw", "dba", or "dab".
-if def(__far)
- purge __far
-endc
-if _NARG == 0
-__far EQUS "dw"
-else
-__far EQUS "\1"
-endc
- enum_start
-endm
-
jumptable: MACRO
-if DEF(\1TableIndex)
-__enum__ = __enum__ + 1
-else
- enum \1TableIndex
-endc
- __far \1
+ ld a, [\2]
+ ld e, a
+ ld d, 0
+ ld hl, \1
+ add hl, de
+ add hl, de
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ jp [hl]
endm
--- a/main.asm
+++ b/main.asm
@@ -81,7 +81,7 @@
.Function6473
xor a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld [hBGMapMode], a
ld a, $90
ld [hWY], a
@@ -1045,12 +1045,12 @@
ld a, [wPlayerStepDirection]
cp STANDING
ret z
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
ret
; 81d6
-.jumptable: ; 81d6
+.dw: ; 81d6
dw .Down
dw .Up
dw .Left
@@ -1657,9 +1657,8 @@
ld a, d
ld d, 0
ld hl, .sinewave
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -2061,9 +2060,8 @@
; bc = MON_HP
ld b, h
ld c, l
-rept 2
dec bc
-endr
+ dec bc
ld a, [hli]
ld [bc], a
@@ -2274,10 +2272,10 @@
; c796
.Jumptable: ; c796 (3:4796)
- jumptable_start
- jumptable .CheckAble
- jumptable .DoCut
- jumptable .FailCut
+
+ dw .CheckAble
+ dw .DoCut
+ dw .FailCut
.CheckAble: ; c79c (3:479c)
ld de, ENGINE_HIVEBADGE
@@ -4457,9 +4455,8 @@
jr nc, .ok ; memory
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [CurItem]
cp [hl]
inc hl
@@ -4493,9 +4490,8 @@
dec hl
ld b, h
ld c, l
-rept 2
inc hl
-endr
+ inc hl
.loop2
ld a, [hli]
ld [bc], a
@@ -6115,9 +6111,8 @@
ld a, [hl]
call .addtobuffer
.nope
-rept 2
inc hl
-endr
+ inc hl
jr .loop
.done
@@ -7397,9 +7392,8 @@
ld d, l
ld e, h
pop hl
-rept 2
inc hl
-endr
+ inc hl
ld a, d
or e
jr z, .skip_height
@@ -7505,9 +7499,8 @@
dec a
ld d, 0
ld e, a
-rept 2
add hl, de
-endr
+ add hl, de
ld e, [hl]
inc hl
ld d, [hl]
@@ -7583,9 +7576,8 @@
DrawKrisPackGFX: ; 48e81
ld hl, PackFGFXPointers
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld d, [hl]
@@ -8068,9 +8060,8 @@
ld a, [wMetatileStandingX]
and a
jr z, .left_column
-rept 2
inc hl
-endr
+ inc hl
.left_column
decoord 0, 0
@@ -8221,12 +8212,10 @@
pop bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
ld a, $7
.row
push bc
@@ -9384,11 +9373,10 @@
ld a, [BattleType]
dec a
ld c, a
- ld hl, .jumptable
+ ld hl, .dw
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -9395,7 +9383,7 @@
jp [hl]
; 4e564
-.jumptable: ; 4e564 (13:6564)
+.dw: ; 4e564 (13:6564)
dw .DudeTutorial
dw .DudeTutorial
dw .DudeTutorial
@@ -9453,9 +9441,8 @@
ld a, 1
ld [hli], a
ld a, POKE_BALL ; 5
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], -1
ret
; 4e5da (13:65da)
@@ -9881,9 +9868,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -9899,7 +9885,6 @@
Strings50a42: ; 50a42
; Untranslated trainer class names from Red.
-
dw .Youngster
dw .BugCatcher
dw .Lass
@@ -10346,9 +10331,8 @@
PlaceStatusString: ; 50d0a
push de
-rept 2
inc de
-endr
+ inc de
ld a, [de]
ld b, a
inc de
@@ -10565,9 +10549,8 @@
CalcExpAtLevel: ; 50e47
; (a/b)*n**3 + c*n**2 + d*n - e
ld a, [BaseGrowthRate]
-rept 2
add a
-endr
+ add a
ld c, a
ld b, 0
ld hl, GrowthRates
@@ -11991,9 +11974,8 @@
ld e, a
ld d, 0
ld hl, .Steps
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -13088,9 +13070,8 @@
call .Decompress
ld hl, Unknown_e008b
pop bc
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld d, [hl]
--- a/misc/battle_tower_5c.asm
+++ b/misc/battle_tower_5c.asm
@@ -203,7 +203,7 @@
_BattleTowerBattle: ; 17022c
.loop
- call .do_jumptable
+ call .do_dw
call DelayFrame
ld a, [wBattleTowerBattleEnded]
cp $1
@@ -211,11 +211,11 @@
ret
; 17023a
-.do_jumptable: ; 17023a
+.do_dw: ; 17023a
ld a, [wBattleTowerBattleEnded]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -225,7 +225,7 @@
jp [hl]
; 170249
-.jumptable: ; 170249
+.dw: ; 170249
dw RunBattleTowerTrainer
dw SkipBattleTowerTrainer
; 17024d
@@ -688,7 +688,7 @@
ld a, [wJumptableIndex]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -698,7 +698,7 @@
jp [hl]
; 17051f
-.jumptable: ; 17051f
+.dw: ; 17051f
dw .Jumptable_0
dw .Jumptable_1
dw .Jumptable_2
@@ -945,7 +945,7 @@
ld a, [ScriptVar]
ld e, a
ld d, 0
- ld hl, .jumptable
+ ld hl, .dw
rept 2
add hl, de
endr
@@ -956,7 +956,7 @@
; 170696
-.jumptable: ; 170696 (5c:4696)
+.dw: ; 170696 (5c:4696)
dw Function17075f ; 0x00
dw Function170788 ; 0x01
dw Function170778 ; 0x02
--- a/misc/fixed_words.asm
+++ b/misc/fixed_words.asm
@@ -281,9 +281,9 @@
ld [wcf65], a
ld [wcf66], a
ld [wcd23], a
- ld [BGMapBuffer], a
+ ld [wcd20], a
ld [wcd21], a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld [wcd35], a
ld [wcd2b], a
ld a, $ff
@@ -373,17 +373,7 @@
; 11c2ac
.DoJumptableFunction: ; 11c2ac
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wJumptableIndex
; 11c2bb
@@ -470,12 +460,10 @@
Function11c35f: ; 11c35f (47:435f)
ld hl, wcd2f
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
dec hl
-endr
+ dec hl
dec [hl]
push af
ld de, wcd2d
@@ -486,12 +474,10 @@
Function11c373: ; 11c373 (47:4373)
ld hl, wcd30
-rept 2
inc [hl]
-endr
-rept 2
+ inc [hl]
dec hl
-endr
+ dec hl
dec [hl]
push af
ld de, wcd2d
@@ -563,7 +549,7 @@
call Function11cfb5
Function11c3ed: ; 11c3ed (47:43ed)
- ld hl, BGMapBuffer ; wcd20 (aliases: CreditsPos)
+ ld hl, wcd20 ; wcd20 (aliases: CreditsPos)
ld de, hJoypadPressed ; $ffa3
ld a, [de]
and $8
@@ -597,10 +583,10 @@
jr .asm_11c475
.asm_11c426
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
ret
.asm_11c42c
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
cp $6
jr c, .asm_11c472
sub $6
@@ -689,7 +675,7 @@
ret
.asm_11c4b7
xor a
- ld [CreditsTimer], a
+ ld [wcd22], a
ld a, $15
ret
@@ -780,7 +766,7 @@
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
@@ -808,7 +794,7 @@
ret
.asm_11c5ab
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -1131,12 +1117,11 @@
jr .asm_11c795
.asm_11c7ab
ld hl, $c68a + 30
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hl]
ld [wcd28], a
jr .asm_11c79f
@@ -1211,9 +1196,8 @@
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1223,9 +1207,8 @@
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd26]
ld e, a
.asm_11c831
@@ -1368,7 +1351,7 @@
; 11c8f6
Function11c8f6: ; 11c8f6 (47:48f6)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11c95d
push hl
ld a, [wcd2b]
@@ -1388,13 +1371,12 @@
push de
call Function11c05d
pop de
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
ld c, a
ld b, $0
ld hl, wcd36
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], e
inc hl
ld [hl], d
@@ -1414,9 +1396,8 @@
ld a, [wcd22]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1426,14 +1407,12 @@
ld a, [wcd26]
ld e, a
ld d, $0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd25]
ld e, a
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -1534,7 +1513,7 @@
jr nz, .asm_11c9e9
call Function11ca5e
xor a
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.asm_11c9e9
ld hl, wcd24
set 4, [hl]
@@ -1621,9 +1600,8 @@
ld hl, wcd36
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld [hl], b
inc hl
ld [hl], b
@@ -1737,9 +1715,8 @@
.asm_11cb58
dec a
jr z, .asm_11cb5f
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cb58
.asm_11cb5f
ld a, [hli]
@@ -1798,9 +1775,8 @@
.asm_11cbba
dec a
jr z, .asm_11cbc1
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11cbba
.asm_11cbc1
ld a, [hli]
@@ -2044,7 +2020,7 @@
call Function11cfb5
Function11ce2b: ; 11ce2b (47:4e2b)
- ld a, [CreditsTimer]
+ ld a, [wcd22]
sla a
sla a
ld c, a
@@ -2083,7 +2059,7 @@
ret
.a
- ld a, [CreditsTimer]
+ ld a, [wcd22]
cp NUM_KANA
jr c, .place
sub NUM_KANA
@@ -2096,7 +2072,7 @@
ld hl, wcd24
set 0, [hl]
ld a, $8
- ld [BGMapBuffer], a ; wcd20 (aliases: CreditsPos)
+ ld [wcd20], a ; wcd20 (aliases: CreditsPos)
.b
ld a, $4
jr .load
@@ -2122,7 +2098,7 @@
ret
.asm_11cea4
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
call Function11ca6a
call PlayClickSFX
ret
@@ -2137,7 +2113,7 @@
ld a, [hl]
cp $ff
ret z
- ld [CreditsTimer], a
+ ld [wcd22], a
ret
; 11ceb9 (47:4eb9)
@@ -2253,9 +2229,8 @@
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11cff6
ld c, a
ld a, $7a
@@ -2271,9 +2246,8 @@
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d022
ld b, a
.asm_11d005
@@ -2281,9 +2255,8 @@
ld a, $7c
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d015
ld c, a
ld a, $7f
@@ -2305,9 +2278,8 @@
ld a, $7d
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_11d031
ld c, a
ld a, $7a
@@ -2369,9 +2341,8 @@
ld a, [de]
cp $2
jr z, .asm_11d082
-rept 2
dec a
-endr
+ dec a
.asm_11d078
push af
ld a, $7a
@@ -2397,9 +2368,8 @@
cp $2
ret z
push bc
-rept 2
dec a
-endr
+ dec a
ld c, a
ld b, a
ld de, $14
@@ -2429,71 +2399,69 @@
ret
Function11d0b6: ; 11d0b6 (47:50b6)
- ld hl, $c
+ ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
ld e, a
ld d, 0
- ld hl, Jumptable_11d0c7
-rept 2
+ ld hl, .Jumptable
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp [hl]
-Jumptable_11d0c7: ; 11d0c7 (47:50c7)
- dw Function11d0dd
- dw Function11d0e9
- dw Function11d0f5
- dw Function11d10f
- dw Function11d134
- dw Function11d145
- dw Function11d156
- dw Function11d175
- dw Function11d1d7
- dw Function11d1d1
- dw Function11d1fc
+.Jumptable
+ dw .zero
+ dw .one
+ dw .two
+ dw .three
+ dw .four
+ dw .five
+ dw .six
+ dw .seven
+ dw .eight
+ dw .nine
+ dw .ten
-Function11d0dd: ; 11d0dd (47:50dd)
- ld a, [BGMapBuffer] ; wcd20 (aliases: CreditsPos)
+.zero: ; 11d0dd (47:50dd)
+ ld a, [wcd20] ; wcd20 (aliases: CreditsPos)
sla a
ld hl, Unknown_11d208
ld e, $1
- jr asm_11d11e
+ jr .load
-Function11d0e9: ; 11d0e9 (47:50e9)
+.one: ; 11d0e9 (47:50e9)
ld a, [wcd21]
sla a
ld hl, Unknown_11d21a
ld e, $2
- jr asm_11d11e
+ jr .load
-Function11d0f5: ; 11d0f5 (47:50f5)
+.two: ; 11d0f5 (47:50f5)
ld hl, Unknown_11d2be
- ld a, [CreditsTimer]
+ ld a, [wcd22]
ld e, a
ld d, $0
add hl, de
ld a, [hl]
call ReinitSpriteAnimFrame
- ld a, [CreditsTimer]
+ ld a, [wcd22]
sla a
ld hl, Unknown_11d23e
ld e, $4
- jr asm_11d11e
+ jr .load
-Function11d10f: ; 11d10f (47:510f)
- ld a, $27
+.three: ; 11d10f (47:510f)
+ ld a, SPRITE_ANIM_FRAMESET_27
call ReinitSpriteAnimFrame
ld a, [wcd25]
sla a
ld hl, Unknown_11d29e
ld e, $8
-
-asm_11d11e: ; 11d11e (47:511e)
+.load: ; 11d11e (47:511e)
push de
ld e, a
ld d, $0
@@ -2500,7 +2468,7 @@
add hl, de
push hl
pop de
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld a, [de]
inc de
@@ -2512,26 +2480,26 @@
call Function11d2ee
ret
-Function11d134: ; 11d134 (47:5134)
- ld a, $27
+.four: ; 11d134 (47:5134)
+ ld a, SPRITE_ANIM_FRAMESET_27
call ReinitSpriteAnimFrame
ld a, [wcd2a]
sla a
ld hl, Unknown_11d2b6
ld e, $10
- jr asm_11d11e
+ jr .load
-Function11d145: ; 11d145 (47:5145)
- ld a, $27
+.five: ; 11d145 (47:5145)
+ ld a, SPRITE_ANIM_FRAMESET_27
call ReinitSpriteAnimFrame
ld a, [wcd2c]
sla a
ld hl, Unknown_11d2ba
ld e, $20
- jr asm_11d11e
+ jr .load
-Function11d156: ; 11d156 (47:5156)
- ld a, $2a
+.six: ; 11d156 (47:5156)
+ ld a, SPRITE_ANIM_FRAMESET_2A
call ReinitSpriteAnimFrame
ld a, [wcd4a]
sla a
@@ -2548,14 +2516,14 @@
call Function11d2ee
ret
-Function11d175: ; 11d175 (47:5175)
+.seven: ; 11d175 (47:5175)
ld a, [wcd4d]
cp $4
jr z, .asm_11d180
- ld a, $28
+ ld a, SPRITE_ANIM_FRAMESET_28
jr .asm_11d182
.asm_11d180
- ld a, $26
+ ld a, SPRITE_ANIM_FRAMESET_26
.asm_11d182
call ReinitSpriteAnimFrame
ld a, [wcd4d]
@@ -2566,7 +2534,7 @@
sla a
sla a
add $20
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, [wcd4d]
@@ -2590,7 +2558,7 @@
sla a
add e
add $18
- ld hl, $4
+ ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc
ld [hli], a
ld a, $8a
@@ -2600,16 +2568,15 @@
call Function11d2ee
ret
-Function11d1d1: ; 11d1d1 (47:51d1)
- ld d, $98
- ld a, $2c
- jr asm_11d1db
+.nine: ; 11d1d1 (47:51d1)
+ ld d, -13 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2C
+ jr .eight_nine_load
-Function11d1d7: ; 11d1d7 (47:51d7)
- ld d, $10
- ld a, $2b
-
-asm_11d1db: ; 11d1db (47:51db)
+.eight: ; 11d1d7 (47:51d7)
+ ld d, 2 * 8
+ ld a, SPRITE_ANIM_FRAMESET_2B
+.eight_nine_load: ; 11d1db (47:51db)
push de
call ReinitSpriteAnimFrame
ld a, [wcd4a]
@@ -2619,8 +2586,8 @@
ld e, a
sla a
add e
- add $40
- ld hl, $5
+ add 8 * 8
+ ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc
ld [hld], a
pop af
@@ -2630,8 +2597,8 @@
call Function11d2ee
ret
-Function11d1fc: ; 11d1fc (47:51fc)
- ld a, $26
+.ten: ; 11d1fc (47:51fc)
+ ld a, SPRITE_ANIM_FRAMESET_26
call ReinitSpriteAnimFrame
ld a, $8
ld e, a
@@ -3119,9 +3086,8 @@
ld hl, $0005
add hl, de
ld a, [bc]
-rept 2
inc bc
-endr
+ inc bc
push bc
.asm_11d4cf
push af
@@ -3162,7 +3128,6 @@
SortedPokemon:
; Pokemon sorted by kana.
; Notably, Rhydon is missing.
-
dw .a
dw .i
dw .u
--- a/misc/mobile_12.asm
+++ b/misc/mobile_12.asm
@@ -519,9 +519,8 @@
.loop
and a
jr z, .got_string
-rept 2
inc hl
-endr
+ inc hl
dec a
jr .loop
.got_string
@@ -746,9 +745,8 @@
pop af
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
rept 3
ld [hli], a
@@ -1673,12 +1671,10 @@
pop bc
ld de, AttrMap - TileMap
add hl, de
-rept 2
inc b
-endr
-rept 2
+ inc b
inc c
-endr
+ inc c
ld a, $0
.asm_48ced
push bc
--- a/misc/mobile_22_2.asm
+++ b/misc/mobile_22_2.asm
@@ -1,6 +1,6 @@
Function8b342:: ; 8b342
; Loads the secondary map header pointer, then runs through a
-; jumptable with three dummy functions. Spends a lot of energy
+; dw with three dummy functions. Spends a lot of energy
; doing pretty much nothing.
call GetSecondaryMapHeaderPointer
ld d, h
@@ -10,7 +10,7 @@
xor a
.loop
push af
- ld hl, .jumptable
+ ld hl, .dw
rst JumpTable
pop af
inc a
@@ -19,7 +19,7 @@
ret
; 8b354
-.jumptable: ; 8b354
+.dw: ; 8b354
dw .zero
dw .one
dw .two
--- a/misc/mobile_40.asm
+++ b/misc/mobile_40.asm
@@ -67,7 +67,7 @@
ld [BGMapBuffer], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ret
; 100082
@@ -84,7 +84,7 @@
ld [rIE], a
xor a
ld [hMapAnims], a
- ld [hLCDStatCustom], a
+ ld [hFFC6], a
ld a, $1
ld [hMobileReceive], a
ld [hMobile], a
@@ -118,9 +118,8 @@
ld a, [wcd25]
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wcd22]
call GetFarHalfword
ld a, [wcd22]
@@ -1912,9 +1911,8 @@
ld a, [wMenuCursorY]
ld b, a
ld a, [wNumMoves]
-rept 2
inc a
-endr
+ inc a
cp b
jp nz, .asm_100bcb
ld a, $1
@@ -4746,9 +4744,8 @@
Function101ee4: ; 101ee4
ld d, 0
ld hl, Unknown_101ef5
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld d, [hl]
ld e, a
@@ -7228,9 +7225,8 @@
inc hl
push hl
-rept 2
add a
-endr
+ add a
add Unknown_10327a % $100
ld l, a
@@ -7693,9 +7689,8 @@
callba Function10138b
ld b, 0
ld hl, Unknown_1035d7
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -7708,7 +7703,6 @@
dw Unknown_103608
dw Unknown_103608
dw Unknown_1035fe
-
dw AskMobileOrCable
dw AskMobileOrCable
dw AskMobileOrCable
@@ -8096,9 +8090,8 @@
ld [wdc60], a
xor a
ld hl, wdc5c
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ld [hl], a
ld hl, UnknownText_0x103876
call PrintText
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -382,27 +382,27 @@
; 10828a
.Jumptable: ; 10828a
- jumptable_start
- jumptable GetMobileTradeAnimByte ; 00
- jumptable MobileTradeAnim_ShowPlayerMonToBeSent ; 01
- jumptable MobileTradeAnim_02 ; 02
- jumptable MobileTradeAnim_GiveTrademon1 ; 03
- jumptable MobileTradeAnim_GiveTrademon2 ; 04
- jumptable MobileTradeAnim_05 ; 05
- jumptable MobileTradeAnim_06 ; 06
- jumptable MobileTradeAnim_07 ; 07
- jumptable MobileTradeAnim_GetTrademon1 ; 08
- jumptable MobileTradeAnim_GetTrademon2 ; 09
- jumptable MobileTradeAnim_GetTrademon3 ; 0a
- jumptable MobileTradeAnim_ShowOTMonFromTrade ; 0b
- jumptable EndMobileTradeAnim ; 0c
- jumptable MobileTradeAnim_ShowPlayerMonForGTS ; 0d
- jumptable MobileTradeAnim_ShowOTMonFromGTS ; 0e
- jumptable MobileTradeAnim_0f ; 0f
- jumptable MobileTradeAnim_10 ; 10
- jumptable MobileTradeAnim_11 ; 11
- jumptable MobileTradeAnim_FadeToBlack ; 12
- jumptable MobileTradeAnim_GetOddEgg ; 13 get odd egg
+
+ dw GetMobileTradeAnimByte ; 00
+ dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01
+ dw MobileTradeAnim_02 ; 02
+ dw MobileTradeAnim_GiveTrademon1 ; 03
+ dw MobileTradeAnim_GiveTrademon2 ; 04
+ dw MobileTradeAnim_05 ; 05
+ dw MobileTradeAnim_06 ; 06
+ dw MobileTradeAnim_07 ; 07
+ dw MobileTradeAnim_GetTrademon1 ; 08
+ dw MobileTradeAnim_GetTrademon2 ; 09
+ dw MobileTradeAnim_GetTrademon3 ; 0a
+ dw MobileTradeAnim_ShowOTMonFromTrade ; 0b
+ dw EndMobileTradeAnim ; 0c
+ dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d
+ dw MobileTradeAnim_ShowOTMonFromGTS ; 0e
+ dw MobileTradeAnim_0f ; 0f
+ dw MobileTradeAnim_10 ; 10
+ dw MobileTradeAnim_11 ; 11
+ dw MobileTradeAnim_FadeToBlack ; 12
+ dw MobileTradeAnim_GetOddEgg ; 13 get odd egg
; 1082b2
MobileTradeAnim_Next: ; 1082b2
--- a/misc/mobile_46.asm
+++ b/misc/mobile_46.asm
@@ -564,17 +564,7 @@
; 1184a5
Function1184a5: ; 1184a5
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184b4
.Jumptable: ; 1184b4
@@ -609,17 +599,7 @@
; 1184ec
Function1184ec: ; 1184ec
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1184fb
.Jumptable: ; 1184fb
@@ -667,17 +647,7 @@
; 11854d
Function11854d: ; 11854d
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11855c
.Jumptable: ; 11855c
@@ -700,17 +670,7 @@
; 11857c
Function11857c: ; 11857c
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 11858b
.Jumptable: ; 11858b
@@ -745,17 +705,7 @@
; 1185c3
Function1185c3: ; 1185c3
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1185d2
.Jumptable: ; 1185d2
@@ -803,17 +753,7 @@
; 118624
Function118624: ; 118624
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118633
.Jumptable: ; 118633
@@ -851,17 +791,7 @@
; 118671
Function118671: ; 118671
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118680
.Jumptable: ; 118680
@@ -893,17 +823,7 @@
; 1186b2
Function1186b2: ; 1186b2
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 1186c1
.Jumptable: ; 1186c1
@@ -936,17 +856,7 @@
; 1186f5
Function1186f5: ; 1186f5 (46:46f5)
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118704 (46:4704)
.Jumptable: ; 118704 (46:4704)
@@ -986,17 +896,7 @@
; 118746 (46:4746)
Function118746: ; 118746
- ld a, [wcf66]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, wcf66
; 118755
.Jumptable: ; 118755
@@ -1627,9 +1527,8 @@
jr nz, .asm_118b8c
dec hl
xor a
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ret
; 118b9a
@@ -1830,9 +1729,8 @@
ld a, [hld]
cp $2f
jr nz, .asm_118e3e
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd85
ld c, $4
.asm_118e4a
@@ -2691,9 +2589,8 @@
ld c, a
ld a, [w3_d000 + 1]
ld b, a
-rept 2
dec bc
-endr
+ dec bc
ld hl, wd002
ld a, [hli]
ld e, a
@@ -2883,9 +2780,8 @@
.asm_119552
inc hl
.asm_119553
-rept 2
inc hl
-endr
+ inc hl
jr .asm_11955b
.asm_119557
ld de, $14
@@ -3230,9 +3126,8 @@
ld a, [hld]
cp $58
jr z, .asm_11975b
-rept 2
inc hl
-endr
+ inc hl
ld a, d
dec a
jr z, .asm_11978e
@@ -3815,9 +3710,8 @@
ld a, [de]
cp $d
jr nz, .asm_119b85
-rept 2
inc de
-endr
+ inc de
.asm_119b93
ld a, [de]
inc de
@@ -4349,7 +4243,9 @@
ld [wcd8c], a
ld a, $1
ld [rSVBK], a
- call Function119eee
+
+ call .RunJumptable
+
ld a, [wcd8c]
ld [rSVBK], a
ld a, $1
@@ -4356,21 +4252,10 @@
ld [hBGMapMode], a
ret
-Function119eee: ; 119eee (46:5eee)
- ld a, [wcd3c]
- ld e, a
- ld d, 0
- ld hl, Jumptable_119efd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 119efd (46:5efd)
+.RunJumptable
+ jumptable .Jumptable, wcd3c
-Jumptable_119efd: ; 119efd
+.Jumptable
dw Function119f3f
dw Function119f45
dw Function119f56
@@ -5553,17 +5438,7 @@
; 11a8fa
Function11a8fa: ; 11a8fa
- ld a, [$c31a]
- ld e, a
- ld d, 0
- ld hl, .Jumptable
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable .Jumptable, $c31a
; 11a909
.Jumptable: ; 11a909
@@ -6328,9 +6203,8 @@
dec a
ld c, a
ld b, 0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, e
ld e, [hl]
inc hl
@@ -6803,9 +6677,8 @@
Function11b239: ; 11b239
ld e, a
ld d, 0
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -7210,20 +7083,9 @@
; 11b46a
Function11b46a: ; 11b46a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b479
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b479
+ jumptable .Jumptable, wJumptableIndex
-Jumptable_11b479: ; 11b479
+.Jumptable
dw Function11b483
dw Function11b570
dw Function11b5c0
@@ -7232,7 +7094,7 @@
; 11b483
Function11b483: ; 11b483
- call Function11b538
+ call .InitRAM
ld hl, PlayerName
ld a, $5 ; Japanese Name Length
.loop1
@@ -7291,9 +7153,8 @@
pop de
ld h, d
ld l, e
-rept 2
dec hl
-endr
+ dec hl
ld a, [de]
ld [hli], a
inc de
@@ -7369,9 +7230,8 @@
jr nz, .loop9
call CloseSRAM
jp Function11ad8a
-; 11b538
-Function11b538: ; 11b538
+.InitRAM
ld bc, wc626
ld a, [PlayerID]
ld [wcd2a], a
@@ -7416,7 +7276,7 @@
ld a, [ScriptVar]
and a
jr nz, .exit
- call Function11b585
+ call .SaveData
jp Function11ad8a
.exit
@@ -7423,19 +7283,21 @@
ld a, $4
ld [wJumptableIndex], a
ret
-; 11b585
-Function11b585: ; 11b585
+.SaveData
ld a, $3
ld [rSVBK], a
+
ld hl, w3_d800
ld de, $c608
ld bc, w3_d88f - w3_d800
call CopyBytes
+
ld a, $1
ld [rSVBK], a
ld a, $5
call GetSRAMBank
+
ld de, $a800
ld a, $1
ld [de], a
@@ -7443,8 +7305,10 @@
ld hl, $c608
ld bc, w3_d88f - w3_d800
call CopyBytes
+
push de
pop hl
+
ld a, [hRTCMinutes]
ld [hli], a
ld a, [hRTCHours]
@@ -7453,6 +7317,7 @@
ld [hli], a
ld a, [hRTCDayHi]
ld [hl], a
+
call CloseSRAM
ret
; 11b5c0
@@ -7484,7 +7349,7 @@
call GetSRAMBank
ld hl, wRTC
ld de, $c608
- ld bc, $0004
+ ld bc, 4
call CopyBytes
call CloseSRAM
ld a, $5
@@ -7491,7 +7356,7 @@
call GetSRAMBank
ld hl, $c608
ld de, $b08c
- ld bc, $0004
+ ld bc, 4
call CopyBytes
ld a, $2
ld [$a800], a
@@ -7513,35 +7378,20 @@
ld [wcd31], a
call CloseSRAM
call Function11b44b
- call Function11b64c
+ call .loop
ret
-; 11b64c
-Function11b64c: ; 11b64c
-.asm_11b64c
- call Function11b65a
+.loop
+ call .RunJumptable
call DelayFrame
ld a, [wJumptableIndex]
cp $1
- jr nz, .asm_11b64c
+ jr nz, .loop
ret
-; 11b65a
-Function11b65a: ; 11b65a
- ld a, [wJumptableIndex]
- ld e, a
- ld d, 0
- ld hl, Jumptable_11b669
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
-; 11b669
-
-Jumptable_11b669: ; 11b669
+.RunJumptable
+ jumptable .Jumptable, wJumptableIndex
+.Jumptable
dw Function11b66d
dw Function11b6b3
; 11b66d
--- a/misc/mobile_5f.asm
+++ b/misc/mobile_5f.asm
@@ -733,17 +733,7 @@
; 17d474
Function17d474: ; 17d474
- ld a, [wcd77]
- ld e, a
- ld d, 0
- ld hl, Jumptable_17d483
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable Jumptable_17d483, wcd77
; 17d483
Jumptable_17d483: ; 17d483
@@ -920,16 +910,14 @@
ld a, [wcd42]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4b], a
ld a, h
ld [wcd4c], a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, l
ld [wcd4d], a
ld a, h
@@ -955,9 +943,8 @@
.loop
srl a
jr c, .got_button
-rept 2
inc c
-endr
+ inc c
jr .loop
.got_button
@@ -1044,12 +1031,10 @@
ld [wcd4c], a
pop de
pop hl
-rept 2
inc b
-endr
-rept 2
+ inc b
dec c
-endr
+ dec c
jr z, .asm_17d684
push bc
push de
@@ -1095,17 +1080,15 @@
ld a, $5
call GetSRAMBank
ld hl, $b1d3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld [wcd47], a
ld a, [hl]
ld [BGMapPalBuffer], a
ld hl, $b1b3
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -1121,9 +1104,8 @@
ld de, wcd60
ld bc, $0004
call CopyBytes
-rept 2
inc hl
-endr
+ inc hl
ld de, wcd64
ld bc, $0004
call CopyBytes
@@ -1159,9 +1141,8 @@
ld e, a
ld d, 0
ld hl, Jumptable17d72a
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -2015,9 +1996,8 @@
ld a, [wcd2e]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld c, a
ld a, [hl]
@@ -2432,9 +2412,8 @@
jr .asm_17df7b
.asm_17df79
-rept 2
inc hl
-endr
+ inc hl
.asm_17df7b
bit 4, b
@@ -2487,9 +2466,8 @@
jr .asm_17dfd2
.asm_17dfd0
-rept 2
inc hl
-endr
+ inc hl
.asm_17dfd2
bit 5, b
@@ -2614,9 +2592,8 @@
jr .asm_17e0a4
.asm_17e0a2
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0a4
bit 4, b
@@ -2632,9 +2609,8 @@
jr .asm_17e0b6
.asm_17e0b4
-rept 2
inc hl
-endr
+ inc hl
.asm_17e0b6
bit 5, b
@@ -2656,9 +2632,8 @@
call CloseSRAM
pop hl
pop bc
-rept 2
inc hl
-endr
+ inc hl
jr asm_17e0ee
.asm_17e0e1
@@ -2703,9 +2678,8 @@
call ReceiveItem
pop hl
jr c, .asm_17e127
-rept 2
inc hl
-endr
+ inc hl
.asm_17e127
ld a, [hli]
@@ -2735,9 +2709,8 @@
callba MobileCheckOwnMonAnywhere
pop hl
jr c, .asm_17e159
-rept 2
inc hl
-endr
+ inc hl
.asm_17e159
ld a, [hli]
@@ -2773,9 +2746,8 @@
call CheckItem
pop hl
jr c, .asm_17e195
-rept 2
inc hl
-endr
+ inc hl
.asm_17e195
ld a, [hli]
@@ -3240,9 +3212,8 @@
ld [wcd2e], a
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
push hl
hlcoord 0, 0
ld bc, $0014
@@ -3467,9 +3438,8 @@
ld l, a
ld a, [wcd4e]
ld h, a
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -3534,9 +3504,8 @@
ld [hli], a
ld a, [de]
inc de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e63f
ld c, a
ld a, [wcd53]
@@ -3555,9 +3524,8 @@
add hl, bc
ld a, [de]
dec de
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e674
ld b, a
.asm_17e651
@@ -3566,9 +3534,8 @@
add $3
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e664
ld c, a
ld a, $7f
@@ -3594,9 +3561,8 @@
add $5
ld [hli], a
ld a, [de]
-rept 2
dec a
-endr
+ dec a
jr z, .asm_17e689
ld c, a
ld a, [wcd53]
@@ -3622,9 +3588,8 @@
inc de
push af
ld a, [de]
-rept 2
inc de
-endr
+ inc de
and a
.asm_17e69f
jr z, .asm_17e6a5
@@ -3776,9 +3741,8 @@
ld e, a
ld d, 0
ld hl, Jumptable_17f061
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
@@ -3815,9 +3779,8 @@
ld de, $0004
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -3960,9 +3923,8 @@
pop hl
call Function17f524
jr c, .asm_17f167
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld a, [de]
@@ -4150,9 +4112,8 @@
ld e, a
ld d, 0
ld hl, .Genders
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
@@ -4414,9 +4375,8 @@
ld a, [de]
ld c, a
ld b, $0
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
@@ -4431,9 +4391,8 @@
ld e, a
ld d, $0
pop hl
-rept 2
add hl, de
-endr
+ add hl, de
rept 3
inc hl
endr
@@ -4497,9 +4456,8 @@
ld de, $0005
add hl, de
ld a, [hli]
-rept 2
inc hl
-endr
+ inc hl
ld e, l
ld d, h
ld l, c
@@ -4738,17 +4696,7 @@
; 17f5ae
Function17f5ae: ; 17f5ae
- ld a, [wc303]
- ld e, a
- ld d, 0
- ld hl, Table17f5bd
-rept 2
- add hl, de
-endr
- ld a, [hli]
- ld h, [hl]
- ld l, a
- jp [hl]
+ jumptable Table17f5bd, wc303
; 17f5bd
Table17f5bd: ; 17f5bd
@@ -4818,9 +4766,8 @@
ld e, a
ld d, $0
ld hl, Table_17f706
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [wc301]
ld e, a
ld a, [wc302]
@@ -4858,9 +4805,8 @@
jr .asm_17f67d
.asm_17f674
-rept 2
inc hl
-endr
+ inc hl
dec c
jr nz, .asm_17f65d
@@ -4878,9 +4824,8 @@
ld e, a
ld d, 0
ld hl, Table_17f699
-rept 2
add hl, de
-endr
+ add hl, de
ld a, [hli]
ld e, a
ld a, [hl]
--- a/misc/mobile_menu.asm
+++ b/misc/mobile_menu.asm
@@ -162,9 +162,8 @@
add B_BUTTON
ld [hli], a ; wMenuJoypadFilter
ld a, 1
-rept 2
ld [hli], a ; wMenuCursorY, wMenuCursorX
-endr
+ ld [hli], a ; wMenuCursorY, wMenuCursorX
ret
Function4a098: ; 4a098 (12:6098)
@@ -246,9 +245,8 @@
add $2
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ret
Function4a13b: ; 4a13b (12:613b)
@@ -523,9 +521,8 @@
add $2
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
ret
; 4a39a (12:639a)
@@ -836,9 +833,8 @@
add $2
ld [hli], a
ld a, $1
-rept 2
ld [hli], a
-endr
+ ld [hli], a
xor a
rept 3
ld [hli], a
--- a/predef/cgb.asm
+++ b/predef/cgb.asm
@@ -18,7 +18,7 @@
ld l, a
ld h, 0
add hl, hl
- ld de, .jumptable
+ ld de, .dw
add hl, de
ld a, [hli]
ld h, [hl]
@@ -32,7 +32,7 @@
ret
; 8d7a
-.jumptable: ; 8d7a
+.dw: ; 8d7a
dw _CGB00
dw _CGB01
dw _CGB02
@@ -92,9 +92,8 @@
ld a, [EnemyHPPal]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
call LoadPalette_White_Col1_Col2_Black
@@ -101,9 +100,8 @@
ld a, [PlayerHPPal]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
call LoadPalette_White_Col1_Col2_Black
@@ -209,9 +207,8 @@
ld a, [wcda1]
ld l, a
ld h, $0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
call LoadPalette_White_Col1_Col2_Black
@@ -489,9 +486,8 @@
_CGB07: ; 9122
ld b, 0
ld hl, Jumptable_912d
-rept 2
add hl, bc
-endr
+ add hl, bc
ld a, [hli]
ld h, [hl]
ld l, a
@@ -797,9 +793,8 @@
ld a, [PlayerHPPal]
ld l, a
ld h, 0
-rept 2
add hl, hl
-endr
+ add hl, hl
ld bc, Palettes_a8be
add hl, bc
call LoadPalette_White_Col1_Col2_Black
--- a/predef/crystal.asm
+++ b/predef/crystal.asm
@@ -10,7 +10,7 @@
ld l, a
ld h, 0
add hl, hl
- ld de, .jumptable
+ ld de, .dw
add hl, de
ld a, [hli]
ld h, [hl]
@@ -22,11 +22,11 @@
ret
; 49330 (12:5330)
-.jumptable: ; 49330
- jumptable_start
- jumptable MG_Mobile_Layout00
- jumptable MG_Mobile_Layout01
- jumptable MG_Mobile_Layout02
+.dw: ; 49330
+
+ dw MG_Mobile_Layout00
+ dw MG_Mobile_Layout01
+ dw MG_Mobile_Layout02
; 49336
MG_Mobile_Layout_FillBox: ; 49336