First Commit

Upload literally everything from the pokecrystal16 expand-move-ID branch
This commit is contained in:
Zeta_Null 2023-09-10 12:35:35 -04:00
commit 2f8a41f833
4618 changed files with 480386 additions and 0 deletions

4126
mobile/fixed_words.asm Normal file

File diff suppressed because it is too large Load diff

1817
mobile/mobile_12.asm Normal file

File diff suppressed because it is too large Load diff

912
mobile/mobile_12_2.asm Normal file
View file

@ -0,0 +1,912 @@
MobileCheckOwnMonAnywhere:
; Like CheckOwnMonAnywhere, but only checks for species.
; OT/ID don't matter.
; inputs:
; [wScriptVar] should contain the species we're looking for.
; outputs:
; sets carry if monster matches species.
; If there are no monsters in the party,
; the player must not own any yet.
ld a, [wPartyCount]
and a
ret z
ld d, a
ld e, 0
ld hl, wPartyMon1Species
ld bc, wPartyMonOTs
; Run .CheckMatch on each Pokémon in the party.
.partymon
call .CheckMatch
ret c
push bc
ld bc, PARTYMON_STRUCT_LENGTH
add hl, bc
pop bc
call .AdvanceOTName
dec d
jr nz, .partymon
; Run .CheckMatch on each Pokémon in the PC.
ld a, BANK(sBoxCount)
call OpenSRAM
ld a, [sBoxCount]
and a
jr z, .boxes
ld d, a
ld hl, sBoxMon1Species
ld bc, sBoxMonOTs
.openboxmon
call .CheckMatch
jr nc, .loop
call CloseSRAM
ret
.loop
push bc
ld bc, BOXMON_STRUCT_LENGTH
add hl, bc
pop bc
call .AdvanceOTName
dec d
jr nz, .openboxmon
; Run .CheckMatch on each monster in the other 13 PC boxes.
.boxes
call CloseSRAM
ld c, 0
ld a, [wScriptVar]
call GetPokemonIndexFromID
ld d, h
ld e, l
.box
; Don't search the current box again.
ld a, [wCurBox]
and $f
cp c
jr z, .loopbox
; Load the box.
ld hl, .BoxAddresses
ld b, 0
add hl, bc
add hl, bc
add hl, bc
ld a, [hli]
call OpenSRAM
ld a, [hli]
ld h, [hl]
ld l, a
; Number of monsters in the box
ld b, MONS_PER_BOX
.box_search_loop
ld a, [hli]
cp e
ld a, [hli]
jr nz, .next_box_mon
cp d
jr z, .found_in_box
.next_box_mon
dec b
jr nz, .box_search_loop
.loopbox
inc c
ld a, c
cp NUM_BOXES
jr c, .box
call CloseSRAM
and a
ret
.found_in_box
call CloseSRAM
scf
ret
.CheckMatch:
; Check if a Pokémon is of a specific species.
; We compare the species we are looking for in
; [wScriptVar] to the species we have in [hl].
; Sets carry flag if species matches.
push bc
push hl
push de
ld d, b
ld e, c
; check species
ld a, [wScriptVar]
ld b, [hl]
cp b
jr nz, .no_match
jr .match
.no_match
pop de
pop hl
pop bc
and a
ret
.match
pop de
pop hl
pop bc
scf
ret
.BoxAddresses:
table_width 3, MobileCheckOwnMonAnywhere.BoxAddresses
for n, 1, NUM_BOXES + 1
dba sBox{d:n}PokemonIndexes
endr
assert_table_length NUM_BOXES
.AdvanceOTName:
push hl
ld hl, NAME_LENGTH
add hl, bc
ld b, h
ld c, l
pop hl
ret
UnusedFindItemInPCOrBag:
ld a, [wScriptVar]
ld [wCurItem], a
ld hl, wNumPCItems
call CheckItem
jr c, .found
ld a, [wScriptVar]
ld [wCurItem], a
ld hl, wNumItems
call CheckItem
jr c, .found
xor a
ld [wScriptVar], a
ret
.found
ld a, 1
ld [wScriptVar], a
ret
Function4a94e:
call FadeToMenu
ld a, -1
ld hl, wd002
ld bc, 3
call ByteFill
xor a
ld [wd018], a
ld [wd019], a
ld b, SCGB_PACKPALS
call GetSGBLayout
call SetPalettes
call Function4aa22
jr c, .asm_4a985
jr z, .asm_4a9a1
jr .asm_4a97b
.asm_4a974
call Function4aa25
jr c, .asm_4a985
jr z, .asm_4a9a1
.asm_4a97b
call Function4ac58
ld hl, wd019
res 1, [hl]
jr .asm_4a974
.asm_4a985
ld a, [wd018]
and a
jr nz, .asm_4a990
call Function4aba8
jr c, .asm_4a974
.asm_4a990
call CloseSubmenu
ld hl, wd002
ld a, -1
ld bc, 3
call ByteFill
scf
jr .asm_4a9af
.asm_4a9a1
call Function4a9c3
jr c, .asm_4a9b0
call Function4a9d7
jr c, .asm_4a974
call CloseSubmenu
and a
.asm_4a9af
ret
.asm_4a9b0
ld de, SFX_WRONG
call PlaySFX
ld hl, MobilePickThreeMonForBattleText
call PrintText
jr .asm_4a974
MobilePickThreeMonForBattleText:
text_far _MobilePickThreeMonForBattleText
text_end
Function4a9c3:
ld hl, wd002
ld a, $ff
cp [hl]
jr z, .asm_4a9d5
inc hl
cp [hl]
jr z, .asm_4a9d5
inc hl
cp [hl]
jr z, .asm_4a9d5
and a
ret
.asm_4a9d5
scf
ret
Function4a9d7:
ld a, [wd002]
ld hl, wPartyMonNicknames
call GetNickname
ld h, d
ld l, e
ld de, wMobileParticipant1Nickname
ld bc, NAME_LENGTH_JAPANESE
call CopyBytes
ld a, [wd003]
ld hl, wPartyMonNicknames
call GetNickname
ld h, d
ld l, e
ld de, wMobileParticipant2Nickname
ld bc, NAME_LENGTH_JAPANESE
call CopyBytes
ld a, [wd004]
ld hl, wPartyMonNicknames
call GetNickname
ld h, d
ld l, e
ld de, wMobileParticipant3Nickname
ld bc, NAME_LENGTH_JAPANESE
call CopyBytes
ld hl, MobileUseTheseThreeMonText
call PrintText
call YesNoBox
ret
MobileUseTheseThreeMonText:
text_far _MobileUseTheseThreeMonText
text_end
Function4aa22:
call ClearBGPalettes
Function4aa25:
farcall LoadPartyMenuGFX
farcall InitPartyMenuWithCancel
call Function4aad3
Function4aa34:
ld a, PARTYMENUACTION_MOBILE
ld [wPartyMenuActionText], a
farcall WritePartyMenuTilemap
xor a
ld [wPartyMenuActionText], a
farcall PrintPartyMenuText
call Function4aab6
call WaitBGMap
call SetPalettes
call DelayFrame
call Function4ab1a
jr z, .asm_4aa66
push af
call Function4aafb
jr c, .asm_4aa67
call Function4ab06
jr c, .asm_4aa67
pop af
.asm_4aa66
ret
.asm_4aa67
ld hl, wd019
set 1, [hl]
pop af
ret
Function4aa6e: ; unreferenced
pop af
ld de, SFX_WRONG
call PlaySFX
call WaitSFX
jr Function4aa34
Function4aa7a:
ld hl, wd002
ld d, $3
.loop
ld e, PARTY_LENGTH
ld a, [hli]
push de
push hl
cp -1
jr z, .done
ld hl, wSpriteAnimationStructs
inc a
ld d, a
.inner_loop
ld a, [hl]
and a
jr z, .next
cp d
jr z, .same_as_d
jr .next
ld a, $3
jr .proceed
.same_as_d
ld a, $2
.proceed
push hl
ld c, l
ld b, h
ld hl, $2
add hl, bc
ld [hl], a
pop hl
.next
ld bc, $10
add hl, bc
dec e
jr nz, .inner_loop
pop hl
pop de
dec d
jr nz, .loop
jr .finished
.done
pop hl
pop de
.finished
ret
Function4aab6:
ld hl, wd002
ld d, $3
.loop
ld a, [hli]
cp -1
jr z, .done
push de
push hl
hlcoord 0, 1
ld bc, $28
call AddNTimes
ld [hl], $ec
pop hl
pop de
dec d
jr nz, .loop
.done
ret
Function4aad3:
ld hl, wPartyCount
ld a, [hli]
and a
ret z ; Nothing in your party
ld c, a
xor a
ldh [hObjectStructIndex], a
.loop
push bc
push hl
ld e, MONICON_PARTYMENU
farcall LoadMenuMonIcon
ldh a, [hObjectStructIndex]
inc a
ldh [hObjectStructIndex], a
pop hl
pop bc
dec c
jr nz, .loop
call Function4aa7a
farcall PlaySpriteAnimations
ret
Function4aafb:
ld a, [wCurPartySpecies]
cp EGG
jr z, .egg
and a
ret
.egg
scf
ret
Function4ab06:
ld a, [wCurPartyMon]
ld bc, PARTYMON_STRUCT_LENGTH
ld hl, wPartyMon1HP
call AddNTimes
ld a, [hli]
ld b, a
ld a, [hl]
or b
jr nz, .NotFainted
scf
.NotFainted:
ret
Function4ab1a:
.asm_4ab1a
ld a, $fb
ld [wMenuJoypadFilter], a
ld a, $26
ld [w2DMenuCursorOffsets], a
ld a, $2
ld [w2DMenuNumCols], a
call Function4adf7
call StaticMenuJoypad
call Function4abc3
jr c, .asm_4ab1a
push af
call Function4ab99
call nc, PlaceHollowCursor
pop af
bit 1, a
jr nz, .asm_4ab6d
ld a, [wPartyCount]
inc a
ld b, a
ld a, [wMenuCursorY]
ld [wPartyMenuCursor], a
cp b
jr z, .asm_4ab7e
ld a, [wMenuCursorY]
dec a
ld [wCurPartyMon], a
ld c, a
ld b, 0
ld hl, wPartySpecies
add hl, bc
ld a, [hl]
ld [wCurPartySpecies], a
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
ld a, $1
and a
ret
.asm_4ab6d
ld a, [wMenuCursorY]
ld [wPartyMenuCursor], a
.asm_4ab73
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
scf
ret
.asm_4ab7e
ld a, $1
ld [wd018], a
ld a, [wMenuCursorX]
cp $2
jr z, .asm_4ab73
ld de, SFX_READ_TEXT_2
call PlaySFX
call WaitSFX
xor a
ld [wd018], a
and a
ret
Function4ab99:
bit 1, a
jr z, .asm_4aba6
ld a, [wd002]
cp $ff
jr z, .asm_4aba6
scf
ret
.asm_4aba6
and a
ret
Function4aba8:
ld hl, wd004
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
dec hl
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
dec hl
ld a, [hl]
cp $ff
jr nz, .asm_4abbe
and a
ret
.asm_4abbe
ld a, $ff
ld [hl], a
scf
ret
Function4abc3:
bit 3, a
jr z, .asm_4abd5
ld a, [wPartyCount]
inc a
ld [wMenuCursorY], a
ld a, $1
ld [wMenuCursorX], a
jr .asm_4ac29
.asm_4abd5
bit 6, a
jr z, .asm_4abeb
ld a, [wMenuCursorY]
ld [wMenuCursorY], a
and a
jr nz, .asm_4ac29
ld a, [wPartyCount]
inc a
ld [wMenuCursorY], a
jr .asm_4ac29
.asm_4abeb
bit 7, a
jr z, .asm_4ac08
ld a, [wMenuCursorY]
ld [wMenuCursorY], a
ld a, [wPartyCount]
inc a
inc a
ld b, a
ld a, [wMenuCursorY]
cp b
jr nz, .asm_4ac29
ld a, $1
ld [wMenuCursorY], a
jr .asm_4ac29
.asm_4ac08
bit 4, a
jr nz, .asm_4ac10
bit 5, a
jr z, .asm_4ac56
.asm_4ac10
ld a, [wMenuCursorY]
ld b, a
ld a, [wPartyCount]
inc a
cp b
jr nz, .asm_4ac29
ld a, [wMenuCursorX]
cp $1
jr z, .asm_4ac26
ld a, $1
jr .asm_4ac29
.asm_4ac26
ld [wMenuCursorX], a
.asm_4ac29
hlcoord 0, 1
lb bc, 13, 1
call ClearBox
call Function4aab6
ld a, [wPartyCount]
hlcoord 6, 1
.asm_4ac3b
ld bc, $28
add hl, bc
dec a
jr nz, .asm_4ac3b
ld [hl], $7f
ld a, [wMenuCursorY]
ld b, a
ld a, [wPartyCount]
inc a
cp b
jr z, .asm_4ac54
ld a, $1
ld [wMenuCursorX], a
.asm_4ac54
scf
ret
.asm_4ac56
and a
ret
Function4ac58:
lb bc, 2, 18
hlcoord 1, 15
call ClearBox
farcall FreezeMonIcons
ld hl, MenuHeader_0x4aca2
call LoadMenuHeader
ld hl, wd019
bit 1, [hl]
jr z, .asm_4ac89
hlcoord 11, 13
ld b, $3
ld c, $7
call Textbox
hlcoord 13, 14
ld de, String_4ada7
call PlaceString
jr .asm_4ac96
.asm_4ac89
hlcoord 11, 9
ld b, $7
ld c, $7
call Textbox
call Function4ad68
.asm_4ac96
ld a, $1
ldh [hBGMapMode], a
call Function4acaa
call ExitMenu
and a
ret
MenuHeader_0x4aca2:
db MENU_BACKUP_TILES ; flags
menu_coords 11, 9, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 1 ; default option
Function4acaa:
.asm_4acaa
ld a, $a0
ld [wMenuDataFlags], a
ld a, [wd019]
bit 1, a
jr z, .asm_4acc2
ld a, $2
ld [wMenuDataItems], a
ld a, $c
ld [wMenuBorderTopCoord], a
jr .asm_4accc
.asm_4acc2
ld a, $4
ld [wMenuDataItems], a
ld a, $8
ld [wMenuBorderTopCoord], a
.asm_4accc
ld a, $b
ld [wMenuBorderLeftCoord], a
ld a, $1
ld [wMenuCursorPosition], a
call InitVerticalMenuCursor
ld hl, w2DMenuFlags1
set 6, [hl]
call StaticMenuJoypad
ld de, SFX_READ_TEXT_2
call PlaySFX
ldh a, [hJoyPressed]
bit 0, a
jr nz, .asm_4acf4
bit 1, a
jr nz, .asm_4acf3
jr .asm_4acaa
.asm_4acf3
ret
.asm_4acf4
ld a, [wd019]
bit 1, a
jr nz, .asm_4ad0e
ld a, [wMenuCursorY]
cp $1
jr z, Function4ad17
cp $2
jp z, Function4ad56
cp $3
jp z, Function4ad60
jr .asm_4acf3
.asm_4ad0e
ld a, [wMenuCursorY]
cp $1
jr z, Function4ad56
jr .asm_4acf3
Function4ad17:
call Function4adb2
jr z, .asm_4ad4a
ld hl, wd002
ld a, $ff
cp [hl]
jr z, .asm_4ad39
inc hl
cp [hl]
jr z, .asm_4ad39
inc hl
cp [hl]
jr z, .asm_4ad39
ld de, SFX_WRONG
call WaitPlaySFX
ld hl, MobileOnlyThreeMonMayEnterText
call PrintText
ret
.asm_4ad39
ld a, [wCurPartyMon]
ld [hl], a
call Function4a9c3
ret c
ld a, [wd019]
set 0, a
ld [wd019], a
ret
.asm_4ad4a
ld a, $ff
ld [hl], a
call Function4adc2
ret
MobileOnlyThreeMonMayEnterText:
text_far _MobileOnlyThreeMonMayEnterText
text_end
Function4ad56:
farcall OpenPartyStats
call WaitBGMap2
ret
Function4ad60:
farcall ManagePokemonMoves
ret
Function4ad67: ; unreferenced
ret
Function4ad68:
hlcoord 13, 12
ld de, String_4ad88
call PlaceString
call Function4adb2
jr c, .asm_4ad7e
hlcoord 13, 10
ld de, String_4ada0
jr .asm_4ad84
.asm_4ad7e
hlcoord 13, 10
ld de, String_4ad9a
.asm_4ad84
call PlaceString
ret
String_4ad88:
db "つよさをみる"
next "つかえるわざ"
next "もどる@"
String_4ad9a:
db "さんかする@"
String_4ada0:
db "さんかしない@"
String_4ada7:
db "つよさをみる"
next "もどる@" ; BACK
Function4adb2:
ld hl, wd002
ld a, [wCurPartyMon]
cp [hl]
ret z
inc hl
cp [hl]
ret z
inc hl
cp [hl]
ret z
scf
ret
Function4adc2:
ld a, [wd002]
cp $ff
jr nz, .skip
ld a, [wd003]
cp $ff
jr nz, .skip2
ld a, [wd004]
ld [wd002], a
ld a, $ff
ld [wd004], a
jr .skip
.skip2
ld [wd002], a
ld a, $ff
ld [wd003], a
.skip
ld a, [wd003]
cp $ff
ret nz
ld b, a
ld a, [wd004]
ld [wd003], a
ld a, b
ld [wd004], a
ret
Function4adf7:
ld a, [wd019]
bit 0, a
ret z
ld a, [wPartyCount]
inc a
ld [wMenuCursorY], a
ld a, $1
ld [wMenuCursorX], a
ld a, [wd019]
res 0, a
ld [wd019], a
ret

