/*================================================================================================== 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 /*##################################################*/