Events and some WRAM cleanup

This commit is contained in:
PikalaxALT
2015-12-18 20:07:09 -05:00
parent d644406f61
commit 3d36f1a837
60 changed files with 752 additions and 724 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -22,7 +22,7 @@ MoveDeletion:
call LoadStandardMenuDataHeader
callba ChooseMoveToDelete
push af
call Function2b74
call ReturnToMapWithSpeechTextbox
pop af
jr c, .asm_2c5c3
ld a, [wMenuCursorY]

View File

@@ -249,7 +249,7 @@ PhotoStudio: ; 16dc7
call PrintText
call DisableSpriteUpdates
callba PrintPartymon
call Function2b74
call ReturnToMapWithSpeechTextbox
ld a, [hPrinter]
and a
jr nz, .cancel