summaryrefslogtreecommitdiff
path: root/data/sprites
diff options
context:
space:
mode:
Diffstat (limited to 'data/sprites')
-rw-r--r--data/sprites/facings.asm175
-rw-r--r--data/sprites/sprites.asm16
2 files changed, 134 insertions, 57 deletions
diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm
index eb583d53..d3455d74 100644
--- a/data/sprites/facings.asm
+++ b/data/sprites/facings.asm
@@ -1,59 +1,126 @@
SpriteFacingAndAnimationTable:
; This table is used for overworld sprites $1-$9.
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 0
- dw .WalkingDown, .NormalOAM ; facing down, walk animation frame 1
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 2
- dw .WalkingDown, .FlippedOAM ; facing down, walk animation frame 3
- dw .StandingUp, .NormalOAM ; facing up, walk animation frame 0
- dw .WalkingUp, .NormalOAM ; facing up, walk animation frame 1
- dw .StandingUp, .NormalOAM ; facing up, walk animation frame 2
- dw .WalkingUp, .FlippedOAM ; facing up, walk animation frame 3
- dw .StandingLeft, .NormalOAM ; facing left, walk animation frame 0
- dw .WalkingLeft, .NormalOAM ; facing left, walk animation frame 1
- dw .StandingLeft, .NormalOAM ; facing left, walk animation frame 2
- dw .WalkingLeft, .NormalOAM ; facing left, walk animation frame 3
- dw .StandingLeft, .FlippedOAM ; facing right, walk animation frame 0
- dw .WalkingLeft, .FlippedOAM ; facing right, walk animation frame 1
- dw .StandingLeft, .FlippedOAM ; facing right, walk animation frame 2
- dw .WalkingLeft, .FlippedOAM ; facing right, walk animation frame 3
+ dw .StandingDown ; facing down, walk animation frame 0
+ dw .WalkingDown ; facing down, walk animation frame 1
+ dw .StandingDown ; facing down, walk animation frame 2
+ dw .WalkingDown2 ; facing down, walk animation frame 3
+ dw .StandingUp ; facing up, walk animation frame 0
+ dw .WalkingUp ; facing up, walk animation frame 1
+ dw .StandingUp ; facing up, walk animation frame 2
+ dw .WalkingUp2 ; facing up, walk animation frame 3
+ dw .StandingLeft ; facing left, walk animation frame 0
+ dw .WalkingLeft ; facing left, walk animation frame 1
+ dw .StandingLeft ; facing left, walk animation frame 2
+ dw .WalkingLeft ; facing left, walk animation frame 3
+ dw .StandingRight ; facing right, walk animation frame 0
+ dw .WalkingRight ; facing right, walk animation frame 1
+ dw .StandingRight ; facing right, walk animation frame 2
+ dw .WalkingRight ; facing right, walk animation frame 3
; The rest of this table is used for sprites $a and $b.
; All orientation and animation parameters lead to the same result.
; Used for immobile sprites like items on the ground.
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 0
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 1
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 2
- dw .StandingDown, .NormalOAM ; facing down, walk animation frame 3
- dw .StandingDown, .NormalOAM ; facing up, walk animation frame 0
- dw .StandingDown, .NormalOAM ; facing up, walk animation frame 1
- dw .StandingDown, .NormalOAM ; facing up, walk animation frame 2
- dw .StandingDown, .NormalOAM ; facing up, walk animation frame 3
- dw .StandingDown, .NormalOAM ; facing left, walk animation frame 0
- dw .StandingDown, .NormalOAM ; facing left, walk animation frame 1
- dw .StandingDown, .NormalOAM ; facing left, walk animation frame 2
- dw .StandingDown, .NormalOAM ; facing left, walk animation frame 3
- dw .StandingDown, .NormalOAM ; facing right, walk animation frame 0
- dw .StandingDown, .NormalOAM ; facing right, walk animation frame 1
- dw .StandingDown, .NormalOAM ; facing right, walk animation frame 2
- dw .StandingDown, .NormalOAM ; facing right, walk animation frame 3
-
-; four tile ids compose an overworld sprite
-.StandingDown: db $00, $01, $02, $03
-.WalkingDown: db $80, $81, $82, $83
-.StandingUp: db $04, $05, $06, $07
-.WalkingUp: db $84, $85, $86, $87
-.StandingLeft: db $08, $09, $0a, $0b
-.WalkingLeft: db $88, $89, $8a, $8b
-
-.NormalOAM:
- ; y, x, attributes
- db 0, 0, $00 ; top left
- db 0, 8, $00 ; top right
- db 8, 0, OAMFLAG_CANBEMASKED ; bottom left
- db 8, 8, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right
-
-.FlippedOAM:
- ; y, x, attributes
- db 0, 8, OAM_HFLIP ; top left
- db 0, 0, OAM_HFLIP ; top right
- db 8, 8, OAM_HFLIP | OAMFLAG_CANBEMASKED ; bottom left
- db 8, 0, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+ dw .StandingDown
+; special case
+ dw .SpecialCase ; pikachu maybe?
+
+; Tables used as a reference to transform OAM data.
+
+; Format:
+; db y, x, attributes, tile index
+
+.StandingDown:
+ db 4 ; #
+ db 0, 0, $00, 0
+ db 0, 8, $01, 0
+ db 8, 0, $02, OAMFLAG_CANBEMASKED
+ db 8, 8, $03, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingDown:
+ db 4 ; #
+ db 0, 0, $80, 0
+ db 0, 8, $81, 0
+ db 8, 0, $82, OAMFLAG_CANBEMASKED
+ db 8, 8, $83, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingDown2:
+ db 4 ; #
+ db 0, 8, $80, OAM_HFLIP
+ db 0, 0, $81, OAM_HFLIP
+ db 8, 8, $82, OAM_HFLIP | OAMFLAG_CANBEMASKED
+ db 8, 0, $83, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.StandingUp:
+ db 4 ; #
+ db 0, 0, $04, 0
+ db 0, 8, $05, 0
+ db 8, 0, $06, OAMFLAG_CANBEMASKED
+ db 8, 8, $07, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingUp:
+ db 4 ; #
+ db 0, 0, $84, 0
+ db 0, 8, $85, 0
+ db 8, 0, $86, OAMFLAG_CANBEMASKED
+ db 8, 8, $87, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingUp2:
+ db 4 ; #
+ db 0, 8, $84, OAM_HFLIP
+ db 0, 0, $85, OAM_HFLIP
+ db 8, 8, $86, OAM_HFLIP | OAMFLAG_CANBEMASKED
+ db 8, 0, $87, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.StandingLeft:
+ db 4 ; #
+ db 0, 0, $08, 0
+ db 0, 8, $09, 0
+ db 8, 0, $0a, OAMFLAG_CANBEMASKED
+ db 8, 8, $0b, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingLeft:
+ db 4 ; #
+ db 0, 0, $88, 0
+ db 0, 8, $89, 0
+ db 8, 0, $8a, OAMFLAG_CANBEMASKED
+ db 8, 8, $8b, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.StandingRight:
+ db 4 ; #
+ db 0, 8, $08, OAM_HFLIP
+ db 0, 0, $09, OAM_HFLIP
+ db 8, 8, $0a, OAM_HFLIP | OAMFLAG_CANBEMASKED
+ db 8, 0, $0b, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.WalkingRight:
+ db 4 ; #
+ db 0, 8, $88, OAM_HFLIP
+ db 0, 0, $89, OAM_HFLIP
+ db 8, 8, $8a, OAM_HFLIP | OAMFLAG_CANBEMASKED
+ db 8, 0, $8b, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
+
+.SpecialCase:
+ db 9 ; #
+ db -4, -4, $00, 0
+ db -4, 4, $01, 0
+ db -4, 12, $00, OAM_HFLIP
+ db 4, -4, $01, 0
+ db 4, 4, $02, 0
+ db 4, 12, $01, 0
+ db 12, -4, $00, OAM_VFLIP | OAMFLAG_CANBEMASKED
+ db 12, 4, $01, OAMFLAG_CANBEMASKED
+ db 12, 12, $00, OAM_VFLIP | OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA
diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm
index 1cd793c1..47b52b1c 100644
--- a/data/sprites/sprites.asm
+++ b/data/sprites/sprites.asm
@@ -37,7 +37,7 @@ SpriteSheetPointerTable:
overworld_sprite MiddleAgedWomanSprite, 12 ; SPRITE_MIDDLE_AGED_WOMAN
overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL
overworld_sprite LanceSprite, 12 ; SPRITE_LANCE
- overworld_sprite ScientistSprite, 12 ; SPRITE_UNUSED_SCIENTIST
+ overworld_sprite RedSprite, 12 ; SPRITE_UNUSED_RED_1
overworld_sprite ScientistSprite, 12 ; SPRITE_SCIENTIST
overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER
overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER
@@ -56,17 +56,27 @@ SpriteSheetPointerTable:
overworld_sprite FisherSprite, 12 ; SPRITE_FISHER
overworld_sprite KogaSprite, 12 ; SPRITE_KOGA
overworld_sprite GuardSprite, 12 ; SPRITE_GUARD
- overworld_sprite GuardSprite, 12 ; SPRITE_UNUSED_GUARD
+ overworld_sprite RedSprite, 12 ; SPRITE_UNUSED_RED_2
overworld_sprite MomSprite, 12 ; SPRITE_MOM
overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY
overworld_sprite LittleBoySprite, 12 ; SPRITE_LITTLE_BOY
- overworld_sprite GameboyKidSprite, 12 ; SPRITE_UNUSED_GAMEBOY_KID
+ overworld_sprite RedSprite, 12 ; SPRITE_UNUSED_RED_3
overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID
overworld_sprite FairySprite, 12 ; SPRITE_FAIRY
overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA
overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO
overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI
overworld_sprite SeelSprite, 12 ; SPRITE_SEEL
+ overworld_sprite PikachuSprite, 12 ; SPRITE_PIKACHU
+ overworld_sprite OfficerJennySprite, 12 ; SPRITE_OFFICER_JENNY
+ overworld_sprite SandshrewSprite, 12 ; SPRITE_SANDSHREW
+ overworld_sprite OddishSprite, 12 ; SPRITE_ODDISH
+ overworld_sprite BulbasaurSprite, 12 ; SPRITE_BULBASAUR
+ overworld_sprite JigglypuffSprite, 12 ; SPRITE_JIGGLYPUFF
+ overworld_sprite ClefairySprite, 12 ; SPRITE_CLEFAIRY
+ overworld_sprite ChanseySprite, 12 ; SPRITE_CHANSEY
+ overworld_sprite JessieSprite, 12 ; SPRITE_JESSIE
+ overworld_sprite JamesSprite, 12 ; SPRITE_JAMES
overworld_sprite PokeBallSprite, 4 ; SPRITE_POKE_BALL
overworld_sprite FossilSprite, 4 ; SPRITE_FOSSIL
overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER