Merge pull request #762 from mid-kid/master

Better document splash screen
This commit is contained in:
Rangi 2020-08-27 12:13:44 -04:00 committed by GitHub
commit a147c35540
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
32 changed files with 1091 additions and 1078 deletions

View File

@ -1,7 +1,7 @@
; battle_anim_struct members (see macros/wram.asm) ; battle_anim_struct members (see macros/wram.asm)
const_def const_def
const BATTLEANIMSTRUCT_INDEX const BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_01 const BATTLEANIMSTRUCT_OAMFLAGS
const BATTLEANIMSTRUCT_02 const BATTLEANIMSTRUCT_02
const BATTLEANIMSTRUCT_FRAMESET_ID const BATTLEANIMSTRUCT_FRAMESET_ID
const BATTLEANIMSTRUCT_FUNCTION const BATTLEANIMSTRUCT_FUNCTION
@ -14,9 +14,9 @@
const BATTLEANIMSTRUCT_PARAM const BATTLEANIMSTRUCT_PARAM
const BATTLEANIMSTRUCT_DURATION const BATTLEANIMSTRUCT_DURATION
const BATTLEANIMSTRUCT_FRAME const BATTLEANIMSTRUCT_FRAME
const BATTLEANIMSTRUCT_ANON_JT_INDEX const BATTLEANIMSTRUCT_JUMPTABLE_INDEX
const BATTLEANIMSTRUCT_0F const BATTLEANIMSTRUCT_VAR1
const BATTLEANIMSTRUCT_10 const BATTLEANIMSTRUCT_VAR2
const_skip 7 const_skip 7
BATTLEANIMSTRUCT_LENGTH EQU const_value BATTLEANIMSTRUCT_LENGTH EQU const_value
NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects

View File

@ -12,10 +12,10 @@
const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9 const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9
const SPRITEANIMSTRUCT_FRAME ; a const SPRITEANIMSTRUCT_FRAME ; a
const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b
const SPRITEANIMSTRUCT_0C ; c const SPRITEANIMSTRUCT_VAR1 ; c
const SPRITEANIMSTRUCT_0D ; d const SPRITEANIMSTRUCT_VAR2 ; d
const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_VAR3 ; e
const SPRITEANIMSTRUCT_0F ; f const SPRITEANIMSTRUCT_VAR4 ; f
SPRITEANIMSTRUCT_LENGTH EQU const_value SPRITEANIMSTRUCT_LENGTH EQU const_value
NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
@ -25,8 +25,8 @@ NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01 const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02 const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03 const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04 const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR ; 04
const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05 const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE ; 05
const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06 const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07 const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08 const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
@ -76,8 +76,8 @@ NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04 const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05 const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06 const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07 const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR ; 07
const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08 const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE ; 08
const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09 const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
@ -118,8 +118,8 @@ NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08 const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG ; 09 const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG ; 09
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR ; 0b
const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE ; 0c
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
@ -210,11 +210,11 @@ NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f
const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20 const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20
const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG ; 21 const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG ; 21
const SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO ; 22 const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO ; 22
const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23 const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR ; 23
const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24 const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1 ; 24
const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25 const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2 ; 25
const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26 const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3 ; 26
const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27 const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27
const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28 const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28
const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29 const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29

View File

@ -11,8 +11,8 @@ SpriteAnimFrameData:
dw .Frameset_TextEntryCursor dw .Frameset_TextEntryCursor
dw .Frameset_TextEntryCursorBig dw .Frameset_TextEntryCursorBig
dw .Frameset_GameFreakLogo dw .Frameset_GameFreakLogo
dw .Frameset_GSIntroStar dw .Frameset_GSGameFreakLogoStar
dw .Frameset_GSIntroSparkle dw .Frameset_GSGameFreakLogoSparkle
dw .Frameset_SlotsGolem dw .Frameset_SlotsGolem
dw .Frameset_SlotsChansey dw .Frameset_SlotsChansey
dw .Frameset_SlotsChansey2 dw .Frameset_SlotsChansey2
@ -155,16 +155,16 @@ SpriteAnimFrameData:
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7 frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7
endanim endanim
.Frameset_GSIntroStar: .Frameset_GSGameFreakLogoStar:
frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3 frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3
frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3, OAM_Y_FLIP
dorestart dorestart
.Frameset_GSIntroSparkle: .Frameset_GSGameFreakLogoSparkle:
frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2 frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1, 2
frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2 frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3, 2
frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
dorestart dorestart
.Frameset_SlotsGolem: .Frameset_SlotsGolem:

View File

@ -35,11 +35,11 @@ SpriteAnimOAMData:
dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
dbw $00, .OAMData_TextEntryCursorBig ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG dbw $00, .OAMData_TextEntryCursorBig ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG
dbw $00, .OAMData_GSIntroGameFreakLogo ; SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO dbw $00, .OAMData_GSGameFreakLogo ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO
dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR dbw $0f, .OAMData_GSGameFreakLogoStar ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR
dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1
dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2
dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3
dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
@ -153,7 +153,7 @@ SpriteAnimOAMData:
dbsprite -1, 0, 0, 0, $10, 0 dbsprite -1, 0, 0, 0, $10, 0
dbsprite 0, 0, 0, 0, $11, 0 dbsprite 0, 0, 0, 0, $11, 0
.OAMData_GSIntroStar: .OAMData_GSGameFreakLogoStar:
db 4 db 4
dbsprite -1, -1, 0, 0, $00, 0 dbsprite -1, -1, 0, 0, $00, 0
dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP
@ -471,7 +471,7 @@ SpriteAnimOAMData:
dbsprite 3, 0, 0, 0, $01, 0 | Y_FLIP dbsprite 3, 0, 0, 0, $01, 0 | Y_FLIP
dbsprite 4, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP dbsprite 4, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
.OAMData_GSIntroGameFreakLogo: .OAMData_GSGameFreakLogo:
db 15 db 15
dbsprite -2, -3, 4, 4, $00, 1 | OBP_NUM dbsprite -2, -3, 4, 4, $00, 1 | OBP_NUM
dbsprite -1, -3, 4, 4, $01, 1 | OBP_NUM dbsprite -1, -3, 4, 4, $01, 1 | OBP_NUM

View File

@ -5,8 +5,8 @@ SpriteAnimSeqData:
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG

View File

