Options menu, some mobile fns

This commit is contained in:
PikalaxALT
2015-11-16 16:01:45 -05:00
parent 4b5424368f
commit 435b0cf686
25 changed files with 2237 additions and 2162 deletions

View File

@@ -1,4 +1,4 @@
PALPACKET_LENGTH EQU $10
INCLUDE "predef/sgb.asm"
SHINY_ATK_BIT EQU 5
@@ -89,7 +89,7 @@ Function8aa4: ; 8aa4
push bc
ld hl, PalPacket_9ce6
ld de, wcda9
ld bc, PalPacket_9cf6 - PalPacket_9ce6
ld bc, PALPACKET_LENGTH
call CopyBytes
pop bc
pop de
@@ -232,7 +232,7 @@ Function8b81: ; 8b81
push af
ld hl, PalPacket_9ce6
ld de, wcda9
ld bc, $0010
ld bc, PALPACKET_LENGTH
call CopyBytes
pop af
call Function9775
@@ -437,7 +437,7 @@ endr
push hl
ld hl, PalPacket_9ce6
ld de, wcda9
ld bc, $0010
ld bc, PALPACKET_LENGTH
call CopyBytes
pop hl
rept 2
@@ -792,7 +792,7 @@ Function974b: ; 974b
and a
jp nz, Function97f9
ld a, [wPlayerSpriteSetupFlags]
bit 2, a
bit 2, a ; transformed to male
jr nz, .male
ld a, [PlayerGender]
and a
@@ -1212,7 +1212,7 @@ Function99d8: ; 99d8
ld a, $e4
ld [rBGP], a
ld de, VTiles1
ld bc, $0140
ld bc, 20 tiles
call CopyData
ld b, $12
.asm_99ea
@@ -1367,6 +1367,7 @@ BlkPacket_9b86: ; 9a86
; 9b96
; 9b96
PalPacket_9b96: db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9ba6: db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
PalPacket_9bb6: db $51, $41, $00, $42, $00, $43, $00, $44, $00, $00, $00, $00, $00, $00, $00, $00

View File

@@ -3053,7 +3053,7 @@ Function57bc: ; 57bc
ret
.ok
ld a, 0
ld a, PERSON_ACTION_00
ld [PlayerAction], a
ret
; 57ca

565
engine/options_menu.asm Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -402,3 +402,263 @@ PlacesAndPeopleName: db "Places & People@"
LetsAllSingName: db "Let's All Sing!@"
PokeFluteStationName: db "# FLUTE@"
; 9191c
Function9191c: ; 9191c
ld hl, Options
ld a, [hl]
push af
set 4, [hl]
ld a, [hInMenu]
push af
ld a, $1
ld [hInMenu], a
ld a, [VramState]
push af
xor a
ld [VramState], a
call ClearBGPalettes
call ClearTileMap
call ClearSprites
call DisableLCD
call Function90c4e
callba Function8cf53
ld a, 8
call SkipMusic
ld a, $e3
ld [rLCDC], a
call Function90d56
ld [wd002], a
ld [wd003], a
xor a
ld [hBGMapMode], a
call Function91a04
call Function3200
ld a, [wd002]
call Function9106a
ld a, [wd003]
call Function91098
ld a, c
ld [wd004], a
ld a, b
ld [wd005], a
ld b, SCGB_02
call GetSGBLayout
call SetPalettes
ld a, [hCGB]
and a
jr z, .asm_9198b
ld a, $e4
call Functioncf8
call DelayFrame
.asm_9198b
ld a, [wd002]
cp KANTO_LANDMARK
jr nc, .asm_9199b
ld d, KANTO_LANDMARK - 1
ld e, 1
call Function919b0
jr .asm_919a1
.asm_9199b
call Function910e8
call Function919b0
.asm_919a1
pop af
ld [VramState], a
pop af
ld [hInMenu], a
pop af
ld [Options], a
call ClearBGPalettes
ret
; 919b0
Function919b0: ; 919b0
.asm_919b0
call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
ret nz
ld hl, hJoyLast
ld a, [hl]
and D_UP
jr nz, .asm_919d4
ld a, [hl]
and D_DOWN
jr nz, .asm_919e1
.asm_919c7
push de
callba Function8cf69
pop de
call DelayFrame
jr .asm_919b0
.asm_919d4
ld hl, wd003
ld a, [hl]
cp d
jr c, .asm_919de
ld a, e
dec a
ld [hl], a
.asm_919de
inc [hl]
jr .asm_919ec
.asm_919e1
ld hl, wd003
ld a, [hl]
cp e
jr nz, .asm_919eb
ld a, d
inc a
ld [hl], a
.asm_919eb
dec [hl]
.asm_919ec
push de
ld a, [wd003]
call Function910b4
ld a, [wd004]
ld c, a
ld a, [wd005]
ld b, a
ld a, [wd003]
call Function910d4
pop de
jr .asm_919c7
; 91a04
Function91a04: ; 91a04
ld a, [wd002]
cp KANTO_LANDMARK
jr nc, .asm_91a0f
ld e, $0
jr .asm_91a11
.asm_91a0f
ld e, $1
.asm_91a11
callba Function91ae1
ld a, $7
ld bc, 6
hlcoord 1, 0
call ByteFill
hlcoord 0, 0
ld [hl], $6
hlcoord 7, 0
ld [hl], $17
hlcoord 7, 1
ld [hl], $16
hlcoord 7, 2
ld [hl], $26
ld a, $7
ld bc, NAME_LENGTH
hlcoord 8, 2
call ByteFill
hlcoord 19, 2
ld [hl], $17
ld a, [wd003]
call Function910b4
callba TownMapPals
ret
; 91a53
PlayRadio: ; 91a53
ld hl, Options
ld a, [hl]
push af
set 4, [hl]
call .PlayStation
ld c, 100
call DelayFrames
.loop
call JoyTextDelay
ld a, [hJoyPressed]
and A_BUTTON | B_BUTTON
jr nz, .stop
ld a, [wc6da]
ld l, a
ld a, [wc6db]
ld h, a
ld a, [wc6d9]
and a
jr z, .zero
rst FarCall
.zero
call DelayFrame
jr .loop
.stop
pop af
ld [Options], a
call Function91492
ret
; 91a87
.PlayStation: ; 91a87
ld a, -1
ld [EnemyTurnsTaken], a
ld hl, .StationPointers
ld d, $0
rept 2
add hl, de
endr
ld a, [hli]
ld h, [hl]
ld l, a
ld de, .jump_return
push de
jp [hl]
.jump_return
push de
hlcoord 0, 12
lb bc, 4, 18
call TextBox
hlcoord 1, 14
ld [hl], $72
pop de
hlcoord 2, 14
call PlaceString
ld h, b
ld l, c
ld [hl], $73
call WaitBGMap
ret
; 91ab9
.StationPointers: ; 91ab9
dw .OakOrPnP
dw LoadStation_OaksPokemonTalk
dw LoadStation_PokedexShow
dw LoadStation_PokemonMusic
dw LoadStation_LuckyChannel
dw LoadStation_UnownRadio
dw LoadStation_PlacesAndPeople
dw LoadStation_LetsAllSing
dw LoadStation_RocketRadio
; 91acb
.OakOrPnP: ; 91acb
call IsInJohto
and a
jr nz, .kanto
call UpdateTime
ld a, [TimeOfDay]
and a
jp z, LoadStation_PokedexShow
jp LoadStation_OaksPokemonTalk
.kanto
jp LoadStation_PlacesAndPeople
; 91ae1

View File

@@ -160,7 +160,7 @@ SpecialsPointers:: ; c029
add_special Function17d2b6
add_special Function17d2ce
add_special Function17f53d
add_special Function103612
add_special AskMobileOrCable
add_special SpecialHoOhChamber
add_special Function102142
add_special Special_CelebiShrineEvent
@@ -180,7 +180,7 @@ SpecialsPointers:: ; c029
add_special Mobile_HealParty
add_special RefreshSprites
add_special Function1037c2
add_special Function10630f
add_special Mobile_DummyReturnFalse
add_special Function103780
add_special Function10387b
add_special Function4ae12

View File

