Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/actors/dirt/model.inc.c
7855 views
1
// Dirt
2
3
// 0x0302BD68
4
static const Lights1 dirt_seg3_lights_0302BD68 = gdSPDefLights1(
5
0x3f, 0x19, 0x19,
6
0xff, 0x64, 0x64, 0x28, 0x28, 0x28
7
);
8
9
// 0x0302BD80
10
static const Lights1 dirt_seg3_lights_0302BD80 = gdSPDefLights1(
11
0x19, 0x3f, 0x19,
12
0x64, 0xff, 0x64, 0x28, 0x28, 0x28
13
);
14
15
// 0x0302BD98
16
static const Lights1 dirt_seg3_lights_0302BD98 = gdSPDefLights1(
17
0x19, 0x19, 0x3f,
18
0x64, 0x64, 0xff, 0x28, 0x28, 0x28
19
);
20
21
// 0x0302BDB0
22
static const Lights1 dirt_seg3_lights_0302BDB0 = gdSPDefLights1(
23
0x3f, 0x3f, 0x19,
24
0xff, 0xff, 0x64, 0x28, 0x28, 0x28
25
);
26
27
// 0x0302BDC8
28
static const Vtx dirt_seg3_vertex_0302BDC8[] = {
29
{{{ -101, -60, 0}, 0, { -130, 467}, {0x00, 0x00, 0x7f, 0xff}}},
30
{{{ 102, -60, 0}, 0, { 599, 467}, {0x00, 0x00, 0x7f, 0xff}}},
31
{{{ 0, 92, 0}, 0, { 234, -81}, {0x00, 0x00, 0x7f, 0xff}}},
32
};
33
34
// 0x0302BDF8
35
ALIGNED8 static const Texture dirt_seg3_texture_0302BDF8[] = {
36
#include "actors/dirt/dirt_particle.rgba16.inc.c"
37
};
38
39
// 0x0302BFF8 - 0x0302C028
40
const Gfx dirt_seg3_dl_0302BFF8[] = {
41
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dirt_seg3_texture_0302BDF8),
42
gsDPLoadSync(),
43
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 16 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
44
gsSPVertex(dirt_seg3_vertex_0302BDC8, 3, 0),
45
gsSP1Triangle( 0, 1, 2, 0x0),
46
gsSPEndDisplayList(),
47
};
48
49
// 0x0302C028 - 0x0302C098
50
const Gfx dirt_seg3_dl_0302C028[] = {
51
gsDPPipeSync(),
52
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
53
gsSPClearGeometryMode(G_CULL_BACK),
54
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, G_TX_NOMASK, G_TX_NOLOD),
55
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
56
gsDPTileSync(),
57
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 4, G_TX_NOLOD, G_TX_CLAMP, 4, G_TX_NOLOD),
58
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (16 - 1) << G_TEXTURE_IMAGE_FRAC),
59
gsSPDisplayList(dirt_seg3_dl_0302BFF8),
60
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
61
gsDPPipeSync(),
62
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
63
gsSPSetGeometryMode(G_CULL_BACK),
64
gsSPEndDisplayList(),
65
};
66
67
// 0x0302C098
68
static const Vtx dirt_seg3_vertex_0302C098[] = {
69
{{{ -10, 0, 10}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0x00}}},
70
{{{ 10, 0, 10}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0x00}}},
71
{{{ 0, 0, -10}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0x00}}},
72
};
73
74
// 0x0302C0C8
75
static const Vtx dirt_seg3_vertex_0302C0C8[] = {
76
{{{ -10, 10, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
77
{{{ 10, 10, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
78
{{{ 0, -10, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
79
};
80
81
// 0x0302C0F8
82
static const Vtx dirt_seg3_vertex_0302C0F8[] = {
83
{{{ 0, -8, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0x00}}},
84
{{{ -32, 80, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0x00}}},
85
{{{ 32, 80, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0x00}}},
86
{{{ -52, 28, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
87
{{{ -116, 80, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
88
{{{ -84, -52, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
89
{{{ 52, 28, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
90
{{{ 84, -52, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
91
{{{ 116, 80, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
92
{{{ 0, 160, 0}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
93
};
94
95
// 0x0302C198
96
static const Vtx dirt_seg3_vertex_0302C198[] = {
97
{{{ 0, -8, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
98
{{{ -32, 80, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
99
{{{ 32, 80, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
100
{{{ -52, 28, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
101
{{{ -116, 80, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
102
{{{ -84, -52, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
103
{{{ 52, 28, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
104
{{{ 84, -52, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
105
{{{ 116, 80, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
106
{{{ 0, 160, 0}, 0, { 0, 0}, {0xff, 0xff, 0x00, 0xff}}},
107
};
108
109
// 0x0302C238 - 0x0302C298
110
const Gfx dirt_seg3_dl_0302C238[] = {
111
gsSPClearGeometryMode(G_CULL_BACK),
112
gsSPVertex(dirt_seg3_vertex_0302C0F8, 10, 0),
113
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
114
gsSP2Triangles( 0, 5, 3, 0x0, 6, 7, 0, 0x0),
115
gsSP2Triangles( 2, 8, 6, 0x0, 1, 9, 2, 0x0),
116
gsSP2Triangles( 0, 3, 1, 0x0, 2, 6, 0, 0x0),
117
gsSPSetGeometryMode(G_CULL_BACK),
118
gsSPEndDisplayList(),
119
};
120
121
// 0x0302C298 - 0x0302C2B8
122
const Gfx dirt_seg3_dl_0302C298[] = {
123
gsSPLight(&dirt_seg3_lights_0302BD68.l, 1),
124
gsSPLight(&dirt_seg3_lights_0302BD68.a, 2),
125
gsSPDisplayList(dirt_seg3_dl_0302C238),
126
gsSPEndDisplayList(),
127
};
128
129
// 0x0302C2B8 - 0x0302C2D8
130
const Gfx dirt_seg3_dl_0302C2B8[] = {
131
gsSPLight(&dirt_seg3_lights_0302BD80.l, 1),
132
gsSPLight(&dirt_seg3_lights_0302BD80.a, 2),
133
gsSPDisplayList(dirt_seg3_dl_0302C238),
134
gsSPEndDisplayList(),
135
};
136
137
// 0x0302C2D8 - 0x0302C2F8
138
const Gfx dirt_seg3_dl_0302C2D8[] = {
139
gsSPLight(&dirt_seg3_lights_0302BD98.l, 1),
140
gsSPLight(&dirt_seg3_lights_0302BD98.a, 2),
141
gsSPDisplayList(dirt_seg3_dl_0302C238),
142
gsSPEndDisplayList(),
143
};
144
145
// 0x0302C2F8 - 0x0302C318
146
const Gfx dirt_seg3_dl_0302C2F8[] = {
147
gsSPLight(&dirt_seg3_lights_0302BDB0.l, 1),
148
gsSPLight(&dirt_seg3_lights_0302BDB0.a, 2),
149
gsSPDisplayList(dirt_seg3_dl_0302C238),
150
gsSPEndDisplayList(),
151
};
152
153
// 0x0302C318 - 0x0302C378
154
const Gfx dirt_seg3_dl_0302C318[] = {
155
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
156
gsSPVertex(dirt_seg3_vertex_0302C198, 10, 0),
157
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 1, 0x0),
158
gsSP2Triangles( 0, 5, 3, 0x0, 6, 7, 0, 0x0),
159
gsSP2Triangles( 2, 8, 6, 0x0, 1, 9, 2, 0x0),
160
gsSP2Triangles( 0, 3, 1, 0x0, 2, 6, 0, 0x0),
161
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
162
gsSPEndDisplayList(),
163
};
164
165
// 0x0302C378 - 0x0302C3B0
166
const Gfx dirt_seg3_dl_0302C378[] = {
167
gsSPLight(&dirt_seg3_lights_0302BD68.l, 1),
168
gsSPLight(&dirt_seg3_lights_0302BD68.a, 2),
169
gsSPClearGeometryMode(G_CULL_BACK),
170
gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
171
gsSP1Triangle( 0, 1, 2, 0x0),
172
gsSPSetGeometryMode(G_CULL_BACK),
173
gsSPEndDisplayList(),
174
};
175
176
// 0x0302C3B0 - 0x0302C3E8
177
const Gfx dirt_seg3_dl_0302C3B0[] = {
178
gsSPLight(&dirt_seg3_lights_0302BD80.l, 1),
179
gsSPLight(&dirt_seg3_lights_0302BD80.a, 2),
180
gsSPClearGeometryMode(G_CULL_BACK),
181
gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
182
gsSP1Triangle( 0, 1, 2, 0x0),
183
gsSPSetGeometryMode(G_CULL_BACK),
184
gsSPEndDisplayList(),
185
};
186
187
// 0x0302C3E8 - 0x0302C420
188
const Gfx dirt_seg3_dl_0302C3E8[] = {
189
gsSPLight(&dirt_seg3_lights_0302BD98.l, 1),
190
gsSPLight(&dirt_seg3_lights_0302BD98.a, 2),
191
gsSPClearGeometryMode(G_CULL_BACK),
192
gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
193
gsSP1Triangle( 0, 1, 2, 0x0),
194
gsSPSetGeometryMode(G_CULL_BACK),
195
gsSPEndDisplayList(),
196
};
197
198
// 0x0302C420 - 0x0302C458
199
const Gfx dirt_seg3_dl_0302C420[] = {
200
gsSPLight(&dirt_seg3_lights_0302BDB0.l, 1),
201
gsSPLight(&dirt_seg3_lights_0302BDB0.a, 2),
202
gsSPClearGeometryMode(G_CULL_BACK),
203
gsSPVertex(dirt_seg3_vertex_0302C098, 3, 0),
204
gsSP1Triangle( 0, 1, 2, 0x0),
205
gsSPSetGeometryMode(G_CULL_BACK),
206
gsSPEndDisplayList(),
207
};
208
209
// 0x0302C458 - 0x0302C480
210
const Gfx dirt_seg3_dl_0302C458[] = {
211
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
212
gsSPVertex(dirt_seg3_vertex_0302C0C8, 3, 0),
213
gsSP1Triangle( 0, 1, 2, 0x0),
214
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
215
gsSPEndDisplayList(),
216
};
217
218