dynlists_mario_eyes.c (8460B)
1 #include <PR/ultratypes.h> 2 3 #include "macros.h" 4 #include "dynlist_macros.h" 5 #include "dynlists.h" 6 #include "../dynlist_proc.h" 7 8 static s16 verts_mario_eye_right[][3] = { 9 { 306, 26, 83 }, { 318, 18, 81 }, { 312, -13, 94 }, { 308, 43, 53 }, { 320, 35, 50 }, 10 { 308, 47, 12 }, { 320, 39, 9 }, { 316, 31, -30 }, { 304, 39, -27 }, { 311, 11, -58 }, 11 { 299, 19, -55 }, { 304, -21, -66 }, { 287, -46, -51 }, { 299, -54, -53 }, { 285, -64, -20 }, 12 { 297, -72, -23 }, { 286, -69, 20 }, { 299, -76, 17 }, { 301, -68, 57 }, { 289, -60, 60 }, 13 { 305, -47, 85 }, { 294, -40, 88 }, { 315, -35, 13 }, { 316, -33, 21 }, { 317, -28, 25 }, 14 { 293, -14, -64 }, { 316, -17, 67 }, { 312, -37, 61 }, { 310, -50, 44 }, { 307, -53, -14 }, 15 { 308, -42, -33 }, { 311, -22, -41 }, { 315, -2, -36 }, { 319, 10, -18 }, { 322, 13, 39 }, 16 { 320, 2, 59 }, { 318, -20, 29 }, { 308, -57, 15 }, { 315, -34, 4 }, { 315, -30, 0 }, 17 { 316, -22, -4 }, { 318, -14, -1 }, { 319, -9, 2 }, { 322, 16, 10 }, { 320, -8, 20 }, 18 { 319, -13, 24 }, { 320, -7, 11 }, { 301, -6, 96 }, 19 }; 20 21 static struct GdVtxData vtx_mario_eye_right = { ARRAY_COUNT(verts_mario_eye_right), 0x1, verts_mario_eye_right }; 22 23 static u16 facedata_mario_eye_right[][4] = { 24 { 1, 2, 1, 0 }, { 1, 1, 4, 3 }, { 1, 4, 6, 5 }, { 1, 6, 7, 5 }, { 1, 7, 9, 8 }, 25 { 1, 9, 11, 10 }, { 1, 11, 13, 12 }, { 1, 13, 15, 14 }, { 1, 15, 17, 16 }, { 1, 17, 18, 16 }, 26 { 1, 18, 20, 19 }, { 1, 20, 2, 21 }, { 1, 0, 47, 2 }, { 1, 2, 26, 1 }, { 1, 20, 26, 2 }, 27 { 1, 18, 27, 20 }, { 1, 17, 28, 18 }, { 1, 15, 29, 17 }, { 1, 13, 30, 15 }, { 1, 11, 31, 13 }, 28 { 1, 9, 31, 11 }, { 1, 7, 32, 9 }, { 1, 6, 33, 7 }, { 1, 4, 34, 6 }, { 1, 1, 35, 4 }, 29 { 1, 35, 34, 4 }, { 1, 34, 43, 6 }, { 1, 6, 43, 33 }, { 1, 7, 33, 32 }, { 1, 9, 32, 31 }, 30 { 1, 31, 30, 13 }, { 1, 30, 29, 15 }, { 1, 29, 37, 17 }, { 1, 17, 37, 28 }, { 1, 18, 28, 27 }, 31 { 1, 20, 27, 26 }, { 1, 26, 35, 1 }, { 1, 3, 0, 1 }, { 1, 5, 3, 4 }, { 1, 7, 8, 5 }, 32 { 1, 9, 10, 8 }, { 1, 11, 25, 10 }, { 1, 12, 25, 11 }, { 1, 14, 12, 13 }, { 1, 16, 14, 15 }, 33 { 1, 18, 19, 16 }, { 1, 2, 47, 21 }, { 1, 20, 21, 19 }, { 2, 26, 36, 35 }, { 2, 27, 36, 26 }, 34 { 2, 28, 24, 27 }, { 2, 37, 23, 28 }, { 2, 29, 38, 37 }, { 2, 30, 39, 29 }, { 2, 31, 40, 30 }, 35 { 2, 32, 40, 31 }, { 2, 33, 41, 32 }, { 2, 43, 42, 33 }, { 2, 34, 44, 43 }, { 2, 35, 45, 34 }, 36 { 2, 45, 44, 34 }, { 2, 44, 46, 43 }, { 2, 43, 46, 42 }, { 2, 33, 42, 41 }, { 2, 32, 41, 40 }, 37 { 2, 40, 39, 30 }, { 2, 39, 38, 29 }, { 2, 38, 22, 37 }, { 2, 37, 22, 23 }, { 2, 28, 23, 24 }, 38 { 2, 27, 24, 36 }, { 2, 36, 45, 35 }, { 3, 24, 23, 22 }, { 3, 22, 36, 24 }, { 3, 22, 38, 36 }, 39 { 3, 38, 39, 36 }, { 3, 39, 40, 36 }, { 3, 40, 41, 36 }, { 3, 41, 45, 36 }, { 3, 41, 42, 45 }, 40 { 3, 42, 46, 45 }, { 3, 46, 44, 45 }, 41 }; 42 43 static struct GdFaceData faces_mario_eye_right = { ARRAY_COUNT(facedata_mario_eye_right), 0x1, facedata_mario_eye_right }; 44 45 struct DynList dynlist_mario_eye_right_shape[] = { 46 BeginList(), 47 48 MakeDynObj(D_DATA_GRP, DYNOBJ_MARIO_RIGHT_EYE_VTX_GROUP), 49 LinkWithPtr(&vtx_mario_eye_right), 50 51 MakeDynObj(D_DATA_GRP, DYNOBJ_MARIO_RIGHT_EYE_TRI_GROUP), 52 LinkWithPtr(&faces_mario_eye_right), 53 54 StartGroup(DYNOBJ_MARIO_RIGHT_EYE_MTL_GROUP), 55 // ??? 56 MakeDynObj(D_MATERIAL, 0), 57 SetId(0), 58 SetAmbient(0.0, 0.291, 1.0), 59 SetDiffuse(0.0, 0.291, 1.0), 60 // Iris color 61 MakeDynObj(D_MATERIAL, 0), 62 SetId(1), 63 SetAmbient(0.0, 0.576, 1.0), 64 SetDiffuse(0.0, 0.576, 1.0), 65 // Pupil color 66 MakeDynObj(D_MATERIAL, 0), 67 SetId(2), 68 SetAmbient(0.0, 0.0, 0.0), 69 SetDiffuse(0.0, 0.0, 0.0), 70 // Color of spot in the middle of pupil 71 MakeDynObj(D_MATERIAL, 0), 72 SetId(3), 73 SetAmbient(1.0, 1.0, 1.0), 74 SetDiffuse(1.0, 1.0, 1.0), 75 EndGroup(DYNOBJ_MARIO_RIGHT_EYE_MTL_GROUP), 76 77 MakeDynObj(D_SHAPE, DYNOBJ_MARIO_RIGHT_EYE_SHAPE), 78 SetNodeGroup(DYNOBJ_MARIO_RIGHT_EYE_VTX_GROUP), 79 SetPlaneGroup(DYNOBJ_MARIO_RIGHT_EYE_TRI_GROUP), 80 SetMaterialGroup(DYNOBJ_MARIO_RIGHT_EYE_MTL_GROUP), 81 82 EndList(), 83 }; 84 85 static s16 verts_mario_eye_left[][3] = { 86 { 302, 35, -81 }, { 316, 28, -79 }, { 311, -2, -97 }, { 304, 48, -48 }, { 318, 40, -46 }, 87 { 302, 46, -7 }, { 316, 38, -5 }, { 311, 24, 32 }, { 297, 32, 30 }, { 305, 0, 56 }, 88 { 291, 7, 55 }, { 298, -34, 60 }, { 280, -57, 40 }, { 294, -64, 42 }, { 279, -70, 7 }, 89 { 294, -78, 9 }, { 282, -68, -33 }, { 296, -76, -31 }, { 300, -62, -69 }, { 286, -54, -71 }, 90 { 305, -37, -94 }, { 291, -29, -96 }, { 314, -35, -20 }, { 315, -32, -28 }, { 316, -27, -32 }, 91 { 285, -26, 58 }, { 316, -9, -71 }, { 312, -30, -69 }, { 310, -46, -53 }, { 305, -58, 3 }, 92 { 305, -49, 24 }, { 307, -30, 35 }, { 311, -10, 33 }, { 316, 4, 17 }, { 321, 16, -39 }, 93 { 319, 8, -60 }, { 318, -18, -34 }, { 307, -56, -25 }, { 313, -35, -11 }, { 314, -32, -6 }, 94 { 315, -25, 0 }, { 316, -17, -3 }, { 318, -11, -6 }, { 320, 14, -9 }, { 319, -8, -23 }, 95 { 319, -11, -28 }, { 319, -8, -14 }, { 297, 5, -99 }, 96 }; 97 98 static struct GdVtxData vtx_mario_eye_left = { ARRAY_COUNT(verts_mario_eye_left), 0x1, verts_mario_eye_left }; 99 100 static u16 facedata_mario_eye_left[][4] = { 101 { 1, 0, 1, 2 }, { 1, 3, 4, 1 }, { 1, 5, 6, 4 }, { 1, 5, 7, 6 }, { 1, 8, 9, 7 }, 102 { 1, 10, 11, 9 }, { 1, 12, 13, 11 }, { 1, 14, 15, 13 }, { 1, 16, 17, 15 }, { 1, 16, 18, 17 }, 103 { 1, 19, 20, 18 }, { 1, 21, 2, 20 }, { 1, 2, 47, 0 }, { 1, 1, 26, 2 }, { 1, 2, 26, 20 }, 104 { 1, 20, 27, 18 }, { 1, 18, 28, 17 }, { 1, 17, 29, 15 }, { 1, 15, 30, 13 }, { 1, 13, 31, 11 }, 105 { 1, 11, 31, 9 }, { 1, 9, 32, 7 }, { 1, 7, 33, 6 }, { 1, 6, 34, 4 }, { 1, 4, 35, 1 }, 106 { 1, 4, 34, 35 }, { 1, 6, 43, 34 }, { 1, 33, 43, 6 }, { 1, 32, 33, 7 }, { 1, 31, 32, 9 }, 107 { 1, 13, 30, 31 }, { 1, 15, 29, 30 }, { 1, 17, 37, 29 }, { 1, 28, 37, 17 }, { 1, 27, 28, 18 }, 108 { 1, 26, 27, 20 }, { 1, 1, 35, 26 }, { 1, 1, 0, 3 }, { 1, 4, 3, 5 }, { 1, 5, 8, 7 }, 109 { 1, 8, 10, 9 }, { 1, 10, 25, 11 }, { 1, 11, 25, 12 }, { 1, 13, 12, 14 }, { 1, 15, 14, 16 }, 110 { 1, 16, 19, 18 }, { 1, 21, 47, 2 }, { 1, 19, 21, 20 }, { 2, 35, 36, 26 }, { 2, 26, 36, 27 }, 111 { 2, 27, 24, 28 }, { 2, 28, 23, 37 }, { 2, 37, 38, 29 }, { 2, 29, 39, 30 }, { 2, 30, 40, 31 }, 112 { 2, 31, 40, 32 }, { 2, 32, 41, 33 }, { 2, 33, 42, 43 }, { 2, 43, 44, 34 }, { 2, 34, 45, 35 }, 113 { 2, 34, 44, 45 }, { 2, 43, 46, 44 }, { 2, 42, 46, 43 }, { 2, 41, 42, 33 }, { 2, 40, 41, 32 }, 114 { 2, 30, 39, 40 }, { 2, 29, 38, 39 }, { 2, 37, 22, 38 }, { 2, 23, 22, 37 }, { 2, 24, 23, 28 }, 115 { 2, 36, 24, 27 }, { 2, 35, 45, 36 }, { 3, 22, 23, 24 }, { 3, 24, 36, 22 }, { 3, 36, 38, 22 }, 116 { 3, 36, 39, 38 }, { 3, 36, 40, 39 }, { 3, 36, 41, 40 }, { 3, 36, 45, 41 }, { 3, 45, 42, 41 }, 117 { 3, 45, 46, 42 }, { 3, 45, 44, 46 }, 118 }; 119 120 static struct GdFaceData faces_mario_eye_left = { ARRAY_COUNT(facedata_mario_eye_left), 0x1, facedata_mario_eye_left }; 121 122 struct DynList dynlist_mario_eye_left_shape[28] = { 123 BeginList(), 124 125 MakeDynObj(D_DATA_GRP, DYNOBJ_MARIO_LEFT_EYE_VTX_GROUP), 126 LinkWithPtr(&vtx_mario_eye_left), 127 128 MakeDynObj(D_DATA_GRP, DYNOBJ_MARIO_LEFT_EYE_TRI_GROUP), 129 LinkWithPtr(&faces_mario_eye_left), 130 131 StartGroup(DYNOBJ_MARIO_LEFT_EYE_MTL_GROUP), 132 // ??? 133 MakeDynObj(D_MATERIAL, 0), 134 SetId(0), 135 SetAmbient(0.0, 0.291, 1.0), 136 SetDiffuse(0.0, 0.291, 1.0), 137 // Iris color 138 MakeDynObj(D_MATERIAL, 0), 139 SetId(1), 140 SetAmbient(0.0, 0.576, 1.0), 141 SetDiffuse(0.0, 0.576, 1.0), 142 // Pupil color 143 MakeDynObj(D_MATERIAL, 0), 144 SetId(2), 145 SetAmbient(0.0, 0.0, 0.0), 146 SetDiffuse(0.0, 0.0, 0.0), 147 // Color of spot in the middle of pupil 148 MakeDynObj(D_MATERIAL, 0), 149 SetId(3), 150 SetAmbient(1.0, 1.0, 1.0), 151 SetDiffuse(1.0, 1.0, 1.0), 152 EndGroup(DYNOBJ_MARIO_LEFT_EYE_MTL_GROUP), 153 154 MakeDynObj(D_SHAPE, DYNOBJ_MARIO_LEFT_EYE_SHAPE), 155 SetNodeGroup(DYNOBJ_MARIO_LEFT_EYE_VTX_GROUP), 156 SetPlaneGroup(DYNOBJ_MARIO_LEFT_EYE_TRI_GROUP), 157 SetMaterialGroup(DYNOBJ_MARIO_LEFT_EYE_MTL_GROUP), 158 159 EndList(), 160 };