@ -319,7 +319,6 @@ RunBattleAnimCommand:
ld hl, BattleAnimCommands ld hl, BattleAnimCommands
add hl, de add hl, de
add hl, de add hl, de
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
ld l, a ld l, a
@ -714,7 +713,7 @@ BattleAnimCmd_IncObj:
ret ret
.found .found
ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
@ -765,7 +764,7 @@ BattleAnimCmd_SetObj:
.found .found
call GetBattleAnimByte call GetBattleAnimByte
ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret

View File

@ -39,42 +39,42 @@ endr
ld hl, BATTLEANIMSTRUCT_INDEX ld hl, BATTLEANIMSTRUCT_INDEX
add hl, bc add hl, bc
ld a, [wLastAnimObjectIndex] ld a, [wLastAnimObjectIndex]
ld [hli], a ; Index ld [hli], a ; BATTLEANIMSTRUCT_INDEX
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ; 01 ld [hli], a ; BATTLEANIMSTRUCT_OAMFLAGS
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ; 02 ld [hli], a ; BATTLEANIMSTRUCT_02
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ; Frameset ID ld [hli], a ; BATTLEANIMSTRUCT_FRAMESET_ID
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ; Function ld [hli], a ; BATTLEANIMSTRUCT_FUNCTION
ld a, [de] ld a, [de]
inc de inc de
ld [hli], a ; 05 ld [hli], a ; BATTLEANIMSTRUCT_PALETTE
ld a, [de] ld a, [de]
call GetBattleAnimTileOffset call GetBattleAnimTileOffset
ld [hli], a ; Tile ID ld [hli], a ; BATTLEANIMSTRUCT_TILEID
ld a, [wBattleObjectTempXCoord] ld a, [wBattleObjectTempXCoord]
ld [hli], a ; X Coord ld [hli], a ; BATTLEANIMSTRUCT_XCOORD
ld a, [wBattleObjectTempYCoord] ld a, [wBattleObjectTempYCoord]
ld [hli], a ; Y Coord ld [hli], a ; BATTLEANIMSTRUCT_YCOORD
xor a xor a
ld [hli], a ; X Offset ld [hli], a ; BATTLEANIMSTRUCT_XOFFSET
ld [hli], a ; Y Offset ld [hli], a ; BATTLEANIMSTRUCT_YOFFSET
ld a, [wBattleObjectTempParam] ld a, [wBattleObjectTempParam]
ld [hli], a ; Param ld [hli], a ; BATTLEANIMSTRUCT_PARAM
xor a xor a
ld [hli], a ; 0c ld [hli], a ; BATTLEANIMSTRUCT_DURATION
dec a dec a
ld [hli], a ; 0d ld [hli], a ; BATTLEANIMSTRUCT_FRAME
xor a xor a
ld [hli], a ; 0e ld [hli], a ; BATTLEANIMSTRUCT_JUMPTABLE_INDEX
ld [hli], a ; 0f ld [hli], a ; BATTLEANIMSTRUCT_VAR1
ld [hl], a ; 10 ld [hl], a ; BATTLEANIMSTRUCT_VAR2
ret ret
BattleAnimOAMUpdate: BattleAnimOAMUpdate:
@ -199,7 +199,7 @@ BattleAnimOAMUpdate:
ret ret
InitBattleAnimBuffer: InitBattleAnimBuffer:
ld hl, BATTLEANIMSTRUCT_01 ld hl, BATTLEANIMSTRUCT_OAMFLAGS
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -232,7 +232,7 @@ InitBattleAnimBuffer:
and a and a
ret z ret z
ld hl, BATTLEANIMSTRUCT_01 ld hl, BATTLEANIMSTRUCT_OAMFLAGS
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld [wBattleAnimTempOAMFlags], a ld [wBattleAnimTempOAMFlags], a

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@ CelebiShrineEvent:
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc add hl, bc
ld [hl], SPRITE_ANIM_SEQ_CELEBI ld [hl], SPRITE_ANIM_SEQ_CELEBI
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld a, $80 ld a, $80
ld [hl], a ld [hl], a
@ -138,7 +138,7 @@ UpdateCelebiPosition:
ld hl, SPRITEANIMSTRUCT_YCOORD ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc add hl, bc
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld d, a ld d, a
@ -148,7 +148,7 @@ UpdateCelebiPosition:
sub $3 sub $3
ld [hl], a ld [hl], a
.skip .skip
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]

View File

@ -222,11 +222,11 @@ Cut_SpawnLeaf:
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc add hl, bc
ld [hl], FIELDMOVE_GRASS ld [hl], FIELDMOVE_GRASS
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld [hl], $4 ld [hl], $4
pop af pop af
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
pop de pop de
@ -346,7 +346,7 @@ FlyToAnim:
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc add hl, bc
ld [hl], SPRITE_ANIM_SEQ_FLY_TO ld [hl], SPRITE_ANIM_SEQ_FLY_TO
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld [hl], 11 * 8 ld [hl], 11 * 8
ld a, 64 ld a, 64

View File

@ -523,7 +523,7 @@ DummyGame_InterpretJoypad_AnimateCursor:
ret ret
.pressed_a .pressed_a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc a inc a
@ -538,7 +538,7 @@ DummyGame_InterpretJoypad_AnimateCursor:
ret z ret z
sub 1 tiles sub 1 tiles
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
dec [hl] dec [hl]
ret ret
@ -551,7 +551,7 @@ DummyGame_InterpretJoypad_AnimateCursor:
ret z ret z
add 1 tiles add 1 tiles
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
inc [hl] inc [hl]
ret ret
@ -564,7 +564,7 @@ DummyGame_InterpretJoypad_AnimateCursor:
ret z ret z
sub 1 tiles sub 1 tiles
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
sub 9 sub 9
@ -579,7 +579,7 @@ DummyGame_InterpretJoypad_AnimateCursor:
ret z ret z
add 1 tiles add 1 tiles
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
add 9 add 9

View File

@ -1140,7 +1140,7 @@ ReelAction_InitGolem:
depixel 12, 13 depixel 12, 13
ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
pop af pop af
ld [hl], a ld [hl], a
@ -1968,7 +1968,7 @@ Slots_AnimateGolem:
dw .roll dw .roll
.init .init
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -1985,7 +1985,7 @@ Slots_AnimateGolem:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $30 ld [hl], $30
ld hl, SPRITEANIMSTRUCT_XOFFSET ld hl, SPRITEANIMSTRUCT_XOFFSET
@ -1993,7 +1993,7 @@ Slots_AnimateGolem:
ld [hl], $0 ld [hl], $0
.fall .fall
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $20 cp $20
@ -2012,7 +2012,7 @@ Slots_AnimateGolem:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], $2 ld [hl], $2
ld a, 1 ld a, 1
@ -2031,7 +2031,7 @@ Slots_AnimateGolem:
jr nc, .restart jr nc, .restart
and $3 and $3
ret nz ret nz
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
xor $ff xor $ff
@ -2101,11 +2101,11 @@ Slots_AnimateChansey:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $8 ld [hl], $8
.two .two
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a

