Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/levels/ssl/moving_pyramid_wall/model.inc.c
7853 views
1
// 0x07022AA0 - 0x07022AB8
2
static const Lights1 ssl_seg7_lights_07022AA0 = gdSPDefLights1(
3
0x7f, 0x7f, 0x7f,
4
0xff, 0xff, 0xff, 0x28, 0x28, 0x28
5
);
6
7
// 0x07022AB8 - 0x07022BB8
8
static const Vtx ssl_seg7_vertex_07022AB8[] = {
9
{{{ -63, 0, 307}, 0, { 2420, 990}, {0x99, 0xcd, 0x33, 0xff}}},
10
{{{ -63, 512, 307}, 0, { 2420, -1054}, {0xd6, 0x54, 0x54, 0xff}}},
11
{{{ -63, 512, -306}, 0, { 0, -1054}, {0x99, 0x33, 0xcd, 0xff}}},
12
{{{ -63, 0, -306}, 0, { 990, 990}, {0xd6, 0xac, 0xac, 0xff}}},
13
{{{ -63, 512, -306}, 0, { 990, -1054}, {0x99, 0x33, 0xcd, 0xff}}},
14
{{{ 64, 512, -306}, 0, { 478, -1054}, {0x2a, 0x54, 0xac, 0xff}}},
15
{{{ 64, 0, -306}, 0, { 478, 990}, {0x67, 0xcd, 0xcd, 0xff}}},
16
{{{ 64, 0, -306}, 0, { 2420, 990}, {0x67, 0xcd, 0xcd, 0xff}}},
17
{{{ 64, 512, 307}, 0, { 0, -1054}, {0x67, 0x33, 0x33, 0xff}}},
18
{{{ 64, 0, 307}, 0, { 0, 990}, {0x2a, 0xac, 0x54, 0xff}}},
19
{{{ 64, 512, -306}, 0, { 2420, -1054}, {0x2a, 0x54, 0xac, 0xff}}},
20
{{{ 64, 0, 307}, 0, { 990, 990}, {0x2a, 0xac, 0x54, 0xff}}},
21
{{{ -63, 512, 307}, 0, { 478, -1054}, {0xd6, 0x54, 0x54, 0xff}}},
22
{{{ -63, 0, 307}, 0, { 478, 990}, {0x99, 0xcd, 0x33, 0xff}}},
23
{{{ 64, 512, 307}, 0, { 990, -1054}, {0x67, 0x33, 0x33, 0xff}}},
24
{{{ -63, 0, -306}, 0, { 0, 990}, {0xd6, 0xac, 0xac, 0xff}}},
25
};
26
27
// 0x07022BB8 - 0x07022C38
28
static const Vtx ssl_seg7_vertex_07022BB8[] = {
29
{{{ 64, 0, 307}, 0, { 990, 1464}, {0x2a, 0xac, 0x54, 0xff}}},
30
{{{ -63, 0, 307}, 0, { 480, 1464}, {0x99, 0xcd, 0x33, 0xff}}},
31
{{{ -63, 0, -306}, 0, { 480, -986}, {0xd6, 0xac, 0xac, 0xff}}},
32
{{{ 64, 0, -306}, 0, { 990, -986}, {0x67, 0xcd, 0xcd, 0xff}}},
33
{{{ 64, 512, -306}, 0, { 990, -986}, {0x2a, 0x54, 0xac, 0xff}}},
34
{{{ -63, 512, 307}, 0, { 480, 1464}, {0xd6, 0x54, 0x54, 0xff}}},
35
{{{ 64, 512, 307}, 0, { 990, 1464}, {0x67, 0x33, 0x33, 0xff}}},
36
{{{ -63, 512, -306}, 0, { 480, -986}, {0x99, 0x33, 0xcd, 0xff}}},
37
};
38
39
// 0x07022C38 - 0x07022CB0
40
static const Gfx ssl_seg7_dl_07022C38[] = {
41
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_09000800),
42
gsDPLoadSync(),
43
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
44
gsSPLight(&ssl_seg7_lights_07022AA0.l, 1),
45
gsSPLight(&ssl_seg7_lights_07022AA0.a, 2),
46
gsSPVertex(ssl_seg7_vertex_07022AB8, 16, 0),
47
gsSP2Triangles( 0, 1, 2, 0x0, 3, 4, 5, 0x0),
48
gsSP2Triangles( 3, 5, 6, 0x0, 7, 8, 9, 0x0),
49
gsSP2Triangles( 7, 10, 8, 0x0, 11, 12, 13, 0x0),
50
gsSP2Triangles(11, 14, 12, 0x0, 0, 2, 15, 0x0),
51
gsSPEndDisplayList(),
52
};
53
54
// 0x07022CB0 - 0x07022CF8
55
static const Gfx ssl_seg7_dl_07022CB0[] = {
56
gsDPSetTextureImage(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, generic_0900A800),
57
gsDPLoadSync(),
58
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, 32 * 32 - 1, CALC_DXT(32, G_IM_SIZ_16b_BYTES)),
59
gsSPVertex(ssl_seg7_vertex_07022BB8, 8, 0),
60
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
61
gsSP2Triangles( 4, 5, 6, 0x0, 4, 7, 5, 0x0),
62
gsSPEndDisplayList(),
63
};
64
65
// 0x07022CF8 - 0x07022DA8
66
const Gfx ssl_seg7_dl_07022CF8[] = {
67
gsDPPipeSync(),
68
gsDPSetCycleType(G_CYC_2CYCLE),
69
gsDPSetRenderMode(G_RM_FOG_SHADE_A, G_RM_AA_ZB_OPA_SURF2),
70
gsDPSetDepthSource(G_ZS_PIXEL),
71
gsDPSetFogColor(0, 0, 0, 255),
72
gsSPFogFactor(0x0E49, 0xF2B7), // This isn't gsSPFogPosition since there is no valid min/max pair that corresponds to 0x0E49F2B7
73
gsSPSetGeometryMode(G_FOG),
74
gsDPSetCombineMode(G_CC_MODULATERGB, G_CC_PASS2),
75
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),
76
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_ON),
77
gsDPTileSync(),
78
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),
79
gsDPSetTileSize(0, 0, 0, (32 - 1) << G_TEXTURE_IMAGE_FRAC, (32 - 1) << G_TEXTURE_IMAGE_FRAC),
80
gsSPDisplayList(ssl_seg7_dl_07022C38),
81
gsSPDisplayList(ssl_seg7_dl_07022CB0),
82
gsSPTexture(0xFFFF, 0xFFFF, 0, G_TX_RENDERTILE, G_OFF),
83
gsDPPipeSync(),
84
gsDPSetCycleType(G_CYC_1CYCLE),
85
gsDPSetRenderMode(G_RM_AA_ZB_OPA_SURF, G_RM_NOOP2),
86
gsSPClearGeometryMode(G_FOG),
87
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
88
gsSPEndDisplayList(),
89
};
90
91