You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
Further split bank 4
This commit is contained in:
@@ -2889,7 +2889,7 @@ AskUseNextPokemon: ; 3d1f8
|
|||||||
|
|
||||||
ForcePlayerMonChoice: ; 3d227
|
ForcePlayerMonChoice: ; 3d227
|
||||||
call EmptyBattleTextBox
|
call EmptyBattleTextBox
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call Function3d2f7
|
call Function3d2f7
|
||||||
call ForcePickPartyMonInBattle
|
call ForcePickPartyMonInBattle
|
||||||
ld a, [wLinkMode]
|
ld a, [wLinkMode]
|
||||||
@@ -2996,7 +2996,7 @@ IsMobileBattle: ; 3d2f1
|
|||||||
|
|
||||||
Function3d2f7: ; 3d2f7
|
Function3d2f7: ; 3d2f7
|
||||||
call WhiteBGMap
|
call WhiteBGMap
|
||||||
Function3d2fa: ; 3d2fa
|
Function3d2fa: ; switch to fullscreen menu?
|
||||||
callba Function5004f
|
callba Function5004f
|
||||||
callba Function50405
|
callba Function50405
|
||||||
callba Function8e85
|
callba Function8e85
|
||||||
@@ -3415,7 +3415,7 @@ ResetEnemyBattleVars: ; 3d557
|
|||||||
ld a, $8
|
ld a, $8
|
||||||
call Function3d490
|
call Function3d490
|
||||||
call EmptyBattleTextBox
|
call EmptyBattleTextBox
|
||||||
jp LoadPartyMenuDataHeader
|
jp LoadStandardMenuDataHeader
|
||||||
; 3d57a
|
; 3d57a
|
||||||
|
|
||||||
ResetBattleParticipants: ; 3d57a
|
ResetBattleParticipants: ; 3d57a
|
||||||
@@ -5233,7 +5233,7 @@ BattleMenu_Pack: ; 3e1c7
|
|||||||
and a
|
and a
|
||||||
jp nz, ItemsCantBeUsed
|
jp nz, ItemsCantBeUsed
|
||||||
|
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
|
|
||||||
ld a, [BattleType]
|
ld a, [BattleType]
|
||||||
cp BATTLETYPE_TUTORIAL
|
cp BATTLETYPE_TUTORIAL
|
||||||
@@ -5328,10 +5328,10 @@ Function3e234: ; 3e234
|
|||||||
; 3e28d
|
; 3e28d
|
||||||
|
|
||||||
BattleMenu_PKMN: ; 3e28d
|
BattleMenu_PKMN: ; 3e28d
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
Function3e290:
|
Function3e290:
|
||||||
call ExitMenu
|
call ExitMenu
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call WhiteBGMap
|
call WhiteBGMap
|
||||||
Function3e299:
|
Function3e299:
|
||||||
call Function3d2fa
|
call Function3d2fa
|
||||||
@@ -5467,7 +5467,7 @@ PlayerSwitch: ; 3e3ad
|
|||||||
ld a, [wLinkMode]
|
ld a, [wLinkMode]
|
||||||
and a
|
and a
|
||||||
jr z, .not_linked
|
jr z, .not_linked
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call Function3e8e4
|
call Function3e8e4
|
||||||
call WriteBackup
|
call WriteBackup
|
||||||
|
|
||||||
|
@@ -8953,7 +8953,7 @@ BattleCommand_BatonPass: ; 379c9
|
|||||||
call DelayFrames
|
call DelayFrames
|
||||||
|
|
||||||
; Transition into switchmon menu
|
; Transition into switchmon menu
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
callba Function3d2f7
|
callba Function3d2f7
|
||||||
|
|
||||||
callba ForcePickSwitchMonInBattle
|
callba ForcePickSwitchMonInBattle
|
||||||
@@ -9027,7 +9027,7 @@ BatonPass_LinkPlayerSwitch: ; 37a67
|
|||||||
ld a, 1
|
ld a, 1
|
||||||
ld [wd0ec], a
|
ld [wd0ec], a
|
||||||
|
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Function3e8e4
|
ld hl, Function3e8e4
|
||||||
call CallBattleCore
|
call CallBattleCore
|
||||||
call WriteBackup
|
call WriteBackup
|
||||||
@@ -9043,7 +9043,7 @@ BatonPass_LinkEnemySwitch: ; 37a82
|
|||||||
and a
|
and a
|
||||||
ret z
|
ret z
|
||||||
|
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Function3e8e4
|
ld hl, Function3e8e4
|
||||||
call CallBattleCore
|
call CallBattleCore
|
||||||
|
|
||||||
|
@@ -45,7 +45,7 @@ const_value SET -1
|
|||||||
const PLAYEREVENT_4
|
const PLAYEREVENT_4
|
||||||
const PLAYEREVENT_WARP
|
const PLAYEREVENT_WARP
|
||||||
const PLAYEREVENT_FALL
|
const PLAYEREVENT_FALL
|
||||||
const PLAYEREVENT_7
|
const PLAYEREVENT_WHITEOUT
|
||||||
const PLAYEREVENT_HATCH
|
const PLAYEREVENT_HATCH
|
||||||
const PLAYEREVENT_9
|
const PLAYEREVENT_9
|
||||||
NUM_PLAYER_EVENTS EQU const_value
|
NUM_PLAYER_EVENTS EQU const_value
|
||||||
|
@@ -190,7 +190,7 @@ DoEggStep:: ; 16f3e
|
|||||||
|
|
||||||
OverworldHatchEgg:: ; 16f5e
|
OverworldHatchEgg:: ; 16f5e
|
||||||
call ResetWindow
|
call ResetWindow
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call Function16f70
|
call Function16f70
|
||||||
call Function2b4d
|
call Function2b4d
|
||||||
call RestartMapMusic
|
call RestartMapMusic
|
||||||
@@ -324,7 +324,7 @@ Function16f7a: ; 16f7a (5:6f7a)
|
|||||||
ld [MonType], a
|
ld [MonType], a
|
||||||
push de
|
push de
|
||||||
ld b, $0
|
ld b, $0
|
||||||
callba Function116c1
|
callba NamingScreen
|
||||||
pop hl
|
pop hl
|
||||||
ld de, StringBuffer1
|
ld de, StringBuffer1
|
||||||
call InitName
|
call InitName
|
||||||
|
@@ -38,7 +38,7 @@ RestartClock: ; 20021 (8:4021)
|
|||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
push af
|
push af
|
||||||
set NO_TEXT_SCROLL, [hl]
|
set NO_TEXT_SCROLL, [hl]
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
call ClearTileMap
|
call ClearTileMap
|
||||||
ld hl, .Text_SetWithControlPad
|
ld hl, .Text_SetWithControlPad
|
||||||
call PrintText
|
call PrintText
|
||||||
|
@@ -1078,7 +1078,7 @@ PlayerEventScriptPointers: ; 96c0c
|
|||||||
dba UnknownScript_0x96c4d ; 4
|
dba UnknownScript_0x96c4d ; 4
|
||||||
dba WarpToNewMapScript ; 5
|
dba WarpToNewMapScript ; 5
|
||||||
dba FallIntoMapScript ; 6
|
dba FallIntoMapScript ; 6
|
||||||
dba UnknownScript_0x124c8 ; 7
|
dba Script_OverworldWhiteout ; 7
|
||||||
dba HatchEggScript ; 8
|
dba HatchEggScript ; 8
|
||||||
dba UnknownScript_0x96c4f ; 9
|
dba UnknownScript_0x96c4f ; 9
|
||||||
dba Invalid_0x96c2d ; 10
|
dba Invalid_0x96c2d ; 10
|
||||||
|
@@ -161,7 +161,7 @@ Function4e703: ; 4e703
|
|||||||
Function4e708: ; 4e708
|
Function4e708: ; 4e708
|
||||||
call GetBaseData
|
call GetBaseData
|
||||||
hlcoord 7, 2
|
hlcoord 7, 2
|
||||||
jp Function3786
|
jp PrepMonFrontpic
|
||||||
; 4e711
|
; 4e711
|
||||||
|
|
||||||
Function4e711: ; 4e711
|
Function4e711: ; 4e711
|
||||||
|
266
engine/healmachineanim.asm
Executable file
266
engine/healmachineanim.asm
Executable file
@@ -0,0 +1,266 @@
|
|||||||
|
HealMachineAnim: ; 12324
|
||||||
|
; If you have no Pokemon, don't change the buffer. This can lead to some glitchy effects if you have no Pokemon.
|
||||||
|
ld a, [PartyCount]
|
||||||
|
and a
|
||||||
|
ret z
|
||||||
|
; The location of the healing machine relative to the player is stored in ScriptVar.
|
||||||
|
; 0: Up and left (Pokemon Center)
|
||||||
|
; 1: Left (Elm's Lab)
|
||||||
|
; 2: Up (Hall of Fame)
|
||||||
|
ld a, [ScriptVar]
|
||||||
|
ld [Buffer1], a
|
||||||
|
ld a, [rOBP1]
|
||||||
|
ld [Buffer2], a
|
||||||
|
call .DoJumptableFunctions
|
||||||
|
ld a, [Buffer2]
|
||||||
|
call Functiond24
|
||||||
|
ret
|
||||||
|
; 1233e
|
||||||
|
|
||||||
|
.DoJumptableFunctions: ; 1233e
|
||||||
|
xor a
|
||||||
|
ld [wd1ec], a
|
||||||
|
.jumpable_loop
|
||||||
|
ld a, [Buffer1]
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, .Pointers
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
ld a, [wd1ec]
|
||||||
|
ld e, a
|
||||||
|
inc a
|
||||||
|
ld [wd1ec], a
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
cp 5
|
||||||
|
jr z, .finish
|
||||||
|
ld hl, .Jumptable
|
||||||
|
rst JumpTable
|
||||||
|
jr .jumpable_loop
|
||||||
|
|
||||||
|
.finish
|
||||||
|
ret
|
||||||
|
; 12365
|
||||||
|
|
||||||
|
.Pointers: ; 12365
|
||||||
|
dw .Pokecenter
|
||||||
|
dw .ElmLab
|
||||||
|
dw .HallOfFame
|
||||||
|
; 1236b
|
||||||
|
|
||||||
|
.Pokecenter: ; 1236b
|
||||||
|
db 0, 1, 3, 5
|
||||||
|
.ElmLab: ; 1236f
|
||||||
|
db 0, 1, 3, 5
|
||||||
|
.HallOfFame: ; 12373
|
||||||
|
db 0, 2, 4, 5
|
||||||
|
; 12377
|
||||||
|
|
||||||
|
.Jumptable: ; 12377
|
||||||
|
dw .LoadGFX
|
||||||
|
dw .PC_LoadBallsOntoMachine
|
||||||
|
dw .HOF_LoadBallsOntoMachine
|
||||||
|
dw .PlayHealMusic
|
||||||
|
dw .HOF_PlaySFX
|
||||||
|
dw .dummy_5 ; never encountered
|
||||||
|
; 12383
|
||||||
|
|
||||||
|
.LoadGFX: ; 12383
|
||||||
|
call .LoadPalettes
|
||||||
|
ld de, .HealMachineGFX
|
||||||
|
ld hl, VTiles0 tile $7c
|
||||||
|
lb bc, BANK(.HealMachineGFX), $2
|
||||||
|
call Request2bpp
|
||||||
|
ret
|
||||||
|
; 12393
|
||||||
|
|
||||||
|
.PC_LoadBallsOntoMachine: ; 12393
|
||||||
|
ld hl, Sprites + $80
|
||||||
|
ld de, .PC_ElmsLab_TileMap
|
||||||
|
call .PlaceHealingMachineTile
|
||||||
|
call .PlaceHealingMachineTile
|
||||||
|
jr .LoadBallsOntoMachine
|
||||||
|
|
||||||
|
.HOF_LoadBallsOntoMachine: ; 123a1
|
||||||
|
ld hl, Sprites + $80
|
||||||
|
ld de, .HOF_TileMap
|
||||||
|
|
||||||
|
.LoadBallsOntoMachine: ; 123a7
|
||||||
|
ld a, [PartyCount]
|
||||||
|
ld b, a
|
||||||
|
.party_loop
|
||||||
|
call .PlaceHealingMachineTile
|
||||||
|
push de
|
||||||
|
ld de, SFX_SECOND_PART_OF_ITEMFINDER
|
||||||
|
call PlaySFX
|
||||||
|
pop de
|
||||||
|
ld c, 30
|
||||||
|
call DelayFrames
|
||||||
|
dec b
|
||||||
|
jr nz, .party_loop
|
||||||
|
ret
|
||||||
|
; 123bf
|
||||||
|
|
||||||
|
.PlayHealMusic: ; 123bf
|
||||||
|
ld de, MUSIC_HEAL
|
||||||
|
call PlayMusic
|
||||||
|
jp .FlashPalettes8Times
|
||||||
|
; 123c8
|
||||||
|
|
||||||
|
.HOF_PlaySFX: ; 123c8
|
||||||
|
ld de, SFX_GAME_FREAK_LOGO_GS
|
||||||
|
call PlaySFX
|
||||||
|
call .FlashPalettes8Times
|
||||||
|
call WaitSFX
|
||||||
|
ld de, SFX_BOOT_PC
|
||||||
|
call PlaySFX
|
||||||
|
ret
|
||||||
|
; 123db
|
||||||
|
|
||||||
|
.dummy_5: ; 123db
|
||||||
|
ret
|
||||||
|
; 123dc
|
||||||
|
|
||||||
|
.PC_ElmsLab_TileMap: ; 123dc
|
||||||
|
db $20, $22, $7c, $16
|
||||||
|
db $20, $26, $7c, $16
|
||||||
|
db $26, $20, $7d, $16
|
||||||
|
db $26, $28, $7d, $36
|
||||||
|
db $2b, $20, $7d, $16
|
||||||
|
db $2b, $28, $7d, $36
|
||||||
|
db $30, $20, $7d, $16
|
||||||
|
db $30, $28, $7d, $36
|
||||||
|
; 123fc
|
||||||
|
|
||||||
|
.HealMachineGFX: ; 123fc
|
||||||
|
INCBIN "gfx/unknown/0123fc.2bpp"
|
||||||
|
; 1241c
|
||||||
|
|
||||||
|
.HOF_TileMap: ; 1241c
|
||||||
|
db $3c, $51, $7d, $16
|
||||||
|
db $3c, $56, $7d, $16
|
||||||
|
db $3b, $4d, $7d, $16
|
||||||
|
db $3b, $5a, $7d, $16
|
||||||
|
db $39, $49, $7d, $16
|
||||||
|
db $39, $5d, $7d, $16
|
||||||
|
; 12434
|
||||||
|
|
||||||
|
.LoadPalettes: ; 12434
|
||||||
|
call IsCGB
|
||||||
|
jr nz, .cgb
|
||||||
|
ld a, %11100000
|
||||||
|
ld [rOBP1], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.cgb
|
||||||
|
ld hl, .palettes
|
||||||
|
ld de, OBPals + 8 * 6
|
||||||
|
ld bc, 8
|
||||||
|
ld a, $5
|
||||||
|
call FarCopyWRAM
|
||||||
|
ld a, $1
|
||||||
|
ld [hCGBPalUpdate], a
|
||||||
|
ret
|
||||||
|
; 12451
|
||||||
|
|
||||||
|
.palettes: ; 12451
|
||||||
|
RGB 31, 31, 31
|
||||||
|
RGB 31, 19, 10
|
||||||
|
RGB 31, 07, 01
|
||||||
|
RGB 00, 00, 00
|
||||||
|
; 12459
|
||||||
|
|
||||||
|
.FlashPalettes8Times: ; 12459
|
||||||
|
ld c, $8
|
||||||
|
.palette_loop
|
||||||
|
push bc
|
||||||
|
call .FlashPalettes
|
||||||
|
ld c, 10
|
||||||
|
call DelayFrames
|
||||||
|
pop bc
|
||||||
|
dec c
|
||||||
|
jr nz, .palette_loop
|
||||||
|
ret
|
||||||
|
; 12469
|
||||||
|
|
||||||
|
.FlashPalettes: ; 12469
|
||||||
|
call IsCGB
|
||||||
|
jr nz, .go
|
||||||
|
ld a, [rOBP1]
|
||||||
|
xor %00101000
|
||||||
|
ld [rOBP1], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.go
|
||||||
|
ld a, [rSVBK]
|
||||||
|
push af
|
||||||
|
ld a, $5
|
||||||
|
ld [rSVBK], a
|
||||||
|
|
||||||
|
ld hl, OBPals + 8 * 6
|
||||||
|
ld a, [hli]
|
||||||
|
ld e, a
|
||||||
|
ld a, [hli]
|
||||||
|
ld d, a
|
||||||
|
push de
|
||||||
|
ld c, $3
|
||||||
|
.palette_loop_2
|
||||||
|
ld a, [hli]
|
||||||
|
ld e, a
|
||||||
|
ld a, [hld]
|
||||||
|
ld d, a
|
||||||
|
dec hl
|
||||||
|
ld a, d
|
||||||
|
ld [hld], a
|
||||||
|
ld a, e
|
||||||
|
ld [hli], a
|
||||||
|
rept 3
|
||||||
|
inc hl
|
||||||
|
endr
|
||||||
|
dec c
|
||||||
|
jr nz, .palette_loop_2
|
||||||
|
pop de
|
||||||
|
dec hl
|
||||||
|
ld a, d
|
||||||
|
ld [hld], a
|
||||||
|
ld a, e
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
pop af
|
||||||
|
ld [rSVBK], a
|
||||||
|
ld a, $1
|
||||||
|
ld [hCGBPalUpdate], a
|
||||||
|
ret
|
||||||
|
; 124a3
|
||||||
|
|
||||||
|
.PlaceHealingMachineTile: ; 124a3
|
||||||
|
push bc
|
||||||
|
ld a, [Buffer1]
|
||||||
|
lb bc, $10, $20
|
||||||
|
cp $1 ; ElmsLab
|
||||||
|
jr z, .okay
|
||||||
|
lb bc, $00, $00
|
||||||
|
|
||||||
|
.okay
|
||||||
|
ld a, [de]
|
||||||
|
add c
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
add b
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
pop bc
|
||||||
|
ret
|
||||||
|
; 124c1
|
@@ -1676,7 +1676,7 @@ Function28b87: ; 28b87
|
|||||||
ld hl, UnknownText_0x28eb8
|
ld hl, UnknownText_0x28eb8
|
||||||
bccoord 1, 14
|
bccoord 1, 14
|
||||||
call PlaceWholeStringInBoxAtOnce
|
call PlaceWholeStringInBoxAtOnce
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
hlcoord 10, 7
|
hlcoord 10, 7
|
||||||
ld b, $3
|
ld b, $3
|
||||||
ld c, $7
|
ld c, $7
|
||||||
|
@@ -36,7 +36,7 @@ MartDialog: ; 15a61
|
|||||||
|
|
||||||
HerbShop: ; 15a6e
|
HerbShop: ; 15a6e
|
||||||
call FarReadMart
|
call FarReadMart
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Text_HerbShop_Intro
|
ld hl, Text_HerbShop_Intro
|
||||||
call MartTextBox
|
call MartTextBox
|
||||||
call BuyMenu
|
call BuyMenu
|
||||||
@@ -50,7 +50,7 @@ BargainShop: ; 15a84
|
|||||||
ld de, BargainShopData
|
ld de, BargainShopData
|
||||||
call LoadMartPointer
|
call LoadMartPointer
|
||||||
call ReadMart
|
call ReadMart
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Text_BargainShop_Intro
|
ld hl, Text_BargainShop_Intro
|
||||||
call MartTextBox
|
call MartTextBox
|
||||||
call BuyMenu
|
call BuyMenu
|
||||||
@@ -69,7 +69,7 @@ BargainShop: ; 15a84
|
|||||||
|
|
||||||
Pharmacist: ; 15aae
|
Pharmacist: ; 15aae
|
||||||
call FarReadMart
|
call FarReadMart
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, UnknownText_0x15e90
|
ld hl, UnknownText_0x15e90
|
||||||
call MartTextBox
|
call MartTextBox
|
||||||
call BuyMenu
|
call BuyMenu
|
||||||
@@ -90,7 +90,7 @@ RooftopSale: ; 15ac4
|
|||||||
.ok
|
.ok
|
||||||
call LoadMartPointer
|
call LoadMartPointer
|
||||||
call ReadMart
|
call ReadMart
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Text_Mart_HowMayIHelpYou
|
ld hl, Text_Mart_HowMayIHelpYou
|
||||||
call MartTextBox
|
call MartTextBox
|
||||||
call BuyMenu
|
call BuyMenu
|
||||||
@@ -175,7 +175,7 @@ StandardMart: ; 15b47
|
|||||||
; 15b62
|
; 15b62
|
||||||
|
|
||||||
.HowMayIHelpYou: ; 15b62
|
.HowMayIHelpYou: ; 15b62
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Text_Mart_HowMayIHelpYou
|
ld hl, Text_Mart_HowMayIHelpYou
|
||||||
call PrintText
|
call PrintText
|
||||||
ld a, $1 ; top menu
|
ld a, $1 ; top menu
|
||||||
@@ -183,7 +183,7 @@ StandardMart: ; 15b47
|
|||||||
; 15b6e
|
; 15b6e
|
||||||
|
|
||||||
.TopMenu: ; 15b6e
|
.TopMenu: ; 15b6e
|
||||||
ld hl, MenuDataHeader_0x15f88
|
ld hl, MenuDataHeader_BuySell
|
||||||
call CopyMenuDataHeader
|
call CopyMenuDataHeader
|
||||||
call InterpretMenu2
|
call InterpretMenu2
|
||||||
jr c, .quit
|
jr c, .quit
|
||||||
@@ -228,7 +228,7 @@ StandardMart: ; 15b47
|
|||||||
; 15baf
|
; 15baf
|
||||||
|
|
||||||
.AnythingElse: ; 15baf
|
.AnythingElse: ; 15baf
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
ld hl, Text_Mart_AnythingElse
|
ld hl, Text_Mart_AnythingElse
|
||||||
call PrintText
|
call PrintText
|
||||||
ld a, $1 ; top menu
|
ld a, $1 ; top menu
|
||||||
@@ -472,7 +472,7 @@ endr
|
|||||||
BuyMenuLoop: ; 15cef
|
BuyMenuLoop: ; 15cef
|
||||||
callba Function24ae8
|
callba Function24ae8
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
ld hl, MenuDataHeader_0x15e18
|
ld hl, MenuDataHeader_Buy
|
||||||
call CopyMenuDataHeader
|
call CopyMenuDataHeader
|
||||||
ld a, [wd045]
|
ld a, [wd045]
|
||||||
ld [wMenuCursorBuffer], a
|
ld [wMenuCursorBuffer], a
|
||||||
@@ -643,19 +643,19 @@ Text_Mart_CostsThisMuch: ; 0x15e13
|
|||||||
db "@"
|
db "@"
|
||||||
; 0x15e18
|
; 0x15e18
|
||||||
|
|
||||||
MenuDataHeader_0x15e18: ; 0x15e18
|
MenuDataHeader_Buy: ; 0x15e18
|
||||||
db $40 ; flags
|
db $40 ; flags
|
||||||
db 03, 01 ; start coords
|
db 03, 01 ; start coords
|
||||||
db 11, 19 ; end coords
|
db 11, 19 ; end coords
|
||||||
dw MenuData2_0x15e20
|
dw .menudata2
|
||||||
db 1 ; default option
|
db 1 ; default option
|
||||||
; 0x15e20
|
; 0x15e20
|
||||||
|
|
||||||
MenuData2_0x15e20: ; 0x15e20
|
.menudata2: ; 0x15e20
|
||||||
db $30 ; flags
|
db $30 ; pointers
|
||||||
db 4, 8 ; rows, columns
|
db 4, 8 ; rows, columns
|
||||||
db 1 ; horizontal spacing
|
db 1 ; horizontal spacing
|
||||||
dbw 0, OBPals + 8 * 6
|
dbw 0, CurMart
|
||||||
dba PlaceMenuItemName
|
dba PlaceMenuItemName
|
||||||
dba .PrintBCDPrices
|
dba .PrintBCDPrices
|
||||||
dba Function244c3
|
dba Function244c3
|
||||||
@@ -929,16 +929,16 @@ Text_Mart_HowMayIHelpYou: ; 0x15f83
|
|||||||
db "@"
|
db "@"
|
||||||
; 0x15f88
|
; 0x15f88
|
||||||
|
|
||||||
MenuDataHeader_0x15f88: ; 0x15f88
|
MenuDataHeader_BuySell: ; 0x15f88
|
||||||
db $40 ; flags
|
db $40 ; flags
|
||||||
db 00, 00 ; start coords
|
db 00, 00 ; start coords
|
||||||
db 08, 07 ; end coords
|
db 08, 07 ; end coords
|
||||||
dw MenuData2_0x15f90
|
dw .menudata2
|
||||||
db 1 ; default option
|
db 1 ; default option
|
||||||
; 0x15f90
|
; 0x15f90
|
||||||
|
|
||||||
MenuData2_0x15f90: ; 0x15f90
|
.menudata2: ; 0x15f90
|
||||||
db $80 ; flags
|
db $80 ; strings
|
||||||
db 3 ; items
|
db 3 ; items
|
||||||
db "BUY@"
|
db "BUY@"
|
||||||
db "SELL@"
|
db "SELL@"
|
||||||
|
959
engine/namingscreen.asm
Executable file
959
engine/namingscreen.asm
Executable file
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
Function14a1a: ; 14a1a
|
Function14a1a: ; 14a1a
|
||||||
call LoadPartyMenuDataHeader
|
call LoadStandardMenuDataHeader
|
||||||
callba Function5e9a
|
callba Function5e9a
|
||||||
call SpeechTextBox
|
call SpeechTextBox
|
||||||
call UpdateSprites
|
call UpdateSprites
|
||||||
|
@@ -1560,8 +1560,8 @@ Script_returnafterbattle: ; 0x97459
|
|||||||
and $3f
|
and $3f
|
||||||
cp $1
|
cp $1
|
||||||
jr nz, .notblackedout ; 0x97466 $8
|
jr nz, .notblackedout ; 0x97466 $8
|
||||||
ld b, BANK(UnknownScript_0x124c1)
|
ld b, BANK(Script_BattleWhiteout)
|
||||||
ld hl, UnknownScript_0x124c1
|
ld hl, Script_BattleWhiteout
|
||||||
jp ScriptJump
|
jp ScriptJump
|
||||||
|
|
||||||
.notblackedout
|
.notblackedout
|
||||||
@@ -2884,9 +2884,9 @@ Script_blackoutmod: ; 0x97a78
|
|||||||
; map_id (MapIdParam)
|
; map_id (MapIdParam)
|
||||||
|
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
ld [wdcb2], a
|
ld [wLastSpawnMapGroup], a
|
||||||
call GetScriptByte
|
call GetScriptByte
|
||||||
ld [wdcb3], a
|
ld [wLastSpawnMapNumber], a
|
||||||
ret
|
ret
|
||||||
; 0x97a85
|
; 0x97a85
|
||||||
|
|
||||||
|
191
engine/selectmenu.asm
Executable file
191
engine/selectmenu.asm
Executable file
@@ -0,0 +1,191 @@
|
|||||||
|
SelectMenu:: ; 13327
|
||||||
|
|
||||||
|
call CheckRegisteredItem
|
||||||
|
jr c, .NotRegistered
|
||||||
|
jp UseRegisteredItem
|
||||||
|
|
||||||
|
.NotRegistered
|
||||||
|
call LoadFont
|
||||||
|
ld b, BANK(ItemMayBeRegisteredText)
|
||||||
|
ld hl, ItemMayBeRegisteredText
|
||||||
|
call MapTextbox
|
||||||
|
call CloseText
|
||||||
|
jp LoadMoveSprites
|
||||||
|
; 13340
|
||||||
|
|
||||||
|
|
||||||
|
ItemMayBeRegisteredText: ; 13340
|
||||||
|
text_jump UnknownText_0x1c1cf3
|
||||||
|
db "@"
|
||||||
|
; 13345
|
||||||
|
|
||||||
|
|
||||||
|
CheckRegisteredItem: ; 13345
|
||||||
|
|
||||||
|
ld a, [WhichRegisteredItem]
|
||||||
|
and a
|
||||||
|
jr z, .NoRegisteredItem
|
||||||
|
and REGISTERED_POCKET
|
||||||
|
rlca
|
||||||
|
rlca
|
||||||
|
ld hl, .Pockets
|
||||||
|
rst JumpTable
|
||||||
|
ret
|
||||||
|
|
||||||
|
.Pockets
|
||||||
|
dw .CheckItem
|
||||||
|
dw .CheckBall
|
||||||
|
dw .CheckKeyItem
|
||||||
|
dw .CheckTMHM
|
||||||
|
|
||||||
|
.CheckItem
|
||||||
|
ld hl, NumItems
|
||||||
|
call .CheckRegisteredNo
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
inc hl
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
call .IsSameItem
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckKeyItem
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
ld hl, KeyItems
|
||||||
|
ld de, 1
|
||||||
|
call IsInArray
|
||||||
|
jr nc, .NoRegisteredItem
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
ld [CurItem], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckBall
|
||||||
|
ld hl, NumBalls
|
||||||
|
call .CheckRegisteredNo
|
||||||
|
jr nc, .NoRegisteredItem
|
||||||
|
inc hl
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
call .IsSameItem
|
||||||
|
jr c, .NoRegisteredItem
|
||||||
|
ret
|
||||||
|
|
||||||
|
.CheckTMHM
|
||||||
|
jr .NoRegisteredItem
|
||||||
|
|
||||||
|
.NoRegisteredItem
|
||||||
|
xor a
|
||||||
|
ld [WhichRegisteredItem], a
|
||||||
|
ld [RegisteredItem], a
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133a6
|
||||||
|
|
||||||
|
|
||||||
|
.CheckRegisteredNo ; 133a6
|
||||||
|
ld a, [WhichRegisteredItem]
|
||||||
|
and REGISTERED_NUMBER
|
||||||
|
dec a
|
||||||
|
cp [hl]
|
||||||
|
jr nc, .NotEnoughItems
|
||||||
|
ld [wd107], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.NotEnoughItems
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133b6
|
||||||
|
|
||||||
|
|
||||||
|
.IsSameItem ; 133b6
|
||||||
|
ld a, [RegisteredItem]
|
||||||
|
cp [hl]
|
||||||
|
jr nz, .NotSameItem
|
||||||
|
ld [CurItem], a
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.NotSameItem
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 133c3
|
||||||
|
|
||||||
|
|
||||||
|
UseRegisteredItem: ; 133c3
|
||||||
|
|
||||||
|
callba CheckItemMenu
|
||||||
|
ld a, [wItemAttributeParamBuffer]
|
||||||
|
ld hl, .SwitchTo
|
||||||
|
rst JumpTable
|
||||||
|
ret
|
||||||
|
|
||||||
|
.SwitchTo
|
||||||
|
dw .CantUse
|
||||||
|
dw .NoFunction
|
||||||
|
dw .NoFunction
|
||||||
|
dw .NoFunction
|
||||||
|
dw .Current
|
||||||
|
dw .Party
|
||||||
|
dw .Overworld
|
||||||
|
; 133df
|
||||||
|
|
||||||
|
.NoFunction ; 133df
|
||||||
|
call LoadFont
|
||||||
|
call CantUseItem
|
||||||
|
call LoadMoveSprites
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 133ea
|
||||||
|
|
||||||
|
.Current ; 133ea
|
||||||
|
call LoadFont
|
||||||
|
call DoItemEffect
|
||||||
|
call LoadMoveSprites
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 133f5
|
||||||
|
|
||||||
|
.Party ; 133f5
|
||||||
|
call ResetWindow
|
||||||
|
call FadeToMenu
|
||||||
|
call DoItemEffect
|
||||||
|
call Function2b3c
|
||||||
|
call LoadMoveSprites
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 13406
|
||||||
|
|
||||||
|
.Overworld ; 13406
|
||||||
|
call ResetWindow
|
||||||
|
ld a, 1
|
||||||
|
ld [wd0ef], a
|
||||||
|
call DoItemEffect
|
||||||
|
xor a
|
||||||
|
ld [wd0ef], a
|
||||||
|
ld a, [wd0ec]
|
||||||
|
cp 1
|
||||||
|
jr nz, ._cantuse
|
||||||
|
scf
|
||||||
|
ld a, HMENURETURN_SCRIPT
|
||||||
|
ld [hMenuReturn], a
|
||||||
|
ret
|
||||||
|
; 13422
|
||||||
|
|
||||||
|
.CantUse ; 13422
|
||||||
|
call ResetWindow
|
||||||
|
|
||||||
|
._cantuse
|
||||||
|
call CantUseItem
|
||||||
|
call LoadMoveSprites
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
; 1342d
|
@@ -42,7 +42,7 @@ SpecialsPointers:: ; c029
|
|||||||
; Map Events
|
; Map Events
|
||||||
add_special BugContestJudging
|
add_special BugContestJudging
|
||||||
add_special CheckPartyFullAfterContest
|
add_special CheckPartyFullAfterContest
|
||||||
add_special CheckFirstMonFainted
|
add_special ContestDropOffMons
|
||||||
add_special ContestReturnMons
|
add_special ContestReturnMons
|
||||||
add_special Special_GiveParkBalls
|
add_special Special_GiveParkBalls
|
||||||
add_special Special_CheckMagikarpLength
|
add_special Special_CheckMagikarpLength
|
||||||
|
1970
engine/startmenu.asm
Executable file
1970
engine/startmenu.asm
Executable file
File diff suppressed because it is too large
Load Diff
113
engine/tmhm.asm
Executable file
113
engine/tmhm.asm
Executable file
@@ -0,0 +1,113 @@
|
|||||||
|
CanLearnTMHMMove: ; 11639
|
||||||
|
ld a, [CurPartySpecies]
|
||||||
|
ld [CurSpecies], a
|
||||||
|
call GetBaseData
|
||||||
|
ld hl, BaseTMHM
|
||||||
|
push hl
|
||||||
|
|
||||||
|
ld a, [wd262]
|
||||||
|
ld b, a
|
||||||
|
ld c, 0
|
||||||
|
ld hl, TMHMMoves
|
||||||
|
.loop
|
||||||
|
ld a, [hli]
|
||||||
|
and a
|
||||||
|
jr z, .end
|
||||||
|
cp b
|
||||||
|
jr z, .asm_11659
|
||||||
|
inc c
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.asm_11659
|
||||||
|
pop hl
|
||||||
|
ld b, CHECK_FLAG
|
||||||
|
push de
|
||||||
|
ld d, 0
|
||||||
|
predef FlagPredef
|
||||||
|
pop de
|
||||||
|
ret
|
||||||
|
|
||||||
|
.end
|
||||||
|
pop hl
|
||||||
|
ld c, 0
|
||||||
|
ret
|
||||||
|
; 1166a
|
||||||
|
|
||||||
|
GetTMHMMove: ; 1166a
|
||||||
|
ld a, [wd265]
|
||||||
|
dec a
|
||||||
|
ld hl, TMHMMoves
|
||||||
|
ld b, 0
|
||||||
|
ld c, a
|
||||||
|
add hl, bc
|
||||||
|
ld a, [hl]
|
||||||
|
ld [wd265], a
|
||||||
|
ret
|
||||||
|
; 1167a
|
||||||
|
|
||||||
|
TMHMMoves: ; 1167a
|
||||||
|
db DYNAMICPUNCH
|
||||||
|
db HEADBUTT
|
||||||
|
db CURSE
|
||||||
|
db ROLLOUT
|
||||||
|
db ROAR
|
||||||
|
db TOXIC
|
||||||
|
db ZAP_CANNON
|
||||||
|
db ROCK_SMASH
|
||||||
|
db PSYCH_UP
|
||||||
|
db HIDDEN_POWER
|
||||||
|
db SUNNY_DAY
|
||||||
|
db SWEET_SCENT
|
||||||
|
db SNORE
|
||||||
|
db BLIZZARD
|
||||||
|
db HYPER_BEAM
|
||||||
|
db ICY_WIND
|
||||||
|
db PROTECT
|
||||||
|
db RAIN_DANCE
|
||||||
|
db GIGA_DRAIN
|
||||||
|
db ENDURE
|
||||||
|
db FRUSTRATION
|
||||||
|
db SOLARBEAM
|
||||||
|
db IRON_TAIL
|
||||||
|
db DRAGONBREATH
|
||||||
|
db THUNDER
|
||||||
|
db EARTHQUAKE
|
||||||
|
db RETURN
|
||||||
|
db DIG
|
||||||
|
db PSYCHIC_M
|
||||||
|
db SHADOW_BALL
|
||||||
|
db MUD_SLAP
|
||||||
|
db DOUBLE_TEAM
|
||||||
|
db ICE_PUNCH
|
||||||
|
db SWAGGER
|
||||||
|
db SLEEP_TALK
|
||||||
|
db SLUDGE_BOMB
|
||||||
|
db SANDSTORM
|
||||||
|
db FIRE_BLAST
|
||||||
|
db SWIFT
|
||||||
|
db DEFENSE_CURL
|
||||||
|
db THUNDERPUNCH
|
||||||
|
db DREAM_EATER
|
||||||
|
db DETECT
|
||||||
|
db REST
|
||||||
|
db ATTRACT
|
||||||
|
db THIEF
|
||||||
|
db STEEL_WING
|
||||||
|
db FIRE_PUNCH
|
||||||
|
db FURY_CUTTER
|
||||||
|
db NIGHTMARE
|
||||||
|
db CUT
|
||||||
|
db FLY
|
||||||
|
db SURF
|
||||||
|
db STRENGTH
|
||||||
|
db FLASH
|
||||||
|
db WHIRLPOOL
|
||||||
|
db WATERFALL
|
||||||
|
|
||||||
|
; Move tutor
|
||||||
|
db FLAMETHROWER
|
||||||
|
db THUNDERBOLT
|
||||||
|
db ICE_BEAM
|
||||||
|
|
||||||
|
db 0 ; end
|
||||||
|
; 116b7
|
136
event/bug_contest_2.asm
Executable file
136
event/bug_contest_2.asm
Executable file
@@ -0,0 +1,136 @@
|
|||||||
|
Special_SelectRandomBugContestContestants: ; 139a8
|
||||||
|
; Select five random people to participate in the current contest.
|
||||||
|
|
||||||
|
; First we have to make sure that any old data is cleared away.
|
||||||
|
ld c, 10 ; Number of people to choose from.
|
||||||
|
ld hl, BugCatchingContestantEventFlagTable
|
||||||
|
.loop1
|
||||||
|
push bc
|
||||||
|
push hl
|
||||||
|
ld e, [hl]
|
||||||
|
inc hl
|
||||||
|
ld d, [hl]
|
||||||
|
ld b, RESET_FLAG
|
||||||
|
call EventFlagAction
|
||||||
|
pop hl
|
||||||
|
rept 2
|
||||||
|
inc hl
|
||||||
|
endr
|
||||||
|
pop bc
|
||||||
|
dec c
|
||||||
|
jr nz, .loop1
|
||||||
|
|
||||||
|
; Now that that's out of the way, we can get on to the good stuff.
|
||||||
|
ld c, 5
|
||||||
|
.loop2
|
||||||
|
push bc
|
||||||
|
.next
|
||||||
|
; Choose a flag at uniform random to be set.
|
||||||
|
call Random
|
||||||
|
cp $fa ; 250
|
||||||
|
jr nc, .next
|
||||||
|
ld c, $19 ; 25
|
||||||
|
call SimpleDivide
|
||||||
|
ld e, b
|
||||||
|
ld d, 0
|
||||||
|
ld hl, BugCatchingContestantEventFlagTable
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
ld e, [hl]
|
||||||
|
inc hl
|
||||||
|
ld d, [hl]
|
||||||
|
push de
|
||||||
|
; If we've already set it, it doesn't count.
|
||||||
|
ld b, CHECK_FLAG
|
||||||
|
call EventFlagAction
|
||||||
|
pop de
|
||||||
|
ld a, c
|
||||||
|
and a
|
||||||
|
jr nz, .next
|
||||||
|
; Set the flag. This will cause that sprite to not be visible in the contest.
|
||||||
|
ld b, SET_FLAG
|
||||||
|
call EventFlagAction
|
||||||
|
pop bc
|
||||||
|
; Check if we're done. If so, return. Otherwise, choose the next victim.
|
||||||
|
dec c
|
||||||
|
jr nz, .loop2
|
||||||
|
ret
|
||||||
|
; 139ed
|
||||||
|
|
||||||
|
Special_CheckBugContestContestantFlag: ; 139ed
|
||||||
|
; Checks the flag of the Bug Catching Contestant whose index is loaded in a.
|
||||||
|
|
||||||
|
; Bug: If a >= 10 when this is called, it will read beyond the table.
|
||||||
|
|
||||||
|
ld hl, BugCatchingContestantEventFlagTable
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
ld e, [hl]
|
||||||
|
inc hl
|
||||||
|
ld d, [hl]
|
||||||
|
ld b, CHECK_FLAG
|
||||||
|
call EventFlagAction
|
||||||
|
ret
|
||||||
|
; 139fe
|
||||||
|
|
||||||
|
BugCatchingContestantEventFlagTable: ; 139fe
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_1A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_2A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_3A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_4A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_5A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_6A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_7A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_8A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_9A
|
||||||
|
dw EVENT_BUG_CATCHING_CONTESTANT_10A
|
||||||
|
; 13a12
|
||||||
|
|
||||||
|
ContestDropOffMons: ; 13a12
|
||||||
|
ld hl, PartyMon1HP
|
||||||
|
ld a, [hli]
|
||||||
|
or [hl]
|
||||||
|
jr z, .fainted
|
||||||
|
; Mask the rest of your party by setting the count to 1...
|
||||||
|
ld hl, PartyCount
|
||||||
|
ld a, 1
|
||||||
|
ld [hli], a
|
||||||
|
inc hl
|
||||||
|
; ... backing up the second mon index somewhere...
|
||||||
|
ld a, [hl]
|
||||||
|
ld [wBugContestSecondPartySpecies], a
|
||||||
|
; ... and replacing it with the terminator byte
|
||||||
|
ld [hl], $ff
|
||||||
|
xor a
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.fainted
|
||||||
|
ld a, $1
|
||||||
|
ld [ScriptVar], a
|
||||||
|
ret
|
||||||
|
; 13a31
|
||||||
|
|
||||||
|
ContestReturnMons: ; 13a31
|
||||||
|
; Restore the species of the second mon.
|
||||||
|
ld hl, PartySpecies + 1
|
||||||
|
ld a, [wBugContestSecondPartySpecies]
|
||||||
|
ld [hl], a
|
||||||
|
; Restore the party count, which must be recomputed.
|
||||||
|
ld b, $1
|
||||||
|
.loop
|
||||||
|
ld a, [hli]
|
||||||
|
cp $ff
|
||||||
|
jr z, .done
|
||||||
|
inc b
|
||||||
|
jr .loop
|
||||||
|
|
||||||
|
.done
|
||||||
|
ld a, b
|
||||||
|
ld [PartyCount], a
|
||||||
|
ret
|
||||||
|
; 13a47
|
480
event/bug_contest_judging.asm
Executable file
480
event/bug_contest_judging.asm
Executable file
@@ -0,0 +1,480 @@
|
|||||||
|
_BugContestJudging: ; 1369d
|
||||||
|
call ContestScore
|
||||||
|
callba MobileFn_105f79
|
||||||
|
call Function13819
|
||||||
|
ld a, [wd00a]
|
||||||
|
call LoadContestantName
|
||||||
|
ld a, [wd00b]
|
||||||
|
ld [wd265], a
|
||||||
|
call GetPokemonName
|
||||||
|
ld hl, BugContest_ThirdPlaceText
|
||||||
|
call PrintText
|
||||||
|
ld a, [EndFlypoint]
|
||||||
|
call LoadContestantName
|
||||||
|
ld a, [MovementBuffer]
|
||||||
|
ld [wd265], a
|
||||||
|
call GetPokemonName
|
||||||
|
ld hl, BugContest_SecondPlaceText
|
||||||
|
call PrintText
|
||||||
|
ld a, [wd002]
|
||||||
|
call LoadContestantName
|
||||||
|
ld a, [wd003]
|
||||||
|
ld [wd265], a
|
||||||
|
call GetPokemonName
|
||||||
|
ld hl, BugContest_FirstPlaceText
|
||||||
|
call PrintText
|
||||||
|
jp Function13807
|
||||||
|
; 136eb
|
||||||
|
|
||||||
|
BugContest_FirstPlaceText: ; 0x136eb
|
||||||
|
text_jump ContestJudging_FirstPlaceText
|
||||||
|
start_asm
|
||||||
|
BugContest_FirstPlace: ; 136f0
|
||||||
|
ld de, SFX_1ST_PLACE
|
||||||
|
call PlaySFX
|
||||||
|
call WaitSFX
|
||||||
|
ld hl, BugContest_FirstPlaceScoreText
|
||||||
|
ret
|
||||||
|
; 136fd
|
||||||
|
|
||||||
|
BugContest_FirstPlaceScoreText: ; 0x136fd
|
||||||
|
; The winning score was @ points!
|
||||||
|
text_jump ContestJudging_FirstPlaceScoreText
|
||||||
|
db "@"
|
||||||
|
; 0x13702
|
||||||
|
|
||||||
|
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
|
||||||
|
ld hl, BugContest_SecondPlaceScoreText
|
||||||
|
ret
|
||||||
|
; 13714
|
||||||
|
|
||||||
|
BugContest_SecondPlaceScoreText: ; 0x13714
|
||||||
|
; The score was @ points!
|
||||||
|
text_jump ContestJudging_SecondPlaceScoreText
|
||||||
|
db "@"
|
||||||
|
; 0x13719
|
||||||
|
|
||||||
|
BugContest_ThirdPlaceText: ; 0x13719
|
||||||
|
; Placing third was @ , who caught a @ !@ @
|
||||||
|
text_jump ContestJudging_ThirdPlaceText
|
||||||
|
start_asm
|
||||||
|
; 0x1371e
|
||||||
|
|
||||||
|
BugContest_ThirdPlace: ; 1371e
|
||||||
|
ld de, SFX_3RD_PLACE
|
||||||
|
call PlaySFX
|
||||||
|
call WaitSFX
|
||||||
|
ld hl, BugContest_ThirdPlaceScoreText
|
||||||
|
ret
|
||||||
|
; 1372b
|
||||||
|
|
||||||
|
BugContest_ThirdPlaceScoreText: ; 0x1372b
|
||||||
|
; The score was @ points!
|
||||||
|
text_jump ContestJudging_ThirdPlaceScoreText
|
||||||
|
db "@"
|
||||||
|
; 0x13730
|
||||||
|
|
||||||
|
LoadContestantName: ; 13730
|
||||||
|
|
||||||
|
; If a = 0, get your name.
|
||||||
|
dec a
|
||||||
|
jr z, .done
|
||||||
|
; Find the pointer for the trainer class of the Bug Catching Contestant whose ID is in a.
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
ld hl, BugContestantPointers
|
||||||
|
rept 2
|
||||||
|
add hl, bc
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
; Copy the Trainer Class to c.
|
||||||
|
ld a, [hli]
|
||||||
|
ld c, a
|
||||||
|
; Save hl and bc for later.
|
||||||
|
push hl
|
||||||
|
push bc
|
||||||
|
; Get the Trainer Class name and copy it into wd016.
|
||||||
|
callab GetTrainerClassName
|
||||||
|
ld hl, StringBuffer1
|
||||||
|
ld de, wd016
|
||||||
|
ld bc, TRAINER_CLASS_NAME_LENGTH
|
||||||
|
call CopyBytes
|
||||||
|
ld hl, wd016
|
||||||
|
; Delete the trailing terminator and replace it with a space.
|
||||||
|
.next
|
||||||
|
ld a, [hli]
|
||||||
|
cp "@"
|
||||||
|
jr nz, .next
|
||||||
|
dec hl
|
||||||
|
ld [hl], " "
|
||||||
|
inc hl
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
; Restore the Trainer Class ID and Trainer ID pointer. Save de for later.
|
||||||
|
pop bc
|
||||||
|
pop hl
|
||||||
|
push de
|
||||||
|
; Get the name of the trainer with class c and ID b.
|
||||||
|
ld a, [hl]
|
||||||
|
ld b, a
|
||||||
|
callab GetTrainerName
|
||||||
|
; Append the name to wd016.
|
||||||
|
ld hl, StringBuffer1
|
||||||
|
pop de
|
||||||
|
ld bc, NAME_LENGTH - 1
|
||||||
|
jp CopyBytes
|
||||||
|
|
||||||
|
.done
|
||||||
|
ld hl, PlayerName
|
||||||
|
ld de, wd016
|
||||||
|
ld bc, NAME_LENGTH
|
||||||
|
jp CopyBytes
|
||||||
|
; 13783
|
||||||
|
|
||||||
|
BugContestantPointers: ; 13783
|
||||||
|
dw BugContestant_BugCatcherDon ; This reverts back to the player
|
||||||
|
dw BugContestant_BugCatcherDon
|
||||||
|
dw BugContestant_BugCatcherEd
|
||||||
|
dw BugContestant_CooltrainerMNick
|
||||||
|
dw BugContestant_PokefanMWilliam
|
||||||
|
dw BugContestant_BugCatcherBenny
|
||||||
|
dw BugContestant_CamperBarry
|
||||||
|
dw BugContestant_PicnickerCindy
|
||||||
|
dw BugContestant_BugCatcherJosh
|
||||||
|
dw BugContestant_YoungsterSamuel
|
||||||
|
dw BugContestant_SchoolboyKipp
|
||||||
|
; 13799
|
||||||
|
|
||||||
|
BugContestant_BugCatcherDon:
|
||||||
|
db BUG_CATCHER, DON
|
||||||
|
dbw KAKUNA, 300
|
||||||
|
dbw METAPOD, 285
|
||||||
|
dbw CATERPIE, 226
|
||||||
|
|
||||||
|
BugContestant_BugCatcherEd:
|
||||||
|
db BUG_CATCHER, ED
|
||||||
|
dbw BUTTERFREE, 286
|
||||||
|
dbw BUTTERFREE, 251
|
||||||
|
dbw CATERPIE, 237
|
||||||
|
|
||||||
|
BugContestant_CooltrainerMNick:
|
||||||
|
db COOLTRAINERM, NICK
|
||||||
|
dbw SCYTHER, 357
|
||||||
|
dbw BUTTERFREE, 349
|
||||||
|
dbw PINSIR, 368
|
||||||
|
|
||||||
|
BugContestant_PokefanMWilliam:
|
||||||
|
db POKEFANM, WILLIAM
|
||||||
|
dbw PINSIR, 332
|
||||||
|
dbw BUTTERFREE, 324
|
||||||
|
dbw VENONAT, 321
|
||||||
|
|
||||||
|
BugContestant_BugCatcherBenny:
|
||||||
|
db BUG_CATCHER, BUG_CATCHER_BENNY
|
||||||
|
dbw BUTTERFREE, 318
|
||||||
|
dbw WEEDLE, 295
|
||||||
|
dbw CATERPIE, 285
|
||||||
|
|
||||||
|
BugContestant_CamperBarry:
|
||||||
|
db CAMPER, BARRY
|
||||||
|
dbw PINSIR, 366
|
||||||
|
dbw VENONAT, 329
|
||||||
|
dbw KAKUNA, 314
|
||||||
|
|
||||||
|
BugContestant_PicnickerCindy:
|
||||||
|
db PICNICKER, CINDY
|
||||||
|
dbw BUTTERFREE, 341
|
||||||
|
dbw METAPOD, 301
|
||||||
|
dbw CATERPIE, 264
|
||||||
|
|
||||||
|
BugContestant_BugCatcherJosh:
|
||||||
|
db BUG_CATCHER, JOSH
|
||||||
|
dbw SCYTHER, 326
|
||||||
|
dbw BUTTERFREE, 292
|
||||||
|
dbw METAPOD, 282
|
||||||
|
|
||||||
|
BugContestant_YoungsterSamuel:
|
||||||
|
db YOUNGSTER, SAMUEL
|
||||||
|
dbw WEEDLE, 270
|
||||||
|
dbw PINSIR, 282
|
||||||
|
dbw CATERPIE, 251
|
||||||
|
|
||||||
|
BugContestant_SchoolboyKipp:
|
||||||
|
db SCHOOLBOY, KIPP
|
||||||
|
dbw VENONAT, 267
|
||||||
|
dbw PARAS, 254
|
||||||
|
dbw KAKUNA, 259
|
||||||
|
; 13807
|
||||||
|
|
||||||
|
Function13807: ; 13807
|
||||||
|
ld hl, wd00a
|
||||||
|
ld de, -4
|
||||||
|
ld b, 3
|
||||||
|
.loop
|
||||||
|
ld a, [hl]
|
||||||
|
cp 1
|
||||||
|
jr z, .done
|
||||||
|
add hl, de
|
||||||
|
dec b
|
||||||
|
jr nz, .loop
|
||||||
|
|
||||||
|
.done
|
||||||
|
ret
|
||||||
|
; 13819
|
||||||
|
|
||||||
|
Function13819: ; 13819
|
||||||
|
call Function13833
|
||||||
|
call Function138b0
|
||||||
|
ld hl, wd00e
|
||||||
|
ld a, 1
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [wContestMon]
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [hProduct]
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [hMultiplicand]
|
||||||
|
ld [hl], a
|
||||||
|
call Function1383e
|
||||||
|
ret
|
||||||
|
; 13833
|
||||||
|
|
||||||
|
Function13833: ; 13833
|
||||||
|
ld hl, wd002
|
||||||
|
ld b, 12
|
||||||
|
xor a
|
||||||
|
.loop
|
||||||
|
ld [hli], a
|
||||||
|
dec b
|
||||||
|
jr nz, .loop
|
||||||
|
ret
|
||||||
|
; 1383e
|
||||||
|
|
||||||
|
Function1383e: ; 1383e
|
||||||
|
ld de, wd010
|
||||||
|
ld hl, wd004
|
||||||
|
ld c, 2
|
||||||
|
call StringCmp
|
||||||
|
jr c, .next
|
||||||
|
ld hl, EndFlypoint
|
||||||
|
ld de, wd00a
|
||||||
|
ld bc, 4
|
||||||
|
call CopyBytes
|
||||||
|
ld hl, wd002
|
||||||
|
ld de, EndFlypoint
|
||||||
|
ld bc, 4
|
||||||
|
call CopyBytes
|
||||||
|
ld hl, wd002
|
||||||
|
call Function138a0
|
||||||
|
jr .done
|
||||||
|
|
||||||
|
.next
|
||||||
|
ld de, wd010
|
||||||
|
ld hl, wd008
|
||||||
|
ld c, 2
|
||||||
|
call StringCmp
|
||||||
|
jr c, .next2
|
||||||
|
ld hl, EndFlypoint
|
||||||
|
ld de, wd00a
|
||||||
|
ld bc, 4
|
||||||
|
call CopyBytes
|
||||||
|
ld hl, EndFlypoint
|
||||||
|
call Function138a0
|
||||||
|
jr .done
|
||||||
|
|
||||||
|
.next2
|
||||||
|
ld de, wd010
|
||||||
|
ld hl, wd00c
|
||||||
|
ld c, 2
|
||||||
|
call StringCmp
|
||||||
|
jr c, .done
|
||||||
|
ld hl, wd00a
|
||||||
|
call Function138a0
|
||||||
|
|
||||||
|
.done
|
||||||
|
ret
|
||||||
|
; 138a0
|
||||||
|
|
||||||
|
Function138a0: ; 138a0
|
||||||
|
ld de, wd00e
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hli], a
|
||||||
|
ld a, [de]
|
||||||
|
inc de
|
||||||
|
ld [hl], a
|
||||||
|
ret
|
||||||
|
; 138b0
|
||||||
|
|
||||||
|
Function138b0: ; 138b0
|
||||||
|
ld e, 0
|
||||||
|
.loop
|
||||||
|
push de
|
||||||
|
call Special_CheckBugContestContestantFlag
|
||||||
|
pop de
|
||||||
|
jr nz, .done
|
||||||
|
ld a, e
|
||||||
|
rept 2
|
||||||
|
inc a
|
||||||
|
endr
|
||||||
|
ld [wd00e], a
|
||||||
|
dec a
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
ld hl, BugContestantPointers
|
||||||
|
rept 2
|
||||||
|
add hl, bc
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
rept 2
|
||||||
|
inc hl
|
||||||
|
endr
|
||||||
|
.loop2
|
||||||
|
call Random
|
||||||
|
and 3
|
||||||
|
cp 3
|
||||||
|
jr z, .loop2
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
rept 3
|
||||||
|
add hl, bc
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld [wd00f], a
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
call Random
|
||||||
|
and 7
|
||||||
|
ld c, a
|
||||||
|
ld b, 0
|
||||||
|
add hl, bc
|
||||||
|
ld a, h
|
||||||
|
ld [wd010], a
|
||||||
|
ld a, l
|
||||||
|
ld [wd011], a
|
||||||
|
push de
|
||||||
|
call Function1383e
|
||||||
|
pop de
|
||||||
|
|
||||||
|
.done
|
||||||
|
inc e
|
||||||
|
ld a, e
|
||||||
|
cp 10
|
||||||
|
jr nz, .loop
|
||||||
|
ret
|
||||||
|
; 13900
|
||||||
|
|
||||||
|
ContestScore: ; 13900
|
||||||
|
; Determine the player's score in the Bug Catching Contest.
|
||||||
|
|
||||||
|
xor a
|
||||||
|
ld [hProduct], a
|
||||||
|
ld [hMultiplicand], a
|
||||||
|
|
||||||
|
ld a, [wContestMonSpecies] ; Species
|
||||||
|
and a
|
||||||
|
jr z, .done
|
||||||
|
|
||||||
|
; Tally the following:
|
||||||
|
|
||||||
|
; Max HP * 4
|
||||||
|
ld a, [wContestMonMaxHP + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonMaxHP + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonMaxHP + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonMaxHP + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
|
||||||
|
; Stats
|
||||||
|
ld a, [wContestMonAttack + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonDefense + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonSpeed + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonSpclAtk + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
ld a, [wContestMonSpclDef + 1]
|
||||||
|
call .AddContestStat
|
||||||
|
|
||||||
|
; DVs
|
||||||
|
ld a, [wContestMonDVs + 0]
|
||||||
|
ld b, a
|
||||||
|
and 2
|
||||||
|
rept 2
|
||||||
|
add a
|
||||||
|
endr
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
swap b
|
||||||
|
ld a, b
|
||||||
|
and 2
|
||||||
|
add a
|
||||||
|
add c
|
||||||
|
ld d, a
|
||||||
|
|
||||||
|
ld a, [wContestMonDVs + 1]
|
||||||
|
ld b, a
|
||||||
|
and 2
|
||||||
|
ld c, a
|
||||||
|
|
||||||
|
swap b
|
||||||
|
ld a, b
|
||||||
|
and 2
|
||||||
|
srl a
|
||||||
|
rept 2
|
||||||
|
add c
|
||||||
|
endr
|
||||||
|
rept 2
|
||||||
|
add d
|
||||||
|
endr
|
||||||
|
|
||||||
|
call .AddContestStat
|
||||||
|
|
||||||
|
; Remaining HP / 8
|
||||||
|
ld a, [wContestMonHP + 1]
|
||||||
|
srl a
|
||||||
|
srl a
|
||||||
|
srl a
|
||||||
|
call .AddContestStat
|
||||||
|
|
||||||
|
; Whether it's holding an item
|
||||||
|
ld a, [wContestMonItem]
|
||||||
|
and a
|
||||||
|
jr z, .done
|
||||||
|
|
||||||
|
ld a, 1
|
||||||
|
call .AddContestStat
|
||||||
|
|
||||||
|
.done
|
||||||
|
ret
|
||||||
|
; 1397f
|
||||||
|
|
||||||
|
.AddContestStat: ; 1397f
|
||||||
|
ld hl, hMultiplicand
|
||||||
|
add [hl]
|
||||||
|
ld [hl], a
|
||||||
|
ret nc
|
||||||
|
dec hl
|
||||||
|
inc [hl]
|
||||||
|
ret
|
||||||
|
; 13988
|
287
event/elevator.asm
Executable file
287
event/elevator.asm
Executable file
@@ -0,0 +1,287 @@
|
|||||||
|
Elevator:: ; 1342d
|
||||||
|
call Function1344a
|
||||||
|
call Function1347d
|
||||||
|
jr c, .asm_13448
|
||||||
|
ld [wd041], a
|
||||||
|
call Function134dd
|
||||||
|
jr c, .asm_13448
|
||||||
|
ld hl, wd041
|
||||||
|
cp [hl]
|
||||||
|
jr z, .asm_13448
|
||||||
|
call Function134c0
|
||||||
|
and a
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_13448
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 1344a
|
||||||
|
|
||||||
|
Function1344a: ; 1344a
|
||||||
|
ld a, b
|
||||||
|
ld [EngineBuffer1], a
|
||||||
|
ld a, e
|
||||||
|
ld [wd03f], a
|
||||||
|
ld a, d
|
||||||
|
ld [wd040], a
|
||||||
|
call Function1345a
|
||||||
|
ret
|
||||||
|
; 1345a
|
||||||
|
|
||||||
|
Function1345a: ; 1345a
|
||||||
|
ld de, OBPals + 8 * 6
|
||||||
|
ld bc, 4
|
||||||
|
ld hl, wd03f
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
inc hl
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
.asm_1346f
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
ld [de], a
|
||||||
|
inc de
|
||||||
|
add hl, bc
|
||||||
|
cp $ff
|
||||||
|
jr nz, .asm_1346f
|
||||||
|
ret
|
||||||
|
; 1347d
|
||||||
|
|
||||||
|
Function1347d: ; 1347d
|
||||||
|
ld hl, wd03f
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
ld c, a
|
||||||
|
inc hl
|
||||||
|
ld a, [BackupMapGroup]
|
||||||
|
ld d, a
|
||||||
|
ld a, [BackupMapNumber]
|
||||||
|
ld e, a
|
||||||
|
ld b, $0
|
||||||
|
.asm_13495
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
cp $ff
|
||||||
|
jr z, .asm_134be
|
||||||
|
rept 2
|
||||||
|
inc hl
|
||||||
|
endr
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
inc hl
|
||||||
|
cp d
|
||||||
|
jr nz, .asm_134b7
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
call GetFarByte
|
||||||
|
inc hl
|
||||||
|
cp e
|
||||||
|
jr nz, .asm_134b8
|
||||||
|
jr .asm_134bb
|
||||||
|
|
||||||
|
.asm_134b7
|
||||||
|
inc hl
|
||||||
|
|
||||||
|
.asm_134b8
|
||||||
|
inc b
|
||||||
|
jr .asm_13495
|
||||||
|
|
||||||
|
.asm_134bb
|
||||||
|
xor a
|
||||||
|
ld a, b
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_134be
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 134c0
|
||||||
|
|
||||||
|
Function134c0: ; 134c0
|
||||||
|
push af
|
||||||
|
ld hl, wd03f
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
inc hl
|
||||||
|
pop af
|
||||||
|
ld bc, 4
|
||||||
|
call AddNTimes
|
||||||
|
inc hl
|
||||||
|
ld de, wdcac
|
||||||
|
ld a, [EngineBuffer1]
|
||||||
|
ld bc, 3
|
||||||
|
call FarCopyBytes
|
||||||
|
ret
|
||||||
|
; 134dd
|
||||||
|
|
||||||
|
Function134dd: ; 134dd
|
||||||
|
call LoadStandardMenuDataHeader
|
||||||
|
ld hl, Elevator_WhichFloorText
|
||||||
|
call PrintText
|
||||||
|
call Elevator_GetCurrentFloorText
|
||||||
|
ld hl, Elevator_MenuDataHeader
|
||||||
|
call CopyMenuDataHeader
|
||||||
|
call Function352f
|
||||||
|
call UpdateSprites
|
||||||
|
xor a
|
||||||
|
ld [wd0e4], a
|
||||||
|
call HandleScrollingMenu
|
||||||
|
call WriteBackup
|
||||||
|
ld a, [wcf73]
|
||||||
|
cp $2
|
||||||
|
jr z, .asm_1350b
|
||||||
|
xor a
|
||||||
|
ld a, [wcf77]
|
||||||
|
ret
|
||||||
|
|
||||||
|
.asm_1350b
|
||||||
|
scf
|
||||||
|
ret
|
||||||
|
; 1350d
|
||||||
|
|
||||||
|
Elevator_WhichFloorText: ; 0x1350d
|
||||||
|
; Which floor?
|
||||||
|
text_jump UnknownText_0x1bd2bc
|
||||||
|
db "@"
|
||||||
|
; 0x13512
|
||||||
|
|
||||||
|
|
||||||
|
Elevator_GetCurrentFloorText: ; 13512
|
||||||
|
ld hl, Options
|
||||||
|
ld a, [hl]
|
||||||
|
push af
|
||||||
|
set NO_TEXT_SCROLL, [hl]
|
||||||
|
hlcoord 0, 0
|
||||||
|
ld b, 4
|
||||||
|
ld c, 8
|
||||||
|
call TextBox
|
||||||
|
hlcoord 1, 2
|
||||||
|
ld de, Elevator_CurrentFloorText
|
||||||
|
call PlaceString
|
||||||
|
hlcoord 4, 4
|
||||||
|
call Elevator_GetCurrentFloorString
|
||||||
|
pop af
|
||||||
|
ld [Options], a
|
||||||
|
ret
|
||||||
|
; 13537
|
||||||
|
|
||||||
|
Elevator_CurrentFloorText: ; 13537
|
||||||
|
db "Now on:@"
|
||||||
|
; 1353f
|
||||||
|
|
||||||
|
|
||||||
|
Elevator_GetCurrentFloorString: ; 1353f
|
||||||
|
push hl
|
||||||
|
ld a, [wd041]
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, wd0f1
|
||||||
|
add hl, de
|
||||||
|
ld a, [hl]
|
||||||
|
pop de
|
||||||
|
call GetFloorString
|
||||||
|
ret
|
||||||
|
; 13550
|
||||||
|
|
||||||
|
Elevator_MenuDataHeader: ; 0x13550
|
||||||
|
db $40 ; flags
|
||||||
|
db 01, 12 ; start coords
|
||||||
|
db 09, 18 ; end coords
|
||||||
|
dw Elevator_MenuData2
|
||||||
|
db 1 ; default option
|
||||||
|
; 0x13558
|
||||||
|
|
||||||
|
Elevator_MenuData2: ; 0x13558
|
||||||
|
db $10 ; flags
|
||||||
|
db 4, 0 ; rows, columns
|
||||||
|
db 1 ; horizontal spacing
|
||||||
|
dbw 0, OBPals + 8 * 6
|
||||||
|
dba GetElevatorFlorStrings
|
||||||
|
dba NULL
|
||||||
|
dba NULL
|
||||||
|
; 13568
|
||||||
|
|
||||||
|
GetElevatorFlorStrings: ; 13568
|
||||||
|
ld a, [MenuSelection]
|
||||||
|
|
||||||
|
GetFloorString: ; 1356b
|
||||||
|
push de
|
||||||
|
call FloorToString
|
||||||
|
ld d, h
|
||||||
|
ld e, l
|
||||||
|
pop hl
|
||||||
|
jp PlaceString
|
||||||
|
; 13575
|
||||||
|
|
||||||
|
FloorToString: ; 13575
|
||||||
|
push de
|
||||||
|
ld e, a
|
||||||
|
ld d, 0
|
||||||
|
ld hl, .floors
|
||||||
|
rept 2
|
||||||
|
add hl, de
|
||||||
|
endr
|
||||||
|
ld a, [hli]
|
||||||
|
ld h, [hl]
|
||||||
|
ld l, a
|
||||||
|
pop de
|
||||||
|
ret
|
||||||
|
; 13583
|
||||||
|
|
||||||
|
.floors
|
||||||
|
dw .b4f
|
||||||
|
dw .b3f
|
||||||
|
dw .b2f
|
||||||
|
dw .b1f
|
||||||
|
dw ._1f
|
||||||
|
dw ._2f
|
||||||
|
dw ._3f
|
||||||
|
dw ._4f
|
||||||
|
dw ._5f
|
||||||
|
dw ._6f
|
||||||
|
dw ._7f
|
||||||
|
dw ._8f
|
||||||
|
dw ._9f
|
||||||
|
dw ._10f
|
||||||
|
dw ._11f
|
||||||
|
dw .roof
|
||||||
|
|
||||||
|
.b4f
|
||||||
|
db "B4F@"
|
||||||
|
.b3f
|
||||||
|
db "B3F@"
|
||||||
|
.b2f
|
||||||
|
db "B2F@"
|
||||||
|
.b1f
|
||||||
|
db "B1F@"
|
||||||
|
._1f
|
||||||
|
db "1F@"
|
||||||
|
._2f
|
||||||
|
db "2F@"
|
||||||
|
._3f
|
||||||
|
db "3F@"
|
||||||
|
._4f
|
||||||
|
db "4F@"
|
||||||
|
._5f
|
||||||
|
db "5F@"
|
||||||
|
._6f
|
||||||
|
db "6F@"
|
||||||
|
._7f
|
||||||
|
db "7F@"
|
||||||
|
._8f
|
||||||
|
db "8F@"
|
||||||
|
._9f
|
||||||
|
db "9F@"
|
||||||
|
._10f
|
||||||
|
db "10F@"
|
||||||
|
._11f
|
||||||
|
db "11F@"
|
||||||
|
.roof
|
||||||
|
db "ROOF@"
|
||||||
|
; 135db
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user