diff options
Diffstat (limited to 'data/sprites/facings.asm')
-rw-r--r-- | data/sprites/facings.asm | 175 |
1 files changed, 121 insertions, 54 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 |