2014-05-22 22:13:20 +00:00
|
|
|
Func_708ca: ; 708ca (1c:48ca)
|
|
|
|
ld a, $e4
|
|
|
|
ld [rOBP1], a ; $ff49
|
|
|
|
call Func_7092a
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 12, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
|
|
|
ld bc, $707
|
|
|
|
call ClearScreenArea
|
|
|
|
call Delay3
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
ld a, $91
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wHPBarMaxHP], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, $1
|
|
|
|
ld [H_WHOSETURN], a ; $fff3
|
|
|
|
callab Func_79793
|
|
|
|
ld d, $80
|
|
|
|
call Func_704f3
|
|
|
|
.asm_708f6
|
|
|
|
ld c, $a
|
|
|
|
call DelayFrames
|
|
|
|
ld a, [rOBP1] ; $ff49
|
|
|
|
sla a
|
|
|
|
sla a
|
|
|
|
ld [rOBP1], a ; $ff49
|
|
|
|
jr nz, .asm_708f6
|
2014-05-23 22:34:35 +00:00
|
|
|
call ClearSprites
|
2014-05-22 22:13:20 +00:00
|
|
|
call Func_7092a
|
|
|
|
ld b, $e4
|
|
|
|
.asm_7090d
|
|
|
|
ld c, $a
|
|
|
|
call DelayFrames
|
|
|
|
ld a, [rOBP1] ; $ff49
|
|
|
|
srl b
|
|
|
|
rra
|
|
|
|
srl b
|
|
|
|
rra
|
|
|
|
ld [rOBP1], a ; $ff49
|
|
|
|
ld a, b
|
|
|
|
and a
|
|
|
|
jr nz, .asm_7090d
|
|
|
|
ld a, $1
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
call Delay3
|
2014-05-23 22:34:35 +00:00
|
|
|
jp ClearSprites
|
2014-05-22 22:13:20 +00:00
|
|
|
|
|
|
|
Func_7092a: ; 7092a (1c:492a)
|
|
|
|
ld de, $9000
|
|
|
|
ld hl, $8000
|
|
|
|
ld bc, $31
|
|
|
|
call CopyVideoData
|
|
|
|
ld a, $10
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [W_BASECOORDY], a ; wd082
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, $70
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [W_BASECOORDX], a ; wd081
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, wOAMBuffer
|
|
|
|
ld bc, $606
|
|
|
|
ld d, $8
|
|
|
|
.asm_70948
|
|
|
|
push bc
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_BASECOORDY] ; wd082
|
2014-05-22 22:13:20 +00:00
|
|
|
ld e, a
|
|
|
|
.asm_7094d
|
|
|
|
ld a, e
|
|
|
|
add $8
|
|
|
|
ld e, a
|
|
|
|
ld [hli], a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_BASECOORDX] ; wd081
|
2014-05-22 22:13:20 +00:00
|
|
|
ld [hli], a
|
|
|
|
ld a, d
|
|
|
|
ld [hli], a
|
|
|
|
ld a, $10
|
|
|
|
ld [hli], a
|
|
|
|
inc d
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_7094d
|
|
|
|
inc d
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_BASECOORDX] ; wd081
|
2014-05-22 22:13:20 +00:00
|
|
|
add $8
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [W_BASECOORDX], a ; wd081
|
2014-05-22 22:13:20 +00:00
|
|
|
pop bc
|
|
|
|
dec b
|
|
|
|
jr nz, .asm_70948
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_7096d: ; 7096d (1c:496d)
|
|
|
|
ld a, $1
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
call Delay3
|
|
|
|
xor a
|
|
|
|
ld [$ffb0], a
|
|
|
|
dec a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wcfcb], a
|
2014-05-22 22:13:20 +00:00
|
|
|
call DelayFrame
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wSpriteStateData1 + 2
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, [H_DOWNARROWBLINKCNT2] ; $ff8c
|
|
|
|
ld c, a
|
|
|
|
ld b, $0
|
|
|
|
ld de, $10
|
|
|
|
.asm_70989
|
|
|
|
ld a, [hl]
|
|
|
|
cp $ff
|
|
|
|
jr z, .asm_7098f
|
|
|
|
inc b
|
|
|
|
.asm_7098f
|
|
|
|
add hl, de
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70989
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, wOAMBuffer + $10
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $9
|
|
|
|
.asm_70998
|
|
|
|
ld a, b
|
|
|
|
swap a
|
|
|
|
cp l
|
|
|
|
jr z, .asm_709a9
|
|
|
|
push hl
|
|
|
|
push bc
|
|
|
|
ld bc, $10
|
|
|
|
xor a
|
|
|
|
call FillMemory
|
|
|
|
pop bc
|
|
|
|
pop hl
|
|
|
|
.asm_709a9
|
|
|
|
ld de, $10
|
|
|
|
add hl, de
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70998
|
|
|
|
call Delay3
|
|
|
|
call LoadBattleTransitionTile
|
|
|
|
ld bc, $0
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_ISLINKBATTLE] ; W_ISLINKBATTLE
|
2014-05-22 22:13:20 +00:00
|
|
|
cp $4
|
|
|
|
jr z, .asm_709c9
|
|
|
|
call Func_709e2
|
|
|
|
call Func_709ef
|
|
|
|
call Func_70a19
|
|
|
|
.asm_709c9
|
|
|
|
ld hl, PointerTable_709d2 ; $49d2
|
|
|
|
add hl, bc
|
|
|
|
add hl, bc
|
|
|
|
ld a, [hli]
|
|
|
|
ld h, [hl]
|
|
|
|
ld l, a
|
|
|
|
jp [hl]
|
|
|
|
|
|
|
|
PointerTable_709d2: ; 709d2 (1c:49d2)
|
|
|
|
dw Func_70d24
|
|
|
|
dw Func_70a72
|
|
|
|
dw Func_70ce4
|
|
|
|
dw Func_70a72
|
|
|
|
dw Func_70cb4
|
|
|
|
dw Func_70b7f
|
|
|
|
dw Func_70c7e
|
|
|
|
dw Func_70bca
|
|
|
|
|
|
|
|
Func_709e2: ; 709e2 (1c:49e2)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_CUROPPONENT] ; wd059
|
2014-05-22 22:13:20 +00:00
|
|
|
cp $c8
|
|
|
|
jr nc, .asm_709ec
|
|
|
|
res 0, c
|
|
|
|
ret
|
|
|
|
.asm_709ec
|
|
|
|
set 0, c
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_709ef: ; 709ef (1c:49ef)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld hl, W_PARTYMON1_HP ; wd16c
|
2014-05-22 22:13:20 +00:00
|
|
|
.asm_709f2
|
|
|
|
ld a, [hli]
|
|
|
|
or [hl]
|
|
|
|
jr nz, .asm_709fc
|
|
|
|
ld de, $2b
|
|
|
|
add hl, de
|
|
|
|
jr .asm_709f2
|
|
|
|
.asm_709fc
|
|
|
|
ld de, $1f
|
|
|
|
add hl, de
|
|
|
|
ld a, [hl]
|
|
|
|
add $3
|
|
|
|
ld e, a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_CURENEMYLVL] ; W_CURENEMYLVL
|
2014-05-22 22:13:20 +00:00
|
|
|
sub e
|
|
|
|
jr nc, .asm_70a12
|
|
|
|
res 1, c
|
|
|
|
ld a, $1
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wcd47], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
.asm_70a12
|
|
|
|
set 1, c
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wcd47], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70a19: ; 70a19 (1c:4a19)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [W_CURMAP] ; W_CURMAP
|
2014-05-22 22:13:20 +00:00
|
|
|
ld e, a
|
|
|
|
ld hl, MapIDList_70a3f ; $4a3f
|
|
|
|
.asm_70a20
|
|
|
|
ld a, [hli]
|
|
|
|
cp $ff
|
|
|
|
jr z, .asm_70a2b
|
|
|
|
cp e
|
|
|
|
jr nz, .asm_70a20
|
|
|
|
.asm_70a28
|
|
|
|
set 2, c
|
|
|
|
ret
|
|
|
|
.asm_70a2b
|
|
|
|
ld hl, MapIDList_70a44 ; $4a44
|
|
|
|
.asm_70a2e
|
|
|
|
ld a, [hli]
|
|
|
|
cp $ff
|
|
|
|
jr z, .asm_70a3c
|
|
|
|
ld d, a
|
|
|
|
ld a, [hli]
|
|
|
|
cp e
|
|
|
|
jr c, .asm_70a2e
|
|
|
|
ld a, e
|
|
|
|
cp d
|
|
|
|
jr nc, .asm_70a28
|
|
|
|
.asm_70a3c
|
|
|
|
res 2, c
|
|
|
|
ret
|
|
|
|
|
|
|
|
; Func_70a19 checks if W_CURMAP is equal to one of these maps
|
|
|
|
MapIDList_70a3f: ; 70a3f (1c:4a3f)
|
|
|
|
db VIRIDIAN_FOREST
|
|
|
|
db ROCK_TUNNEL_1
|
|
|
|
db SEAFOAM_ISLANDS_1
|
|
|
|
db ROCK_TUNNEL_2
|
|
|
|
db $FF
|
|
|
|
|
|
|
|
; Func_70a19 checks if W_CURMAP is in between or equal to each pair of maps
|
|
|
|
MapIDList_70a44: ; 70a44 (1c:4a44)
|
|
|
|
; all MT_MOON maps
|
|
|
|
db MT_MOON_1
|
|
|
|
db MT_MOON_3
|
|
|
|
|
|
|
|
; all SS_ANNE maps, VICTORY_ROAD_1, LANCES_ROOM, and HALL_OF_FAME
|
|
|
|
db SS_ANNE_1
|
|
|
|
db HALL_OF_FAME
|
|
|
|
|
|
|
|
; all POKEMONTOWER maps and Lavender Town buildings
|
|
|
|
db LAVENDER_POKECENTER
|
|
|
|
db LAVENDER_HOUSE_2
|
|
|
|
|
|
|
|
; all SILPH_CO, MANSION, SAFARI_ZONE, and UNKNOWN_DUNGEON maps,
|
|
|
|
; except for SILPH_CO_1F
|
|
|
|
db SILPH_CO_2F
|
|
|
|
db UNKNOWN_DUNGEON_1
|
|
|
|
db $FF
|
|
|
|
|
|
|
|
LoadBattleTransitionTile: ; 70a4d (1c:4a4d)
|
|
|
|
ld hl, $8ff0
|
|
|
|
ld de, BattleTransitionTile ; $4a59
|
|
|
|
ld bc, (BANK(BattleTransitionTile) << 8) + $01
|
|
|
|
jp CopyVideoData
|
|
|
|
|
|
|
|
BattleTransitionTile: ; 70a59 (1c:4a59)
|
|
|
|
INCBIN "gfx/battle_transition.2bpp"
|
|
|
|
|
|
|
|
Func_70a69: ; 70a69 (1c:4a69)
|
|
|
|
ld a, $ff
|
|
|
|
ld [rBGP], a ; $ff47
|
|
|
|
ld [rOBP0], a ; $ff48
|
|
|
|
ld [rOBP1], a ; $ff49
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70a72: ; 70a72 (1c:4a72)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wcd47]
|
2014-05-22 22:13:20 +00:00
|
|
|
and a
|
|
|
|
jr z, .asm_70a7d
|
|
|
|
call Func_70aaa
|
|
|
|
jr .asm_70a9f
|
|
|
|
.asm_70a7d
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 10, 10
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
|
|
|
ld a, $3
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, l
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09b], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, h
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09a], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld b, $78
|
|
|
|
.asm_70a8f
|
|
|
|
ld c, $3
|
|
|
|
.asm_70a91
|
|
|
|
push bc
|
|
|
|
call Func_70af9
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70a91
|
|
|
|
call DelayFrame
|
|
|
|
dec b
|
|
|
|
jr nz, .asm_70a8f
|
|
|
|
.asm_70a9f
|
|
|
|
call Func_70a69
|
|
|
|
xor a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09b], a
|
|
|
|
ld [wd09a], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70aaa: ; 70aaa (1c:4aaa)
|
|
|
|
ld a, $7
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wWhichTrade], a ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, wTileMap
|
|
|
|
ld c, $11
|
|
|
|
ld de, $14
|
|
|
|
call Func_70ae0
|
|
|
|
inc c
|
|
|
|
jr .asm_70ac3
|
|
|
|
.asm_70abd
|
|
|
|
ld de, $14
|
|
|
|
call Func_70ae0
|
|
|
|
.asm_70ac3
|
|
|
|
inc c
|
|
|
|
ld de, $1
|
|
|
|
call Func_70ae0
|
|
|
|
dec c
|
|
|
|
dec c
|
|
|
|
ld de, $ffec
|
|
|
|
call Func_70ae0
|
|
|
|
inc c
|
|
|
|
ld de, rIE ; $ffff
|
|
|
|
call Func_70ae0
|
|
|
|
dec c
|
|
|
|
dec c
|
|
|
|
ld a, c
|
|
|
|
and a
|
|
|
|
jr nz, .asm_70abd
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70ae0: ; 70ae0 (1c:4ae0)
|
|
|
|
push bc
|
|
|
|
.asm_70ae1
|
|
|
|
ld [hl], $ff
|
|
|
|
add hl, de
|
|
|
|
push bc
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wWhichTrade] ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
dec a
|
|
|
|
jr nz, .asm_70af0
|
|
|
|
call Func_70d19
|
|
|
|
ld a, $7
|
|
|
|
.asm_70af0
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wWhichTrade], a ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70ae1
|
|
|
|
pop bc
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70af9: ; 70af9 (1c:4af9)
|
|
|
|
ld bc, $ffec
|
|
|
|
ld de, $14
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd09b]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld l, a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd09a]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld h, a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd09f]
|
2014-05-22 22:13:20 +00:00
|
|
|
cp $0
|
|
|
|
jr z, .asm_70b25
|
|
|
|
cp $1
|
|
|
|
jr z, .asm_70b2f
|
|
|
|
cp $2
|
|
|
|
jr z, .asm_70b39
|
|
|
|
cp $3
|
|
|
|
jr z, .asm_70b43
|
|
|
|
.asm_70b1a
|
|
|
|
ld [hl], $ff
|
|
|
|
.asm_70b1c
|
|
|
|
ld a, l
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09b], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, h
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09a], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ret
|
|
|
|
.asm_70b25
|
|
|
|
dec hl
|
|
|
|
ld a, [hl]
|
|
|
|
cp $ff
|
|
|
|
jr nz, .asm_70b4d
|
|
|
|
inc hl
|
|
|
|
add hl, bc
|
|
|
|
jr .asm_70b1a
|
|
|
|
.asm_70b2f
|
|
|
|
add hl, de
|
|
|
|
ld a, [hl]
|
|
|
|
cp $ff
|
|
|
|
jr nz, .asm_70b4d
|
|
|
|
add hl, bc
|
|
|
|
dec hl
|
|
|
|
jr .asm_70b1a
|
|
|
|
.asm_70b39
|
|
|
|
inc hl
|
|
|
|
ld a, [hl]
|
|
|
|
cp $ff
|
|
|
|
jr nz, .asm_70b4d
|
|
|
|
dec hl
|
|
|
|
add hl, de
|
|
|
|
jr .asm_70b1a
|
|
|
|
.asm_70b43
|
|
|
|
add hl, bc
|
|
|
|
ld a, [hl]
|
|
|
|
cp $ff
|
|
|
|
jr nz, .asm_70b4d
|
|
|
|
add hl, de
|
|
|
|
inc hl
|
|
|
|
jr .asm_70b1a
|
|
|
|
.asm_70b4d
|
|
|
|
ld [hl], $ff
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wd09f]
|
2014-05-22 22:13:20 +00:00
|
|
|
inc a
|
|
|
|
cp $4
|
|
|
|
jr nz, .asm_70b58
|
|
|
|
xor a
|
|
|
|
.asm_70b58
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wd09f], a
|
2014-05-22 22:13:20 +00:00
|
|
|
jr .asm_70b1c
|
|
|
|
|
|
|
|
Func_70b5d: ; 70b5d (1c:4b5d)
|
|
|
|
ld hl, DataTable_70b72 ; $4b72
|
|
|
|
.asm_70b60
|
|
|
|
ld a, [hli]
|
|
|
|
cp $1
|
|
|
|
jr z, .asm_70b6e
|
|
|
|
ld [rBGP], a ; $ff47
|
|
|
|
ld c, $2
|
|
|
|
call DelayFrames
|
|
|
|
jr .asm_70b60
|
|
|
|
.asm_70b6e
|
|
|
|
dec b
|
|
|
|
jr nz, Func_70b5d
|
|
|
|
ret
|
|
|
|
|
|
|
|
DataTable_70b72: ; 70b72 (1c:4b72)
|
|
|
|
db $F9,$FE,$FF,$FE,$F9,$E4,$90,$40,$00,$40,$90,$E4
|
|
|
|
db $01 ; terminator
|
|
|
|
|
|
|
|
Func_70b7f: ; 70b7f (1c:4b7f)
|
|
|
|
ld c, $9
|
|
|
|
.asm_70b81
|
|
|
|
push bc
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 7
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 8
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $ffd8
|
|
|
|
call Func_70c12
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 10
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 9
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $28
|
|
|
|
call Func_70c12
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 8, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 9, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $fffe
|
|
|
|
call Func_70c3f
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 11, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 10, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $2
|
|
|
|
call Func_70c3f
|
|
|
|
ld a, $1
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
ld c, $6
|
|
|
|
call DelayFrames
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70b81
|
|
|
|
call Func_70a69
|
|
|
|
ld c, $a
|
|
|
|
jp DelayFrames
|
|
|
|
|
|
|
|
Func_70bca: ; 70bca (1c:4bca)
|
|
|
|
ld c, $9
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
.asm_70bcf
|
|
|
|
push bc
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 16
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 17
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $ffd8
|
|
|
|
call Func_70c12
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 0, 1
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
|
|
|
ld de, wTileMap
|
|
|
|
ld bc, $28
|
|
|
|
call Func_70c12
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 18, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 19, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
ld bc, $fffe
|
|
|
|
call Func_70c3f
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 1, 0
|
2014-05-22 22:13:20 +00:00
|
|
|
ld hl, Coord
|
|
|
|
ld de, wTileMap
|
|
|
|
ld bc, $2
|
|
|
|
call Func_70c3f
|
|
|
|
call Func_70d19
|
|
|
|
call Delay3
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70bcf
|
|
|
|
call Func_70a69
|
|
|
|
ld c, $a
|
|
|
|
jp DelayFrames
|
|
|
|
|
|
|
|
Func_70c12: ; 70c12 (1c:4c12)
|
|
|
|
ld a, c
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wWhichTrade], a ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, b
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wTrainerEngageDistance], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $8
|
|
|
|
.asm_70c1c
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
ld bc, $14
|
|
|
|
call CopyData
|
|
|
|
pop hl
|
|
|
|
pop de
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wWhichTrade] ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wTrainerEngageDistance]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld b, a
|
|
|
|
add hl, bc
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c1c
|
|
|
|
ld l, e
|
|
|
|
ld h, d
|
|
|
|
ld a, $ff
|
|
|
|
ld c, $14
|
|
|
|
.asm_70c3a
|
|
|
|
ld [hli], a
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c3a
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70c3f: ; 70c3f (1c:4c3f)
|
|
|
|
ld a, c
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wWhichTrade], a ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, b
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wTrainerEngageDistance], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, $9
|
|
|
|
.asm_70c49
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
ld c, $12
|
|
|
|
.asm_70c4e
|
|
|
|
ld a, [hl]
|
|
|
|
ld [de], a
|
|
|
|
ld a, e
|
|
|
|
add $14
|
|
|
|
jr nc, .asm_70c56
|
|
|
|
inc d
|
|
|
|
.asm_70c56
|
|
|
|
ld e, a
|
|
|
|
ld a, l
|
|
|
|
add $14
|
|
|
|
jr nc, .asm_70c5d
|
|
|
|
inc h
|
|
|
|
.asm_70c5d
|
|
|
|
ld l, a
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c4e
|
|
|
|
pop hl
|
|
|
|
pop de
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wWhichTrade] ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld c, a
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wTrainerEngageDistance]
|
2014-05-22 22:13:20 +00:00
|
|
|
ld b, a
|
|
|
|
add hl, bc
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c49
|
|
|
|
ld l, e
|
|
|
|
ld h, d
|
|
|
|
ld de, $14
|
|
|
|
ld c, $12
|
|
|
|
.asm_70c77
|
|
|
|
ld [hl], $ff
|
|
|
|
add hl, de
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c77
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70c7e: ; 70c7e (1c:4c7e)
|
|
|
|
ld c, $12
|
|
|
|
ld hl, wTileMap
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 1, 17
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
.asm_70c89
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
push de
|
|
|
|
call Func_70caa
|
|
|
|
pop hl
|
|
|
|
call Func_70caa
|
|
|
|
call Func_70d19
|
|
|
|
pop hl
|
|
|
|
ld bc, $ffec
|
|
|
|
add hl, bc
|
|
|
|
ld e, l
|
|
|
|
ld d, h
|
|
|
|
pop hl
|
|
|
|
ld bc, $14
|
|
|
|
add hl, bc
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70c89
|
|
|
|
jp Func_70a69
|
|
|
|
|
|
|
|
Func_70caa: ; 70caa (1c:4caa)
|
|
|
|
ld c, $a
|
|
|
|
.asm_70cac
|
|
|
|
ld [hl], $ff
|
|
|
|
inc hl
|
|
|
|
inc hl
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70cac
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70cb4: ; 70cb4 (1c:4cb4)
|
|
|
|
ld c, $14
|
|
|
|
ld hl, wTileMap
|
2014-05-26 21:04:56 +00:00
|
|
|
FuncCoord 19, 1
|
2014-05-22 22:13:20 +00:00
|
|
|
ld de, Coord
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
.asm_70cbf
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
push de
|
|
|
|
call Func_70cd8
|
|
|
|
pop hl
|
|
|
|
call Func_70cd8
|
|
|
|
call Func_70d19
|
|
|
|
pop de
|
|
|
|
pop hl
|
|
|
|
pop bc
|
|
|
|
inc hl
|
|
|
|
dec de
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70cbf
|
|
|
|
jp Func_70a69
|
|
|
|
|
|
|
|
Func_70cd8: ; 70cd8 (1c:4cd8)
|
|
|
|
ld c, $9
|
|
|
|
ld de, $28
|
|
|
|
.asm_70cdd
|
|
|
|
ld [hl], $ff
|
|
|
|
add hl, de
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70cdd
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70ce4: ; 70ce4 (1c:4ce4)
|
|
|
|
call Func_70cfd
|
|
|
|
ld bc, $000a
|
|
|
|
ld hl, Unknown_70d61
|
|
|
|
call Func_70d06
|
|
|
|
ld c, $a
|
|
|
|
ld b, $1
|
|
|
|
ld hl, Unknown_70d93
|
|
|
|
call Func_70d06
|
|
|
|
jp Func_70a69
|
|
|
|
|
|
|
|
Func_70cfd: ; 70cfd (1c:4cfd)
|
|
|
|
ld b, $3
|
|
|
|
call Func_70b5d
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70d06: ; 70d06 (1c:4d06)
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
ld a, b
|
|
|
|
call Func_70d50
|
|
|
|
pop hl
|
|
|
|
ld bc, $0005
|
|
|
|
add hl, bc
|
|
|
|
call Func_70d19
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, Func_70d06
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70d19: ; 70d19 (1c:4d19)
|
|
|
|
ld a, $1
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
call Delay3
|
|
|
|
xor a
|
|
|
|
ld [H_AUTOBGTRANSFERENABLED], a ; $ffba
|
|
|
|
ret
|
|
|
|
|
|
|
|
Func_70d24: ; 70d24 (1c:4d24)
|
|
|
|
call Func_70cfd
|
|
|
|
ld c, $a
|
|
|
|
ld hl, Unknown_70d61 ; $4d61
|
|
|
|
ld de, Unknown_70d93 ; $4d93
|
|
|
|
.asm_70d2f
|
|
|
|
push bc
|
|
|
|
push hl
|
|
|
|
push de
|
|
|
|
push de
|
|
|
|
xor a
|
|
|
|
call Func_70d50
|
|
|
|
pop hl
|
|
|
|
ld a, $1
|
|
|
|
call Func_70d50
|
|
|
|
pop hl
|
|
|
|
ld bc, $5
|
|
|
|
add hl, bc
|
|
|
|
ld e, l
|
|
|
|
ld d, h
|
|
|
|
pop hl
|
|
|
|
add hl, bc
|
|
|
|
call Func_70d19
|
|
|
|
pop bc
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70d2f
|
|
|
|
jp Func_70a69
|
|
|
|
|
|
|
|
Func_70d50: ; 70d50 (1c:4d50)
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wWhichTrade], a ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, [hli]
|
2014-05-26 21:04:56 +00:00
|
|
|
ld [wTrainerEngageDistance], a
|
2014-05-22 22:13:20 +00:00
|
|
|
ld a, [hli]
|
|
|
|
ld e, a
|
|
|
|
ld a, [hli]
|
|
|
|
ld d, a
|
|
|
|
ld a, [hli]
|
|
|
|
ld h, [hl]
|
|
|
|
ld l, a
|
|
|
|
jp Func_70dc5
|
|
|
|
|
|
|
|
Unknown_70d61: ; 70d61 (1c:4d61)
|
|
|
|
db $01
|
|
|
|
dw Unknown_70dfe
|
|
|
|
FuncCoord 18, 6
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e04
|
|
|
|
FuncCoord 19, 3
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e0e
|
|
|
|
FuncCoord 18, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e20
|
|
|
|
FuncCoord 14, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e2e
|
|
|
|
FuncCoord 10, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e2e
|
|
|
|
FuncCoord 9, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e20
|
|
|
|
FuncCoord 5, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e0e
|
|
|
|
FuncCoord 1, 0
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e04
|
|
|
|
FuncCoord 0, 3
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70dfe
|
|
|
|
FuncCoord 1, 6
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
Unknown_70d93: ; 70d93 (1c:4d93)
|
|
|
|
db $00
|
|
|
|
dw Unknown_70dfe
|
|
|
|
FuncCoord 1, 11
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e04
|
|
|
|
FuncCoord 0, 14
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e0e
|
|
|
|
FuncCoord 1, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e20
|
|
|
|
FuncCoord 5, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $00
|
|
|
|
dw Unknown_70e2e
|
|
|
|
FuncCoord 9, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e2e
|
|
|
|
FuncCoord 10, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e20
|
|
|
|
FuncCoord 14, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e0e
|
|
|
|
FuncCoord 18, 17
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70e04
|
|
|
|
FuncCoord 19, 14
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
db $01
|
|
|
|
dw Unknown_70dfe
|
|
|
|
FuncCoord 18, 11
|
|
|
|
dw Coord
|
|
|
|
|
|
|
|
Func_70dc5: ; 70dc5 (1c:4dc5)
|
|
|
|
push hl
|
|
|
|
ld a, [de]
|
|
|
|
ld c, a
|
|
|
|
inc de
|
|
|
|
.asm_70dc9
|
|
|
|
ld [hl], $ff
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wTrainerEngageDistance]
|
2014-05-22 22:13:20 +00:00
|
|
|
and a
|
|
|
|
jr z, .asm_70dd4
|
|
|
|
inc hl
|
|
|
|
jr .asm_70dd5
|
|
|
|
.asm_70dd4
|
|
|
|
dec hl
|
|
|
|
.asm_70dd5
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70dc9
|
|
|
|
pop hl
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wWhichTrade] ; wWhichTrade
|
2014-05-22 22:13:20 +00:00
|
|
|
and a
|
|
|
|
ld bc, $14
|
|
|
|
jr z, .asm_70de5
|
|
|
|
ld bc, $ffec
|
|
|
|
.asm_70de5
|
|
|
|
add hl, bc
|
|
|
|
ld a, [de]
|
|
|
|
inc de
|
|
|
|
cp $ff
|
|
|
|
ret z
|
|
|
|
and a
|
|
|
|
jr z, Func_70dc5
|
|
|
|
ld c, a
|
|
|
|
.asm_70def
|
2014-05-26 21:04:56 +00:00
|
|
|
ld a, [wTrainerEngageDistance]
|
2014-05-22 22:13:20 +00:00
|
|
|
and a
|
|
|
|
jr z, .asm_70df8
|
|
|
|
dec hl
|
|
|
|
jr .asm_70df9
|
|
|
|
.asm_70df8
|
|
|
|
inc hl
|
|
|
|
.asm_70df9
|
|
|
|
dec c
|
|
|
|
jr nz, .asm_70def
|
|
|
|
jr Func_70dc5
|
|
|
|
|
|
|
|
Unknown_70dfe: ; 70dfe (1c:4dfe)
|
|
|
|
db $02,$03,$05,$04,$09,$FF
|
|
|
|
|
|
|
|
Unknown_70e04: ; 70e04 (1c:4e04)
|
|
|
|
db $01,$01,$02,$02,$04,$02,$04,$02,$03,$FF
|
|
|
|
|
|
|
|
Unknown_70e0e: ; 70e0e (1c:4e0e)
|
|
|
|
db $02,$01,$03,$01,$04,$01,$04,$01,$04,$01,$03,$01,$02,$01,$01,$01,$01,$FF
|
|
|
|
|
|
|
|
Unknown_70e20: ; 70e20 (1c:4e20)
|
|
|
|
db $04,$01,$04,$00,$03,$01,$03,$00,$02,$01,$02,$00,$01,$FF
|
|
|
|
|
|
|
|
Unknown_70e2e: ; 70e2e (1c:4e2e)
|
|
|
|
db $04,$00,$03,$00,$03,$00,$02,$00,$02,$00,$01,$00,$01,$00,$01,$FF
|