View File

@ -886,10 +886,10 @@ _CGB_GamefreakLogo:
ld a, PREDEFPAL_GAMEFREAK_LOGO_BG ld a, PREDEFPAL_GAMEFREAK_LOGO_BG
call GetPredefPal call GetPredefPal
call LoadHLPaletteIntoDE call LoadHLPaletteIntoDE
ld hl, .GamefreakLogoOBPalette ld hl, .GamefreakDittoPalette
ld de, wOBPals1 ld de, wOBPals1
call LoadHLPaletteIntoDE call LoadHLPaletteIntoDE
ld hl, .GamefreakLogoOBPalette ld hl, .GamefreakDittoPalette
ld de, wOBPals1 palette 1 ld de, wOBPals1 palette 1
call LoadHLPaletteIntoDE call LoadHLPaletteIntoDE
call WipeAttrmap call WipeAttrmap
@ -897,8 +897,8 @@ _CGB_GamefreakLogo:
call ApplyPals call ApplyPals
ret ret
.GamefreakLogoOBPalette: .GamefreakDittoPalette:
INCLUDE "gfx/splash/logo.pal" INCLUDE "gfx/splash/ditto.pal"
_CGB_PlayerOrMonFrontpicPals: _CGB_PlayerOrMonFrontpicPals:
ld de, wBGPals1 ld de, wBGPals1

View File

@ -194,7 +194,7 @@ SetPartyMonIconAnimSpeed:
ld [hl], a ld [hl], a
rlca rlca
rlca rlca
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret

View File

@ -20,8 +20,8 @@ DoAnimFrame:
dw .GSTitleTrail dw .GSTitleTrail
dw .NamingScreenCursor dw .NamingScreenCursor
dw .GameFreakLogo dw .GameFreakLogo
dw .GSIntroStar dw .GSGameFreakLogoStar
dw .GSIntroSparkle dw .GSGameFreakLogoSparkle
dw .SlotsGolem dw .SlotsGolem
dw .SlotsChansey dw .SlotsChansey
dw .SlotsChanseyEgg dw .SlotsChanseyEgg
@ -74,7 +74,7 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], 8 * 3 ld [hl], 8 * 3
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld d, a ld d, a
@ -82,7 +82,7 @@ DoAnimFrame:
and $f and $f
ret nz ret nz
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
@ -145,14 +145,14 @@ DoAnimFrame:
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
and $3 and $3
ld [hl], a ld [hl], a
inc [hl] inc [hl]
swap a swap a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
@ -163,7 +163,7 @@ DoAnimFrame:
cp $a4 cp $a4
jr nc, .asm_8d356 jr nc, .asm_8d356
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
add $4 add $4
@ -175,14 +175,14 @@ DoAnimFrame:
add hl, bc add hl, bc
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
sla a sla a
sla a sla a
ld d, 2 ld d, 2
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
add 3 add 3
@ -199,7 +199,7 @@ DoAnimFrame:
ret ret
.GSIntroHoOhLugia .GSIntroHoOhLugia
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc a inc a
@ -220,12 +220,12 @@ DoAnimFrame:
callfar ComposeMail_AnimateCursor callfar ComposeMail_AnimateCursor
ret ret
.GameFreakLogo: .GameFreakLogo
callfar PlaceGameFreakLogo callfar GameFreakLogoSpriteAnim
ret ret
.GSIntroStar .GSGameFreakLogoStar
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -236,7 +236,7 @@ DoAnimFrame:
and $1f and $1f
jr nz, .asm_8d395 jr nz, .asm_8d395
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
dec [hl] dec [hl]
.asm_8d395 .asm_8d395
@ -258,7 +258,7 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -274,14 +274,14 @@ DoAnimFrame:
call DeinitializeSprite call DeinitializeSprite
ret ret
.GSIntroSparkle .GSGameFreakLogoSparkle
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
or [hl] or [hl]
jr z, .asm_8d41e jr z, .asm_8d41e
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld d, [hl] ld d, [hl]
@ -303,13 +303,13 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
inc hl inc hl
ld d, [hl] ld d, [hl]
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
@ -318,13 +318,13 @@ DoAnimFrame:
ld e, l ld e, l
ld d, h ld d, h
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld [hl], e ld [hl], e
inc hl inc hl
ld [hl], d ld [hl], d
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld h, [hl] ld h, [hl]
@ -334,7 +334,7 @@ DoAnimFrame:
ld e, l ld e, l
ld d, h ld d, h
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], e ld [hl], e
inc hl inc hl
@ -431,13 +431,13 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], $2 ld [hl], $2
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $20 ld [hl], $20
ret ret
.TradePokeBall_two .TradePokeBall_two
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -448,12 +448,12 @@ DoAnimFrame:
.asm_8d4af .asm_8d4af
call .IncrementJumptableIndex call .IncrementJumptableIndex
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $40 ld [hl], $40
.TradePokeBall_three .TradePokeBall_three
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp 48 cp 48
@ -477,24 +477,24 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], $4 ld [hl], $4
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $30 ld [hl], $30
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], $24 ld [hl], $24
ret ret
.TradePokeBall_four .TradePokeBall_four
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_8d51c jr z, .asm_8d51c
ld d, a ld d, a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
call Sprites_Sine call Sprites_Sine
@ -503,18 +503,18 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
inc [hl] inc [hl]
ld a, [hl] ld a, [hl]
and $3f and $3f
ret nz ret nz
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $20 ld [hl], $20
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
sub $c sub $c
@ -559,7 +559,7 @@ DoAnimFrame:
ret ret
.RevealNewMon: .RevealNewMon:
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $80 cp $80
@ -600,7 +600,7 @@ DoAnimFrame:
ret ret
.CutLeaves .CutLeaves
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
inc hl inc hl
@ -610,13 +610,13 @@ DoAnimFrame:
ld e, l ld e, l
ld d, h ld d, h
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], e ld [hl], e
inc hl inc hl
ld [hl], d ld [hl], d
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
@ -645,7 +645,7 @@ DoAnimFrame:
and a and a
ret z ret z
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
@ -657,7 +657,7 @@ DoAnimFrame:
dec [hl] dec [hl]
dec [hl] dec [hl]
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld d, a ld d, a
@ -666,7 +666,7 @@ DoAnimFrame:
add $8 add $8
ld [hl], a ld [hl], a
.skip .skip
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
@ -691,7 +691,7 @@ DoAnimFrame:
dec [hl] dec [hl]
ld d, $40 ld d, $40
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
@ -718,7 +718,7 @@ DoAnimFrame:
inc [hl] inc [hl]
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0F ld hl, SPRITEANIMSTRUCT_VAR4
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld d, a ld d, a
@ -727,7 +727,7 @@ DoAnimFrame:
sub $2 sub $2
ld [hl], a ld [hl], a
.asm_8d621 .asm_8d621
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
inc [hl] inc [hl]
@ -756,7 +756,7 @@ DoAnimFrame:
add hl, bc add hl, bc
ld [hl], $0 ld [hl], $0
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
add 2 add 2
@ -774,7 +774,7 @@ DoAnimFrame:
ret ret
.IntroPichuWooper .IntroPichuWooper
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp 20 cp 20
@ -799,7 +799,7 @@ DoAnimFrame:
inc [hl] inc [hl]
inc [hl] inc [hl]
inc [hl] inc [hl]
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
push af push af

