Merge pull request #253 from yenatch/master

Clean up music and battle interfaces in home.asm.
This commit is contained in:
Bryan Bishop 2014-05-28 19:51:41 -05:00
commit 1f30919037
10 changed files with 1244 additions and 1216 deletions

View File

@ -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

View File

@ -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

992
home.asm

File diff suppressed because it is too large Load Diff

598
home/audio.asm Normal file
View 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
View 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

View File

@ -172,7 +172,7 @@ Init:: ; 17d
call SoundRestart
xor a
ld [CurMusic], a
ld [wMapMusic], a
jp GameInit
; 245

View File

@ -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
View File

@ -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

View File

@ -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

View File

@ -365,8 +365,7 @@ CryTracks:: ; c2bd
CurSFX:: ; c2bf
; id of sfx currently playing
ds 1
CurMusic:: ; c2c0
; id of music currently playing
wMapMusic:: ; c2c0
ds 1
SECTION "auto",WRAM0[$c2c7]