Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/actors/capswitch/model.inc.c
7855 views
1
// Capswitch
2
3
// 0x05001BB8
4
static const Lights1 capswitch_seg5_lights_05001BB8 = gdSPDefLights1(
5
0x3f, 0x3f, 0x3f,
6
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
7
);
8
9
// 0x05001BD0
10
static const Lights1 capswitch_seg5_lights_05001BD0 = gdSPDefLights1(
11
0x3f, 0x3f, 0x3f,
12
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
13
);
14
15
// 0x05001BE8
16
static const Lights1 capswitch_seg5_lights_05001BE8 = gdSPDefLights1(
17
0x3f, 0x00, 0x00,
18
0xff, 0x00, 0x00, 0x28, 0x28, 0x28
19
);
20
21
// 0x05001C00
22
static const Lights1 capswitch_seg5_lights_05001C00 = gdSPDefLights1(
23
0x01, 0x2a, 0x09,
24
0x07, 0xa9, 0x25, 0x28, 0x28, 0x28
25
);
26
27
// 0x05001C18
28
static const Lights1 capswitch_seg5_lights_05001C18 = gdSPDefLights1(
29
0x00, 0x00, 0x3f,
30
0x00, 0x00, 0xff, 0x28, 0x28, 0x28
31
);
32
33
// 0x05001C30
34
static const Lights1 capswitch_seg5_lights_05001C30 = gdSPDefLights1(
35
0x3f, 0x25, 0x02,
36
0xff, 0x96, 0x08, 0x28, 0x28, 0x28
37
);
38
39
// 0x05001C48
40
ALIGNED8 static const Texture capswitch_seg5_texture_05001C48[] = {
41
#include "actors/capswitch/cap_switch_head.ia16.inc.c"
42
};
43
44
// 0x05002C48
45
ALIGNED8 static const Texture capswitch_seg5_texture_05002C48[] = {
46
#include "actors/capswitch/cap_switch_base.rgba16.inc.c"
47
};
48
49
// 0x05002CC8
50
static const Vtx capswitch_seg5_vertex_05002CC8[] = {
51
{{{ -118, 262, -203}, 0, { -130, 364}, {0x00, 0x36, 0x8e, 0xff}}},
52
{{{ 130, 0, -224}, 0, { 1144, 2144}, {0x00, 0x0a, 0x82, 0xff}}},
53
{{{ -129, 0, -224}, 0, { -184, 2144}, {0x00, 0x0a, 0x82, 0xff}}},
54
{{{ 119, 262, -203}, 0, { 1088, 364}, {0x00, 0x36, 0x8e, 0xff}}},
55
{{{ 109, 352, -108}, 0, { 1034, -252}, {0x00, 0x5c, 0xa9, 0xff}}},
56
{{{ -108, 352, -108}, 0, { -74, -252}, {0x00, 0x5c, 0xa9, 0xff}}},
57
{{{ -129, 0, 225}, 0, { -184, 2144}, {0x00, 0x0a, 0x7e, 0xff}}},
58
{{{ 119, 262, 204}, 0, { 1088, 364}, {0x00, 0x36, 0x72, 0xff}}},
59
{{{ -118, 262, 204}, 0, { -130, 364}, {0x00, 0x36, 0x72, 0xff}}},
60
{{{ -108, 352, 109}, 0, { -74, -252}, {0x00, 0x5c, 0x57, 0xff}}},
61
{{{ 130, 0, 225}, 0, { 1144, 2144}, {0x00, 0x0a, 0x7e, 0xff}}},
62
{{{ 109, 352, 109}, 0, { 1034, -252}, {0x00, 0x5c, 0x57, 0xff}}},
63
};
64
65
// 0x05002D88 - 0x05002E00
66
const Gfx capswitch_seg5_dl_05002D88[] = {
67
gsDPSetTextureImage(G_IM_FMT_IA, G_IM_SIZ_16b, 1, capswitch_seg5_texture_05001C48),
68
gsDPLoadSync(),
69
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 64 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
70
gsSPLight(&capswitch_seg5_lights_05001BB8.l, 1),
71
gsSPLight(&capswitch_seg5_lights_05001BB8.a, 2),
72
gsSPVertex(capswitch_seg5_vertex_05002CC8, 12, 0),
73
gsSP2Triangles( 0, 1, 2, 0x0, 1, 0, 3, 0x0),
74
gsSP2Triangles( 4, 3, 0, 0x0, 5, 4, 0, 0x0),
75
gsSP2Triangles( 6, 7, 8, 0x0, 8, 7, 9, 0x0),
76
gsSP2Triangles( 7, 6, 10, 0x0, 11, 9, 7, 0x0),
77
gsSPEndDisplayList(),
78
};
79
80
// 0x05002E00 - 0x05002E60
81
const Gfx cap_switch_exclamation_seg5_dl_05002E00[] = {
82
gsDPPipeSync(),
83
gsDPSetCombineMode(G_CC_MODULATEIA, G_CC_MODULATEIA),
84
gsDPSetTile(G_IM_FMT_IA, 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),
85
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
86
gsDPTileSync(),
87
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_CLAMP, 6, G_TX_NOLOD, G_TX_CLAMP, 5, G_TX_NOLOD),
88
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (64 - 1) << G_TEXTURE_IMAGE_FRAC),
89
gsSPDisplayList(capswitch_seg5_dl_05002D88),
90
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
91
gsDPPipeSync(),
92
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
93
gsSPEndDisplayList(),
94
};
95
96
// 0x05002E60
97
static const Vtx capswitch_seg5_vertex_05002E60[] = {
98
{{{ 147, 0, -253}, 0, { 0, 499}, {0x29, 0x00, 0x88, 0xff}}},
99
{{{ -146, 0, -253}, 0, { 0, -436}, {0xad, 0x00, 0xa1, 0xff}}},
100
{{{ -146, 137, -253}, 0, { 407, -436}, {0xd3, 0x48, 0xa3, 0xff}}},
101
{{{ -146, 0, 254}, 0, { 0, -436}, {0xd7, 0x00, 0x77, 0xff}}},
102
{{{ 147, 0, 254}, 0, { 0, 499}, {0x53, 0x00, 0x5f, 0xff}}},
103
{{{ 147, 137, 254}, 0, { 407, 499}, {0x2d, 0x48, 0x5d, 0xff}}},
104
{{{ 293, 137, 0}, 0, { 407, 967}, {0x68, 0x48, 0x07, 0xff}}},
105
{{{ 293, 0, 0}, 0, { 0, 967}, {0x7c, 0x00, 0xe8, 0xff}}},
106
{{{ 147, 137, -253}, 0, { 407, 499}, {0x3a, 0x47, 0xaa, 0xff}}},
107
{{{ 111, 170, -192}, 0, { 510, 386}, {0x23, 0x72, 0xd7, 0xff}}},
108
{{{ 222, 170, 0}, 0, { 510, 741}, {0x35, 0x72, 0x0a, 0xff}}},
109
{{{ -146, 137, 254}, 0, { 407, -436}, {0xc6, 0x47, 0x56, 0xff}}},
110
{{{ 111, 170, 193}, 0, { 510, 386}, {0x11, 0x72, 0x33, 0xff}}},
111
{{{ -292, 137, 0}, 0, { 407, -904}, {0x98, 0x48, 0xf9, 0xff}}},
112
{{{ -110, 170, 193}, 0, { 510, -323}, {0xdd, 0x72, 0x29, 0xff}}},
113
{{{ -221, 170, 0}, 0, { 510, -678}, {0xcb, 0x72, 0xf6, 0xff}}},
114
};
115
116
// 0x05002F60
117
static const Vtx capswitch_seg5_vertex_05002F60[] = {
118
{{{ -146, 0, -253}, 0, { 0, -436}, {0xad, 0x00, 0xa1, 0xff}}},
119
{{{ -292, 0, 0}, 0, { 0, -904}, {0x84, 0x00, 0x17, 0xff}}},
120
{{{ -292, 137, 0}, 0, { 407, -904}, {0x98, 0x48, 0xf9, 0xff}}},
121
{{{ 147, 137, -253}, 0, { 407, 499}, {0x3a, 0x47, 0xaa, 0xff}}},
122
{{{ -146, 137, -253}, 0, { 407, -436}, {0xd3, 0x48, 0xa3, 0xff}}},
123
{{{ -110, 170, -192}, 0, { 510, -323}, {0xef, 0x72, 0xcd, 0xff}}},
124
{{{ -221, 170, 0}, 0, { 510, -678}, {0xcb, 0x72, 0xf6, 0xff}}},
125
{{{ 111, 170, -192}, 0, { 510, 386}, {0x23, 0x72, 0xd7, 0xff}}},
126
{{{ -146, 137, 254}, 0, { 407, -436}, {0xc6, 0x47, 0x56, 0xff}}},
127
{{{ 111, 170, 193}, 0, { 510, 386}, {0x11, 0x72, 0x33, 0xff}}},
128
{{{ -110, 170, 193}, 0, { 510, -323}, {0xdd, 0x72, 0x29, 0xff}}},
129
{{{ -146, 0, 254}, 0, { 0, -436}, {0xd7, 0x00, 0x77, 0xff}}},
130
};
131
132
// 0x05003020 - 0x05003120
133
const Gfx capswitch_seg5_dl_05003020[] = {
134
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, capswitch_seg5_texture_05002C48),
135
gsDPLoadSync(),
136
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 16 * 4 - 1, CALC_DXT(16, G_IM_SIZ_16b_BYTES)),
137
gsSPLight(&capswitch_seg5_lights_05001BD0.l, 1),
138
gsSPLight(&capswitch_seg5_lights_05001BD0.a, 2),
139
gsSPVertex(capswitch_seg5_vertex_05002E60, 16, 0),
140
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
141
gsSP2Triangles( 4, 6, 5, 0x0, 4, 7, 6, 0x0),
142
gsSP2Triangles( 7, 8, 6, 0x0, 6, 9, 10, 0x0),
143
gsSP2Triangles( 6, 8, 9, 0x0, 5, 6, 10, 0x0),
144
gsSP2Triangles(11, 5, 12, 0x0, 3, 5, 11, 0x0),
145
gsSP2Triangles( 5, 10, 12, 0x0, 7, 0, 8, 0x0),
146
gsSP2Triangles( 0, 2, 8, 0x0, 13, 14, 15, 0x0),
147
gsSP1Triangle( 1, 13, 2, 0x0),
148
gsSPVertex(capswitch_seg5_vertex_05002F60, 12, 0),
149
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
150
gsSP2Triangles( 4, 6, 5, 0x0, 4, 2, 6, 0x0),
151
gsSP2Triangles( 3, 5, 7, 0x0, 8, 9, 10, 0x0),
152
gsSP2Triangles( 1, 8, 2, 0x0, 1, 11, 8, 0x0),
153
gsSP1Triangle( 2, 8, 10, 0x0),
154
gsSPEndDisplayList(),
155
};
156
157
// 0x05003120 - 0x05003180
158
const Gfx cap_switch_base_seg5_dl_05003120[] = {
159
gsDPPipeSync(),
160
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_MODULATERGB),
161
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),
162
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
163
gsDPTileSync(),
164
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 4, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 2, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
165
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (4 - 1) << G_TEXTURE_IMAGE_FRAC),
166
gsSPDisplayList(capswitch_seg5_dl_05003020),
167
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
168
gsDPPipeSync(),
169
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
170
gsSPEndDisplayList(),
171
};
172
173
//0x05003180
174
static const Vtx capswitch_seg5_vertex_05003180[] = {
175
{{{ -118, 262, -203}, 0, { 0, 0}, {0xd9, 0x37, 0x95, 0xff}}},
176
{{{ 130, 0, -224}, 0, { 0, 0}, {0x29, 0x0b, 0x89, 0xff}}},
177
{{{ -129, 0, -224}, 0, { 0, 0}, {0xae, 0x0a, 0xa0, 0xff}}},
178
{{{ 119, 262, -203}, 0, { 0, 0}, {0x49, 0x2c, 0xa3, 0xff}}},
179
{{{ 260, 0, 0}, 0, { 0, 0}, {0x7c, 0x0a, 0xe8, 0xff}}},
180
{{{ -238, 262, 0}, 0, { 0, 0}, {0x8e, 0x34, 0xf4, 0xff}}},
181
{{{ -108, 352, -108}, 0, { 0, 0}, {0xdb, 0x75, 0xe0, 0xff}}},
182
{{{ 109, 352, -108}, 0, { 0, 0}, {0x25, 0x6d, 0xcd, 0xff}}},
183
{{{ 239, 262, 0}, 0, { 0, 0}, {0x72, 0x34, 0x0c, 0xff}}},
184
{{{ -259, 0, 0}, 0, { 0, 0}, {0x84, 0x0a, 0x18, 0xff}}},
185
{{{ -118, 262, 204}, 0, { 0, 0}, {0xb7, 0x2c, 0x5d, 0xff}}},
186
{{{ -108, 352, 109}, 0, { 0, 0}, {0xdb, 0x6d, 0x33, 0xff}}},
187
{{{ -129, 0, 225}, 0, { 0, 0}, {0xd7, 0x0b, 0x77, 0xff}}},
188
{{{ 119, 262, 204}, 0, { 0, 0}, {0x27, 0x37, 0x6b, 0xff}}},
189
{{{ 109, 352, 109}, 0, { 0, 0}, {0x25, 0x75, 0x20, 0xff}}},
190
{{{ 130, 0, 225}, 0, { 0, 0}, {0x52, 0x0a, 0x5f, 0xff}}},
191
};
192
193
// 0x05003280 - 0x05003350
194
const Gfx capswitch_seg5_dl_05003280[] = {
195
gsSPVertex(capswitch_seg5_vertex_05003180, 16, 0),
196
gsSP2Triangles( 0, 1, 2, 0x0, 1, 3, 4, 0x0),
197
gsSP2Triangles( 1, 0, 3, 0x0, 2, 5, 0, 0x0),
198
gsSP2Triangles( 0, 5, 6, 0x0, 7, 3, 0, 0x0),
199
gsSP2Triangles( 6, 7, 0, 0x0, 8, 3, 7, 0x0),
200
gsSP2Triangles( 4, 3, 8, 0x0, 9, 10, 5, 0x0),
201
gsSP2Triangles(11, 6, 5, 0x0, 5, 10, 11, 0x0),
202
gsSP2Triangles( 5, 2, 9, 0x0, 10, 9, 12, 0x0),
203
gsSP2Triangles(12, 13, 10, 0x0, 10, 13, 11, 0x0),
204
gsSP2Triangles( 6, 11, 14, 0x0, 14, 11, 13, 0x0),
205
gsSP2Triangles( 6, 14, 7, 0x0, 15, 8, 13, 0x0),
206
gsSP2Triangles(13, 8, 14, 0x0, 13, 12, 15, 0x0),
207
gsSP2Triangles( 8, 15, 4, 0x0, 7, 14, 8, 0x0),
208
gsSPEndDisplayList(),
209
};
210
211
// 0x05003350 - 0x05003370
212
const Gfx capswitch_seg5_dl_05003350[] = {
213
gsSPLight(&capswitch_seg5_lights_05001BE8.l, 1),
214
gsSPLight(&capswitch_seg5_lights_05001BE8.a, 2),
215
gsSPDisplayList(capswitch_seg5_dl_05003280),
216
gsSPEndDisplayList(),
217
};
218
219
// 0x05003370 - 0x05003390
220
const Gfx capswitch_seg5_dl_05003370[] = {
221
gsSPLight(&capswitch_seg5_lights_05001C00.l, 1),
222
gsSPLight(&capswitch_seg5_lights_05001C00.a, 2),
223
gsSPDisplayList(capswitch_seg5_dl_05003280),
224
gsSPEndDisplayList(),
225
};
226
227
// 0x05003390 - 0x050033B0
228
const Gfx capswitch_seg5_dl_05003390[] = {
229
gsSPLight(&capswitch_seg5_lights_05001C18.l, 1),
230
gsSPLight(&capswitch_seg5_lights_05001C18.a, 2),
231
gsSPDisplayList(capswitch_seg5_dl_05003280),
232
gsSPEndDisplayList(),
233
};
234
235
// 0x050033B0 - 0x050033D0
236
const Gfx capswitch_seg5_dl_050033B0[] = {
237
gsSPLight(&capswitch_seg5_lights_05001C30.l, 1),
238
gsSPLight(&capswitch_seg5_lights_05001C30.a, 2),
239
gsSPDisplayList(capswitch_seg5_dl_05003280),
240
gsSPEndDisplayList(),
241
};
242
243