View File

@ -160,44 +160,45 @@ _InitSpriteAnimStruct::
add hl, bc add hl, bc
; Load the index. ; Load the index.
ld a, [wSpriteAnimCount] ld a, [wSpriteAnimCount]
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_INDEX
; Copy the table entry to the next two fields. ; Copy the table entry to the next two fields.
ld a, [de] ld a, [de]
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_FRAMESET_ID
inc de inc de
ld a, [de] ld a, [de]
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_ANIM_SEQ_ID
inc de inc de
; Look up the third field from the table in the wSpriteAnimDict array (10x2). ; Look up the third field from the table in the wSpriteAnimDict array (10x2).
; Take the value and load it in ; Take the value and load it in
ld a, [de] ld a, [de]
call GetSpriteAnimVTile call GetSpriteAnimVTile
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_TILE_ID
pop de pop de
; Set hl to field 4 (X coordinate). Kinda pointless, because we're presumably already here. ; Set hl to field 4 (X coordinate). Kinda pointless, because we're presumably already here.
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
; Load the original value of de into here. ; Load the original value of de into here.
ld a, e ld a, e
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_XCOORD
ld a, d ld a, d
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_YCOORD
; load 0 into the next four fields ; load 0 into the next four fields
xor a xor a
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_XOFFSET
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_YOFFSET
xor a xor a
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_DURATION
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_DURATIONOFFSET
; load -1 into the next field ; load -1 into the next field
dec a dec a
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_FRAME
; load 0 into the last five fields ; load 0 into the last five fields
xor a xor a
rept 4 ld [hli], a ; SPRITEANIMSTRUCT_JUMPTABLE_INDEX
ld [hli], a ld [hli], a ; SPRITEANIMSTRUCT_VAR1
endr ld [hli], a ; SPRITEANIMSTRUCT_VAR2
ld [hl], a ld [hli], a ; SPRITEANIMSTRUCT_VAR3
ld [hl], a ; SPRITEANIMSTRUCT_VAR4
; back up the address of the first field to wSpriteAnimAddrBackup ; back up the address of the first field to wSpriteAnimAddrBackup
ld a, c ld a, c
ld [wSpriteAnimAddrBackup], a ld [wSpriteAnimAddrBackup], a

View File

@ -969,7 +969,7 @@ Intro_PlacePlayerSprite:
NUM_TITLESCREENOPTIONS EQU const_value NUM_TITLESCREENOPTIONS EQU const_value
IntroSequence: IntroSequence:
callfar Copyright_GameFreakPresents callfar SplashScreen
jr c, StartTitleScreen jr c, StartTitleScreen
farcall CrystalIntro farcall CrystalIntro

View File

@ -385,7 +385,7 @@ NamingScreenJoypadLoop:
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, wJumptableIndex ld hl, wJumptableIndex
@ -425,10 +425,10 @@ NamingScreenJoypadLoop:
ld c, [hl] ld c, [hl]
inc hl inc hl
ld b, [hl] ld b, [hl]
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $8 ld [hl], $8
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], $4 ld [hl], $4
call NamingScreen_IsTargetBox call NamingScreen_IsTargetBox
@ -468,7 +468,7 @@ NamingScreenJoypadLoop:
ld b, [hl] ld b, [hl]
NamingScreen_GetCursorPosition: NamingScreen_GetCursorPosition:
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
push bc push bc
@ -480,7 +480,7 @@ NamingScreen_GetCursorPosition:
cp b cp b
pop bc pop bc
jr nz, .not_bottom_row jr nz, .not_bottom_row
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $3 cp $3
@ -504,7 +504,7 @@ NamingScreen_GetCursorPosition:
NamingScreen_AnimateCursor: NamingScreen_AnimateCursor:
call .GetDPad call .GetDPad
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld e, a ld e, a
@ -524,13 +524,13 @@ NamingScreen_AnimateCursor:
ld de, .CaseDelEnd ld de, .CaseDelEnd
ld a, SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG - SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 1 ld a, SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG - SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 1
.ok2 .ok2
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
add [hl] ; default SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR add [hl] ; default SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld l, [hl] ld l, [hl]
ld h, $0 ld h, $0
@ -567,7 +567,7 @@ NamingScreen_AnimateCursor:
call NamingScreen_GetCursorPosition call NamingScreen_GetCursorPosition
and a and a
jr nz, .asm_11ab7 jr nz, .asm_11ab7
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $8 cp $8
@ -587,7 +587,7 @@ NamingScreen_AnimateCursor:
ld e, a ld e, a
add a add a
add e add e
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
@ -596,7 +596,7 @@ NamingScreen_AnimateCursor:
call NamingScreen_GetCursorPosition call NamingScreen_GetCursorPosition
and a and a
jr nz, .asm_11ad8 jr nz, .asm_11ad8
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -618,13 +618,13 @@ NamingScreen_AnimateCursor:
ld e, a ld e, a
add a add a
add e add e
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.down .down
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
call NamingScreen_IsTargetBox call NamingScreen_IsTargetBox
@ -645,7 +645,7 @@ NamingScreen_AnimateCursor:
ret ret
.up .up
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -1059,7 +1059,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, wJumptableIndex ld hl, wJumptableIndex
@ -1109,10 +1109,10 @@ INCBIN "gfx/icons/mail_big.2bpp"
ld c, [hl] ld c, [hl]
inc hl inc hl
ld b, [hl] ld b, [hl]
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $9 ld [hl], $9
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld [hl], $5 ld [hl], $5
ret ret
@ -1155,7 +1155,7 @@ INCBIN "gfx/icons/mail_big.2bpp"
ComposeMail_AnimateCursor: ComposeMail_AnimateCursor:
call .GetDPad call .GetDPad
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
ld e, a ld e, a
@ -1170,13 +1170,13 @@ ComposeMail_AnimateCursor:
ld de, .CaseDelEnd ld de, .CaseDelEnd
ld a, 1 ld a, 1
.got_pointer .got_pointer
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
add [hl] add [hl]
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld l, [hl] ld l, [hl]
ld h, 0 ld h, 0
@ -1213,7 +1213,7 @@ ComposeMail_AnimateCursor:
call ComposeMail_GetCursorPosition call ComposeMail_GetCursorPosition
and a and a
jr nz, .case_del_done_right jr nz, .case_del_done_right
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $9 cp $9
@ -1233,7 +1233,7 @@ ComposeMail_AnimateCursor:
ld e, a ld e, a
add a add a
add e add e
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
@ -1242,7 +1242,7 @@ ComposeMail_AnimateCursor:
call ComposeMail_GetCursorPosition call ComposeMail_GetCursorPosition
and a and a
jr nz, .caps_del_done_left jr nz, .caps_del_done_left
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -1264,13 +1264,13 @@ ComposeMail_AnimateCursor:
ld e, a ld e, a
add a add a
add e add e
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], a ld [hl], a
ret ret
.down .down
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $5 cp $5
@ -1283,7 +1283,7 @@ ComposeMail_AnimateCursor:
ret ret
.up .up
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a
@ -1302,12 +1302,12 @@ NamingScreen_PressedA_GetCursorCommand:
ld b, [hl] ld b, [hl]
ComposeMail_GetCursorPosition: ComposeMail_GetCursorPosition:
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $5 cp $5
jr nz, .letter jr nz, .letter
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
cp $3 cp $3

