Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/actors/amp/model.inc.c
7855 views
1
// Amp
2
3
ALIGNED8 static const Texture dAmpElectricityTexture[] = {
4
#include "actors/amp/amp_electricity.rgba16.inc.c"
5
};
6
7
ALIGNED8 static const Texture dAmpEyesTexture[] = {
8
#include "actors/amp/amp_eyes.rgba16.inc.c"
9
};
10
11
ALIGNED8 static const Texture dAmpBodyTexture[] = {
12
#include "actors/amp/amp_body.rgba16.inc.c"
13
};
14
15
ALIGNED8 static const Texture dAmpMouthTexture[] = {
16
#include "actors/amp/amp_mouth.rgba16.inc.c"
17
};
18
19
static const Vtx dAmpElectricityVertices[] = {
20
{{{ 224, 0, -89}, 0, { 0, 480}, {0xff, 0xff, 0xff, 0xff}}},
21
{{{ 187, 149, 0}, 0, { 223, 1078}, {0xff, 0xff, 0xff, 0xff}}},
22
{{{ 224, 0, 90}, 0, { 479, 478}, {0xff, 0xff, 0xff, 0xff}}},
23
{{{ 187, -148, 0}, 0, { 224, -122}, {0xff, 0xff, 0xff, 0xff}}},
24
{{{ 224, 0, -89}, 0, { 0, 478}, {0xff, 0xff, 0xff, 0xff}}},
25
};
26
27
const Gfx dAmpElectricitySubDl[] = {
28
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpElectricityTexture),
29
gsDPLoadSync(),
30
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 32 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
31
gsSPVertex(dAmpElectricityVertices, 5, 0),
32
gsSP2Triangles( 0, 1, 2, 0x0, 2, 3, 4, 0x0),
33
gsSPEndDisplayList(),
34
};
35
36
const Gfx dAmpElectricityDl[] = {
37
gsDPPipeSync(),
38
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
39
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
40
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),
41
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
42
gsDPTileSync(),
43
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 4, G_TX_NOLOD),
44
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
45
gsSPDisplayList(dAmpElectricitySubDl),
46
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
47
gsDPPipeSync(),
48
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
49
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
50
gsSPEndDisplayList(),
51
};
52
53
static const Vtx dAmpEyeVertices[] = {
54
{{{ 68, 72, 158}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
55
{{{ -27, -71, 164}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
56
{{{ 68, -71, 158}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
57
{{{ -27, 72, 164}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
58
};
59
60
const Gfx dAmpEyeSubDl[] = {
61
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpEyesTexture),
62
gsDPLoadSync(),
63
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
64
gsSPVertex(dAmpEyeVertices, 4, 0),
65
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
66
gsSPEndDisplayList(),
67
};
68
69
const Gfx dAmpEyeDl[] = {
70
gsDPPipeSync(),
71
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
72
gsSPClearGeometryMode(G_LIGHTING),
73
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),
74
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
75
gsDPTileSync(),
76
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
77
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
78
gsSPDisplayList(dAmpEyeSubDl),
79
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
80
gsDPPipeSync(),
81
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
82
gsSPSetGeometryMode(G_LIGHTING),
83
gsSPEndDisplayList(),
84
};
85
86
static const Vtx dAmpMouthVertices[] = {
87
{{{ -29, 72, 164}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
88
{{{ -124, -71, 121}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
89
{{{ -29, -71, 164}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
90
{{{ -124, 72, 121}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
91
};
92
93
const Gfx dAmpMouthSubDl[] = {
94
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpMouthTexture),
95
gsDPLoadSync(),
96
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
97
gsSPVertex(dAmpMouthVertices, 4, 0),
98
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
99
gsSPEndDisplayList(),
100
};
101
102
const Gfx dAmpMouthDl[] = {
103
gsDPPipeSync(),
104
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
105
gsSPClearGeometryMode(G_LIGHTING),
106
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),
107
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
108
gsDPTileSync(),
109
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
110
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
111
gsSPDisplayList(dAmpMouthSubDl),
112
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
113
gsDPPipeSync(),
114
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
115
gsSPSetGeometryMode(G_LIGHTING),
116
gsSPEndDisplayList(),
117
};
118
119
static const Vtx dAmpBodyVertices[] = {
120
{{{ -39, -39, 0}, 0, { 0, 990}, {0xff, 0xff, 0xff, 0xff}}},
121
{{{ 40, 40, 0}, 0, { 990, 0}, {0xff, 0xff, 0xff, 0xff}}},
122
{{{ -39, 40, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
123
{{{ 40, -39, 0}, 0, { 990, 990}, {0xff, 0xff, 0xff, 0xff}}},
124
};
125
126
const Gfx dAmpBodySubDl[] = {
127
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, dAmpBodyTexture),
128
gsDPLoadSync(),
129
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
130
gsSPVertex(dAmpBodyVertices, 4, 0),
131
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
132
gsSPEndDisplayList(),
133
};
134
135
const Gfx dAmpBodyDl[] = {
136
gsDPPipeSync(),
137
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
138
gsSPClearGeometryMode(G_LIGHTING),
139
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),
140
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
141
gsDPTileSync(),
142
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 5, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
143
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
144
gsSPDisplayList(dAmpBodySubDl),
145
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
146
gsDPPipeSync(),
147
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
148
gsSPSetGeometryMode(G_LIGHTING),
149
gsSPEndDisplayList(),
150
};
151
152
/**
153
* Everything beyond this point is unused, and seems to be an attempt at a 3D modelled
154
* amp. The model and attempt are overall slightly buggy, with misread lights and a slightly
155
* broken model.
156
*/
157
158
UNUSED static const Lights1 dAmpUnused3DLights = gdSPDefLights1(
159
0x33, 0x3f, 0x00,
160
0xcf, 0xff, 0x00, 0x28, 0x28, 0x28
161
);
162
163
UNUSED static const Vtx dAmpUnused3DVtx01[] = {
164
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
165
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
166
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
167
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
168
{{{ 240, 160, 0}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
169
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
170
};
171
172
UNUSED static const Vtx dAmpUnused3DVtx02[] = {
173
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
174
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
175
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
176
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
177
{{{ 240, 160, 0}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
178
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
179
};
180
181
UNUSED static const Vtx dAmpUnused3DVtx03[] = {
182
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
183
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
184
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0x00}}},
185
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
186
{{{ 240, 160, 0}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
187
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0xff}}},
188
};
189
190
UNUSED static const Vtx dAmpUnused3DVtx04[] = {
191
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
192
{{{ 240, 160, 0}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
193
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0x1e, 0x00, 0x00}}},
194
{{{ 280, 0, 35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0xff}}},
195
{{{ 240, -160, 0}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0xff}}},
196
{{{ 280, 0, -35}, 0, { 0, 0}, {0x7b, 0xe2, 0x00, 0xff}}},
197
};
198
199
UNUSED static const Vtx dAmpUnused3DVtx05[] = {
200
{{{ -184, -54, -54}, 0, { 0, 0}, {0x8b, 0xde, 0xde, 0x00}}},
201
{{{ -184, -76, 0}, 0, { 0, 0}, {0x8b, 0xd0, 0x00, 0x00}}},
202
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
203
{{{ -141, -100, -100}, 0, { 0, 0}, {0xa6, 0xc1, 0xc1, 0xff}}},
204
{{{ -141, -141, 0}, 0, { 0, 0}, {0xa6, 0xa7, 0x00, 0xff}}},
205
{{{ -76, -130, -130}, 0, { 0, 0}, {0xd0, 0xae, 0xae, 0xff}}},
206
{{{ -76, -184, 0}, 0, { 0, 0}, {0xd0, 0x8b, 0x00, 0xff}}},
207
{{{ 0, -141, -141}, 0, { 0, 0}, {0x00, 0xa7, 0xa7, 0xff}}},
208
{{{ 0, -200, 0}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0xff}}},
209
{{{ 76, -130, -130}, 0, { 0, 0}, {0x30, 0xae, 0xae, 0xff}}},
210
{{{ 76, -184, 0}, 0, { 0, 0}, {0x30, 0x8b, 0x00, 0xff}}},
211
{{{ 141, -100, -100}, 0, { 0, 0}, {0x5a, 0xc1, 0xc1, 0xff}}},
212
{{{ 141, -141, 0}, 0, { 0, 0}, {0x5a, 0xa7, 0x00, 0xff}}},
213
{{{ 184, -54, -54}, 0, { 0, 0}, {0x75, 0xde, 0xde, 0xff}}},
214
{{{ 184, -76, 0}, 0, { 0, 0}, {0x75, 0xd0, 0x00, 0xff}}},
215
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
216
};
217
218
UNUSED static const Vtx dAmpUnused3DVtx06[] = {
219
{{{ -184, 0, -76}, 0, { 0, 0}, {0x8b, 0x00, 0xd0, 0xff}}},
220
{{{ -184, -54, -54}, 0, { 0, 0}, {0x8b, 0xde, 0xde, 0x00}}},
221
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
222
{{{ -141, 0, -141}, 0, { 0, 0}, {0xa6, 0x00, 0xa7, 0xff}}},
223
{{{ -141, -100, -100}, 0, { 0, 0}, {0xa6, 0xc1, 0xc1, 0xff}}},
224
{{{ -76, 0, -184}, 0, { 0, 0}, {0xd0, 0x00, 0x8b, 0xff}}},
225
{{{ -76, -130, -130}, 0, { 0, 0}, {0xd0, 0xae, 0xae, 0xff}}},
226
{{{ 0, 0, -200}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
227
{{{ 0, -141, -141}, 0, { 0, 0}, {0x00, 0xa7, 0xa7, 0xff}}},
228
{{{ 76, 0, -184}, 0, { 0, 0}, {0x30, 0x00, 0x8b, 0xff}}},
229
{{{ 76, -130, -130}, 0, { 0, 0}, {0x30, 0xae, 0xae, 0xff}}},
230
{{{ 141, 0, -141}, 0, { 0, 0}, {0x5a, 0x00, 0xa7, 0xff}}},
231
{{{ 141, -100, -100}, 0, { 0, 0}, {0x5a, 0xc1, 0xc1, 0xff}}},
232
{{{ 184, 0, -76}, 0, { 0, 0}, {0x75, 0x00, 0xd0, 0xff}}},
233
{{{ 184, -54, -54}, 0, { 0, 0}, {0x75, 0xde, 0xde, 0xff}}},
234
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
235
};
236
237
UNUSED static const Vtx dAmpUnused3DVtx07[] = {
238
{{{ -184, 54, -54}, 0, { 0, 0}, {0x8b, 0x22, 0xde, 0xff}}},
239
{{{ -184, 0, -76}, 0, { 0, 0}, {0x8b, 0x00, 0xd0, 0x00}}},
240
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
241
{{{ -141, 100, -100}, 0, { 0, 0}, {0xa6, 0x3f, 0xc1, 0xff}}},
242
{{{ -141, 0, -141}, 0, { 0, 0}, {0xa6, 0x00, 0xa7, 0xff}}},
243
{{{ -76, 130, -130}, 0, { 0, 0}, {0xd0, 0x52, 0xae, 0xff}}},
244
{{{ -76, 0, -184}, 0, { 0, 0}, {0xd0, 0x00, 0x8b, 0xff}}},
245
{{{ 0, 141, -141}, 0, { 0, 0}, {0x00, 0x59, 0xa7, 0xff}}},
246
{{{ 0, 0, -200}, 0, { 0, 0}, {0x00, 0x00, 0x81, 0xff}}},
247
{{{ 76, 130, -130}, 0, { 0, 0}, {0x30, 0x52, 0xae, 0xff}}},
248
{{{ 76, 0, -184}, 0, { 0, 0}, {0x30, 0x00, 0x8b, 0xff}}},
249
{{{ 141, 100, -100}, 0, { 0, 0}, {0x5a, 0x3f, 0xc1, 0xff}}},
250
{{{ 141, 0, -141}, 0, { 0, 0}, {0x5a, 0x00, 0xa7, 0xff}}},
251
{{{ 184, 54, -54}, 0, { 0, 0}, {0x75, 0x22, 0xde, 0xff}}},
252
{{{ 184, 0, -76}, 0, { 0, 0}, {0x75, 0x00, 0xd0, 0xff}}},
253
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
254
};
255
256
UNUSED static const Vtx dAmpUnused3DVtx08[] = {
257
{{{ -184, 76, 0}, 0, { 0, 0}, {0x8b, 0x30, 0x00, 0xff}}},
258
{{{ -184, 54, -54}, 0, { 0, 0}, {0x8b, 0x22, 0xde, 0x00}}},
259
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
260
{{{ -141, 141, 0}, 0, { 0, 0}, {0xa6, 0x59, 0x00, 0xff}}},
261
{{{ -141, 100, -100}, 0, { 0, 0}, {0xa6, 0x3f, 0xc1, 0xff}}},
262
{{{ -76, 184, 0}, 0, { 0, 0}, {0xd0, 0x75, 0x00, 0xff}}},
263
{{{ -76, 130, -130}, 0, { 0, 0}, {0xd0, 0x52, 0xae, 0xff}}},
264
{{{ 0, 200, 0}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0xff}}},
265
{{{ 0, 141, -141}, 0, { 0, 0}, {0x00, 0x59, 0xa7, 0xff}}},
266
{{{ 76, 184, 0}, 0, { 0, 0}, {0x30, 0x75, 0x00, 0xff}}},
267
{{{ 76, 130, -130}, 0, { 0, 0}, {0x30, 0x52, 0xae, 0xff}}},
268
{{{ 141, 141, 0}, 0, { 0, 0}, {0x5a, 0x59, 0x00, 0xff}}},
269
{{{ 141, 100, -100}, 0, { 0, 0}, {0x5a, 0x3f, 0xc1, 0xff}}},
270
{{{ 184, 76, 0}, 0, { 0, 0}, {0x75, 0x30, 0x00, 0xff}}},
271
{{{ 184, 54, -54}, 0, { 0, 0}, {0x75, 0x22, 0xde, 0xff}}},
272
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
273
};
274
275
UNUSED static const Vtx dAmpUnused3DVtx09[] = {
276
{{{ -184, 54, 54}, 0, { 0, 0}, {0x8b, 0x22, 0x22, 0xff}}},
277
{{{ -184, 76, 0}, 0, { 0, 0}, {0x8b, 0x30, 0x00, 0x00}}},
278
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
279
{{{ -141, 100, 100}, 0, { 0, 0}, {0xa6, 0x3f, 0x3f, 0xff}}},
280
{{{ -141, 141, 0}, 0, { 0, 0}, {0xa6, 0x59, 0x00, 0xff}}},
281
{{{ -76, 130, 130}, 0, { 0, 0}, {0xd0, 0x52, 0x52, 0xff}}},
282
{{{ -76, 184, 0}, 0, { 0, 0}, {0xd0, 0x75, 0x00, 0xff}}},
283
{{{ 0, 141, 141}, 0, { 0, 0}, {0x00, 0x59, 0x59, 0xff}}},
284
{{{ 0, 200, 0}, 0, { 0, 0}, {0x00, 0x7f, 0x00, 0xff}}},
285
{{{ 76, 130, 130}, 0, { 0, 0}, {0x30, 0x52, 0x52, 0xff}}},
286
{{{ 76, 184, 0}, 0, { 0, 0}, {0x30, 0x75, 0x00, 0xff}}},
287
{{{ 141, 100, 100}, 0, { 0, 0}, {0x5a, 0x3f, 0x3f, 0xff}}},
288
{{{ 141, 141, 0}, 0, { 0, 0}, {0x5a, 0x59, 0x00, 0xff}}},
289
{{{ 184, 54, 54}, 0, { 0, 0}, {0x75, 0x22, 0x22, 0xff}}},
290
{{{ 184, 76, 0}, 0, { 0, 0}, {0x75, 0x30, 0x00, 0xff}}},
291
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
292
};
293
294
UNUSED static const Vtx dAmpUnused3DVtx10[] = {
295
{{{ -184, 0, 76}, 0, { 0, 0}, {0x8b, 0x00, 0x30, 0xff}}},
296
{{{ -184, 54, 54}, 0, { 0, 0}, {0x8b, 0x22, 0x22, 0x00}}},
297
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
298
{{{ -141, 0, 141}, 0, { 0, 0}, {0xa6, 0x00, 0x59, 0xff}}},
299
{{{ -141, 100, 100}, 0, { 0, 0}, {0xa6, 0x3f, 0x3f, 0xff}}},
300
{{{ -76, 0, 184}, 0, { 0, 0}, {0xd0, 0x00, 0x75, 0xff}}},
301
{{{ -76, 130, 130}, 0, { 0, 0}, {0xd0, 0x52, 0x52, 0xff}}},
302
{{{ 0, 0, 200}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
303
{{{ 0, 141, 141}, 0, { 0, 0}, {0x00, 0x59, 0x59, 0xff}}},
304
{{{ 76, 0, 184}, 0, { 0, 0}, {0x30, 0x00, 0x75, 0xff}}},
305
{{{ 76, 130, 130}, 0, { 0, 0}, {0x30, 0x52, 0x52, 0xff}}},
306
{{{ 141, 0, 141}, 0, { 0, 0}, {0x5a, 0x00, 0x59, 0xff}}},
307
{{{ 141, 100, 100}, 0, { 0, 0}, {0x5a, 0x3f, 0x3f, 0xff}}},
308
{{{ 184, 0, 76}, 0, { 0, 0}, {0x75, 0x00, 0x30, 0xff}}},
309
{{{ 184, 54, 54}, 0, { 0, 0}, {0x75, 0x22, 0x22, 0xff}}},
310
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
311
};
312
313
UNUSED static const Vtx dAmpUnused3DVtx11[] = {
314
{{{ -184, -54, 54}, 0, { 0, 0}, {0x8b, 0xde, 0x22, 0xff}}},
315
{{{ -184, 0, 76}, 0, { 0, 0}, {0x8b, 0x00, 0x30, 0x00}}},
316
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
317
{{{ -141, -100, 100}, 0, { 0, 0}, {0xa6, 0xc1, 0x3f, 0xff}}},
318
{{{ -141, 0, 141}, 0, { 0, 0}, {0xa6, 0x00, 0x59, 0xff}}},
319
{{{ -76, -130, 130}, 0, { 0, 0}, {0xd0, 0xae, 0x52, 0xff}}},
320
{{{ -76, 0, 184}, 0, { 0, 0}, {0xd0, 0x00, 0x75, 0xff}}},
321
{{{ 0, -141, 141}, 0, { 0, 0}, {0x00, 0xa7, 0x59, 0xff}}},
322
{{{ 0, 0, 200}, 0, { 0, 0}, {0x00, 0x00, 0x7f, 0xff}}},
323
{{{ 76, -130, 130}, 0, { 0, 0}, {0x30, 0xae, 0x52, 0xff}}},
324
{{{ 76, 0, 184}, 0, { 0, 0}, {0x30, 0x00, 0x75, 0xff}}},
325
{{{ 141, -100, 100}, 0, { 0, 0}, {0x5a, 0xc1, 0x3f, 0xff}}},
326
{{{ 141, 0, 141}, 0, { 0, 0}, {0x5a, 0x00, 0x59, 0xff}}},
327
{{{ 184, -54, 54}, 0, { 0, 0}, {0x75, 0xde, 0x22, 0xff}}},
328
{{{ 184, 0, 76}, 0, { 0, 0}, {0x75, 0x00, 0x30, 0xff}}},
329
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
330
};
331
332
UNUSED static const Vtx dAmpUnused3DVtx12[] = {
333
{{{ -184, -76, 0}, 0, { 0, 0}, {0x8b, 0xd0, 0x00, 0xff}}},
334
{{{ -184, -54, 54}, 0, { 0, 0}, {0x8b, 0xde, 0x22, 0x00}}},
335
{{{ -200, 0, 0}, 0, { 0, 0}, {0x81, 0x00, 0x00, 0x00}}},
336
{{{ -141, -141, 0}, 0, { 0, 0}, {0xa6, 0xa7, 0x00, 0xff}}},
337
{{{ -141, -100, 100}, 0, { 0, 0}, {0xa6, 0xc1, 0x3f, 0xff}}},
338
{{{ -76, -184, 0}, 0, { 0, 0}, {0xd0, 0x8b, 0x00, 0xff}}},
339
{{{ -76, -130, 130}, 0, { 0, 0}, {0xd0, 0xae, 0x52, 0xff}}},
340
{{{ 0, -200, 0}, 0, { 0, 0}, {0x00, 0x81, 0x00, 0xff}}},
341
{{{ 0, -141, 141}, 0, { 0, 0}, {0x00, 0xa7, 0x59, 0xff}}},
342
{{{ 76, -184, 0}, 0, { 0, 0}, {0x30, 0x8b, 0x00, 0xff}}},
343
{{{ 76, -130, 130}, 0, { 0, 0}, {0x30, 0xae, 0x52, 0xff}}},
344
{{{ 141, -141, 0}, 0, { 0, 0}, {0x5a, 0xa7, 0x00, 0xff}}},
345
{{{ 141, -100, 100}, 0, { 0, 0}, {0x5a, 0xc1, 0x3f, 0xff}}},
346
{{{ 184, -76, 0}, 0, { 0, 0}, {0x75, 0xd0, 0x00, 0xff}}},
347
{{{ 184, -54, 54}, 0, { 0, 0}, {0x75, 0xde, 0x22, 0xff}}},
348
{{{ 200, 0, 0}, 0, { 0, 0}, {0x7f, 0x00, 0x00, 0xff}}},
349
};
350
351
UNUSED static const Vtx dAmpUnused3DVtx13[] = {
352
{{{ -37, 90, 205}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
353
{{{ -129, 90, 163}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
354
{{{ -129, -90, 163}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0x00}}},
355
{{{ -37, -90, 205}, 0, { 0, 0}, {0xcc, 0x00, 0x73, 0xff}}},
356
};
357
358
UNUSED static const Vtx dAmpUnused3DVtx14[] = {
359
{{{ 112, -7, 182}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
360
{{{ 66, -139, 162}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
361
{{{ 175, -77, 98}, 0, { 0, 0}, {0x4c, 0xd8, 0x5c, 0x00}}},
362
};
363
364
UNUSED static const Vtx dAmpUnused3DVtx15[] = {
365
{{{ 63, 90, 198}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
366
{{{ -35, 90, 205}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
367
{{{ -35, -90, 205}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0x00}}},
368
{{{ 63, -90, 198}, 0, { 0, 0}, {0x08, 0x00, 0x7e, 0xff}}},
369
};
370
371
UNUSED const Gfx dAmpUnused3DElectricDl1[] = {
372
gsSPLight(&dAmpUnused3DLights.l, 1),
373
gsSPLight(&dAmpUnused3DLights.a, 2),
374
gsSPVertex(dAmpUnused3DVtx01, 6, 0),
375
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
376
gsSPEndDisplayList(),
377
};
378
379
UNUSED const Gfx dAmpUnused3DElectricDl2[] = {
380
gsSPLight(&dAmpUnused3DLights.l, 1),
381
gsSPLight(&dAmpUnused3DLights.a, 2),
382
gsSPVertex(dAmpUnused3DVtx02, 6, 0),
383
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
384
gsSPEndDisplayList(),
385
};
386
387
UNUSED const Gfx dAmpUnused3DElectricDl3[] = {
388
gsSPLight(&dAmpUnused3DLights.l, 1),
389
gsSPLight(&dAmpUnused3DLights.a, 2),
390
gsSPVertex(dAmpUnused3DVtx03, 6, 0),
391
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
392
gsSPEndDisplayList(),
393
};
394
395
UNUSED const Gfx dAmpUnused3DElectricDl4[] = {
396
gsSPLight(&dAmpUnused3DLights.l, 1),
397
gsSPLight(&dAmpUnused3DLights.a, 2),
398
gsSPVertex(dAmpUnused3DVtx04, 6, 0),
399
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
400
gsSPEndDisplayList(),
401
};
402
403
UNUSED const Gfx dAmpUnused3DModelDl[] = {
404
//! Vertex interpreted as light
405
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
406
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
407
gsSPVertex(dAmpUnused3DVtx05, 16, 0),
408
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
409
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
410
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
411
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
412
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
413
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
414
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
415
gsSPVertex(dAmpUnused3DVtx06, 16, 0),
416
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
417
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
418
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
419
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
420
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
421
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
422
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
423
gsSPVertex(dAmpUnused3DVtx07, 16, 0),
424
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
425
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
426
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
427
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
428
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
429
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
430
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
431
gsSPVertex(dAmpUnused3DVtx08, 16, 0),
432
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
433
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
434
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
435
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
436
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
437
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
438
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
439
gsSPVertex(dAmpUnused3DVtx09, 16, 0),
440
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
441
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
442
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
443
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
444
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
445
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
446
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
447
gsSPVertex(dAmpUnused3DVtx10, 16, 0),
448
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
449
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
450
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
451
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
452
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
453
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
454
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
455
gsSPVertex(dAmpUnused3DVtx11, 16, 0),
456
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
457
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
458
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
459
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
460
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
461
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
462
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
463
gsSPVertex(dAmpUnused3DVtx12, 16, 0),
464
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
465
gsSP2Triangles( 1, 3, 4, 0x0, 4, 3, 5, 0x0),
466
gsSP2Triangles( 4, 5, 6, 0x0, 6, 5, 7, 0x0),
467
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
468
gsSP2Triangles( 8, 9, 10, 0x0, 10, 9, 11, 0x0),
469
gsSP2Triangles(10, 11, 12, 0x0, 12, 11, 13, 0x0),
470
gsSP2Triangles(12, 13, 14, 0x0, 14, 13, 15, 0x0),
471
gsSPEndDisplayList(),
472
};
473
474
UNUSED const Gfx dAmpUnused3DElectricDl5[] = {
475
//! Vertex interpreted as light
476
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
477
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
478
gsSPVertex(dAmpUnused3DVtx13, 4, 0),
479
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
480
gsSPEndDisplayList(),
481
};
482
483
UNUSED const Gfx dAmpUnused3DElectricDl6[] = {
484
//! Vertex interpreted as light
485
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
486
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
487
gsSPVertex(dAmpUnused3DVtx14, 3, 0),
488
gsSP1Triangle( 0, 1, 2, 0x0),
489
gsSPEndDisplayList(),
490
};
491
492
UNUSED const Gfx dAmpUnused3DElectricDl7[] = {
493
//! Vertex interpreted as light
494
gsSPLight((const u8*)dAmpUnused3DVtx01 + 0x8, 1),
495
gsSPLight((const u8*)dAmpUnused3DVtx01, 2),
496
gsSPVertex(dAmpUnused3DVtx15, 4, 0),
497
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
498
gsSPEndDisplayList(),
499
};
500
501