summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorElectroDeoxys <ElectroDeoxys@gmail.com>2021-05-20 16:27:07 +0100
committerElectroDeoxys <ElectroDeoxys@gmail.com>2021-05-20 16:27:07 +0100
commit5b7a7407e6bc25b4fdedef575da2a9039dbd872b (patch)
tree9016604c5d2afc0f175d773164a302a9063b19d3 /src
parent6a7f5a9ebe6e91607c92a4a98ec6562914c12ab8 (diff)
Disassemble functions for opening animations
Diffstat (limited to 'src')
-rw-r--r--src/engine/bank04.asm16
-rw-r--r--src/engine/bank07.asm326
-rw-r--r--src/wram.asm2
3 files changed, 331 insertions, 13 deletions
diff --git a/src/engine/bank04.asm b/src/engine/bank04.asm
index 92d6d57..e3e8734 100644
--- a/src/engine/bank04.asm
+++ b/src/engine/bank04.asm
@@ -761,7 +761,21 @@ Func_10d17: ; 10d17 (4:4d17)
ret
; 0x10d50
- INCROM $10d50, $10d74
+Func_10d50: ; 10d50 (4:4d50)
+ ld a, [wd293]
+ ld [wd294], a
+ ld a, [wOBP0]
+ ld [wd295], a
+ ld a, [wOBP1]
+ ld [wd296], a
+ ld de, PALRGB_WHITE
+ ld hl, wTempBackgroundPalettesCGB
+ ld bc, 4 palettes
+ call FillMemoryWithDE
+ ld a, $10
+ ld [wd317], a
+ ret
+; 0x10d74
; does stuff according to bottom 2 bits from wd317:
; - if equal to %01, modify wBGP
diff --git a/src/engine/bank07.asm b/src/engine/bank07.asm
index 757a254..953d8a8 100644
--- a/src/engine/bank07.asm
+++ b/src/engine/bank07.asm
@@ -2337,7 +2337,7 @@ LoadTitleScreenSprites: ; 1d3ce (7:53ce)
farcall LoadPaletteData
ld bc, 0
- ld de, wTitleScreenSprite
+ ld de, wTitleScreenSprites
.loop_load_sprites
push bc
push de
@@ -2409,6 +2409,7 @@ Func_1d432: ; 1d432 (7:5432)
ld a, $03
jr Func_1d438
+Func_1d436: ; 1d436 (7:5436)
ld a, $04
; fallthrough
@@ -2424,7 +2425,203 @@ Func_1d438: ; 1d438 (7:5438)
ret
; 0x1d444
- INCROM $1d444, $1d519
+Func_1d444: ; 1d444 (7:5444)
+ ld c, $7
+ ld de, wTitleScreenSprites
+.loop
+ ld a, [de]
+ ld [wWhichSprite], a
+ farcall GetSpriteAnimCounter
+ cp $ff
+ jr nz, .no_carry
+ inc de
+ dec c
+ jr nz, .loop
+ call Func_1d42e
+ scf
+ ret
+
+.no_carry
+ or a
+ ret
+; 0x1d460
+
+Func_1d460: ; 1d460 (7:5460)
+ ld a, c
+ ld [wd633], a
+ call Func_1d432
+ scf
+ ret
+; 0x1d469
+
+Func_1d469: ; 1d469 (7:5469)
+ ld l, c
+ ld h, b
+
+ ld c, $7
+ ld de, wTitleScreenSprites
+.loop
+ push bc
+ push de
+ ld a, [de]
+ ld [wWhichSprite], a
+ ld a, [hli]
+ farcall StartSpriteAnimation
+ pop de
+ pop bc
+ inc de
+ dec c
+ jr nz, .loop
+
+ call Func_1d436
+ scf
+ ret
+; 0x1d486
+
+Func_1d486: ; 1d486 (7:5486)
+ ld l, c
+ ld h, b
+
+ ld c, $7
+ ld de, wTitleScreenSprites
+.loop
+ push bc
+ push de
+ ld a, [de]
+ ld [wWhichSprite], a
+ push hl
+ ld c, SPRITE_ANIM_COORD_X
+ call GetSpriteAnimBufferProperty
+ ld e, l
+ ld d, h
+ pop hl
+ ld a, [hli]
+ add 8
+ ld [de], a ; x
+ inc de
+ ld a, [hli]
+ add 16
+ ld [de], a ; y
+ pop de
+ pop bc
+ inc de
+ dec c
+ jr nz, .loop
+
+ call Func_1d436
+ scf
+ ret
+; 0x1d4b0
+
+; list of sprite animations
+Data_1d4b0: ; 1d4b0 (7:54b0)
+ db $c0 ; GRASS
+ db $c1 ; FIRE
+ db $c1 ; WATER
+ db $c0 ; COLORLESS
+ db $c1 ; LIGHTNING
+ db $c0 ; PSYCHIC
+ db $c1 ; FIGHTING
+; 0x1d4b7
+
+Data_1d4b7: ; 1d4b7 (7:54b7)
+ ; x coord, y coord
+ db 240, 28 ; GRASS
+ db 160, 120 ; FIRE
+ db 160, 8 ; WATER
+ db 240, 64 ; COLORLESS
+ db 160, 84 ; LIGHTNING
+ db 240, 100 ; PSYCHIC
+ db 160, 44 ; FIGHTING
+; 0x1d4c5
+
+; list of sprite animations
+Data_1d4c5: ; 1d4c5 (7:54c5)
+ db $c1 ; GRASS
+ db $c0 ; FIRE
+ db $c0 ; WATER
+ db $c1 ; COLORLESS
+ db $c0 ; LIGHTNING
+ db $c1 ; PSYCHIC
+ db $c0 ; FIGHTING
+; 0x1d4cc
+
+Data_1d4cc: ; 1d4cc (7:54cc)
+ ; x coord, y coord
+ db 160, 28 ; GRASS
+ db 240, 120 ; FIRE
+ db 240, 8 ; WATER
+ db 160, 64 ; COLORLESS
+ db 240, 84 ; LIGHTNING
+ db 160, 100 ; PSYCHIC
+ db 240, 44 ; FIGHTING
+; 0x1d4da
+
+; list of sprite animations
+Data_1d4da: ; 1d4da (7:54da)
+ db $c2 ; GRASS
+ db $c5 ; FIRE
+ db $c8 ; WATER
+ db $cb ; COLORLESS
+ db $ce ; LIGHTNING
+ db $d1 ; PSYCHIC
+ db $d4 ; FIGHTING
+; 0x1d4e1
+
+Data_1d4e1: ; 1d4e1 (7:54e1)
+ ; x coord, y coord
+ db 240, 32 ; GRASS
+ db 160, 112 ; FIRE
+ db $A0, 16 ; WATER
+ db 240, 64 ; COLORLESS
+ db 160, 80 ; LIGHTNING
+ db 240, 96 ; PSYCHIC
+ db 160, 48 ; FIGHTING
+; 0x1d4ef
+
+; list of sprite animations
+Data_1d4ef: ; 1d4ef (7:54ef)
+ db $c3 ; GRASS
+ db $c6 ; FIRE
+ db $c9 ; WATER
+ db $cc ; COLORLESS
+ db $cf ; LIGHTNING
+ db $d2 ; PSYCHIC
+ db $d5 ; FIGHTING
+; 0x1d4f6
+
+Data_1d4f6: ; 1d4f6 (7:54f6)
+ ; x coord, y coord
+ db 112, 144 ; GRASS
+ db 12, 144 ; FIRE
+ db 32, 144 ; WATER
+ db 92, 144 ; COLORLESS
+ db 52, 144 ; LIGHTNING
+ db 132, 144 ; PSYCHIC
+ db 72, 144 ; FIGHTING
+; 0x1d504
+
+; list of sprite animations
+Data_1d504: ; 1d504 (7:5504)
+ db $c4 ; GRASS
+ db $c7 ; FIRE
+ db $ca ; WATER
+ db $cd ; COLORLESS
+ db $d0 ; LIGHTNING
+ db $d3 ; PSYCHIC
+ db $d6 ; FIGHTING
+; 0x1d50b
+
+Data_1d50b: ; 1d50b (7:550b)
+ ; x coord, y coord
+ db 112, 76 ; GRASS
+ db 0, 28 ; FIRE
+ db 32, 76 ; WATER
+ db 92, 252 ; COLORLESS
+ db 52, 252 ; LIGHTNING
+ db 144, 28 ; PSYCHIC
+ db 72, 76 ; FIGHTING
+; 0x1d519
Titlescreen_1d519: ; 1d519 (7:5519)
ld a, MUSIC_TITLESCREEN
@@ -2434,7 +2631,18 @@ Titlescreen_1d519: ; 1d519 (7:5519)
ret
; 0x1d523
- INCROM $1d523, $1d530
+Func_1d523: ; 1d523 (7:5523)
+ call AssertSFXFinished
+ or a
+ jr nz, .no_carry
+ call Func_1d42e
+ scf
+ ret
+
+.no_carry
+ or a
+ ret
+; 0x1d530
Func_1d530: ; 1d530 (7:5530)
ld a, c
@@ -2444,17 +2652,34 @@ Func_1d530: ; 1d530 (7:5530)
ret
; 0x1d539
- INCROM $1d539, $1d551
+Func_1d539: ; 1d539 (7:5539)
+ ld a, $01
+ ld [wd634], a
+ call Func_1d42e
+ scf
+ ret
+; 0x1d543
+
+Func_1d543: ; 1d543 (7:5543)
+ farcall Func_10d50
+ ld a, $01
+ ld [wd634], a
+ call Func_1d42e
+ scf
+ ret
+; 0x1d551
ShowCharizardIntro: ; 1d551 (7:5551)
lb bc, 6, 3
ld a, SCENE_CHARIZARD_INTRO
jr LoadIntroSceneAndUpdateSGBBorder
+ShowScytherIntro: ; 1d558 (7:5558)
lb bc, 6, 3
ld a, SCENE_SCYTHER_INTRO
jr LoadIntroSceneAndUpdateSGBBorder
+ShowAerodactylIntro: ; 1d55f (7:555f)
lb bc, 6, 3
ld a, SCENE_AERODACTYL_INTRO
; fallthrough
@@ -2469,7 +2694,14 @@ LoadIntroSceneAndUpdateSGBBorder: ; 1d564 (7:5564)
ret
; 0x1d575
- INCROM $1d575, $1d582
+Func_1d575: ; 1d575 (7:5575)
+ lb bc, 0, 0
+ ld a, SCENE_TITLE_SCREEN
+ call LoadIntroScene
+ call Func_1d59c
+ scf
+ ret
+; 0x1d582
; a = scene ID
; bc = coordinates for scene
@@ -2497,10 +2729,49 @@ Func_1d59c: ; 1d59c (7:559c)
Data_1d59d: ; 1d59d (7:559d)
dw ShowCharizardIntro
dwb Func_1d530, SFX_58
- dw $5486
-; 0x1d5a4
-
- INCROM $1d5a4, $1d614
+ dw Func_1d486, Data_1d4b7
+ dw Func_1d469, Data_1d4b0
+ dwb Func_1d460, $2c
+ dw Func_1d539
+ dwb Func_1d460, $2c
+ dw Func_1d543
+ dwb Func_1d460, $1e
+
+ dw ShowScytherIntro
+ dwb Func_1d530, SFX_58
+ dw Func_1d486, Data_1d4cc
+ dw Func_1d469, Data_1d4c5
+ dwb Func_1d460, $2c
+ dw Func_1d539
+ dwb Func_1d460, $2c
+ dw Func_1d543
+ dwb Func_1d460, $1e
+
+ dw ShowAerodactylIntro
+ dwb Func_1d530, SFX_59
+ dw Func_1d486, Data_1d4e1
+ dw Func_1d469, Data_1d4da
+ dwb Func_1d460, $2c
+ dw Func_1d539
+ dwb Func_1d460, $64
+ dw Func_1d543
+ dwb Func_1d460, $3c
+
+ dw Func_1d575
+ dwb Func_1d530, SFX_5A
+ dw Func_1d486, Data_1d4f6
+ dw Func_1d469, Data_1d4ef
+ dw Func_1d444
+ dw Func_1d539
+ dwb Func_1d460, $10
+ dwb Func_1d530, SFX_5B
+ dw Func_1d486, Data_1d50b
+ dw Func_1d469, Data_1d504
+ dw Func_1d523
+ dw Titlescreen_1d519
+ dwb Func_1d460, $3c
+ dwb Func_1d460, $ff
+ ; 0x1d614
Func_1d614: ; 1d614 (7:5614)
INCROM $1d614, $1d6ad
@@ -2566,15 +2837,19 @@ Func_1d835: ; 1d835 (7:5835)
ld a, $02
jr Func_1d847
+Func_1d839: ; 1d839 (7:5839)
ld a, $03
jr Func_1d847
+Func_1d83d: ; 1d83d (7:583d)
ld a, $05
jr Func_1d847
+Func_1d841: ; 1d841 (7:5841)
ld a, $06
jr Func_1d847
+Func_1d845: ; 1d845 (7:5845)
ld a, $04
; fallthrough
@@ -2590,7 +2865,36 @@ Func_1d847: ; 1d847 (7:5847)
ret
; 0x1d853
- INCROM $1d853, $1d9db
+ INCROM $1d853, $1d9a6
+
+Func_1d9a6: ; 1d9a6 (7:59a6)
+ push bc
+ push de
+ call EmptyScreen
+ pop de
+ pop bc
+ ld a, c
+ ldh [hSCX], a
+ ld a, b
+ ldh [hSCY], a
+ ld a, e
+ ld [wCurMap], a
+ farcall LoadMapTilesAndPals
+ farcall Func_c9c7
+ farcall SafelyCopyBGMapFromSRAMToVRAM
+ farcall DoMapOWFrame
+ xor a
+ ld [wd4ca], a
+ ld [wd4cb], a
+ ld a, $1d
+ farcall LoadPaletteData
+ ret
+; 0x1d9d5
+
+Func_1d9d5: ; 1d9d5 (7:59d5)
+ call Func_1d9a6
+ jp Func_1d83d
+; 0x1d9db
Func_1d9db: ; 1d9db (7:59db)
call DisableLCD
@@ -2601,7 +2905,7 @@ Func_1d9db: ; 1d9db (7:59db)
Data_1daef: ; 1daef (7:5aef)
dw Func_1d9db
- dw $59d5
+ dw Func_1d9d5
; 0x1daf3
INCROM $1daf3, $1e1c4
diff --git a/src/wram.asm b/src/wram.asm
index f625a2a..1f9d686 100644
--- a/src/wram.asm
+++ b/src/wram.asm
@@ -3030,7 +3030,7 @@ wStartMenuChoice:: ; d628
ds $1
; list of sprites used in the Title Screen
-wTitleScreenSprite:: ; d629
+wTitleScreenSprites:: ; d629
ds $7
ds $1