summaryrefslogtreecommitdiff
path: root/data/facing.asm
blob: 7a3dfacd62992fcde4b300c85b6bafd3e66dd753 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
SpriteFacingAndAnimationTable: ; 4000 (1:4000)
	dw SpriteFacingDownAndStanding        ; facing down, walk animation frame 0
	dw SpriteFacingDownAndWalking         ; facing down, walk animation frame 1
	dw SpriteFacingDownAndStanding        ; facing down, walk animation frame 2
	dw SpriteFacingDownAndWalking2        ; facing down, walk animation frame 3

	dw SpriteFacingUpAndStanding          ; facing up, walk animation frame 0
	dw SpriteFacingUpAndWalking           ; facing up, walk animation frame 1
	dw SpriteFacingUpAndStanding          ; facing up, walk animation frame 2
	dw SpriteFacingUpAndWalking2          ; facing up, walk animation frame 3

	dw SpriteFacingLeftAndStanding        ; facing left, walk animation frame 0
	dw SpriteFacingLeftAndWalking         ; facing left, walk animation frame 1
	dw SpriteFacingLeftAndStanding        ; facing left, walk animation frame 2
	dw SpriteFacingLeftAndWalking         ; facing left, walk animation frame 3

	dw SpriteFacingRightAndStanding       ; facing right, walk animation frame 0
	dw SpriteFacingRightAndWalking        ; facing right, walk animation frame 1
	dw SpriteFacingRightAndStanding       ; facing right, walk animation frame 2
	dw SpriteFacingRightAndWalking        ; facing right, walk animation frame 3

	dw SpriteFacingDownAndStanding        ; ---
	dw SpriteFacingDownAndStanding        ; This table is used for sprites $a and $b.
	dw SpriteFacingDownAndStanding        ; All orientation and animation parameters
	dw SpriteFacingDownAndStanding        ; lead to the same result. Used for immobile
	dw SpriteFacingDownAndStanding        ; sprites like items on the ground
	dw SpriteFacingDownAndStanding        ; ---
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
	dw SpriteFacingDownAndStanding
; special case
	dw SpriteSpecialCase                  ; pikachu maybe?

SpriteFacingDownAndStanding: ; 4042 (1:4042)
	db $04
; Sprite OAM Parameters
	db $00,$00,$00,$00                                      ; top left
	db $00,$08,$01,$00                                      ; top right
	db $08,$00,$02,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$03,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingDownAndWalking: ; 4053 (1:4053)
	db $04
; Sprite OAM Parameters
	db $00,$00,$80,$00                                      ; top left
	db $00,$08,$81,$00                                      ; top right
	db $08,$00,$82,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$83,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingDownAndWalking2: ; 4064 (1:4064)
	db $04
; Sprite OAM Parameters
	db $00,$08,$80,OAMFLAG_VFLIPPED                                           ; top left
	db $00,$00,$81,OAMFLAG_VFLIPPED                                           ; top right
	db $08,$08,$82,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED                     ; bottom left
	db $08,$00,$83,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right

SpriteFacingUpAndStanding: ; 4075 (1:4075)
	db $04
; Sprite OAM Parameters
	db $00,$00,$04,$00                                      ; top left
	db $00,$08,$05,$00                                      ; top right
	db $08,$00,$06,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$07,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingUpAndWalking: ; 4086 (1:4086)
	db $04
; Sprite OAM Parameters
	db $00,$00,$84,$00                                      ; top left
	db $00,$08,$85,$00                                      ; top right
	db $08,$00,$86,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$87,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingUpAndWalking2: ; 4097 (1:4097)
	db $04
; Sprite OAM Parameters
	db $00,$08,$84,OAMFLAG_VFLIPPED                                           ; top left
	db $00,$00,$85,OAMFLAG_VFLIPPED                                           ; top right
	db $08,$08,$86,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED                     ; bottom left
	db $08,$00,$87,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right

SpriteFacingLeftAndStanding: ; 40a8 (1:40a8)
	db $04
; Sprite OAM Parameters
	db $00,$00,$08,$00                                      ; top left
	db $00,$08,$09,$00                                      ; top right
	db $08,$00,$0a,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$0b,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingLeftAndWalking: ; 40b9 (1:40b9)
	db $04
; Sprite OAM Parameters
	db $00,$00,$88,$00                                      ; top left
	db $00,$08,$89,$00                                      ; top right
	db $08,$00,$8a,OAMFLAG_CANBEMASKED                      ; bottom left
	db $08,$08,$8b,OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA  ; bottom right

SpriteFacingRightAndStanding: ; 40ca (1:40ca)
	db $04
; Sprite OAM Parameters
	db $00,$08,$08,OAMFLAG_VFLIPPED                                           ; top left
	db $00,$00,$09,OAMFLAG_VFLIPPED                                           ; top right
	db $08,$08,$0a,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED                     ; bottom left
	db $08,$00,$0b,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right

SpriteFacingRightAndWalking: ; 40db (1:40db)
	db $04
; Sprite OAM Parameters
	db $00,$08,$88,OAMFLAG_VFLIPPED                                           ; top left
	db $00,$00,$89,OAMFLAG_VFLIPPED                                           ; top right
	db $08,$08,$8a,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED                     ; bottom left
	db $08,$00,$8b,OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right

SpriteSpecialCase ; 40ec (1:40ec)
	db $09
; Sprite OAM Parameters
	db -$4,-$4,$00,$00
	db -$4,$04,$01,$00
	db -$4,$0c,$00,OAMFLAG_VFLIPPED
	db $04,-$4,$01,$00
	db $04,$04,$02,$00
	db $04,$0c,$01,$00
	db $0c,-$4,$00,OAM_VFLIP | OAMFLAG_CANBEMASKED
	db $0c,$04,$01,OAMFLAG_CANBEMASKED
	db $0c,$0c,$00,OAM_VFLIP | OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA