You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
More specials; bank 12 mobile
This commit is contained in:
354
event/celebi.asm
Executable file
354
event/celebi.asm
Executable file
@@ -0,0 +1,354 @@
|
||||
Special_CelebiShrineEvent: ; 4989a
|
||||
call DelayFrame
|
||||
ld a, [VramState]
|
||||
push af
|
||||
xor a
|
||||
ld [VramState], a
|
||||
call LoadCelebiGFX
|
||||
lb de, $07, $50
|
||||
ld a, SPRITE_ANIM_INDEX_2C
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], $84
|
||||
ld hl, $2
|
||||
add hl, bc
|
||||
ld [hl], $1f
|
||||
ld hl, $f
|
||||
add hl, bc
|
||||
ld a, $80
|
||||
ld [hl], a
|
||||
ld a, $a0
|
||||
ld [wcf64], a
|
||||
ld d, $0
|
||||
.loop
|
||||
ld a, [wJumptableIndex]
|
||||
bit 7, a
|
||||
jr nz, .done
|
||||
push bc
|
||||
call Function49bae
|
||||
inc d
|
||||
push de
|
||||
ld a, $90
|
||||
ld [wc3b5], a
|
||||
callba Function8cf7a
|
||||
call Function49935
|
||||
ld c, 2
|
||||
call DelayFrames
|
||||
pop de
|
||||
pop bc
|
||||
jr .loop
|
||||
|
||||
.done
|
||||
pop af
|
||||
ld [VramState], a
|
||||
call Function498f9
|
||||
call Function49bf3
|
||||
ret
|
||||
; 498f9
|
||||
|
||||
Function498f9: ; 498f9
|
||||
ld hl, Sprites + 2
|
||||
xor a
|
||||
ld c, $4
|
||||
.loop
|
||||
ld [hli], a
|
||||
rept 3
|
||||
inc hl
|
||||
endr
|
||||
inc a
|
||||
dec c
|
||||
jr nz, .loop
|
||||
ld hl, Sprites + $10
|
||||
ld bc, $90
|
||||
xor a
|
||||
call ByteFill
|
||||
ret
|
||||
; 49912
|
||||
|
||||
LoadCelebiGFX: ; 49912
|
||||
callba Function8cf53
|
||||
ld de, SpecialCelebiLeafGFX
|
||||
ld hl, VTiles1
|
||||
lb bc, BANK(SpecialCelebiLeafGFX), 4
|
||||
call Request2bpp
|
||||
ld de, SpecialCelebiGFX
|
||||
ld hl, VTiles1 tile $04
|
||||
lb bc, BANK(SpecialCelebiGFX), $10
|
||||
call Request2bpp
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
ret
|
||||
; 49935
|
||||
|
||||
Function49935: ; 49935
|
||||
ld hl, wcf64
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .asm_4993e
|
||||
dec [hl]
|
||||
ret
|
||||
|
||||
.asm_4993e
|
||||
ld hl, wJumptableIndex
|
||||
set 7, [hl]
|
||||
ret
|
||||
; 49944
|
||||
|
||||
Function49944: ; 49944
|
||||
ld hl, wcf65
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
and $7
|
||||
ret nz
|
||||
ld a, [hl]
|
||||
and $18
|
||||
sla a
|
||||
add $40
|
||||
ld d, a
|
||||
ld e, $0
|
||||
ld a, SPRITE_ANIM_INDEX_18 ; fly land
|
||||
call _InitSpriteAnimStruct
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], $80
|
||||
ret
|
||||
; 49962
|
||||
|
||||
SpecialCelebiLeafGFX: ; 49962
|
||||
INCBIN "gfx/special/celebi/leaf.2bpp"
|
||||
SpecialCelebiGFX: ; 499a2
|
||||
INCBIN "gfx/special/celebi/1.2bpp"
|
||||
INCBIN "gfx/special/celebi/2.2bpp"
|
||||
INCBIN "gfx/special/celebi/3.2bpp"
|
||||
INCBIN "gfx/special/celebi/4.2bpp"
|
||||
|
||||
|
||||
Function49aa2: ; 49aa2 (12:5aa2)
|
||||
ld hl, $6
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
push af
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
cp $52
|
||||
jp nc, Function49b30
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
inc [hl]
|
||||
ld hl, $f
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld d, a
|
||||
cp $3a
|
||||
jr c, .asm_49ac6
|
||||
jr z, .asm_49ac6
|
||||
sub $3
|
||||
ld [hl], a
|
||||
.asm_49ac6
|
||||
ld hl, $e
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
inc [hl]
|
||||
call Function49b3b
|
||||
ld hl, $6
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
ld d, a
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
add [hl]
|
||||
cp $5c
|
||||
jr nc, .asm_49ae2
|
||||
cp $44
|
||||
jr nc, .asm_49b0d
|
||||
.asm_49ae2
|
||||
pop af
|
||||
push af
|
||||
cp d
|
||||
jr nc, .asm_49af2
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
add [hl]
|
||||
cp $50
|
||||
jr c, .asm_49b05
|
||||
jr .asm_49afb
|
||||
.asm_49af2
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
add [hl]
|
||||
cp $50
|
||||
jr nc, .asm_49b05
|
||||
.asm_49afb
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
sub $2
|
||||
ld [hl], a
|
||||
jr .asm_49b0d
|
||||
.asm_49b05
|
||||
ld hl, $5
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
add $1
|
||||
ld [hl], a
|
||||
.asm_49b0d
|
||||
pop af
|
||||
ld hl, $4
|
||||
add hl, bc
|
||||
add [hl]
|
||||
cp $50
|
||||
jr c, .asm_49b26
|
||||
cp $e6
|
||||
jr nc, .asm_49b26
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld a, $41
|
||||
call Function3b3c
|
||||
jr .asm_49b2f
|
||||
.asm_49b26
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld a, $40
|
||||
call Function3b3c
|
||||
.asm_49b2f
|
||||
ret
|
||||
|
||||
Function49b30: ; 49b30 (12:5b30)
|
||||
pop af
|
||||
ld hl, $1
|
||||
add hl, bc
|
||||
ld a, $40
|
||||
call Function3b3c
|
||||
ret
|
||||
|
||||
Function49b3b: ; 49b3b (12:5b3b)
|
||||
add $10
|
||||
and $3f
|
||||
cp $20
|
||||
jr nc, .asm_49b48
|
||||
call Function49b52
|
||||
ld a, h
|
||||
ret
|
||||
.asm_49b48
|
||||
and $1f
|
||||
call Function49b52
|
||||
ld a, h
|
||||
xor $ff
|
||||
inc a
|
||||
ret
|
||||
|
||||
Function49b52: ; 49b52 (12:5b52)
|
||||
ld e, a
|
||||
ld a, d
|
||||
ld d, $0
|
||||
ld hl, Unknown_49b6e
|
||||
rept 2
|
||||
add hl, de
|
||||
endr
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
ld hl, 0
|
||||
.asm_49b61
|
||||
srl a
|
||||
jr nc, .asm_49b66
|
||||
add hl, de
|
||||
.asm_49b66
|
||||
sla e
|
||||
rl d
|
||||
and a
|
||||
jr nz, .asm_49b61
|
||||
ret
|
||||
; 49b6e (12:5b6e)
|
||||
|
||||
Unknown_49b6e: ; 49b6e
|
||||
sine_wave $100
|
||||
; 49bae
|
||||
|
||||
Function49bae: ; 49bae
|
||||
push hl
|
||||
push bc
|
||||
push de
|
||||
ld a, d
|
||||
ld d, $3
|
||||
ld e, d
|
||||
cp $0
|
||||
jr z, .asm_49bd0
|
||||
cp d
|
||||
jr z, .asm_49bd4
|
||||
call Function49bed
|
||||
cp d
|
||||
jr z, .asm_49bd8
|
||||
call Function49bed
|
||||
cp d
|
||||
jr z, .asm_49bdc
|
||||
call Function49bed
|
||||
cp d
|
||||
jr c, .asm_49be9
|
||||
jr .asm_49be5
|
||||
|
||||
.asm_49bd0
|
||||
ld a, $84
|
||||
jr .asm_49bde
|
||||
|
||||
.asm_49bd4
|
||||
ld a, $88
|
||||
jr .asm_49bde
|
||||
|
||||
.asm_49bd8
|
||||
ld a, $8c
|
||||
jr .asm_49bde
|
||||
|
||||
.asm_49bdc
|
||||
ld a, $90
|
||||
|
||||
.asm_49bde
|
||||
ld hl, $3
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
jr .asm_49be9
|
||||
|
||||
.asm_49be5
|
||||
pop de
|
||||
ld d, $ff
|
||||
push de
|
||||
|
||||
.asm_49be9
|
||||
pop de
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
; 49bed
|
||||
|
||||
Function49bed: ; 49bed
|
||||
push af
|
||||
ld a, d
|
||||
add e
|
||||
ld d, a
|
||||
pop af
|
||||
ret
|
||||
; 49bf3
|
||||
|
||||
Function49bf3: ; 49bf3
|
||||
ld a, BATTLETYPE_CELEBI
|
||||
ld [BattleType], a
|
||||
ret
|
||||
; 49bf9
|
||||
|
||||
Function49bf9: ; 49bf9
|
||||
ld a, [wBattleResult]
|
||||
bit 6, a
|
||||
jr z, .asm_49c07
|
||||
ld a, $1
|
||||
ld [ScriptVar], a
|
||||
jr .asm_49c0b
|
||||
|
||||
.asm_49c07
|
||||
xor a
|
||||
ld [ScriptVar], a
|
||||
|
||||
.asm_49c0b
|
||||
ret
|
||||
; 49c0c
|
||||
299
event/photo.asm
Executable file
299
event/photo.asm
Executable file
@@ -0,0 +1,299 @@
|
||||
UnownPrinter: ; 16be4
|
||||
ld a, [UnownDex]
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld a, [hInMenu]
|
||||
push af
|
||||
ld a, $1
|
||||
ld [hInMenu], a
|
||||
ld a, [Options]
|
||||
push af
|
||||
set NO_TEXT_SCROLL, a
|
||||
ld [Options], a
|
||||
call ClearBGPalettes
|
||||
call ClearTileMap
|
||||
|
||||
ld de, UnownDexATile
|
||||
ld hl, VTiles1 tile $6f
|
||||
lb bc, BANK(UnownDexBTile), 1
|
||||
call Request1bpp
|
||||
|
||||
ld de, UnownDexBTile
|
||||
ld hl, VTiles1 tile $75
|
||||
lb bc, BANK(UnownDexBTile), 1
|
||||
call Request1bpp
|
||||
|
||||
hlcoord 0, 0
|
||||
lb bc, 3, 18
|
||||
call TextBox
|
||||
|
||||
hlcoord 0, 5
|
||||
lb bc, 7, 7
|
||||
call TextBox
|
||||
|
||||
hlcoord 0, 14
|
||||
lb bc, 2, 18
|
||||
call TextBox
|
||||
|
||||
hlcoord 1, 2
|
||||
ld de, AlphRuinsStampString
|
||||
call PlaceString
|
||||
|
||||
hlcoord 1, 16
|
||||
ld de, UnownDexDoWhatString
|
||||
call PlaceString
|
||||
|
||||
hlcoord 10, 6
|
||||
ld de, UnownDexMenuString
|
||||
call PlaceString
|
||||
|
||||
xor a
|
||||
ld [wJumptableIndex], a
|
||||
call Function16cc8
|
||||
call WaitBGMap
|
||||
|
||||
ld a, UNOWN
|
||||
ld [CurPartySpecies], a
|
||||
xor a
|
||||
ld [TempMonDVs], a
|
||||
ld [TempMonDVs + 1], a
|
||||
|
||||
ld b, SCGB_1C
|
||||
call GetSGBLayout
|
||||
call SetPalettes
|
||||
|
||||
.joy_loop
|
||||
call JoyTextDelay
|
||||
|
||||
ld a, [hJoyPressed]
|
||||
and B_BUTTON
|
||||
jr nz, .pressed_b
|
||||
|
||||
ld a, [hJoyPressed]
|
||||
and A_BUTTON
|
||||
jr nz, .pressed_a
|
||||
|
||||
call Function16ca0
|
||||
call DelayFrame
|
||||
jr .joy_loop
|
||||
|
||||
.pressed_a
|
||||
ld a, [wJumptableIndex]
|
||||
push af
|
||||
callba Function84560
|
||||
call RestartMapMusic
|
||||
pop af
|
||||
ld [wJumptableIndex], a
|
||||
jr .joy_loop
|
||||
|
||||
.pressed_b
|
||||
pop af
|
||||
ld [Options], a
|
||||
pop af
|
||||
ld [hInMenu], a
|
||||
call ReturnToMapFromSubmenu
|
||||
ret
|
||||
; 16ca0
|
||||
|
||||
Function16ca0: ; 16ca0
|
||||
ld a, [hJoyLast]
|
||||
and D_RIGHT
|
||||
jr nz, .press_right
|
||||
ld a, [hJoyLast]
|
||||
and D_LEFT
|
||||
jr nz, .press_left
|
||||
ret
|
||||
|
||||
.press_left
|
||||
ld hl, wJumptableIndex
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr nz, .wrap_around_left
|
||||
ld [hl], $1b
|
||||
|
||||
.wrap_around_left
|
||||
dec [hl]
|
||||
jr .return
|
||||
|
||||
.press_right
|
||||
ld hl, wJumptableIndex
|
||||
ld a, [hl]
|
||||
cp $1a
|
||||
jr c, .wrap_around_right
|
||||
ld [hl], $ff
|
||||
|
||||
.wrap_around_right
|
||||
inc [hl]
|
||||
|
||||
.return
|
||||
call Function16cc8
|
||||
ret
|
||||
; 16cc8
|
||||
|
||||
Function16cc8: ; 16cc8
|
||||
ld a, [wJumptableIndex]
|
||||
cp 26
|
||||
jr z, Function16d20
|
||||
inc a
|
||||
ld [UnownLetter], a
|
||||
ld a, UNOWN
|
||||
ld [CurPartySpecies], a
|
||||
xor a
|
||||
ld [wc2c6], a
|
||||
ld de, VTiles2
|
||||
predef GetFrontpic
|
||||
call Function16cff
|
||||
hlcoord 1, 6
|
||||
xor a
|
||||
ld [hFillBox], a
|
||||
lb bc, 7, 7
|
||||
predef FillBox
|
||||
ld de, VTiles2 tile $31
|
||||
callba Functione0000
|
||||
ret
|
||||
; 16cff
|
||||
|
||||
Function16cff: ; 16cff
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, $6
|
||||
ld [rSVBK], a
|
||||
|
||||
ld a, BANK(sScratch)
|
||||
call GetSRAMBank
|
||||
ld de, w6_d000
|
||||
ld hl, sScratch
|
||||
ld a, [hROMBank]
|
||||
ld b, a
|
||||
ld c, $31
|
||||
call Get2bpp
|
||||
call CloseSRAM
|
||||
|
||||
pop af
|
||||
ld [rSVBK], a
|
||||
ret
|
||||
; 16d20
|
||||
|
||||
Function16d20: ; 16d20
|
||||
hlcoord 1, 6
|
||||
lb bc, 7, 7
|
||||
call ClearBox
|
||||
hlcoord 1, 9
|
||||
ld de, UnownDexVacantString
|
||||
call PlaceString
|
||||
xor a
|
||||
call GetSRAMBank
|
||||
ld hl, sScratch
|
||||
ld bc, $31 tiles
|
||||
xor a
|
||||
call ByteFill
|
||||
ld hl, VTiles2 tile $31
|
||||
ld de, sScratch
|
||||
ld c, $31
|
||||
ld a, [hROMBank]
|
||||
ld b, a
|
||||
call Get2bpp
|
||||
call CloseSRAM
|
||||
ld c, 20
|
||||
call DelayFrames
|
||||
ret
|
||||
; 16d57
|
||||
|
||||
AlphRuinsStampString:
|
||||
db " ALPH RUINS STAMP@"
|
||||
|
||||
UnownDexDoWhatString:
|
||||
db "Do what?@"
|
||||
|
||||
UnownDexMenuString:
|
||||
db "♂ PRINT"
|
||||
next "♀ CANCEL"
|
||||
next "← PREVIOUS"
|
||||
next "→ NEXT"
|
||||
db "@"
|
||||
|
||||
UnownDexVacantString:
|
||||
db "VACANT@"
|
||||
; 16d9c
|
||||
|
||||
UnownDexATile: ; 16d9c
|
||||
INCBIN "gfx/unknown/016d9c.1bpp"
|
||||
UnownDexBTile: ; 16da4
|
||||
INCBIN "gfx/unknown/016da4.1bpp"
|
||||
; 16dac
|
||||
|
||||
Function16dac: ; 16dac
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 7, 11
|
||||
ld a, $31
|
||||
ld [hFillBox], a
|
||||
lb bc, 7, 7
|
||||
predef FillBox
|
||||
ret
|
||||
; 16dc7
|
||||
|
||||
PhotoStudio: ; 16dc7
|
||||
ld hl, .Text_AskWhichMon
|
||||
call PrintText
|
||||
callba SelectMonFromParty
|
||||
jr c, .cancel
|
||||
ld a, [CurPartySpecies]
|
||||
cp EGG
|
||||
jr z, .egg
|
||||
|
||||
ld hl, .Text_HoldStill
|
||||
call PrintText
|
||||
call DisableSpriteUpdates
|
||||
callba Function8461a
|
||||
call Function2b74
|
||||
ld a, [$ffac]
|
||||
and a
|
||||
jr nz, .cancel
|
||||
ld hl, .Text_Presto
|
||||
jr .print_text
|
||||
|
||||
.cancel
|
||||
ld hl, .Text_NoPicture
|
||||
jr .print_text
|
||||
|
||||
.egg
|
||||
ld hl, .Text_Egg
|
||||
|
||||
.print_text
|
||||
call PrintText
|
||||
ret
|
||||
; 16e04
|
||||
|
||||
.Text_AskWhichMon: ; 0x16e04
|
||||
; Which #MON should I photo- graph?
|
||||
text_jump UnknownText_0x1be024
|
||||
db "@"
|
||||
; 0x16e09
|
||||
|
||||
.Text_HoldStill: ; 0x16e09
|
||||
; All righty. Hold still for a bit.
|
||||
text_jump UnknownText_0x1be047
|
||||
db "@"
|
||||
; 0x16e0e
|
||||
|
||||
.Text_Presto: ; 0x16e0e
|
||||
; Presto! All done. Come again, OK?
|
||||
text_jump UnknownText_0x1be06a
|
||||
db "@"
|
||||
; 0x16e13
|
||||
|
||||
.Text_NoPicture: ; 0x16e13
|
||||
; Oh, no picture? Come again, OK?
|
||||
text_jump UnknownText_0x1c0000
|
||||
db "@"
|
||||
; 0x16e18
|
||||
|
||||
.Text_Egg: ; 0x16e18
|
||||
; An EGG? My talent is worth more…
|
||||
text_jump UnknownText_0x1c0021
|
||||
db "@"
|
||||
; 0x16e1d
|
||||
Reference in New Issue
Block a user