sm64/shape/enemy2_d/pirania/pirania.sou
2022-12-04 22:27:02 -05:00

225 lines
7.0 KiB
Plaintext

/**************************************************************/
/* shape data pirania_anim_swim (skeleton & animation) */
/**************************************************************/
#define ShapeColor_pirania_anim_swim(r,g,b) ShapeColor(r,g,b)
/*-------------------------------------------------------------*/
/* light data */
/*-------------------------------------------------------------*/
static Lights1 light_pirania_anim_swim[]={
};
/*-------------------------------------------------------------*/
/* vertex & polygon data */
/*-------------------------------------------------------------*/
static Vtx vtx_pirania_anim_swim0[]={
{9,-27,0,0,0,0,0,0,127,0},
{57,-48,0,0,0,0,0,0,127,0},
{120,0,0,0,0,0,0,0,127,0},
{0,0,0,0,0,0,0,0,127,255},
};
static Vtx vtx_pirania_anim_swim1[]={
{54,-38,-5,0,0,0,-10,2,-126,0},
{-1,-14,0,0,0,0,-12,0,-126,0},
{-1,14,0,0,0,0,-10,2,-126,0},
{88,64,-4,0,0,0,-8,4,-126,255},
{88,64,-4,0,0,0,-62,110,0,255},
{-1,14,0,0,0,0,-62,110,0,255},
{88,64,4,0,0,0,-62,110,0,255},
{54,-38,5,0,0,0,-50,-116,0,255},
{-1,-14,0,0,0,0,-50,-116,0,255},
{54,-38,-5,0,0,0,-50,-116,0,255},
{54,-38,5,0,0,0,120,-39,0,255},
{54,-38,-5,0,0,0,120,-39,0,255},
{88,64,-4,0,0,0,120,-39,0,255},
{88,64,4,0,0,0,120,-39,0,255},
{-1,-14,0,0,0,0,-8,2,126,255},
{54,-38,5,0,0,0,-10,5,126,0},
{88,64,4,0,0,0,-8,2,126,0},
{-1,14,0,0,0,0,-5,0,126,255},
};
static Vtx vtx_pirania_anim_swim2[]={
{-96,32,0,0,0,0,-44,46,109,0},
{-40,20,28,0,0,0,-12,10,125,0},
{32,112,0,0,0,0,-10,44,118,0},
{-40,20,-28,0,0,0,-12,10,-125,255},
{-96,32,0,0,0,0,-44,46,-109,255},
{32,112,0,0,0,0,-10,44,-118,255},
{161,-14,0,0,0,0,16,-10,-125,255},
{28,-80,-8,0,0,0,-41,-71,-96,255},
{28,-80,8,0,0,0,-41,-71,96,255},
{161,-14,0,0,0,0,16,-10,125,255},
{161,14,0,0,0,0,17,11,125,255},
{161,14,0,0,0,0,17,11,-125,255},
{-116,0,0,0,0,0,-108,-66,0,255},
{56,-112,0,0,0,0,16,-17,-124,255},
{56,-112,0,0,0,0,16,-17,124,255},
{56,-112,0,0,0,0,-95,-83,0,255},
};
Gfx RCP_pirania_anim_swim0[]={
gsSPLight((&light_pirania_anim_swim[0].l[0]),1),
gsSPLight((&light_pirania_anim_swim[0].a),2),
gsSPVertex(&vtx_pirania_anim_swim0[0],4,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(2,3,0,0),
gsSPEndDisplayList()
};
Gfx RCP_pirania_anim_swim1[]={
gsSPLight((&light_pirania_anim_swim[0].l[0]),1),
gsSPLight((&light_pirania_anim_swim[0].a),2),
gsSPVertex(&vtx_pirania_anim_swim1[0],14,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(0,2,3,0),
gsSP1Triangle(4,5,6,0),
gsSP1Triangle(7,8,9,0),
gsSP1Triangle(10,11,12,0),
gsSP1Triangle(10,12,13,0),
gsSPVertex(&vtx_pirania_anim_swim1[14],4,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(0,2,3,0),
gsSPEndDisplayList()
};
Gfx RCP_pirania_anim_swim2[]={
gsSPLight((&light_pirania_anim_swim[0].l[0]),1),
gsSPLight((&light_pirania_anim_swim[0].a),2),
gsSPVertex(&vtx_pirania_anim_swim2[0],16,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(3,4,5,0),
gsSP1Triangle(6,7,3,0),
gsSP1Triangle(1,8,9,0),
gsSP1Triangle(1,9,10,0),
gsSP1Triangle(11,6,3,0),
gsSP1Triangle(12,4,3,0),
gsSP1Triangle(0,12,1,0),
gsSP1Triangle(6,13,7,0),
gsSP1Triangle(12,7,8,0),
gsSP1Triangle(8,14,9,0),
gsSP1Triangle(12,3,7,0),
gsSP1Triangle(12,8,1,0),
gsSP1Triangle(8,7,15,0),
gsSP1Triangle(1,10,2,0),
gsSP1Triangle(11,3,5,0),
gsSPEndDisplayList()
};
Gfx pirania_light_sourcex[]={
gsSPNumLights(NUMLIGHTS_1),
gsSPEndDisplayList()
};
/****************
(0),pira_sebire,RCP_pirania_anim_swim0,NULL,(-1),NULL,(-1),0,0,0
(1),chn2,NULL,NULL,(-1),pira_sebire,(0),32,112,0
(2),pira_tail,RCP_pirania_anim_swim1,chn2,(1),NULL,(-1),160,0,0
(3),pira_body,RCP_pirania_anim_swim2,NULL,(-1),pira_tail,(2),0,0,0
(4),chn1,pirania_light_sourcex,NULL,(-1),pira_body,(3),-1,0,0
****************/
/*-------------------------------------------------------------*/
/* animation data */
/*-------------------------------------------------------------*/
static short pirania_anim_swim_prm[]={
0, -4, -2, -1, 1, 3, 5, 6,
8, 9, 10, 10, 10, 9, 8, 6,
5, 3, 1, -1, -2, -4, -6, -7,
-8, -8, -8, -7, -6, -5, -3,16383,
378, 450, 496, 513, 498, 457, 394, 313,
217, 112, 0, -113, -224, -330, -426, -507,
-570, -611, -625, -611, -570, -507, -426, -330,
-224, -113, 0, 112, 217, 313, -835, -968,
-1055,-1086,-1059, -983, -865, -713, -535, -338,
-129, 82, 290, 487, 665, 817, 935, 1011,
1038, 1011, 935, 817, 665, 487, 290, 82,
-129, -338, -535, -713, 2967, 2978, 2986, 2988,
2986, 2980, 2969, 2957, 2941, 2924, 2907, 2889,
2871, 2854, 2839, 2826, 2816, 2809, 2807, 2809,
2816, 2826, 2839, 2854, 2871, 2889, 2907, 2924,
2941, 2957, 113, 600, 1073, 1514, 1910, 2245,
2502, 2668, 2727, 2651, 2438, 2110, 1691, 1203,
669, 113, -443, -976,-1464,-1883,-2211,-2424,
-2500,-2434,-2246,-1957,-1583,-1145, -660, -147,
1062, 1031, 943, 809, 637, 437, 218, -9,
-238, -457, -657, -829, -963,-1051,-1082,-1055,
-978, -859, -706, -526, -327, -117, 97, 307,
506, 686, 839, 958, 1035, 1062,};
static unsigned short pirania_anim_swim_tbl[]= {
30, 1, /* chn1(4) */
1, 0,
1, 0,
1, 0, /* chn1(4) */
1, 31,
1, 0,
1, 0, /* pira_body(3) */
30, 152,
1, 0,
1, 0, /* pira_tail(2) */
30, 122,
1, 0,
1, 0, /* chn2(1) */
1, 0,
1, 0,
30, 32, /* pira_sebire(0) */
30, 62,
30, 92,
};
AnimeRecord pirania_anim_swim_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
30,
5,
pirania_anim_swim_prm,
pirania_anim_swim_tbl
};
/*-------------------------------------------------------------*/
/* Hms data */
/*-------------------------------------------------------------*/
Hierarchy RCP_HmsEnemypirania[] = {
hmsShadow(100,150,1)
hmsBegin()
hmsScale(0.25f)
hmsBegin()
hmsJoint(RM_SURF,pirania_light_sourcex,-1,0,0) /* ,chn1,(4) */
hmsBegin()
hmsJoint(RM_SURF,RCP_pirania_anim_swim2,0,0,0) /* ,pira_body,(3) */
hmsBegin()
hmsJoint(RM_SURF,RCP_pirania_anim_swim1,160,0,0) /* ,pira_tail,(2) */
hmsJoint(RM_SURF,NULL,32,112,0) /* ,chn2,(1) */
hmsBegin()
hmsJoint(RM_SURF,RCP_pirania_anim_swim0,0,0,0) /* ,pira_sebire,(0) */
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsExit()
};
// extern AnimeRecord pirania_anim_swim_anm[];
// extern Hierarchy RCP_HmsEnemypirania[];
/*=============================================================*/
/* END END */
/*=============================================================*/
AnimePtr pirania_anime[] = {
&pirania_anim_swim_anm,
};
static long long pirania_dmmy_end = 0;
/*=============================================================*/
/* END END */
/*=============================================================*/