sm64/shape/enemy2_g/kuramochi/kuramochi.shape
2022-12-04 22:27:02 -05:00

451 lines
13 KiB
Plaintext

/*==================================================================================================
kuramochi Shape Gfx Data
====================================================================================================*/
/*##################################################*/
#ifdef GFX_SHAPE
/*##################################################*/
/**************************************************************/
/* shape data kuramochi_base (skeleton & animation) */
/**************************************************************/
#include "kuramochi_texture.h"
#include "kura_body_shape.sou"
#include "kura_face_shape.sou"
#define ShapeColor_kuramochi_base(r,g,b) ShapeColor(r,g,b)
/*-------------------------------------------------------------*/
/* light data */
/*-------------------------------------------------------------*/
static Lights1 light_kuramochi_base[]={
ShapeColor_kuramochi_base(48,131,26),
ShapeColor_kuramochi_base(0,0,0),
ShapeColor_kuramochi_base(255,255,0),
ShapeColor_kuramochi_base(0,0,0),
};
/*-------------------------------------------------------------*/
/* vertex & polygon data */
/*-------------------------------------------------------------*/
static Vtx vtx_kuramochi_base1[]={
{0,0,0,0,0,0,-125,17,0,0},
{180,90,0,0,0,0,-56,113,0,0},
{180,40,-80,0,0,0,-56,42,-105,0},
{180,-120,-40,0,0,0,-69,-80,-69,255},
{180,-120,40,0,0,0,-69,-80,69,255},
{180,90,0,0,0,0,127,0,0,255},
{180,40,80,0,0,0,127,0,0,255},
{180,-120,40,0,0,0,127,0,0,255},
{180,-120,-40,0,0,0,127,0,0,255},
{180,40,-80,0,0,0,127,0,0,255},
{180,40,80,0,0,0,-56,42,105,255},
};
static Vtx vtx_kuramochi_base2[]={
{180,40,80,0,0,0,-56,42,105,0},
{180,90,0,0,0,0,-56,113,0,0},
{0,0,0,0,0,0,-125,17,0,0},
{180,-120,-40,0,0,0,-69,-80,-69,255},
{180,-120,40,0,0,0,-69,-80,69,255},
{180,-120,-40,0,0,0,127,0,0,255},
{180,40,-80,0,0,0,127,0,0,255},
{180,90,0,0,0,0,127,0,0,255},
{180,-120,40,0,0,0,127,0,0,255},
{180,40,80,0,0,0,127,0,0,255},
{180,40,-80,0,0,0,-56,42,-105,255},
};
Gfx RCP_kuramochi_base1[]={
gsDPSetCombineMode(G_CC_SHADE_ENVA, G_CC_SHADE_ENVA),
gsSPLight((&light_kuramochi_base[2].l[0]),1),
gsSPLight((&light_kuramochi_base[2].a),2),
gsSPVertex(&vtx_kuramochi_base1[0],11,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(0,3,4,0),
gsSP1Triangle(5,6,7,0),
gsSP1Triangle(5,7,8,0),
gsSP1Triangle(5,8,9,0),
gsSP1Triangle(10,1,0,0),
gsSP1Triangle(0,4,10,0),
gsSP1Triangle(2,3,0,0),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList()
};
Gfx RCP_kuramochi_base2[]={
gsDPSetCombineMode(G_CC_SHADE_ENVA, G_CC_SHADE_ENVA),
gsSPLight((&light_kuramochi_base[2].l[0]),1),
gsSPLight((&light_kuramochi_base[2].a),2),
gsSPVertex(&vtx_kuramochi_base2[0],11,0),
gsSP1Triangle(0,1,2,0),
gsSP1Triangle(3,4,2,0),
gsSP1Triangle(5,6,7,0),
gsSP1Triangle(8,5,7,0),
gsSP1Triangle(9,8,7,0),
gsSP1Triangle(2,1,10,0),
gsSP1Triangle(10,3,2,0),
gsSP1Triangle(2,4,0,0),
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
gsSPEndDisplayList()
};
/****************
(0),kura_body,RCP_kuramochi_base0,NULL,(-1),NULL,(-1),0,0,0
(1),kura_Rfoot,RCP_kuramochi_base1,NULL,(-1),NULL,(-1),0,0,0
(2),kura_Lfoot,RCP_kuramochi_base2,NULL,(-1),NULL,(-1),0,0,0
(3),chn4,NULL,NULL,(-1),kura_Lfoot,(2),0,0,120
(4),chn2,NULL,chn4,(3),kura_Rfoot,(1),0,0,-120
(5),kura_face,RCP_kuramochi_base3,kura_body,(0),chn2,(4),0,0,0
(6),chn1,light_sourcex,NULL,(-1),kura_face,(5),0,180,-230
****************/
/*-------------------------------------------------------------*/
/* animation data */
/*-------------------------------------------------------------*/
static short kuramochi_base_prm[]={
0, 180, -230, 8191,16383, 8191,-32767,-16383,
-16383,-32767,-32767,-32767,};
static unsigned short kuramochi_base_tbl[]= {
1, 0, /* chn1(6) */
1, 1,
1, 2,
1, 3, /* chn1(6) */
1, 4,
1, 5,
1, 0, /* kura_face(5) */
1, 0,
1, 11,
1, 0, /* chn2(4) */
1, 0,
1, 10,
1, 0, /* kura_Rfoot(1) */
1, 0,
1, 7,
1, 0, /* chn4(3) */
1, 0,
1, 9,
1, 0, /* kura_Lfoot(2) */
1, 0,
1, 8,
1, 0, /* kura_body(0) */
1, 0,
1, 6,
};
AnimeRecord kuramochi_base_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
30,
7,
kuramochi_base_prm,
kuramochi_base_tbl
};
/*--------------------------------------------------------------------------------------------------
AnimeData
---------------------------------------------------------------------------------------------------*/
static short kuramochi_jumpstart_prm[]={
0, 180, 180, 180, 180, 180, 180, 211,
240, 240, 240, -230,16383,15236,16383, 0,
0, 0, 0, 0, 0, -19, -51, -58,
0,24527,25244,26929,28884,30407,30801,29435,
26837,23975,21815,-9291,-9944,-11658,-13650,-15144,
-15549,-10133,-3753, 2570, 7814,-9291,-9996,-11641,
-13650,-15097,-15549,-9328,-1913, 5202,10526,-32767,
-32767, 0, 0, 0, 0, 0, 0, -19,
-51, -58, 0,24527,25244,26929,28884,30407,
30801,29435,26837,23975,21815,};
static unsigned short kuramochi_jumpstart_tbl[]= {
1, 0, /* chn1(6) */
10, 1,
1, 11,
1, 12, /* chn1(6) */
1, 13,
1, 14,
1, 0, /* kura_face(5) */
10, 57,
10, 67,
1, 0, /* chn2(4) */
1, 0,
1, 56,
1, 0, /* kura_Rfoot(1) */
1, 0,
10, 35,
1, 0, /* chn4(3) */
1, 0,
1, 55,
1, 0, /* kura_Lfoot(2) */
1, 0,
10, 45,
1, 0, /* kura_body(0) */
10, 15,
10, 25,
};
AnimeRecord kuramochi_jumpstart_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
10,
7,
kuramochi_jumpstart_prm,
kuramochi_jumpstart_tbl
};
/*--------------------------------------------------------------------------------------------------
AnimeData
---------------------------------------------------------------------------------------------------*/
static short kuramochi_jump_prm[]={
0, 240, -230,16383,15236,16383, -103, 618,
-103, -825,21815, 9222,10630, 9222, 7814, 9274,
8022, 9274,10526,-32767,-32767, -103, 618, -103,
-825,21815,};
static unsigned short kuramochi_jump_tbl[]= {
1, 0, /* chn1(6) */
1, 1,
1, 2,
1, 3, /* chn1(6) */
1, 4,
1, 5,
1, 0, /* kura_face(5) */
4, 21,
1, 25,
1, 0, /* chn2(4) */
1, 0,
1, 20,
1, 0, /* kura_Rfoot(1) */
1, 0,
4, 11,
1, 0, /* chn4(3) */
1, 0,
1, 19,
1, 0, /* kura_Lfoot(2) */
1, 0,
4, 15,
1, 0, /* kura_body(0) */
4, 6,
1, 10,
};
AnimeRecord kuramochi_jump_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
4,
7,
kuramochi_jump_prm,
kuramochi_jump_tbl
};
/*--------------------------------------------------------------------------------------------------
AnimeData
---------------------------------------------------------------------------------------------------*/
static short kuramochi_jumpend_prm[]={
0, 233, 222, 208, -230,16383,15236,16383,
22220,22719,23256, 3979, -987,-5829, 3604,-1534,
-6275,-32767,-32767,22220,22719,23256,};
static unsigned short kuramochi_jumpend_tbl[]= {
1, 0, /* chn1(6) */
3, 1,
1, 4,
1, 5, /* chn1(6) */
1, 6,
1, 7,
1, 0, /* kura_face(5) */
1, 0,
3, 19,
1, 0, /* chn2(4) */
1, 0,
1, 18,
1, 0, /* kura_Rfoot(1) */
1, 0,
3, 11,
1, 0, /* chn4(3) */
1, 0,
1, 17,
1, 0, /* kura_Lfoot(2) */
1, 0,
3, 14,
1, 0, /* kura_body(0) */
1, 0,
3, 8,
};
AnimeRecord kuramochi_jumpend_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
3,
7,
kuramochi_jumpend_prm,
kuramochi_jumpend_tbl
};
/*--------------------------------------------------------------------------------------------------
AnimeData
---------------------------------------------------------------------------------------------------*/
static short kuramochi_waitwalk_prm[]={
0, 180, -230,16383,15236,16383,24527,25272,
26456,27552,28034,27486,26280,25075,-2379, -669,
0,-1103,-3293,-5438,-6404,-5403, 4280, 1384,
0, 1110, 3704, 6326, 7523, 6348,-13487,-11865,
-11272,-12490,-14803,-16988,-17823,-16350, 2867, 4420,
5097, 4348, 2674, 938, 0, 340,-4658,-7181,
-8281,-6969,-4092,-1240, 0,-1466,-13343,-15584,
-16691,-16001,-14158,-12176,-11064,-11327,-32767,-32767,
24527,25272,26456,27552,28034,27486,26280,25075,
};
static unsigned short kuramochi_waitwalk_tbl[]= {
1, 0, /* chn1(6) */
1, 1,
1, 2,
1, 3, /* chn1(6) */
1, 4,
1, 5,
1, 0, /* kura_face(5) */
1, 0,
8, 64,
1, 0, /* chn2(4) */
1, 0,
1, 63,
8, 14, /* kura_Rfoot(1) */
8, 22,
8, 30,
1, 0, /* chn4(3) */
1, 0,
1, 62,
8, 38, /* kura_Lfoot(2) */
8, 46,
8, 54,
1, 0, /* kura_body(0) */
1, 0,
8, 6,
};
AnimeRecord kuramochi_waitwalk_anm={
MAP_ANIM_NORMAL, /* attr */
0, /* code */
0, /* start */
0, /* loop */
8,
7,
kuramochi_waitwalk_prm,
kuramochi_waitwalk_tbl
};
/*=================================================================================================*/
/* Animation Total */
/*=================================================================================================*/
AnimePtr kuramochi_anime[] = {
&kuramochi_base_anm,
&kuramochi_jumpstart_anm,
&kuramochi_jump_anm,
&kuramochi_jumpend_anm,
&kuramochi_waitwalk_anm,
};
/*##################################################*/
#else
/*##################################################*/
/*==================================================================================================
kuramochi Shape Hms Data
====================================================================================================*/
extern Gfx gfx_kura_body[];
extern Gfx gfx_kura_face[];
extern Gfx RCP_kuramochi_base1[];
extern Gfx RCP_kuramochi_base2[];
/*-------------------------------------------------------------*/
/* Hms data */
/*-------------------------------------------------------------*/
Hierarchy RCP_HmsEnemykuramochi_surf[] = {
hmsJoint(RM_SURF,NULL,0,0,0)
hmsBegin()
hmsJoint(RM_SURF,gfx_kura_face,0,0,0) /* kura_face(5) */
hmsBegin()
hmsJoint(RM_SURF,NULL,0,0,-120) /* chn2(4) */
hmsBegin()
hmsJoint(RM_SURF,RCP_kuramochi_base1,0,0,0) /* kura_Rfoot(1) */
hmsEnd()
hmsJoint(RM_SURF,NULL,0,0,120) /* chn4(3) */
hmsBegin()
hmsJoint(RM_SURF,RCP_kuramochi_base2,0,0,0) /* kura_Lfoot(2) */
hmsEnd()
hmsEnd()
hmsJoint(RM_SURF,gfx_kura_body,0,0,0) /* kura_body(0) */
hmsEnd()
hmsReturn()
};
Hierarchy RCP_HmsEnemykuramochi_xsurf[] = {
hmsJoint(RM_SURF,NULL,0,0,0)
hmsBegin()
hmsJoint(RM_XSURF,gfx_kura_face,0,0,0) /* kura_face(5) */
hmsBegin()
hmsJoint(RM_SURF,NULL,0,0,-120) /* chn2(4) */
hmsBegin()
hmsJoint(RM_XSURF,RCP_kuramochi_base1,0,0,0) /* kura_Rfoot(1) */
hmsEnd()
hmsJoint(RM_SURF,NULL,0,0,120) /* chn4(3) */
hmsBegin()
hmsJoint(RM_XSURF,RCP_kuramochi_base2,0,0,0) /* kura_Lfoot(2) */
hmsEnd()
hmsEnd()
hmsJoint(RM_XSURF,gfx_kura_body,0,0,0) /* kura_body(0) */
hmsEnd()
hmsReturn()
};
Hierarchy RCP_HmsEnemykuramochi[] = {
hmsShadow(100, 200, 1)
hmsBegin()
hmsScale(0.25f)
hmsBegin()
hmsCProg(0, AlphaControl)
hmsSelect(2, ControlShapeAnime)
hmsBegin()
hmsCall(RCP_HmsEnemykuramochi_surf)
hmsCall(RCP_HmsEnemykuramochi_xsurf)
hmsEnd()
hmsEnd()
hmsEnd()
hmsEnd()
hmsExit()
};
static long long kuramochi_base_dmmy50 = 0;
// extern AnimeRecord kuramochi_base_anm[];
// extern Hierarchy RCP_HmsEnemykuramochi_base[];
/*=============================================================*/
/* END END */
/*=============================================================*/
/*##################################################*/
#endif
/*##################################################*/