4244
mobile/mobile_22.asm Normal file

File diff suppressed because it is too large Load diff

1099
mobile/mobile_22_2.asm Normal file

File diff suppressed because it is too large Load diff

7712
mobile/mobile_40.asm Normal file

File diff suppressed because it is too large Load diff

1113
mobile/mobile_41.asm Normal file

File diff suppressed because it is too large Load diff

1687
mobile/mobile_42.asm Normal file

File diff suppressed because it is too large Load diff

1369
mobile/mobile_45_2.asm Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,877 @@
Function115d99:
ld de, MobileDialingGFX
ld hl, vTiles0 tile $60
lb bc, BANK(MobileDialingGFX), 20
call Get2bpp
xor a
ld [wc305], a
ld [wc306], a
ld [wc309], a
ld [wc30a], a
ld [wc30b], a
ld [wc30c], a
ld a, $10
ld [wc307], a
ld a, $18
ld [wc308], a
ret
Function115dc3:
xor a
ld [wc305], a
ld a, $a0
ld hl, wShadowOAMSprite31
ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
ret
Function115dd3:
ld a, [wc305]
and a
ret z
ld a, $a0
ld hl, wShadowOAMSprite31
ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
call Function115e22
ld a, [wc309]
sla a
ld c, a
ld b, 0
ld hl, Unknown_115e86
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld de, wShadowOAMSprite31
ld a, [wc307]
ld c, a
ld a, [wc308]
ld b, a
ld a, [hli]
.asm_115e04
push af
ld a, [hli]
add b
ld [de], a ; y
inc de
ld a, [hli]
add c
ld [de], a ; x
inc de
ld a, [hli]
ld [de], a ; tile id
inc de
ld a, [hli]
ld [de], a ; attributes
inc de
pop af
dec a
jr nz, .asm_115e04
ret
Function115e18:
ld a, c
ld [wc30a], a
xor a
ld [wc30b], a
jr Function115e2b
Function115e22:
ld hl, wc30c
dec [hl]
ret nz
ld hl, wc30b
inc [hl]
Function115e2b:
ld a, [wc30a]
sla a
ld c, a
ld b, 0
ld hl, Unknown_115e59
add hl, bc
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
push de
pop hl
ld a, [wc30b]
sla a
ld c, a
ld b, 0
add hl, bc
ld a, [hli]
cp $ff
jr nz, .not_end
xor a
ld [wc30b], a
jr Function115e2b
.not_end
ld [wc309], a
ld a, [hl]
ld [wc30c], a
ret
Unknown_115e59:
dw Unknown_115e61
dw Unknown_115e6c
dw Unknown_115e76
dw Unknown_115e79
; OAM idx (see Unknown_115e86), flip flags/duration
Unknown_115e61:
db $04, $08
db $05, $08
db $06, $08
db $07, $08
db $08, $08
db -1
Unknown_115e6c:
db $01, $08
db $02, $08
db $03, $08
db $09, $08
db $0a, $08
Unknown_115e76:
db $00, $08
db -1
Unknown_115e79:
db $0b, $08
db $0c, $08
db $0d, $08
db $0e, $08
db $0f, $08
db $00, $08
db -1
Unknown_115e86:
dw Unknown_115ea6
dw Unknown_115eb7
dw Unknown_115ecc
dw Unknown_115ee1
dw Unknown_115ef6
dw Unknown_115f13
dw Unknown_115f30
dw Unknown_115f4d
dw Unknown_115f6a
dw Unknown_115f87
dw Unknown_115f9c
dw Unknown_115fb1
dw Unknown_115fc6
dw Unknown_115fdb
dw Unknown_115ff0
dw Unknown_116005
Unknown_115ea6:
db 4
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115eb7:
db 5
dbsprite 1, 0, 0, 0, $64, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ecc:
db 5
dbsprite 1, 0, 0, 0, $65, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ee1:
db 5
dbsprite 1, 0, 0, 0, $66, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ef6:
db 7
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6d, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f13:
db 7
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6e, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f30:
db 7
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $6f, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f4d:
db 7
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $70, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f6a:
db 7
dbsprite 0, 0, 0, 0, $67, $01
dbsprite 0, 1, 0, 0, $68, $01
dbsprite 0, 2, 0, 0, $71, $00
dbsprite 1, 2, 0, 0, $69, $00
dbsprite 2, 2, 0, 0, $6a, $00
dbsprite 1, 3, 0, 0, $6b, $00
dbsprite 2, 3, 0, 0, $6c, $00
Unknown_115f87:
db 5
dbsprite 1, 0, 0, 0, $72, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115f9c:
db 5
dbsprite 1, 0, 0, 0, $73, $00
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fb1:
db 5
dbsprite 1, 0, 0, 1, $64, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fc6:
db 5
dbsprite 1, 0, 0, 1, $65, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115fdb:
db 5
dbsprite 1, 0, 0, 1, $66, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_115ff0:
db 5
dbsprite 1, 0, 0, 1, $72, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
Unknown_116005:
db 5
dbsprite 1, 0, 0, 1, $73, $60
dbsprite 0, 1, 0, 0, $60, $01
dbsprite 1, 1, 0, 0, $61, $01
dbsprite 0, 2, 0, 0, $62, $01
dbsprite 1, 2, 0, 0, $63, $01
MobileDialingGFX::
INCBIN "gfx/mobile/dialing.2bpp"
Function11615a:
xor a
ld [wc30d], a
ld [wc319], a
ld [wc310], a
ld [wc311], a
ld [wc312], a
ld [wc313], a
ld [wc314], a
ld [wc314 + 1], a
ld [wc314 + 4], a
ld [wc3f6], a
ld [wc3f8], a
ld [wc3f2], a
ld [wc3f4], a
ld a, $24
ld [wc3f5], a
ld a, $7
ld [wc3f7], a
ld a, $b0
ld [wc30e], a
ld [wc3f1], a
ld a, $48
ld [wc30f], a
ld [wc3f3], a
ret
Function11619d:
ld a, [wc30d]
and a
ret z
ld a, [wc319]
cp $2
jr c, .asm_1161b4
ld a, $a0
ld hl, wShadowOAM
ld bc, 25 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
.asm_1161b4
call Function1161b8
ret
Function1161b8:
jumptable .Jumptable, wc319
.Jumptable:
dw Function1161d5
dw Function116294
dw Function1162cb
dw Function1162f2
dw Function1163c0
dw Function11636e
dw Function116441
Function1161d5:
ldh a, [rSVBK]
push af
ld a, $6
ldh [rSVBK], a
ld hl, PichuBorderMobileTilemapAttrmap
ld de, wDecompressScratch
ld bc, 32 * 12 * 2
call CopyBytes
di
.wait_for_vblank
; Wait until a vblank would occur had interrupts not just been disabled.
ldh a, [rLY]
cp LY_VBLANK + 1
jr nz, .wait_for_vblank
ld a, $d0
ldh [rHDMA1], a
ld a, $0
ldh [rHDMA2], a
ld a, $1c
ldh [rHDMA3], a
xor a
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
ld a, $d0
ldh [rHDMA1], a
ld a, $80
ldh [rHDMA2], a
ld a, $1c
ldh [rHDMA3], a
ld a, $80
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
ld a, $d1
ldh [rHDMA1], a
ld a, $0
ldh [rHDMA2], a
ld a, $1d
ldh [rHDMA3], a
xor a
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
ld a, $1
ldh [rVBK], a
ld a, $d1
ldh [rHDMA1], a
ld a, $80
ldh [rHDMA2], a
ld a, $1c
ldh [rHDMA3], a
xor a
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
ld a, $d2
ldh [rHDMA1], a
ld a, $0
ldh [rHDMA2], a
ld a, $1c
ldh [rHDMA3], a
ld a, $80
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
ld a, $d2
ldh [rHDMA1], a
ld a, $80
ldh [rHDMA2], a
ld a, $1d
ldh [rHDMA3], a
xor a
ldh [rHDMA4], a
ld a, $8
ldh [rHDMA5], a
xor a
ldh [rVBK], a
ei
pop af
ldh [rSVBK], a
farcall ReloadMapPart
ld a, $8
ld [wMusicFade], a
ld de, MUSIC_MOBILE_ADAPTER
ld a, e
ld [wMusicFadeID], a
ld a, d
ld [wMusicFadeID + 1], a
ld a, [wc319]
inc a
ld [wc319], a
ret
MenuHeader_11628c: ; unreferenced
db MENU_BACKUP_TILES ; flags
menu_coords 0, 6, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
Function116294:
farcall Function170d02
ld a, [wc319]
inc a
ld [wc319], a
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, wBGPals1 palette 6
ld de, wc320
ld bc, 2 palettes
call CopyBytes
ld hl, PichuBorderMobileBGPalettes
ld de, wBGPals1 palette 7
ld bc, 1 palettes
call CopyBytes
call SetPalettes
pop af
ldh [rSVBK], a
ld a, $30
ldh [hWY], a
ret
Function1162cb:
farcall Function170cc6
ld a, [wc319]
inc a
ld [wc319], a
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, PichuBorderMobileOBPalettes
ld de, wOBPals1 + 2 palettes
ld bc, 6 palettes
call CopyBytes
call SetPalettes
pop af
ldh [rSVBK], a
ret
Function1162f2:
call Function11659d
call Function116758
call Function1167a6
ld a, [wc310]
cp EGG
ret z
sla a
ld c, a
ld b, 0
ld hl, Unknown_1168c5
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld a, [wc30e]
ld c, a
ld a, [wc30f]
ld b, a
ld a, [wc314 + 4]
ld e, a
ld a, [hli]
sub e
ld de, wShadowOAMSprite09
.asm_116321
push af
ld a, [hli]
add b
ld [de], a ; y
inc de
ld a, [hli]
add c
ld [de], a ; x
inc de
ld a, [hli]
ld [de], a ; tile id
inc de
ld a, [hli]
ld [de], a ; attributes
inc de
pop af
dec a
jr nz, .asm_116321
call Function116468
ld a, [wc3f5]
sla a
ld c, a
ld b, 0
ld hl, Unknown_1168c5
add hl, bc
ld a, [hli]
ld e, a
ld a, [hl]
ld d, a
push de
pop hl
ld a, [wc3f1]
ld c, a
ld a, [wc3f3]
ld b, a
ld a, [wc3f8]
ld e, a
ld a, [hli]
sub e
ld de, wShadowOAMSprite00
.asm_11635a
push af
ld a, [hli]
add b
ld [de], a ; y
inc de
ld a, [hli]
add c
ld [de], a ; x
inc de
ld a, [hli]
ld [de], a ; tile id
inc de
ld a, [hli]
ld [de], a ; attributes
inc de
pop af
dec a
jr nz, .asm_11635a
ret
Function11636e:
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, wBGPals2
ld de, wBGPals1
ld bc, 8 palettes
call CopyBytes
pop af
ldh [rSVBK], a
call SetPalettes
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
ld a, $a0
ld hl, wShadowOAM
ld bc, 16 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
ld a, $90
ldh [hWY], a
call UpdateSprites
pop af
ldh [rSVBK], a
farcall ReloadMapPart
ld a, $8
ld [wMusicFade], a
ld a, [wMapMusic]
ld [wMusicFadeID], a
xor a
ld [wMusicFadeID + 1], a
xor a
ld [wc319], a
ld [wc30d], a
ret
Function1163c0:
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
ld a, $a0
ld hl, wShadowOAM
ld bc, 16 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
call DelayFrame
farcall _RefreshSprites
ld b, SCGB_MAPPALS
call GetSGBLayout
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, wc320
ld de, wd030
ld bc, $0010
call CopyBytes
pop af
ldh [rSVBK], a
call SetPalettes
call DelayFrame
ld a, $90
ldh [hWY], a
call UpdateSprites
farcall _ClearSprites
pop af
ldh [rSVBK], a
farcall ReloadMapPart
ld a, [wLinkMode]
cp LINK_MOBILE
jr z, .asm_11642a
ld a, $8
ld [wMusicFade], a
ld a, [wMapMusic]
ld [wMusicFadeID], a
xor a
ld [wMusicFadeID + 1], a
jr .asm_116439
.asm_11642a
ld a, $8
ld [wMusicFade], a
ld a, LOW(MUSIC_NONE)
ld [wMusicFadeID], a
ld a, HIGH(MUSIC_NONE)
ld [wMusicFadeID + 1], a
.asm_116439
xor a
ld [wc319], a
ld [wc30d], a
ret
Function116441:
farcall Function17d405
ld a, $90
ldh [hWY], a
farcall ReloadMapPart
ld a, $8
ld [wMusicFade], a
ld a, [wMapMusic]
ld [wMusicFadeID], a
xor a
ld [wMusicFadeID + 1], a
xor a
ld [wc319], a
ld [wc30d], a
ret
Function116468:
call Function116567
ld a, [wc314]
cp $d
jr nz, .asm_1164a8
ld hl, wc30e
ld a, [hl]
cp $50
jr nc, .asm_116484
ld a, $50
sub [hl]
add $50
ld [wc3f1], a
jr .asm_11648d
.asm_116484
sub $50
ld c, a
ld a, $50
sub c
ld [wc3f1], a
.asm_11648d
ld hl, wc30f
ld a, [hl]
cp $60
jr nc, .asm_11649e
ld a, $60
sub [hl]
add $60
ld [wc3f3], a
ret
.asm_11649e
sub $60
ld c, a
ld a, $60
sub c
ld [wc3f3], a
ret
.asm_1164a8
ld hl, wc30e
ld a, $b0
cp [hl]
jr nc, .asm_1164b8
ld a, [wc3f1]
and a
jr z, .asm_11650b
jr .asm_1164f2
.asm_1164b8
ld a, [wc3f1]
sub [hl]
jr nc, .asm_1164c1
xor $ff
inc a
.asm_1164c1
ld b, a
ld c, $0
ld a, $5
.asm_1164c6
srl b
rr c
dec a
jr nz, .asm_1164c6
ld a, c
ld [wc3fa], a
ld a, b
ld [wc3f9], a
ld a, [wc3f1]
sub [hl]
jr c, .asm_1164f2
ld c, $0
ld a, [wc3fa]
xor $ff
add $1
rl c
ld [wc3fa], a
ld a, [wc3f9]
xor $ff
add c
ld [wc3f9], a
.asm_1164f2
ld a, [wc3f2]
ld l, a
ld a, [wc3f1]
ld h, a
ld a, [wc3fa]
ld e, a
ld a, [wc3f9]
ld d, a
add hl, de
ld a, l
ld [wc3f2], a
ld a, h
ld [wc3f1], a
.asm_11650b
ld hl, wc30f
ld a, $b0
cp [hl]
jr c, .asm_11654d
ld a, [wc3f3]
sub [hl]
jr nc, .asm_11651c
xor $ff
inc a
.asm_11651c
ld b, a
ld c, $0
ld a, $5
.asm_116521
srl b
rr c
dec a
jr nz, .asm_116521
ld a, c
ld [wc3fc], a
ld a, b
ld [wc3fb], a
ld a, [wc3f3]
sub [hl]
jr c, .asm_11654d
ld c, $0
ld a, [wc3fc]
xor $ff
add $1
rl c
ld [wc3fc], a
ld a, [wc3fb]
xor $ff
add c
ld [wc3fb], a
.asm_11654d
ld a, [wc3f4]
ld l, a
ld a, [wc3f3]
ld h, a
ld a, [wc3fc]
ld e, a
ld a, [wc3fb]
ld d, a
add hl, de
ld a, l
ld [wc3f4], a
ld a, h
ld [wc3f3], a
ret

