mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-04-25 15:39:32 -05:00
3165 lines
45 KiB
NASM
Executable File
3165 lines
45 KiB
NASM
Executable File
include "constants.asm"
|
|
|
|
SECTION "engine/dumps/bank02.asm@Function8000", ROMX
|
|
|
|
Function8000: ; 02:4000
|
|
ld a, $00
|
|
ld hl, Data8022
|
|
call Function1656
|
|
call Function1668
|
|
ld a, $01
|
|
ldh [hConnectedMapWidth], a
|
|
ld de, wPlayerSprite
|
|
ld a, $00
|
|
ldh [hConnectionStripLength], a
|
|
ld bc, wMapObjects
|
|
call Function813d
|
|
ld a, $00
|
|
call Function1908
|
|
ret
|
|
|
|
Data8022: ; 02:4022
|
|
db $01, $00, $00, $10, $ee, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Function8031: ; 02:4031
|
|
call Function8047
|
|
ld a, [wUsedSprites+1]
|
|
ld [wMap1ObjectSprite], a
|
|
ld a, $01
|
|
call Function1602
|
|
ld b, $00
|
|
ld c, $01
|
|
call StartFollow
|
|
ret
|
|
|
|
Function8047: ; 02:4047
|
|
ld a, $01
|
|
ld hl, Data805d
|
|
call Function1656
|
|
ld a, [wPlayerNextMapX]
|
|
ld [wMap1ObjectXCoord], a
|
|
ld a, [wPlayerNextMapY]
|
|
dec a
|
|
ld [wMap1ObjectYCoord], a
|
|
ret
|
|
|
|
Data805d: ; 02:405d
|
|
db $4d, $00, $00, $18, $ff, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Function806c: ; 02:406c
|
|
ld a, $01
|
|
call Function169f
|
|
xor a
|
|
ld [wObjectFollow_Follower], a
|
|
ld a, $ff
|
|
ld [wObjectFollow_Leader], a
|
|
ret
|
|
|
|
Function807b: ; 02:407b
|
|
ld a, $01
|
|
ld hl, Data8089
|
|
call Function1656
|
|
ld a, $01
|
|
call Function1668
|
|
ret
|
|
|
|
Data8089: ; 02:4089
|
|
db $01, $00, $00, $17, $ee, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00
|
|
|
|
_InitializeVisibleSprites: ; 02:4098
|
|
ld bc, wMap2Object
|
|
ld a, $02
|
|
.sub_809d
|
|
ldh [hConnectionStripLength], a
|
|
ld hl, $0001
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_80dc
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr nz, .sub_80dc
|
|
ld a, [wXCoord]
|
|
ld d, a
|
|
ld a, [wYCoord]
|
|
ld e, a
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld a, [hl]
|
|
add $01
|
|
sub d
|
|
jr c, .sub_80dc
|
|
cp $0c
|
|
jr nc, .sub_80dc
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld a, [hl]
|
|
add $01
|
|
sub e
|
|
jr c, .sub_80dc
|
|
cp $0b
|
|
jr nc, .sub_80dc
|
|
push bc
|
|
call Function80eb
|
|
pop bc
|
|
jp c, Function80ea
|
|
.sub_80dc
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld b, h
|
|
ld c, l
|
|
ldh a, [hConnectionStripLength]
|
|
inc a
|
|
cp $10
|
|
jr nz, .sub_809d
|
|
ret
|
|
|
|
Function80ea: ; 02:40ea
|
|
ret
|
|
|
|
Function80eb: ; 02:40eb
|
|
call Function811a
|
|
and a
|
|
ret nz
|
|
ld hl, wObject1StructEnd
|
|
ld a, $03
|
|
ld de, $0028
|
|
.sub_80f8
|
|
ldh [hConnectedMapWidth], a
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_8108
|
|
add hl, de
|
|
ldh a, [hConnectedMapWidth]
|
|
inc a
|
|
cp $0a
|
|
jr nz, .sub_80f8
|
|
scf
|
|
ret
|
|
.sub_8108
|
|
ld d, h
|
|
ld e, l
|
|
call Function813d
|
|
ld a, [wVramState]
|
|
bit 7, a
|
|
ret z
|
|
ld hl, $0005
|
|
add hl, de
|
|
set 5, [hl]
|
|
ret
|
|
|
|
Function811a: ; 02:411a
|
|
ldh a, [hConnectionStripLength]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, wUnknownWordcc9c
|
|
add hl, de
|
|
ld a, [hl]
|
|
ret
|
|
|
|
Function8125: ; 02:4125
|
|
ldh a, [hConnectionStripLength]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, wUnknownWordcc9c
|
|
add hl, de
|
|
ld [hl], $ff
|
|
ret
|
|
|
|
Function8131: ; 02:4131
|
|
ldh a, [hConnectionStripLength]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, wUnknownWordcc9c
|
|
add hl, de
|
|
ld [hl], $00
|
|
ret
|
|
|
|
Function813d: ; 02:413d
|
|
ldh a, [hConnectionStripLength]
|
|
ld hl, $0001
|
|
add hl, de
|
|
ld [hl], a
|
|
ldh a, [hConnectedMapWidth]
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld [hl], a
|
|
ld hl, $0008
|
|
add hl, de
|
|
ld [hl], $00
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0015
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, $0011
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, wYCoord
|
|
sub [hl]
|
|
and $0f
|
|
swap a
|
|
ld hl, $0019
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0014
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, $0010
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, wXCoord
|
|
sub [hl]
|
|
and $0f
|
|
swap a
|
|
ld hl, $0018
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, $0004
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0003
|
|
add hl, de
|
|
ld [hl], a
|
|
call Function81ce
|
|
ld hl, $000d
|
|
add hl, de
|
|
ld [hl], $ff
|
|
ld hl, $000a
|
|
add hl, de
|
|
ld [hl], $00
|
|
ld hl, $0007
|
|
add hl, de
|
|
ld [hl], $00
|
|
ld hl, $0001
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0000
|
|
add hl, de
|
|
ld [hl], a
|
|
call Function820d
|
|
ld hl, $0002
|
|
add hl, de
|
|
ld [hl], a
|
|
ld hl, $0005
|
|
add hl, bc
|
|
ld a, [hl]
|
|
call Function81f8
|
|
ld hl, $000b
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0021
|
|
add hl, de
|
|
ld [hl], a
|
|
and a
|
|
ret
|
|
|
|
Function81ce: ; 02:41ce
|
|
ld hl, $0004
|
|
add hl, de
|
|
ld [hl], $70
|
|
ldh a, [hConnectedMapWidth]
|
|
push hl
|
|
ld hl, wCenteredObject
|
|
cp [hl]
|
|
pop hl
|
|
jr nz, .sub_81e0
|
|
set 7, [hl]
|
|
.sub_81e0
|
|
cp $01
|
|
jr z, .sub_81e8
|
|
cp $02
|
|
jr nz, .sub_81ea
|
|
.sub_81e8
|
|
set 1, [hl]
|
|
.sub_81ea
|
|
ld hl, $0005
|
|
add hl, de
|
|
ld [hl], $00
|
|
ldh a, [hConnectedMapWidth]
|
|
cp $01
|
|
ret z
|
|
set 4, [hl]
|
|
ret
|
|
|
|
Function81f8: ; 02:41f8
|
|
push af
|
|
swap a
|
|
and $0f
|
|
inc a
|
|
ld hl, $0016
|
|
add hl, de
|
|
ld [hl], a
|
|
pop af
|
|
and $0f
|
|
inc a
|
|
ld hl, $0017
|
|
add hl, de
|
|
ld [hl], a
|
|
ret
|
|
|
|
Function820d: ; 02:420d
|
|
push af
|
|
ldh a, [hConnectionStripLength]
|
|
cp $00
|
|
jr nz, .sub_8218
|
|
pop af
|
|
ld a, $00
|
|
ret
|
|
.sub_8218
|
|
cp $01
|
|
jr nz, .sub_8220
|
|
pop af
|
|
ld a, $0c
|
|
ret
|
|
.sub_8220
|
|
pop af
|
|
push hl
|
|
push de
|
|
ld d, a
|
|
ld e, $00
|
|
ld hl, wUsedNPCSprites
|
|
.sub_8229
|
|
ld a, [hli]
|
|
cp d
|
|
jr z, .sub_8238
|
|
inc e
|
|
ld a, e
|
|
cp $0a
|
|
jr nz, .sub_8229
|
|
ld a, $00
|
|
scf
|
|
jr .sub_823f
|
|
.sub_8238
|
|
ld hl, Data8242
|
|
ld d, $00
|
|
add hl, de
|
|
ld a, [hl]
|
|
.sub_823f
|
|
pop de
|
|
pop hl
|
|
ret
|
|
|
|
Data8242: ; 02:4242
|
|
db $18, $24, $30, $3c, $48, $54, $60, $6c
|
|
db $78, $7c
|
|
|
|
Function824c: ; 02:424c
|
|
nop
|
|
ld a, [wPlayerStepDirection]
|
|
cp $ff
|
|
ret z
|
|
ld hl, Table8259
|
|
jp CallJumptable
|
|
|
|
Table8259: ; 02:4259
|
|
dw Function8299
|
|
dw Function8292
|
|
dw Function82e6
|
|
dw Function82ed
|
|
|
|
Function8261: ; 02:4261
|
|
ret
|
|
|
|
Function8262: ; 02:4262
|
|
ld a, [wPlayerStepDirection]
|
|
cp $ff
|
|
ret z
|
|
ld hl, Table826e
|
|
jp CallJumptable
|
|
|
|
Table826e: ; 02:426e
|
|
dw Function827d
|
|
dw Function8276
|
|
dw Function8284
|
|
dw Function828b
|
|
|
|
Function8276: ; 02:4276
|
|
ld a, [wYCoord]
|
|
sub $02
|
|
jr Function829e
|
|
|
|
Function827d: ; 02:427d
|
|
ld a, [wYCoord]
|
|
add $0a
|
|
jr Function829e
|
|
|
|
Function8284: ; 02:4284
|
|
ld a, [wXCoord]
|
|
sub $02
|
|
jr Function82f2
|
|
|
|
Function828b: ; 02:428b
|
|
ld a, [wXCoord]
|
|
add $0b
|
|
jr Function82f2
|
|
|
|
Function8292: ; 02:4292
|
|
ld a, [wYCoord]
|
|
sub $01
|
|
jr Function829e
|
|
|
|
Function8299: ; 02:4299
|
|
ld a, [wYCoord]
|
|
add $09
|
|
|
|
Function829e: ; 02:429e
|
|
ld d, a
|
|
ld a, [wXCoord]
|
|
ld e, a
|
|
ld bc, wMap2Object
|
|
ld a, $02
|
|
.sub_82a8
|
|
ldh [hConnectionStripLength], a
|
|
ld hl, $0001
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_82d8
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld a, d
|
|
cp [hl]
|
|
jr nz, .sub_82d8
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr nz, .sub_82d8
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld a, [hl]
|
|
add $01
|
|
sub e
|
|
jr c, .sub_82d8
|
|
cp $0c
|
|
jr nc, .sub_82d8
|
|
push de
|
|
push bc
|
|
call Function80eb
|
|
pop bc
|
|
pop de
|
|
.sub_82d8
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld b, h
|
|
ld c, l
|
|
ldh a, [hConnectionStripLength]
|
|
inc a
|
|
cp $10
|
|
jr nz, .sub_82a8
|
|
ret
|
|
|
|
Function82e6: ; 02:42e6
|
|
ld a, [wXCoord]
|
|
sub $01
|
|
jr Function82f2
|
|
|
|
Function82ed: ; 02:42ed
|
|
ld a, [wXCoord]
|
|
add $0a
|
|
|
|
Function82f2: ; 02:42f2
|
|
ld e, a
|
|
ld a, [wYCoord]
|
|
ld d, a
|
|
ld bc, wMap2Object
|
|
ld a, $02
|
|
.sub_82fc
|
|
ldh [hConnectionStripLength], a
|
|
ld hl, $0001
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_832c
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld a, e
|
|
cp [hl]
|
|
jr nz, .sub_832c
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr nz, .sub_832c
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld a, [hl]
|
|
add $01
|
|
sub d
|
|
jr c, .sub_832c
|
|
cp $0b
|
|
jr nc, .sub_832c
|
|
push de
|
|
push bc
|
|
call Function80eb
|
|
pop bc
|
|
pop de
|
|
.sub_832c
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld b, h
|
|
ld c, l
|
|
ldh a, [hConnectionStripLength]
|
|
inc a
|
|
cp $10
|
|
jr nz, .sub_82fc
|
|
ret
|
|
|
|
Function833a: ; 02:433a
|
|
ld a, c
|
|
push af
|
|
call InitMovementBuffer
|
|
ld a, $29
|
|
call AppendToMovementBuffer
|
|
ld a, b
|
|
call GetMapObject
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr z, .sub_8361
|
|
call GetObjectStruct
|
|
ld hl, $0011
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld b, [hl]
|
|
ld c, a
|
|
jr .sub_836c
|
|
.sub_8361
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld b, [hl]
|
|
ld c, a
|
|
.sub_836c
|
|
pop af
|
|
call ComputePathToWalkToPlayer
|
|
ld a, $28
|
|
call AppendToMovementBuffer
|
|
ld a, $32
|
|
call AppendToMovementBuffer
|
|
xor a
|
|
ret
|
|
|
|
Function837c: ; 02:437c
|
|
call InitMovementBuffer
|
|
push bc
|
|
ld a, b
|
|
call GetMapObject
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
call GetObjectStruct
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0011
|
|
add hl, bc
|
|
ld c, [hl]
|
|
ld b, a
|
|
pop hl
|
|
ld a, l
|
|
call ComputePathToWalkToPlayer
|
|
ld a, $32
|
|
call AppendToMovementBuffer
|
|
ret
|
|
|
|
Function83a2: ; 02:43a2
|
|
push de
|
|
call InitMovementBuffer
|
|
pop de
|
|
call Function83b0
|
|
ld a, $32
|
|
call AppendToMovementBuffer
|
|
ret
|
|
|
|
Function83b0: ; 02:43b0
|
|
push de
|
|
push bc
|
|
ld a, c
|
|
call GetMapObject
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
call GetObjectStruct
|
|
ld d, b
|
|
ld e, c
|
|
pop bc
|
|
ld a, b
|
|
call GetMapObject
|
|
ld hl, $0000
|
|
add hl, bc
|
|
ld a, [hl]
|
|
call GetObjectStruct
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld hl, $0011
|
|
add hl, bc
|
|
ld c, [hl]
|
|
ld b, a
|
|
ld hl, $0010
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld hl, $0011
|
|
add hl, de
|
|
ld e, [hl]
|
|
ld d, a
|
|
pop af
|
|
call ComputePathToWalkToPlayer
|
|
ret
|
|
|
|
Function83e8: ; 02:43e8
|
|
ld hl, wcb70
|
|
push hl
|
|
ld a, [hl]
|
|
ld l, a
|
|
ld h, $00
|
|
ld de, Table83fb
|
|
add hl, hl
|
|
add hl, de
|
|
ld e, [hl]
|
|
inc hl
|
|
ld d, [hl]
|
|
pop hl
|
|
push de
|
|
ret
|
|
|
|
Table83fb: ; 02:43fb
|
|
dw Function8432
|
|
dw Function844a
|
|
dw Function8459
|
|
dw Function8433
|
|
dw Function8438
|
|
dw Function843d
|
|
dw Function8468
|
|
dw Function8477
|
|
dw Function8485
|
|
dw Function848b
|
|
dw Function8494
|
|
dw Function849b
|
|
dw Function84a9
|
|
dw Function84af
|
|
dw Function84b8
|
|
|
|
Function8419: ; 02:4419
|
|
ld a, c
|
|
ld [wVBCopyFarSrcBank], a
|
|
ld a, l
|
|
ld [wVBCopyFarSrc], a
|
|
ld a, h
|
|
ld [wVBCopyFarSrc+1], a
|
|
|
|
Function8425: ; 02:4425
|
|
ld a, e
|
|
ld [wVBCopyFarDst], a
|
|
ld a, d
|
|
ld [wVBCopyFarDst+1], a
|
|
|
|
Function842d: ; 02:442d
|
|
ld a, b
|
|
ld [wVBCopyFarSize], a
|
|
ret
|
|
|
|
Function8432: ; 02:4432
|
|
ret
|
|
|
|
Function8433: ; 02:4433
|
|
ld hl, ShockEmoteGFX
|
|
jr Function8440
|
|
|
|
Function8438: ; 02:4438
|
|
ld hl, QuestionEmoteGFX
|
|
jr Function8440
|
|
|
|
Function843d: ; 02:443d
|
|
ld hl, HappyEmoteGFX
|
|
|
|
Function8440: ; 02:4440
|
|
ld de, $8f80
|
|
ld b, $04
|
|
ld c, BANK(HappyEmoteGFX)
|
|
jp Function8419
|
|
|
|
Function844a: ; 02:444a
|
|
ld [hl], $00
|
|
ld hl, JumpShadowGFX
|
|
ld de, $8fc0
|
|
ld b, $01
|
|
ld c, BANK(JumpShadowGFX)
|
|
jp Function8419
|
|
|
|
Function8459: ; 02:4459
|
|
ld [hl], $00
|
|
ld hl, UnknownBouncingOrbGFX
|
|
ld de, $8fc0
|
|
ld b, $04
|
|
ld c, BANK(UnknownBouncingOrbGFX)
|
|
jp Function8419
|
|
|
|
Function8468: ; 02:4468
|
|
ld [hl], $00
|
|
ld hl, UnknownBallGFX
|
|
ld de, $8fc0
|
|
ld b, $01
|
|
ld c, BANK(UnknownBallGFX)
|
|
jp Function8419
|
|
|
|
Function8477: ; 02:4477
|
|
inc [hl]
|
|
ld hl, GrampsSpriteGFX
|
|
ld de, vChars0
|
|
ld b, $06
|
|
ld c, BANK(GrampsSpriteGFX)
|
|
jp Function8419
|
|
|
|
Function8485: ; 02:4485
|
|
inc [hl]
|
|
ld b, $06
|
|
jp Function842d
|
|
|
|
Function848b: ; 02:448b
|
|
inc [hl]
|
|
ld de, vChars1
|
|
ld b, $06
|
|
jp Function8425
|
|
|
|
Function8494: ; 02:4494
|
|
ld [hl], $00
|
|
ld b, $06
|
|
jp Function842d
|
|
|
|
Function849b: ; 02:449b
|
|
inc [hl]
|
|
ld hl, PippiSpriteGFX
|
|
ld de, vChars0
|
|
ld b, $06
|
|
ld c, BANK(PippiSpriteGFX)
|
|
jp Function8419
|
|
|
|
Function84a9: ; 02:44a9
|
|
inc [hl]
|
|
ld b, $06
|
|
jp Function842d
|
|
|
|
Function84af: ; 02:44af
|
|
inc [hl]
|
|
ld de, vChars1
|
|
ld b, $06
|
|
jp Function8425
|
|
|
|
Function84b8: ; 02:44b8
|
|
ld [hl], $00
|
|
ld b, $06
|
|
jp Function842d
|
|
|
|
SECTION "engine/dumps/bank02.asm@QueueFollowerFirstStep", ROMX
|
|
|
|
QueueFollowerFirstStep: ; 02:45df
|
|
call Function85f2
|
|
jr c, .sub_85ec
|
|
ld [wFollowMovementQueue], a
|
|
xor a
|
|
ld [wFollowerMovementQueueLength], a
|
|
ret
|
|
.sub_85ec
|
|
ld a, $ff
|
|
ld [wFollowerMovementQueueLength], a
|
|
ret
|
|
|
|
Function85f2: ; 02:45f2
|
|
ld a, [wObjectFollow_Leader]
|
|
call GetObjectStruct
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld d, [hl]
|
|
ld hl, $0011
|
|
add hl, bc
|
|
ld e, [hl]
|
|
ld a, [wObjectFollow_Follower]
|
|
call GetObjectStruct
|
|
ld hl, $0010
|
|
add hl, bc
|
|
ld a, d
|
|
cp [hl]
|
|
jr z, .sub_861a
|
|
jr c, .sub_8616
|
|
and a
|
|
ld a, $0b
|
|
ret
|
|
.sub_8616
|
|
and a
|
|
ld a, $0a
|
|
ret
|
|
.sub_861a
|
|
ld hl, $0011
|
|
add hl, bc
|
|
ld a, e
|
|
cp [hl]
|
|
jr z, .sub_862c
|
|
jr c, .sub_8628
|
|
and a
|
|
ld a, $08
|
|
ret
|
|
.sub_8628
|
|
and a
|
|
ld a, $09
|
|
ret
|
|
.sub_862c
|
|
scf
|
|
ret
|
|
|
|
Function862e: ; 02:462e
|
|
ld a, e
|
|
and $3f
|
|
cp $20
|
|
jr nc, .sub_863a
|
|
call Function8644
|
|
ld a, h
|
|
ret
|
|
.sub_863a
|
|
and $1f
|
|
call Function8644
|
|
ld a, h
|
|
xor $ff
|
|
inc a
|
|
ret
|
|
|
|
Function8644: ; 02:4644
|
|
ld e, a
|
|
ld a, d
|
|
ld d, $00
|
|
ld hl, Data8660
|
|
add hl, de
|
|
add hl, de
|
|
ld e, [hl]
|
|
inc hl
|
|
ld d, [hl]
|
|
ld hl, $0000
|
|
.sub_8653
|
|
srl a
|
|
jr nc, .sub_8658
|
|
add hl, de
|
|
.sub_8658
|
|
sla e
|
|
rl d
|
|
and a
|
|
jr nz, .sub_8653
|
|
ret
|
|
|
|
Data8660: ; 02:4660
|
|
dw $00
|
|
dw $19
|
|
dw $32
|
|
dw $4a
|
|
dw $62
|
|
dw $79
|
|
dw $8e
|
|
dw $a2
|
|
dw $b5
|
|
dw $c6
|
|
dw $d5
|
|
dw $e2
|
|
dw $ed
|
|
dw $f5
|
|
dw $fb
|
|
dw $ff
|
|
dw $100
|
|
dw $ff
|
|
dw $fb
|
|
dw $f5
|
|
dw $ed
|
|
dw $e2
|
|
dw $d5
|
|
dw $c6
|
|
dw $b5
|
|
dw $a2
|
|
dw $8e
|
|
dw $79
|
|
dw $62
|
|
dw $4a
|
|
dw $32
|
|
dw $19
|
|
|
|
Function86a0: ; 02:46a0
|
|
call Function881e
|
|
ld hl, InitEffectObject
|
|
ld a, BANK(InitEffectObject)
|
|
call FarCall_hl
|
|
call Function886a
|
|
call WaitBGMap
|
|
call SetPalettes
|
|
.sub_86b4
|
|
call DelayFrame
|
|
call GetJoypadDebounced
|
|
ld hl, EffectObjectJumpNoDelay
|
|
ld a, BANK(EffectObjectJumpNoDelay)
|
|
call FarCall_hl
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $03
|
|
jr z, .sub_86b4
|
|
ret
|
|
|
|
FlyMap: ; 02:46cb
|
|
ld hl, hJoyDebounceSrc
|
|
ld a, [hl]
|
|
push af
|
|
ld [hl], $01
|
|
call Function881e
|
|
ld hl, InitEffectObject
|
|
ld a, BANK(InitEffectObject)
|
|
call FarCall_hl
|
|
call Function886a
|
|
call Function88b3
|
|
ld hl, $cb60
|
|
ld [hl], c
|
|
inc hl
|
|
ld [hl], b
|
|
ld hl, $c3cd
|
|
ld de, Text8776
|
|
call PlaceString
|
|
call WaitBGMap
|
|
call SetPalettes
|
|
xor a
|
|
ld [wFlyDestination], a
|
|
.sub_86fc
|
|
call DelayFrame
|
|
call GetJoypadDebounced
|
|
ld hl, EffectObjectJumpNoDelay
|
|
ld a, BANK(EffectObjectJumpNoDelay)
|
|
call FarCall_hl
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $02
|
|
jr nz, .sub_873e
|
|
ld a, [hl]
|
|
and $01
|
|
jr nz, .sub_8743
|
|
call Function8747
|
|
ld hl, Functionc77d
|
|
ld a, BANK(Functionc77d)
|
|
call FarCall_hl
|
|
ld d, $00
|
|
ld hl, Data8a53
|
|
add hl, de
|
|
add hl, de
|
|
ld d, [hl]
|
|
inc hl
|
|
ld e, [hl]
|
|
ld hl, $cb60
|
|
ld c, [hl]
|
|
inc hl
|
|
ld b, [hl]
|
|
ld hl, $0004
|
|
add hl, bc
|
|
ld [hl], e
|
|
ld hl, $0005
|
|
add hl, bc
|
|
ld [hl], d
|
|
jr .sub_86fc
|
|
.sub_873e
|
|
ld a, $ff
|
|
ld [wFlyDestination], a
|
|
.sub_8743
|
|
pop af
|
|
ldh [hJoyDebounceSrc], a
|
|
ret
|
|
|
|
Function8747: ; 02:4747
|
|
ld a, [wFlyDestination]
|
|
ld l, a
|
|
ld h, $00
|
|
add hl, hl
|
|
add hl, hl
|
|
ld de, Data8a17
|
|
add hl, de
|
|
ld de, hJoySum
|
|
ld a, [de]
|
|
and $40
|
|
jr nz, .sub_876e
|
|
inc hl
|
|
ld a, [de]
|
|
and $80
|
|
jr nz, .sub_876e
|
|
inc hl
|
|
ld a, [de]
|
|
and $20
|
|
jr nz, .sub_876e
|
|
inc hl
|
|
ld a, [de]
|
|
and $10
|
|
jr nz, .sub_876e
|
|
ret
|
|
.sub_876e
|
|
ld a, [hl]
|
|
cp $ff
|
|
ret z
|
|
ld [wFlyDestination], a
|
|
ret
|
|
|
|
Text8776: ; 02:4776
|
|
;db "とびさき を えらんでください@"
|
|
db $c4, $3b, $bb, $b7, $7f, $dd, $7f, $b4
|
|
db $d7, $de, $33, $b8, $30, $bb, $b2, $50
|
|
|
|
Function8786: ; 02:4786
|
|
ld a, [wFlyDestination]
|
|
push af
|
|
xor a
|
|
ld [wFlyDestination], a
|
|
call Function881e
|
|
ld de, PokedexNestIconGFX
|
|
ld hl, $87f0
|
|
ld bc, $0201
|
|
call Request1bpp
|
|
call GetPokemonName
|
|
ld hl, $c3d0
|
|
call PlaceString
|
|
ld hl, $c3d5
|
|
ld de, Text87e4
|
|
call PlaceString
|
|
call WaitBGMap
|
|
call SetPalettes
|
|
xor a
|
|
ldh [hBGMapMode], a
|
|
ld hl, wTileMap
|
|
ld bc, $0168
|
|
xor a
|
|
call ByteFill
|
|
ld hl, Function3e9dc
|
|
ld a, BANK(Function3e9dc)
|
|
call FarCall_hl
|
|
.sub_87ca
|
|
call Function87ea
|
|
call GetJoypadDebounced
|
|
ldh a, [hJoyDown]
|
|
and $03
|
|
jr nz, .sub_87df
|
|
ld hl, wFlyDestination
|
|
inc [hl]
|
|
call DelayFrame
|
|
jr .sub_87ca
|
|
.sub_87df
|
|
pop af
|
|
ld [wFlyDestination], a
|
|
ret
|
|
|
|
Text87e4: ; 02:47e4
|
|
;db "の すみか@"
|
|
db $c9, $7f, $bd, $d0, $b6, $50
|
|
|
|
Function87ea: ; 02:47ea
|
|
ld a, [wFlyDestination]
|
|
and $10
|
|
jr z, .sub_881a
|
|
ld de, wTileMap
|
|
ld hl, wVirtualOAM
|
|
.sub_87f7
|
|
ld a, [de]
|
|
and a
|
|
ret z
|
|
push de
|
|
push hl
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Data8a53
|
|
add hl, de
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
pop hl
|
|
ld a, [de]
|
|
inc de
|
|
sub $04
|
|
ld [hli], a
|
|
ld a, [de]
|
|
inc de
|
|
sub $04
|
|
ld [hli], a
|
|
ld a, $7f
|
|
ld [hli], a
|
|
xor a
|
|
ld [hli], a
|
|
pop de
|
|
inc de
|
|
jr .sub_87f7
|
|
.sub_881a
|
|
call ClearSprites
|
|
ret
|
|
|
|
Function881e: ; 02:481e
|
|
call ClearBGPalettes
|
|
call ClearTileMap
|
|
call UpdateSprites
|
|
call DisableLCD
|
|
ld hl, PokedexLocationGFX
|
|
ld de, vTilesetEnd
|
|
ld bc, $0200
|
|
ld a, BANK(PokedexLocationGFX)
|
|
call FarCopyData
|
|
ld hl, wTileMap
|
|
call DecompTownMapTilemap
|
|
ld hl, $c3a4
|
|
ld b, $03
|
|
ld c, $12
|
|
call DrawTextBox
|
|
ld a, $03
|
|
call UpdateSoundNTimes
|
|
call EnableLCD
|
|
ld b, $02
|
|
call GetSGBLayout
|
|
ret
|
|
|
|
DecompTownMapTilemap: ; 02:4856
|
|
ld de, TownMapTilemap
|
|
.sub_8859
|
|
ld a, [de]
|
|
and a
|
|
ret z
|
|
ld b, a
|
|
inc de
|
|
ld a, [de]
|
|
ld c, a
|
|
ld a, b
|
|
add $60
|
|
.sub_8863
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .sub_8863
|
|
inc de
|
|
jr .sub_8859
|
|
|
|
Function886a: ; 02:486a
|
|
ld de, GoldSpriteGFX
|
|
ld hl, vChars0
|
|
lb bc, BANK(GoldSpriteGFX), $04
|
|
call Request2bpp
|
|
ld de, GoldSpriteGFX + $c0
|
|
ld hl, $8040
|
|
lb bc, BANK(GoldSpriteGFX), $04
|
|
call Request2bpp
|
|
ld de, $0000
|
|
ld a, $41
|
|
call InitSpriteAnimStruct
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], $00
|
|
push bc
|
|
ld a, [wMapGroup]
|
|
ld b, a
|
|
ld a, [wMapId]
|
|
ld c, a
|
|
call GetWorldMapLocation
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Data8a53
|
|
add hl, de
|
|
add hl, de
|
|
ld d, [hl]
|
|
inc hl
|
|
ld e, [hl]
|
|
pop bc
|
|
ld hl, $0004
|
|
add hl, bc
|
|
ld [hl], e
|
|
ld hl, $0005
|
|
add hl, bc
|
|
ld [hl], d
|
|
ret
|
|
|
|
Function88b3: ; 02:48b3
|
|
ld de, PoppoSpriteGFX
|
|
ld hl, $8080
|
|
lb bc, BANK(PoppoSpriteGFX), $04
|
|
call Request2bpp
|
|
ld de, PoppoSpriteGFX + $c0
|
|
ld hl, $80c0
|
|
lb bc, BANK(PoppoSpriteGFX), $04
|
|
call Request2bpp
|
|
ld de, $0000
|
|
ld a, $41
|
|
call InitSpriteAnimStruct
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], $08
|
|
ret
|
|
|
|
TownMapTilemap: ; 02:48da
|
|
db $04, $05
|
|
db $19, $01
|
|
db $1a, $08
|
|
db $1b, $01
|
|
db $04, $02
|
|
db $09, $01
|
|
db $06, $02
|
|
db $04, $05
|
|
db $1c, $01
|
|
db $05, $01
|
|
db $11, $01
|
|
db $12, $01
|
|
db $13, $01
|
|
db $14, $01
|
|
db $15, $01
|
|
db $16, $01
|
|
db $17, $01
|
|
db $1c, $01
|
|
db $04, $02
|
|
db $0a, $01
|
|
db $05, $01
|
|
db $06, $01
|
|
db $04, $05
|
|
db $1d, $01
|
|
db $1a, $08
|
|
db $1e, $01
|
|
db $04, $03
|
|
db $0f, $01
|
|
db $10, $01
|
|
db $04, $01
|
|
db $0d, $01
|
|
db $0e, $02
|
|
db $0d, $01
|
|
db $04, $09
|
|
db $02, $01
|
|
db $04, $02
|
|
db $01, $01
|
|
db $07, $01
|
|
db $08, $01
|
|
db $02, $01
|
|
db $0f, $01
|
|
db $02, $01
|
|
db $04, $01
|
|
db $0f, $01
|
|
db $09, $01
|
|
db $06, $01
|
|
db $08, $01
|
|
db $04, $05
|
|
db $01, $01
|
|
db $05, $01
|
|
db $03, $01
|
|
db $07, $02
|
|
db $05, $01
|
|
db $06, $01
|
|
db $06, $01
|
|
db $05, $01
|
|
db $07, $01
|
|
db $0e, $01
|
|
db $05, $01
|
|
db $07, $03
|
|
db $08, $01
|
|
db $04, $03
|
|
db $02, $01
|
|
db $04, $01
|
|
db $0f, $01
|
|
db $04, $01
|
|
db $0c, $01
|
|
db $06, $01
|
|
db $07, $01
|
|
db $0b, $01
|
|
db $06, $01
|
|
db $07, $01
|
|
db $0b, $01
|
|
db $04, $01
|
|
db $0f, $01
|
|
db $10, $01
|
|
db $06, $01
|
|
db $05, $01
|
|
db $07, $02
|
|
db $0c, $01
|
|
db $07, $02
|
|
db $03, $01
|
|
db $0f, $01
|
|
db $09, $01
|
|
db $07, $01
|
|
db $06, $01
|
|
db $07, $01
|
|
db $03, $01
|
|
db $06, $01
|
|
db $0f, $01
|
|
db $09, $01
|
|
db $06, $01
|
|
db $07, $01
|
|
db $03, $01
|
|
db $0a, $01
|
|
db $06, $05
|
|
db $07, $02
|
|
db $05, $01
|
|
db $07, $02
|
|
db $06, $01
|
|
db $05, $01
|
|
db $04, $01
|
|
db $0b, $01
|
|
db $0d, $01
|
|
db $0c, $01
|
|
db $07, $01
|
|
db $05, $01
|
|
db $0e, $01
|
|
db $07, $02
|
|
db $06, $0a
|
|
db $07, $01
|
|
db $03, $01
|
|
db $04, $02
|
|
db $0a, $01
|
|
db $06, $01
|
|
db $0b, $01
|
|
db $04, $01
|
|
db $06, $01
|
|
db $05, $01
|
|
db $07, $02
|
|
db $05, $01
|
|
db $06, $01
|
|
db $05, $01
|
|
db $06, $05
|
|
db $0c, $01
|
|
db $08, $01
|
|
db $04, $06
|
|
db $0a, $01
|
|
db $06, $02
|
|
db $0b, $01
|
|
db $07, $01
|
|
db $06, $01
|
|
db $0c, $01
|
|
db $06, $02
|
|
db $18, $01
|
|
db $06, $02
|
|
db $07, $01
|
|
db $06, $01
|
|
db $04, $0a
|
|
db $0c, $01
|
|
db $07, $01
|
|
db $05, $01
|
|
db $07, $02
|
|
db $05, $01
|
|
db $07, $03
|
|
db $0b, $01
|
|
db $04, $0d
|
|
db $10, $01
|
|
db $04, $01
|
|
db $0a, $01
|
|
db $0b, $01
|
|
db $04, $01
|
|
db $10, $01
|
|
db $04, $01
|
|
db $00
|
|
|
|
SECTION "engine/dumps/bank02.asm@Data8a17", ROMX
|
|
|
|
Data8a17: ; 02:4a17
|
|
db $0b
|
|
db $ff
|
|
|
|
db $01, $0a, $03, $00, $02, $00, $05, $01, $03, $01, $04, $02, $0d, $02
|
|
db $0d, $03, $0d, $05, $04, $02, $04, $06, $07
|
|
db $ff
|
|
|
|
db $05, $08
|
|
db $ff
|
|
|
|
db $06
|
|
db $ff
|
|
|
|
db $ff
|
|
|
|
db $0e, $09, $06, $0e, $08, $0a, $0a
|
|
db $08, $09, $00, $00, $09, $0c, $00
|
|
db $ff
|
|
|
|
db $ff
|
|
|
|
db $ff
|
|
|
|
db $0b
|
|
db $ff
|
|
|
|
db $ff
|
|
|
|
db $04, $03
|
|
db $ff
|
|
|
|
db $04
|
|
db $ff
|
|
|
|
db $08, $08
|
|
db $ff
|
|
|
|
Data8a53: ; 02:4a53
|
|
db $00, $00, $1c, $9c, $28, $9c, $34, $9c
|
|
db $40, $9c, $4c, $9c, $5c, $9c, $6c, $94
|
|
db $6c, $84, $6c, $78, $6c, $6c, $64, $6c
|
|
db $5c, $6c, $6c, $64, $6c, $5c, $5c, $5c
|
|
db $5c, $50, $5c, $44, $50, $44, $44, $44
|
|
db $44, $5c, $44, $6c, $4c, $74, $4c, $7c
|
|
db $40, $7c, $34, $7c, $4c, $84, $3c, $8c
|
|
db $34, $94, $5c, $80, $54, $68, $3c, $38
|
|
db $3c, $2c, $34, $2c, $2c, $20, $34, $14
|
|
db $3c, $14, $3c, $20, $48, $14, $54, $1c
|
|
db $54, $2c, $54, $38, $3c, $44, $48, $2c
|
|
|
|
OpenPokegear: ; 02:4aab
|
|
ld hl, wce5f
|
|
ld a, [hl]
|
|
push af
|
|
set 4, [hl]
|
|
ldh a, [hMapAnims]
|
|
push af
|
|
xor a
|
|
ldh [hMapAnims], a
|
|
ldh a, [hJoypadSum]
|
|
push af
|
|
ld a, [wVramState]
|
|
push af
|
|
xor a
|
|
ld [wVramState], a
|
|
call Function8ae0
|
|
call DelayFrame
|
|
.sub_8ac9
|
|
call Function8ba3
|
|
jr nc, .sub_8ac9
|
|
pop af
|
|
ld [wVramState], a
|
|
pop af
|
|
ldh [hJoypadSum], a
|
|
pop af
|
|
ldh [hMapAnims], a
|
|
pop af
|
|
ld [wce5f], a
|
|
call ClearJoypad
|
|
ret
|
|
|
|
Function8ae0: ; 02:4ae0
|
|
call ClearBGPalettes
|
|
call DisableLCD
|
|
call ClearSprites
|
|
ld b, $13
|
|
call GetSGBLayout
|
|
ld hl, Pokegear1GFX
|
|
ld de, vChars2
|
|
ld bc, $0200
|
|
ld a, $02
|
|
call FarCopyData
|
|
call Function8b2a
|
|
call Function8b7e
|
|
xor a
|
|
ldh [hSCY], a
|
|
ldh [hSCX], a
|
|
ld [wJumptableIndex], a
|
|
ld [wFlyDestination], a
|
|
ld a, $ff
|
|
ld [wcb60], a
|
|
ld a, $07
|
|
ldh [hWX], a
|
|
ld a, $08
|
|
call UpdateSoundNTimes
|
|
ld a, $e3
|
|
ldh [rLCDC], a
|
|
call WaitBGMap
|
|
call SetPalettes
|
|
ld a, $e0
|
|
ldh [rOBP1], a
|
|
ret
|
|
|
|
Function8b2a: ; 02:4b2a
|
|
ld hl, wTileMap
|
|
ld bc, $0168
|
|
ld a, $7f
|
|
call ByteFill
|
|
ld de, wTileMap
|
|
ld hl, Data8b42
|
|
ld bc, $003c
|
|
call CopyBytes
|
|
ret
|
|
|
|
Data8b42: ; 02:4b42
|
|
db $0d, $1c, $1d, $0b, $1c, $1d, $0b, $1c
|
|
db $1d, $0c, $01, $05, $05, $05, $05, $05
|
|
db $05, $05, $05, $02, $08, $1e, $1f, $0a
|
|
db $1e, $1f, $0a, $1e, $1f, $07, $08, $7f
|
|
db $7f, $0f, $7f, $7f, $0f, $7f, $7f, $07
|
|
db $03, $06, $06, $09, $06, $06, $09, $06
|
|
db $06, $04, $03, $06, $06, $06, $06, $06
|
|
db $06, $06, $06, $04
|
|
|
|
Function8b7e: ; 02:4b7e
|
|
ld hl, $c2a1
|
|
ld a, $10
|
|
call Function8b97
|
|
ld hl, $c2a4
|
|
ld a, $14
|
|
call Function8b97
|
|
ld hl, $c2a7
|
|
ld a, $18
|
|
call Function8b97
|
|
ret
|
|
|
|
Function8b97: ; 02:4b97
|
|
ld [hli], a
|
|
inc a
|
|
ld [hld], a
|
|
ld bc, $0014
|
|
add hl, bc
|
|
inc a
|
|
ld [hli], a
|
|
inc a
|
|
ld [hld], a
|
|
ret
|
|
|
|
Function8ba3: ; 02:4ba3
|
|
call UpdateTime
|
|
call GetJoypadDebounced
|
|
ld a, [wJumptableIndex]
|
|
bit 7, a
|
|
jr nz, .sub_8bc3
|
|
call Function8bfd
|
|
ld a, BANK(EffectObjectJumpNoDelay)
|
|
ld hl, EffectObjectJumpNoDelay
|
|
call FarCall_hl
|
|
call Function8bd5
|
|
call DelayFrame
|
|
and a
|
|
ret
|
|
.sub_8bc3
|
|
ld hl, InitEffectObject
|
|
ld a, BANK(InitEffectObject)
|
|
call FarCall_hl
|
|
call ClearSprites
|
|
xor a
|
|
ldh [hSCX], a
|
|
ldh [hSCY], a
|
|
scf
|
|
ret
|
|
|
|
Function8bd5: ; 02:4bd5
|
|
ld hl, $c2bf
|
|
ld a, $7f
|
|
ld [hli], a
|
|
ld [hl], a
|
|
ld de, hRTCHours
|
|
ld hl, $c2bf
|
|
ld bc, $0102
|
|
call PrintNumber
|
|
inc hl
|
|
ld de, hRTCMinutes
|
|
ld bc, $8102
|
|
call PrintNumber
|
|
inc hl
|
|
ld de, hRTCSeconds
|
|
ld bc, $8102
|
|
call PrintNumber
|
|
ret
|
|
|
|
Function8bfd: ; 02:4bfd
|
|
ld a, [wJumptableIndex]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Table8c0c
|
|
add hl, de
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp hl
|
|
|
|
Table8c0c: ; 02:4c0c
|
|
dw Function8c21
|
|
dw Function8c49
|
|
dw DrawMap
|
|
dw Function8cab
|
|
dw Function8cb7
|
|
dw Function8d62
|
|
dw Function8e6c
|
|
dw Function8e9e
|
|
|
|
Function8c1c: ; 02:4c1c
|
|
ld hl, wJumptableIndex
|
|
inc [hl]
|
|
ret
|
|
|
|
Function8c21: ; 02:4c21
|
|
ld hl, InitEffectObject
|
|
ld a, BANK(InitEffectObject)
|
|
call FarCall_hl
|
|
ld de, PointerGFX
|
|
ld hl, $87c0
|
|
lb bc, BANK(PointerGFX), $04
|
|
call Request2bpp
|
|
ld a, $29
|
|
ld hl, wTileMapBackup
|
|
ld [hli], a
|
|
ld [hl], $7c
|
|
ld de, $241c
|
|
ld a, $44
|
|
call InitSpriteAnimStruct
|
|
call Function8c1c
|
|
ret
|
|
|
|
Function8c49: ; 02:4c49
|
|
ld hl, hJoySum
|
|
ld a, [hl]
|
|
and $02
|
|
jr nz, .sub_8c59
|
|
ld a, [hl]
|
|
and $01
|
|
ret z
|
|
call Function8c5f
|
|
ret
|
|
.sub_8c59
|
|
ld hl, wJumptableIndex
|
|
set 7, [hl]
|
|
ret
|
|
|
|
Function8c5f: ; 02:4c5f
|
|
ld a, [wFlyDestination]
|
|
ld hl, wcb60
|
|
cp [hl]
|
|
ret z
|
|
ld [wcb60], a
|
|
and $03
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Unknown8c78
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [wJumptableIndex], a
|
|
ret
|
|
|
|
Unknown8c78: ; 02:4c78
|
|
db $02, $04, $06, $02
|
|
|
|
DrawMap: ; 02:4c7c
|
|
call Function8c1c
|
|
call Function8eaa
|
|
call WaitForAutoBgMapTransfer
|
|
ld b, $14
|
|
call GetSGBLayout
|
|
ld de, PokedexLocationGFX
|
|
ld hl, vTilesetEnd
|
|
lb bc, BANK(PokedexLocationGFX), $1f
|
|
call Request2bpp
|
|
ld hl, $c2dc
|
|
call DecompTownMapTilemap
|
|
call WaitBGMap
|
|
call Function886a
|
|
ld hl, $0005
|
|
add hl, bc
|
|
ld a, [hl]
|
|
add $18
|
|
ld [hl], a
|
|
ret
|
|
|
|
Function8cab: ; 02:4cab
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $02
|
|
ret z
|
|
xor a
|
|
ld [wJumptableIndex], a
|
|
ret
|
|
|
|
Function8cb7: ; 02:4cb7
|
|
call Function8c1c
|
|
call Function8eaa
|
|
call WaitForAutoBgMapTransfer
|
|
ld b, $15
|
|
call GetSGBLayout
|
|
ld de, Pokegear2GFX
|
|
ld hl, vTilesetEnd
|
|
lb bc, BANK(Pokegear2GFX), $09
|
|
call Request2bpp
|
|
ld de, VerticalPipeGFX
|
|
ld hl, vChars0
|
|
lb bc, BANK(VerticalPipeGFX), $01
|
|
call Request2bpp
|
|
ld hl, $c2dc
|
|
ld bc, $00b4
|
|
ld a, $0e
|
|
call ByteFill
|
|
ld hl, $c341
|
|
ld bc, $0412
|
|
call Function8ef9
|
|
ld hl, $c2e0
|
|
ld bc, $060e
|
|
call Function8ef9
|
|
ld a, $05
|
|
ld hl, $c37c
|
|
ld [hl], a
|
|
ld hl, $c38f
|
|
ld [hl], a
|
|
ld hl, $c306
|
|
ld a, $60
|
|
ld [hli], a
|
|
inc a
|
|
ld [hld], a
|
|
inc a
|
|
ld bc, $0014
|
|
add hl, bc
|
|
ld [hli], a
|
|
inc a
|
|
ld [hld], a
|
|
ld hl, $c2f2
|
|
ld a, $64
|
|
ld [hli], a
|
|
inc a
|
|
ld [hl], a
|
|
ld hl, $c309
|
|
ld bc, $000c
|
|
ld a, $66
|
|
call ByteFill
|
|
ld hl, $c31d
|
|
ld bc, $000c
|
|
ld a, $67
|
|
call ByteFill
|
|
ld hl, Text91c2
|
|
call PrintText
|
|
call WaitBGMap
|
|
ld de, $4c23
|
|
ld a, $44
|
|
call InitSpriteAnimStruct
|
|
ld hl, $0002
|
|
add hl, bc
|
|
ld [hl], $00
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], $7c
|
|
ld de, $4030
|
|
ld a, $4b
|
|
call InitSpriteAnimStruct
|
|
ld hl, $0003
|
|
add hl, bc
|
|
ld [hl], $00
|
|
xor a
|
|
ld [wcb61], a
|
|
ret
|
|
|
|
Function8d62: ; 02:4d62
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $02
|
|
ret z
|
|
xor a
|
|
ld [wJumptableIndex], a
|
|
ret
|
|
|
|
Function8d6e: ; 02:4d6e
|
|
ld hl, wcb61
|
|
ld e, [hl]
|
|
ld d, $00
|
|
ld hl, Table8d7d
|
|
add hl, de
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp hl
|
|
|
|
Table8d7d: ; 02:4d7d
|
|
dw Function8d85
|
|
dw Function8d91
|
|
dw Function8d85
|
|
dw Function8db9
|
|
|
|
Function8d85: ; 02:4d85
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $01
|
|
ret z
|
|
ld hl, wcb61
|
|
inc [hl]
|
|
ret
|
|
|
|
Function8d91: ; 02:4d91
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr nz, .sub_8da6
|
|
call Function8dfd
|
|
jr c, .sub_8db1
|
|
ld hl, $0006
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_8dab
|
|
.sub_8da6
|
|
ld hl, $ffc0
|
|
jr Function8de3
|
|
.sub_8dab
|
|
ld a, $03
|
|
ld [wcb61], a
|
|
ret
|
|
.sub_8db1
|
|
call .sub_8da6
|
|
xor a
|
|
ld [wcb61], a
|
|
ret
|
|
|
|
Function8db9: ; 02:4db9
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and a
|
|
jr nz, .sub_8dcf
|
|
call Function8dfd
|
|
jr c, .sub_8dda
|
|
ld hl, $0006
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp $60
|
|
jr z, .sub_8dd4
|
|
.sub_8dcf
|
|
ld hl, $0040
|
|
jr Function8de3
|
|
.sub_8dd4
|
|
ld a, $01
|
|
ld [wcb61], a
|
|
ret
|
|
.sub_8dda
|
|
call .sub_8dcf
|
|
ld a, $02
|
|
ld [wcb61], a
|
|
ret
|
|
|
|
Function8de3: ; 02:4de3
|
|
push hl
|
|
ld hl, $0006
|
|
add hl, bc
|
|
ld d, [hl]
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld e, [hl]
|
|
pop hl
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
ld hl, $000c
|
|
add hl, bc
|
|
ld [hl], e
|
|
ld hl, $0006
|
|
add hl, bc
|
|
ld [hl], d
|
|
ret
|
|
|
|
Function8dfd: ; 02:4dfd
|
|
ld hl, $0006
|
|
add hl, bc
|
|
push bc
|
|
ld c, [hl]
|
|
ld a, [wMapGroup]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Table8e2f
|
|
add hl, de
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
.sub_8e11
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .sub_8e1e
|
|
cp c
|
|
jr z, .sub_8e21
|
|
ld de, $0006
|
|
add hl, de
|
|
jr .sub_8e11
|
|
.sub_8e1e
|
|
pop bc
|
|
and a
|
|
ret
|
|
.sub_8e21
|
|
ld de, Function8e2c
|
|
push de
|
|
inc hl
|
|
ld e, [hl]
|
|
inc hl
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
jp hl
|
|
|
|
Function8e2c: ; 02:4e2c
|
|
pop bc
|
|
scf
|
|
ret
|
|
|
|
Table8e2f: ; 02:4e2f
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
dw Data8e4d
|
|
|
|
Data8e4d: ; 02:4e4d
|
|
db $10, $02
|
|
dw Function8e66
|
|
dw Function8e66
|
|
|
|
db $20, $05
|
|
dw Function8e66
|
|
dw Function8e66
|
|
|
|
db $40, $07
|
|
dw Function8e66
|
|
dw Function8e66
|
|
|
|
db $48, $09
|
|
dw Function8e66
|
|
dw Function8e66
|
|
|
|
db $00
|
|
|
|
Function8e66: ; 02:4e66
|
|
ld d, $00
|
|
call PlayMusic
|
|
ret
|
|
|
|
Function8e6c: ; 02:4e6c
|
|
call Function8c1c
|
|
call Function8eaa
|
|
call WaitForAutoBgMapTransfer
|
|
ld b, $13
|
|
call GetSGBLayout
|
|
call LoadFontExtra
|
|
ld de, Text8e90
|
|
ld hl, $c333
|
|
call PlaceString
|
|
ld hl, Text8e95
|
|
call PrintText
|
|
call WaitBGMap
|
|
ret
|
|
|
|
Text8e90: ; 02:4e90
|
|
db "けんがい@"
|
|
|
|
Text8e95: ; 02:4e95
|
|
text "ちぇっ⋯⋯⋯⋯"
|
|
done
|
|
|
|
Function8e9e: ; 02:4e9e
|
|
ld hl, hJoyDown
|
|
ld a, [hl]
|
|
and $02
|
|
ret z
|
|
xor a
|
|
ld [wJumptableIndex], a
|
|
ret
|
|
|
|
Function8eaa: ; 02:4eaa
|
|
ld hl, InitEffectObject
|
|
ld a, BANK(InitEffectObject)
|
|
call FarCall_hl
|
|
call ClearSprites
|
|
call WaitForAutoBgMapTransfer
|
|
ld hl, $c2dc
|
|
ld bc, $012c
|
|
ld a, $7f
|
|
call ByteFill
|
|
call WaitBGMap
|
|
call WaitBGMap
|
|
ret
|
|
|
|
Function8eca: ; 02:4eca
|
|
ld hl, wFlyDestination
|
|
ld de, hJoySum
|
|
ld a, [de]
|
|
and $20
|
|
jr nz, .sub_8edc
|
|
ld a, [de]
|
|
and $10
|
|
jr nz, .sub_8ee2
|
|
jr .sub_8ee7
|
|
.sub_8edc
|
|
ld a, [hl]
|
|
and a
|
|
ret z
|
|
dec [hl]
|
|
jr .sub_8ee7
|
|
.sub_8ee2
|
|
ld a, [hl]
|
|
cp $02
|
|
ret nc
|
|
inc [hl]
|
|
.sub_8ee7
|
|
ld e, [hl]
|
|
ld d, $00
|
|
ld hl, Data8ef5
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld hl, $0006
|
|
add hl, bc
|
|
ld [hl], a
|
|
ret
|
|
|
|
Data8ef5: ; 02:4ef5
|
|
db $00, $18, $30, $00
|
|
|
|
Function8ef9: ; 02:4ef9
|
|
dec c
|
|
dec c
|
|
dec b
|
|
dec b
|
|
ld de, $0014
|
|
push bc
|
|
push hl
|
|
ld a, $01
|
|
ld [hli], a
|
|
ld a, $05
|
|
.sub_8f07
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .sub_8f07
|
|
ld a, $02
|
|
ld [hl], a
|
|
pop hl
|
|
pop bc
|
|
add hl, de
|
|
.sub_8f11
|
|
push bc
|
|
push hl
|
|
ld a, $08
|
|
ld [hli], a
|
|
ld a, $7f
|
|
.sub_8f18
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .sub_8f18
|
|
ld a, $07
|
|
ld [hli], a
|
|
pop hl
|
|
add hl, de
|
|
pop bc
|
|
dec b
|
|
jr nz, .sub_8f11
|
|
ld a, $03
|
|
ld [hli], a
|
|
ld a, $06
|
|
.sub_8f2a
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .sub_8f2a
|
|
ld a, $04
|
|
ld [hli], a
|
|
ret
|
|
|
|
SECTION "engine/dumps/bank02.asm@Text91c2", ROMX
|
|
|
|
Text91c2: ; 02:51c2
|
|
text "エーボタンで チューニング!"
|
|
done
|
|
|
|
SetTitleBGDecorationBorder: ; 02:51d2
|
|
ld de, TitleBGDecorationBorder
|
|
ld hl, $9500
|
|
lb bc, BANK(TitleBGDecorationBorder), $09
|
|
call Request2bpp
|
|
ld hl, $c340
|
|
ld b, $50
|
|
call Function91ef
|
|
ld hl, $c3e0
|
|
ld b, $54
|
|
call Function91ef
|
|
ret
|
|
|
|
Function91ef: ; 02:51ef
|
|
xor a
|
|
ld c, $14
|
|
.sub_91f2
|
|
and $03
|
|
or b
|
|
ld [hli], a
|
|
inc a
|
|
dec c
|
|
jr nz, .sub_91f2
|
|
ret
|
|
|
|
SECTION "engine/dumps/bank02.asm@Function928b", ROMX
|
|
|
|
Function928b: ; 02:528b
|
|
ld a, b
|
|
cp $ff
|
|
jr nz, .sub_9293
|
|
ld a, [wccd0]
|
|
.sub_9293
|
|
cp $fc
|
|
jp z, Function9604
|
|
ld l, a
|
|
ld h, $00
|
|
add hl, hl
|
|
ld de, Table92a8
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld de, Function955f
|
|
push de
|
|
jp hl
|
|
|
|
Table92a8: ; 02:52a8
|
|
dw Function92d4
|
|
dw Function92db
|
|
dw Function934b
|
|
dw Function9352
|
|
dw Function9382
|
|
dw Function93a6
|
|
dw Function93ad
|
|
dw Function93bb
|
|
dw Function93b4
|
|
dw Function93fe
|
|
dw Function937b
|
|
dw Function941a
|
|
dw Function93d8
|
|
dw Function9441
|
|
dw Function932b
|
|
dw Function93e4
|
|
dw Function939f
|
|
dw Function93eb
|
|
dw Function9448
|
|
dw Function948e
|
|
dw Function94ab
|
|
dw Function94c8
|
|
|
|
Function92d4: ; 02:52d4
|
|
ld hl, Data99ec
|
|
ld de, Data988c
|
|
ret
|
|
|
|
Function92db: ; 02:52db
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, [wca3f]
|
|
ld hl, wca02
|
|
call Function9567
|
|
jr c, .sub_92f7
|
|
ld e, $00
|
|
call Function9599
|
|
.sub_92f7
|
|
ld b, a
|
|
ld a, [wca44]
|
|
ld hl, wcdd7
|
|
call Function9567
|
|
jr c, .sub_9308
|
|
ld e, $01
|
|
call Function9599
|
|
.sub_9308
|
|
ld c, a
|
|
ld hl, wcce2
|
|
ld a, [wccd1]
|
|
add $23
|
|
ld [hli], a
|
|
inc hl
|
|
ld a, [wccd2]
|
|
add $23
|
|
ld [hli], a
|
|
inc hl
|
|
ld a, b
|
|
ld [hli], a
|
|
inc hl
|
|
ld a, c
|
|
ld [hl], a
|
|
ld hl, wcce1
|
|
ld de, Data988c
|
|
ld a, $01
|
|
ld [wccd0], a
|
|
ret
|
|
|
|
Function932b: ; 02:532b
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld hl, wcce2
|
|
ld [hl], $10
|
|
inc hl
|
|
inc hl
|
|
ld a, [wccd1]
|
|
add $23
|
|
ld [hl], a
|
|
ld hl, wcce1
|
|
ld de, Data98bc
|
|
ret
|
|
|
|
Function934b: ; 02:534b
|
|
ld hl, Data99fc
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function9352: ; 02:5352
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, [wMonDexIndex]
|
|
call Function956d
|
|
call Function957e
|
|
push af
|
|
ld hl, wcce2
|
|
ld a, [wccd9]
|
|
add $23
|
|
ld [hli], a
|
|
inc hl
|
|
pop af
|
|
ld [hl], a
|
|
ld hl, wcce1
|
|
ld de, Data98ac
|
|
ret
|
|
|
|
Function937b: ; 02:537b
|
|
ld hl, Data99dc
|
|
ld de, wcce2
|
|
ret
|
|
|
|
Function9382: ; 02:5382
|
|
ld hl, Data9a0c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, [wMonDexIndex]
|
|
call Function956d
|
|
ld hl, wcce4
|
|
ld [hl], a
|
|
ld hl, wcce1
|
|
ld de, Data98cc
|
|
ret
|
|
|
|
Function939f: ; 02:539f
|
|
ld hl, Data99bc
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function93a6: ; 02:53a6
|
|
ld hl, Data9a1c
|
|
ld de, Data98dc
|
|
ret
|
|
|
|
Function93ad: ; 02:53ad
|
|
ld hl, Data9a2c
|
|
ld de, Data993c
|
|
ret
|
|
|
|
Function93b4: ; 02:53b4
|
|
ld hl, Data9a3c
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function93bb: ; 02:53bb
|
|
ld b, $00
|
|
ld hl, Table93cc
|
|
add hl, bc
|
|
add hl, bc
|
|
add hl, bc
|
|
add hl, bc
|
|
ld e, [hl]
|
|
inc hl
|
|
ld d, [hl]
|
|
inc hl
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ret
|
|
|
|
Table93cc: ; 02:53cc
|
|
dw Data986c
|
|
dw Data996c
|
|
|
|
dw Data987c
|
|
dw Data998c
|
|
|
|
dw Data986c
|
|
dw Data999c
|
|
|
|
Function93d8: ; 02:53d8
|
|
ld hl, Data9a4c
|
|
ld de, Data986c
|
|
ld a, $08
|
|
ld [wccd0], a
|
|
ret
|
|
|
|
Function93e4: ; 02:53e4
|
|
ld hl, Data99cc
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function93eb: ; 02:53eb
|
|
ld hl, Data986c
|
|
ld de, $c51a
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld hl, Data994c
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function93fe: ; 02:53fe
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
call Function94e5
|
|
ld hl, wcce2
|
|
ld [hld], a
|
|
ld de, Data986c
|
|
ld a, $09
|
|
ld [wccd0], a
|
|
ret
|
|
|
|
Function941a: ; 02:541a
|
|
push bc
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
pop bc
|
|
ld a, c
|
|
and a
|
|
ld a, $0e
|
|
jr nz, .sub_9437
|
|
ld a, [wccd1]
|
|
call Function956d
|
|
call Function957e
|
|
.sub_9437
|
|
ld [wcce2], a
|
|
ld hl, wcce1
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function9441: ; 02:5441
|
|
ld hl, Data9a3c
|
|
ld de, Data986c
|
|
ret
|
|
|
|
Function9448: ; 02:5448
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld hl, Data986c
|
|
ld de, $ccf1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
call Function94e5
|
|
ld hl, wcce2
|
|
ld [hl], a
|
|
ld a, [wMonDexIndex]
|
|
call Function956d
|
|
ld hl, wcce4
|
|
ld [hl], a
|
|
ld hl, wccf4
|
|
ld a, $05
|
|
ld [hli], a
|
|
ld a, [wMenuBorderLeftCoord]
|
|
ld [hli], a
|
|
ld a, [wMenuBorderTopCoord]
|
|
ld [hli], a
|
|
ld a, [wMenuBorderRightCoord]
|
|
ld [hli], a
|
|
ld a, [wMenuBorderBottomCoord]
|
|
ld [hl], a
|
|
ld hl, wcce1
|
|
ld de, wccf1
|
|
ret
|
|
|
|
Function948e: ; 02:548e
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, $16
|
|
ld [wcce2], a
|
|
ld a, $30
|
|
ld [wcce4], a
|
|
ld hl, wcce1
|
|
ld de, Data992c
|
|
ret
|
|
|
|
Function94ab: ; 02:54ab
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, $16
|
|
ld [wcce2], a
|
|
ld a, $26
|
|
ld [wcce4], a
|
|
ld hl, wcce1
|
|
ld de, Data992c
|
|
ret
|
|
|
|
Function94c8: ; 02:54c8
|
|
ld hl, Data995c
|
|
ld de, wcce1
|
|
ld bc, $0010
|
|
call CopyBytes
|
|
ld a, $16
|
|
ld [wcce2], a
|
|
ld a, $39
|
|
ld [wcce4], a
|
|
ld hl, wcce1
|
|
ld de, Data992c
|
|
ret
|
|
|
|
Function94e5: ; 02:54e5
|
|
ld a, [wMapPermissions]
|
|
cp $02
|
|
jr z, .sub_950e
|
|
cp $04
|
|
jr z, .sub_9516
|
|
cp $06
|
|
jr z, .sub_951e
|
|
cp $05
|
|
jr z, .sub_9521
|
|
cp $03
|
|
jr z, .sub_9505
|
|
call Function9527
|
|
jr c, .sub_9524
|
|
call Function9543
|
|
ret
|
|
.sub_9505
|
|
call Function9536
|
|
jr c, .sub_9524
|
|
call Function9543
|
|
ret
|
|
.sub_950e
|
|
call Function9527
|
|
jr c, .sub_9524
|
|
ld a, $00
|
|
ret
|
|
.sub_9516
|
|
call Function9527
|
|
jr c, .sub_9524
|
|
ld a, $0c
|
|
ret
|
|
.sub_951e
|
|
ld a, $03
|
|
ret
|
|
.sub_9521
|
|
ld a, $04
|
|
ret
|
|
.sub_9524
|
|
ld a, $0d
|
|
ret
|
|
|
|
Function9527: ; 02:5527
|
|
ld a, [wTimeOfDay]
|
|
and $03
|
|
jr z, .sub_9534
|
|
cp $03
|
|
jr z, .sub_9534
|
|
scf
|
|
ret
|
|
.sub_9534
|
|
and a
|
|
ret
|
|
|
|
Function9536: ; 02:5536
|
|
ld a, [wTimeOfDay]
|
|
and $03
|
|
cp $02
|
|
jr nz, .sub_9541
|
|
scf
|
|
ret
|
|
.sub_9541
|
|
and a
|
|
ret
|
|
|
|
Function9543: ; 02:5543
|
|
ld a, [wMapGroup]
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, Data954f
|
|
add hl, de
|
|
ld a, [hl]
|
|
ret
|
|
|
|
Data954f: ; 02:554f
|
|
db $01, $07, $0c, $03, $08, $06, $0b, $04
|
|
db $05, $0a, $02, $03, $02, $02, $09, $01
|
|
|
|
Function955f: ; 02:555f
|
|
push de
|
|
call Function964b
|
|
pop hl
|
|
jp Function964b
|
|
|
|
Function9567: ; 02:5567
|
|
bit 3, a
|
|
ld a, $18
|
|
ret nz
|
|
ld a, [hl]
|
|
|
|
Function956d: ; 02:556d
|
|
and a
|
|
jr z, .sub_957a
|
|
ld e, a
|
|
ld d, $00
|
|
ld hl, PokemonPalettes
|
|
add hl, de
|
|
ld a, [hl]
|
|
and a
|
|
ret
|
|
.sub_957a
|
|
ld a, $0f
|
|
scf
|
|
ret
|
|
|
|
Function957e: ; 02:557e
|
|
push bc
|
|
push af
|
|
ld hl, wPartyMon1DVs
|
|
ld a, [wWhichPokemon]
|
|
ld bc, $0030
|
|
call AddNTimes
|
|
call Function95b0
|
|
ld b, $00
|
|
jr nc, .sub_9595
|
|
ld b, $0a
|
|
.sub_9595
|
|
pop af
|
|
add b
|
|
pop bc
|
|
ret
|
|
|
|
Function9599: ; 02:5599
|
|
push bc
|
|
push af
|
|
ld a, e
|
|
and a
|
|
ld a, [wcae1]
|
|
jr z, .sub_95a4
|
|
srl a
|
|
.sub_95a4
|
|
srl a
|
|
ld b, $00
|
|
jr nc, .sub_95ac
|
|
ld b, $0a
|
|
.sub_95ac
|
|
pop af
|
|
add b
|
|
pop bc
|
|
ret
|
|
|
|
Function95b0: ; 02:55b0
|
|
ld a, [hl]
|
|
cp $a0
|
|
jr c, .sub_95ca
|
|
ld a, [hli]
|
|
and $0f
|
|
cp $0a
|
|
jr c, .sub_95ca
|
|
ld a, [hl]
|
|
cp $a0
|
|
jr c, .sub_95ca
|
|
ld a, [hl]
|
|
and $0f
|
|
cp $0a
|
|
jr c, .sub_95ca
|
|
scf
|
|
ret
|
|
.sub_95ca
|
|
and a
|
|
ret
|
|
|
|
Function95cc: ; 02:55cc
|
|
ld hl, $cddf
|
|
ldh a, [hBattleTurn]
|
|
and a
|
|
jr nz, .sub_95d7
|
|
ld hl, $ca08
|
|
.sub_95d7
|
|
call Function95b0
|
|
ld hl, wcae1
|
|
jr nc, .sub_95ec
|
|
ldh a, [hBattleTurn]
|
|
and a
|
|
jr nz, .sub_95e8
|
|
set 0, [hl]
|
|
jr .sub_95f7
|
|
.sub_95e8
|
|
set 1, [hl]
|
|
jr .sub_95f7
|
|
.sub_95ec
|
|
ldh a, [hBattleTurn]
|
|
and a
|
|
jr nz, .sub_95f5
|
|
res 0, [hl]
|
|
jr .sub_95f7
|
|
.sub_95f5
|
|
res 1, [hl]
|
|
.sub_95f7
|
|
ret
|
|
|
|
Function95f8: ; 02:55f8
|
|
ld hl, Data98fc
|
|
ld de, wcce2
|
|
ld bc, $0030
|
|
jp CopyBytes
|
|
|
|
Function9604: ; 02:5604
|
|
ld hl, $ccd3
|
|
ld a, [wcce1]
|
|
ld e, a
|
|
ld d, $00
|
|
add hl, de
|
|
ld e, l
|
|
ld d, h
|
|
ld a, [de]
|
|
and a
|
|
ld e, $05
|
|
jr z, .sub_961d
|
|
dec a
|
|
ld e, $0a
|
|
jr z, .sub_961d
|
|
ld e, $0f
|
|
.sub_961d
|
|
push de
|
|
ld hl, $cceb
|
|
ld bc, $0006
|
|
ld a, [wcce1]
|
|
call AddNTimes
|
|
pop de
|
|
ld [hl], e
|
|
ret
|
|
|
|
Function962d: ; 02:562d
|
|
ld hl, Data997c
|
|
jp Function964b
|
|
|
|
Function9633: ; 02:5633
|
|
ld hl, Data986c
|
|
jp Function964b
|
|
|
|
Function9639: ; 02:5639
|
|
ld hl, Data99ac
|
|
jp Function964b
|
|
|
|
Function963f: ; 02:563f
|
|
ld hl, Data99bc
|
|
jp Function964b
|
|
|
|
Function9645: ; 02:5645
|
|
ld hl, $c51a
|
|
jp Function964b
|
|
|
|
Function964b: ; 02:564b
|
|
ld a, [wJoypadFlags]
|
|
push af
|
|
set 7, a
|
|
ld [wJoypadFlags], a
|
|
call Function965c
|
|
pop af
|
|
ld [wJoypadFlags], a
|
|
ret
|
|
|
|
Function965c: ; 02:565c
|
|
ld a, [hl]
|
|
and $07
|
|
ret z
|
|
ld b, a
|
|
.sub_9661
|
|
push bc
|
|
xor a
|
|
ldh [rJOYP], a
|
|
ld a, $30
|
|
ldh [rJOYP], a
|
|
ld b, $10
|
|
.sub_966b
|
|
ld e, $08
|
|
ld a, [hli]
|
|
ld d, a
|
|
.sub_966f
|
|
bit 0, d
|
|
ld a, $10
|
|
jr nz, .sub_9677
|
|
ld a, $20
|
|
.sub_9677
|
|
ldh [rJOYP], a
|
|
ld a, $30
|
|
ldh [rJOYP], a
|
|
rr d
|
|
dec e
|
|
jr nz, .sub_966f
|
|
dec b
|
|
jr nz, .sub_966b
|
|
ld a, $20
|
|
ldh [rJOYP], a
|
|
ld a, $30
|
|
ldh [rJOYP], a
|
|
call Function9860
|
|
pop bc
|
|
dec b
|
|
jr nz, .sub_9661
|
|
ret
|
|
|
|
CheckSGB: ; 02:5695
|
|
ld a, [wJoypadFlags]
|
|
push af
|
|
set 7, a
|
|
ld [wJoypadFlags], a
|
|
xor a
|
|
ldh [rJOYP], a
|
|
ld [wSGB], a
|
|
call Function9730
|
|
jr nc, .sub_96c0
|
|
ld a, $01
|
|
ld [wSGB], a
|
|
call .sub_96c5
|
|
call Function9704
|
|
call Function979a
|
|
call Function9725
|
|
ld hl, Data9abc
|
|
call Function965c
|
|
.sub_96c0
|
|
pop af
|
|
ld [wJoypadFlags], a
|
|
ret
|
|
.sub_96c5
|
|
ld hl, Table96d9
|
|
ld c, $09
|
|
.sub_96ca
|
|
push bc
|
|
ld a, [hli]
|
|
push hl
|
|
ld h, [hl]
|
|
ld l, a
|
|
call Function965c
|
|
pop hl
|
|
inc hl
|
|
pop bc
|
|
dec c
|
|
jr nz, .sub_96ca
|
|
ret
|
|
|
|
Table96d9: ; 02:56d9
|
|
dw Data9aac
|
|
dw Data9acc
|
|
dw Data9adc
|
|
dw Data9aec
|
|
dw Data9afc
|
|
dw Data9b0c
|
|
dw Data9b1c
|
|
dw Data9b2c
|
|
dw Data9b3c
|
|
|
|
Function96eb: ; 02:56eb
|
|
ld a, [wSGB]
|
|
ret z
|
|
di
|
|
xor a
|
|
ldh [rJOYP], a
|
|
ld hl, Data9aac
|
|
call Function965c
|
|
call Function9704
|
|
ld hl, Data9abc
|
|
call Function965c
|
|
ei
|
|
ret
|
|
|
|
Function9704: ; 02:5704
|
|
call Function9710
|
|
push de
|
|
call Function980a
|
|
pop hl
|
|
call Function97be
|
|
ret
|
|
|
|
Function9710: ; 02:5710
|
|
ld a, [wce5f]
|
|
bit 3, a
|
|
jr nz, .sub_971e
|
|
ld hl, UnusedSGBBorderGFX
|
|
ld de, Corrupted9e1cGFX
|
|
ret
|
|
.sub_971e
|
|
ld hl, SGBBorderGFX
|
|
ld de, Corrupteda66cGFX
|
|
ret
|
|
|
|
Function9725: ; 02:5725
|
|
ld hl, vChars0
|
|
ld bc, $2000
|
|
xor a
|
|
call ByteFill
|
|
ret
|
|
|
|
Function9730: ; 02:5730
|
|
ld hl, Data9a7c
|
|
call Function965c
|
|
call Function9860
|
|
ldh a, [rJOYP]
|
|
and $03
|
|
cp $03
|
|
jr nz, .sub_978c
|
|
ld a, $20
|
|
ldh [rJOYP], a
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
call Function9860
|
|
call Function9860
|
|
ld a, $30
|
|
ldh [rJOYP], a
|
|
call Function9860
|
|
call Function9860
|
|
ld a, $10
|
|
ldh [rJOYP], a
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
call Function9860
|
|
call Function9860
|
|
ld a, $30
|
|
ldh [rJOYP], a
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
ldh a, [rJOYP]
|
|
call Function9860
|
|
call Function9860
|
|
ldh a, [rJOYP]
|
|
and $03
|
|
cp $03
|
|
jr nz, .sub_978c
|
|
call .sub_9791
|
|
and a
|
|
ret
|
|
.sub_978c
|
|
call .sub_9791
|
|
scf
|
|
ret
|
|
.sub_9791
|
|
ld hl, Data9a6c
|
|
call Function965c
|
|
jp Function9860
|
|
|
|
Function979a: ; 02:579a
|
|
call DisableLCD
|
|
ld a, $e4
|
|
ldh [rBGP], a
|
|
ld hl, SuperPalettes
|
|
ld de, vChars1
|
|
ld bc, $1000
|
|
call Function9838
|
|
call Function984a
|
|
ld a, $e3
|
|
ldh [rLCDC], a
|
|
ld hl, Data9a5c
|
|
call Function965c
|
|
xor a
|
|
ldh [rBGP], a
|
|
ret
|
|
|
|
Function97be: ; 02:57be
|
|
call DisableLCD
|
|
ld a, $e4
|
|
ldh [rBGP], a
|
|
ld de, vChars1
|
|
ld bc, $0140
|
|
call Function9838
|
|
ld b, $12
|
|
.sub_97d0
|
|
push bc
|
|
ld bc, $000c
|
|
call Function9838
|
|
ld bc, $0028
|
|
call Function9841
|
|
ld bc, $000c
|
|
call Function9838
|
|
pop bc
|
|
dec b
|
|
jr nz, .sub_97d0
|
|
ld bc, $0140
|
|
call Function9838
|
|
ld bc, $0100
|
|
call Function9841
|
|
ld bc, $0080
|
|
call Function9838
|
|
call Function984a
|
|
ld a, $e3
|
|
ldh [rLCDC], a
|
|
ld hl, Data9a9c
|
|
call Function965c
|
|
xor a
|
|
ldh [rBGP], a
|
|
ret
|
|
|
|
Function980a: ; 02:580a
|
|
call DisableLCD
|
|
ld a, $e4
|
|
ldh [rBGP], a
|
|
ld de, vChars1
|
|
ld b, $80
|
|
.sub_9816
|
|
push bc
|
|
ld bc, $0010
|
|
call Function9838
|
|
ld bc, $0010
|
|
call Function9841
|
|
pop bc
|
|
dec b
|
|
jr nz, .sub_9816
|
|
call Function984a
|
|
ld a, $e3
|
|
ldh [rLCDC], a
|
|
ld hl, Data9a8c
|
|
call Function965c
|
|
xor a
|
|
ldh [rBGP], a
|
|
ret
|
|
|
|
Function9838: ; 02:5838
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
dec bc
|
|
ld a, c
|
|
or b
|
|
jr nz, Function9838
|
|
ret
|
|
|
|
Function9841: ; 02:5841
|
|
xor a
|
|
ld [de], a
|
|
inc de
|
|
dec bc
|
|
ld a, c
|
|
or b
|
|
jr nz, Function9841
|
|
ret
|
|
|
|
Function984a: ; 02:584a
|
|
ld hl, vBGMap0
|
|
ld de, $000c
|
|
ld a, $80
|
|
ld c, $0d
|
|
.sub_9854
|
|
ld b, $14
|
|
.sub_9856
|
|
ld [hli], a
|
|
inc a
|
|
dec b
|
|
jr nz, .sub_9856
|
|
add hl, de
|
|
dec c
|
|
jr nz, .sub_9854
|
|
ret
|
|
|
|
Function9860: ; 02:5860
|
|
ld de, $1b58
|
|
.sub_9863
|
|
nop
|
|
nop
|
|
nop
|
|
dec de
|
|
ld a, d
|
|
or e
|
|
jr nz, .sub_9863
|
|
ret
|
|
|
|
Data986c: ; 02:586c
|
|
db $21, $01, $03, $00, $00, $00, $13, $11
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data987c: ; 02:587c
|
|
db $21, $01, $07, $05, $00, $0a, $13, $0d
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data988c: ; 02:588c
|
|
db $22, $05, $07, $0a, $00, $0c, $13, $11
|
|
db $03, $05, $01, $00, $0a, $03, $03, $00
|
|
|
|
Data989c: ; 02:589c
|
|
db $0a, $08, $13, $0a, $03, $0a, $00, $04
|
|
db $08, $0b, $03, $0f, $0b, $00, $13, $07
|
|
|
|
Data98ac: ; 02:58ac
|
|
db $21, $01, $07, $05, $00, $01, $07, $07
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data98bc: ; 02:58bc
|
|
db $21, $01, $07, $05, $0b, $01, $13, $02
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data98cc: ; 02:58cc
|
|
db $21, $01, $07, $05, $01, $01, $08, $08
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data98dc: ; 02:58dc
|
|
db $22, $05, $03, $05, $00, $00, $13, $0b
|
|
db $03, $0a, $00, $04, $13, $09, $02, $0f
|
|
|
|
Data98ec: ; 02:58ec
|
|
db $00, $06, $13, $07, $03, $00, $04, $04
|
|
db $0f, $09, $03, $00, $00, $0c, $13, $11
|
|
|
|
Data98fc: ; 02:58fc
|
|
db $23, $07, $07, $10, $00, $00, $02, $0c
|
|
db $02, $00, $0c, $00, $12, $01, $02, $00
|
|
|
|
Data990c: ; 02:590c
|
|
db $0c, $02, $12, $03, $02, $00, $0c, $04
|
|
db $12, $05, $02, $00, $0c, $06, $12, $07
|
|
|
|
Data991c: ; 02:591c
|
|
db $02, $00, $0c, $08, $12, $09, $02, $00
|
|
db $0c, $0a, $12, $0b, $00, $00, $00, $00
|
|
|
|
Data992c: ; 02:592c
|
|
db $21, $01, $07, $10, $00, $00, $13, $02
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data993c: ; 02:593c
|
|
db $21, $01, $07, $10, $00, $00, $13, $05
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data994c: ; 02:594c
|
|
db $51, $35, $00, $36, $00, $37, $00, $38
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data995c: ; 02:595c
|
|
db $51, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data996c: ; 02:596c
|
|
db $51, $2a, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data997c: ; 02:597c
|
|
db $51, $2b, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data998c: ; 02:598c
|
|
db $51, $2c, $00, $2d, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data999c: ; 02:599c
|
|
db $51, $2e, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99ac: ; 02:59ac
|
|
db $51, $2f, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99bc: ; 02:59bc
|
|
db $51, $30, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99cc: ; 02:59cc
|
|
db $51, $2d, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99dc: ; 02:59dc
|
|
db $51, $22, $00, $23, $00, $24, $00, $25
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99ec: ; 02:59ec
|
|
db $51, $0e, $00, $0e, $00, $0e, $00, $0e
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data99fc: ; 02:59fc
|
|
db $51, $26, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a0c: ; 02:5a0c
|
|
db $51, $30, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a1c: ; 02:5a1c
|
|
db $51, $31, $00, $32, $00, $33, $00, $34
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a2c: ; 02:5a2c
|
|
db $51, $27, $00, $28, $00, $0f, $00, $13
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a3c: ; 02:5a3c
|
|
db $51, $0f, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a4c: ; 02:5a4c
|
|
db $51, $29, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a5c: ; 02:5a5c
|
|
db $59, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a6c: ; 02:5a6c
|
|
db $89, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a7c: ; 02:5a7c
|
|
db $89, $01, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a8c: ; 02:5a8c
|
|
db $99, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9a9c: ; 02:5a9c
|
|
db $a1, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9aac: ; 02:5aac
|
|
db $b9, $01, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9abc: ; 02:5abc
|
|
db $b9, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9acc: ; 02:5acc
|
|
db $79, $5d, $08, $00, $0b, $8c, $d0, $f4
|
|
db $60, $00, $00, $00, $00, $00, $00, $00
|
|
|
|
Data9adc: ; 02:5adc
|
|
db $79, $52, $08, $00, $0b, $a9, $e7, $9f
|
|
db $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
|
|
|
|
Data9aec: ; 02:5aec
|
|
db $79, $47, $08, $00, $0b, $c4, $d0, $16
|
|
db $a5, $cb, $c9, $05, $d0, $10, $a2, $28
|
|
|
|
Data9afc: ; 02:5afc
|
|
db $79, $3c, $08, $00, $0b, $f0, $12, $a5
|
|
db $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
|
|
|
|
Data9b0c: ; 02:5b0c
|
|
db $79, $31, $08, $00, $0b, $0c, $a5, $ca
|
|
db $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
|
|
|
|
Data9b1c: ; 02:5b1c
|
|
db $79, $26, $08, $00, $0b, $39, $cd, $48
|
|
db $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
|
|
|
|
Data9b2c: ; 02:5b2c
|
|
db $79, $1b, $08, $00, $0b, $ea, $ea, $ea
|
|
db $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
|
|
|
|
Data9b3c: ; 02:5b3c
|
|
db $79, $10, $08, $00, $0b, $4c, $20, $08
|
|
db $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
|