blob: ebe385610cae734b85ac834941558803228b75ef (
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
|
; collision IDs are built like this:
; 76543210
; \__/|\_/
; | | \-- SubType
; | \---- Flag
; \------ Type
;
; What exactly flag means or if it
; means anything is up to Type.
; Old Types:
; ???
; New Types:
; 0 - Regular 8 - ???
; 1 - Trees, Grass etc. 9 - Special Talk Action
; 2 - Water A - Jump Action
; 3 - Water 2 B - unused
; 4 - Land C - unused
; 5 - Land 2 D - unused
; 6 - ??? E - unused
; 7 - Warps F - unused
COLLISION_TYPE_MASK EQU $f0
COLLISION_SUBTYPE_MASK EQU $07
COLLISION_WATER_SUBTYPE_MASK EQU $03
COLLISION_FLAG EQU $08
; old collision constants
OLD_COLLISION_TYPE_REGULAR EQU $00
OLD_COLLISION_TYPE_SCENERY EQU $10
OLD_COLLISION_TYPE_WATER EQU $20
OLD_COLLISION_TYPE_WATER2 EQU $40
OLD_COLLISION_WALKABLE EQU $00
OLD_COLLISION_SOLID EQU $01
OLD_COLLISION_FLOOR EQU $03
OLD_COLLISION_WALL EQU $04
OLD_COLLISION_LEDGE EQU $11
OLD_COLLISION_WATER2_S EQU $40
OLD_COLLISION_ROCK EQU $51
OLD_COLLISION_CARPED EQU $60
OLD_COLLISION_DOOR EQU $61
OLD_COLLISION_SIGNPOST EQU $70
OLD_COLLISION_SHOP_SIGN EQU $71
OLD_COLLISION_MART_ITEM EQU $72
OLD_COLLISION_COUNTER EQU $73
OLD_COLLISION_CUT_TREE EQU $80
OLD_COLLISION_GRASS EQU $82
; new collision constants
COLLISION_TYPE_REGULAR EQU $00
COLLISION_TYPE_SCENERY EQU $10
COLLISION_TYPE_WATER EQU $20
COLLISION_TYPE_WATER2 EQU $30
COLLISION_TYPE_LAND EQU $40
COLLISION_TYPE_LAND2 EQU $50
COLLISION_TYPE_UNK EQU $60
COLLISION_TYPE_WARPS EQU $70
COLLISION_TYPE_UNKN2 EQU $80
COLLISION_TYPE_SPECIAL EQU $90
COLLISION_TYPE_JUMP EQU $A0
COLLISION_WALKABLE EQU $00
COLLISION_SOLID EQU $07
COLLISION_CUT_TREE EQU $12
COLLISION_GRASS EQU $18
; water collisions
COLLISION_WATER EQU $21
COLLISION_WATERFALL EQU $22
COLLISION_WATER_SOLID EQU $27
; water collisions 2
COLLISION_WATER2_E EQU $30
COLLISION_WATER2_W EQU $31
COLLISION_WATER2_N EQU $32
COLLISION_WATER2_S EQU $33
; $34..$37 will behave like COLLISION_WATER2_E..COLLISION_WATER2_S
; land collisions
COLLISION_LAND_SLOW EQU $40
COLLISION_LAND_E EQU $41
COLLISION_LAND_W EQU $42
COLLISION_LAND_N EQU $43
COLLISION_LAND_S EQU $44
; $45..$47 will behave like COLLISION_LAND_E
; land collisions 2
COLLISION_LAND2_E EQU $50
COLLISION_LAND2_W EQU $51
COLLISION_LAND2_N EQU $52
COLLISION_LAND2_S EQU $53
; $54..$57 will behave like COLLISION_LAND2_E
; warp collisions
COLLISION_CARPET EQU $70
COLLISION_DOOR EQU $71
COLLISION_STEPS EQU $72
; special collisions
COLLISION_COUNTER EQU $90
COLLISION_BOOKCASE EQU $91
COLLISION_PC EQU $93
COLLISION_RADIO EQU $94
COLLISION_SIGNPOST EQU $95
COLLISION_STRAIGHT_SIGNPOST EQU $97
; jump collisions
; perform jump in marked direction, else
; regular walking
COLLISION_JUMP_E EQU $a0
COLLISION_JUMP_W EQU $a1
COLLISION_JUMP_N EQU $a2
COLLISION_JUMP_S EQU $a3
COLLISION_JUMP_SE EQU $a4
COLLISION_JUMP_SW EQU $a5
COLLISION_JUMP_NE EQU $a6
COLLISION_JUMP_NW EQU $a7
NEVER_SOLID EQU 0
SOMETIMES_SOLID EQU 1
ALWAYS_SOLID EQU 15
|