View File

@ -324,7 +324,7 @@ EvolutionAnimation:
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc add hl, bc
ld [hl], $0 ld [hl], $0
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $10 ld [hl], $10
ret ret

View File

@ -1,332 +1,3 @@
Copyright_GameFreakPresents:
; Play the copyright screen and GameFreak Presents sequence.
; Return carry if user cancels animation by pressing a button.
ld de, MUSIC_NONE
call PlayMusic
call ClearBGPalettes
call ClearTilemap
ld a, HIGH(vBGMap0)
ldh [hBGMapAddress + 1], a
xor a ; LOW(vBGMap0)
ldh [hBGMapAddress], a
ldh [hJoyDown], a
ldh [hSCX], a
ldh [hSCY], a
ld a, SCREEN_HEIGHT_PX
ldh [hWY], a
call WaitBGMap
ld b, SCGB_GAMEFREAK_LOGO
call GetSGBLayout
call SetPalettes
ld c, 10
call DelayFrames
callfar Copyright
call WaitBGMap
ld c, 100
call DelayFrames
call ClearTilemap
farcall GBCOnlyScreen
call .GetGFLogoGFX
.joy_loop
call JoyTextDelay
ldh a, [hJoyLast]
and BUTTONS
jr nz, .pressed_button
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
call PlaceGameFreakPresents
farcall PlaySpriteAnimations
call DelayFrame
jr .joy_loop
.pressed_button
call .StopGamefreakAnim
scf
ret
.finish
call .StopGamefreakAnim
and a
ret
.GetGFLogoGFX:
ld de, GameFreakLogo
ld hl, vTiles2
lb bc, BANK(GameFreakLogo), 28
call Get1bpp
ldh a, [rSVBK]
push af
ld a, BANK(wDecompressScratch)
ldh [rSVBK], a
ld hl, IntroLogoGFX
ld de, wDecompressScratch
ld a, BANK(IntroLogoGFX)
call FarDecompress
ld hl, vTiles0
ld de, wDecompressScratch
lb bc, 1, 8 tiles
call Request2bpp
ld hl, vTiles1
ld de, wDecompressScratch + $80 tiles
lb bc, 1, 8 tiles
call Request2bpp
pop af
ldh [rSVBK], a
farcall ClearSpriteAnims
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], $a0
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld [hl], $60
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $30
xor a
ld [wJumptableIndex], a
ld [wIntroSceneFrameCounter], a
ld [wIntroSceneTimer], a
ldh [hSCX], a
ldh [hSCY], a
ld a, $1
ldh [hBGMapMode], a
ld a, $90
ldh [hWY], a
lb de, %11100100, %11100100
call DmgToCgbObjPals
ret
.StopGamefreakAnim:
farcall ClearSpriteAnims
call ClearTilemap
call ClearSprites
ld c, 16
call DelayFrames
ret
PlaceGameFreakPresents:
jumptable .scenes, wJumptableIndex
.scenes
dw GameFreakPresentsScene0
dw GameFreakPresentsScene1
dw GameFreakPresentsScene2
dw GameFreakPresentsScene3
PlaceGameFreakPresents_NextScene:
ld hl, wJumptableIndex
inc [hl]
ret
GameFreakPresentsScene0:
ret
GameFreakPresentsScene1:
ld hl, wIntroSceneTimer
ld a, [hl]
cp $20
jr nc, .PlaceGameFreak
inc [hl]
ret
.PlaceGameFreak:
ld [hl], 0
ld hl, .GAME_FREAK
decoord 5, 10
ld bc, .end - .GAME_FREAK
call CopyBytes
call PlaceGameFreakPresents_NextScene
ld de, SFX_GAME_FREAK_PRESENTS
call PlaySFX
ret
.GAME_FREAK:
; G A M E _ F R E A K
db 0, 1, 2, 3, 13, 4, 5, 3, 1, 6
.end
db "@"
GameFreakPresentsScene2:
ld hl, wIntroSceneTimer
ld a, [hl]
cp $40
jr nc, .place_presents
inc [hl]
ret
.place_presents
ld [hl], 0
ld hl, .presents
decoord 7, 11
ld bc, .end - .presents
call CopyBytes
call PlaceGameFreakPresents_NextScene
ret
.presents
db 7, 8, 9, 10, 11, 12
.end
db "@"
GameFreakPresentsScene3:
ld hl, wIntroSceneTimer
ld a, [hl]
cp $80
jr nc, .finish
inc [hl]
ret
.finish
ld hl, wJumptableIndex
set 7, [hl]
ret
PlaceGameFreakLogo:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld e, [hl]
ld d, 0
ld hl, .scenes
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
.scenes:
dw GameFreakLogoScene1
dw GameFreakLogoScene2
dw GameFreakLogoScene3
dw GameFreakLogoScene4
dw GameFreakLogoScene5
GameFreakLogoScene1:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ret
GameFreakLogoScene2:
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
and a
jr z, .asm_e4747
ld d, a
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
and %111111
cp %100000
jr nc, .asm_e4723
add %100000
.asm_e4723
ld e, a
farcall BattleAnim_Sine_e
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
dec [hl]
and $1f
ret nz
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
sub $30
ld [hl], a
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
.asm_e4747
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_POP_UP
call PlaySFX
ret
GameFreakLogoScene3:
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $20
jr nc, .asm_e4764
inc [hl]
ret
.asm_e4764
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld [hl], $0
ld de, SFX_DITTO_TRANSFORM
call PlaySFX
ret
GameFreakLogoScene4:
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
cp $40
jr z, .asm_e47a3
inc [hl]
srl a
srl a
ld e, a
ld d, $0
ld hl, GameFreakLogoPalettes
add hl, de
add hl, de
ldh a, [rSVBK]
push af
ld a, BANK(wOBPals2)
ldh [rSVBK], a
ld a, [hli]
ld [wOBPals2 + 12], a
ld a, [hli]
ld [wOBPals2 + 13], a
pop af
ldh [rSVBK], a
ld a, TRUE
ldh [hCGBPalUpdate], a
ret
.asm_e47a3
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
call PlaceGameFreakPresents_NextScene
GameFreakLogoScene5:
ret
GameFreakLogoPalettes:
INCLUDE "gfx/intro/gamefreak_logo.pal"
GameFreakLogo:
INCBIN "gfx/splash/logo1.1bpp"
INCBIN "gfx/splash/logo2.1bpp"
CrystalIntro: CrystalIntro:
ldh a, [rSVBK] ldh a, [rSVBK]
push af push af
@ -1519,7 +1190,7 @@ CrystalIntro_InitUnownAnim:
push de push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $8 ld [hl], $8
ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
@ -1529,7 +1200,7 @@ CrystalIntro_InitUnownAnim:
push de push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $18 ld [hl], $18
ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
@ -1539,7 +1210,7 @@ CrystalIntro_InitUnownAnim:
push de push de
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $28 ld [hl], $28
ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
@ -1548,7 +1219,7 @@ CrystalIntro_InitUnownAnim:
ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $38 ld [hl], $38
ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2