View file

@ -0,0 +1,813 @@
GiveOddEgg:
farcall _GiveOddEgg
ret
Function11765d:
ldh a, [hInMenu]
push af
ld a, $1
ldh [hInMenu], a
call Function11766b
pop af
ldh [hInMenu], a
ret
Function11766b:
call Function117699
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
call Function1176ee
ld a, $5
call OpenSRAM
ld hl, $b1f3
ld de, wcd49
ld bc, $8
call CopyBytes
ld de, wc708
ld bc, $11
call CopyBytes
call CloseSRAM
pop af
ldh [rSVBK], a
ret
Function117699:
ld a, $5
call OpenSRAM
ld hl, wcd49
ld de, $b1f3
ld bc, $8
call CopyBytes
ld hl, wc708
ld bc, $11
call CopyBytes
call CloseSRAM
xor a
ld [wcd49], a
ld [wcd4a], a
ld [wcd4b], a
ld [wcd4c], a
ld [wcd4d], a
ld [wcd4e], a
ld [wcd4f], a
ld hl, wc708
ld bc, $11
call ByteFill
call ClearBGPalettes
call ClearSprites
farcall Function171c87
farcall ReloadMapPart
farcall ClearSpriteAnims
ret
Function1176ee:
.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
jr nz, .quit
call Function117719
farcall PlaySpriteAnimations
farcall ReloadMapPart
jr .loop
.quit
farcall ClearSpriteAnims
call ClearBGPalettes
call ClearScreen
call ClearSprites
ret
Function117719:
jumptable Jumptable_117728, wcd49
Jumptable_117728:
dw Function117738
dw Function117764
dw Function1178aa
dw Function1178e8
dw Function117942
dw Function117976
dw Function117984
dw Function1179a7
Function117738:
farcall Function171ccd
depixel 6, 3
ld a, $1d
call InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld a, $6
ld [hl], a
depixel 9, 4
ld a, $1d
call InitSpriteAnimStruct
ld hl, $c
add hl, bc
ld a, $7
ld [hl], a
ld a, $3
ld [wcd23], a
jp MobilePassword_IncrementJumptable
Function117764:
ld a, [wcd4a]
cp $10
jr nz, .asm_11776f
ld a, $1
jr .asm_117770
.asm_11776f
xor a
.asm_117770
ld [wcd24], a
ld hl, hJoyPressed
ld a, [hl]
and SELECT
jr nz, Function117764_select
ld a, [hl]
and START
jr nz, Function117764_start
ld a, [hl]
and A_BUTTON
jp nz, Function117764_a_button
ld a, [hl]
and B_BUTTON
jr nz, Function117764_b_button
ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, Function117764_d_up
ld a, [hl]
and D_DOWN
jr nz, Function117764_d_down
ld a, [hl]
and D_LEFT
jp nz, Function117764_d_left
ld a, [hl]
and D_RIGHT
jp nz, Function117764_d_right
ret
Function117764_select:
farcall Function171cf0
ret
Function117764_start:
ld a, $2
ld [wcd4c], a
ld a, $4
ld [wcd4d], a
ret
Function1177b7:
ld a, $3
ld [wcd24], a
ld a, [wcd4a]
and a
jr z, .asm_1177c5
jp MobilePassword_IncrementJumptable
.asm_1177c5
ld a, $6
ld [wcd49], a
ret
Function1177cb:
ld a, $80
ld [wcd49], a
ld [wScriptVar], a
jp MobilePassword_IncrementJumptable
Function117764_b_button:
call PlayClickSFX
ld a, [wcd4a]
and a
ret z
dec a
ld [wcd4a], a
ld e, a
ld d, 0
ld hl, wc708
add hl, de
xor a
ld [hl], a
hlcoord 2, 4
add hl, de
ld [hl], a
ret
Function117764_d_up:
ld a, [wcd4d]
and a
ret z
dec a
ld [wcd4d], a
cp $3
ret nz
ld a, [wcd4c]
ld e, a
sla a
sla a
add e
Function117764_d_vertical_load:
ld [wcd4c], a
ret
Function117764_d_down:
ld a, [wcd4d]
cp $4
ret z
inc a
ld [wcd4d], a
cp $4
ret nz
ld a, [wcd4c]
cp $a
jr nc, .asm_117825
cp $5
jr nc, .asm_117829
xor a
jr Function117764_d_vertical_load
.asm_117825
ld a, $2
jr Function117764_d_vertical_load
.asm_117829
ld a, $1
jr Function117764_d_vertical_load
Function117764_d_left:
ld a, [wcd4c]
and a
ret z
dec a
ld [wcd4c], a
ret
Function117764_d_right:
ld e, $d
ld a, [wcd4d]
cp $4
jr nz, .wrap
ld e, $2
.wrap
ld a, [wcd4c]
cp e
ret z
inc a
ld [wcd4c], a
ret
Function117764_a_button:
call PlayClickSFX
ld a, [wcd4d]
cp $4
jr nz, .not_4
ld a, [wcd4c]
cp $2
jp z, Function1177b7
cp $1
jp z, Function1177cb
jp Function117764_select
.not_4
ld a, [wcd4a]
ld e, a
cp $10
jp z, Function117764_start
inc a
ld [wcd4a], a
ld d, $0
ld a, [wcd4b]
and a
jr nz, .ascii_symbols
ld hl, Unknown_117a0f
jr .got_ascii
.ascii_symbols
ld hl, Unknown_117a47
.got_ascii
push de
ld a, [wcd4c]
ld b, a
ld a, [wcd4d]
ld c, $e
call SimpleMultiply
add b
ld c, a
ld b, 0
add hl, bc
ld a, [hl]
ld hl, wc708
add hl, de
ld [hl], a
pop de
hlcoord 2, 4
add hl, de
sub $20
ld [hl], a
ld a, e
cp $f
ret nz
jp Function117764_start
Function1178aa:
ld hl, MenuHeader_1179b5
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
ld hl, MenuHeader_1179bd
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
farcall ReloadMapPart
hlcoord 16, 8
ld de, YessNoString_1179c5
call PlaceString
hlcoord 15, 10
ld a, "▶"
ld [hl], a
hlcoord 1, 14
ld de, AskSavePasswordString
call PlaceString
ld a, $1
ld [wcd4e], a
jp MobilePassword_IncrementJumptable
Function1178e8:
ldh a, [hJoyPressed]
cp B_BUTTON
jr z, .b_button
cp A_BUTTON
jr z, .a_button
cp D_DOWN
jr z, .d_down
cp D_UP
ret nz
ld a, [wcd4e]
and a
ret z
dec a
ld [wcd4e], a
hlcoord 15, 8
ld a, "▶"
ld [hl], a
hlcoord 15, 10
ld a, " "
ld [hl], a
ret
.d_down
ld a, [wcd4e]
and a
ret nz
inc a
ld [wcd4e], a
hlcoord 15, 8
ld a, " "
ld [hl], a
hlcoord 15, 10
ld a, "▶"
ld [hl], a
ret
.a_button
call PlayClickSFX
ld a, [wcd4e]
and a
jr nz, .b_button
call ExitMenu
ld a, $1
ld [wcd4f], a
jp MobilePassword_IncrementJumptable
.b_button
call ExitMenu
call ExitMenu
jp MobilePassword_IncrementJumptable
Function117942:
call SpeechTextbox
hlcoord 1, 14
ld de, SavedPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
ld a, BANK(sMobileLoginPassword)
call OpenSRAM
ld a, [wcd4f]
ld [sMobileLoginPassword], a
ld hl, wc708
ld de, sMobileLoginPassword + 1
ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
call CopyBytes
call CloseSRAM
ld a, [wcd4f]
and a
jr z, asm_11797e
call MobilePassword_IncrementJumptable
Function117976:
ld hl, wcd4e
dec [hl]
ret nz
call ExitMenu
asm_11797e:
ld a, $80
ld [wcd49], a
ret
Function117984:
ld hl, MenuHeader_1179b5
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
farcall ReloadMapPart
hlcoord 1, 14
ld de, NotAPokemonPasswordString
call PlaceString
ld a, $1e
ld [wcd4e], a
call MobilePassword_IncrementJumptable
Function1179a7:
ld hl, wcd4e
dec [hl]
ret nz
call ExitMenu
ld a, $1
ld [wcd49], a
ret
MenuHeader_1179b5:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
MenuHeader_1179bd:
db MENU_BACKUP_TILES ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
YessNoString_1179c5:
db "はい"
next "いいえ@"
AskSavePasswordString:
db "こ<NO>パスワード¯ほぞんして"
line "おきますか?@"
NotAPokemonPasswordString:
db "パスワード<PKMN>にゅうりょく"
line "されていません!@"
SavedPasswordString:
db "ログインパスワード¯ほぞん"
line "しました@"
MobilePassword_IncrementJumptable:
ld hl, wcd49
inc [hl]
ret
pushc
setcharmap ascii
Unknown_117a0f:
db "ABCDEFGHIJKLMNOPQRSTUVWXYZ "
db "abcdefghijklmnopqrstuvwxyz "
Unknown_117a47:
db "0123456789 "
db "!\"#$%&'()*+ "
db ",-./:;<=>?@ "
db "[\\]^_`\{|}~ "
popc
; everything from here to the end of the bank is related to the
; Mobile Stadium option from the continue/newgame menu.
; Needs better function names
MobileStudium:
ldh a, [hInMenu]
push af
ld a, $1
ldh [hInMenu], a
call Function117a8d
pop af
ldh [hInMenu], a
ret
Function117a8d:
call Function117a94
call Function117acd
ret
Function117a94:
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wcf65], a
ld [wcf66], a
call ClearBGPalettes
call ClearSprites
farcall Function172e78
farcall HDMATransferAttrmapAndTilemapToWRAMBank3
ret
Function117ab4:
call ClearBGPalettes
call ClearSprites
farcall Function172e78
farcall Function172eb9
farcall ReloadMapPart
ret
Function117acd:
call JoyTextDelay
ld a, [wJumptableIndex]
bit 7, a
jr nz, .asm_117ae2
call Function117ae9
farcall HDMATransferAttrmapAndTilemapToWRAMBank3
jr Function117acd
.asm_117ae2
call ClearBGPalettes
call ClearSprites
ret
Function117ae9:
jumptable .Jumptable, wJumptableIndex
.Jumptable:
dw Function117b06
dw Function117b14
dw Function117b28
dw Function117b31
dw Function117b4f
dw Function117bb6
dw Function117c4a
Function117b06:
farcall Function172eb9
ld a, $10
ld [wcf64], a
jp MobileStudium_JumptableIncrement
Function117b14:
ld hl, wcf64
dec [hl]
ret nz
ld hl, MenuHeader_117cbc
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
jp MobileStudium_JumptableIncrement
Function117b28:
ld hl, MobileStadiumEntryText
call PrintText
jp MobileStudium_JumptableIncrement
Function117b31:
ld hl, MenuHeader_117cc4
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
hlcoord 16, 8
ld de, YesNo117ccc
call PlaceString
hlcoord 15, 8
ld a, "▶"
ld [hl], a
jp MobileStudium_JumptableIncrement
Function117b4f:
ldh a, [hJoyPressed]
cp B_BUTTON
jr z, .b_button
cp A_BUTTON
jr z, .a_button
cp D_DOWN
jr z, .d_down
cp D_UP
ret nz
ld a, [wcf64]
and a
ret z
dec a
ld [wcf64], a
hlcoord 15, 8
ld a, "▶"
ld [hl], a
hlcoord 15, 10
ld a, " "
ld [hl], a
ret
.d_down
ld a, [wcf64]
and a
ret nz
inc a
ld [wcf64], a
hlcoord 15, 8
ld a, " "
ld [hl], a
hlcoord 15, 10
ld a, "▶"
ld [hl], a
ret
.a_button
call PlayClickSFX
ld a, [wcf64]
and a
jr nz, .b_button
call ExitMenu
call ExitMenu
farcall ReloadMapPart
jp MobileStudium_JumptableIncrement
.b_button
call ExitMenu
call ExitMenu
farcall ReloadMapPart
ld a, $80
ld [wJumptableIndex], a
ret
Function117bb6:
call Function117c89
ld a, $1
ldh [hBGMapMode], a
farcall Function118284
call ClearSprites
ld a, [wMobileErrorCodeBuffer]
and a
jr z, .asm_117be7
cp $a
jr z, .asm_117be1
.asm_117bd0
ld a, $2
ld [wc303], a
farcall DisplayMobileError
ld a, $80
ld [wJumptableIndex], a
ret
.asm_117be1
ld a, $80
ld [wJumptableIndex], a
ret
.asm_117be7
ldh a, [rSVBK]
push af
ld a, $3
ldh [rSVBK], a
ld a, [wcd89]
and $1
jr nz, .asm_117c16
ld a, [w3_d000]
cp $fe
jr nz, .asm_117c16
ld a, [w3_d001]
cp $f
jr nz, .asm_117c16
ld hl, w3_dfec
ld de, wcd69
ld c, $10
.asm_117c0b
ld a, [de]
inc de
cp [hl]
jr nz, .asm_117c16
inc hl
dec c
jr nz, .asm_117c0b
jr .asm_117c20
.asm_117c16
pop af
ldh [rSVBK], a
ld a, $d3
ld [wMobileErrorCodeBuffer], a
jr .asm_117bd0
.asm_117c20
pop af
ldh [rSVBK], a
farcall Function172eb9
ldh a, [rSVBK]
push af
ld a, $3
ldh [rSVBK], a
ld a, $7
call OpenSRAM
ld hl, w3_d002
ld de, $b000
ld bc, $1000
call CopyBytes
call CloseSRAM
pop af
ldh [rSVBK], a
jp MobileStudium_JumptableIncrement
Function117c4a:
ld hl, MenuHeader_117cbc
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
farcall ReloadMapPart
ld hl, MobileStadiumSuccessText
call PrintText
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, wBGPals1
ld de, 1 palettes
ld c, 8
.loop
push hl
ld a, LOW(PALRGB_WHITE)
ld [hli], a
ld a, HIGH(PALRGB_WHITE)
ld [hl], a
pop hl
add hl, de
dec c
jr nz, .loop
call RotateThreePalettesRight
pop af
ldh [rSVBK], a
ld a, $80
ld [wJumptableIndex], a
ret
Function117c89:
ld a, $7
call OpenSRAM
ld l, $0
ld h, l
ld de, $b000
ld bc, $0ffc
.asm_117c97
push bc
ld a, [de]
inc de
ld c, a
ld b, 0
add hl, bc
pop bc
dec bc
ld a, b
or c
jr nz, .asm_117c97
ld a, l
ld [wcd83], a
ld a, h
ld [wcd84], a
ld hl, $bfea
ld de, wcd69
ld bc, $10
call CopyBytes
call CloseSRAM
ret
MenuHeader_117cbc:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
MenuHeader_117cc4:
db MENU_BACKUP_TILES ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default item
YesNo117ccc:
db "はい"
next "いいえ@"
MobileStadiumEntryText:
text_far _MobileStadiumEntryText
text_end
MobileStadiumSuccessText:
text_far _MobileStadiumSuccessText
text_end
MobileStudium_JumptableIncrement:
ld hl, wJumptableIndex
inc [hl]
ret

