Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/levels/ssl/pyramid_elevator/model.inc.c
7853 views
1
// 0x07022DA8 - 0x07022DC0
2
static const Lights1 ssl_seg7_lights_07022DA8 = gdSPDefLights1(
3
0x7f, 0x7f, 0x7f,
4
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
5
);
6
7
// 0x07022DC0 - 0x07022E80
8
static const Vtx ssl_seg7_vertex_07022DC0[] = {
9
{{{ 512, 0, -511}, 0, { 3034, -1054}, {0x2a, 0x54, 0xac, 0xff}}},
10
{{{ -511, -50, -511}, 0, { -1052, -1054}, {0xd6, 0xac, 0xac, 0xff}}},
11
{{{ -511, 0, -511}, 0, { -1052, -1054}, {0x99, 0x33, 0xcd, 0xff}}},
12
{{{ 512, -50, -511}, 0, { 3034, -1054}, {0x67, 0xcd, 0xcd, 0xff}}},
13
{{{ 512, 0, 512}, 0, { 3034, 3032}, {0x67, 0x33, 0x33, 0xff}}},
14
{{{ 512, -50, 512}, 0, { 3034, 3032}, {0x2a, 0xac, 0x54, 0xff}}},
15
{{{ -511, -50, 512}, 0, { -1052, 3032}, {0x99, 0xcd, 0x33, 0xff}}},
16
{{{ -511, 0, 512}, 0, { -1052, 3032}, {0xd6, 0x54, 0x54, 0xff}}},
17
{{{ -511, 0, 512}, 0, { -1052, 2010}, {0xd6, 0x54, 0x54, 0xff}}},
18
{{{ 512, 0, -511}, 0, { 3034, -2076}, {0x2a, 0x54, 0xac, 0xff}}},
19
{{{ -511, 0, -511}, 0, { -1052, -2076}, {0x99, 0x33, 0xcd, 0xff}}},
20
{{{ 512, 0, 512}, 0, { 3034, 2010}, {0x67, 0x33, 0x33, 0xff}}},
21
};
22
23
// 0x07022E80 - 0x07022F70
24
static const Vtx ssl_seg7_vertex_07022E80[] = {
25
{{{ 512, 256, -511}, 0, { -4118, 0}, {0x21, 0x65, 0xbd, 0xff}}},
26
{{{ 512, 205, -511}, 0, { -4118, 480}, {0x43, 0x9b, 0xdf, 0xff}}},
27
{{{ -511, 205, -511}, 0, { 6100, 480}, {0xdf, 0x9b, 0xbd, 0xff}}},
28
{{{ 512, 256, 512}, 0, { -4630, 0}, {0x43, 0x65, 0x21, 0xff}}},
29
{{{ 512, 205, -511}, 0, { 5590, 478}, {0x43, 0x9b, 0xdf, 0xff}}},
30
{{{ 512, 256, -511}, 0, { 5590, 0}, {0x21, 0x65, 0xbd, 0xff}}},
31
{{{ 512, 205, 512}, 0, { -4630, 480}, {0x21, 0x9b, 0x43, 0xff}}},
32
{{{ -511, 256, 512}, 0, { -4118, 0}, {0xdf, 0x65, 0x43, 0xff}}},
33
{{{ 512, 205, 512}, 0, { 6100, 478}, {0x21, 0x9b, 0x43, 0xff}}},
34
{{{ 512, 256, 512}, 0, { 6100, 0}, {0x43, 0x65, 0x21, 0xff}}},
35
{{{ -511, 205, 512}, 0, { -4118, 480}, {0xbd, 0x9b, 0x21, 0xff}}},
36
{{{ -511, 256, -511}, 0, { -4630, 0}, {0xbd, 0x65, 0xdf, 0xff}}},
37
{{{ -511, 205, 512}, 0, { 5590, 478}, {0xbd, 0x9b, 0x21, 0xff}}},
38
{{{ -511, 256, 512}, 0, { 5590, 0}, {0xdf, 0x65, 0x43, 0xff}}},
39
{{{ -511, 205, -511}, 0, { -4630, 480}, {0xdf, 0x9b, 0xbd, 0xff}}},
40
};
41
42
// 0x07022F70 - 0x07023060
43
static const Vtx ssl_seg7_vertex_07022F70[] = {
44
{{{ -460, 256, -460}, 0, { -4118, 0}, {0x21, 0x65, 0x43, 0xff}}},
45
{{{ -460, 205, -460}, 0, { -4118, 478}, {0x43, 0x9b, 0x21, 0xff}}},
46
{{{ 461, 205, -460}, 0, { 5078, 478}, {0xdf, 0x9b, 0x43, 0xff}}},
47
{{{ 512, 256, -511}, 0, { -4118, 0}, {0x21, 0x65, 0xbd, 0xff}}},
48
{{{ -511, 205, -511}, 0, { 6100, 480}, {0xdf, 0x9b, 0xbd, 0xff}}},
49
{{{ -511, 256, -511}, 0, { 6100, 0}, {0xbd, 0x65, 0xdf, 0xff}}},
50
{{{ 461, 256, 461}, 0, { -4118, 0}, {0xdf, 0x65, 0xbd, 0xff}}},
51
{{{ -460, 205, 461}, 0, { 5078, 480}, {0x21, 0x9b, 0xbd, 0xff}}},
52
{{{ -460, 256, 461}, 0, { 5078, 0}, {0x43, 0x65, 0xdf, 0xff}}},
53
{{{ 461, 205, 461}, 0, { -4118, 478}, {0xbd, 0x9b, 0xdf, 0xff}}},
54
{{{ -460, 256, 461}, 0, { -3606, 0}, {0x43, 0x65, 0xdf, 0xff}}},
55
{{{ -460, 205, 461}, 0, { -3606, 480}, {0x21, 0x9b, 0xbd, 0xff}}},
56
{{{ -460, 205, -460}, 0, { 5588, 478}, {0x43, 0x9b, 0x21, 0xff}}},
57
{{{ -460, 256, -460}, 0, { 5588, 0}, {0x21, 0x65, 0x43, 0xff}}},
58
{{{ 461, 256, -460}, 0, { 5078, 0}, {0xbd, 0x65, 0x21, 0xff}}},
59
};
60
61
// 0x07023060 - 0x07023150
62
static const Vtx ssl_seg7_vertex_07023060[] = {
63
{{{ 512, 256, 512}, 0, { 6100, -5142}, {0x43, 0x65, 0x21, 0xff}}},
64
{{{ -460, 256, 461}, 0, { 5588, 4564}, {0x43, 0x65, 0xdf, 0xff}}},
65
{{{ -511, 256, 512}, 0, { 6100, 5076}, {0xdf, 0x65, 0x43, 0xff}}},
66
{{{ 461, 256, -460}, 0, { -4628, 0}, {0xbd, 0x65, 0x21, 0xff}}},
67
{{{ 461, 205, 461}, 0, { 4566, 480}, {0xbd, 0x9b, 0xdf, 0xff}}},
68
{{{ 461, 256, 461}, 0, { 4566, 0}, {0xdf, 0x65, 0xbd, 0xff}}},
69
{{{ 461, 205, -460}, 0, { -4628, 478}, {0xdf, 0x9b, 0x43, 0xff}}},
70
{{{ -511, 205, -511}, 0, { -4118, 6098}, {0xdf, 0x9b, 0xbd, 0xff}}},
71
{{{ -460, 205, 461}, 0, { -3608, -3610}, {0x21, 0x9b, 0xbd, 0xff}}},
72
{{{ -511, 205, 512}, 0, { -4118, -4120}, {0xbd, 0x9b, 0x21, 0xff}}},
73
{{{ 512, 205, -511}, 0, { 6100, 6098}, {0x43, 0x9b, 0xdf, 0xff}}},
74
{{{ -460, 205, -460}, 0, { -3608, 5588}, {0x43, 0x9b, 0x21, 0xff}}},
75
{{{ 461, 205, -460}, 0, { 5590, 5588}, {0xdf, 0x9b, 0x43, 0xff}}},
76
{{{ 461, 205, 461}, 0, { 5590, -3610}, {0xbd, 0x9b, 0xdf, 0xff}}},
77
{{{ 512, 205, 512}, 0, { 6100, -4120}, {0x21, 0x9b, 0x43, 0xff}}},
78
};
79
80
// 0x07023150 - 0x070231D0
81
static const Vtx ssl_seg7_vertex_07023150[] = {
82
{{{ 512, 256, -511}, 0, { -4118, -5142}, {0x21, 0x65, 0xbd, 0xff}}},
83
{{{ 461, 256, 461}, 0, { 5588, -4632}, {0xdf, 0x65, 0xbd, 0xff}}},
84
{{{ 512, 256, 512}, 0, { 6100, -5142}, {0x43, 0x65, 0x21, 0xff}}},
85
{{{ -511, 256, 512}, 0, { 6100, 5076}, {0xdf, 0x65, 0x43, 0xff}}},
86
{{{ -460, 256, -460}, 0, { -3606, 4566}, {0x21, 0x65, 0x43, 0xff}}},
87
{{{ -511, 256, -511}, 0, { -4118, 5076}, {0xbd, 0x65, 0xdf, 0xff}}},
88
{{{ -460, 256, 461}, 0, { 5588, 4564}, {0x43, 0x65, 0xdf, 0xff}}},
89
{{{ 461, 256, -460}, 0, { -3606, -4632}, {0xbd, 0x65, 0x21, 0xff}}},
90
};
91
92
// 0x070231D0 - 0x07023268
93
static const Gfx ssl_seg7_dl_070231D0[] = {
94
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_0900A800),
95
gsDPLoadSync(),
96
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
97
gsSPLight(&ssl_seg7_lights_07022DA8.l, 1),
98
gsSPLight(&ssl_seg7_lights_07022DA8.a, 2),
99
gsSPVertex(ssl_seg7_vertex_07022DC0, 12, 0),
100
gsSP2Triangles( 0, 1, 2, 0x0, 0, 3, 1, 0x0),
101
gsSP2Triangles( 4, 3, 0, 0x0, 1, 3, 5, 0x0),
102
gsSP2Triangles( 4, 5, 3, 0x0, 1, 5, 6, 0x0),
103
gsSP2Triangles( 2, 1, 6, 0x0, 2, 6, 7, 0x0),
104
gsSP2Triangles( 7, 6, 5, 0x0, 7, 5, 4, 0x0),
105
gsSP2Triangles( 8, 9, 10, 0x0, 8, 11, 9, 0x0),
106
gsSPEndDisplayList(),
107
};
108
109
// 0x07023268 - 0x070233A8
110
static const Gfx ssl_seg7_dl_07023268[] = {
111
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_09001000),
112
gsDPLoadSync(),
113
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
114
gsSPVertex(ssl_seg7_vertex_07022E80, 15, 0),
115
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
116
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
117
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
118
gsSP1Triangle(11, 14, 12, 0x0),
119
gsSPVertex(ssl_seg7_vertex_07022F70, 15, 0),
120
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
121
gsSP2Triangles( 6, 7, 8, 0x0, 6, 9, 7, 0x0),
122
gsSP2Triangles(10, 11, 12, 0x0, 10, 12, 13, 0x0),
123
gsSP1Triangle( 0, 2, 14, 0x0),
124
gsSPVertex(ssl_seg7_vertex_07023060, 15, 0),
125
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
126
gsSP2Triangles( 3, 6, 4, 0x0, 7, 8, 9, 0x0),
127
gsSP2Triangles(10, 11, 7, 0x0, 7, 11, 8, 0x0),
128
gsSP2Triangles(10, 12, 11, 0x0, 9, 8, 13, 0x0),
129
gsSP2Triangles( 9, 13, 14, 0x0, 14, 12, 10, 0x0),
130
gsSP1Triangle(14, 13, 12, 0x0),
131
gsSPVertex(ssl_seg7_vertex_07023150, 8, 0),
132
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
133
gsSP2Triangles( 2, 1, 6, 0x0, 3, 6, 4, 0x0),
134
gsSP2Triangles( 5, 4, 7, 0x0, 5, 7, 0, 0x0),
135
gsSP1Triangle( 0, 7, 1, 0x0),
136
gsSPEndDisplayList(),
137
};
138
139
// 0x070233A8 - 0x07023458
140
const Gfx ssl_seg7_dl_070233A8[] = {
141
gsDPPipeSync(),
142
gsDPSetCycleType(G_CYC_2CYCLE),
143
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
144
gsDPSetDepthSource(G_ZS_PIXEL),
145
gsDPSetFogColor(0, 0, 0, 255),
146
gsSPFogFactor(0x0E49, 0xF2B7), // This isn't gsSPFogPosition since there is no valid min/max pair that corresponds to 0x0E49F2B7
147
gsSPSetGeometryMode(G_FOG),
148
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
149
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),
150
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
151
gsDPTileSync(),
152
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
153
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
154
gsSPDisplayList(ssl_seg7_dl_070231D0),
155
gsSPDisplayList(ssl_seg7_dl_07023268),
156
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
157
gsDPPipeSync(),
158
gsDPSetCycleType(G_CYC_1CYCLE),
159
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_NOOP2),
160
gsSPClearGeometryMode(G_FOG),
161
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
162
gsSPEndDisplayList(),
163
};
164
165
// 0x07023458 - 0x07023558
166
static const Vtx ssl_seg7_vertex_07023458[] = {
167
{{{ -485, 0, -485}, 0, { 96, 990}, {0xff, 0xff, 0xff, 0xff}}},
168
{{{ -485, 205, 486}, 0, { 9804, -1054}, {0xff, 0xff, 0xff, 0xff}}},
169
{{{ -485, 0, 486}, 0, { 9804, 990}, {0xff, 0xff, 0xff, 0xff}}},
170
{{{ 486, 0, 486}, 0, { 9804, 990}, {0xff, 0xff, 0xff, 0xff}}},
171
{{{ -485, 0, 486}, 0, { 96, 990}, {0xff, 0xff, 0xff, 0xff}}},
172
{{{ -485, 205, 486}, 0, { 96, -1054}, {0xff, 0xff, 0xff, 0xff}}},
173
{{{ 486, 205, 486}, 0, { 9804, -1054}, {0xff, 0xff, 0xff, 0xff}}},
174
{{{ 486, 0, 486}, 0, { 96, 990}, {0xff, 0xff, 0xff, 0xff}}},
175
{{{ 486, 205, 486}, 0, { 96, -1054}, {0xff, 0xff, 0xff, 0xff}}},
176
{{{ 486, 205, -485}, 0, { 9804, -1054}, {0xff, 0xff, 0xff, 0xff}}},
177
{{{ 486, 0, -485}, 0, { 9804, 990}, {0xff, 0xff, 0xff, 0xff}}},
178
{{{ -485, 0, -485}, 0, { 9804, 990}, {0xff, 0xff, 0xff, 0xff}}},
179
{{{ 486, 205, -485}, 0, { 96, -1054}, {0xff, 0xff, 0xff, 0xff}}},
180
{{{ -485, 205, -485}, 0, { 9804, -1054}, {0xff, 0xff, 0xff, 0xff}}},
181
{{{ 486, 0, -485}, 0, { 96, 990}, {0xff, 0xff, 0xff, 0xff}}},
182
{{{ -485, 205, -485}, 0, { 96, -1054}, {0xff, 0xff, 0xff, 0xff}}},
183
};
184
185
// 0x07023558 - 0x070235C0
186
static const Gfx ssl_seg7_dl_07023558[] = {
187
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_09008800),
188
gsDPLoadSync(),
189
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
190
gsSPVertex(ssl_seg7_vertex_07023458, 16, 0),
191
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
192
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
193
gsSP2Triangles( 7, 9, 10, 0x0, 11, 12, 13, 0x0),
194
gsSP2Triangles(11, 14, 12, 0x0, 0, 15, 1, 0x0),
195
gsSPEndDisplayList(),
196
};
197
198
// 0x070235C0 - 0x07023678
199
const Gfx ssl_seg7_dl_070235C0[] = {
200
gsDPPipeSync(),
201
gsDPSetCycleType(G_CYC_2CYCLE),
202
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_TEX_EDGE2),
203
gsDPSetDepthSource(G_ZS_PIXEL),
204
gsDPSetFogColor(0, 0, 0, 255),
205
gsSPFogFactor(0x0E49, 0xF2B7), // This isn't gsSPFogPosition since there is no valid min/max pair that corresponds to 0x0E49F2B7
206
gsSPSetGeometryMode(G_FOG),
207
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_PASS2),
208
gsSPClearGeometryMode(G_LIGHTING | G_CULL_BACK),
209
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),
210
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
211
gsDPTileSync(),
212
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 8, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 5, G_TX_NOLOD),
213
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
214
gsSPDisplayList(ssl_seg7_dl_07023558),
215
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
216
gsDPPipeSync(),
217
gsDPSetCycleType(G_CYC_1CYCLE),
218
gsDPSetRenderMode(G_RM_AA_ZB_TEX_EDGE, G_RM_NOOP2),
219
gsSPClearGeometryMode(G_FOG),
220
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
221
gsSPSetGeometryMode(G_LIGHTING | G_CULL_BACK),
222
gsSPEndDisplayList(),
223
};
224
225