349
engine/movie/splash.asm Normal file
View File

@ -0,0 +1,349 @@
SplashScreen:
; Play the copyright screen and GameFreak Presents sequence.
; Return carry if user cancels animation by pressing a button.
; Reinitialize everything
ld de, MUSIC_NONE
call PlayMusic
call ClearBGPalettes
call ClearTilemap
ld a, HIGH(vBGMap0)
ldh [hBGMapAddress + 1], a
xor a ; LOW(vBGMap0)
ldh [hBGMapAddress], a
ldh [hJoyDown], a
ldh [hSCX], a
ldh [hSCY], a
ld a, SCREEN_HEIGHT_PX
ldh [hWY], a
call WaitBGMap
ld b, SCGB_GAMEFREAK_LOGO
call GetSGBLayout
call SetPalettes
ld c, 10
call DelayFrames
; Draw copyright screen
callfar Copyright
call WaitBGMap
ld c, 100
call DelayFrames
call ClearTilemap
; Stop here if not in GBC mode
farcall GBCOnlyScreen
; Play GameFreak logo animation
call GameFreakPresentsInit
.joy_loop
call JoyTextDelay
ldh a, [hJoyLast]
and BUTTONS
jr nz, .pressed_button
ld a, [wJumptableIndex]
bit 7, a
jr nz, .finish
call GameFreakPresentsScene
farcall PlaySpriteAnimations
call DelayFrame
jr .joy_loop
.pressed_button
call GameFreakPresentsEnd
scf
ret
.finish
call GameFreakPresentsEnd
and a
ret
GameFreakPresentsInit:
ld de, GameFreakLogoGFX
ld hl, vTiles2
lb bc, BANK(GameFreakLogoGFX), 28
call Get1bpp
ldh a, [rSVBK]
push af
ld a, BANK(wDecompressScratch)
ldh [rSVBK], a
ld hl, GameFreakDittoGFX
ld de, wDecompressScratch
ld a, BANK(GameFreakDittoGFX)
call FarDecompress
ld hl, vTiles0
ld de, wDecompressScratch
lb bc, 1, 8 tiles
call Request2bpp
ld hl, vTiles1
ld de, wDecompressScratch + $80 tiles
lb bc, 1, 8 tiles
call Request2bpp
pop af
ldh [rSVBK], a
farcall ClearSpriteAnims
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], 160
ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc
ld [hl], 96
ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc
ld [hl], 48
xor a
ld [wJumptableIndex], a
ld [wIntroSceneFrameCounter], a
ld [wIntroSceneTimer], a
ldh [hSCX], a
ldh [hSCY], a
ld a, 1
ldh [hBGMapMode], a
ld a, 144
ldh [hWY], a
lb de, %11100100, %11100100
call DmgToCgbObjPals
ret
GameFreakPresentsEnd:
farcall ClearSpriteAnims
call ClearTilemap
call ClearSprites
ld c, 16
call DelayFrames
ret
GameFreakPresentsScene:
jumptable .scenes, wJumptableIndex
.scenes
dw GameFreakPresents_WaitSpriteAnim
dw GameFreakPresents_PlaceGameFreak
dw GameFreakPresents_PlacePresents
dw GameFreakPresents_WaitForTimer
GameFreakPresents_NextScene:
ld hl, wJumptableIndex
inc [hl]
ret
GameFreakPresents_WaitSpriteAnim:
ret
GameFreakPresents_PlaceGameFreak:
ld hl, wIntroSceneTimer
ld a, [hl]
cp 32
jr nc, .PlaceGameFreak
inc [hl]
ret
.PlaceGameFreak:
ld [hl], 0
ld hl, .game_freak
decoord 5, 10
ld bc, .end - .game_freak
call CopyBytes
call GameFreakPresents_NextScene
ld de, SFX_GAME_FREAK_PRESENTS
call PlaySFX
ret
.game_freak
db $00, $01, $02, $03, $0d, $04, $05, $03, $01, $06
.end
db "@"
GameFreakPresents_PlacePresents:
ld hl, wIntroSceneTimer
ld a, [hl]
cp 64
jr nc, .place_presents
inc [hl]
ret
.place_presents
ld [hl], 0
ld hl, .presents
decoord 7, 11
ld bc, .end - .presents
call CopyBytes
call GameFreakPresents_NextScene
ret
.presents
db $07, $08, $09, $0a, $0b, $0c
.end
db "@"
GameFreakPresents_WaitForTimer:
ld hl, wIntroSceneTimer
ld a, [hl]
cp 128
jr nc, .finish
inc [hl]
ret
.finish
ld hl, wJumptableIndex
set 7, [hl]
ret
GameFreakLogoSpriteAnim:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
ld e, [hl]
ld d, 0
ld hl, .scenes
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
jp hl
.scenes:
dw GameFreakLogo_Init
dw GameFreakLogo_Bounce
dw GameFreakLogo_Ditto
dw GameFreakLogo_Transform
dw GameFreakLogo_Done
GameFreakLogo_Init:
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ret
GameFreakLogo_Bounce:
; Bounce with a height of 0C, 0C / 48 times.
; By default, this is twice, with a height of 96 pixels and 48 pixels.
; Sine offset starts at 48 (32+32/2, or pi+pi/2), so it starts at the maximum
; value of the sine wave (i.e. the top of the screen).
ld hl, SPRITEANIMSTRUCT_VAR1 ; jump height
add hl, bc
ld a, [hl]
and a
jr z, .done
; Load the sine offset, make sure it doesn't reach the negative part of the wave
ld d, a
ld hl, SPRITEANIMSTRUCT_VAR2 ; sine offset
add hl, bc
ld a, [hl]
and $3f ; full circle = 2*pi = 2*32
cp 32
jr nc, .no_negative
add 32
.no_negative
ld e, a
farcall BattleAnim_Sine_e ; e = d * sin(e * pi/32)
ld hl, SPRITEANIMSTRUCT_YOFFSET
add hl, bc
ld [hl], e
; Decrement the sine offset
ld hl, SPRITEANIMSTRUCT_VAR2 ; sine offset
add hl, bc
ld a, [hl]
dec [hl]
and $1f ; a%32 == 0
ret nz
; If the ditto's reached the ground, decrement the jump height and play the sfx
ld hl, SPRITEANIMSTRUCT_VAR1 ; jump height
add hl, bc
ld a, [hl]
sub 48
ld [hl], a
ld de, SFX_DITTO_BOUNCE
call PlaySFX
ret
.done
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc
ld [hl], 0
ld de, SFX_DITTO_POP_UP
call PlaySFX
ret
GameFreakLogo_Ditto:
; Wait a little, then start transforming
ld hl, SPRITEANIMSTRUCT_VAR2 ; frame count
add hl, bc
ld a, [hl]
cp 32
jr nc, .start_transform
inc [hl]
ret
.start_transform
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
ld hl, SPRITEANIMSTRUCT_VAR2
add hl, bc
ld [hl], 0
ld de, SFX_DITTO_TRANSFORM
call PlaySFX
ret
GameFreakLogo_Transform:
ld hl, SPRITEANIMSTRUCT_VAR2 ; frame count
add hl, bc
ld a, [hl]
cp 64
jr z, .done
inc [hl]
; Fade ditto's palettes while it's transforming
srl a
srl a
ld e, a
ld d, 0
ld hl, GameFreakDittoPaletteFade
add hl, de
add hl, de
ldh a, [rSVBK]
push af
ld a, BANK(wOBPals2)
ldh [rSVBK], a
ld a, [hli]
ld [wOBPals2 + 12], a
ld a, [hli]
ld [wOBPals2 + 13], a
pop af
ldh [rSVBK], a
ld a, TRUE
ldh [hCGBPalUpdate], a
ret
.done
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc
inc [hl]
call GameFreakPresents_NextScene
GameFreakLogo_Done:
ret
GameFreakDittoPaletteFade:
INCLUDE "gfx/splash/ditto_fade.pal"
GameFreakLogoGFX:
INCBIN "gfx/splash/gamefreak_presents.1bpp"
INCBIN "gfx/splash/gamefreak_logo.1bpp"

