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/engine | |
| parent | 6a7f5a9ebe6e91607c92a4a98ec6562914c12ab8 (diff) | |
Disassemble functions for opening animations
Diffstat (limited to 'src/engine')
| -rw-r--r-- | src/engine/bank04.asm | 16 | ||||
| -rw-r--r-- | src/engine/bank07.asm | 326 | 
2 files changed, 330 insertions, 12 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 | 
