mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-01-23 09:16:20 -08:00
Merge pull request #253 from yenatch/master
Clean up music and battle interfaces in home.asm.
This commit is contained in:
commit
1f30919037
@ -2,6 +2,7 @@
|
||||
; name length
|
||||
PLAYER_NAME_LENGTH EQU 8
|
||||
PKMN_NAME_LENGTH EQU 11
|
||||
NAME_LENGTH EQU 11
|
||||
|
||||
; boxes
|
||||
NUM_BOXES EQU 14
|
||||
|
@ -461,11 +461,11 @@ Script_yesorno: ; 0x96eed
|
||||
; script command 0x4e
|
||||
|
||||
call YesNoBox
|
||||
ld a, $0
|
||||
ld a, 0
|
||||
jr c, .asm_96ef6 ; 0x96ef2 $2
|
||||
ld a, $1
|
||||
ld a, 1
|
||||
.asm_96ef6
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x96efa
|
||||
|
||||
@ -500,10 +500,10 @@ Script_pokepic: ; 0x96f16
|
||||
|
||||
call GetScriptByte
|
||||
and a
|
||||
jr nz, .asm_96f1f ; 0x96f1a $3
|
||||
ld a, [$c2dd]
|
||||
.asm_96f1f
|
||||
ld [$d108], a
|
||||
jr nz, .ok
|
||||
ld a, [ScriptVar]
|
||||
.ok
|
||||
ld [CurPartySpecies], a
|
||||
callba Function244e3
|
||||
ret
|
||||
; 0x96f29
|
||||
@ -522,10 +522,10 @@ Script_interpretmenu2: ; 0x96f30
|
||||
ld hl, Function1d81
|
||||
rst FarCall
|
||||
ld a, [$cfa9]
|
||||
jr nc, .asm_96f3d ; 0x96f3a $1
|
||||
jr nc, .ok
|
||||
xor a
|
||||
.asm_96f3d
|
||||
ld [$c2dd], a
|
||||
.ok
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x96f41
|
||||
|
||||
@ -536,10 +536,10 @@ Script_interpretmenu: ; 0x96f41
|
||||
ld hl, Function202a
|
||||
rst FarCall
|
||||
ld a, [$cf88]
|
||||
jr nc, .asm_96f4e ; 0x96f4b $1
|
||||
jr nc, .ok
|
||||
xor a
|
||||
.asm_96f4e
|
||||
ld [$c2dd], a
|
||||
.ok
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x96f52
|
||||
|
||||
@ -607,21 +607,21 @@ Script_verbosegiveitem2: ; 0x96f8e
|
||||
|
||||
call GetScriptByte
|
||||
cp $ff
|
||||
jr nz, .asm_96f98 ; 0x96f93 $3
|
||||
ld a, [$c2dd]
|
||||
.asm_96f98
|
||||
ld [$d106], a
|
||||
jr nz, .ok
|
||||
ld a, [ScriptVar]
|
||||
.ok
|
||||
ld [CurItem], a
|
||||
call GetScriptByte
|
||||
call Unknown_0x9769e
|
||||
call Function9769e
|
||||
ld a, [de]
|
||||
ld [$d10c], a
|
||||
ld hl, $d892
|
||||
ld hl, NumItems
|
||||
call ReceiveItem
|
||||
ld a, $1
|
||||
jr c, .asm_96fb0 ; 0x96fad $1
|
||||
jr c, .ok2
|
||||
xor a
|
||||
.asm_96fb0
|
||||
ld [$c2dd], a
|
||||
.ok2
|
||||
ld [ScriptVar], a
|
||||
call CurItemName
|
||||
ld de, StringBuffer1
|
||||
ld a, $1
|
||||
@ -745,7 +745,7 @@ Script_elevator: ; 0x9707c
|
||||
; floor_list_pointer (PointerLabelParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld e, a
|
||||
call GetScriptByte
|
||||
@ -755,7 +755,7 @@ Script_elevator: ; 0x9707c
|
||||
callba Function1342d
|
||||
ret c
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97099
|
||||
|
||||
@ -812,7 +812,7 @@ Script_askforphonenumber: ; 0x970be
|
||||
call GetScriptByte
|
||||
ld a, $2
|
||||
.asm_970db
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x970df
|
||||
|
||||
@ -895,7 +895,7 @@ Script_trainerstatus: ; 0x97132
|
||||
; action (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ld hl, $d041
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
@ -907,7 +907,7 @@ Script_trainerstatus: ; 0x97132
|
||||
and a
|
||||
ret z
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x9714c
|
||||
|
||||
@ -943,12 +943,12 @@ Script_talkaftercheck: ; 0x9716b
|
||||
; script command 0x67
|
||||
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ld a, [$d04d]
|
||||
and a
|
||||
ret nz
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x9717a
|
||||
|
||||
@ -964,7 +964,7 @@ Script_playrammusic: ; 0x9717a
|
||||
Script_playmapmusic: ; 0x97185
|
||||
; script command 0x82
|
||||
|
||||
call Function3cdf
|
||||
call PlayMapMusic
|
||||
ret
|
||||
; 0x97189
|
||||
|
||||
@ -973,7 +973,7 @@ Script_playmusic: ; 0x97189
|
||||
; parameters:
|
||||
; music_pointer (MultiByteParam)
|
||||
|
||||
ld de, $0000
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
xor a
|
||||
ld [$c2a7], a
|
||||
@ -993,9 +993,9 @@ Script_musicfadeout: ; 0x971a2
|
||||
; fadetime (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$c2a9], a
|
||||
ld [MusicFadeID], a
|
||||
call GetScriptByte
|
||||
ld [$c2aa], a
|
||||
ld [MusicFadeID + 1], a
|
||||
call GetScriptByte
|
||||
and $7f
|
||||
ld [$c2a7], a
|
||||
@ -1041,13 +1041,13 @@ Script_cry: ; 0x971d1
|
||||
pop af
|
||||
and a
|
||||
jr nz, .asm_971df ; 0x971da $3
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
.asm_971df
|
||||
call Function37ce
|
||||
ret
|
||||
; 0x971e3
|
||||
|
||||
Unknown_0x971e3: ; 0x971e3
|
||||
Function971e3: ; 0x971e3
|
||||
and a
|
||||
ret z
|
||||
cp $fe
|
||||
@ -1062,7 +1062,7 @@ Script_setlasttalked: ; 0x971ea
|
||||
; person (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld [$ffe0], a
|
||||
ret
|
||||
; 0x971f3
|
||||
@ -1074,7 +1074,7 @@ Script_applymovement: ; 0x971f3
|
||||
; data (MovementPointerLabelParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld c, a
|
||||
; 971fa
|
||||
|
||||
@ -1084,7 +1084,7 @@ Function971fa: ; 971fa
|
||||
callba Function585c
|
||||
pop bc
|
||||
push bc
|
||||
call Unknown_0x97221
|
||||
call Function97221
|
||||
pop bc
|
||||
call GetScriptByte
|
||||
ld l, a
|
||||
@ -1100,7 +1100,7 @@ Function971fa: ; 971fa
|
||||
ret
|
||||
; 0x97221
|
||||
|
||||
Unknown_0x97221: ; 0x97221
|
||||
Function97221: ; 0x97221
|
||||
callba Function5897
|
||||
ret
|
||||
; 0x97228
|
||||
@ -1131,7 +1131,7 @@ Script_faceplayer: ; 0x9722e
|
||||
ld e, a
|
||||
ld a, [$ffe0]
|
||||
ld d, a
|
||||
call Unknown_0x9728b
|
||||
call Function9728b
|
||||
ret
|
||||
; 0x97248
|
||||
|
||||
@ -1142,14 +1142,14 @@ Script_faceperson: ; 0x97248
|
||||
; person2 (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr c, .asm_97254 ; 0x97250 $2
|
||||
ld a, [$ffe0]
|
||||
.asm_97254
|
||||
ld e, a
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr nz, .asm_97261 ; 0x9725d $2
|
||||
ld a, [$ffe0]
|
||||
@ -1164,7 +1164,7 @@ Script_faceperson: ; 0x97248
|
||||
add a
|
||||
ld e, a
|
||||
ld d, c
|
||||
call Unknown_0x9728b
|
||||
call Function9728b
|
||||
ret
|
||||
; 0x97274
|
||||
|
||||
@ -1175,7 +1175,7 @@ Script_spriteface: ; 0x97274
|
||||
; facing (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr nz, .asm_97280 ; 0x9727c $2
|
||||
ld a, [$ffe0]
|
||||
@ -1185,11 +1185,11 @@ Script_spriteface: ; 0x97274
|
||||
add a
|
||||
add a
|
||||
ld e, a
|
||||
call Unknown_0x9728b
|
||||
call Function9728b
|
||||
ret
|
||||
; 0x9728b
|
||||
|
||||
Unknown_0x9728b: ; 0x9728b
|
||||
Function9728b: ; 0x9728b
|
||||
ld a, d
|
||||
push de
|
||||
call Function18de
|
||||
@ -1211,7 +1211,7 @@ Unknown_0x9728b: ; 0x9728b
|
||||
ld hl, $d0ed
|
||||
bit 6, [hl]
|
||||
jr nz, .asm_972b5 ; 0x972b0 $3
|
||||
call Unknown_0x972bc
|
||||
call Function972bc
|
||||
.asm_972b5
|
||||
call Function1ad2
|
||||
ret
|
||||
@ -1221,7 +1221,7 @@ Unknown_0x9728b: ; 0x9728b
|
||||
ret
|
||||
; 0x972bc
|
||||
|
||||
Unknown_0x972bc: ; 0x972bc
|
||||
Function972bc: ; 0x972bc
|
||||
call Function217a
|
||||
ld hl, TileMap
|
||||
ld bc, $0168
|
||||
@ -1257,11 +1257,11 @@ Script_appear: ; 0x972dd
|
||||
; person (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
call Function1956
|
||||
ld a, [$ffaf]
|
||||
ld b, $0
|
||||
call Unknown_0x9730b
|
||||
call Function9730b
|
||||
ret
|
||||
; 0x972ee
|
||||
|
||||
@ -1271,7 +1271,7 @@ Script_disappear: ; 0x972ee
|
||||
; person (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr nz, .asm_972fa ; 0x972f6 $2
|
||||
ld a, [$ffe0]
|
||||
@ -1279,12 +1279,12 @@ Script_disappear: ; 0x972ee
|
||||
call Function199f
|
||||
ld a, [$ffaf]
|
||||
ld b, $1
|
||||
call Unknown_0x9730b
|
||||
call Function9730b
|
||||
callba Function5920
|
||||
ret
|
||||
; 0x9730b
|
||||
|
||||
Unknown_0x9730b: ; 0x9730b
|
||||
Function9730b: ; 0x9730b
|
||||
push bc
|
||||
call GetMapObject
|
||||
ld hl, $000c
|
||||
@ -1312,10 +1312,10 @@ Script_follow: ; 0x97325
|
||||
; person1 (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld b, a
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld c, a
|
||||
callba Function5803
|
||||
ret
|
||||
@ -1336,7 +1336,7 @@ Script_moveperson: ; 0x97341
|
||||
; y (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld b, a
|
||||
call GetScriptByte
|
||||
add $4
|
||||
@ -1354,7 +1354,7 @@ Script_writepersonxy: ; 0x9735b
|
||||
; person (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr nz, .asm_97367 ; 0x97363 $2
|
||||
ld a, [$ffe0]
|
||||
@ -1371,10 +1371,10 @@ Script_follownotexact: ; 0x9736f
|
||||
; person1 (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld b, a
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
ld c, a
|
||||
callba Function839e
|
||||
ret
|
||||
@ -1388,7 +1388,7 @@ Script_loademote: ; 0x97384
|
||||
call GetScriptByte
|
||||
cp $ff
|
||||
jr nz, .asm_9738e ; 0x97389 $3
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
.asm_9738e
|
||||
ld c, a
|
||||
callba Function1442f
|
||||
@ -1403,9 +1403,9 @@ Script_showemote: ; 0x97396
|
||||
; time (DecimalParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
call Unknown_0x971e3
|
||||
call Function971e3
|
||||
cp $fe
|
||||
jr z, .asm_973a8 ; 0x973a4 $2
|
||||
ld [$ffe0], a
|
||||
@ -1473,7 +1473,7 @@ Script_loadpikachudata: ; 0x973f0
|
||||
ld a, $19
|
||||
ld [$d22e], a
|
||||
ld a, $5
|
||||
ld [$d143], a
|
||||
ld [CurPartyLevel], a
|
||||
ret
|
||||
; 0x973fb
|
||||
|
||||
@ -1508,7 +1508,7 @@ Script_loadpokedata: ; 0x97412
|
||||
call GetScriptByte
|
||||
ld [$d22e], a
|
||||
call GetScriptByte
|
||||
ld [$d143], a
|
||||
ld [CurPartyLevel], a
|
||||
ret
|
||||
; 0x97424
|
||||
|
||||
@ -1535,7 +1535,7 @@ Script_startbattle: ; 0x97436
|
||||
call Predef
|
||||
ld a, [$d0ee]
|
||||
and $3f
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97447
|
||||
|
||||
@ -1663,7 +1663,7 @@ ScriptCall: ; 0x974cb
|
||||
ret
|
||||
; 0x974f3
|
||||
|
||||
Unknown_0x974f3:: ; 0x974f3
|
||||
Function974f3:: ; 0x974f3
|
||||
ld a, [ScriptBank]
|
||||
or $80
|
||||
ld [ScriptBank], a
|
||||
@ -1720,7 +1720,7 @@ Script_iffalse: ; 0x9752c
|
||||
; parameters:
|
||||
; pointer (ScriptPointerLabelParam)
|
||||
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
jp nz, SkipTwoScriptBytes
|
||||
jp Script_2jump
|
||||
@ -1731,7 +1731,7 @@ Script_iftrue: ; 0x97536
|
||||
; parameters:
|
||||
; pointer (ScriptPointerLabelParam)
|
||||
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
and a
|
||||
jp nz, Script_2jump
|
||||
jp SkipTwoScriptBytes
|
||||
@ -1744,7 +1744,7 @@ Script_if_equal: ; 0x97540
|
||||
; pointer (ScriptPointerLabelParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld hl, $c2dd
|
||||
ld hl, ScriptVar
|
||||
cp [hl]
|
||||
jr z, Script_2jump ; 0x97547 $b5
|
||||
jr SkipTwoScriptBytes ; 0x97549 $4b
|
||||
@ -1757,7 +1757,7 @@ Script_if_not_equal: ; 0x9754b
|
||||
; pointer (ScriptPointerLabelParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld hl, $c2dd
|
||||
ld hl, ScriptVar
|
||||
cp [hl]
|
||||
jr nz, Script_2jump ; 0x97552 $aa
|
||||
jr SkipTwoScriptBytes ; 0x97554 $40
|
||||
@ -1769,7 +1769,7 @@ Script_if_greater_than: ; 0x97556
|
||||
; byte (SingleByteParam)
|
||||
; pointer (ScriptPointerLabelParam)
|
||||
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
ld b, a
|
||||
call GetScriptByte
|
||||
cp b
|
||||
@ -1785,7 +1785,7 @@ Script_if_less_than: ; 0x97562
|
||||
|
||||
call GetScriptByte
|
||||
ld b, a
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
cp b
|
||||
jr c, Script_2jump ; 0x9756a $92
|
||||
jr SkipTwoScriptBytes ; 0x9756c $28
|
||||
@ -1866,11 +1866,11 @@ Script_checktriggers: ; 0x975c2
|
||||
|
||||
call Function211b
|
||||
jr z, .asm_975cb ; 0x975c5 $4
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
.asm_975cb
|
||||
ld a, $ff
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x975d1
|
||||
|
||||
@ -1889,11 +1889,11 @@ Script_checkmaptriggers: ; 0x975d1
|
||||
or e
|
||||
jr z, .asm_975e5 ; 0x975de $5
|
||||
ld a, [de]
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
.asm_975e5
|
||||
ld a, $ff
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x975eb
|
||||
|
||||
@ -1943,7 +1943,7 @@ Script_copybytetovar: ; 0x97609
|
||||
call GetScriptByte
|
||||
ld h, a
|
||||
ld a, [hl]
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97616
|
||||
|
||||
@ -1956,7 +1956,7 @@ Script_copyvartobyte: ; 0x97616
|
||||
ld l, a
|
||||
call GetScriptByte
|
||||
ld h, a
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
ld [hl], a
|
||||
ret
|
||||
; 0x97623
|
||||
@ -1982,7 +1982,7 @@ Script_writebyte: ; 0x97630
|
||||
; value (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97637
|
||||
|
||||
@ -1992,7 +1992,7 @@ Script_addvar: ; 0x97637
|
||||
; value (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld hl, $c2dd
|
||||
ld hl, ScriptVar
|
||||
add [hl]
|
||||
ld [hl], a
|
||||
ret
|
||||
@ -2004,11 +2004,11 @@ Script_random: ; 0x97640
|
||||
; input (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
and a
|
||||
ret z
|
||||
ld c, a
|
||||
call Unknown_0x97673
|
||||
call Function97673
|
||||
and a
|
||||
jr z, .asm_9765f ; 0x9764d $10
|
||||
ld b, a
|
||||
@ -2030,15 +2030,15 @@ Script_random: ; 0x97640
|
||||
ld a, [$ffe1]
|
||||
.asm_97666
|
||||
push af
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
ld c, a
|
||||
pop af
|
||||
call SimpleDivide
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97673
|
||||
|
||||
Unknown_0x97673: ; 0x97673
|
||||
Function97673: ; 0x97673
|
||||
xor a
|
||||
ld b, a
|
||||
sub c
|
||||
@ -2057,9 +2057,9 @@ Script_checkcode: ; 0x9767d
|
||||
; variable_id (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x9769e
|
||||
call Function9769e
|
||||
ld a, [de]
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97688
|
||||
|
||||
@ -2069,8 +2069,8 @@ Script_writevarcode: ; 0x97688
|
||||
; variable_id (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x9769e
|
||||
ld a, [$c2dd]
|
||||
call Function9769e
|
||||
ld a, [ScriptVar]
|
||||
ld [de], a
|
||||
ret
|
||||
; 0x97693
|
||||
@ -2082,13 +2082,13 @@ Script_writecode: ; 0x97693
|
||||
; value (SingleByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
call Unknown_0x9769e
|
||||
call Function9769e
|
||||
call GetScriptByte
|
||||
ld [de], a
|
||||
ret
|
||||
; 0x9769e
|
||||
|
||||
Unknown_0x9769e: ; 0x9769e
|
||||
Function9769e: ; 0x9769e
|
||||
ld c, a
|
||||
callba Function80648
|
||||
ret
|
||||
@ -2098,7 +2098,7 @@ Script_checkver: ; 0x976a6
|
||||
; script command 0x18
|
||||
|
||||
ld a, [Version]
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x976ad
|
||||
|
||||
@ -2115,7 +2115,7 @@ Script_pokenamemem: ; 0x976ae
|
||||
call GetScriptByte
|
||||
and a
|
||||
jr nz, .asm_976b7 ; 0x976b2 $3
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
.asm_976b7
|
||||
ld [$d265], a
|
||||
call GetPokemonName
|
||||
@ -2146,7 +2146,7 @@ Script_itemtotext: ; 0x976d5
|
||||
call GetScriptByte
|
||||
and a
|
||||
jr nz, .asm_976de ; 0x976d9 $3
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
.asm_976de
|
||||
ld [$d265], a
|
||||
call GetItemName
|
||||
@ -2228,8 +2228,8 @@ Script_readmoney: ; 0x97732
|
||||
; account (SingleByteParam)
|
||||
; memory (SingleByteParam)
|
||||
|
||||
call Unknown_0x97771
|
||||
call Unknown_0x97861
|
||||
call Function97771
|
||||
call Function97861
|
||||
ld hl, StringBuffer1
|
||||
ld bc, $4306
|
||||
call PrintNum
|
||||
@ -2242,7 +2242,7 @@ Script_readcoins: ; 0x97747
|
||||
; parameters:
|
||||
; memory (SingleByteParam)
|
||||
|
||||
call Unknown_0x97771
|
||||
call Function97771
|
||||
ld hl, StringBuffer1
|
||||
ld de, Coins
|
||||
ld bc, $4206
|
||||
@ -2256,8 +2256,8 @@ Script_RAM2MEM: ; 0x9775c
|
||||
; parameters:
|
||||
; memory (SingleByteParam)
|
||||
|
||||
call Unknown_0x97771
|
||||
ld de, $c2dd
|
||||
call Function97771
|
||||
ld de, ScriptVar
|
||||
ld hl, StringBuffer1
|
||||
ld bc, $4103
|
||||
call PrintNum
|
||||
@ -2265,7 +2265,7 @@ Script_RAM2MEM: ; 0x9775c
|
||||
jp Unknown_976c0
|
||||
; 0x97771
|
||||
|
||||
Unknown_0x97771: ; 0x97771
|
||||
Function97771: ; 0x97771
|
||||
ld hl, StringBuffer1
|
||||
ld bc, $000b
|
||||
ld a, "@"
|
||||
@ -2337,20 +2337,20 @@ Script_giveitem: ; 0x977ca
|
||||
call GetScriptByte
|
||||
cp $ff
|
||||
jr nz, .asm_977d4 ; 0x977cf $3
|
||||
ld a, [$c2dd]
|
||||
ld a, [ScriptVar]
|
||||
.asm_977d4
|
||||
ld [$d106], a
|
||||
ld [CurItem], a
|
||||
call GetScriptByte
|
||||
ld [$d10c], a
|
||||
ld hl, $d892
|
||||
ld hl, NumItems
|
||||
call ReceiveItem
|
||||
jr nc, .asm_977eb ; 0x977e3 $6
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
.asm_977eb
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x977f0
|
||||
|
||||
@ -2361,18 +2361,18 @@ Script_takeitem: ; 0x977f0
|
||||
; quantity (DecimalParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld [$d106], a
|
||||
ld [CurItem], a
|
||||
call GetScriptByte
|
||||
ld [$d10c], a
|
||||
ld a, $ff
|
||||
ld [$d107], a
|
||||
ld hl, $d892
|
||||
ld hl, NumItems
|
||||
call TossItem
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97812
|
||||
|
||||
@ -2382,14 +2382,14 @@ Script_checkitem: ; 0x97812
|
||||
; item (ItemLabelByte)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld [$d106], a
|
||||
ld hl, $d892
|
||||
ld [CurItem], a
|
||||
ld hl, NumItems
|
||||
call CheckItem
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld a, 1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97829
|
||||
|
||||
@ -2399,8 +2399,8 @@ Script_givemoney: ; 0x97829
|
||||
; account (SingleByteParam)
|
||||
; money (MoneyByteParam)
|
||||
|
||||
call Unknown_0x97861
|
||||
call Unknown_0x9786d
|
||||
call Function97861
|
||||
call Function9786d
|
||||
callba Function15fd7
|
||||
ret
|
||||
; 0x97836
|
||||
@ -2411,8 +2411,8 @@ Script_takemoney: ; 0x97836
|
||||
; account (SingleByteParam)
|
||||
; money (MoneyByteParam)
|
||||
|
||||
call Unknown_0x97861
|
||||
call Unknown_0x9786d
|
||||
call Function97861
|
||||
call Function9786d
|
||||
callba Function15ffa
|
||||
ret
|
||||
; 0x97843
|
||||
@ -2423,27 +2423,27 @@ Script_checkmoney: ; 0x97843
|
||||
; account (SingleByteParam)
|
||||
; money (MoneyByteParam)
|
||||
|
||||
call Unknown_0x97861
|
||||
call Unknown_0x9786d
|
||||
call Function97861
|
||||
call Function9786d
|
||||
callba Function1600b
|
||||
; 0x9784f
|
||||
|
||||
Unknown_9784f: ; 0x9784f
|
||||
jr c, .asm_9785b ; 0x9784f $a
|
||||
jr z, .asm_97857 ; 0x97851 $4
|
||||
ld a, $0
|
||||
jr .asm_9785d ; 0x97855 $6
|
||||
.asm_97857
|
||||
ld a, $1
|
||||
jr .asm_9785d ; 0x97859 $2
|
||||
.asm_9785b
|
||||
ld a, $2
|
||||
.asm_9785d
|
||||
ld [$c2dd], a
|
||||
jr c, .two
|
||||
jr z, .one
|
||||
ld a, 0
|
||||
jr .done
|
||||
.one
|
||||
ld a, 1
|
||||
jr .done
|
||||
.two
|
||||
ld a, 2
|
||||
.done
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97861
|
||||
|
||||
Unknown_0x97861: ; 0x97861
|
||||
Function97861: ; 0x97861
|
||||
call GetScriptByte
|
||||
and a
|
||||
ld de, $d84e
|
||||
@ -2452,7 +2452,7 @@ Unknown_0x97861: ; 0x97861
|
||||
ret
|
||||
; 0x9786d
|
||||
|
||||
Unknown_0x9786d: ; 0x9786d
|
||||
Function9786d: ; 0x9786d
|
||||
ld bc, $ffc3
|
||||
push bc
|
||||
call GetScriptByte
|
||||
@ -2512,13 +2512,13 @@ Script_checktime: ; 0x978ae
|
||||
; time (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
callba Functionc000
|
||||
call GetScriptByte
|
||||
and c
|
||||
ret z
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x978c3
|
||||
|
||||
@ -2528,14 +2528,14 @@ Script_checkpoke: ; 0x978c3
|
||||
; pkmn (PokemonParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld hl, $dcd8
|
||||
ld de, $0001
|
||||
ld hl, PartySpecies
|
||||
ld de, 1
|
||||
call IsInArray
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld a, 1
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x978da
|
||||
|
||||
@ -2545,13 +2545,13 @@ Script_addcellnum: ; 0x978da
|
||||
; person (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld c, a
|
||||
callba Function90000
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x978ef
|
||||
|
||||
@ -2561,13 +2561,13 @@ Script_delcellnum: ; 0x978ef
|
||||
; person (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld c, a
|
||||
callba Function9000f
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97904
|
||||
|
||||
@ -2577,13 +2577,13 @@ Script_checkcellnum: ; 0x97904
|
||||
; person (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld c, a
|
||||
callba Function90019
|
||||
ret nc
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97919
|
||||
|
||||
@ -2604,10 +2604,10 @@ Script_checkphonecall: ; 0x97926
|
||||
|
||||
ld a, [$dc31]
|
||||
and a
|
||||
jr z, .asm_9792e ; 0x9792a $2
|
||||
ld a, $1
|
||||
.asm_9792e
|
||||
ld [$c2dd], a
|
||||
jr z, .ok
|
||||
ld a, 1
|
||||
.ok
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97932
|
||||
|
||||
@ -2622,15 +2622,15 @@ Script_givepoke: ; 0x97932
|
||||
; pkmn_nickname (MultiByteParam)
|
||||
|
||||
call GetScriptByte
|
||||
ld [$d108], a
|
||||
ld [CurPartySpecies], a
|
||||
call GetScriptByte
|
||||
ld [$d143], a
|
||||
ld [CurPartyLevel], a
|
||||
call GetScriptByte
|
||||
ld [$d106], a
|
||||
ld [CurItem], a
|
||||
call GetScriptByte
|
||||
and a
|
||||
ld b, a
|
||||
jr z, .asm_9795d ; 0x97949 $12
|
||||
jr z, .ok
|
||||
ld hl, ScriptPos
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
@ -2639,10 +2639,10 @@ Script_givepoke: ; 0x97932
|
||||
call GetScriptByte
|
||||
call GetScriptByte
|
||||
call GetScriptByte
|
||||
.asm_9795d
|
||||
.ok
|
||||
callba Functione277
|
||||
ld a, b
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97968
|
||||
|
||||
@ -2653,16 +2653,16 @@ Script_giveegg: ; 0x97968
|
||||
; level (DecimalParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ld [$cf5f], a
|
||||
call GetScriptByte
|
||||
ld [$d108], a
|
||||
ld [CurPartySpecies], a
|
||||
call GetScriptByte
|
||||
ld [$d143], a
|
||||
ld [CurPartyLevel], a
|
||||
callba Functiondf8c
|
||||
ret nc
|
||||
ld a, $2
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97988
|
||||
|
||||
@ -2710,7 +2710,7 @@ Script_checkevent: ; 0x979a4
|
||||
jr z, .asm_979b7 ; 0x979b3 $2
|
||||
ld a, $1
|
||||
.asm_979b7
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x979bb
|
||||
|
||||
@ -2724,7 +2724,7 @@ Script_setflag: ; 0x979bb
|
||||
call GetScriptByte
|
||||
ld d, a
|
||||
ld b, $1
|
||||
call Unknown_0x979ee
|
||||
call Function979ee
|
||||
ret
|
||||
; 0x979c9
|
||||
|
||||
@ -2738,7 +2738,7 @@ Script_clearflag: ; 0x979c9
|
||||
call GetScriptByte
|
||||
ld d, a
|
||||
ld b, $0
|
||||
call Unknown_0x979ee
|
||||
call Function979ee
|
||||
ret
|
||||
; 0x979d7
|
||||
|
||||
@ -2752,17 +2752,17 @@ Script_checkflag: ; 0x979d7
|
||||
call GetScriptByte
|
||||
ld d, a
|
||||
ld b, $2
|
||||
call Unknown_0x979ee
|
||||
call Function979ee
|
||||
ld a, c
|
||||
and a
|
||||
jr z, .asm_979ea ; 0x979e6 $2
|
||||
ld a, $1
|
||||
.asm_979ea
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x979ee
|
||||
|
||||
Unknown_0x979ee: ; 0x979ee
|
||||
Function979ee: ; 0x979ee
|
||||
callba EngineFlagAction
|
||||
ret
|
||||
; 0x979f5
|
||||
@ -2911,13 +2911,13 @@ Script_delcmdqueue: ; 0x97a9e
|
||||
; byte (SingleByteParam)
|
||||
|
||||
xor a
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
call GetScriptByte
|
||||
ld b, a
|
||||
callba Function97e5c
|
||||
ret c
|
||||
ld a, $1
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97ab3
|
||||
|
||||
@ -2978,7 +2978,7 @@ Script_warpcheck: ; 0x97af6
|
||||
ret
|
||||
; 0x97b01
|
||||
|
||||
Unknown_0x97b01: ; 0x97b01
|
||||
Function97b01: ; 0x97b01
|
||||
callba Function966d0
|
||||
ret
|
||||
; 0x97b08
|
||||
@ -3227,7 +3227,7 @@ Script_unknown0xa9: ; 0x97c15
|
||||
|
||||
callba Function4cffe
|
||||
ld a, c
|
||||
ld [$c2dd], a
|
||||
ld [ScriptVar], a
|
||||
ret
|
||||
; 0x97c20
|
||||
|
||||
|
598
home/audio.asm
Normal file
598
home/audio.asm
Normal file
@ -0,0 +1,598 @@
|
||||
; Audio interfaces.
|
||||
|
||||
SoundRestart:: ; 3b4e
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(_SoundRestart)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
call _SoundRestart
|
||||
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3b6a
|
||||
|
||||
|
||||
UpdateSound:: ; 3b6a
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(_UpdateSound)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
call _UpdateSound
|
||||
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3b86
|
||||
|
||||
|
||||
_LoadMusicByte:: ; 3b86
|
||||
; CurMusicByte = [a:de]
|
||||
GLOBAL LoadMusicByte
|
||||
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
ld a, [de]
|
||||
ld [CurMusicByte], a
|
||||
ld a, BANK(LoadMusicByte)
|
||||
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ret
|
||||
; 3b97
|
||||
|
||||
|
||||
PlayMusic:: ; 3b97
|
||||
; Play music de.
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(_PlayMusic) ; and BANK(_SoundRestart)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
ld a, e
|
||||
and a
|
||||
jr z, .nomusic
|
||||
|
||||
call _PlayMusic
|
||||
jr .end
|
||||
|
||||
.nomusic
|
||||
call _SoundRestart
|
||||
|
||||
.end
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3bbc
|
||||
|
||||
|
||||
PlayMusic2:: ; 3bbc
|
||||
; Stop playing music, then play music de.
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(_PlayMusic)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
push de
|
||||
ld de, MUSIC_NONE
|
||||
call _PlayMusic
|
||||
call DelayFrame
|
||||
pop de
|
||||
call _PlayMusic
|
||||
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
; 3be3
|
||||
|
||||
|
||||
PlayCryHeader:: ; 3be3
|
||||
; Play a cry given parameters at header de
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
|
||||
; Cry headers are stuck in one bank.
|
||||
ld a, BANK(CryHeaders)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
ld hl, CryHeaders
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
add hl, de
|
||||
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
|
||||
ld a, [hli]
|
||||
ld [CryPitch], a
|
||||
ld a, [hli]
|
||||
ld [CryEcho], a
|
||||
ld a, [hli]
|
||||
ld [CryLength], a
|
||||
ld a, [hl]
|
||||
ld [CryLength + 1], a
|
||||
|
||||
ld a, BANK(PlayCry)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
call PlayCry
|
||||
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3c23
|
||||
|
||||
|
||||
PlaySFX:: ; 3c23
|
||||
; Play sound effect de.
|
||||
; Sound effects are ordered by priority (lowest to highest)
|
||||
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
; Is something already playing?
|
||||
call CheckSFX
|
||||
jr nc, .play
|
||||
|
||||
; Does it have priority?
|
||||
ld a, [CurSFX]
|
||||
cp e
|
||||
jr c, .done
|
||||
|
||||
.play
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, BANK(_PlaySFX)
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
ld a, e
|
||||
ld [CurSFX], a
|
||||
call _PlaySFX
|
||||
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
|
||||
.done
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3c4e
|
||||
|
||||
|
||||
WaitPlaySFX:: ; 3c4e
|
||||
call WaitSFX
|
||||
call PlaySFX
|
||||
ret
|
||||
; 3c55
|
||||
|
||||
|
||||
WaitSFX:: ; 3c55
|
||||
; infinite loop until sfx is done playing
|
||||
|
||||
push hl
|
||||
|
||||
.wait
|
||||
ld hl, Channel5Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .wait
|
||||
ld hl, Channel6Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .wait
|
||||
ld hl, Channel7Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .wait
|
||||
ld hl, Channel8Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .wait
|
||||
|
||||
pop hl
|
||||
ret
|
||||
; 3c74
|
||||
|
||||
IsSFXPlaying:: ; 3c74
|
||||
; Return carry if no sound effect is playing.
|
||||
; The inverse of CheckSFX.
|
||||
push hl
|
||||
|
||||
ld hl, Channel5Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .playing
|
||||
ld hl, Channel6Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .playing
|
||||
ld hl, Channel7Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .playing
|
||||
ld hl, Channel8Flags
|
||||
bit 0, [hl]
|
||||
jr nz, .playing
|
||||
|
||||
pop hl
|
||||
scf
|
||||
ret
|
||||
|
||||
.playing
|
||||
pop hl
|
||||
and a
|
||||
ret
|
||||
; 3c97
|
||||
|
||||
MaxVolume:: ; 3c97
|
||||
ld a, $77 ; max
|
||||
ld [Volume], a
|
||||
ret
|
||||
; 3c9d
|
||||
|
||||
LowVolume:: ; 3c9d
|
||||
ld a, $33 ; 40%
|
||||
ld [Volume], a
|
||||
ret
|
||||
; 3ca3
|
||||
|
||||
VolumeOff:: ; 3ca3
|
||||
xor a
|
||||
ld [Volume], a
|
||||
ret
|
||||
; 3ca8
|
||||
|
||||
Function3ca8:: ; 3ca8
|
||||
ld a, 4
|
||||
ld [MusicFade], a
|
||||
ret
|
||||
; 3cae
|
||||
|
||||
Function3cae:: ; 3cae
|
||||
ld a, 4 | 1 << 7
|
||||
ld [MusicFade], a
|
||||
ret
|
||||
; 3cb4
|
||||
|
||||
SkipMusic:: ; 3cb4
|
||||
; Skip a frames of music.
|
||||
and a
|
||||
ret z
|
||||
dec a
|
||||
call UpdateSound
|
||||
jr SkipMusic
|
||||
; 3cbc
|
||||
|
||||
FadeToMapMusic:: ; 3cbc
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
call GetMapMusic
|
||||
ld a, [wMapMusic]
|
||||
cp e
|
||||
jr z, .done
|
||||
|
||||
ld a, 8
|
||||
ld [MusicFade], a
|
||||
ld a, e
|
||||
ld [MusicFadeIDLo], a
|
||||
ld a, d
|
||||
ld [MusicFadeIDHi], a
|
||||
ld a, e
|
||||
ld [wMapMusic], a
|
||||
|
||||
.done
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3cdf
|
||||
|
||||
PlayMapMusic:: ; 3cdf
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
call GetMapMusic
|
||||
ld a, [wMapMusic]
|
||||
cp e
|
||||
jr z, .done
|
||||
|
||||
push de
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
call DelayFrame
|
||||
pop de
|
||||
ld a, e
|
||||
ld [wMapMusic], a
|
||||
call PlayMusic
|
||||
|
||||
.done
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3d03
|
||||
|
||||
EnterMapMusic:: ; 3d03
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
|
||||
xor a
|
||||
ld [$c2c1], a
|
||||
ld de, MUSIC_BICYCLE
|
||||
ld a, [PlayerState]
|
||||
cp PLAYER_BIKE
|
||||
jr z, .play
|
||||
call GetMapMusic
|
||||
.play
|
||||
push de
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
call DelayFrame
|
||||
pop de
|
||||
|
||||
ld a, e
|
||||
ld [wMapMusic], a
|
||||
call PlayMusic
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3d2f
|
||||
|
||||
Function3d2f:: ; 3d2f
|
||||
ld a, [$c2c1]
|
||||
and a
|
||||
jr z, RestartMapMusic
|
||||
xor a
|
||||
ld [wMapMusic], a
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
call DelayFrame
|
||||
xor a
|
||||
ld [$c2c1], a
|
||||
ret
|
||||
; 3d47
|
||||
|
||||
RestartMapMusic:: ; 3d47
|
||||
push hl
|
||||
push de
|
||||
push bc
|
||||
push af
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
call DelayFrame
|
||||
ld a, [wMapMusic]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
call PlayMusic
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
; 3d62
|
||||
|
||||
SpecialMapMusic:: ; 3d62
|
||||
ld a, [PlayerState]
|
||||
cp PLAYER_SURF
|
||||
jr z, .surf
|
||||
cp PLAYER_SURF_PIKA
|
||||
jr z, .surf
|
||||
|
||||
ld a, [StatusFlags2]
|
||||
bit 2, a
|
||||
jr nz, .contest
|
||||
|
||||
.no
|
||||
and a
|
||||
ret
|
||||
|
||||
.bike
|
||||
ld de, MUSIC_BICYCLE
|
||||
scf
|
||||
ret
|
||||
|
||||
.surf
|
||||
ld de, MUSIC_SURF
|
||||
scf
|
||||
ret
|
||||
|
||||
.contest
|
||||
ld a, [MapGroup]
|
||||
cp GROUP_ROUTE_35_NATIONAL_PARK_GATE
|
||||
jr nz, .no
|
||||
ld a, [MapNumber]
|
||||
cp MAP_ROUTE_35_NATIONAL_PARK_GATE
|
||||
jr z, .ranking
|
||||
cp MAP_ROUTE_36_NATIONAL_PARK_GATE
|
||||
jr nz, .no
|
||||
|
||||
.ranking
|
||||
ld de, MUSIC_BUG_CATCHING_CONTEST_RANKING
|
||||
scf
|
||||
ret
|
||||
; 3d97
|
||||
|
||||
GetMapMusic:: ; 3d97
|
||||
call SpecialMapMusic
|
||||
ret c
|
||||
call GetMapHeaderMusic
|
||||
ret
|
||||
; 3d9f
|
||||
|
||||
Function3d9f:: ; 3d9f
|
||||
; Places a BCD number at the
|
||||
; upper center of the screen.
|
||||
; Unreferenced.
|
||||
ld a, $20
|
||||
ld [$c498], a
|
||||
ld [$c49c], a
|
||||
ld a, $50
|
||||
ld [$c499], a
|
||||
ld a, $58
|
||||
ld [$c49d], a
|
||||
xor a
|
||||
ld [$c49b], a
|
||||
ld [$c49f], a
|
||||
ld a, [$c296]
|
||||
cp $64
|
||||
jr nc, .max
|
||||
add 1
|
||||
daa
|
||||
ld b, a
|
||||
swap a
|
||||
and $f
|
||||
add "0"
|
||||
ld [$c49a], a
|
||||
ld a, b
|
||||
and $f
|
||||
add "0"
|
||||
ld [$c49e], a
|
||||
ret
|
||||
|
||||
.max
|
||||
ld a, "9"
|
||||
ld [$c49a], a
|
||||
ld [$c49e], a
|
||||
ret
|
||||
; 3dde
|
||||
|
||||
CheckSFX:: ; 3dde
|
||||
; Return carry if any SFX channels are active.
|
||||
ld a, [Channel5Flags]
|
||||
bit 0, a
|
||||
jr nz, .playing
|
||||
ld a, [Channel6Flags]
|
||||
bit 0, a
|
||||
jr nz, .playing
|
||||
ld a, [Channel7Flags]
|
||||
bit 0, a
|
||||
jr nz, .playing
|
||||
ld a, [Channel8Flags]
|
||||
bit 0, a
|
||||
jr nz, .playing
|
||||
and a
|
||||
ret
|
||||
.playing
|
||||
scf
|
||||
ret
|
||||
; 3dfe
|
||||
|
||||
Function3dfe:: ; 3dfe
|
||||
xor a
|
||||
ld [$c1cc], a
|
||||
ld [SoundInput], a
|
||||
ld [rNR10], a
|
||||
ld [rNR11], a
|
||||
ld [rNR12], a
|
||||
ld [rNR13], a
|
||||
ld [rNR14], a
|
||||
ret
|
||||
; 3e10
|
||||
|
||||
|
||||
ChannelsOff:: ; 3e10
|
||||
; Quickly turn off music channels
|
||||
xor a
|
||||
ld [Channel1Flags], a
|
||||
ld [Channel2Flags], a
|
||||
ld [Channel3Flags], a
|
||||
ld [Channel4Flags], a
|
||||
ld [SoundInput], a
|
||||
ret
|
||||
; 3e21
|
||||
|
||||
SFXChannelsOff:: ; 3e21
|
||||
; Quickly turn off sound effect channels
|
||||
xor a
|
||||
ld [Channel5Flags], a
|
||||
ld [Channel6Flags], a
|
||||
ld [Channel7Flags], a
|
||||
ld [Channel8Flags], a
|
||||
ld [SoundInput], a
|
||||
ret
|
||||
; 3e32
|
337
home/battle.asm
Normal file
337
home/battle.asm
Normal file
@ -0,0 +1,337 @@
|
||||
UserPartyAttr:: ; 3945
|
||||
push af
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr nz, .ot
|
||||
pop af
|
||||
jr BattlePartyAttr
|
||||
.ot
|
||||
pop af
|
||||
jr OTPartyAttr
|
||||
; 3951
|
||||
|
||||
|
||||
OpponentPartyAttr:: ; 3951
|
||||
push af
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .ot
|
||||
pop af
|
||||
jr BattlePartyAttr
|
||||
.ot
|
||||
pop af
|
||||
jr OTPartyAttr
|
||||
; 395d
|
||||
|
||||
|
||||
BattlePartyAttr:: ; 395d
|
||||
; Get attribute a from the active BattleMon's party struct.
|
||||
push bc
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, PartyMons
|
||||
add hl, bc
|
||||
ld a, [CurBattleMon]
|
||||
call GetPartyLocation
|
||||
pop bc
|
||||
ret
|
||||
; 396d
|
||||
|
||||
|
||||
OTPartyAttr:: ; 396d
|
||||
; Get attribute a from the active EnemyMon's party struct.
|
||||
push bc
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, OTPartyMon1Species
|
||||
add hl, bc
|
||||
ld a, [CurOTMon]
|
||||
call GetPartyLocation
|
||||
pop bc
|
||||
ret
|
||||
; 397d
|
||||
|
||||
|
||||
ResetDamage:: ; 397d
|
||||
xor a
|
||||
ld [CurDamage], a
|
||||
ld [CurDamage + 1], a
|
||||
ret
|
||||
; 3985
|
||||
|
||||
SetPlayerTurn:: ; 3985
|
||||
xor a
|
||||
ld [hBattleTurn], a
|
||||
ret
|
||||
; 3989
|
||||
|
||||
SetEnemyTurn:: ; 3989
|
||||
ld a, 1
|
||||
ld [hBattleTurn], a
|
||||
ret
|
||||
; 398e
|
||||
|
||||
|
||||
UpdateOpponentInParty:: ; 398e
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, UpdateEnemyMonInParty
|
||||
jr UpdateBattleMonInParty
|
||||
; 3995
|
||||
|
||||
UpdateUserInParty:: ; 3995
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, UpdateBattleMonInParty
|
||||
jr UpdateEnemyMonInParty
|
||||
; 399c
|
||||
|
||||
UpdateBattleMonInParty:: ; 399c
|
||||
; Update level, status, current HP
|
||||
|
||||
ld a, [CurBattleMon]
|
||||
|
||||
Function399f:: ; 399f
|
||||
ld hl, PartyMon1Level
|
||||
call GetPartyLocation
|
||||
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, BattleMonLevel
|
||||
ld bc, BattleMonMaxHP - BattleMonLevel
|
||||
jp CopyBytes
|
||||
; 39b0
|
||||
|
||||
UpdateEnemyMonInParty:: ; 39b0
|
||||
; Update level, status, current HP
|
||||
|
||||
; No wildmons.
|
||||
ld a, [IsInBattle]
|
||||
dec a
|
||||
ret z
|
||||
|
||||
ld a, [CurOTMon]
|
||||
ld hl, OTPartyMon1Level
|
||||
call GetPartyLocation
|
||||
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, EnemyMonLevel
|
||||
ld bc, EnemyMonMaxHP - EnemyMonLevel
|
||||
jp CopyBytes
|
||||
; 39c9
|
||||
|
||||
|
||||
RefreshBattleHuds:: ; 39c9
|
||||
call UpdateBattleHuds
|
||||
ld c, 3
|
||||
call DelayFrames
|
||||
jp WaitBGMap
|
||||
; 39d4
|
||||
|
||||
UpdateBattleHuds:: ; 39d4
|
||||
callba Function3df48
|
||||
callba Function3e036
|
||||
ret
|
||||
; 39e1
|
||||
|
||||
|
||||
GetBattleVar:: ; 39e1
|
||||
; Preserves hl.
|
||||
push hl
|
||||
call _GetBattleVar
|
||||
pop hl
|
||||
ret
|
||||
; 39e7
|
||||
|
||||
_GetBattleVar:: ; 39e7
|
||||
; Get variable from pair a, depending on whose turn it is.
|
||||
; There are 21 variable pairs.
|
||||
|
||||
push bc
|
||||
|
||||
ld hl, .battlevarpairs
|
||||
ld c, a
|
||||
ld b, 0
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
; Enemy turn uses the second byte instead.
|
||||
; This lets battle variable calls be side-neutral.
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .getvar
|
||||
inc hl
|
||||
|
||||
.getvar
|
||||
; var id
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
ld b, 0
|
||||
|
||||
ld hl, .vars
|
||||
add hl, bc
|
||||
add hl, bc
|
||||
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
|
||||
ld a, [hl]
|
||||
|
||||
pop bc
|
||||
ret
|
||||
|
||||
.battlevarpairs
|
||||
dw .substatus1, .substatus2, .substatus3, .substatus4, .substatus5
|
||||
dw .substatus1opp, .substatus2opp, .substatus3opp, .substatus4opp, .substatus5opp
|
||||
dw .status, .statusopp, .animation, .effect, .power, .type
|
||||
dw .curmove, .lastcounter, .lastcounteropp, .lastmove, .lastmoveopp
|
||||
|
||||
const_def
|
||||
const PLAYER_SUBSTATUS_1
|
||||
const ENEMY_SUBSTATUS_1
|
||||
const PLAYER_SUBSTATUS_2
|
||||
const ENEMY_SUBSTATUS_2
|
||||
const PLAYER_SUBSTATUS_3
|
||||
const ENEMY_SUBSTATUS_3
|
||||
const PLAYER_SUBSTATUS_4
|
||||
const ENEMY_SUBSTATUS_4
|
||||
const PLAYER_SUBSTATUS_5
|
||||
const ENEMY_SUBSTATUS_5
|
||||
const PLAYER_STATUS
|
||||
const ENEMY_STATUS
|
||||
const PLAYER_MOVE_ANIMATION
|
||||
const ENEMY_MOVE_ANIMATION
|
||||
const PLAYER_MOVE_EFFECT
|
||||
const ENEMY_MOVE_EFFECT
|
||||
const PLAYER_MOVE_POWER
|
||||
const ENEMY_MOVE_POWER
|
||||
const PLAYER_MOVE_TYPE
|
||||
const ENEMY_MOVE_TYPE
|
||||
const PLAYER_CUR_MOVE
|
||||
const ENEMY_CUR_MOVE
|
||||
const PLAYER_COUNTER_MOVE
|
||||
const ENEMY_COUNTER_MOVE
|
||||
const PLAYER_LAST_MOVE
|
||||
const ENEMY_LAST_MOVE
|
||||
|
||||
; player enemy
|
||||
.substatus1 db PLAYER_SUBSTATUS_1, ENEMY_SUBSTATUS_1
|
||||
.substatus1opp db ENEMY_SUBSTATUS_1, PLAYER_SUBSTATUS_1
|
||||
.substatus2 db PLAYER_SUBSTATUS_2, ENEMY_SUBSTATUS_2
|
||||
.substatus2opp db ENEMY_SUBSTATUS_2, PLAYER_SUBSTATUS_2
|
||||
.substatus3 db PLAYER_SUBSTATUS_3, ENEMY_SUBSTATUS_3
|
||||
.substatus3opp db ENEMY_SUBSTATUS_3, PLAYER_SUBSTATUS_3
|
||||
.substatus4 db PLAYER_SUBSTATUS_4, ENEMY_SUBSTATUS_4
|
||||
.substatus4opp db ENEMY_SUBSTATUS_4, PLAYER_SUBSTATUS_4
|
||||
.substatus5 db PLAYER_SUBSTATUS_5, ENEMY_SUBSTATUS_5
|
||||
.substatus5opp db ENEMY_SUBSTATUS_5, PLAYER_SUBSTATUS_5
|
||||
.status db PLAYER_STATUS, ENEMY_STATUS
|
||||
.statusopp db ENEMY_STATUS, PLAYER_STATUS
|
||||
.animation db PLAYER_MOVE_ANIMATION, ENEMY_MOVE_ANIMATION
|
||||
.effect db PLAYER_MOVE_EFFECT, ENEMY_MOVE_EFFECT
|
||||
.power db PLAYER_MOVE_POWER, ENEMY_MOVE_POWER
|
||||
.type db PLAYER_MOVE_TYPE, ENEMY_MOVE_TYPE
|
||||
.curmove db PLAYER_CUR_MOVE, ENEMY_CUR_MOVE
|
||||
.lastcounter db PLAYER_COUNTER_MOVE, ENEMY_COUNTER_MOVE
|
||||
.lastcounteropp db ENEMY_COUNTER_MOVE, PLAYER_COUNTER_MOVE
|
||||
.lastmove db PLAYER_LAST_MOVE, ENEMY_LAST_MOVE
|
||||
.lastmoveopp db ENEMY_LAST_MOVE, PLAYER_LAST_MOVE
|
||||
|
||||
.vars
|
||||
dw PlayerSubStatus1, EnemySubStatus1
|
||||
dw PlayerSubStatus2, EnemySubStatus2
|
||||
dw PlayerSubStatus3, EnemySubStatus3
|
||||
dw PlayerSubStatus4, EnemySubStatus4
|
||||
dw PlayerSubStatus5, EnemySubStatus5
|
||||
dw BattleMonStatus, EnemyMonStatus
|
||||
dw PlayerMoveAnimation, EnemyMoveAnimation
|
||||
dw PlayerMoveEffect, EnemyMoveEffect
|
||||
dw PlayerMovePower, EnemyMovePower
|
||||
dw PlayerMoveType, EnemyMoveType
|
||||
dw CurPlayerMove, CurEnemyMove
|
||||
dw LastEnemyCounterMove, LastPlayerCounterMove
|
||||
dw LastPlayerMove, LastEnemyMove
|
||||
; 3a90
|
||||
|
||||
|
||||
Function3a90:: ; 3a90
|
||||
inc hl
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
ld a, [hli]
|
||||
ld e, a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [hli]
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld a, e
|
||||
ld l, a
|
||||
ld a, d
|
||||
ld h, a
|
||||
ld de, $d00c
|
||||
ld bc, $0028
|
||||
call CopyBytes
|
||||
pop af
|
||||
ld [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ret
|
||||
; 3ab2
|
||||
|
||||
|
||||
MobileTextBorder:: ; 3ab2
|
||||
|
||||
CELL_PHONE_TOP EQU $5e
|
||||
CELL_PHONE_BOTTOM EQU $5f
|
||||
|
||||
; For mobile link battles only.
|
||||
ld a, [InLinkBattle]
|
||||
cp 4
|
||||
ret c
|
||||
|
||||
; Draw a cell phone icon at the
|
||||
; top right corner of the border.
|
||||
hlcoord 19, 12
|
||||
ld [hl], CELL_PHONE_TOP
|
||||
hlcoord 19, 13
|
||||
ld [hl], CELL_PHONE_BOTTOM
|
||||
ret
|
||||
; 3ac3
|
||||
|
||||
|
||||
BattleTextBox:: ; 3ac3
|
||||
; Open a textbox and print text at hl.
|
||||
push hl
|
||||
call SpeechTextBox
|
||||
call MobileTextBorder
|
||||
call Function1ad2
|
||||
call Function321c
|
||||
pop hl
|
||||
call PrintTextBoxText
|
||||
ret
|
||||
; 3ad5
|
||||
|
||||
|
||||
StdBattleTextBox:: ; 3ad5
|
||||
; Open a textbox and print battle text at 20:hl.
|
||||
|
||||
GLOBAL BattleText
|
||||
|
||||
ld a, [hROMBank]
|
||||
push af
|
||||
|
||||
ld a, BANK(BattleText)
|
||||
rst Bankswitch
|
||||
|
||||
call BattleTextBox
|
||||
|
||||
pop af
|
||||
rst Bankswitch
|
||||
ret
|
||||
; 3ae1
|
@ -172,7 +172,7 @@ Init:: ; 17d
|
||||
|
||||
call SoundRestart
|
||||
xor a
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
jp GameInit
|
||||
; 245
|
||||
|
||||
|
55
home/map.asm
55
home/map.asm
@ -1034,7 +1034,7 @@ Function2653:: ; 2653
|
||||
; 2674
|
||||
|
||||
Function2674:: ; 2674
|
||||
callba Unknown_0x974f3
|
||||
callba Function974f3
|
||||
ld a, [ScriptMode]
|
||||
push af
|
||||
ld hl, ScriptFlags
|
||||
@ -2021,8 +2021,8 @@ Function2bae:: ; 2bae
|
||||
callba Function8c001
|
||||
call Function2173
|
||||
call Function2821
|
||||
ld a, $9
|
||||
call Function3cb4
|
||||
ld a, 9
|
||||
call SkipMusic
|
||||
pop af
|
||||
rst Bankswitch
|
||||
|
||||
@ -2259,48 +2259,51 @@ GetWorldMapLocation:: ; 0x2caf
|
||||
ret
|
||||
; 0x2cbd
|
||||
|
||||
Function2cbd:: ; 2cbd
|
||||
GetMapHeaderMusic:: ; 2cbd
|
||||
RADIO_TOWER_MUSIC EQU 7
|
||||
|
||||
push hl
|
||||
push bc
|
||||
ld de, $0006
|
||||
ld de, 6 ; music
|
||||
call GetMapHeaderMember
|
||||
ld a, c
|
||||
cp $64
|
||||
jr z, .asm_2cee
|
||||
bit 7, c
|
||||
jr nz, .asm_2cda
|
||||
cp MUSIC_MAHOGANY_MART
|
||||
jr z, .mahoganymart
|
||||
bit RADIO_TOWER_MUSIC, c
|
||||
jr nz, .radiotower
|
||||
callba Function8b342
|
||||
ld e, c
|
||||
ld d, $0
|
||||
.asm_2cd7
|
||||
ld d, 0
|
||||
.done
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.asm_2cda
|
||||
.radiotower
|
||||
ld a, [StatusFlags2]
|
||||
bit 0, a
|
||||
jr z, .asm_2ce6
|
||||
ld de, $0056
|
||||
jr .asm_2cd7
|
||||
jr z, .clearedradiotower
|
||||
ld de, MUSIC_ROCKET_OVERTURE
|
||||
jr .done
|
||||
|
||||
.asm_2ce6
|
||||
.clearedradiotower
|
||||
; the rest of the byte
|
||||
ld a, c
|
||||
and $7f
|
||||
and 1 << RADIO_TOWER_MUSIC - 1
|
||||
ld e, a
|
||||
ld d, $0
|
||||
jr .asm_2cd7
|
||||
ld d, 0
|
||||
jr .done
|
||||
|
||||
.asm_2cee
|
||||
.mahoganymart
|
||||
ld a, [StatusFlags2]
|
||||
bit 7, a
|
||||
jr z, .asm_2cfa
|
||||
ld de, $0048
|
||||
jr .asm_2cd7
|
||||
jr z, .clearedmahogany
|
||||
ld de, MUSIC_ROCKET_HIDEOUT
|
||||
jr .done
|
||||
|
||||
.asm_2cfa
|
||||
ld de, $0026
|
||||
jr .asm_2cd7
|
||||
.clearedmahogany
|
||||
ld de, MUSIC_CHERRYGROVE_CITY
|
||||
jr .done
|
||||
; 2cff
|
||||
|
||||
Function2cff:: ; 2cff
|
||||
|
130
main.asm
130
main.asm
@ -3747,7 +3747,7 @@ Function5ae8: ; 5ae8
|
||||
call DelayFrame
|
||||
ld de, MUSIC_MAIN_MENU
|
||||
ld a, e
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
call PlayMusic
|
||||
callba MainMenu
|
||||
jp Function6219
|
||||
@ -7940,8 +7940,8 @@ SpecialsPointers: ; c029
|
||||
dbw BANK(Functionc230), Functionc230
|
||||
dbw BANK(SpecialSeenMon), SpecialSeenMon
|
||||
dbw BANK(WaitSFX),WaitSFX
|
||||
dbw BANK(Function3cdf), Function3cdf
|
||||
dbw BANK(Function3d47), Function3d47
|
||||
dbw BANK(PlayMapMusic), PlayMapMusic
|
||||
dbw BANK(RestartMapMusic), RestartMapMusic
|
||||
dbw BANK(Function12324), Function12324
|
||||
dbw BANK(Function8379), Function8379
|
||||
dbw BANK(Functionc25a), Functionc25a
|
||||
@ -8402,7 +8402,7 @@ SpecialSnorlaxAwake: ; 0xc43d
|
||||
; ScriptVar is 1 if the conditions are met, otherwise 0.
|
||||
|
||||
; check background music
|
||||
ld a, [CurMusic]
|
||||
ld a, [wMapMusic]
|
||||
cp MUSIC_POKE_FLUTE_CHANNEL
|
||||
jr nz, .nope
|
||||
|
||||
@ -10774,7 +10774,7 @@ Functiond0bc: ; d0bc
|
||||
call MaxVolume
|
||||
ld de, MUSIC_BICYCLE
|
||||
ld a, e
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
call PlayMusic
|
||||
ld a, $1
|
||||
ret
|
||||
@ -21177,13 +21177,13 @@ Function1344a: ; 1344a
|
||||
ld a, e
|
||||
ld [$d03f], a
|
||||
ld a, d
|
||||
ld [MartPointer], a
|
||||
ld [$d040], a
|
||||
call Function1345a
|
||||
ret
|
||||
; 1345a
|
||||
|
||||
Function1345a: ; 1345a
|
||||
ld de, CurMart
|
||||
ld de, $d0f0
|
||||
ld bc, $0004
|
||||
ld hl, $d03f
|
||||
ld a, [hli]
|
||||
@ -23072,6 +23072,8 @@ AddSpriteGFX: ; 142e5
|
||||
|
||||
|
||||
LoadSpriteGFX: ; 14306
|
||||
; Bug: b is not preserved, so
|
||||
; it's useless as a loop count.
|
||||
|
||||
ld hl, UsedSprites
|
||||
ld b, $20
|
||||
@ -25882,11 +25884,11 @@ MapSetupCommands: ; 15440
|
||||
dbw BANK(EnableLCD), EnableLCD
|
||||
dbw BANK(DisableLCD), DisableLCD
|
||||
dbw BANK(SoundRestart), SoundRestart
|
||||
dbw BANK(Function3cdf), Function3cdf
|
||||
dbw BANK(Function3d47), Function3d47
|
||||
dbw BANK(Function3cbc), Function3cbc
|
||||
dbw BANK(PlayMapMusic), PlayMapMusic
|
||||
dbw BANK(RestartMapMusic), RestartMapMusic
|
||||
dbw BANK(FadeToMapMusic), FadeToMapMusic
|
||||
dbw BANK(Function15574), Function15574
|
||||
dbw BANK(Function3d03), Function3d03
|
||||
dbw BANK(EnterMapMusic), EnterMapMusic
|
||||
dbw BANK(Function15587), Function15587
|
||||
dbw BANK(Function3cae), Function3cae
|
||||
dbw BANK(Function24cd), Function24cd
|
||||
@ -26045,8 +26047,8 @@ Function1554e: ; 1554e (5:554e)
|
||||
; 15567
|
||||
|
||||
Function15567: ; 15567
|
||||
ld a, $6
|
||||
call Function3cb4
|
||||
ld a, 6
|
||||
call SkipMusic
|
||||
ret
|
||||
; 1556d
|
||||
|
||||
@ -27077,7 +27079,7 @@ Function15c25: ; 15c25
|
||||
ld l, a
|
||||
push hl
|
||||
inc hl
|
||||
ld bc, DefaultFlypoint
|
||||
ld bc, $d002
|
||||
ld de, CurMart + 1
|
||||
.asm_15c33
|
||||
ld a, [hli]
|
||||
@ -27316,7 +27318,7 @@ Function15da5: ; 15da5
|
||||
ld a, [$d107]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
ld hl, MartPointer
|
||||
ld hl, $d040
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
@ -27357,7 +27359,7 @@ Function15df9: ; 15df9
|
||||
ld a, [$d107]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, MartPointer
|
||||
ld hl, $d040
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
@ -29488,12 +29490,12 @@ Function16be4: ; 16be4
|
||||
|
||||
ld de, UnownDexATile
|
||||
ld hl, $8ef0
|
||||
ld bc, $0501
|
||||
lb bc, BANK(UnownDexBTile), 1
|
||||
call Request1bpp
|
||||
|
||||
ld de, UnownDexBTile
|
||||
ld hl, $8f50
|
||||
ld bc, $0501
|
||||
lb bc, BANK(UnownDexBTile), 1
|
||||
call Request1bpp
|
||||
|
||||
ld hl, TileMap
|
||||
@ -29554,7 +29556,7 @@ Function16be4: ; 16be4
|
||||
ld a, [$cf63]
|
||||
push af
|
||||
callba Function84560
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
pop af
|
||||
ld [$cf63], a
|
||||
jr .asm_16c6b
|
||||
@ -29969,7 +29971,7 @@ Function16f5e:: ; 16f5e
|
||||
call Function1d6e
|
||||
call Function16f70
|
||||
call Function2b4d
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
jp Function2dcf
|
||||
; 16f70
|
||||
|
||||
@ -40609,7 +40611,7 @@ Function2a111: ; 2a111
|
||||
Function2a124:: ; 2a124
|
||||
; Pokemon March and Ruins of Alph signal double encounter rate.
|
||||
; Pokemon Lullaby halves encounter rate.
|
||||
ld a, [CurMusic]
|
||||
ld a, [wMapMusic]
|
||||
cp MUSIC_POKEMON_MARCH
|
||||
jr z, .asm_2a135
|
||||
cp MUSIC_RUINS_OF_ALPH_RADIO
|
||||
@ -47388,8 +47390,8 @@ Function414b7: ; 414b7
|
||||
ld hl, PokedexSlowpokeLZ
|
||||
ld de, VTiles0
|
||||
call Decompress
|
||||
ld a, $6
|
||||
call Function3cb4
|
||||
ld a, 6
|
||||
call SkipMusic
|
||||
call EnableLCD
|
||||
ret
|
||||
|
||||
@ -47893,7 +47895,7 @@ Function423ff: ; 423ff
|
||||
ret nz
|
||||
ld a, [$d268]
|
||||
and a
|
||||
call nz, Function3d47
|
||||
call nz, RestartMapMusic
|
||||
ret
|
||||
; 42414
|
||||
|
||||
@ -49099,7 +49101,7 @@ Function447fb: ; 0x447fb
|
||||
|
||||
Function44806: ; 0x44806
|
||||
xor a
|
||||
ld [CurMart], a
|
||||
ld [$d0f0], a
|
||||
ld a, $1
|
||||
ld [$d0f1], a
|
||||
.asm_4480f
|
||||
@ -49112,11 +49114,11 @@ Function44806: ; 0x44806
|
||||
call Function1ad2
|
||||
ld a, [$d0f1]
|
||||
ld [$cf88], a
|
||||
ld a, [CurMart]
|
||||
ld a, [$d0f0]
|
||||
ld [$d0e4], a
|
||||
call Function350c
|
||||
ld a, [$d0e4]
|
||||
ld [CurMart], a
|
||||
ld [$d0f0], a
|
||||
ld a, [$cfa9]
|
||||
ld [$d0f1], a
|
||||
ld a, [$cf73]
|
||||
@ -52964,7 +52966,7 @@ MainMenu_MysteryGift: ; 49ef5
|
||||
MainMenu_Mobile: ; 49efc
|
||||
call WhiteBGMap
|
||||
ld a, MUSIC_MOBILE_ADAPTER_MENU
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
ld de, MUSIC_MOBILE_ADAPTER_MENU
|
||||
call Function4a6c5
|
||||
Function49f0a: ; 49f0a
|
||||
@ -53031,7 +53033,7 @@ Function49f16: ; 49f16
|
||||
call WhiteBGMap
|
||||
call ClearTileMap
|
||||
ld a, MUSIC_MAIN_MENU
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
ld de, MUSIC_MAIN_MENU
|
||||
call Function4a6c5
|
||||
ret
|
||||
@ -57194,7 +57196,7 @@ Function4ddd6: ; 4ddd6 (13:5dd6)
|
||||
|
||||
; no known jump sources
|
||||
Function4dde6: ; 4dde6 (13:5de6)
|
||||
call Function3c74
|
||||
call IsSFXPlaying
|
||||
ret nc
|
||||
ld a, [$cf63]
|
||||
inc a
|
||||
@ -61140,7 +61142,7 @@ Function50db9: ; 50db9
|
||||
.asm_50dd8
|
||||
cp $5
|
||||
jr nz, .asm_50de6
|
||||
ld hl, CurMart
|
||||
ld hl, $d0f0
|
||||
ld de, PokemonNames
|
||||
ld a, $1
|
||||
jr .asm_50dfc
|
||||
@ -61154,7 +61156,7 @@ Function50db9: ; 50db9
|
||||
jr .asm_50dfc
|
||||
|
||||
.asm_50df4
|
||||
ld hl, CurMart
|
||||
ld hl, $d0f0
|
||||
ld de, Function50000
|
||||
ld a, $4
|
||||
|
||||
@ -62432,7 +62434,7 @@ TryStep: ; 8016b
|
||||
call CheckLandPermissions
|
||||
jr c, .asm_801be
|
||||
|
||||
call Function80341
|
||||
call IsNPCInFront
|
||||
and a
|
||||
jr z, .asm_801be
|
||||
cp 2
|
||||
@ -62490,17 +62492,17 @@ TryStep: ; 8016b
|
||||
TrySurfStep: ; 801c0
|
||||
|
||||
call CheckWaterPermissions
|
||||
ld [MartPointer], a
|
||||
ld [$d040], a
|
||||
jr c, .asm_801f1
|
||||
|
||||
call Function80341
|
||||
call IsNPCInFront
|
||||
ld [$d03f], a
|
||||
and a
|
||||
jr z, .asm_801f1
|
||||
cp 2
|
||||
jr z, .asm_801f1
|
||||
|
||||
ld a, [MartPointer]
|
||||
ld a, [$d040]
|
||||
and a
|
||||
jr nz, .ExitWater
|
||||
|
||||
@ -62511,7 +62513,7 @@ TrySurfStep: ; 801c0
|
||||
|
||||
.ExitWater
|
||||
call WaterToLandSprite
|
||||
call Function3cdf ; PlayMapMusic
|
||||
call PlayMapMusic
|
||||
ld a, STEP_WALK
|
||||
call DoStep
|
||||
ld a, 6
|
||||
@ -62773,7 +62775,7 @@ GetMovementAction: ; 802ec
|
||||
; 80341
|
||||
|
||||
|
||||
Function80341: ; 80341
|
||||
IsNPCInFront: ; 80341
|
||||
|
||||
ld a, 0
|
||||
ld [hConnectionStripLength], a
|
||||
@ -65883,7 +65885,7 @@ Function8474c: ; 8474c
|
||||
; 84753
|
||||
|
||||
Function84753: ; 84753
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
ret
|
||||
; 84757
|
||||
|
||||
@ -69841,7 +69843,7 @@ Function89d0d: ; 89d0d (22:5d0d)
|
||||
call Function89240
|
||||
ld c, $18
|
||||
call DelayFrames
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
ret
|
||||
; 89d4e (22:5d4e)
|
||||
|
||||
@ -81610,8 +81612,8 @@ Function90bea: ; 90bea (24:4bea)
|
||||
call Function90c4e
|
||||
callba Function8cf53
|
||||
call Function90d32
|
||||
ld a, $8
|
||||
call Function3cb4
|
||||
ld a, 8
|
||||
call SkipMusic
|
||||
ld a, $e3
|
||||
ld [rLCDC], a
|
||||
call Function90d70
|
||||
@ -82923,13 +82925,13 @@ Function91492: ; 91492
|
||||
cp $fe
|
||||
jr z, .asm_914a3
|
||||
cp $ff
|
||||
call z, Function3d03
|
||||
call z, EnterMapMusic
|
||||
xor a
|
||||
ld [$c6dc], a
|
||||
ret
|
||||
|
||||
.asm_914a3
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
xor a
|
||||
ld [$c6dc], a
|
||||
ret
|
||||
@ -83359,7 +83361,7 @@ Function91854: ; 91854 (24:5854)
|
||||
call PlayMusic
|
||||
pop de
|
||||
ld a, e
|
||||
ld [CurMusic], a ; $c2c0
|
||||
ld [wMapMusic], a
|
||||
call PlayMusic
|
||||
ret
|
||||
|
||||
@ -83446,8 +83448,8 @@ Function9191c: ; 9191c
|
||||
call DisableLCD
|
||||
call Function90c4e
|
||||
callba Function8cf53
|
||||
ld a, $8
|
||||
call Function3cb4
|
||||
ld a, 8
|
||||
call SkipMusic
|
||||
ld a, $e3
|
||||
ld [rLCDC], a
|
||||
call Function90d56
|
||||
@ -96955,8 +96957,8 @@ Functione33e8: ; e33e8 (38:73e8)
|
||||
ld hl, PCSelectLZ
|
||||
ld de, $8000
|
||||
call Decompress
|
||||
ld a, $6
|
||||
call Function3cb4
|
||||
ld a, 6
|
||||
call SkipMusic
|
||||
call EnableLCD
|
||||
ret
|
||||
; e3419 (38:7419)
|
||||
@ -97617,7 +97619,7 @@ Options_Sound: ; e43dd
|
||||
|
||||
.SetMono
|
||||
res 5, [hl]
|
||||
call Function3d47 ;reload the music
|
||||
call RestartMapMusic
|
||||
|
||||
.ToggleMono
|
||||
ld de, .Mono
|
||||
@ -97625,7 +97627,7 @@ Options_Sound: ; e43dd
|
||||
|
||||
.SetStereo
|
||||
set 5, [hl]
|
||||
call Function3d47 ;reload the music
|
||||
call RestartMapMusic
|
||||
|
||||
.ToggleStereo
|
||||
ld de, .Stereo
|
||||
@ -99934,7 +99936,7 @@ Functione5516: ; e5516 (39:5516)
|
||||
push af
|
||||
ld a, $5
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
|
||||
ld hl, LYOverrides
|
||||
ld bc, $90
|
||||
xor a
|
||||
call ByteFill
|
||||
@ -99953,7 +99955,7 @@ Functione552f: ; e552f (39:552f)
|
||||
ld a, [$cf64]
|
||||
and $1
|
||||
jr z, .asm_e5548
|
||||
ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
|
||||
ld hl, LYOverrides
|
||||
ld a, [hl]
|
||||
inc a
|
||||
ld bc, $5f
|
||||
@ -99965,7 +99967,7 @@ Functione552f: ; e552f (39:552f)
|
||||
inc a
|
||||
ld bc, $31
|
||||
call ByteFill
|
||||
ld a, [CurMartEnd] ; $d100 (aliases: LYOverrides)
|
||||
ld a, [LYOverrides + 0]
|
||||
ld [hSCX], a ; $ff00+$cf
|
||||
pop af
|
||||
ld [rSVBK], a ; $ff00+$70
|
||||
@ -101561,7 +101563,7 @@ NPCTrade:: ; fcba8
|
||||
ld hl, TradedForText
|
||||
call PrintText
|
||||
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
|
||||
ld a, TRADE_COMPLETE
|
||||
|
||||
@ -112685,7 +112687,7 @@ Function11b7e5: ; 11b7e5
|
||||
|
||||
.asm_11b872
|
||||
call Function2b3c
|
||||
call Function3d47
|
||||
call RestartMapMusic
|
||||
ret
|
||||
; 11b879
|
||||
|
||||
@ -114152,7 +114154,7 @@ Function11c7bc: ; 11c7bc (47:47bc)
|
||||
jr nz, .asm_11c7d0
|
||||
ret
|
||||
.asm_11c7e9
|
||||
ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
|
||||
ld hl, $d100
|
||||
ld a, [$cd26]
|
||||
ld e, a
|
||||
add hl, de
|
||||
@ -114186,8 +114188,8 @@ Function11c7bc: ; 11c7bc (47:47bc)
|
||||
pop de
|
||||
ret
|
||||
.asm_11c814
|
||||
ld hl, BattleMonSpclDef ; $c648
|
||||
ld a, [CreditsTimer] ; $cd22
|
||||
ld hl, $c648
|
||||
ld a, [$cd22]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
@ -114336,13 +114338,13 @@ Function11c8f6: ; 11c8f6 (47:48f6)
|
||||
add [hl]
|
||||
ld c, a
|
||||
ld b, $0
|
||||
ld hl, CurMartEnd ; $d100 (aliases: LYOverrides)
|
||||
ld hl, $d100
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
jr .asm_11c911
|
||||
.asm_11c938
|
||||
ld hl, BattleMonSpclDef ; $c648
|
||||
ld a, [CreditsTimer] ; $cd22
|
||||
ld hl, $c648
|
||||
ld a, [$cd22]
|
||||
ld e, a
|
||||
ld d, $0
|
||||
add hl, de
|
||||
@ -117747,7 +117749,7 @@ Function17d2ce: ; 17d2ce
|
||||
ld [rSVBK], a
|
||||
ld de, MUSIC_MOBILE_CENTER
|
||||
ld a, e
|
||||
ld [CurMusic], a
|
||||
ld [wMapMusic], a
|
||||
ld [MusicFadeIDLo], a
|
||||
ld a, d
|
||||
ld [MusicFadeIDHi], a
|
||||
@ -119158,7 +119160,7 @@ Function17ff23: ; 17ff23
|
||||
ret z
|
||||
ld a, $8
|
||||
ld [MusicFade], a
|
||||
ld a, [CurMusic]
|
||||
ld a, [wMapMusic]
|
||||
ld [MusicFadeIDLo], a
|
||||
xor a
|
||||
ld [MusicFadeIDHi], a
|
||||
|
@ -257,7 +257,7 @@ Function17a7ff: ; 17a7ff (5e:67ff)
|
||||
|
||||
; no known jump sources
|
||||
Function17a81a: ; 17a81a (5e:681a)
|
||||
call Function3c74
|
||||
call IsSFXPlaying
|
||||
ret nc
|
||||
ld a, [hJoyPressed] ; $ff00+$a7
|
||||
and $3
|
||||
|
Loading…
x
Reference in New Issue
Block a user