158 s32 dxRight, dxLeft, dyTop, dyBottom;
170 for (i = 0; i < 40; i++) {
173 G_IM_FMT_RGBA, G_IM_SIZ_16b,
176 G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP,
177 G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
182 G_TX_RENDERTILE, 0, 0, 0x1000, 0x0400);
191 gDPSetRenderMode(
gMainGfxPos++, CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | G_RM_PASS, CVG_DST_SAVE | ZMODE_OPA | FORCE_BL | GBL_c2(G_BL_CLR_IN, G_BL_0, G_BL_CLR_IN, G_BL_1));
195 guFrustumF(mtx, -80.0f, 80.0f, 60.0f, -60.0f, 160.0f, 640.0f, 1.0f);
198 gSPClearGeometryMode(
gMainGfxPos++, G_CULL_BOTH | G_LIGHTING);
199 gSPSetGeometryMode(
gMainGfxPos++, G_SHADE | G_SHADING_SMOOTH);
202 for (j = 0; j < 12; j++) {
220 for (i = 0; i < 18; i++) {
240 (((((x + dxRight + 16) - (x + dxLeft)) + 1) * 2) + 7) >> 3, 0x0000,
242 G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD,
243 G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD);
248 (x + dxRight + 16) * 4,
249 (y + dyBottom + 16) * 4);
253 (((((x + dxRight + 16) - (x + dxLeft)) + 1) * 2) + 7) >> 3, 0x0000,
255 G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD,
256 G_TX_NOMIRROR | G_TX_CLAMP, 6, G_TX_NOLOD);
258 0, 0, (x + dxRight + 31) * 4, (y + dyBottom + 31) * 4);
260 if (edgeX && edgeY) {
273 gSPModifyVertex(
gMainGfxPos++, vtxIdx , G_MWO_POINT_XYSCREEN, ((x + dxLeft ) << 0x12) | ((y + dyTop ) * 4 + data->
unk_23[i ][j ]));
274 gSPModifyVertex(
gMainGfxPos++, vtxIdx + 1, G_MWO_POINT_XYSCREEN, ((x + dxRight + 0x10) << 0x12) | ((y + dyTop ) * 4 + data->
unk_23[i + 1][j ]));
275 gSPModifyVertex(
gMainGfxPos++, vtxIdx + 2, G_MWO_POINT_XYSCREEN, ((x + dxLeft ) << 0x12) | ((y + dyBottom + 0x10) * 4 + data->
unk_23[i ][j + 1]));
276 gSPModifyVertex(
gMainGfxPos++, vtxIdx + 3, G_MWO_POINT_XYSCREEN, ((x + dxRight + 0x10) << 0x12) | ((y + dyBottom + 0x10) * 4 + data->
unk_23[i + 1][j + 1]));
277 gSP2Triangles(
gMainGfxPos++, vtxIdx, vtxIdx + 3, vtxIdx + 1, 0, vtxIdx, vtxIdx + 2, vtxIdx + 3, 0);