7714
mobile/mobile_46.asm Normal file

File diff suppressed because it is too large Load diff

781
mobile/mobile_5b.asm Normal file
View file

@ -0,0 +1,781 @@
Function16c000: ; unreferenced
; Only for CGB
ldh a, [hCGB]
and a
ret z
; Only do this once per boot cycle
ldh a, [hSystemBooted]
and a
ret z
; Disable the joypad during mobile setup
ld a, [wJoypadDisable]
push af
set JOYPAD_DISABLE_SGB_TRANSFER_F, a
ld [wJoypadDisable], a
; Do stuff
call MobileSystemSplashScreen_InitGFX ; Load GFX
farcall SetRAMStateForMobile
farcall EnableMobile
call .RunJumptable
farcall DisableMobile
; Prevent this routine from running again
; until the next time the system is turned on
xor a
ldh [hSystemBooted], a
; Restore the flag state
pop af
ld [wJoypadDisable], a
ret
.RunJumptable:
xor a
ld [wJumptableIndex], a
ld [wcf64], a
ld [wd002], a
ld [wd003], a
.loop
call DelayFrame
farcall Function10635c
ld a, [wd002]
ld hl, .Jumptable
rst JumpTable
call Function16cb2e
call Function16cbae
ld a, [wd002]
cp $ff
jr nz, .loop
ret
.Jumptable:
dw .init
dw Function16c0ba
dw Function16c089
dw Function16c09e
dw Function16c0a8
dw Function16c0dc
dw Function16c0ec
dw Function16c0ba
dw Function16c0ca
dw Function16c0dc
dw Function16c0ec
dw .quit
.init
ld a, [wcf64]
and a
ret z
ld [wd002], a
xor a
ld [wd003], a
ret
.quit
push af
ld a, $ff
ld [wd002], a
pop af
ret
Function16c089:
ld a, $1
ld [wd1eb], a
ld [wd1f1], a
xor a
ldh [hWY], a
call Function16c0fa
ld a, [wd002]
ld [wcf64], a
ret
Function16c09e:
ld a, [wcf64]
cp $4
ret nz
call Function16c0fa
ret
Function16c0a8:
xor a
ld [wd1eb], a
ld [wd1f1], a
call ClearSprites
ld a, $90
ldh [hWY], a
call Function16c0fa
ret
Function16c0ba:
call Function16c943
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call c, Function16c0fa
ret
Function16c0ca:
ld a, [wd003]
cp $28
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call z, Function16c0fa
ret
Function16c0dc:
call Function16ca11
push af
ld a, [wd003]
inc a
ld [wd003], a
pop af
call c, Function16c0fa
ret
Function16c0ec:
call ClearBGPalettes
call ClearScreen
push af
ld a, $ff
ld [wd002], a
pop af
ret
Function16c0fa:
push af
ld a, [wd002]
inc a
ld [wd002], a
xor a
ld [wd003], a
pop af
ret
MobileSystemSplashScreen_InitGFX:
call DisableLCD
ld hl, vTiles2
ld de, .Tiles
lb bc, BANK(.Tiles), 104
call Get2bpp
call .LoadPals
call .LoadTilemap
call .LoadAttrmap
hlbgcoord 0, 0
call Function16cc73
call Function16cc02
xor a
ldh [hBGMapMode], a
call EnableLCD
ret
.LoadPals:
ld de, wBGPals1
ld hl, MobileSplashScreenPalettes
ld bc, 8
ld a, $5
call FarCopyWRAM
farcall ApplyPals
ret
.LoadTilemap:
hlcoord 0, 0
ld bc, 20
xor a
call ByteFill
ld hl, .Tilemap
decoord 0, 1
ld bc, $0154
call CopyBytes
ret
.LoadAttrmap:
hlcoord 0, 0, wAttrmap
ld bc, SCREEN_WIDTH
xor a
call ByteFill
ld hl, .Attrmap
decoord 0, 1, wAttrmap
ld bc, 17 * SCREEN_WIDTH
call CopyBytes
ret
.Tiles:
INCBIN "gfx/mobile/mobile_splash.2bpp"
.Tilemap:
INCBIN "gfx/mobile/mobile_splash.tilemap"
.Attrmap:
INCBIN "gfx/mobile/mobile_splash.attrmap"
MobileSplashScreenPalettes:
INCLUDE "gfx/mobile/mobile_splash.pal"
Function16c943:
ld a, [wd003]
and a
jr nz, .asm_16c95e
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld a, $ff
ld bc, 1 palettes
ld hl, wBGPals1
call ByteFill
pop af
ldh [rSVBK], a
.asm_16c95e
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld e, $0
ld a, $0
.asm_16c969
ld hl, MobileSplashScreenPalettes
call Function16cab6
call Function16cabb
ld d, a
ld hl, wBGPals1
call Function16cab6
call Function16cabb
cp d
jr z, .asm_16c991
ld b, $1
.asm_16c981
dec a
cp d
jr z, .asm_16c988
dec b
jr nz, .asm_16c981
.asm_16c988
ld hl, wBGPals1
call Function16cab6
call Function16cadc
.asm_16c991
ld hl, MobileSplashScreenPalettes
call Function16cab6
call Function16cad8
ld d, a
ld hl, wBGPals1
call Function16cab6
call Function16cad8
cp d
jr z, .asm_16c9b9
ld b, $1
.asm_16c9a9
dec a
cp d
jr z, .asm_16c9b0
dec b
jr nz, .asm_16c9a9
.asm_16c9b0
ld hl, wBGPals1
call Function16cab6
call Function16cb08
.asm_16c9b9
ld hl, MobileSplashScreenPalettes
call Function16cab6
call Function16cac4
ld d, a
ld hl, wBGPals1
call Function16cab6
call Function16cac4
cp d
jr z, .asm_16c9e1
ld b, $1
.asm_16c9d1
dec a
cp d
jr z, .asm_16c9d8
dec b
jr nz, .asm_16c9d1
.asm_16c9d8
ld hl, wBGPals1
call Function16cab6
call Function16cae8
.asm_16c9e1
inc e
inc e
ld a, e
cp $8
jr nz, .asm_16c969
farcall ApplyPals
call SetPalettes
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
ld a, [wd003]
cp $1f
jr z, .asm_16ca09
pop af
ldh [rSVBK], a
ld e, $0
pop af
ldh [rSVBK], a
and a
ret
.asm_16ca09
pop af
ldh [rSVBK], a
pop af
ldh [rSVBK], a
scf
ret
Function16ca11:
ld a, [wd003]
and a
jr nz, .asm_16ca1d
farcall ApplyPals
.asm_16ca1d
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld e, $0
ld a, $0
.asm_16ca28
ld hl, wBGPals1
call Function16cab6
call Function16cabb
cp $1f
jr z, .asm_16ca48
ld b, $1
.asm_16ca37
inc a
cp $1f
jr z, .asm_16ca3f
dec b
jr nz, .asm_16ca37
.asm_16ca3f
ld hl, wBGPals1
call Function16cab6
call Function16cadc
.asm_16ca48
ld hl, wBGPals1
call Function16cab6
call Function16cad8
cp $1f
jr z, .asm_16ca68
ld b, $1
.asm_16ca57
inc a
cp $1f
jr z, .asm_16ca5f
dec b
jr nz, .asm_16ca57
.asm_16ca5f
ld hl, wBGPals1
call Function16cab6
call Function16cb08
.asm_16ca68
ld hl, wBGPals1
call Function16cab6
call Function16cac4
cp $1f
jr z, .asm_16ca88
ld b, $1
.asm_16ca77
inc a
cp $1f
jr z, .asm_16ca7f
dec b
jr nz, .asm_16ca77
.asm_16ca7f
ld hl, wBGPals1
call Function16cab6
call Function16cae8
.asm_16ca88
inc e
inc e
ld a, e
cp $8
jr nz, .asm_16ca28
farcall ApplyPals
call SetPalettes
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
ld a, [wd003]
cp $1f
jr z, .asm_16caae
pop af
ldh [rSVBK], a
pop af
ldh [rSVBK], a
and a
ret
.asm_16caae
pop af
ldh [rSVBK], a
pop af
ldh [rSVBK], a
scf
ret
Function16cab6:
ld b, $0
ld c, e
add hl, bc
ret
Function16cabb:
inc hl
ld a, [hl]
srl a
srl a
and $1f
ret
Function16cac4:
inc hl
ld a, [hld]
and $3
ld b, a
ld a, [hl]
sla a
rl b
sla a
rl b
sla a
rl b
ld a, b
ret
Function16cad8:
ld a, [hl]
and $1f
ret
Function16cadc:
sla a
sla a
ld b, a
inc hl
ld a, [hl]
and $83
or b
ld [hl], a
ret
Function16cae8:
ld c, a
srl a
srl a
srl a
ld b, a
inc hl
ld a, [hl]
and $fc
or b
ld [hld], a
ld a, c
sla a
sla a
sla a
sla a
sla a
ld b, a
ld a, [hl]
and $1f
or b
ld [hl], a
ret
Function16cb08:
ld b, a
ld a, [hl]
and $e0
or b
ld [hl], a
ret
Function16cb0f:
xor a
ld [wd1ea], a
ld [wd1eb], a
xor a
ld [wd1ec], a
ld a, $70
ld [wd1ee], a
ld a, $4
ld [wd1ed], a
ld a, $a0
ld [wd1ef], a
xor a
ld [wd1f0], a
ret
Function16cb2e:
ld a, [wd1eb]
and a
ret z
call Function16cb40
ld hl, Unknown_16cb86
ld de, wShadowOAM
call Function16cb5d
ret
Function16cb40:
ld hl, wd1ec
inc [hl]
ld a, [hl]
cp $18
ret c
xor a
ld [hl], a
ld a, [wd1ef]
cp $a0
jr nz, .asm_16cb57
ld a, $a7
ld [wd1ef], a
ret
.asm_16cb57
ld a, $a0
ld [wd1ef], a
ret
Function16cb5d:
ld a, [hli]
and a
ret z
.asm_16cb60
push af
ld a, [wd1ee]
add [hl]
add $10
ld [de], a
inc hl
inc de
ld a, [wd1ed]
add [hl]
add $8
ld [de], a
inc hl
inc de
ld a, [wd1ef]
add [hl]
ld [de], a
inc hl
inc de
ld a, [wd1f0]
or [hl]
ld [de], a
inc hl
inc de
pop af
dec a
jr nz, .asm_16cb60
ret
Unknown_16cb86:
db 7
db 0, 0, 0, 1
db 8, 0, 1, 1
db 8, 8, 2, 0
db 8, 16, 3, 0
db 16, 0, 4, 1
db 16, 8, 5, 0
db 16, 16, 6, 0
Function16cba3:
xor a
ld [wd1f1], a
ld [wd1f2], a
ld [wd1f3], a
ret
Function16cbae:
ld a, [wd1f1]
and a
ret z
call Function16cbba
call Function16cbd1
ret
Function16cbba:
ld hl, wd1f2
inc [hl]
ld a, [hl]
cp $c
ret c
xor a
ld [hl], a
ld a, [wd1f3]
inc a
cp $4
jr c, .asm_16cbcd
xor a
.asm_16cbcd
ld [wd1f3], a
ret
Function16cbd1:
ld a, [wd1f3]
ld c, a
ld b, 0
ld hl, Unknown_16cbfb
add hl, bc
ld a, [hl]
ld bc, 2
ld hl, Unknown_16cfa3
call AddNTimes
ld de, wBGPals1 palette 1 color 2
ld bc, PAL_COLOR_SIZE
ld a, $5
call FarCopyWRAM
farcall ApplyPals
ld a, TRUE
ldh [hCGBPalUpdate], a
ret
Unknown_16cbfb:
db 0, 1, 2, 1, 0, 1, 2
Function16cc02:
call Function16cc18
call Function16cc49
call Function16cc62
call Function16cc25
call Function16cc6e
call Function16cb0f
call Function16cba3
ret
Function16cc18:
ld hl, vTiles1
ld de, MobileAdapterCheckGFX
lb bc, BANK(MobileAdapterCheckGFX), 46
call Get2bpp
ret
Function16cc25:
ld hl, Unknown_16cfa9
ld de, wBGPals1 + 1 palettes
call .CopyPal
ld hl, Unknown_16cfb1
ld de, wOBPals1
call .CopyPal
ld hl, Unknown_16cfb9
ld de, wOBPals1 + 1 palettes
call .CopyPal
ret
.CopyPal:
ld bc, 1 palettes
ld a, $5
jp FarCopyWRAM
Function16cc49:
hlcoord 4, 15
ld a, $80
call Function16cc5a
hlcoord 4, 16
ld a, $90
call Function16cc5a
ret
Function16cc5a:
ld c, $10
.asm_16cc5c
ld [hli], a
inc a
dec c
jr nz, .asm_16cc5c
ret
Function16cc62:
hlcoord 0, 15, wAttrmap
ld bc, $0028
ld a, $1
call ByteFill
ret
Function16cc6e:
hlbgcoord 0, 0, vBGMap1
jr Function16cc73
Function16cc73:
ldh a, [rVBK]
push af
ld a, $0
ldh [rVBK], a
push hl
decoord 0, 0
call Function16cc90
pop hl
ld a, $1
ldh [rVBK], a
decoord 0, 0, wAttrmap
call Function16cc90
pop af
ldh [rVBK], a
ret
Function16cc90:
ld bc, $1214
.asm_16cc93
push bc
.asm_16cc94
ld a, [de]
inc de
ld [hli], a
dec c
jr nz, .asm_16cc94
ld bc, $000c
add hl, bc
pop bc
dec b
jr nz, .asm_16cc93
ret
MobileAdapterCheckGFX:
INCBIN "gfx/mobile/mobile_splash_check.2bpp"
Unknown_16cfa3:
RGB 31, 31, 31
RGB 25, 27, 29
RGB 16, 19, 25
Unknown_16cfa9:
RGB 31, 31, 31
RGB 25, 27, 29
RGB 31, 31, 31
RGB 07, 07, 07
Unknown_16cfb1:
RGB 31, 31, 31
RGB 13, 09, 18
RGB 26, 21, 16
RGB 07, 07, 07
Unknown_16cfb9:
RGB 31, 31, 31
RGB 18, 05, 02
RGB 27, 11, 12
RGB 07, 07, 07

