This commit is contained in:
IIMarckus 2013-07-05 20:29:31 -06:00
commit 463c86c1f3

226
main.asm
View file

@ -7338,7 +7338,7 @@ DisplayListMenuIDLoop: ; 2c53 (0:2c53)
and a ; is it a PC pokemon list? and a ; is it a PC pokemon list?
jr z,.pokemonList jr z,.pokemonList
push hl push hl
call Func_37df call GetItemPrice
pop hl pop hl
ld a,[W_LISTMENUID] ld a,[W_LISTMENUID]
cp a,ITEMLISTMENU cp a,ITEMLISTMENU
@ -7634,7 +7634,7 @@ PrintListMenuEntries: ; 2e5a (0:2e5a)
ld a,[de] ld a,[de]
ld de,ItemPrices ld de,ItemPrices
ld [$cf91],a ld [$cf91],a
call Func_37df ; get price call GetItemPrice ; get price
pop hl pop hl
ld bc,20 + 5 ; 1 row down and 5 columns right ld bc,20 + 5 ; 1 row down and 5 columns right
add hl,bc add hl,bc
@ -9246,7 +9246,7 @@ GetName: ; 376b (0:376b)
ret ret
; known jump sources: 2cdc (0:2cdc), 2ee0 (0:2ee0) ; known jump sources: 2cdc (0:2cdc), 2ee0 (0:2ee0)
Func_37df: ; 37df (0:37df) GetItemPrice: ; 37df (0:37df)
ld a, [H_LOADEDROMBANK] ld a, [H_LOADEDROMBANK]
push af push af
ld a, [W_LISTMENUID] ; $cf94 ld a, [W_LISTMENUID] ; $cf94
@ -9262,7 +9262,7 @@ Func_37df: ; 37df (0:37df)
ld h, [hl] ld h, [hl]
ld l, a ld l, a
ld a, [$cf91] ld a, [$cf91]
cp $c4 cp HM_01
jr nc, .asm_3812 jr nc, .asm_3812
ld bc, $3 ld bc, $3
.asm_3802 .asm_3802
@ -9281,7 +9281,7 @@ Func_37df: ; 37df (0:37df)
ld a, $1e ld a, $1e
ld [H_LOADEDROMBANK], a ld [H_LOADEDROMBANK], a
ld [$2000], a ld [$2000], a
call Func_7bf86 call GetMachinePrice
.asm_381c .asm_381c
ld de, H_DOWNARROWBLINKCNT1 ; $ff8b ld de, H_DOWNARROWBLINKCNT1 ; $ff8b
pop af pop af
@ -26680,99 +26680,128 @@ Func_e9f0: ; e9f0 (3:69f0)
dec hl dec hl
ret ret
; known jump sources: 13474 (4:7474)
Func_ea03: ; ea03 (3:6a03) DrawBadges: ; ea03 (3:6a03)
; Draw 4x2 gym leader faces, with the faces replaced by
; badges if they are owned. Used in the player status screen.
; In Japanese versions, names are displayed above faces.
; Instead of removing relevant code, the name graphics were erased.
; Tile ids for face/badge graphics.
ld de, $cd3f ld de, $cd3f
ld hl, Unknown_ea96 ; $6a96 ld hl, .FaceBadgeTiles
ld bc, $8 ld bc, 8
call CopyData call CopyData
; Booleans for each badge.
ld hl, $cd49 ld hl, $cd49
ld bc, $8 ld bc, 8
xor a xor a
call FillMemory call FillMemory
; Alter these based on owned badges.
ld de, $cd49 ld de, $cd49
ld hl, $cd3f ld hl, $cd3f
ld a, [W_OBTAINEDBADGES] ; $d356 ld a, [W_OBTAINEDBADGES]
ld b, a ld b, a
ld c, $8 ld c, 8
.asm_ea25 .CheckBadge
srl b srl b
jr nc, .asm_ea30 jr nc, .NextBadge
ld a, [hl] ld a, [hl]
add $4 add 4 ; Badge graphics are after each face
ld [hl], a ld [hl], a
ld a, $1 ld a, 1
ld [de], a ld [de], a
.asm_ea30 .NextBadge
inc hl inc hl
inc de inc de
dec c dec c
jr nz, .asm_ea25 jr nz, .CheckBadge
ld hl, W_WHICHTRADE ; $cd3d
ld a, $d8 ; Draw two rows of badges.
ld hl, $cd3d
ld a, $d8 ; [1]
ld [hli], a ld [hli], a
ld [hl], $60 ld [hl], $60 ; First name
FuncCoord 2, 11 ; $c47e
FuncCoord 2, 11
ld hl, Coord ld hl, Coord
ld de, $cd49 ld de, $cd49
call Func_ea4c call .DrawBadgeRow
FuncCoord 2, 14 ; $c4ba
ld hl, Coord
ld de, $cd4d
; known jump sources: ea43 (3:6a43) FuncCoord 2, 14
Func_ea4c: ; ea4c (3:6a4c) ld hl, Coord
ld c, $4 ld de, $cd49 + 4
.asm_ea4e ; call .DrawBadgeRow
; ret
; ea4c
.DrawBadgeRow ; ea4c (3:6a4c)
; Draw 4 badges.
ld c, 4
.DrawBadge
push de push de
push hl push hl
ld a, [W_WHICHTRADE] ; $cd3d
; Badge no.
ld a, [$cd3d]
ld [hli], a ld [hli], a
inc a inc a
ld [W_WHICHTRADE], a ; $cd3d ld [$cd3d], a
; Names aren't printed if the badge is owned.
ld a, [de] ld a, [de]
and a and a
ld a, [$cd3e] ld a, [$cd3e]
jr nz, .asm_ea64 jr nz, .SkipName
call Func_ea91 call .PlaceTiles
jr .asm_ea67 jr .PlaceBadge
.asm_ea64
.SkipName
inc a inc a
inc a inc a
inc hl inc hl
.asm_ea67
.PlaceBadge
ld [$cd3e], a ld [$cd3e], a
ld de, $13 ld de, 20 - 1
add hl, de add hl, de
ld a, [$cd3f] ld a, [$cd3f]
call Func_ea91 call .PlaceTiles
add hl, de add hl, de
call Func_ea91 call .PlaceTiles
; Shift badge array back one byte.
push bc push bc
ld hl, $cd40 ld hl, $cd3f + 1
ld de, $cd3f ld de, $cd3f
ld bc, $8 ld bc, 8
call CopyData call CopyData
pop bc pop bc
pop hl pop hl
ld de, $4 ld de, 4
add hl, de add hl, de
pop de pop de
inc de inc de
dec c dec c
jr nz, .asm_ea4e jr nz, .DrawBadge
ret ret
; known jump sources: ea5f (3:6a5f), ea71 (3:6a71), ea75 (3:6a75) .PlaceTiles
Func_ea91: ; ea91 (3:6a91)
ld [hli], a ld [hli], a
inc a inc a
ld [hl], a ld [hl], a
inc a inc a
ret ret
Unknown_ea96: ; ea96 (3:6a96) .FaceBadgeTiles
INCBIN "baserom.gbc",$ea96,$ea9e - $ea96 db $20, $28, $30, $38, $40, $48, $50, $58
; ea9e
GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e) GymLeaderFaceAndBadgeTileGraphics: ; ea9e (3:6a9e)
INCBIN "baserom.gbc",$ea9e,$ee9e - $ea9e INCBIN "baserom.gbc",$ea9e,$ee9e - $ea9e
@ -68198,66 +68227,73 @@ Func_41676: ; 41676 (10:5676)
jp Predef ; indirect jump to MoveAnimation (78d5e (1e:4d5e)) jp Predef ; indirect jump to MoveAnimation (78d5e (1e:4d5e))
; known jump sources: 1fee (0:1fee) ; known jump sources: 1fee (0:1fee)
Func_41682: ; 41682 (10:5682) PlayIntro: ; 41682 (10:5682)
xor a xor a
ld [H_CURRENTPRESSEDBUTTONS], a ld [H_CURRENTPRESSEDBUTTONS], a
inc a inc a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ld [H_AUTOBGTRANSFERENABLED], a
call Func_4188a call Func_4188a
call Func_4169d call PlayIntroScene
call GBFadeOut2 call GBFadeOut2
xor a xor a
ld [$FF00+$ae], a ld [$FF00+$ae], a
ld [H_AUTOBGTRANSFERENABLED], a ; $FF00+$ba ld [H_AUTOBGTRANSFERENABLED], a
call CleanLCD_OAM call CleanLCD_OAM
call DelayFrame call DelayFrame
ret ret
; known jump sources: 4168b (10:568b) PlayIntroScene: ; 4169d (10:569d)
Func_4169d: ; 4169d (10:569d)
ld b, $7 ld b, $7
call GoPAL_SET call GoPAL_SET
ld a, $e4 ld a, %11100100
ld [rBGP], a ; $FF00+$47 ld [rBGP], a
ld [rOBP0], a ; $FF00+$48 ld [rOBP0], a
ld [rOBP1], a ; $FF00+$49 ld [rOBP1], a
xor a xor a
ld [$FF00+$ae], a ld [$FF00+$ae], a
ld b, $3 ld b, $3
call Func_4183f call Func_4183f
ld a, $0 ld a, 0
ld [W_BASECOORDX], a ; $d081 ld [W_BASECOORDX], a
ld a, $50 ld a, 80
ld [W_BASECOORDY], a ; $d082 ld [W_BASECOORDY], a
ld bc, $606 ld bc, $606
call Func_417c7 call Func_417c7
ld de, $28ff ld de, $28ff
call Func_4180e call Func_4180e
ret c ret c
; hip
ld a, $b9 ld a, $b9
call PlaySound call PlaySound
xor a xor a
ld [$d09f], a ld [$d09f], a
ld de, Unknown_41910 ; $5910 ld de, Unknown_41910
call Func_41793 call AnimateIntroNidorino
; hop
ld a, $ba ld a, $ba
call PlaySound call PlaySound
ld de, Unknown_4191b ; $591b ld de, Unknown_4191b
call Func_41793 call AnimateIntroNidorino
ld c, $a ld c, $a
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
; hip
ld a, $b9 ld a, $b9
call PlaySound call PlaySound
ld de, Unknown_41910 ; $5910 ld de, Unknown_41910
call Func_41793 call AnimateIntroNidorino
; hop
ld a, $ba ld a, $ba
call PlaySound call PlaySound
ld de, Unknown_4191b ; $591b ld de, Unknown_4191b
call Func_41793 call AnimateIntroNidorino
ld c, $1e ld c, $1e
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
; raise
ld b, $4 ld b, $4
call Func_4183f call Func_4183f
ld a, $bb ld a, $bb
@ -68267,21 +68303,25 @@ Func_4169d: ; 4169d (10:569d)
ld c, $1e ld c, $1e
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
; slash
ld b, $5 ld b, $5
call Func_4183f call Func_4183f
ld a, $bc ld a, $bc
call PlaySound call PlaySound
ld de, $800 ld de, $800
call Func_4180e call Func_4180e
; hip
ld a, $b9 ld a, $b9
call PlaySound call PlaySound
ld a, $24 ld a, $24
ld [$d09f], a ld [$d09f], a
ld de, Unknown_41926 ; $5926 ld de, Unknown_41926
call Func_41793 call AnimateIntroNidorino
ld c, $1e ld c, $1e
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
ld de, $401 ld de, $401
call Func_4180e call Func_4180e
ld b, $3 ld b, $3
@ -68289,35 +68329,40 @@ Func_4169d: ; 4169d (10:569d)
ld c, $3c ld c, $3c
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
; hip
ld a, $b9 ld a, $b9
call PlaySound call PlaySound
xor a xor a
ld [$d09f], a ld [$d09f], a
ld de, Unknown_41931 ; $5931 ld de, Unknown_41931 ; $5931
call Func_41793 call AnimateIntroNidorino
; hop
ld a, $ba ld a, $ba
call PlaySound call PlaySound
ld de, Unknown_4193c ; $593c ld de, Unknown_4193c ; $593c
call Func_41793 call AnimateIntroNidorino
ld c, $14 ld c, $14
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
ld a, $24 ld a, $24
ld [$d09f], a ld [$d09f], a
ld de, Unknown_41947 ; $5947 ld de, Unknown_41947 ; $5947
call Func_41793 call AnimateIntroNidorino
ld c, $1e ld c, $1e
call CheckForUserInterruption call CheckForUserInterruption
ret c ret c
; lunge
ld a, $b8 ld a, $b8
call PlaySound call PlaySound
ld a, $48 ld a, $48
ld [$d09f], a ld [$d09f], a
ld de, Unknown_41950 ; $5950 ld de, Unknown_41950 ; $5950
jp Func_41793 jp AnimateIntroNidorino
; known jump sources: 416d5 (10:56d5), 416e0 (10:56e0), 416f1 (10:56f1), 416fc (10:56fc), 41738 (10:5738), 4175e (10:575e), 41769 (10:5769), 4177a (10:577a), 41790 (10:5790), 417ac (10:57ac) AnimateIntroNidorino: ; 41793 (10:5793)
Func_41793: ; 41793 (10:5793)
ld a, [de] ld a, [de]
cp $50 cp $50
ret z ret z
@ -68328,11 +68373,11 @@ Func_41793: ; 41793 (10:5793)
push de push de
ld c, $24 ld c, $24
call Func_417ae call Func_417ae
ld c, $5 ld c, 5
call DelayFrames call DelayFrames
pop de pop de
inc de inc de
jr Func_41793 jr AnimateIntroNidorino
; known jump sources: 417a2 (10:57a2), 41829 (10:5829) ; known jump sources: 417a2 (10:57a2), 41829 (10:5829)
Func_417ae: ; 417ae (10:57ae) Func_417ae: ; 417ae (10:57ae)
@ -77524,7 +77569,7 @@ MoveAnimationPredef: ; 4fe91 (13:7e91)
dbw $1C,$778C dbw $1C,$778C
dbw $0F,$6F18 dbw $0F,$6F18
dbw $01,$5A5F dbw $01,$5A5F
dbw $03,$6A03 dbw BANK(DrawBadges), DrawBadges
dbw $10,$50F3 dbw $10,$50F3
dbw $1C,$496D dbw $1C,$496D
dbw $1E,$5DDA dbw $1E,$5DDA
@ -111136,15 +111181,15 @@ Func_7bf64: ; 7bf64 (1e:7f64)
jp Delay3 jp Delay3
; known jump sources: 3819 (0:3819) ; known jump sources: 3819 (0:3819)
Func_7bf86: ; 7bf86 (1e:7f86) GetMachinePrice: ; 7bf86 (1e:7f86)
ld a, [$cf91] ld a, [$cf91]
sub $c9 sub TM_01
ret c ret c
ld d, a ld d, a
ld hl, Unknown_7bfa7 ; $7fa7 ld hl, TechnicalMachinePrices ; $7fa7
srl a srl a
ld c, a ld c, a
ld b, $0 ld b, 0
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
srl d srl d
@ -111158,8 +111203,15 @@ Func_7bf86: ; 7bf86 (1e:7f86)
ld [$FF00+$8d], a ld [$FF00+$8d], a
ret ret
Unknown_7bfa7: ; 7bfa7 (1e:7fa7) TechnicalMachinePrices: ; 7bfa7 (1e:7fa7)
INCBIN "baserom.gbc",$7bfa7,$7c000 - $7bfa7 ; In thousands (nybbles).
db $32, $21, $34, $24, $34
db $21, $45, $55, $32, $32
db $55, $52, $54, $52, $41
db $21, $12, $42, $25, $24
db $22, $52, $24, $34, $42
; 7bfc0
SECTION "bank1F",DATA,BANK[$1F] SECTION "bank1F",DATA,BANK[$1F]