diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index ba38ec8ba..424171ab3 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -759,21 +759,295 @@ void dDlst_alphaModelData_c::set(u8 type, Mtx mtx, u8 alpha) { mAlpha = alpha; } -char l_backRevZMat[0x41] ALIGN_DECL(32) = {}; -char l_frontZMat[0x3c] ALIGN_DECL(32) = {}; -char l_frontNoZSubMat[0x2a] ALIGN_DECL(32) = {}; +char l_backRevZMat[] ALIGN_DECL(32) = { + 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, +}; +char l_frontZMat[] ALIGN_DECL(32) = { + 0x61, 0x40, 0x00, 0x00, 0x07, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +char l_frontNoZSubMat[] ALIGN_DECL(32) = { + 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x09, 0x35, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; -Vec l_bonboriPos[0x2a] = {}; -char l_bonboriDL[0xa7] ALIGN_DECL(32) = {}; +Vec l_bonboriPos[] = { + {0.0f, -200.0f, 0.0f}, + {0.0f, 200.0f, 0.0f}, + {100.0f, -173.205093f, 0.0f}, + {160.02063f, -100.0f, -66.282722f}, + {200.0f, 0.000006f, 0.0f}, + {160.020615f, 100.000008f, -66.282715f}, + {99.999992f, 173.205093f, 0.0f}, + {70.710678f, -173.205093f, -70.710678f}, + {66.282715f, -100.0f, -160.02063f}, + {141.421356f, 0.000006f, -141.421356f}, + {66.282707f, 100.000008f, -160.020615f}, + {70.71067f, 173.205093f, -70.71067f}, + {0.0f, -173.205093f, -100.0f}, + {-66.282722f, -100.0f, -160.02063f}, + {0.0f, 0.000006f, -200.0f}, + {-66.282715f, 100.000008f, -160.020615f}, + {0.0f, 173.205093f, -99.999985f}, + {-70.710678f, -173.205093f, -70.710678f}, + {-160.02063f, -100.0f, -66.282715f}, + {-141.421356f, 0.000006f, -141.421356f}, + {-160.020615f, 100.000008f, -66.282707f}, + {-70.710663f, 173.205093f, -70.710663f}, + {-100.0f, -173.205093f, 0.0f}, + {-160.02063f, -100.0f, 66.282722f}, + {-200.0f, 0.000006f, 0.0f}, + {-160.020615f, 100.000008f, 66.282715f}, + {-99.999985f, 173.205093f, 0.0f}, + {-70.710678f, -173.205093f, 70.710678f}, + {-66.282715f, -100.0f, 160.02063f}, + {-141.421356f, 0.000006f, 141.421356f}, + {-66.282707f, 100.000008f, 160.020615f}, + {-70.710663f, 173.205093f, 70.710663f}, + {0.0f, -173.205093f, 100.0f}, + {66.282722f, -100.0f, 160.02063f}, + {0.0f, 0.000006f, 200.0f}, + {66.282715f, 100.000008f, 160.020615f}, + {0.0f, 173.205093f, 99.999985f}, + {70.710678f, -173.205093f, 70.710678f}, + {160.02063f, -100.0f, 66.282715f}, + {141.421356f, 0.000006f, 141.421356f}, + {160.020615f, 100.000008f, 66.282707f}, + {70.710663f, 173.205093f, 70.710663f}, +}; +char l_bonboriDL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x18, 0x0C, 0x07, 0x08, 0x03, 0x09, 0x04, 0x05, 0x28, 0x06, 0x29, 0x01, 0x24, 0x1F, + 0x1E, 0x19, 0x1D, 0x18, 0x17, 0x12, 0x16, 0x11, 0x00, 0x0C, 0x07, 0x98, 0x00, 0x0B, 0x03, 0x07, + 0x02, 0x00, 0x25, 0x20, 0x21, 0x1C, 0x22, 0x1D, 0x1E, 0x98, 0x00, 0x0B, 0x11, 0x0C, 0x0D, 0x08, + 0x0E, 0x09, 0x0A, 0x05, 0x0B, 0x06, 0x01, 0x98, 0x00, 0x0A, 0x11, 0x0D, 0x12, 0x13, 0x18, 0x14, + 0x19, 0x1A, 0x1F, 0x01, 0x98, 0x00, 0x09, 0x02, 0x25, 0x26, 0x21, 0x27, 0x22, 0x23, 0x1E, 0x24, + 0x98, 0x00, 0x09, 0x24, 0x29, 0x23, 0x28, 0x27, 0x04, 0x26, 0x03, 0x02, 0x98, 0x00, 0x08, 0x0D, + 0x0E, 0x13, 0x0F, 0x14, 0x15, 0x1A, 0x01, 0x98, 0x00, 0x06, 0x1D, 0x1C, 0x17, 0x1B, 0x16, 0x00, + 0x98, 0x00, 0x06, 0x0E, 0x0A, 0x0F, 0x10, 0x15, 0x01, 0x98, 0x00, 0x04, 0x1C, 0x20, 0x1B, 0x00, + 0x98, 0x00, 0x04, 0x0A, 0x0B, 0x10, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; -Vec l_s_beam_checkPos[0x28] = {}; -char l_s_beam_checkDL[0xf8] ALIGN_DECL(32) = {}; +Vec l_s_beam_checkPos[] = { + {-97.608604f, -300.359589f, -0.000003f}, + {-255.533127f, -185.632721f, 0.000074f}, + {97.596741f, -300.359589f, -0.000003f}, + {255.521301f, -185.632492f, 0.000074f}, + {315.842987f, 0.00022f, 0.000074f}, + {255.521301f, 185.63269f, 0.000074f}, + {97.596741f, 300.359558f, 0.000074f}, + {-97.608643f, 300.359558f, 0.000074f}, + {-255.533127f, 185.632385f, 0.000074f}, + {-315.855103f, 0.000068f, 0.000074f}, + {449.556976f, 326.593872f, 9589.144531f}, + {-449.568787f, 326.593262f, 9589.144531f}, + {-171.723236f, 528.439392f, 9589.144531f}, + {171.711975f, 528.439392f, 9589.144531f}, + {555.685181f, 0.000297f, 9589.144531f}, + {-555.697266f, 0.000068f, 9589.144531f}, + {449.556976f, -326.593475f, 9589.144531f}, + {-449.568787f, -326.593842f, 9589.144531f}, + {171.711975f, -528.439453f, 9589.144531f}, + {-171.723236f, -528.439453f, 9589.144531f}, + {-178.75293f, -245.999161f, -0.000003f}, + {-0.005948f, -304.071503f, -0.000003f}, + {178.741028f, -245.999008f, -0.000003f}, + {289.212738f, -93.963249f, 0.000074f}, + {289.212738f, 93.963455f, 0.000074f}, + {178.741028f, 245.99913f, 0.000074f}, + {-0.005986f, 304.071564f, 0.000074f}, + {-178.75293f, 245.998978f, 0.000074f}, + {-289.224701f, 93.963226f, 0.000074f}, + {-289.224701f, -93.963333f, 0.000074f}, + {-326.284088f, 449.037415f, 9589.144531f}, + {-0.00591f, 555.040955f, 9589.144531f}, + {326.272583f, 449.037415f, 9589.144531f}, + {527.922791f, 171.517319f, 9589.144531f}, + {-527.934937f, 171.516785f, 9589.144531f}, + {527.922791f, -171.516815f, 9589.144531f}, + {-527.934937f, -171.517044f, 9589.144531f}, + {326.272583f, -449.037384f, 9589.144531f}, + {-0.005872f, -555.040894f, 9589.144531f}, + {-326.284027f, -449.037384f, 9589.144531f}, +}; +char l_s_beam_checkDL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x0E, 0x26, 0x13, 0x12, 0x27, 0x25, 0x11, 0x10, 0x24, 0x23, 0x0F, 0x0E, 0x22, 0x21, + 0x0A, 0x98, 0x00, 0x08, 0x1F, 0x0D, 0x0C, 0x20, 0x1E, 0x0A, 0x0B, 0x22, 0x98, 0x00, 0x07, 0x06, + 0x1A, 0x19, 0x1B, 0x05, 0x08, 0x1C, 0x98, 0x00, 0x06, 0x17, 0x04, 0x09, 0x18, 0x1C, 0x05, 0x98, + 0x00, 0x05, 0x02, 0x16, 0x15, 0x14, 0x00, 0x98, 0x00, 0x05, 0x14, 0x16, 0x01, 0x03, 0x17, 0x98, + 0x00, 0x04, 0x01, 0x17, 0x1D, 0x09, 0x98, 0x00, 0x04, 0x0B, 0x08, 0x1E, 0x1B, 0x98, 0x00, 0x04, + 0x0C, 0x07, 0x1F, 0x1A, 0x98, 0x00, 0x04, 0x0D, 0x06, 0x20, 0x19, 0x98, 0x00, 0x04, 0x0A, 0x05, + 0x21, 0x18, 0x98, 0x00, 0x04, 0x0F, 0x09, 0x22, 0x1C, 0x98, 0x00, 0x04, 0x0E, 0x04, 0x23, 0x17, + 0x98, 0x00, 0x04, 0x11, 0x01, 0x24, 0x1D, 0x98, 0x00, 0x04, 0x10, 0x03, 0x25, 0x16, 0x98, 0x00, + 0x04, 0x12, 0x02, 0x26, 0x15, 0x98, 0x00, 0x04, 0x13, 0x00, 0x27, 0x14, 0x98, 0x00, 0x04, 0x0A, + 0x20, 0x05, 0x19, 0x98, 0x00, 0x04, 0x0E, 0x21, 0x04, 0x18, 0x98, 0x00, 0x04, 0x10, 0x23, 0x03, + 0x17, 0x98, 0x00, 0x04, 0x12, 0x25, 0x02, 0x16, 0x98, 0x00, 0x04, 0x11, 0x27, 0x01, 0x14, 0x98, + 0x00, 0x04, 0x0F, 0x24, 0x09, 0x1D, 0x98, 0x00, 0x04, 0x0B, 0x22, 0x08, 0x1C, 0x98, 0x00, 0x04, + 0x0C, 0x1E, 0x07, 0x1B, 0x98, 0x00, 0x04, 0x13, 0x26, 0x00, 0x15, 0x98, 0x00, 0x04, 0x0D, 0x1F, + 0x06, 0x1A, 0x98, 0x00, 0x03, 0x1A, 0x07, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; -Vec l_cubePos[0x08] = {}; -char l_cubeDL[0x4a] ALIGN_DECL(32) = {}; +Vec l_cubePos[] = { + {-0.5f, -0.5f, -0.5f}, + {-0.5f, -0.5f, 0.5f}, + {-0.5f, 0.5f, -0.5f}, + {-0.5f, 0.5f, 0.5f}, + {0.5f, -0.5f, -0.5f}, + {0.5f, -0.5f, 0.5f}, + {0.5f, 0.5f, -0.5f}, + {0.5f, 0.5f, 0.5f}, +}; +char l_cubeDL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x04, 0x02, 0x06, 0x03, 0x07, 0x98, 0x00, 0x04, 0x04, 0x00, 0x05, 0x01, 0x98, 0x00, + 0x04, 0x04, 0x06, 0x00, 0x02, 0x98, 0x00, 0x04, 0x05, 0x07, 0x04, 0x06, 0x98, 0x00, 0x04, 0x01, + 0x03, 0x05, 0x07, 0x98, 0x00, 0x04, 0x00, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; -Vec l_bonbori2Pos[0x56] = {}; -char l_bonbori2DL[0x2a8] ALIGN_DECL(32) = {}; +Vec l_bonbori2Pos[] = { + {33.141357f, -92.387955f, -19.134167f}, + {19.134172f, -92.387955f, -33.141354f}, + {0.000003f, -92.387955f, -38.268341f}, + {-19.134167f, -92.387955f, -33.141357f}, + {-33.141354f, -92.387955f, -19.134171f}, + {-38.268341f, -92.387955f, -0.000002f}, + {-33.141357f, -92.387955f, 19.134169f}, + {-19.134172f, -92.387955f, 33.141357f}, + {-0.000001f, -92.387955f, 38.268341f}, + {19.134171f, -92.387955f, 33.141357f}, + {33.141357f, -92.387955f, 19.134172f}, + {38.268345f, -92.387955f, 0.0f}, + {61.23724f, -70.710678f, -35.355331f}, + {35.355339f, -70.710678f, -61.237236f}, + {0.000005f, -70.710678f, -70.71067f}, + {-35.355331f, -70.710678f, -61.23724f}, + {-61.237236f, -70.710678f, -35.355335f}, + {-70.71067f, -70.710678f, -0.000003f}, + {-61.23724f, -70.710678f, 35.355331f}, + {-35.355339f, -70.710678f, 61.23724f}, + {-0.000002f, -70.710678f, 70.71067f}, + {35.355335f, -70.710678f, 61.237244f}, + {61.237244f, -70.710678f, 35.355339f}, + {70.710678f, -70.710678f, 0.0f}, + {80.010307f, -38.268341f, -46.193966f}, + {46.193977f, -38.268341f, -80.0103f}, + {0.000007f, -38.268341f, -92.387939f}, + {-46.193966f, -38.268341f, -80.010307f}, + {-80.0103f, -38.268341f, -46.193974f}, + {-92.387939f, -38.268341f, -0.000004f}, + {-80.010307f, -38.268341f, 46.193966f}, + {-46.193977f, -38.268341f, 80.010307f}, + {-0.000002f, -38.268341f, 92.387939f}, + {46.193974f, -38.268341f, 80.010307f}, + {80.010307f, -38.268341f, 46.193977f}, + {92.387955f, -38.268341f, 0.0f}, + {86.602531f, 0.0f, -49.999989f}, + {50.0f, 0.0f, -86.602524f}, + {0.000007f, 0.0f, -99.999992f}, + {-49.999989f, 0.0f, -86.602531f}, + {-86.602524f, 0.0f, -49.999996f}, + {-99.999992f, 0.0f, -0.000005f}, + {-86.602531f, 0.0f, 49.999989f}, + {-50.0f, 0.0f, 86.602531f}, + {-0.000003f, 0.0f, 99.999992f}, + {49.999996f, 0.0f, 86.602531f}, + {86.602531f, 0.0f, 50.0f}, + {100.0f, 0.0f, 0.0f}, + {80.010307f, 38.268341f, -46.193966f}, + {46.193977f, 38.268341f, -80.0103f}, + {0.000007f, 38.268341f, -92.387939f}, + {-46.193966f, 38.268341f, -80.010307f}, + {-80.0103f, 38.268341f, -46.193974f}, + {-92.387939f, 38.268341f, -0.000004f}, + {-80.010307f, 38.268341f, 46.193966f}, + {-46.193977f, 38.268341f, 80.010307f}, + {-0.000002f, 38.268341f, 92.387939f}, + {46.193974f, 38.268341f, 80.010307f}, + {80.010307f, 38.268341f, 46.193977f}, + {92.387955f, 38.268341f, 0.0f}, + {61.23724f, 70.710678f, -35.355331f}, + {35.355339f, 70.710678f, -61.237236f}, + {0.000005f, 70.710678f, -70.71067f}, + {-35.355331f, 70.710678f, -61.23724f}, + {-61.237236f, 70.710678f, -35.355335f}, + {-70.71067f, 70.710678f, -0.000003f}, + {-61.23724f, 70.710678f, 35.355331f}, + {-35.355339f, 70.710678f, 61.23724f}, + {-0.000002f, 70.710678f, 70.71067f}, + {35.355335f, 70.710678f, 61.237244f}, + {61.237244f, 70.710678f, 35.355339f}, + {70.710678f, 70.710678f, 0.0f}, + {33.141357f, 92.387955f, -19.134167f}, + {19.134172f, 92.387955f, -33.141354f}, + {0.000003f, 92.387955f, -38.268341f}, + {-19.134167f, 92.387955f, -33.141357f}, + {-33.141354f, 92.387955f, -19.134171f}, + {-38.268341f, 92.387955f, -0.000002f}, + {-33.141357f, 92.387955f, 19.134169f}, + {-19.134172f, 92.387955f, 33.141357f}, + {-0.000001f, 92.387955f, 38.268341f}, + {19.134171f, 92.387955f, 33.141357f}, + {33.141357f, 92.387955f, 19.134172f}, + {38.268345f, 92.387955f, 0.0f}, + {0.0f, -100.0f, 0.0f}, + {0.0f, 100.0f, 0.0f}, +}; +char l_bonbori2DL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x04, 0x19, 0x18, 0x25, 0x24, 0x98, 0x00, 0x04, 0x1A, 0x19, 0x26, 0x25, 0x98, 0x00, + 0x04, 0x1B, 0x1A, 0x27, 0x26, 0x98, 0x00, 0x04, 0x1C, 0x1B, 0x28, 0x27, 0x98, 0x00, 0x04, 0x1D, + 0x1C, 0x29, 0x28, 0x98, 0x00, 0x04, 0x1E, 0x1D, 0x2A, 0x29, 0x98, 0x00, 0x04, 0x1F, 0x1E, 0x2B, + 0x2A, 0x98, 0x00, 0x04, 0x20, 0x1F, 0x2C, 0x2B, 0x98, 0x00, 0x04, 0x21, 0x20, 0x2D, 0x2C, 0x98, + 0x00, 0x04, 0x22, 0x21, 0x2E, 0x2D, 0x98, 0x00, 0x04, 0x23, 0x22, 0x2F, 0x2E, 0x98, 0x00, 0x04, + 0x18, 0x23, 0x24, 0x2F, 0x98, 0x00, 0x04, 0x25, 0x24, 0x31, 0x30, 0x98, 0x00, 0x04, 0x26, 0x25, + 0x32, 0x31, 0x98, 0x00, 0x04, 0x27, 0x26, 0x33, 0x32, 0x98, 0x00, 0x04, 0x28, 0x27, 0x34, 0x33, + 0x98, 0x00, 0x04, 0x29, 0x28, 0x35, 0x34, 0x98, 0x00, 0x04, 0x2A, 0x29, 0x36, 0x35, 0x98, 0x00, + 0x04, 0x2B, 0x2A, 0x37, 0x36, 0x98, 0x00, 0x04, 0x2C, 0x2B, 0x38, 0x37, 0x98, 0x00, 0x04, 0x2D, + 0x2C, 0x39, 0x38, 0x98, 0x00, 0x04, 0x2E, 0x2D, 0x3A, 0x39, 0x98, 0x00, 0x04, 0x2F, 0x2E, 0x3B, + 0x3A, 0x98, 0x00, 0x04, 0x24, 0x2F, 0x30, 0x3B, 0x98, 0x00, 0x04, 0x01, 0x00, 0x0D, 0x0C, 0x98, + 0x00, 0x04, 0x02, 0x01, 0x0E, 0x0D, 0x98, 0x00, 0x04, 0x03, 0x02, 0x0F, 0x0E, 0x98, 0x00, 0x04, + 0x04, 0x03, 0x10, 0x0F, 0x98, 0x00, 0x04, 0x05, 0x04, 0x11, 0x10, 0x98, 0x00, 0x04, 0x06, 0x05, + 0x12, 0x11, 0x98, 0x00, 0x04, 0x07, 0x06, 0x13, 0x12, 0x98, 0x00, 0x04, 0x08, 0x07, 0x14, 0x13, + 0x98, 0x00, 0x04, 0x09, 0x08, 0x15, 0x14, 0x98, 0x00, 0x04, 0x0A, 0x09, 0x16, 0x15, 0x98, 0x00, + 0x04, 0x0B, 0x0A, 0x17, 0x16, 0x98, 0x00, 0x04, 0x00, 0x0B, 0x0C, 0x17, 0x98, 0x00, 0x04, 0x0D, + 0x0C, 0x19, 0x18, 0x98, 0x00, 0x04, 0x0E, 0x0D, 0x1A, 0x19, 0x98, 0x00, 0x04, 0x0F, 0x0E, 0x1B, + 0x1A, 0x98, 0x00, 0x04, 0x10, 0x0F, 0x1C, 0x1B, 0x98, 0x00, 0x04, 0x11, 0x10, 0x1D, 0x1C, 0x98, + 0x00, 0x04, 0x12, 0x11, 0x1E, 0x1D, 0x98, 0x00, 0x04, 0x13, 0x12, 0x1F, 0x1E, 0x98, 0x00, 0x04, + 0x14, 0x13, 0x20, 0x1F, 0x98, 0x00, 0x04, 0x15, 0x14, 0x21, 0x20, 0x98, 0x00, 0x04, 0x16, 0x15, + 0x22, 0x21, 0x98, 0x00, 0x04, 0x17, 0x16, 0x23, 0x22, 0x98, 0x00, 0x04, 0x0C, 0x17, 0x18, 0x23, + 0x98, 0x00, 0x04, 0x3C, 0x47, 0x48, 0x53, 0x98, 0x00, 0x04, 0x47, 0x46, 0x53, 0x52, 0x98, 0x00, + 0x04, 0x46, 0x45, 0x52, 0x51, 0x98, 0x00, 0x04, 0x45, 0x44, 0x51, 0x50, 0x98, 0x00, 0x04, 0x44, + 0x43, 0x50, 0x4F, 0x98, 0x00, 0x04, 0x43, 0x42, 0x4F, 0x4E, 0x98, 0x00, 0x04, 0x42, 0x41, 0x4E, + 0x4D, 0x98, 0x00, 0x04, 0x41, 0x40, 0x4D, 0x4C, 0x98, 0x00, 0x04, 0x40, 0x3F, 0x4C, 0x4B, 0x98, + 0x00, 0x04, 0x3F, 0x3E, 0x4B, 0x4A, 0x98, 0x00, 0x04, 0x3E, 0x3D, 0x4A, 0x49, 0x98, 0x00, 0x04, + 0x3D, 0x3C, 0x49, 0x48, 0x98, 0x00, 0x04, 0x31, 0x30, 0x3D, 0x3C, 0x98, 0x00, 0x04, 0x32, 0x31, + 0x3E, 0x3D, 0x98, 0x00, 0x04, 0x33, 0x32, 0x3F, 0x3E, 0x98, 0x00, 0x04, 0x34, 0x33, 0x40, 0x3F, + 0x98, 0x00, 0x04, 0x35, 0x34, 0x41, 0x40, 0x98, 0x00, 0x04, 0x36, 0x35, 0x42, 0x41, 0x98, 0x00, + 0x04, 0x37, 0x36, 0x43, 0x42, 0x98, 0x00, 0x04, 0x38, 0x37, 0x44, 0x43, 0x98, 0x00, 0x04, 0x39, + 0x38, 0x45, 0x44, 0x98, 0x00, 0x04, 0x3A, 0x39, 0x46, 0x45, 0x98, 0x00, 0x04, 0x3B, 0x3A, 0x47, + 0x46, 0x98, 0x00, 0x04, 0x30, 0x3B, 0x3C, 0x47, 0x98, 0x00, 0x03, 0x55, 0x48, 0x53, 0x98, 0x00, + 0x03, 0x55, 0x53, 0x52, 0x98, 0x00, 0x03, 0x55, 0x52, 0x51, 0x98, 0x00, 0x03, 0x55, 0x51, 0x50, + 0x98, 0x00, 0x03, 0x55, 0x50, 0x4F, 0x98, 0x00, 0x03, 0x55, 0x4F, 0x4E, 0x98, 0x00, 0x03, 0x55, + 0x4E, 0x4D, 0x98, 0x00, 0x03, 0x55, 0x4D, 0x4C, 0x98, 0x00, 0x03, 0x55, 0x4C, 0x4B, 0x98, 0x00, + 0x03, 0x55, 0x4B, 0x4A, 0x98, 0x00, 0x03, 0x55, 0x4A, 0x49, 0x98, 0x00, 0x03, 0x55, 0x49, 0x48, + 0x98, 0x00, 0x03, 0x54, 0x00, 0x01, 0x98, 0x00, 0x03, 0x54, 0x01, 0x02, 0x98, 0x00, 0x03, 0x54, + 0x02, 0x03, 0x98, 0x00, 0x03, 0x54, 0x03, 0x04, 0x98, 0x00, 0x03, 0x54, 0x04, 0x05, 0x98, 0x00, + 0x03, 0x54, 0x05, 0x06, 0x98, 0x00, 0x03, 0x54, 0x06, 0x07, 0x98, 0x00, 0x03, 0x54, 0x07, 0x08, + 0x98, 0x00, 0x03, 0x54, 0x08, 0x09, 0x98, 0x00, 0x03, 0x54, 0x09, 0x0A, 0x98, 0x00, 0x03, 0x54, + 0x0A, 0x0B, 0x98, 0x00, 0x03, 0x54, 0x0B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; /* 80082838-80082E44 .text draw__22dDlst_alphaModelData_cFPA4_f */ void dDlst_alphaModelData_c::draw(Mtx viewMtx) { @@ -928,12 +1202,24 @@ BOOL dDlst_alphaModel_c::draw(Mtx mtx) { if (mNum == 0) return FALSE; - static char l_matDL[0x64] ALIGN_DECL(32) = {}; - - static GXVtxDescList l_vtxDescList[2] = { + static char l_matDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0A, 0x00, + 0x00, 0x00, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, + 0x08, 0xFF, 0xD0, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x61, 0xEE, + 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, 0x00, 0x61, 0xF1, + 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; - static GXVtxAttrFmtList l_vtxAttrFmtList[2] = { + static GXVtxDescList l_vtxDescList[] = { + {GX_VA_POS, GX_INDEX8}, + {GX_VA_NULL, GX_NONE}, + }; + + static GXVtxAttrFmtList l_vtxAttrFmtList[] = { + {GX_VA_POS, GX_POS_XYZ, GX_F32, 0x00}, + {GX_VA_NULL, GX_POS_XYZ, GX_F32, 0x00}, }; GXCallDisplayList(l_matDL, 0x60); @@ -949,11 +1235,47 @@ BOOL dDlst_alphaModel_c::draw(Mtx mtx) { return TRUE; } -char l_shadowVolPos[0x60] ALIGN_DECL(32) = {}; -char l_shadowVolDL[0x4a] ALIGN_DECL(32) = {}; -char l_shadowProjMat[0x55] ALIGN_DECL(32) = {}; -char l_shadowVolMat[0x5a] ALIGN_DECL(32) = {}; -char l_clearMat[0x55] ALIGN_DECL(32) = {}; +Vec l_shadowVolPos[] = { + {-1.0f, -1.0f, 0.0f}, + {-1.0f, -1.0f, -300.0f}, + {-1.0f, 1.0f, 0.0f}, + {-1.0f, 1.0f, -300.0f}, + {1.0f, -1.0f, 0.0f}, + {1.0f, -1.0f, -300.0f}, + {1.0f, 1.0f, 0.0f}, + {1.0f, 1.0f, -300.0f}, +}; +char l_shadowVolDL[] ALIGN_DECL(32) = { + 0x98, 0x00, 0x04, 0x06, 0x02, 0x07, 0x03, 0x98, 0x00, 0x04, 0x00, 0x04, 0x01, 0x05, 0x98, 0x00, + 0x04, 0x06, 0x04, 0x02, 0x00, 0x98, 0x00, 0x04, 0x07, 0x05, 0x06, 0x04, 0x98, 0x00, 0x04, 0x03, + 0x01, 0x07, 0x05, 0x98, 0x00, 0x04, 0x02, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +char l_shadowProjMat[] ALIGN_DECL(32) = { + 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xE6, 0x70, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, + 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x06, 0xED, 0x61, 0xF3, 0x64, 0x10, 0x10, 0x10, 0x00, + 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x61, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; +char l_shadowVolMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFC, 0x61, 0xC1, 0x08, 0xFF, 0x90, 0x61, + 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x0D, 0x61, 0x41, 0x00, 0x01, 0x35, 0x61, 0xF3, + 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, + 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; +char l_clearMat[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, 0xA0, 0x61, + 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x00, 0x14, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, + 0x61, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; char l_frontMat[] ALIGN_DECL(32) = { 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xc0, 0x08, 0xff, 0xff, 0x61, 0xc1, 0x08, 0xff, 0x90, 0x61, @@ -972,20 +1294,20 @@ char l_backSubMat[] ALIGN_DECL(32) = { }; Vec l_simpleShadowPos[] = { - { 0.0f, -1.0f, 0.0f }, - { 0.0f, 0.0f, 0.0f }, - { 1.0f, -1.0f, -1.0f }, - { 1.0f, 0.0f, -1.0f }, - { -1.0f, -1.0f, -1.0f }, - { -1.0f, 0.0f, -1.0f }, - { -1.0f, -1.0f, 1.0f }, - { -1.0f, 0.0f, 1.0f }, - { 1.0f, -1.0f, 1.0f }, - { 1.0f, 0.0f, 1.0f }, - { -1.0f, 1.0f, -1.0f }, - { 1.0f, 1.0f, -1.0f }, - { 1.0f, 1.0f, 1.0f }, - { -1.0f, 1.0f, 1.0f }, + {0.0f, -1.0f, 0.0f}, + {0.0f, 0.0f, 0.0f}, + {1.0f, -1.0f, -1.0f}, + {1.0f, 0.0f, -1.0f}, + {-1.0f, -1.0f, -1.0f}, + {-1.0f, 0.0f, -1.0f}, + {-1.0f, -1.0f, 1.0f}, + {-1.0f, 0.0f, 1.0f}, + {1.0f, -1.0f, 1.0f}, + {1.0f, 0.0f, 1.0f}, + {-1.0f, 1.0f, -1.0f}, + {1.0f, 1.0f, -1.0f}, + {1.0f, 1.0f, 1.0f}, + {-1.0f, 1.0f, 1.0f}, }; char l_shadowVolumeDL[] ALIGN_DECL(32) = { @@ -1279,11 +1601,33 @@ bool dDlst_shadowReal_c::add(J3DModel* model) { return true; } -char l_shadowSealTexDL[0x55] ALIGN_DECL(32) = {}; +char l_shadowSealTexDL[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, 0x10, + 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, + 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, 0x01, 0x00, 0x0C, + 0x01, 0x01, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; -char l_shadowSealTex2DL[0x55] ALIGN_DECL(32) = {}; +char l_shadowSealTex2DL[] ALIGN_DECL(32) = { + 0x61, 0x28, 0x38, 0x03, 0xC0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0x15, 0x10, + 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, + 0x00, 0x61, 0x00, 0x00, 0x40, 0x01, 0x80, 0x00, 0x04, 0x0A, 0x00, 0x00, 0x0B, 0x02, 0x00, 0x0C, + 0x02, 0x01, 0x0D, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; -char l_shadowSealDL[0x69] ALIGN_DECL(32) = {}; +char l_shadowSealDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x05, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, + 0x05, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, 0x08, 0xFF, + 0xB0, 0x61, 0x40, 0x00, 0x00, 0x06, 0x61, 0x41, 0x00, 0x06, 0xED, 0x10, 0x00, 0x00, 0x10, 0x3F, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, + 0x40, 0x10, 0x80, 0x00, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; /* 800848E8-80084AC8 .text draw__20dDlst_shadowSimple_cFv */ void dDlst_shadowSimple_c::draw() { @@ -1397,7 +1741,17 @@ void dDlst_shadowControl_c::reset() { /* 80084DEC-80084EF0 .text imageDraw__21dDlst_shadowControl_cFPA4_f */ void dDlst_shadowControl_c::imageDraw(Mtx mtx) { - static char l_matDL[0x84] = {}; + static char l_matDL[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x0C, 0x80, 0x80, 0x80, 0x80, 0x61, 0x28, 0x38, + 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFA, 0x61, 0xC1, 0x08, 0xFF, 0xF0, 0x61, 0x43, 0x00, + 0x00, 0x41, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x40, 0x10, + 0x61, 0xEE, 0x00, 0x00, 0x00, 0x61, 0xEF, 0x00, 0x00, 0x00, 0x61, 0xF0, 0x00, 0x00, 0x00, + 0x61, 0xF1, 0x00, 0x00, 0x00, 0x61, 0xF2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; GXSetViewport(0.0f, 0.0f, 256.0f, 256.0f, 0.0f, 1.0f); GXSetScissor(0, 0, 0x100, 0x100); @@ -1527,6 +1881,15 @@ void dDlst_shadowControl_c::setSimpleTex(void* pImg) { GXInitTexObjLOD(&mSimpleTexObj, GX_LINEAR, GX_LINEAR, 0.0f, 0.0f, 0.0f, GX_FALSE, GX_FALSE, GX_ANISO_1); } +char l_mirrorProjMat[] ALIGN_DECL(32) = { + 0x61, 0xC0, 0x08, 0xFF, 0xF8, 0x61, 0xC1, 0x08, 0xFF, 0xC0, 0x61, 0x43, 0x00, 0x00, 0x01, 0x61, + 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, 0x00, 0x06, 0x2D, 0x61, 0xF3, 0x64, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x10, 0x3F, 0x00, 0x00, 0x00, 0x01, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x00, + 0x61, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, +}; + /* 80085348-800855B4 .text draw__18dDlst_mirrorPacketFv */ void dDlst_mirrorPacket::draw() { /* Nonmatching */ @@ -1572,7 +1935,15 @@ void dDlst_alphaVolPacket::draw() { /* 80085AF4-80085BBC .text draw__23dDlst_alphaInvVolPacketFv */ void dDlst_alphaInvVolPacket::draw() { - static char l_backMat[0x60] = { + static char l_backMat[] ALIGN_DECL(32) = { + 0x10, 0x00, 0x00, 0x10, 0x0E, 0x00, 0x00, 0x04, 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x04, 0x00, 0x61, 0x28, 0x38, 0x00, 0x00, 0x61, 0xC0, 0x08, 0xFF, 0xFF, 0x61, 0xC1, + 0x08, 0xFF, 0x90, 0x61, 0x43, 0x00, 0x00, 0x41, 0x61, 0x40, 0x00, 0x00, 0x07, 0x61, 0x41, + 0x00, 0x01, 0x14, 0x61, 0xF3, 0x7F, 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x3F, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x10, 0x09, 0x00, 0x00, 0x00, 0x01, 0x61, 0x00, 0x00, 0x80, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, }; GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XYZ, GX_F32, 0);