875
mobile/mobile_5c.asm Normal file
View file

@ -0,0 +1,875 @@
Function170000:
ld a, [wOfferSpecies]
ld [wPlayerTrademonSpecies], a
ld hl, wOfferMonSender
ld de, wPlayerTrademonSenderName
ld bc, NAME_LENGTH_JAPANESE - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, wOfferMonOT
ld de, wPlayerTrademonOTName
ld bc, NAME_LENGTH_JAPANESE - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, wOfferMonDVs
ld a, [hli]
ld [wPlayerTrademonDVs], a
ld a, [hl]
ld [wPlayerTrademonDVs + 1], a
ld hl, wOfferMonID
ld a, [hli]
ld [wPlayerTrademonID], a
ld a, [hl]
ld [wPlayerTrademonID + 1], a
ld bc, wOfferMon
farcall GetCaughtGender
ld a, c
ld [wPlayerTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
ld hl, wc608
ld de, $d800
ld bc, TRADE_CORNER_REQUEST_LENGTH
call CopyBytes
ret
Function17005a:
ld a, BANK(sOfferMon)
call OpenSRAM
ld a, [sOfferSpecies]
ld [wOTTrademonSpecies], a
ld hl, sOfferMonSender
ld de, wOTTrademonSenderName
ld bc, NAME_LENGTH_JAPANESE - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, sOfferMonOT
ld de, wOTTrademonOTName
ld bc, NAME_LENGTH_JAPANESE - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, sOfferMonDVs
ld a, [hli]
ld [wOTTrademonDVs], a
ld a, [hl]
ld [wOTTrademonDVs + 1], a
ld hl, sOfferMonID
ld a, [hli]
ld [wOTTrademonID], a
ld a, [hl]
ld [wOTTrademonID + 1], a
ld bc, sOfferMon
farcall GetCaughtGender
ld a, c
ld [wOTTrademonCaughtData], a
ld a, [wcd81]
ld [wc74e], a
call CloseSRAM
ret
INCLUDE "engine/events/battle_tower/battle_tower.asm"
Function170be4:
ld a, BANK(s5_a894)
call OpenSRAM
xor a
ld hl, s5_a894
ld bc, 6 + 2
call ByteFill
call CloseSRAM
ret
Clears5_a89a:
ld a, BANK(s5_a89a)
call OpenSRAM
ld hl, s5_a89a
xor a
ld [hli], a
ld [hl], a
call CloseSRAM
ret
Function170c06: ; unreferenced
ld a, BANK(s5_a894)
call OpenSRAM
ld hl, s5_a894
ld a, [wBattleResult]
and a ; WIN?
jr nz, .asm_170c15
inc [hl]
.asm_170c15
inc hl
inc hl
ld a, [s5_a89a + 1]
add [hl]
ld [hld], a
ld a, [s5_a89a]
adc [hl]
ld [hli], a
jr nc, .asm_170c27
ld a, $ff
ld [hld], a
ld [hli], a
.asm_170c27
inc hl
push hl
ld de, 0
xor a
ld [wTempByteValue], a
.asm_170c30
ld hl, wPartyMon1HP
ld a, [wTempByteValue]
call GetPartyLocation
ld a, [hli]
ld b, a
ld c, [hl]
inc hl
inc hl
ld a, [hld]
sub c
ld c, a
ld a, [hl]
sbc b
ld b, a
push de
pop hl
add hl, bc
push hl
pop de
jr c, .asm_170c58
ld a, [wTempByteValue]
inc a
ld [wTempByteValue], a
cp $3
jr c, .asm_170c30
jr .asm_170c5b
.asm_170c58
ld de, -1
.asm_170c5b
pop hl
inc hl
ld a, e
add [hl]
ld [hld], a
ld a, d
adc [hl]
ld [hli], a
jr nc, .asm_170c69
ld a, $ff
ld [hld], a
ld [hli], a
.asm_170c69
inc hl
push hl
ld b, $0
ld c, $0
.asm_170c6f
ld hl, wPartyMon1HP
ld a, b
push bc
call GetPartyLocation
pop bc
ld a, [hli]
or [hl]
jr nz, .asm_170c7d
inc c
.asm_170c7d
inc b
ld a, b
cp $3
jr c, .asm_170c6f
pop hl
ld a, [hl]
add c
ld [hl], a
call CloseSRAM
ret
Function170c8b:
ld hl, wLastEnemyCounterMove
ld b, $5
.asm_170c90
ld a, [hl]
xor $ff
ld [hli], a
dec b
jr nz, .asm_170c90
ret
CheckBTMonMovesForErrors:
ld c, BATTLETOWER_PARTY_LENGTH
ld hl, wBT_OTTempMon1Moves
.loop
push hl
ld a, [hl]
cp MOVE_TABLE_ENTRIES + 1
jr c, .okay
push hl
ld hl, POUND
call GetMoveIDFromIndex
pop hl
ld [hl], a
.okay
inc hl
ld b, NUM_MOVES - 1
.loop2
ld a, [hl]
and a
jr z, .loop3
cp MOVE_TABLE_ENTRIES + 1
jr c, .next
.loop3
xor a
ld [hl], a
inc hl
dec b
jr nz, .loop3
jr .done
.next
inc hl
dec b
jr nz, .loop2
.done
pop hl
ld de, NICKNAMED_MON_STRUCT_LENGTH
add hl, de
dec c
jr nz, .loop
ret
Function170cc6:
ldh a, [rSVBK]
push af
ld a, BANK(wDecompressScratch)
ldh [rSVBK], a
ld hl, PichuAnimatedMobileGFX
ld de, wDecompressScratch
call Decompress
ld a, 1
ldh [rVBK], a
ld de, wDecompressScratch
ld hl, vTiles0
lb bc, BANK(wDecompressScratch), 193
call Get2bpp
xor a
ldh [rVBK], a
ld hl, ElectroBallMobileGFX
ld de, wDecompressScratch
call Decompress
ld de, wBGPals1
ld hl, vTiles0
lb bc, BANK(wDecompressScratch), 83
call Get2bpp
pop af
ldh [rSVBK], a
ret
Function170d02:
ld a, $1
ldh [rVBK], a
ld de, PichuBorderMobileGFX
ld hl, vTiles0 tile $c1
lb bc, BANK(PichuBorderMobileGFX), 24
call Get2bpp
xor a
ldh [rVBK], a
ret
PichuAnimatedMobileGFX:
INCBIN "gfx/mobile/pichu_animated.2bpp.lz"
ElectroBallMobileGFX:
INCBIN "gfx/mobile/electro_ball.2bpp.lz"
PichuBorderMobileGFX:
INCBIN "gfx/mobile/pichu_border.2bpp"
Function1719c8:
ldh a, [hInMenu]
push af
ld a, $1
ldh [hInMenu], a
call Function1719d6
pop af
ldh [hInMenu], a
ret
Function1719d6:
farcall BattleTowerRoomMenu_InitRAM
call Function1719ed
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
call Function171a11
pop af
ldh [rSVBK], a
ret
Function1719ed:
xor a
ld [wcd49], a
ld [wcd4a], a
dec a
ld [wcd4b], a
call ClearBGPalettes
call ClearSprites
farcall Function171d2b
farcall ReloadMapPart
farcall ClearSpriteAnims
ret
Function171a11:
.loop
call JoyTextDelay
ld a, [wcd49]
bit 7, a
jr nz, .done
call Function171a36
farcall PlaySpriteAnimations
farcall ReloadMapPart
jr .loop
.done
farcall ClearSpriteAnims
call ClearSprites
ret
Function171a36:
jumptable Jumptable_171a45, wcd49
Jumptable_171a45:
dw Function171a95
dw Function171ac9
dw Function171a5d
dw Function171ad7
dw Function171a5d
dw Function171aec
dw Function171b4b
dw Function171b85
dw Function171bcc
dw Function171c2c
dw Function171c39
dw Function171c41
Function171a5d:
ld a, [wc821]
bit 1, a
jr nz, .asm_171a6a
bit 0, a
ret nz
jp Function171c66
.asm_171a6a
ld a, MOBILEAPI_00
call MobileAPI
ld [wMobileErrorCodeBuffer], a
ld a, l
ld [wMobileErrorCodeBuffer + 1], a
ld a, h
ld [wMobileErrorCodeBuffer + 2], a
ld a, MOBILEAPI_05
call MobileAPI
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
farcall BattleTowerRoomMenu_Cleanup
pop af
ldh [rSVBK], a
ld a, $a
ld [wcd49], a
ret
Function171a95:
farcall Function171ccd
hlcoord 2, 8
ld de, String_171aa7
call PlaceString
jp Function171c66
String_171aa7:
db "モバイルアダプタに"
next "せつぞく しています"
next "しばらく おまちください"
db "@"
Function171ac9:
ld de, wcd81
ld hl, $5c
ld a, MOBILEAPI_01
call MobileAPI
jp Function171c66
Function171ad7:
xor a
ld hl, wc608
ld bc, $66
call ByteFill
ld de, wc608
ld a, MOBILEAPI_06
call MobileAPI
jp Function171c66
Function171aec:
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
farcall BattleTowerRoomMenu_Cleanup
pop af
ldh [rSVBK], a
hlcoord 2, 6
ld a, $8
.asm_171b01
push af
push hl
xor a
ld bc, $10
call ByteFill
pop hl
ld de, $14
add hl, de
pop af
dec a
jr nz, .asm_171b01
hlcoord 2, 7
ld a, $3
ld de, wc608
.asm_171b1b
push af
push hl
ld a, [de]
and a
jr z, .asm_171b34
ld a, [wcd4b]
inc a
ld [wcd4b], a
push hl
call Function171b42
pop hl
ld bc, $ffec
add hl, bc
call Function171b42
.asm_171b34
pop hl
ld bc, $14
add hl, bc
add hl, bc
add hl, bc
pop af
dec a
jr nz, .asm_171b1b
jp Function171c66
Function171b42:
ld a, [de]
inc de
and a
ret z
sub $20
ld [hli], a
jr Function171b42
Function171b4b:
depixel 8, 2
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, $8
ld [hl], a
depixel 8, 19
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, $9
ld [hl], a
depixel 17, 14, 2, 0
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld a, $a
ld [hl], a
ld a, $4
ld [wcd23], a
ld a, $8
ld [wcd24], a
jp Function171c66
Function171b85:
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
jp nz, Function171b9f
ld a, [hl]
and A_BUTTON
jp nz, Function171bbd
ld a, [hl]
and D_UP
jr nz, asm_171ba5
ld a, [hl]
and D_DOWN
jr nz, asm_171baf
ret
Function171b9f:
ld a, $80
ld [wcd49], a
ret
asm_171ba5:
ld a, [wcd4a]
and a
ret z
dec a
ld [wcd4a], a
ret
asm_171baf:
ld a, [wcd4b]
ld c, a
ld a, [wcd4a]
cp c
ret z
inc a
ld [wcd4a], a
ret
Function171bbd:
call PlayClickSFX
ld a, $8
ld [wcd23], a
xor a
ld [wcd24], a
jp Function171c66
Function171bcc:
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
jp nz, Function171bdc
ld a, [hl]
and A_BUTTON
jp nz, Function171beb
ret
Function171bdc:
ld a, $4
ld [wcd23], a
ld a, $8
ld [wcd24], a
ld hl, wcd49
dec [hl]
ret
Function171beb:
ld a, BANK(s5_aa4a)
call OpenSRAM
ld a, [wcd4a]
ld [s5_aa4a], a
call CloseSRAM
ld hl, MenuHeader_171c6b
call LoadMenuHeader
call MenuBox
call MenuBoxCoord2Tile
farcall ReloadMapPart
hlcoord 1, 14
ld de, String_171c73
call PlaceString
ld a, [wcd4a]
cp $2
jr z, .asm_171c1f
ld a, $8
jr .asm_171c21
.asm_171c1f
ld a, $c
.asm_171c21
ld [wcd24], a
ld a, $1e
ld [wcd4c], a
call Function171c66
Function171c2c:
ld hl, wcd4c
dec [hl]
ret nz
call ExitMenu
call ClearBGPalettes
jr asm_171c60
Function171c39:
ld a, $28
ld [wcd4c], a
call Function171c66
Function171c41:
ld hl, wcd4c
dec [hl]
ret nz
call ClearBGPalettes
farcall Stubbed_Function106462
farcall Function106464
ld a, $2
ld [wc303], a
farcall DisplayMobileError
asm_171c60:
ld a, $80
ld [wcd49], a
ret
Function171c66:
ld hl, wcd49
inc [hl]
ret
MenuHeader_171c6b:
db MENU_BACKUP_TILES ; flags
menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
String_171c73:
db "モバイルセンターを けってい"
next "しました@"
Function171c87:
call DisableLCD
ld hl, AsciiFontGFX
ld de, vTiles2 tile $00
ld bc, $6e tiles
call CopyBytes
ld hl, PasswordSlowpokeLZ
ld de, vTiles0 tile $00
call Decompress
call EnableLCD
ld hl, PasswordTopTilemap
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, MobilePasswordAttrmap
decoord 0, 0, wAttrmap
ld bc, $168
call CopyBytes
hlcoord 3, 2
ld de, String_172e31
call PlaceString
hlcoord 3, 16
ld de, String_172e3f
call PlaceString
ret
Function171ccd:
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, MobilePasswordPalettes
ld de, wBGPals1
ld bc, 8 palettes
call CopyBytes
ld hl, wOBPals1 palette 0 color 1
ld a, LOW(PALRGB_WHITE)
ld [hli], a
ld a, HIGH(PALRGB_WHITE)
ld [hl], a
call SetPalettes
pop af
ldh [rSVBK], a
ret
Function171cf0:
xor a
hlcoord 4, 15
ld [hli], a
ld [hli], a
ld a, [wcd4b]
xor $1
ld [wcd4b], a
and a
jr nz, .shifted
ld hl, PasswordBottomTilemap
decoord 0, 7
ld bc, $8c
call CopyBytes
hlcoord 3, 16
ld de, String_172e3f
jp PlaceString
.shifted
ld hl, PasswordShiftTilemap
decoord 0, 7
ld bc, $8c
call CopyBytes
hlcoord 3, 16
ld de, String_172e4e
jp PlaceString
Function171d2b:
call DisableLCD
ld hl, AsciiFontGFX
ld de, vTiles2 tile $00
ld bc, $6e tiles
call CopyBytes
ld hl, PasswordSlowpokeLZ
ld de, vTiles0 tile $00
call Decompress
call EnableLCD
ld hl, ChooseMobileCenterTilemap
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, ChooseMobileCenterAttrmap
decoord 0, 0, wAttrmap
ld bc, $168
call CopyBytes
hlcoord 2, 2
ld de, String_172e5d
call PlaceString
hlcoord 14, 16
ld de, String_172e58
call PlaceString
ret
MobilePasswordPalettes:
INCLUDE "gfx/mobile/mobile_password.pal"
AsciiFontGFX:
INCBIN "gfx/mobile/ascii_font.2bpp"
PasswordTopTilemap:
INCBIN "gfx/mobile/password_top.tilemap"
PasswordBottomTilemap:
INCBIN "gfx/mobile/password_bottom.tilemap"
PasswordShiftTilemap:
INCBIN "gfx/mobile/password_shift.tilemap"
ChooseMobileCenterTilemap:
INCBIN "gfx/mobile/mobile_center.tilemap"
MobilePasswordAttrmap:
INCBIN "gfx/mobile/password.attrmap"
ChooseMobileCenterAttrmap:
INCBIN "gfx/mobile/mobile_center.attrmap"
PasswordSlowpokeLZ:
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
String_172e31:
db "パスワード<WO>いれてください@"
String_172e3f:
db "きりかえ やめる  けってい@"
String_172e4e:
db "きりかえ やめる  "
String_172e58:
db "けってい@"
String_172e5d:
db "せつぞくする モバイルセンターを"
next "えらんで ください@"
Function172e78:
ld a, $7f
hlcoord 0, 0
ld bc, $168
call ByteFill
ld a, $7
hlcoord 0, 0, wAttrmap
ld bc, $168
call ByteFill
call DisableLCD
ld hl, Stadium2N64GFX
ld de, vTiles2 tile $00
ld bc, $61 tiles
call CopyBytes
call EnableLCD
ld hl, Stadium2N64Tilemap
decoord 0, 0
ld bc, $168
call CopyBytes
ld hl, Stadium2N64Attrmap
decoord 0, 0, wAttrmap
ld bc, $168
call CopyBytes
ret
Function172eb9:
ldh a, [rSVBK]
push af
ld a, $5
ldh [rSVBK], a
ld hl, Palette_172edf
ld de, wBGPals1
ld bc, 8 palettes
call CopyBytes
ld hl, Palette_172edf
ld de, wBGPals2
ld bc, 8 palettes
call CopyBytes
call SetPalettes
pop af
ldh [rSVBK], a
ret
Palette_172edf:
RGB 5, 12, 17
RGB 31, 31, 31
RGB 18, 25, 28
RGB 10, 17, 21
RGB 6, 13, 18
RGB 31, 31, 31
RGB 20, 26, 28
RGB 12, 19, 23
RGB 3, 10, 16
RGB 31, 31, 31
RGB 6, 13, 18
RGB 20, 26, 28
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 5, 5, 16
RGB 8, 19, 28
RGB 0, 0, 0
RGB 31, 31, 31
RGB 31, 31, 31
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
Stadium2N64GFX:
INCBIN "gfx/mobile/stadium2_n64.2bpp"
Stadium2N64Tilemap:
INCBIN "gfx/mobile/stadium2_n64.tilemap"
Stadium2N64Attrmap:
INCBIN "gfx/mobile/stadium2_n64.attrmap"

941
mobile/mobile_5e.asm Normal file
View file

@ -0,0 +1,941 @@
MobileCardGFX::
INCBIN "gfx/mobile/card.2bpp"
ChrisSilhouetteGFX::
INCBIN "gfx/mobile/chris_silhouette.2bpp"
KrisSilhouetteGFX::
INCBIN "gfx/mobile/kris_silhouette.2bpp"
MobileCard2GFX::
INCBIN "gfx/mobile/card_2.2bpp"
CardLargeSpriteAndFolderGFX::
INCBIN "gfx/mobile/card_large_sprite.2bpp"
INCBIN "gfx/mobile/card_folder.2bpp"
CardSpriteGFX::
INCBIN "gfx/mobile/card_sprite.2bpp"
Function17a68f::
call Function17a6a8
call Function17a751
ld hl, $d088
bit 5, [hl]
jr z, .asm_17a6a6
ld de, wStringBuffer1
push de
call Function17a721
pop de
xor a
ret
.asm_17a6a6
scf
ret
Function17a6a8:
push de
push bc
ld hl, wStringBuffer2
ld bc, $a
xor a
call ByteFill
ld hl, wd1ea
ld bc, $10
ld a, $ff
call ByteFill
pop bc
ld a, c
and a
jr z, .asm_17a6c9
ld hl, $d088
set 4, [hl]
.asm_17a6c9
pop de
call Function17a6f5
call Function17aba0
farcall Function106464
call Function17ac0c
farcall HDMATransferAttrmapAndTilemapToWRAMBank3
call Function17abcf
farcall LoadOW_BGPal7
farcall Function49420
call SetPalettes
call DelayFrame
ret
Function17a6f5:
ld hl, wd1ea
ld c, $0
ld b, $8
.asm_17a6fc
ld a, [de]
call Function17a713
jr c, .asm_17a70e
ld a, [de]
swap a
call Function17a713
jr c, .asm_17a70e
inc de
dec b
jr nz, .asm_17a6fc
.asm_17a70e
ld a, c
ld [$d08c], a
ret
Function17a713:
and $f
cp $a
jr nc, .asm_17a71d
ld [hli], a
inc c
and a
ret
.asm_17a71d
ld [hl], $ff
scf
ret
Function17a721:
push de
ld h, d
ld l, e
ld bc, $8
ld a, $ff
call ByteFill
pop de
ld hl, wd1ea
ld b, $8
.asm_17a732
ld c, $0
ld a, [hli]
cp $a
jr nc, .asm_17a748
ld c, a
ld a, [hli]
cp $a
jr nc, .asm_17a74c
swap a
or c
ld [de], a
inc de
dec b
jr nz, .asm_17a732
ret
.asm_17a748
ld a, $ff
ld [de], a
ret
.asm_17a74c
ld a, $f0
or c
ld [de], a
ret
Function17a751:
xor a
ld [$d087], a
.asm_17a755
call Function17a781
call Function17a7ae
call Function17a97b
call Function17a770
call Function17a78f
ld hl, $d08f
inc [hl]
ld a, [$d087]
bit 7, a
jr z, .asm_17a755
ret
Function17a770:
ldh a, [hOAMUpdate]
push af
ld a, $1
ldh [hOAMUpdate], a
call HideSprites
call Function17a9cb
pop af
ldh [hOAMUpdate], a
ret
Function17a781:
ldh a, [hInMenu]
push af
ld a, $1
ldh [hInMenu], a
call JoyTextDelay
pop af
ldh [hInMenu], a
ret
Function17a78f:
ld hl, $d088
bit 7, [hl]
res 7, [hl]
jr nz, .asm_17a79f
farcall HDMATransferTilemapToWRAMBank3
ret
.asm_17a79f
farcall ReloadMapPart
ret
Function17a7a6: ; unreferenced
ld a, [$d087]
inc a
ld [$d087], a
ret
Function17a7ae:
ld a, [$d087]
ld hl, Jumptable_17a7b6
rst JumpTable
ret
Jumptable_17a7b6:
dw Function17a7c2
dw Function17a7cd
dw Function17a7d8
dw Function17a7ff
dw Function17a81a
dw Function17a7f4
Function17a7c2:
ld a, $4
call Function17aad3
ld a, $1
ld [$d087], a
ret
Function17a7cd:
call Function17a83c
call Function17a8ae
ret c
call Function17a848
ret
Function17a7d8:
call Function17a83c
call Function17a848
ld hl, $d08b
dec [hl]
ret nz
call Function17ac1d
call Function17ac2a
ld hl, $d088
set 7, [hl]
ld a, $1
ld [$d087], a
ret
Function17a7f4:
ld hl, $d08b
dec [hl]
ret nz
ld hl, $d087
set 7, [hl]
ret
Function17a7ff:
ld hl, $d08b
dec [hl]
ret nz
call Function17ac1d
call Function17ac2a
ld hl, $d088
set 7, [hl]
ld hl, $d088
set 5, [hl]
ld hl, $d087
set 7, [hl]
ret
Function17a81a:
call IsSFXPlaying
ret nc
ldh a, [hJoyPressed]
and $3
ret z
call ExitMenu
call Function17ac1d
call Function17ac2a
ld hl, $d088
set 7, [hl]
ld hl, $d088
res 6, [hl]
ld a, $1
ld [$d087], a
ret
Function17a83c:
ldh a, [hJoyLast]
and $f0
ld c, a
ldh a, [hJoyPressed]
and $b
or c
ld c, a
ret
Function17a848:
ld a, c
and $60
cp $60
jr z, .asm_17a876
ld a, c
and $50
cp $50
jr z, .asm_17a87d
ld a, c
and $a0
cp $a0
jr z, .asm_17a884
ld a, c
and $90
cp $90
jr z, .asm_17a88b
bit 6, c
jr nz, .asm_17a892
bit 7, c
jr nz, .asm_17a899
bit 5, c
jr nz, .asm_17a8a0
bit 4, c
jr nz, .asm_17a8a7
xor a
ret
.asm_17a876
ld a, $9
call Function17aad0
scf
ret
.asm_17a87d
ld a, $a
call Function17aad0
scf
ret
.asm_17a884
ld a, $b
call Function17aad0
scf
ret
.asm_17a88b
ld a, $c
call Function17aad0
scf
ret
.asm_17a892
ld a, $5
call Function17aad0
scf
ret
.asm_17a899
ld a, $6
call Function17aad0
scf
ret
.asm_17a8a0
ld a, $7
call Function17aad0
scf
ret
.asm_17a8a7
ld a, $8
call Function17aad0
scf
ret
Function17a8ae:
bit 1, c
jr nz, .asm_17a8bc
bit 0, c
jr nz, .asm_17a8cc
bit 3, c
jr nz, .asm_17a8d7
xor a
ret
.asm_17a8bc
ld a, $b
ld [$d08a], a
call Function17aa98
call Function17a943
call Function17aa88
scf
ret
.asm_17a8cc
call Function17aad7
call Function17aa98
call Function17a8de
scf
ret
.asm_17a8d7
ld a, $c
call Function17aad3
scf
ret
Function17a8de:
ld a, $2
call Function17aae0
ld a, [hl]
cp $f1
jr z, .asm_17a8fd
cp $f0
jr z, .asm_17a904
cp $f2
jr z, .asm_17a911
ld e, a
call Function17a964
ld a, $2
ld [$d087], a
call Function17aa88
ret
.asm_17a8fd
call Function17a943
call Function17aa88
ret
.asm_17a904
call Function17aad7
call Function17aa98
call Function17a91e
call Function17aa88
ret
.asm_17a911
call Function17aa98
ld a, $5
ld [$d087], a
xor a
call Function17aa88
ret
Function17a91e:
ld a, [$d08c]
cp $7
jr c, .asm_17a92c
ld a, $3
ld [$d087], a
xor a
ret
.asm_17a92c
call LoadStandardMenuHeader
call Function17a99e
ld hl, $d088
set 7, [hl]
ld hl, $d088
set 6, [hl]
ld a, $4
ld [$d087], a
scf
ret
Function17a943:
ld a, [$d08c]
and a
jr z, .asm_17a95d
dec a
ld [$d08c], a
ld c, a
ld b, 0
ld hl, wd1ea
add hl, bc
ld [hl], $ff
ld a, $2
ld [$d087], a
and a
ret
.asm_17a95d
ld a, $5
ld [$d087], a
xor a
ret
Function17a964:
ld a, [$d08c]
cp $10
jr nc, .asm_17a979
ld c, a
ld b, 0
inc a
ld [$d08c], a
ld hl, wd1ea
add hl, bc
ld [hl], e
and a
ret
.asm_17a979
scf
ret
Function17a97b:
hlcoord 1, 1
lb bc, 2, 18
call ClearBox
hlcoord 3, 2
ld de, wd1ea
ld a, [$d08c]
and a
ret z
ld c, a
.asm_17a990
ld a, [de]
inc de
cp $a
jr nc, .asm_17a99d
add $f6
ld [hli], a
dec c
jr nz, .asm_17a990
ret
.asm_17a99d
ret
Function17a99e:
hlcoord 0, 12
ld b, $4
ld c, $12
call Function17ac46
hlcoord 2, 14
ld de, String_17a9b2
call PlaceString
ret
String_17a9b2:
db "でんわばんごうが ただしく"
next "はいって いません!"
db "@"
Function17a9cb:
ld de, wShadowOAM
ld hl, $d088
bit 6, [hl]
jr nz, .bit_6_set
call Function17a9e3
call Function17aa22
call Function17a9f5
ret
.bit_6_set
call Function17a9e3
ret
Function17a9e3:
ld a, $3
ld [$d08e], a
ld hl, Unknown_17aa77
ld b, $8
ld c, $8
ld a, $5
call Function17aa4a
ret
Function17a9f5:
ld a, [$d08c]
cp $10
ret nc
ld a, [$d08f]
swap a
and $1
add $1
ld [$d08e], a
ld a, [$d08c]
cp $10
jr c, .okay
dec a
.okay
ld c, $8
call SimpleMultiply
add $18
ld b, a
ld c, $11
ld hl, Unknown_17aa72
ld a, $4
call Function17aa4a
ret
Function17aa22:
ld a, $0
ld [$d08e], a
push de
ld a, $3
call Function17aae0
add a
add a
add a
add $0
push af
ld a, $4
call Function17aae0
add a
add a
add a
add $8
ld c, a
pop af
ld b, a
pop de
ld a, $0
ld hl, Unknown_17aa77
call Function17aa4a
ret
Function17aa4a:
ld [$d08d], a
ld a, b
add $8
ld b, a
ld a, c
add $10
ld c, a
ld a, [hli]
.loop
push af
ld a, [hli]
add c
ld [de], a
inc de
ld a, [hli]
add b
ld [de], a
inc de
ld a, [$d08d]
add [hl]
inc hl
ld [de], a
inc de
ld a, [$d08e]
or [hl]
inc hl
ld [de], a
inc de
pop af
dec a
jr nz, .loop
ret
Unknown_17aa72:
db 1
db 0, 0, 0, 0
Unknown_17aa77:
db 4
db 0, 0, 0, 0
db 0, 8, 1, 0
db 8, 0, 2, 0
db 8, 8, 3, 0
Function17aa88:
jr c, asm_17aa91
ld de, SFX_SWITCH_POKEMON
call PlaySFX
ret
asm_17aa91:
ld de, SFX_WRONG
call PlaySFX
ret
Function17aa98:
ld a, $5
ld [$d08b], a
call Function17aaa9
call Function17aac3
ld hl, $d088
set 7, [hl]
ret
Function17aaa9:
ld a, $3
call Function17aae3
ld c, a
ld b, 0
hlcoord 0, 0, wAttrmap
add hl, bc
push hl
ld a, $4
call Function17aae3
ld bc, $14
pop hl
call AddNTimes
ret
Function17aac3:
ld a, $b
push hl
ld [hli], a
ld [hli], a
pop hl
ld de, SCREEN_WIDTH
add hl, de
ld [hli], a
ld [hli], a
ret
Function17aad0:
call Function17aae0
Function17aad3:
ld [$d089], a
ret
Function17aad7:
push af
ld a, [$d089]
ld [$d08a], a
pop af
ret
Function17aae0:
call Function17aad7
Function17aae3:
push af
ld a, [$d08a]
ld bc, $d
ld hl, Unknown_17aaf7
call AddNTimes
pop af
ld c, a
ld b, 0
add hl, bc
ld a, [hl]
ret
Unknown_17aaf7:
db $0, $0, $1, $6, $5, $9, $3, $2, $1, $2, $1, $2, $4
db $0, $0, $2, $9, $5, $a, $4, $0, $2, $a, $a, $3, $5
db $0, $0, $3, $c, $5, $b, $5, $1, $0, $1, $0, $4, $0
db $0, $0, $4, $6, $8, $0, $6, $5, $4, $5, $1, $5, $7
db $0, $0, $5, $9, $8, $1, $7, $3, $5, $0, $2, $6, $8
db $0, $0, $6, $c, $8, $2, $8, $4, $3, $1, $3, $7, $3
db $0, $0, $7, $6, $b, $3, $9, $8, $7, $8, $4, $8, $a
db $0, $0, $8, $9, $b, $4, $a, $6, $8, $3, $5, $9, $b
db $0, $0, $9, $c, $b, $5, $b, $7, $6, $4, $6, $a, $6
db $0, $0,$f2, $6, $e, $6, $0, $c, $a, $c, $7, $c, $0
db $0, $0, $0, $9, $e, $7, $1, $9, $b, $6, $8, $1, $1
db $0, $0,$f1, $c, $e, $8, $2, $a, $c, $7, $c, $2, $c
db $0, $0,$f0,$10, $e, $c, $c, $b, $9, $b, $9, $b, $9
Function17aba0:
ldh a, [rVBK]
push af
ld a, $1
ldh [rVBK], a
ld hl, vTiles5 tile $00
ld de, DialpadGFX
lb bc, BANK(DialpadGFX), $80 ; includes first 4 tiles of DialpadCursorGFX
call Get2bpp
pop af
ldh [rVBK], a
ld hl, vTiles0 tile $00
ld de, DialpadCursorGFX
lb bc, BANK(DialpadCursorGFX), 5
call Get2bpp
ld hl, vTiles0 tile $05
ld de, MobileDialingGFX
lb bc, BANK(MobileDialingGFX), 4
call Get2bpp
ret
Function17abcf:
ldh a, [rSVBK]
push af
ld a, BANK(wBGPals1)
ldh [rSVBK], a
ld hl, Palette_17ac55
ld de, wBGPals1
ld bc, 6 palettes
call CopyBytes
ld hl, Palette_17ac95
ld de, wOBPals1
ld bc, 8 palettes
call CopyBytes
ld hl, Palette_17b4b5
ld de, wOBPals1 palette 1
ld bc, 2 palettes
call CopyBytes
ld hl, MapObjectPals palette 1
ld de, wOBPals1 palette 3
ld bc, 1 palettes
ld a, BANK(MapObjectPals)
call FarCopyBytes
pop af
ldh [rSVBK], a
ret
Function17ac0c:
call Function17ac1d
call Function17ac2a
hlcoord 0, 0
ld b, 2
ld c, SCREEN_WIDTH - 2
call Function17ac46
ret
Function17ac1d:
ld hl, DialpadTilemap
decoord 0, 4
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
call CopyBytes
ret
Function17ac2a:
ld hl, DialpadAttrmap
decoord 0, 4, wAttrmap
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
call CopyBytes
hlcoord 0, 4, wAttrmap
ld bc, (SCREEN_HEIGHT - 4) * SCREEN_WIDTH
.loop
ld a, [hl]
or $8
ld [hli], a
dec bc
ld a, b
or c
jr nz, .loop
ret
Function17ac46:
ld a, [$d088]
bit 4, a
jr nz, .bit_4_set
call Textbox
ret
.bit_4_set
call Function3eea
ret
Palette_17ac55:
RGB 0, 0, 0
RGB 9, 10, 25
RGB 16, 19, 31
RGB 31, 31, 31
RGB 5, 11, 9
RGB 7, 14, 12
RGB 17, 24, 22
RGB 28, 31, 31
RGB 0, 0, 0
RGB 3, 0, 10
RGB 3, 3, 16
RGB 6, 8, 25
RGB 5, 11, 9
RGB 28, 31, 31
RGB 7, 14, 12
RGB 17, 24, 22
RGB 0, 0, 0
RGB 5, 2, 16
RGB 8, 8, 26
RGB 13, 9, 17
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
RGB 0, 0, 0
Palette_17ac95:
RGB 31, 31, 31
RGB 4, 3, 3
RGB 31, 13, 0
RGB 31, 31, 31
RGB 31, 31, 31
RGB 0, 0, 0
RGB 31, 31, 31
RGB 31, 31, 31
RGB 31, 0, 0
RGB 16, 3, 0
RGB 28, 19, 11
RGB 31, 31, 31
RGB 31, 16, 0
RGB 9, 6, 4
RGB 31, 16, 0
RGB 31, 24, 0
RGB 31, 18, 6
RGB 0, 3, 0
RGB 0, 9, 0
RGB 0, 12, 0
RGB 0, 16, 0
RGB 0, 22, 0
RGB 0, 25, 0
RGB 0, 27, 0
RGB 0, 31, 0
RGB 3, 31, 0
RGB 8, 31, 0
RGB 14, 31, 0
RGB 16, 31, 0
RGB 22, 31, 0
RGB 27, 31, 0
RGB 31, 31, 0
DialpadTilemap:
INCBIN "gfx/mobile/dialpad.tilemap"
DialpadAttrmap:
INCBIN "gfx/mobile/dialpad.attrmap"
DialpadGFX:
INCBIN "gfx/mobile/dialpad.2bpp"
DialpadCursorGFX:
INCBIN "gfx/mobile/dialpad_cursor.2bpp"
Palette_17b4b5:
RGB 2, 6, 10
RGB 24, 30, 29
MobileCardListGFX::
INCBIN "gfx/mobile/card_list.2bpp"

5183
mobile/mobile_5f.asm Normal file

File diff suppressed because it is too large Load diff

848
mobile/mobile_menu.asm Normal file
View file

@ -0,0 +1,848 @@
MainMenu_Mobile:
call ClearBGPalettes
ld a, MUSIC_MOBILE_ADAPTER_MENU
ld [wMapMusic], a
ld de, MUSIC_MOBILE_ADAPTER_MENU
call Function4a6c5
Function49f0a:
call ClearBGPalettes
call Function4a3a7
call Function4a492
call ClearBGPalettes
Function49f16:
call MobileMenu_InitMenuBuffers
ld c, 12
call DelayFrames
hlcoord 4, 0
ld b, 10
ld c, 10
call Function48cdc
hlcoord 6, 2
ld de, MobileString1
call PlaceString
hlcoord 0, 12
ld b, 4
ld c, SCREEN_HEIGHT
call Textbox
xor a
ld de, String_0x49fe9
hlcoord 1, 14
call PlaceString
call WaitBGMap2
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr .check_buttons
.joy_loop
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
.check_buttons
bit A_BUTTON_F, a
jr nz, .a_button
bit B_BUTTON_F, a
jr nz, .b_button
jr .next
.a_button
ld hl, wMenuCursorY
ld a, [hl]
cp 1
jp z, Function4a098
cp 2
jp z, Function4a0b9
cp 3
jp z, Function4a0c2
cp 4
jp z, Function4a100
ld a, 1
call MenuClickSound
.b_button
pop bc
call ClearBGPalettes
call ClearTilemap
ld a, MUSIC_MAIN_MENU
ld [wMapMusic], a
ld de, MUSIC_MAIN_MENU
call Function4a6c5
ret
.next
ld hl, wMenuCursorY
ld a, [hl]
dec a
ld hl, MobileStrings2
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, 4
ld c, SCREEN_HEIGHT
call ClearBox
hlcoord 1, 14
call PlaceString
jp .useless_jump
.useless_jump
call MobileMenu_InitMenuBuffers
pop bc
ld hl, wMenuCursorY
ld [hl], b
ld b, $a
ld c, $1
hlcoord 5, 1
call ClearBox
jp .joy_loop
MobileString1:
db "めいしフォルダー"
next "あいさつ"
next "プロフィール"
next "せ<TTE>い"
next "もどる"
db "@"
MobileStrings2:
; string 0
String_0x49fe9:
db "めいし¯つくったり"
next "ほぞんしておける フォルダーです@"
; string 1
db "モバイルたいせんや じぶんのめいしで"
next "つかう あいさつ¯つくります@"
; string 2
db "あなた<NO>じゅうしょや ねんれいの"
next "せ<TTE>い¯かえられます@"
; string 3
db "モバイルセンター<NI>せつぞくするとき"
next "ひつような こと¯きめます@"
; string 4
db "まえ<NO>がめん <NI>もどります"
next "@"
MobileMenu_InitMenuBuffers:
ld hl, w2DMenuCursorInitY
ld a, 2
ld [hli], a
ld a, 5 ; w2DMenuCursorInitX
ld [hli], a
ld a, 5 ; w2DMenuNumRows
ld [hli], a
ld a, 1 ; w2DMenuNumCols
ld [hli], a
ld [hl], $0 ; w2DMenuFlags1
set 5, [hl]
inc hl
xor a ; w2DMenuFlags2
ld [hli], a
ld a, $20 ; w2DMenuCursorOffsets
ld [hli], a
; could have done "ld a, A_BUTTON | D_UP | D_DOWN | B_BUTTON" instead
ld a, A_BUTTON
add D_UP
add D_DOWN
add B_BUTTON
ld [hli], a ; wMenuJoypadFilter
ld a, 1
ld [hli], a ; wMenuCursorY, wMenuCursorX
ld [hli], a ; wMenuCursorY, wMenuCursorX
ret
Function4a098:
ld a, 2
call MenuClickSound
call PlaceHollowCursor
call WaitBGMap
call LoadStandardMenuHeader
farcall Function89de0
call ExitMenu
call MG_Mobile_Layout_LoadPals
call Function4a485
pop bc
jp Function49f16
Function4a0b9:
ld a, 2
call MenuClickSound
pop bc
jp Function4a4c4
Function4a0c2:
ld a, 2
call MenuClickSound
ld a, BANK(sPlayerData)
call OpenSRAM
ld hl, sPlayerData + wPlayerName - wPlayerData
ld de, wPlayerName
ld bc, NAME_LENGTH_JAPANESE
call CopyBytes
call CloseSRAM
farcall _LoadData
ld c, 2
call DelayFrames
ld c, $1
call InitMobileProfile
push af
call ClearBGPalettes
pop af
and a
jr nz, .skip_save
farcall _SaveData
.skip_save
ld c, 5
call DelayFrames
jr asm_4a111
Function4a100:
ld a, 2
call MenuClickSound
call ClearBGPalettes
call Function4a13b
call ClearBGPalettes
call ClearTilemap
asm_4a111:
pop bc
call LoadFontsExtra
jp Function49f0a
Function4a118:
ld hl, w2DMenuCursorInitY
ld a, $1
ld [hli], a
ld a, $d
ld [hli], a
ld a, $3
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
ret
Function4a13b:
call Function4a3a7
call Function4a492
call Function4a373
ld c, 10
call DelayFrames
Function4a149:
hlcoord 1, 2
ld b, $6
ld c, $10
call Function48cdc
hlcoord 3, 4
ld de, String_4a1ef
call PlaceString
hlcoord 0, 12
ld b, $4
ld c, $12
call Textbox
ld a, [wMenuCursorY]
dec a
ld hl, Strings_4a23d
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4a19d
Function4a195:
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
asm_4a19d:
bit 0, a
jr nz, .asm_4a1a7
bit 1, a
jr nz, .asm_4a1ba
jr .asm_4a1bc
.asm_4a1a7
ld hl, wMenuCursorY
ld a, [hl]
cp $1
jp z, Function4a20e
cp $2
jp z, Function4a221
ld a, $1
call MenuClickSound
.asm_4a1ba
pop bc
ret
.asm_4a1bc
ld hl, wMenuCursorY
ld a, [hl]
dec a
ld hl, Strings_4a23d
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
jr .asm_4a1db
.asm_4a1db
call Function4a373
pop bc
ld hl, wMenuCursorY
ld [hl], b
lb bc, 6, 1
hlcoord 2, 3
call ClearBox
jp Function4a195
String_4a1ef:
db "モバイルセンター¯えらぶ"
next "ログインパスワード¯いれる"
next "もどる@"
Function4a20e:
ld a, $1
call MenuClickSound
farcall Function1719c8
call ClearBGPalettes
call DelayFrame
jr Function4a239
Function4a221:
ld a, $1
call MenuClickSound
call Function4a28a
jr c, Function4a239
call Function4a373
ld a, $2
ld [wMenuCursorY], a
jr .asm_4a235
.asm_4a235
pop bc
jp Function4a149
Function4a239:
pop bc
jp Function4a13b
Strings_4a23d:
db "いつも せつぞく¯する"
next "モバイルセンター¯えらびます@"
db "モバイルセンター<NI>せつぞくするとき"
next "つかうパスワード¯ほぞんできます@"
db "まえ<NO>がめん <NI>もどります@"
db "@"
Function4a28a:
hlcoord 2, 3
lb bc, 6, 1
ld a, " "
call Function4a6d8
call PlaceHollowCursor
call WaitBGMap
call LoadStandardMenuHeader
ld a, $5
call OpenSRAM
ld a, [$aa4b]
call CloseSRAM
and a
jr z, .asm_4a2df
hlcoord 12, 0
ld b, $5
ld c, $6
call Function48cdc
hlcoord 14, 1
ld de, String_4a34b
call PlaceString
farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
call Function4a118
call ScrollingMenuJoypad
push af
call PlayClickSFX
pop af
bit B_BUTTON_F, a
jr nz, .quit
ld a, [wMenuCursorY]
cp $2
jr z, .DeleteLoginPassword
cp $3
jr z, .quit
.asm_4a2df
farcall Function11765d
call ClearBGPalettes
call ExitMenu
call LoadFontsExtra
scf
ret
.DeleteLoginPassword:
call PlaceHollowCursor
ld hl, DeleteSavedLoginPasswordText
call PrintText
hlcoord 14, 7
ld b, 3
ld c, 4
call Textbox
farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
ld hl, DeletePassword_YesNo_MenuHeader
call LoadMenuHeader
call VerticalMenu
bit B_BUTTON_F, a
jr nz, .dont_delete_password
ld a, [wMenuCursorY]
cp $2
jr z, .dont_delete_password
ld a, BANK(sMobileLoginPassword)
call OpenSRAM
ld hl, sMobileLoginPassword
xor a
ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
call ByteFill
call CloseSRAM
ld hl, DeletedTheLoginPasswordText
call PrintText
call JoyWaitAorB
.dont_delete_password
call ExitMenu
.quit
call ExitMenu
farcall Mobile_OpenAndCloseMenu_HDMATransferTilemapAndAttrmap
xor a
ret
MenuHeader_0x4a346: ; unreferenced
db MENU_BACKUP_TILES ; flags
menu_coords 12, 0, SCREEN_WIDTH - 1, 6
String_4a34b:
db "いれなおす"
next "けす"
next "もどる@"
DeleteSavedLoginPasswordText:
text_far _DeleteSavedLoginPasswordText
text_end
DeletedTheLoginPasswordText:
text_far _DeletedTheLoginPasswordText
text_end
DeletePassword_YesNo_MenuHeader:
db MENU_BACKUP_TILES ; flags
menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw MenuData_0x4a36a
db 2 ; default option
MenuData_0x4a36a:
db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
db 2 ; items
db "はい@"
db "いいえ@"
Function4a373:
ld hl, w2DMenuCursorInitY
ld a, $4
ld [hli], a
ld a, $2
ld [hli], a
ld a, $3
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $40
add $80
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
ret
Function4a39a: ; unreferenced
call Function4a485
call Function4a492
call Function4a3aa
call SetPalettes
ret
Function4a3a7:
call Function4a485
Function4a3aa:
hlcoord 0, 0
lb bc, 3, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 1, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 4, 1
ld a, $2
call Function4a6d8
lb bc, 1, 1
ld a, $3
call Function4a6d8
lb bc, 1, 1
ld a, " "
call Function4a6d8
hlcoord 1, 0
ld a, $1
lb bc, 3, 18
call Function4a6d8
lb bc, 1, 18
ld a, $0
call Function4a6d8
lb bc, 1, 18
ld a, $1
call Function4a6d8
lb bc, 1, 18
ld a, $2
call Function4a6d8
lb bc, 11, 18
ld a, " "
call Function4a6d8
hlcoord 19, 0
lb bc, 3, 1
ld a, $0
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 1, 1
xor a
call Function4a6d8
lb bc, 1, 1
ld a, $1
call Function4a6d8
lb bc, 4, 1
ld a, $2
call Function4a6d8
lb bc, 1, 1
ld a, $3
call Function4a6d8
lb bc, 1, 1
ld a, " "
call Function4a6d8
ret
Function4a449: ; unreferenced
ld bc, 3 * SCREEN_WIDTH
ld a, $0
hlcoord 0, 0
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $0
call ByteFill
ld bc, 2 * SCREEN_WIDTH
ld a, $1
call ByteFill
ld bc, SCREEN_WIDTH
ld a, $2
call ByteFill
ld bc, SCREEN_WIDTH
ld a, $3
call ByteFill
ld bc, SCREEN_WIDTH
ld a, " "
call ByteFill
ret
Function4a485:
ld de, MobileMenuGFX
ld hl, vTiles2 tile $00
lb bc, BANK(MobileMenuGFX), 13
call Get2bpp
ret
Function4a492:
call _CrystalCGB_MobileLayout0
ret
MainMenu_MobileStudium:
ld a, [wStartDay]
ld b, a
ld a, [wStartHour]
ld c, a
ld a, [wStartMinute]
ld d, a
ld a, [wStartSecond]
ld e, a
push bc
push de
farcall MobileStudium
call ClearBGPalettes
pop de
pop bc
ld a, b
ld [wStartDay], a
ld a, c
ld [wStartHour], a
ld a, d
ld [wStartMinute], a
ld a, e
ld [wStartSecond], a
ret
Function4a4c4:
call ClearBGPalettes
call Function4a3a7
call Function4a492
call Function4a680
call ClearBGPalettes
ld c, 20
call DelayFrames
hlcoord 2, 0
ld b, $a
ld c, $e
call Function48cdc
hlcoord 4, 2
ld de, String_4a5c5
call PlaceString
hlcoord 4, 4
ld de, String_4a5cd
call PlaceString
hlcoord 4, 6
ld de, String_4a5da
call PlaceString
hlcoord 4, 8
ld de, String_4a5e6
call PlaceString
hlcoord 4, 10
ld de, String_4a5f2
call PlaceString
hlcoord 0, 12
ld b, $4
ld c, $12
call Textbox
xor a
ld hl, Strings_4a5f6
ld d, h
ld e, l
hlcoord 1, 14
call PlaceString
ld a, $1
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 16
call PlaceString
call WaitBGMap2
call SetPalettes
call StaticMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
jr asm_4a54d
Function4a545:
call ScrollingMenuJoypad
ld hl, wMenuCursorY
ld b, [hl]
push bc
asm_4a54d:
bit 0, a
jr nz, .asm_4a557
bit 1, a
jr nz, .asm_4a574
jr .asm_4a57e
.asm_4a557
ld hl, wMenuCursorY
ld a, [hl]
cp $1
jp z, Function4a6ab
cp $2
jp z, Function4a6ab
cp $3
jp z, Function4a6ab
cp $4
jp z, Function4a6ab
ld a, $1
call MenuClickSound
.asm_4a574
pop bc
call ClearBGPalettes
call ClearTilemap
jp Function49f0a
.asm_4a57e
ld hl, wMenuCursorY
ld a, [hl]
dec a
add a
push af
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 13
ld b, $4
ld c, $12
call ClearBox
hlcoord 1, 14
call PlaceString
pop af
inc a
ld hl, Strings_4a5f6
call GetNthString
ld d, h
ld e, l
hlcoord 1, 16
call PlaceString
jp Function4a5b0
Function4a5b0:
call Function4a680
pop bc
ld hl, wMenuCursorY
ld [hl], b
ld b, $a
ld c, $1
hlcoord 3, 1
call ClearBox
jp Function4a545
String_4a5c5:
db "じこしょうかい@"
String_4a5cd:
db "たいせん <GA>はじまるとき@"
String_4a5da:
db "たいせん <NI>かったとき@"
String_4a5e6:
db "たいせん <NI>まけたとき@"
String_4a5f2:
db "もどる@"
Strings_4a5f6:
db "めいし や ニュース <NI>のせる@"
db "あなた<NO>あいさつです@"
db "モバイル たいせん<GA>はじまるとき@"
db "あいて<NI>みえる あいさつです@"
db "モバイル たいせんで かったとき@"
db "あいて<NI>みえる あいさつです@"
db "モバイル たいせんで まけたとき@"
db "あいて<NI>みえる あいさつです@"
db "まえ<NO>がめん <NI>もどります@"
db "@"
Function4a680:
ld hl, w2DMenuCursorInitY
ld a, $2
ld [hli], a
ld a, $3
ld [hli], a
ld a, $5
ld [hli], a
ld a, $1
ld [hli], a
ld [hl], $0
set 5, [hl]
inc hl
xor a
ld [hli], a
ld a, $20
ld [hli], a
ld a, $1
add $40
add $80
add $2
ld [hli], a
ld a, $1
ld [hli], a
ld [hli], a
xor a
ld [hli], a
ld [hli], a
ld [hli], a
ret
Function4a6ab:
ld a, $2
call MenuClickSound
call ClearBGPalettes
ld b, SCGB_DIPLOMA
call GetSGBLayout
farcall Function11c1ab
pop bc
call LoadFontsExtra
jp Function4a4c4
Function4a6c5:
ld a, $5
ld [wMusicFade], a
ld a, e
ld [wMusicFadeID], a
ld a, d
ld [wMusicFadeID + 1], a
ld c, 22
call DelayFrames
ret
Function4a6d8:
push bc
push hl
.asm_4a6da
ld [hli], a
dec c
jr nz, .asm_4a6da
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
jr nz, Function4a6d8
ret
if DEF(_DEBUG)
MainMenu_DebugRoom:
farcall _DebugRoom
ret
endc

42
mobile/news/news.asm Normal file
View file

@ -0,0 +1,42 @@
; http://forums.glitchcity.info/index.php?topic=7509.msg206449#msg206449
dab PlayersHouseDoll1Script ; related to "My Room" in Stadium 2?
Function1f4003: ; unreferenced
ld a, BANK(s6_a000)
call OpenSRAM
ld hl, .news_data
ld de, s6_a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
.news_data
INCBIN "mobile/news/news_1.bin"
Function1f4dbe: ; unreferenced
ld a, BANK(s6_a000)
call OpenSRAM
ld hl, .news_data
ld de, s6_a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
.news_data
INCBIN "mobile/news/news_2.bin"
Function1f5d9f: ; unreferenced
ld a, BANK(s6_a000)
call OpenSRAM
ld hl, .news_data
ld de, s6_a000
ld bc, $1000
call CopyBytes
call CloseSRAM
ret
.news_data
INCBIN "mobile/news/news_3.bin"

BIN
mobile/news/news_1.bin Normal file

Binary file not shown.

BIN
mobile/news/news_2.bin Normal file

Binary file not shown.

BIN
mobile/news/news_3.bin Normal file

Binary file not shown.

View file

@ -0,0 +1,30 @@
Mobile_PrintOpponentBattleMessage:
ld a, c
push af
call SpeechTextbox
call MobileTextBorder
pop af
dec a
ld bc, $c
ld hl, w5_MobileOpponentBattleMessages
call AddNTimes
ld de, wMobileOpponentBattleMessage
ld bc, $c
ld a, BANK(w5_MobileOpponentBattleMessages)
call FarCopyWRAM
ldh a, [rSVBK]
push af
ld a, $1
ldh [rSVBK], a
ld bc, wMobileOpponentBattleMessage
decoord 1, 14
farcall PrintEZChatBattleMessage
pop af
ldh [rSVBK], a
ld c, 180
call DelayFrames
ret