@@ -1,3 +1,17 @@
Function91ae1: ; 91ae1
ld a, e
and a
jr nz, .kanto
call Function91ff2
call FillJohtoMap
ret
.kanto
call Function91ff2
call FillKantoMap
ret
; 91af3
_FlyMap: ; 91af3
call ClearBGPalettes
call ClearTileMap
@@ -419,14 +433,18 @@ Function91d11: ; 91d11
ld [hBGMapMode], a
ld a, $1
ld [hInMenu], a
ld de, GFX_922d1
ld hl, VTiles0 tile $7f
lb bc, BANK(GFX_922d1), 1
call Request2bpp ; actually 1bpp
call Function91ed0
ld hl, VTiles0 tile $78
ld c, $4
call Request2bpp
call Function91ff2
call FillKantoMap
call Function91de9
@@ -445,27 +463,27 @@ Function91d11: ; 91d11
ld [hBGMapMode], a
xor a
call Function91e1e
.asm_91d6e
.loop
call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and A_BUTTON | B_BUTTON
jr nz, .asm_91d8f
jr nz, .a_b
ld a, [hJoypadDown]
and SELECT
jr nz, .asm_91d87
jr nz, .select
call Function91d9b
call Function91dcd
jr .asm_91d8a
jr .next
.asm_91d87
.select
call Function91e5a
.asm_91d8a
.next
call DelayFrame
jr .asm_91d6e
jr .loop
.asm_91d8f
.a_b
call ClearSprites
pop af
ld [wd003], a
@@ -914,3 +932,137 @@ GFX_922e1: ; 922e1
INCBIN "gfx/unknown/0922e1.2bpp"
GFX_92301: ; 92301
INCBIN "gfx/unknown/092301.2bpp"
Function92311: ; unreferenced
xor a
ld [wd002], a
call ClearBGPalettes
call ClearTileMap
call ClearSprites
ld hl, hInMenu
ld a, [hl]
push af
ld [hl], $1
xor a
ld [hBGMapMode], a
callba Function8cf53
call Function91ff2
ld de, GFX_922e1
ld hl, VTiles2 tile $30
lb bc, BANK(GFX_922e1), 6
call Request1bpp
call FillKantoMap
call TownMapBubble
call TownMapPals
ld hl, VBGMap1
call TownMapBGUpdate
call FillJohtoMap
call TownMapBubble
call TownMapPals
ld hl, VBGMap0
call TownMapBGUpdate
call TownMapMon
ld a, c
ld [wd003], a
ld a, b
ld [wd004], a
ld b, SCGB_02
call GetSGBLayout
call SetPalettes
.loop
call JoyTextDelay
ld hl, hJoyPressed
ld a, [hl]
and B_BUTTON
jr nz, .pressedB
ld a, [hl]
and A_BUTTON
jr nz, .pressedA
call Function923b8
call GetMapCursorCoordinates
callba Function8cf69
call DelayFrame
jr .loop
.pressedB
ld a, -1
jr .asm_9239f
.pressedA
ld a, [wd002]
ld l, a
ld h, 0
add hl, hl
ld de, Flypoints + 1
add hl, de
ld a, [hl]
.asm_9239f
ld [wd002], a
pop af
ld [hInMenu], a
call ClearBGPalettes
ld a, $90
ld [hWY], a
xor a
ld [hBGMapAddress], a
ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a
ld a, [wd002]
ld e, a
ret
; 923b8
Function923b8: ; 923b8
ld hl, hJoyLast
ld a, [hl]
and D_DOWN | D_RIGHT
jr nz, .asm_923c6
ld a, [hl]
and D_UP | D_LEFT
jr nz, .asm_923d3
ret
.asm_923c6
ld hl, wd002
ld a, [hl]
cp FLY_INDIGO
jr c, .asm_923d0
ld [hl], -1
.asm_923d0
inc [hl]
jr .asm_923dd
.asm_923d3
ld hl, wd002
ld a, [hl]
and a
jr nz, .asm_923dc
ld [hl], FLY_INDIGO + 1
.asm_923dc
dec [hl]
.asm_923dd
ld a, [wd002]
cp KANTO_FLYPOINT
jr c, .johto
call FillKantoMap
xor a
ld b, $9c
jr .asm_923f3
.johto
call FillJohtoMap
ld a, $90
ld b, $98
.asm_923f3
ld [hWY], a
ld a, b
ld [hBGMapAddress + 1], a
call TownMapBubble
call WaitBGMap
xor a
ld [hBGMapMode], a
ret
; 92402

1057
engine/wildmons.asm Executable file

File diff suppressed because it is too large Load Diff