View File

@ -1084,13 +1084,13 @@ TradeAnim_AnimateTrademonInTube:
.InitTimer: .InitTimer:
call .JumptableNext call .JumptableNext
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $80 ld [hl], $80
ret ret
.WaitTimer1: .WaitTimer1:
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
dec [hl] dec [hl]
@ -1148,13 +1148,13 @@ TradeAnim_AnimateTrademonInTube:
.done_move_left .done_move_left
call .JumptableNext call .JumptableNext
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld [hl], $80 ld [hl], $80
ret ret
.WaitTimer2: .WaitTimer2:
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
dec [hl] dec [hl]

View File

@ -11,7 +11,6 @@ gfx/diploma/diploma.2bpp.lz: LZFLAGS += --method 8 --align 1
gfx/dummy_game/dummy_game.2bpp.lz: LZFLAGS += --method 2 --align 4 gfx/dummy_game/dummy_game.2bpp.lz: LZFLAGS += --method 2 --align 4
gfx/intro/%.lz: LZFLAGS += --align 4 gfx/intro/%.lz: LZFLAGS += --align 4
gfx/intro/logo.2bpp.lz: LZFLAGS += --method 2 --align 4
gfx/intro/suicune_close.2bpp.lz: LZFLAGS += --method 2 --align 4 gfx/intro/suicune_close.2bpp.lz: LZFLAGS += --method 2 --align 4
gfx/intro/unown_back.2bpp.lz: LZFLAGS += --method 2 --align 4 gfx/intro/unown_back.2bpp.lz: LZFLAGS += --method 2 --align 4
@ -48,6 +47,8 @@ gfx/slots/slots_1.2bpp.lz: LZFLAGS += --method 2 --align 4
gfx/slots/slots_2.2bpp.lz: LZFLAGS += --align 4 gfx/slots/slots_2.2bpp.lz: LZFLAGS += --align 4
gfx/slots/slots_3.2bpp.lz: LZFLAGS += --align 4 gfx/slots/slots_3.2bpp.lz: LZFLAGS += --align 4
gfx/splash/ditto.2bpp.lz: LZFLAGS += --method 2 --align 4
gfx/tilesets/%.lz: LZFLAGS += --align 4 gfx/tilesets/%.lz: LZFLAGS += --align 4
gfx/tilesets/aerodactyl_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 gfx/tilesets/aerodactyl_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1
gfx/tilesets/battle_tower_outside.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1 gfx/tilesets/battle_tower_outside.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1

