More specials; bank 12 mobile

This commit is contained in:
PikalaxALT
2015-11-16 22:29:54 -05:00
parent 042fc4bfe5
commit 0b8fe4bac3
40 changed files with 3811 additions and 3810 deletions

354
event/celebi.asm Executable file
View 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
View 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