diff options
author | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-20 16:27:07 +0100 |
---|---|---|
committer | ElectroDeoxys <ElectroDeoxys@gmail.com> | 2021-05-20 16:27:07 +0100 |
commit | 5b7a7407e6bc25b4fdedef575da2a9039dbd872b (patch) | |
tree | 9016604c5d2afc0f175d773164a302a9063b19d3 /src | |
parent | 6a7f5a9ebe6e91607c92a4a98ec6562914c12ab8 (diff) |
Disassemble functions for opening animations
Diffstat (limited to 'src')
-rw-r--r-- | src/engine/bank04.asm | 16 | ||||
-rw-r--r-- | src/engine/bank07.asm | 326 | ||||
-rw-r--r-- | src/wram.asm | 2 |
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 |