View File

Before

Width:  |  Height:  |  Size: 944 B

After

Width:  |  Height:  |  Size: 944 B

View File

@ -6,17 +6,14 @@
RGB 23, 12, 27 RGB 23, 12, 27
RGB 23, 13, 26 RGB 23, 13, 26
RGB 23, 13, 24 RGB 23, 13, 24
RGB 24, 14, 22 RGB 24, 14, 22
RGB 24, 14, 20 RGB 24, 14, 20
RGB 24, 15, 18 RGB 24, 15, 18
RGB 24, 15, 16 RGB 24, 15, 16
RGB 25, 16, 14 RGB 25, 16, 14
RGB 25, 16, 12 RGB 25, 16, 12
RGB 25, 17, 10 RGB 25, 17, 10
RGB 25, 17, 08 RGB 25, 17, 08
RGB 26, 18, 06 RGB 26, 18, 06
RGB 26, 18, 04 RGB 26, 18, 04
RGB 26, 19, 02 RGB 26, 19, 02

View File

Before

Width:  |  Height:  |  Size: 172 B

After

Width:  |  Height:  |  Size: 172 B

View File

Before

Width:  |  Height:  |  Size: 364 B

After

Width:  |  Height:  |  Size: 364 B

View File

@ -356,16 +356,16 @@ sprite_anim_struct: MACRO
\1DurationOffset:: db \1DurationOffset:: db
\1FrameIndex:: db \1FrameIndex:: db
\1JumptableIndex:: db \1JumptableIndex:: db
\1Field0c:: ds 1 \1Var1:: ds 1
\1Field0d:: ds 1 \1Var2:: ds 1
\1Field0e:: ds 1 \1Var3:: ds 1
\1Field0f:: ds 1 \1Var4:: ds 1
ENDM ENDM
battle_anim_struct: MACRO battle_anim_struct: MACRO
; Placeholder until we can figure out what it all means ; Placeholder until we can figure out what it all means
\1Index:: db \1Index:: db
\1Field01:: ds 1 \1OAMFlags:: db
\1Field02:: ds 1 \1Field02:: ds 1
\1FramesetID:: db \1FramesetID:: db
\1Function:: db \1Function:: db
@ -375,19 +375,13 @@ battle_anim_struct: MACRO
\1YCoord:: db \1YCoord:: db
\1XOffset:: db \1XOffset:: db
\1YOffset:: db \1YOffset:: db
\1Field0b:: ds 1 \1Param:: db
\1Duration:: db \1Duration:: db
\1Frame:: db \1Frame:: db
\1AnonJumptableIndex:: db \1JumptableIndex:: db
\1Field0f:: ds 1 \1Var1:: db
\1Field10:: ds 1 \1Var2:: db
\1Field11:: ds 1 ds 7
\1Field12:: ds 1
\1Field13:: ds 1
\1Field14:: ds 1
\1Field15:: ds 1
\1Field16:: ds 1
\1Field17:: ds 1
ENDM ENDM
battle_bg_effect: MACRO battle_bg_effect: MACRO

View File

@ -493,6 +493,7 @@ CopyrightGFX::
INCBIN "gfx/splash/copyright.2bpp" INCBIN "gfx/splash/copyright.2bpp"
INCLUDE "engine/menus/options_menu.asm" INCLUDE "engine/menus/options_menu.asm"
INCLUDE "engine/movie/splash.asm"
INCLUDE "engine/movie/intro.asm" INCLUDE "engine/movie/intro.asm"
@ -540,8 +541,8 @@ INCLUDE "mobile/mobile_42.asm"
SECTION "Intro Logo", ROMX SECTION "Intro Logo", ROMX
IntroLogoGFX: GameFreakDittoGFX:
INCBIN "gfx/intro/logo.2bpp.lz" INCBIN "gfx/splash/ditto.2bpp.lz"
SECTION "Title", ROMX SECTION "Title", ROMX

View File

@ -418,7 +418,7 @@ EZChat_MasterLoop:
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $1 ld a, $1
ld [hl], a ld [hl], a
@ -426,7 +426,7 @@ EZChat_MasterLoop:
depixel 9, 2, 2, 0 depixel 9, 2, 2, 0
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $3 ld a, $3
ld [hl], a ld [hl], a
@ -434,7 +434,7 @@ EZChat_MasterLoop:
depixel 10, 16 depixel 10, 16
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $4 ld a, $4
ld [hl], a ld [hl], a
@ -442,7 +442,7 @@ EZChat_MasterLoop:
depixel 10, 4 depixel 10, 4
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $5 ld a, $5
ld [hl], a ld [hl], a
@ -450,7 +450,7 @@ EZChat_MasterLoop:
depixel 10, 2 depixel 10, 2
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $2 ld a, $2
ld [hl], a ld [hl], a
@ -2453,7 +2453,7 @@ Function11d035:
ret ret
AnimateEZChatCursor: AnimateEZChatCursor:
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
jumptable .Jumptable, hl jumptable .Jumptable, hl
@ -2820,7 +2820,7 @@ AnimateEZChatCursor:
ld hl, wcd23 ld hl, wcd23
and [hl] and [hl]
jr z, .reset_y_offset jr z, .reset_y_offset
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_VAR3
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
and a and a

View File

@ -485,7 +485,7 @@ Function171b4b:
depixel 8, 2 depixel 8, 2
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $8 ld a, $8
ld [hl], a ld [hl], a
@ -493,7 +493,7 @@ Function171b4b:
depixel 8, 19 depixel 8, 19
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $9 ld a, $9
ld [hl], a ld [hl], a
@ -501,7 +501,7 @@ Function171b4b:
depixel 17, 14, 2, 0 depixel 17, 14, 2, 0
ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_VAR1
add hl, bc add hl, bc
ld a, $a ld a, $a
ld [hl], a ld [hl], a