You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-12-11 05:02:16 -08:00
Events and some WRAM cleanup
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
SpecialBuenasPassword: ; 8af6b
|
||||
xor a
|
||||
ld [wcf76], a
|
||||
ld [wWhichIndexSet], a
|
||||
ld hl, .MenuDataHeader
|
||||
call CopyMenuDataHeader
|
||||
ld a, [wBuenasPassword]
|
||||
@@ -69,8 +69,8 @@ SpecialBuenaPrize: ; 8afd4
|
||||
ld [wMenuScrollPosition], a
|
||||
ld a, $1
|
||||
ld [MenuSelection], a
|
||||
call Function8b0d6
|
||||
call Function8b090
|
||||
call Buena_PlacePrizeMenuBox
|
||||
call Buena_DisplayBlueCardBalance
|
||||
ld hl, .Text_AskWhichPrize
|
||||
call PrintText
|
||||
jr .okay
|
||||
@@ -83,12 +83,12 @@ SpecialBuenaPrize: ; 8afd4
|
||||
call DelayFrame
|
||||
call UpdateSprites
|
||||
call PrintBlueCardBalance
|
||||
call Function8b0e2
|
||||
call Buena_PrizeMenu
|
||||
jr z, .done
|
||||
ld [MenuSelectionQuantity], a
|
||||
call Buena_getprize
|
||||
ld a, [hl]
|
||||
ld [wd265], a
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetItemName
|
||||
ld hl, .Text_IsThatRight
|
||||
call BuenaPrintText
|
||||
@@ -183,7 +183,7 @@ SpecialBuenaPrize: ; 8afd4
|
||||
db "@"
|
||||
; 0x8b090
|
||||
|
||||
Function8b090: ; 8b090
|
||||
Buena_DisplayBlueCardBalance: ; 8b090
|
||||
ld hl, BlueCardBalanceMenuDataHeader
|
||||
call LoadMenuDataHeader
|
||||
ret
|
||||
@@ -230,7 +230,7 @@ BlueCardBalanceMenuDataHeader: ; 0x8b0d1
|
||||
db 13, 11 ; end coords
|
||||
; 8b0d6
|
||||
|
||||
Function8b0d6: ; 8b0d6
|
||||
Buena_PlacePrizeMenuBox: ; 8b0d6
|
||||
ld hl, .menudataheader
|
||||
call LoadMenuDataHeader
|
||||
ret
|
||||
@@ -242,13 +242,13 @@ Function8b0d6: ; 8b0d6
|
||||
db 11, 17 ; end coords
|
||||
; 8b0e2
|
||||
|
||||
Function8b0e2: ; 8b0e2
|
||||
Buena_PrizeMenu: ; 8b0e2
|
||||
ld hl, .MenuDataHeader
|
||||
call CopyMenuDataHeader
|
||||
ld a, [MenuSelection]
|
||||
ld [wMenuCursorBuffer], a
|
||||
xor a
|
||||
ld [wcf76], a
|
||||
ld [wWhichIndexSet], a
|
||||
ld [hBGMapMode], a
|
||||
call InitScrollingMenu
|
||||
call UpdateSprites
|
||||
|
||||
@@ -27,9 +27,9 @@ endr
|
||||
.next
|
||||
; Choose a flag at uniform random to be set.
|
||||
call Random
|
||||
cp $fa ; 250
|
||||
cp 250
|
||||
jr nc, .next
|
||||
ld c, $19 ; 25
|
||||
ld c, 25
|
||||
call SimpleDivide
|
||||
ld e, b
|
||||
ld d, 0
|
||||
@@ -124,7 +124,7 @@ ContestReturnMons: ; 13a31
|
||||
ld b, $1
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
cp -1
|
||||
jr z, .done
|
||||
inc b
|
||||
jr .loop
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
_BugContestJudging: ; 1369d
|
||||
call ContestScore
|
||||
callba MobileFn_105f79
|
||||
call Function13819
|
||||
call BugContest_JudgeContestants
|
||||
ld a, [wBugContestThirdPlacePersonID]
|
||||
call LoadContestantName
|
||||
ld a, [wBugContestThirdPlaceMon]
|
||||
@@ -23,13 +23,12 @@ _BugContestJudging: ; 1369d
|
||||
call GetPokemonName
|
||||
ld hl, BugContest_FirstPlaceText
|
||||
call PrintText
|
||||
jp Function13807
|
||||
jp BugContest_GetPlayersResult
|
||||
; 136eb
|
||||
|
||||
BugContest_FirstPlaceText: ; 0x136eb
|
||||
text_jump ContestJudging_FirstPlaceText
|
||||
start_asm
|
||||
BugContest_FirstPlace: ; 136f0
|
||||
ld de, SFX_1ST_PLACE
|
||||
call PlaySFX
|
||||
call WaitSFX
|
||||
@@ -47,7 +46,6 @@ BugContest_SecondPlaceText: ; 0x13702
|
||||
; Placing second was @ , who caught a @ !@ @
|
||||
text_jump ContestJudging_SecondPlaceText
|
||||
start_asm
|
||||
BugContest_SecondPlace: ; 13707
|
||||
ld de, SFX_2ND_PLACE
|
||||
call PlaySFX
|
||||
call WaitSFX
|
||||
@@ -215,13 +213,13 @@ BugContestant_SchoolboyKipp:
|
||||
dbw KAKUNA, 259
|
||||
; 13807
|
||||
|
||||
Function13807: ; 13807
|
||||
BugContest_GetPlayersResult: ; 13807
|
||||
ld hl, wBugContestThirdPlacePersonID
|
||||
ld de, -4
|
||||
ld b, 3
|
||||
.loop
|
||||
ld a, [hl]
|
||||
cp 1
|
||||
cp 1 ; Player
|
||||
jr z, .done
|
||||
add hl, de
|
||||
dec b
|
||||
@@ -231,25 +229,25 @@ Function13807: ; 13807
|
||||
ret
|
||||
; 13819
|
||||
|
||||
Function13819: ; 13819
|
||||
BugContest_JudgeContestants: ; 13819
|
||||
call ClearContestResults
|
||||
call ComputeAIContestantScores
|
||||
ld hl, wBugContestTempPersonID
|
||||
ld a, 1
|
||||
ld a, 1 ; Player
|
||||
ld [hli], a
|
||||
ld a, [wContestMon]
|
||||
ld [hli], a
|
||||
ld a, [hProduct]
|
||||
ld [hli], a
|
||||
ld a, [hMultiplicand]
|
||||
ld a, [hProduct + 1]
|
||||
ld [hl], a
|
||||
call DetermineContestWinners
|
||||
ret
|
||||
; 13833
|
||||
|
||||
ClearContestResults: ; 13833
|
||||
ld hl, wBugContestFirstPlacePersonID
|
||||
ld b, 12
|
||||
ld hl, wBugContestResults
|
||||
ld b, wBugContestWinnersEnd - wBugContestResults
|
||||
xor a
|
||||
.loop
|
||||
ld [hli], a
|
||||
|
||||
@@ -9,7 +9,7 @@ _CardKey: ; 50779
|
||||
jr nz, .nope
|
||||
; Are we facing the slot?
|
||||
ld a, [PlayerDirection]
|
||||
and $c
|
||||
and %1100
|
||||
cp OW_UP
|
||||
jr nz, .nope
|
||||
|
||||
@@ -23,12 +23,12 @@ _CardKey: ; 50779
|
||||
; Let's use the Card Key.
|
||||
ld hl, .CardKeyScript
|
||||
call QueueScript
|
||||
ld a, $1
|
||||
ld a, TRUE
|
||||
ld [wItemEffectSucceeded], a
|
||||
ret
|
||||
|
||||
.nope
|
||||
ld a, $0
|
||||
ld a, FALSE
|
||||
ld [wItemEffectSucceeded], a
|
||||
ret
|
||||
; 507af
|
||||
|
||||
@@ -114,7 +114,7 @@ CelebiEvent_SpawnLeaf: ; 49944
|
||||
add $40
|
||||
ld d, a
|
||||
ld e, $0
|
||||
ld a, SPRITE_ANIM_INDEX_18 ; fly land
|
||||
ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,8 +8,8 @@ SpecialDratini: ; 0x8b170
|
||||
ret nc
|
||||
ld bc, PartyCount
|
||||
ld a, [bc]
|
||||
ld hl, 0
|
||||
call GetNthPartyMon
|
||||
ld hl, MON_SPECIES
|
||||
call .GetNthPartyMon
|
||||
ld a, [bc]
|
||||
ld c, a
|
||||
ld de, PARTYMON_STRUCT_LENGTH
|
||||
@@ -85,7 +85,7 @@ endr
|
||||
db TWISTER
|
||||
db 0
|
||||
|
||||
GetNthPartyMon: ; 0x8b1ce
|
||||
.GetNthPartyMon: ; 0x8b1ce
|
||||
; inputs:
|
||||
; hl must be set to 0 before calling this function.
|
||||
; a must be set to the number of Pokémon in the party.
|
||||
@@ -106,6 +106,7 @@ GetNthPartyMon: ; 0x8b1ce
|
||||
dec a
|
||||
jr nz, .loop
|
||||
ret
|
||||
|
||||
.EmptyParty
|
||||
scf
|
||||
ret
|
||||
|
||||
@@ -330,15 +330,15 @@ FlyFromAnim: ; 8caed
|
||||
ld [VramState], a
|
||||
call FlyFunction_InitGFX
|
||||
depixel 10, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
|
||||
add hl, bc
|
||||
ld [hl], SPRITE_ANIM_SEQ_16
|
||||
ld a, $80
|
||||
ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
|
||||
ld a, 128
|
||||
ld [wcf64], a
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
@@ -347,7 +347,7 @@ FlyFromAnim: ; 8caed
|
||||
ld a, 0 * 4
|
||||
ld [wCurrSpriteOAMAddr], a
|
||||
callab DoNextFrameForAllSprites
|
||||
call Function8cbc8
|
||||
call FlyFunction_FrameTimer
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
@@ -365,18 +365,18 @@ FlyToAnim: ; 8cb33
|
||||
ld [VramState], a
|
||||
call FlyFunction_InitGFX
|
||||
depixel 31, 10, 4, 0
|
||||
ld a, SPRITE_ANIM_INDEX_0A
|
||||
ld a, SPRITE_ANIM_INDEX_WALK_CYCLE
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
|
||||
add hl, bc
|
||||
ld [hl], $18
|
||||
ld [hl], SPRITE_ANIM_SEQ_FLY_TO
|
||||
ld hl, SPRITEANIMSTRUCT_0F
|
||||
add hl, bc
|
||||
ld [hl], $58
|
||||
ld a, $40
|
||||
ld [hl], 11 * 8
|
||||
ld a, 64
|
||||
ld [wcf64], a
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
@@ -385,28 +385,28 @@ FlyToAnim: ; 8cb33
|
||||
ld a, 0 * 4
|
||||
ld [wCurrSpriteOAMAddr], a
|
||||
callab DoNextFrameForAllSprites
|
||||
call Function8cbc8
|
||||
call FlyFunction_FrameTimer
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
.exit
|
||||
pop af
|
||||
ld [VramState], a
|
||||
call Function8cb82
|
||||
call .RestorePlayerSprite_DespawnLeaves
|
||||
ret
|
||||
|
||||
Function8cb82: ; 8cb82 (23:4b82)
|
||||
.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82)
|
||||
ld hl, Sprites + 2 ; Tile ID
|
||||
xor a
|
||||
ld c, $4
|
||||
.loop
|
||||
.loop2
|
||||
ld [hli], a
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
jr nz, .loop2
|
||||
ld hl, Sprites + 4 * 4
|
||||
ld bc, SpritesEnd - (Sprites + 4 * 4)
|
||||
xor a
|
||||
@@ -432,8 +432,8 @@ FlyFunction_InitGFX: ; 8cb9b (23:4b9b)
|
||||
ld [wJumptableIndex], a
|
||||
ret
|
||||
|
||||
Function8cbc8: ; 8cbc8 (23:4bc8)
|
||||
call Function8cbe6
|
||||
FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8)
|
||||
call .SpawnLeaf
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
@@ -452,19 +452,19 @@ Function8cbc8: ; 8cbc8 (23:4bc8)
|
||||
set 7, [hl]
|
||||
ret
|
||||
|
||||
Function8cbe6: ; 8cbe6 (23:4be6)
|
||||
.SpawnLeaf: ; 8cbe6 (23:4be6)
|
||||
ld hl, wcf65
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
and $7
|
||||
ret nz
|
||||
ld a, [hl]
|
||||
and $18
|
||||
and (6 * 8) >> 1
|
||||
sla a
|
||||
add $40
|
||||
add 8 * 8 ; gives a number in [$40, $50, $60, $70]
|
||||
ld d, a
|
||||
ld e, $0
|
||||
ld a, SPRITE_ANIM_INDEX_18 ; fly land
|
||||
ld a, SPRITE_ANIM_INDEX_FLY_LEAF ; fly land
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
|
||||
@@ -37,7 +37,7 @@ FindItemInBallScript:: ; 0x122ce
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
ld a, [EngineBuffer1]
|
||||
ld [wd265], a
|
||||
ld [wNamedObjectIndexBuffer], a
|
||||
call GetItemName
|
||||
ld hl, StringBuffer3
|
||||
call CopyName2
|
||||
|
||||
@@ -15,7 +15,7 @@ ItemFinder: ; 12580
|
||||
; 12599
|
||||
|
||||
.ItemfinderSound: ; 12599
|
||||
ld c, $4
|
||||
ld c, 4
|
||||
.sfx_loop
|
||||
push bc
|
||||
ld de, SFX_SECOND_PART_OF_ITEMFINDER
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
Kurt_PrintTextWhichApricorn: ; 88000
|
||||
ld hl, UnknownText_0x88007
|
||||
ld hl, .Text
|
||||
call PrintText
|
||||
ret
|
||||
; 88007
|
||||
|
||||
UnknownText_0x88007: ; 0x88007
|
||||
.Text: ; 0x88007
|
||||
; Which APRICORN should I use?
|
||||
text_jump UnknownText_0x1bc06b
|
||||
db "@"
|
||||
; 0x8800c
|
||||
|
||||
Kurt_PrintTextHowMany: ; 8800c
|
||||
ld hl, UnknownText_0x88013
|
||||
ld hl, .Text
|
||||
call PrintText
|
||||
ret
|
||||
; 88013
|
||||
|
||||
UnknownText_0x88013: ; 0x88013
|
||||
.Text: ; 0x88013
|
||||
; How many should I make?
|
||||
text_jump UnknownText_0x1bc089
|
||||
db "@"
|
||||
@@ -69,7 +69,7 @@ Kurt_SelectApricorn: ; 88055
|
||||
call UpdateSprites
|
||||
call ScrollingMenu
|
||||
ld a, [wMenuJoypad]
|
||||
cp $2
|
||||
cp B_BUTTON
|
||||
jr z, .nope
|
||||
ld a, [MenuSelection]
|
||||
cp -1
|
||||
@@ -167,7 +167,7 @@ Kurt_SelectQuantity: ; 880c2
|
||||
|
||||
.PlaceApricornName: ; 88116
|
||||
call MenuBoxCoord2Tile
|
||||
ld de, $0015
|
||||
ld de, SCREEN_WIDTH + 1
|
||||
add hl, de
|
||||
ld d, h
|
||||
ld e, l
|
||||
@@ -177,7 +177,7 @@ Kurt_SelectQuantity: ; 880c2
|
||||
|
||||
PlaceApricornQuantity: ; 88126
|
||||
call MenuBoxCoord2Tile
|
||||
ld de, $0032
|
||||
ld de, 2 * SCREEN_WIDTH + 10
|
||||
add hl, de
|
||||
ld [hl], "×"
|
||||
inc hl
|
||||
@@ -233,7 +233,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
|
||||
xor a
|
||||
ld [CurItemQuantity], a
|
||||
ld a, -1
|
||||
ld [wd002], a
|
||||
ld [wApricorns], a
|
||||
|
||||
; Search for [CurItem] in the bag.
|
||||
.loop1
|
||||
@@ -253,7 +253,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
|
||||
; Increment the result counter and store the bag index of the match.
|
||||
ld d, $0
|
||||
push hl
|
||||
ld hl, wd002
|
||||
ld hl, wApricorns
|
||||
add hl, de
|
||||
inc e
|
||||
ld a, [CurItemQuantity]
|
||||
@@ -271,7 +271,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
|
||||
jr z, .done
|
||||
dec a
|
||||
jr z, .OnlyOne
|
||||
ld hl, wd002
|
||||
ld hl, wApricorns
|
||||
|
||||
.loop2
|
||||
ld a, [hl]
|
||||
@@ -316,7 +316,7 @@ Kurt_GiveUpSelectedQuantityOfSelectedApricorn: ; 88161
|
||||
jr nz, .loop2
|
||||
|
||||
.OnlyOne
|
||||
ld hl, wd002
|
||||
ld hl, wApricorns
|
||||
.loop4
|
||||
ld a, [hl]
|
||||
cp -1
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
|
||||
|
||||
Special_CheckMagikarpLength: ; fbb32
|
||||
; Returns 3 if you select a Magikarp that beats the previous record.
|
||||
; Returns 2 if you select a Magikarp, but the current record is longer.
|
||||
@@ -81,7 +79,7 @@ Special_CheckMagikarpLength: ; fbb32
|
||||
; 0xfbbae
|
||||
|
||||
Magikarp_LoadFeetInchesChars: ; fbbae
|
||||
ld hl, VTiles2 + "′" * $10
|
||||
ld hl, VTiles2 tile "′"
|
||||
ld de, .feetinchchars
|
||||
lb bc, BANK(.feetinchchars), 2
|
||||
call Request2bpp
|
||||
|
||||
@@ -3,14 +3,14 @@ Special_MagnetTrain: ; 8cc04
|
||||
and a
|
||||
jr nz, .ToGoldenrod
|
||||
ld a, 1 ; forwards
|
||||
lb bc, $40, $60
|
||||
ld de, $fca0
|
||||
lb bc, $40, $60
|
||||
lb de, (11 * 8) - (11 * 8 + 4), -$60
|
||||
jr .continue
|
||||
|
||||
.ToGoldenrod
|
||||
ld a, -1 ; backwards
|
||||
lb bc, $c0, $a0
|
||||
ld de, $b460
|
||||
lb bc, -$40, -$60
|
||||
lb de, (11 * 8) + (11 * 8 + 4), $60
|
||||
|
||||
.continue
|
||||
ld h, a
|
||||
@@ -18,21 +18,23 @@ Special_MagnetTrain: ; 8cc04
|
||||
push af
|
||||
ld a, $5
|
||||
ld [rSVBK], a
|
||||
|
||||
ld a, h
|
||||
ld [w5_d191], a
|
||||
ld [wMagnetTrainDirection], a
|
||||
ld a, c
|
||||
ld [w5_d192], a
|
||||
ld [wMagnetTrainInitPosition], a
|
||||
ld a, b
|
||||
ld [w5_d193], a
|
||||
ld [wMagnetTrainHoldPosition], a
|
||||
ld a, e
|
||||
ld [w5_d194], a
|
||||
ld [wMagnetTrainFinalPosition], a
|
||||
ld a, d
|
||||
ld [w5_d195], a
|
||||
ld [wMagnetTrainPlayerSpriteInitX], a
|
||||
|
||||
ld a, [hSCX]
|
||||
push af
|
||||
ld a, [hSCY]
|
||||
push af
|
||||
call Function8ccc9
|
||||
call MagntTrain_LoadGFX_PlayMusic
|
||||
ld hl, hVBlank
|
||||
ld a, [hl]
|
||||
push af
|
||||
@@ -44,14 +46,14 @@ Special_MagnetTrain: ; 8cc04
|
||||
bit 7, a
|
||||
jr nz, .done
|
||||
callab PlaySpriteAnimations
|
||||
call Function8cdf7
|
||||
call Function8cc99
|
||||
call MagnetTrain_Jumptable
|
||||
call MagnetTrain_UpdateLYOverrides
|
||||
call Function3b0c
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
||||
.initialize
|
||||
call Function8ceae
|
||||
call MagnetTrain_Jumptable_FirstRunThrough
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
@@ -69,6 +71,7 @@ Special_MagnetTrain: ; 8cc04
|
||||
ld [Requested2bppDest + 1], a
|
||||
ld [Requested2bpp], a
|
||||
call ClearTileMap
|
||||
|
||||
pop af
|
||||
ld [hSCY], a
|
||||
pop af
|
||||
@@ -80,21 +83,21 @@ Special_MagnetTrain: ; 8cc04
|
||||
ret
|
||||
; 8cc99
|
||||
|
||||
Function8cc99: ; 8cc99
|
||||
MagnetTrain_UpdateLYOverrides: ; 8cc99
|
||||
ld hl, LYOverridesBackup
|
||||
ld c, $2f
|
||||
ld a, [wcf64]
|
||||
add a
|
||||
ld [hSCX], a
|
||||
call Function8ccc4
|
||||
call .loadloop
|
||||
ld c, $30
|
||||
ld a, [wcf65]
|
||||
call Function8ccc4
|
||||
call .loadloop
|
||||
ld c, $31
|
||||
ld a, [wcf64]
|
||||
add a
|
||||
call Function8ccc4
|
||||
ld a, [wd191]
|
||||
call .loadloop
|
||||
ld a, [wMagnetTrainDirection]
|
||||
ld d, a
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
@@ -103,17 +106,15 @@ rept 2
|
||||
endr
|
||||
ld [hl], a
|
||||
ret
|
||||
; 8ccc4
|
||||
|
||||
Function8ccc4: ; 8ccc4
|
||||
.asm_8ccc4
|
||||
.loadloop
|
||||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .asm_8ccc4
|
||||
jr nz, .loadloop
|
||||
ret
|
||||
; 8ccc9
|
||||
|
||||
Function8ccc9: ; 8ccc9
|
||||
MagntTrain_LoadGFX_PlayMusic: ; 8ccc9
|
||||
call ClearBGPalettes
|
||||
call ClearSprites
|
||||
call DisableLCD
|
||||
@@ -135,20 +136,20 @@ Function8ccc9: ; 8ccc9
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld hl, VTiles0
|
||||
ld c, $4
|
||||
ld c, 4
|
||||
call Request2bpp
|
||||
ld hl, $c0
|
||||
ld hl, 12 tiles
|
||||
add hl, de
|
||||
ld d, h
|
||||
ld e, l
|
||||
ld hl, VTiles0 tile $04
|
||||
ld c, $4
|
||||
ld c, 4
|
||||
call Request2bpp
|
||||
call Function8cda6
|
||||
call MagnetTrain_InitLYOverrides
|
||||
ld hl, wJumptableIndex
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld a, [wd192]
|
||||
ld a, [wMagnetTrainInitPosition]
|
||||
rept 3
|
||||
ld [hli], a
|
||||
endr
|
||||
@@ -160,13 +161,13 @@ endr
|
||||
DrawMagnetTrain: ; 8cd27
|
||||
hlbgcoord 0, 0
|
||||
xor a
|
||||
.asm_8cd2b
|
||||
.loop
|
||||
call GetMagnetTrainBGTiles
|
||||
ld b, 32 / 2
|
||||
call .FillAlt
|
||||
inc a
|
||||
cp $12
|
||||
jr c, .asm_8cd2b
|
||||
jr c, .loop
|
||||
hlbgcoord 0, 6
|
||||
ld de, MagnetTrainTilemap1
|
||||
ld c, 20
|
||||
@@ -243,14 +244,14 @@ MagnetTrainBGTiles: ; 8cd82
|
||||
db $5c, $5d ; bush
|
||||
; 8cda6
|
||||
|
||||
Function8cda6: ; 8cda6
|
||||
MagnetTrain_InitLYOverrides: ; 8cda6
|
||||
ld hl, LYOverrides
|
||||
ld bc, $90
|
||||
ld a, [wd192]
|
||||
ld bc, LYOverridesEnd - LYOverrides
|
||||
ld a, [wMagnetTrainInitPosition]
|
||||
call ByteFill
|
||||
ld hl, LYOverridesBackup
|
||||
ld bc, $90
|
||||
ld a, [wd192]
|
||||
ld bc, LYOverridesBackupEnd - LYOverridesBackup
|
||||
ld a, [wMagnetTrainInitPosition]
|
||||
call ByteFill
|
||||
ld a, $43
|
||||
ld [hLCDStatCustom], a
|
||||
@@ -290,11 +291,11 @@ SetMagnetTrainPals: ; 8cdc3
|
||||
ret
|
||||
; 8cdf7
|
||||
|
||||
Function8cdf7: ; 8cdf7
|
||||
MagnetTrain_Jumptable: ; 8cdf7
|
||||
ld a, [wJumptableIndex]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, Jumptable_8ce06
|
||||
ld hl, .Jumptable
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
@@ -304,25 +305,26 @@ endr
|
||||
jp [hl]
|
||||
; 8ce06
|
||||
|
||||
Jumptable_8ce06: ; 8ce06
|
||||
dw Function8ce19
|
||||
dw Function8ce6d
|
||||
dw Function8ce47
|
||||
dw Function8ce6d
|
||||
dw Function8ce7a
|
||||
dw Function8ce6d
|
||||
dw Function8cea2
|
||||
.Jumptable: ; 8ce06
|
||||
jumptable_start
|
||||
jumptable .InitPlayerSpriteAnim
|
||||
jumptable .WaitScene
|
||||
jumptable .MoveTrain1
|
||||
jumptable .WaitScene
|
||||
jumptable .MoveTrain2
|
||||
jumptable .WaitScene
|
||||
jumptable .TrainArrived
|
||||
; 8ce14
|
||||
|
||||
Function8ce14: ; 8ce14
|
||||
.Next: ; 8ce14
|
||||
ld hl, wJumptableIndex
|
||||
inc [hl]
|
||||
ret
|
||||
; 8ce19
|
||||
|
||||
Function8ce19: ; 8ce19
|
||||
ld d, $55
|
||||
ld a, [wOverworldMapAnchor + 1]
|
||||
.InitPlayerSpriteAnim: ; 8ce19
|
||||
ld d, 10 * 8 + 5
|
||||
ld a, [wMagnetTrainPlayerSpriteInitX]
|
||||
ld e, a
|
||||
ld b, SPRITE_ANIM_INDEX_15
|
||||
ld a, [rSVBK]
|
||||
@@ -331,67 +333,67 @@ Function8ce19: ; 8ce19
|
||||
ld [rSVBK], a
|
||||
ld a, [PlayerGender]
|
||||
bit 0, a
|
||||
jr z, .asm_8ce31
|
||||
jr z, .got_gender
|
||||
ld b, SPRITE_ANIM_INDEX_1F
|
||||
|
||||
.asm_8ce31
|
||||
.got_gender
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ld a, b
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
call Function8ce14
|
||||
call .Next
|
||||
ld a, $80
|
||||
ld [wcf66], a
|
||||
ret
|
||||
; 8ce47
|
||||
|
||||
Function8ce47: ; 8ce47
|
||||
ld hl, wd193
|
||||
.MoveTrain1: ; 8ce47
|
||||
ld hl, wMagnetTrainHoldPosition
|
||||
ld a, [wcf65]
|
||||
cp [hl]
|
||||
jr z, .asm_8ce64
|
||||
jr z, .PrepareToHoldTrain
|
||||
ld e, a
|
||||
ld a, [wd191]
|
||||
ld a, [wMagnetTrainDirection]
|
||||
xor $ff
|
||||
inc a
|
||||
add e
|
||||
ld [wcf65], a
|
||||
ld hl, wGlobalAnimXOffset
|
||||
ld a, [wd191]
|
||||
ld a, [wMagnetTrainDirection]
|
||||
add [hl]
|
||||
ld [hl], a
|
||||
ret
|
||||
|
||||
.asm_8ce64
|
||||
call Function8ce14
|
||||
.PrepareToHoldTrain
|
||||
call .Next
|
||||
ld a, $80
|
||||
ld [wcf66], a
|
||||
ret
|
||||
; 8ce6d
|
||||
|
||||
Function8ce6d: ; 8ce6d
|
||||
.WaitScene: ; 8ce6d
|
||||
ld hl, wcf66
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_8ce76
|
||||
jr z, .DoneWaiting
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
.asm_8ce76
|
||||
call Function8ce14
|
||||
.DoneWaiting
|
||||
call .Next
|
||||
ret
|
||||
; 8ce7a
|
||||
|
||||
Function8ce7a: ; 8ce7a
|
||||
ld hl, wOverworldMapAnchor
|
||||
.MoveTrain2: ; 8ce7a
|
||||
ld hl, wMagnetTrainFinalPosition
|
||||
ld a, [wcf65]
|
||||
cp [hl]
|
||||
jr z, .asm_8ce9e
|
||||
jr z, .PrepareToFinishAnim
|
||||
ld e, a
|
||||
ld a, [wd191]
|
||||
ld a, [wMagnetTrainDirection]
|
||||
xor $ff
|
||||
inc a
|
||||
ld d, a
|
||||
@@ -401,7 +403,7 @@ rept 2
|
||||
endr
|
||||
ld [wcf65], a
|
||||
ld hl, wGlobalAnimXOffset
|
||||
ld a, [wd191]
|
||||
ld a, [wMagnetTrainDirection]
|
||||
ld d, a
|
||||
ld a, [hl]
|
||||
rept 2
|
||||
@@ -412,12 +414,12 @@ endr
|
||||
|
||||
ret
|
||||
|
||||
.asm_8ce9e
|
||||
call Function8ce14
|
||||
.PrepareToFinishAnim
|
||||
call .Next
|
||||
ret
|
||||
; 8cea2
|
||||
|
||||
Function8cea2: ; 8cea2
|
||||
.TrainArrived: ; 8cea2
|
||||
ld a, $80
|
||||
ld [wJumptableIndex], a
|
||||
ld de, SFX_TRAIN_ARRIVED
|
||||
@@ -425,10 +427,10 @@ Function8cea2: ; 8cea2
|
||||
ret
|
||||
; 8ceae
|
||||
|
||||
Function8ceae: ; 8ceae
|
||||
MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
|
||||
callba PlaySpriteAnimations
|
||||
call Function8cdf7
|
||||
call Function8cc99
|
||||
call MagnetTrain_Jumptable
|
||||
call MagnetTrain_UpdateLYOverrides
|
||||
call Function3b0c
|
||||
call DelayFrame
|
||||
ld a, [rSVBK]
|
||||
|
||||
@@ -5,20 +5,20 @@ Special_BankOfMom: ; 16218
|
||||
ld [hInMenu], a
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
.asm_16223
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .asm_1622f
|
||||
call Function16233
|
||||
jr .asm_16223
|
||||
jr nz, .done
|
||||
call .RunJumptable
|
||||
jr .loop
|
||||
|
||||
.asm_1622f
|
||||
.done
|
||||
pop af
|
||||
ld [hInMenu], a
|
||||
ret
|
||||
; 16233
|
||||
|
||||
Function16233: ; 16233
|
||||
.RunJumptable: ; 16233
|
||||
ld a, [wJumptableIndex]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
@@ -33,15 +33,16 @@ endr
|
||||
; 16242
|
||||
|
||||
.jumptable: ; 16242
|
||||
dw .CheckIfBankInitialized
|
||||
dw .InitializeBank
|
||||
dw .IsThisAboutYourMoney
|
||||
dw .AccessBankOfMom
|
||||
dw .StoreMoney
|
||||
dw .TakeMoney
|
||||
dw .StopOrStartSavingMoney
|
||||
dw .AskDST
|
||||
dw .JustDoWhatYouCan
|
||||
jumptable_start
|
||||
jumptable .CheckIfBankInitialized
|
||||
jumptable .InitializeBank
|
||||
jumptable .IsThisAboutYourMoney
|
||||
jumptable .AccessBankOfMom
|
||||
jumptable .StoreMoney
|
||||
jumptable .TakeMoney
|
||||
jumptable .StopOrStartSavingMoney
|
||||
jumptable .AskDST
|
||||
jumptable .JustDoWhatYouCan
|
||||
; 16254
|
||||
|
||||
.CheckIfBankInitialized: ; 16254
|
||||
@@ -309,72 +310,72 @@ DSTChecks: ; 16439
|
||||
ld a, [wDST]
|
||||
bit 7, a
|
||||
ld a, [hHours]
|
||||
jr z, .asm_16447
|
||||
jr z, .NotDST
|
||||
and a ; within one hour of 00:00?
|
||||
jr z, .LostBooklet
|
||||
jr .loop
|
||||
|
||||
.asm_16447
|
||||
.NotDST
|
||||
cp 23 ; within one hour of 23:00?
|
||||
jr nz, .loop
|
||||
; fallthrough
|
||||
|
||||
.LostBooklet
|
||||
call Function164ea
|
||||
call .ClearBox
|
||||
bccoord 1, 14
|
||||
ld hl, UnknownText_0x164f4
|
||||
ld hl, .Text_AdjustClock
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
call YesNoBox
|
||||
ret c
|
||||
call Function164ea
|
||||
call .ClearBox
|
||||
bccoord 1, 14
|
||||
ld hl, LostInstructionBookletText
|
||||
ld hl, .Text_LostInstructionBooklet
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
ret
|
||||
|
||||
.loop
|
||||
call Function164ea
|
||||
call .ClearBox
|
||||
bccoord 1, 14
|
||||
ld a, [wDST]
|
||||
bit 7, a
|
||||
jr z, .asm_16497
|
||||
ld hl, UnknownText_0x16508
|
||||
jr z, .SetDST
|
||||
ld hl, .Text_IsDSTOver
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
call YesNoBox
|
||||
ret c
|
||||
ld a, [wDST]
|
||||
res 7, a
|
||||
ld [wDST], a
|
||||
call Function164d1
|
||||
call Function164ea
|
||||
call .SetClockBack
|
||||
call .ClearBox
|
||||
bccoord 1, 14
|
||||
ld hl, UnknownText_0x1650d
|
||||
ld hl, .Text_SetClockBack
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
ret
|
||||
|
||||
.asm_16497
|
||||
ld hl, UnknownText_0x164fe
|
||||
.SetDST
|
||||
ld hl, .Text_SwitchToDST
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
call YesNoBox
|
||||
ret c
|
||||
ld a, [wDST]
|
||||
set 7, a
|
||||
ld [wDST], a
|
||||
call Function164b9
|
||||
call Function164ea
|
||||
call .SetClockForward
|
||||
call .ClearBox
|
||||
bccoord 1, 14
|
||||
ld hl, UnknownText_0x16503
|
||||
ld hl, .Text_SetClockForward
|
||||
call PlaceWholeStringInBoxAtOnce
|
||||
ret
|
||||
; 164b9
|
||||
|
||||
Function164b9: ; 164b9
|
||||
.SetClockForward: ; 164b9
|
||||
ld a, [StartHour]
|
||||
add 1
|
||||
sub 24
|
||||
jr nc, .asm_164c4
|
||||
jr nc, .DontLoopHourForward
|
||||
add 24
|
||||
.asm_164c4
|
||||
.DontLoopHourForward
|
||||
ld [StartHour], a
|
||||
ccf
|
||||
ld a, [StartDay]
|
||||
@@ -383,61 +384,61 @@ Function164b9: ; 164b9
|
||||
ret
|
||||
; 164d1
|
||||
|
||||
Function164d1: ; 164d1
|
||||
.SetClockBack: ; 164d1
|
||||
ld a, [StartHour]
|
||||
sub 1
|
||||
jr nc, .asm_164da
|
||||
jr nc, .DontLoopHourBack
|
||||
add 24
|
||||
.asm_164da
|
||||
.DontLoopHourBack
|
||||
ld [StartHour], a
|
||||
ld a, [StartDay]
|
||||
sbc 0
|
||||
jr nc, .asm_164e6
|
||||
jr nc, .DontLoopDayBack
|
||||
add 7
|
||||
.asm_164e6
|
||||
.DontLoopDayBack
|
||||
ld [StartDay], a
|
||||
ret
|
||||
; 164ea
|
||||
|
||||
Function164ea: ; 164ea
|
||||
.ClearBox: ; 164ea
|
||||
hlcoord 1, 14
|
||||
lb bc, 3, 18
|
||||
call ClearBox
|
||||
ret
|
||||
; 164f4
|
||||
|
||||
UnknownText_0x164f4: ; 0x164f4
|
||||
.Text_AdjustClock: ; 0x164f4
|
||||
; Do you want to adjust your clock for Daylight Saving Time?
|
||||
text_jump UnknownText_0x1c6095
|
||||
db "@"
|
||||
; 0x164f9
|
||||
|
||||
LostInstructionBookletText: ; 0x164f9
|
||||
.Text_LostInstructionBooklet: ; 0x164f9
|
||||
; I lost the instruction booklet for the POKéGEAR.
|
||||
; Come back again in a while.
|
||||
text_jump UnknownText_0x1c60d1
|
||||
db "@"
|
||||
; 0x164fe
|
||||
|
||||
UnknownText_0x164fe: ; 0x164fe
|
||||
.Text_SwitchToDST: ; 0x164fe
|
||||
; Do you want to switch to Daylight Saving Time?
|
||||
text_jump UnknownText_0x1c6000
|
||||
db "@"
|
||||
; 0x16503
|
||||
|
||||
UnknownText_0x16503: ; 0x16503
|
||||
.Text_SetClockForward: ; 0x16503
|
||||
; I set the clock forward by one hour.
|
||||
text_jump UnknownText_0x1c6030
|
||||
db "@"
|
||||
; 0x16508
|
||||
|
||||
UnknownText_0x16508: ; 0x16508
|
||||
.Text_IsDSTOver: ; 0x16508
|
||||
; Is Daylight Saving Time over?
|
||||
text_jump UnknownText_0x1c6056
|
||||
db "@"
|
||||
; 0x1650d
|
||||
|
||||
UnknownText_0x1650d: ; 0x1650d
|
||||
.Text_SetClockBack: ; 0x1650d
|
||||
; I put the clock back one hour.
|
||||
text_jump UnknownText_0x1c6075
|
||||
db "@"
|
||||
|
||||
@@ -9,40 +9,40 @@ MomTriesToBuySomething:: ; fcfec
|
||||
ld [wdc18], a
|
||||
call CheckBalance_MomItem2
|
||||
ret nc
|
||||
call Functionfd0c3
|
||||
call Mom_GiveItemOrDoll
|
||||
ret nc
|
||||
ld b, BANK(UnknownScript_0xfd00f)
|
||||
ld de, UnknownScript_0xfd00f
|
||||
ld b, BANK(.Script)
|
||||
ld de, .Script
|
||||
callba LoadScriptBDE
|
||||
scf
|
||||
ret
|
||||
; fd00f
|
||||
|
||||
UnknownScript_0xfd00f: ; 0xfd00f
|
||||
callasm Functionfd017
|
||||
.Script: ; 0xfd00f
|
||||
callasm .ASMFunction
|
||||
farjump Script_ReceivePhoneCall
|
||||
; 0xfd017
|
||||
|
||||
Functionfd017: ; fd017
|
||||
.ASMFunction: ; fd017
|
||||
call MomBuysItem_DeductFunds
|
||||
call Functionfd0eb
|
||||
call Mom_GetScriptPointer
|
||||
ld a, [wdc18]
|
||||
and a
|
||||
jr nz, .ok
|
||||
ld hl, wdc17
|
||||
inc [hl]
|
||||
.ok
|
||||
ld a, 1
|
||||
ld a, PHONE_MOM
|
||||
ld [wCurrentCaller], a
|
||||
ld bc, wd03f
|
||||
ld bc, EngineBuffer2
|
||||
ld hl, 0
|
||||
add hl, bc
|
||||
ld [hl], 0
|
||||
inc hl
|
||||
ld [hl], 1
|
||||
ld hl, 9
|
||||
ld hl, wPhoneScriptPointer - EngineBuffer2
|
||||
add hl, bc
|
||||
ld a, $3f
|
||||
ld a, BANK(Mom_GetScriptPointer)
|
||||
ld [hli], a
|
||||
ld a, e
|
||||
ld [hli], a
|
||||
@@ -114,7 +114,7 @@ Functionfd099: ; fd099
|
||||
|
||||
MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
|
||||
call GetItemFromMom
|
||||
ld de, 3
|
||||
ld de, 3 ; cost
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld [hMoneyTemp], a
|
||||
@@ -128,12 +128,12 @@ MomBuysItem_DeductFunds: ; fd0a6 (3f:50a6)
|
||||
ret
|
||||
|
||||
|
||||
Functionfd0c3: ; fd0c3
|
||||
Mom_GiveItemOrDoll: ; fd0c3
|
||||
call GetItemFromMom
|
||||
ld de, 6
|
||||
ld de, 6 ; item type
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
cp 1
|
||||
cp MOM_ITEM
|
||||
jr z, .not_doll
|
||||
ld a, [hl]
|
||||
ld c, a
|
||||
@@ -145,7 +145,7 @@ Functionfd0c3: ; fd0c3
|
||||
.not_doll
|
||||
ld a, [hl]
|
||||
ld [CurItem], a
|
||||
ld a, $1
|
||||
ld a, 1
|
||||
ld [wItemQuantityChangeBuffer], a
|
||||
ld hl, PCItems
|
||||
call ReceiveItem
|
||||
@@ -153,19 +153,19 @@ Functionfd0c3: ; fd0c3
|
||||
; fd0eb
|
||||
|
||||
|
||||
Functionfd0eb: ; fd0eb (3f:50eb)
|
||||
Mom_GetScriptPointer: ; fd0eb (3f:50eb)
|
||||
call GetItemFromMom
|
||||
ld de, 6 ; field
|
||||
ld de, 6 ; item type
|
||||
add hl, de
|
||||
ld a, [hli]
|
||||
ld de, Script_MomBoughtItem
|
||||
cp 1
|
||||
ld de, .ItemScript
|
||||
cp MOM_ITEM
|
||||
ret z
|
||||
ld de, Script_MomBoughtDoll
|
||||
ld de, .DollScript
|
||||
ret
|
||||
; fd0fd (3f:50fd)
|
||||
|
||||
Script_MomBoughtItem: ; 0xfd0fd
|
||||
.ItemScript: ; 0xfd0fd
|
||||
writetext _MomText_HiHowAreYou
|
||||
writetext _MomText_FoundAnItem
|
||||
writetext _MomText_BoughtWithYourMoney
|
||||
@@ -173,7 +173,7 @@ Script_MomBoughtItem: ; 0xfd0fd
|
||||
end
|
||||
; 0xfd10a
|
||||
|
||||
Script_MomBoughtDoll: ; 0xfd10a
|
||||
.DollScript: ; 0xfd10a
|
||||
writetext _MomText_HiHowAreYou
|
||||
writetext _MomText_FoundADoll
|
||||
writetext _MomText_BoughtWithYourMoney
|
||||
@@ -188,7 +188,7 @@ GetItemFromMom: ; fd117
|
||||
jr z, .zero
|
||||
dec a
|
||||
ld de, MomItems_1
|
||||
jr .incave
|
||||
jr .GetFromList1
|
||||
|
||||
.zero
|
||||
ld a, [wdc17]
|
||||
@@ -199,7 +199,7 @@ GetItemFromMom: ; fd117
|
||||
.ok
|
||||
ld de, MomItems_2
|
||||
|
||||
.incave
|
||||
.GetFromList1
|
||||
ld l, a
|
||||
ld h, 0
|
||||
rept 3 ; multiply hl by 8
|
||||
@@ -223,8 +223,6 @@ MomItems_1: ; fd136
|
||||
momitem 0, 180, MOM_ITEM, POKE_BALL
|
||||
momitem 0, 450, MOM_ITEM, ESCAPE_ROPE
|
||||
momitem 0, 500, MOM_ITEM, GREAT_BALL
|
||||
; fd15e
|
||||
|
||||
MomItems_2: ; fd15e
|
||||
momitem 900, 600, MOM_ITEM, SUPER_POTION
|
||||
momitem 4000, 270, MOM_ITEM, REPEL
|
||||
|
||||
@@ -22,7 +22,7 @@ MoveDeletion:
|
||||
call LoadStandardMenuDataHeader
|
||||
callba ChooseMoveToDelete
|
||||
push af
|
||||
call Function2b74
|
||||
call ReturnToMapWithSpeechTextbox
|
||||
pop af
|
||||
jr c, .asm_2c5c3
|
||||
ld a, [wMenuCursorY]
|
||||
|
||||
@@ -249,7 +249,7 @@ PhotoStudio: ; 16dc7
|
||||
call PrintText
|
||||
call DisableSpriteUpdates
|
||||
callba PrintPartymon
|
||||
call Function2b74
|
||||
call ReturnToMapWithSpeechTextbox
|
||||
ld a, [hPrinter]
|
||||
and a
|
||||
jr nz, .cancel
|
||||
|
||||
Reference in New Issue
Block a user