
/***********************/
#ifdef GFX_SHAPE
/***********************/



/**************************************************************/
/*	shape data new_bom_basedata (skeleton & animation) */
/**************************************************************/

#include "bom_txt.h"
#include "bom_eye_shape.sou"
#include "bom_body_shape.sou"



#define ShapeColor_new_bom_basedata(r,g,b)   ShapeColor(r,g,b)

/*-------------------------------------------------------------*/
/*	light data                                                 */
/*-------------------------------------------------------------*/

static Lights1 light_new_bom_basedata[]={
	ShapeColor_new_bom_basedata(255,153,18),
	ShapeColor_new_bom_basedata(178,178,178),
	ShapeColor_new_bom_basedata(0,0,0),
};

/*-------------------------------------------------------------*/
/*	vertex & polygon data                                      */
/*-------------------------------------------------------------*/

static Vtx vtx_new_bom_basedata0[]={
	{27,-26,-31,0,0,0,-21,-106,-65,0},
	{-36,0,-20,0,0,0,-79,-48,-86,0},
	{32,0,-41,0,0,0,-4,-5,-126,0},
	{85,0,-32,0,0,0,80,-15,-96,255},
	{79,28,-20,0,0,0,52,98,-60,255},
	{79,28,15,0,0,0,52,98,60,255},
	{85,0,27,0,0,0,80,-15,96,255},
	{33,28,29,0,0,0,-1,105,71,255},
	{-29,28,12,0,0,0,-56,96,60,255},
	{-36,0,16,0,0,0,-79,-48,86,255},
	{32,0,37,0,0,0,-4,-5,126,255},
	{33,28,-34,0,0,0,-1,105,-71,255},
	{-29,28,-16,0,0,0,-56,96,-60,255},
	{68,-30,16,0,0,0,38,-107,54,255},
	{68,-30,-21,0,0,0,38,-107,-54,255},
	{27,-26,27,0,0,0,-21,-106,65,255},
	{27,-26,-31,0,0,0,-19,-112,-56,255},
	{27,-26,27,0,0,0,-11,-94,83,0},
	{-36,0,16,0,0,0,-94,-8,84,0},
	{-36,0,-20,0,0,0,-87,-35,-84,255},
};
static Vtx vtx_new_bom_basedata1[]={
	{32,0,41,0,0,0,-4,-5,126,0},
	{-36,0,20,0,0,0,-79,-48,86,0},
	{27,-26,31,0,0,0,-21,-106,65,0},
	{84,0,-27,0,0,0,80,-15,-96,255},
	{79,28,-15,0,0,0,52,98,-60,255},
	{79,28,20,0,0,0,52,98,60,255},
	{84,0,32,0,0,0,80,-15,96,255},
	{32,0,-37,0,0,0,-4,-5,-126,255},
	{-36,0,-16,0,0,0,-79,-48,-86,255},
	{-28,28,-12,0,0,0,-56,96,-60,255},
	{33,28,-29,0,0,0,-1,105,-71,255},
	{-28,28,16,0,0,0,-56,96,60,255},
	{33,28,33,0,0,0,-1,105,71,255},
	{68,-29,21,0,0,0,38,-107,54,255},
	{68,-29,-16,0,0,0,38,-107,-54,255},
	{27,-26,-27,0,0,0,-21,-106,-65,255},
	{27,-26,-27,0,0,0,-19,-112,-56,255},
	{27,-26,31,0,0,0,-11,-94,83,0},
	{-36,0,20,0,0,0,-94,-8,84,0},
	{-36,0,-16,0,0,0,-87,-35,-84,255},
};
static Vtx vtx_new_bom_basedata3[]={
	{0,-100,59,0,0,0,0,-2,127,0},
	{-53,-99,28,0,0,0,-63,-2,109,0},
	{-53,-140,27,0,0,0,-63,-2,109,0},
	{0,-141,58,0,0,0,0,-2,127,255},
	{53,-99,28,0,0,0,63,-2,109,255},
	{53,-140,27,0,0,0,63,-2,109,255},
	{-53,-99,28,0,0,0,-127,0,0,255},
	{-53,-98,-32,0,0,0,-127,0,0,255},
	{-53,-139,-33,0,0,0,-127,0,0,255},
	{-53,-140,27,0,0,0,-127,0,0,255},
	{-53,-98,-32,0,0,0,-63,2,-109,255},
	{0,-97,-63,0,0,0,-63,2,-109,255},
	{0,-138,-64,0,0,0,-63,2,-109,255},
	{-53,-139,-33,0,0,0,-63,2,-109,255},
	{53,-98,-32,0,0,0,127,0,0,255},
	{53,-99,28,0,0,0,127,0,0,0},
	{53,-140,27,0,0,0,127,0,0,0},
	{53,-139,-33,0,0,0,127,0,0,255},
	{0,-97,-63,0,0,0,63,2,-109,255},
	{53,-98,-32,0,0,0,63,2,-109,255},
	{53,-139,-33,0,0,0,63,2,-109,255},
	{0,-138,-64,0,0,0,63,2,-109,255},
	{0,-138,-64,0,0,0,0,-127,-2,255},
	{53,-139,-33,0,0,0,0,-127,-2,255},
	{53,-140,27,0,0,0,0,-127,-2,255},
	{0,-141,58,0,0,0,0,-127,-2,255},
	{-53,-140,27,0,0,0,0,-127,-2,255},
	{-53,-139,-33,0,0,0,0,-127,-2,255},
};
Gfx RCP_new_bom_basedata0[]={
	gsSPLight((&light_new_bom_basedata[0].l[0]),1),
	gsSPLight((&light_new_bom_basedata[0].a),2),
	gsSPVertex(&vtx_new_bom_basedata0[0],16,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(3,4,5,0),
	gsSP1Triangle(3,5,6,0),
	gsSP1Triangle(7,8,9,0),
	gsSP1Triangle(7,9,10,0),
	gsSP1Triangle(11,12,8,0),
	gsSP1Triangle(11,8,7,0),
	gsSP1Triangle(6,13,14,0),
	gsSP1Triangle(6,14,3,0),
	gsSP1Triangle(9,8,12,0),
	gsSP1Triangle(9,12,1,0),
	gsSP1Triangle(10,9,15,0),
	gsSP1Triangle(2,1,12,0),
	gsSP1Triangle(2,12,11,0),
	gsSP1Triangle(10,6,5,0),
	gsSP1Triangle(10,5,7,0),
	gsSP1Triangle(0,14,13,0),
	gsSP1Triangle(0,13,15,0),
	gsSP1Triangle(11,4,3,0),
	gsSP1Triangle(11,3,2,0),
	gsSP1Triangle(2,3,14,0),
	gsSP1Triangle(2,14,0,0),
	gsSP1Triangle(7,5,4,0),
	gsSP1Triangle(7,4,11,0),
	gsSP1Triangle(15,13,6,0),
	gsSP1Triangle(15,6,10,0),
	gsSPVertex(&vtx_new_bom_basedata0[16],4,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(0,2,3,0),
	gsSPEndDisplayList()
};
Gfx RCP_new_bom_basedata1[]={
	gsSPLight((&light_new_bom_basedata[0].l[0]),1),
	gsSPLight((&light_new_bom_basedata[0].a),2),
	gsSPVertex(&vtx_new_bom_basedata1[0],16,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(3,4,5,0),
	gsSP1Triangle(3,5,6,0),
	gsSP1Triangle(7,8,9,0),
	gsSP1Triangle(7,9,10,0),
	gsSP1Triangle(10,9,11,0),
	gsSP1Triangle(10,11,12,0),
	gsSP1Triangle(6,13,14,0),
	gsSP1Triangle(6,14,3,0),
	gsSP1Triangle(1,11,9,0),
	gsSP1Triangle(1,9,8,0),
	gsSP1Triangle(15,8,7,0),
	gsSP1Triangle(12,11,1,0),
	gsSP1Triangle(12,1,0,0),
	gsSP1Triangle(10,4,3,0),
	gsSP1Triangle(10,3,7,0),
	gsSP1Triangle(15,14,13,0),
	gsSP1Triangle(15,13,2,0),
	gsSP1Triangle(0,6,5,0),
	gsSP1Triangle(0,5,12,0),
	gsSP1Triangle(2,13,6,0),
	gsSP1Triangle(2,6,0,0),
	gsSP1Triangle(12,5,4,0),
	gsSP1Triangle(12,4,10,0),
	gsSP1Triangle(7,3,14,0),
	gsSP1Triangle(7,14,15,0),
	gsSPVertex(&vtx_new_bom_basedata1[16],4,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(0,2,3,0),
	gsSPEndDisplayList()
};
Gfx RCP_new_bom_basedata3[]={
	gsSPLight((&light_new_bom_basedata[1].l[0]),1),
	gsSPLight((&light_new_bom_basedata[1].a),2),
	gsSPVertex(&vtx_new_bom_basedata3[0],14,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(0,2,3,0),
	gsSP1Triangle(4,0,3,0),
	gsSP1Triangle(4,3,5,0),
	gsSP1Triangle(6,7,8,0),
	gsSP1Triangle(6,8,9,0),
	gsSP1Triangle(10,11,12,0),
	gsSP1Triangle(10,12,13,0),
	gsSPVertex(&vtx_new_bom_basedata3[14],14,0),
	gsSP1Triangle(0,1,2,0),
	gsSP1Triangle(0,2,3,0),
	gsSP1Triangle(4,5,6,0),
	gsSP1Triangle(4,6,7,0),
	gsSP1Triangle(8,9,10,0),
	gsSP1Triangle(8,10,11,0),
	gsSP1Triangle(8,11,12,0),
	gsSP1Triangle(8,12,13,0),
	gsSPEndDisplayList()
};

/*-------------------------------------------------------------*/
/*	animation data                                      */
/*-------------------------------------------------------------*/


/*=============================================================*/
/*	Base Data                                       	   */
/*=============================================================*/
static short new_bom_walk_prm[]={
	    0,   -8,   -8,   -6,   -4,   -1,    0,    1,
	    3,    5,    6,    7,    8,    7,    6,    5,
	    3,    1,    0,   -1,   -3,   -4,   -6,   -7,
	   -8,   -8,  162,  163,  166,  170,  173,  174,
	  173,  171,  168,  165,  163,  162,  163,  165,
	  168,  171,  173,  174,  173,  171,  169,  167,
	  164,  163,  162,16383,    0,   -4,  -14,  -28,
	  -45,  -60,  -72,  -78,  -77,  -65,  -40,    0,
	  131,  363,  596,  730,  724,  638,  518,  413,
	  318,  209,  106,   30,    0,    0,    0,    0,
	    0,    0,    0,    0,    0,    0,    0,    0,
	    0,   -2,   -6,   -7,    0,   22,   56,   87,
	  101,   90,   65,   35,   10,    0,-22954,-22814,
	-22423,-21823,-21057,-20168,-19197,-18187,-17181,-16221,
	-15350,-14610,-13858,-13134,-12759,-13052,-14418,-16580,
	-18833,-20475,-21437,-22140,-22609,-22872,-22954,-14401,
	-13741,-12568,-12090,-13555,-15771,-17653,-19507,-20969,
	-22003,-22644,-22641,-22153,-21528,-20798,-19994,-19145,
	-18282,-17435,-16635,-15912,-15297,-14819,-14511,-14401,
	26917,26483,25290,23509,21307,18852,16313,13858,
	11656, 9875, 8682, 8248, 8562, 9437,10771,12462,
	14408,16507,18657,20756,22702,24393,25728,26603,
	26917, 8456, 8845, 9911,11503,13471,15666,17935,
	20129,22098,23690,24756,25144,24863,24081,22888,
	21377,19637,17761,15839,13963,12224,10712, 9520,
	 8737, 8456,  518,  477,  370,  225,   68,  -72,
	 -217, -385, -555, -705, -810, -848, -815, -729,
	 -605, -459, -307, -162,  -40,   74,  198,  318,
	  420,  492,  518,   52,   48,   39,   26,   11,
	   -2,  -18,  -37,  -57,  -75,  -88,  -93,  -90,
	  -80,  -66,  -49,  -32,  -16,   -2,    8,   21,
	   32,   42,   49,   52,31725,31852,32154,32514,
	-32720,-32601,-32704,32584,32270,31958,31718,31623,
	31696,31882,32137,32415,32672,-32671,-32592,-32677,
	32633,32339,32044,31816,31725,};

static unsigned short new_bom_walk_tbl[]={
	   25,    1,	/* chn8_1translate x */
	   25,   26,	/* chn8_1 translate y */
	    1,    0,	/* chn8_1 translate z */
	    1,    0,	/* chn8_1 rotate x */
	    1,   51,	/* chn8_1 rotate y */
	    1,    0,	/* chn8_1 rotate z */
	   25,  202,	/* jnt8_1 rotate x */
	   25,  227,	/* jnt8_1 rotate y */
	   25,  252,	/* jnt8_1 rotate z */
	    1,    0,	/* sphere7_1 rotate x */
	    1,    0,	/* sphere7_1 rotate y */
	    1,    0,	/* sphere7_1 rotate z */
	    1,    0,	/* chn7 rotate x */
	    1,    0,	/* chn7 rotate y */
	    1,    0,	/* chn7 rotate z */
	    1,    0,	/* jnt7_1 rotate x */
	    1,    0,	/* jnt7_1 rotate y */
	   25,  152,	/* jnt7_1 rotate z */
	   25,   52,	/* jnt7_2 rotate x */
	   25,   77,	/* jnt7_2 rotate y */
	   25,  102,	/* jnt7_2 rotate z */
	    1,    0,	/* cube2 rotate x */
	    1,    0,	/* cube2 rotate y */
	    1,    0,	/* cube2 rotate z */
	    1,    0,	/* chn5 rotate x */
	    1,    0,	/* chn5 rotate y */
	    1,    0,	/* chn5 rotate z */
	    1,    0,	/* jnt5_1 rotate x */
	    1,    0,	/* jnt5_1 rotate y */
	   25,  177,	/* jnt5_1 rotate z */
	    1,    0,	/* jnt5_2 rotate x */
	    1,    0,	/* jnt5_2 rotate y */
	   25,  127,	/* jnt5_2 rotate z */
	    1,    0,	/* cube3 rotate x */
	    1,    0,	/* cube3 rotate y */
	    1,    0,	/* cube3 rotate z */
	    1,    0,	/* cyl2 rotate x */
	    1,    0,	/* cyl2 rotate y */
	    1,    0,	/* cyl2 rotate z */
	    1,    0,	/* grid1 rotate x */
	    1,    0,	/* grid1 rotate y */
	    1,    0,	/* grid1 rotate z */
};
AnimeRecord new_bom_walk_anm={
	MAP_ANIM_NORMAL,	/* attr 	*/
	0,					/* code 	*/
	0,					/* start 	*/
	0,					/* loop 	*/
	25,
	13,
	new_bom_walk_prm,
	new_bom_walk_tbl
};

/*=============================================================*/
/*	Help Data                                       	   */
/*=============================================================*/


static short new_bom_help_prm[]={
	    0,  177,    0,    2,    8,   14,   16,   14,
	   10,    5,    1,    0,16383, 4067, 4100, 4172,
	 4243, 4276, 4254, 4202, 4141, 4089, 4067,-17426,
	-16643,-14923,-13202,-12419,-12940,-14182,-15664,-16905,
	-17426, -987, -662,   50,  763, 1088,  872,  357,
	 -256, -771, -987,-3844,-4175,-4903,-5630,-5961,
	-5741,-5216,-4589,-4064,-3844,-10047,-11446,-14524,
	-17601,-19000,-18069,-15849,-13199,-10978,-10047,16383,
	16383,29950,30293,31046,31798,32141,31913,31370,
	30721,30178,29950,};
static unsigned short new_bom_help_tbl[]={
	    1,    0,	/* chn8_1translate x */
	    1,    1,	/* chn8_1 translate y */
	   10,    2,	/* chn8_1 translate z */
	    1,    0,	/* chn8_1 rotate x */
	    1,   12,	/* chn8_1 rotate y */
	    1,    0,	/* chn8_1 rotate z */
	    1,    0,	/* jnt8_1 rotate x */
	    1,    0,	/* jnt8_1 rotate y */
	   10,   65,	/* jnt8_1 rotate z */
	    1,    0,	/* sphere7_1 rotate x */
	    1,    0,	/* sphere7_1 rotate y */
	    1,    0,	/* sphere7_1 rotate z */
	    1,    0,	/* chn7 rotate x */
	    1,    0,	/* chn7 rotate y */
	    1,    0,	/* chn7 rotate z */
	    1,    0,	/* jnt7_1 rotate x */
	    1,    0,	/* jnt7_1 rotate y */
	    1,   63,	/* jnt7_1 rotate z */
	    1,    0,	/* jnt7_2 rotate x */
	   10,   13,	/* jnt7_2 rotate y */
	   10,   23,	/* jnt7_2 rotate z */
	    1,    0,	/* cube2 rotate x */
	    1,    0,	/* cube2 rotate y */
	    1,    0,	/* cube2 rotate z */
	    1,    0,	/* chn5 rotate x */
	    1,    0,	/* chn5 rotate y */
	    1,    0,	/* chn5 rotate z */
	    1,    0,	/* jnt5_1 rotate x */
	    1,    0,	/* jnt5_1 rotate y */
	    1,   64,	/* jnt5_1 rotate z */
	   10,   33,	/* jnt5_2 rotate x */
	   10,   43,	/* jnt5_2 rotate y */
	   10,   53,	/* jnt5_2 rotate z */
	    1,    0,	/* cube3 rotate x */
	    1,    0,	/* cube3 rotate y */
	    1,    0,	/* cube3 rotate z */
	    1,    0,	/* cyl2 rotate x */
	    1,    0,	/* cyl2 rotate y */
	    1,    0,	/* cyl2 rotate z */
	    1,    0,	/* grid1 rotate x */
	    1,    0,	/* grid1 rotate y */
	    1,    0,	/* grid1 rotate z */
};
AnimeRecord new_bom_help_anm={
	MAP_ANIM_NORMAL,	/* attr 	*/
	0,					/* code 	*/
	0,					/* start 	*/
	0,					/* loop 	*/
	10,
	13,
	new_bom_help_prm,
	new_bom_help_tbl
};


/*=================================================================================================*/
/*		Kombu Animation 																               */
/*=================================================================================================*/
AnimePtr RCP_new_BomAnime[] = {
	&new_bom_walk_anm ,
	&new_bom_help_anm ,
};


/***********************/
#else
/***********************/


extern Gfx gfx_Blackbom_body[];
extern Gfx RCP_new_bom_basedata0[];
extern Gfx RCP_new_bom_basedata1[];
extern Gfx RCP_new_bom_basedata3[];
extern Gfx gfx_bom_eyeA[];
extern Gfx gfx_bom_eyeB[];
extern Gfx gfx_Redbom_body[];



/*-------------------------------------------------------------*/
/*	Hms data 			                                       */
/*-------------------------------------------------------------*/

Hierarchy RCP_HmsEnemyNewBlackBom[] = {
 hmsShadow(70, 200, 1)
 hmsBegin()
 hmsScale(0.375f)
    hmsBegin()
      hmsJoint(RM_SURF,NULL,0,0,0)  /* chn8_1(12) */
      hmsBegin()
         hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt8_1(11) */
         hmsBegin()
/*--- softsprite   ---*/
	      hmsJoint(RM_SURF,NULL,0,0,0)  /* body_sprite(35) */
		  hmsBegin()
			hmsBboard(0,0,0)
		    hmsBegin()
			  hmsGfx(RM_SPRITE,gfx_Blackbom_body)
		  	hmsEnd()
		  hmsEnd()
/*--- softsprite   ---*/
           hmsJoint(RM_SURF,NULL,0,57,-60)  /* chn7(9) */
            hmsBegin()
               hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt7_1(6) */
               hmsBegin()
                  hmsJoint(RM_SURF,NULL,91,0,0)  /* jnt7_2(3) */
                  hmsBegin()
                     hmsJoint(RM_SURF,RCP_new_bom_basedata0,0,0,0)  /* cube2(0) */
                  hmsEnd()
               hmsEnd()
            hmsEnd()
            hmsJoint(RM_SURF,NULL,0,55,62)  /* chn5(8) */
            hmsBegin()
               hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt5_1(7) */
               hmsBegin()
                  hmsJoint(RM_SURF,NULL,91,0,0)  /* jnt5_2(4) */
                  hmsBegin()
                     hmsJoint(RM_SURF,RCP_new_bom_basedata1,0,0,0)  /* cube3(1) */
                  hmsEnd()
               hmsEnd()
            hmsEnd()
            hmsJoint(RM_SURF,RCP_new_bom_basedata3,0,0,0)  /* cyl2(5) */
/*----------- Sprite Animetion -------*/
			hmsSelect(2, ControlShapeAnime)
			hmsBegin()
	            hmsJoint(RM_SPRITE,gfx_bom_eyeA,0,0,0)  /* ,grid1(2) */
    	        hmsJoint(RM_SPRITE,gfx_bom_eyeB,0,0,0)  /* ,grid1(2) */
			hmsEnd()
/*------------------------------------*/
         hmsEnd()
      hmsEnd()
   hmsEnd()
 hmsEnd()
 hmsExit()
};

Hierarchy RCP_HmsEnemyNewRedBom[] = {
 hmsShadow(70, 200, 1)
 hmsBegin()
 hmsScale(0.375f)
    hmsBegin()
      hmsJoint(RM_SURF,NULL,0,0,0)  /* chn8_1(12) */
      hmsBegin()
         hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt8_1(11) */
         hmsBegin()
/*--- softsprite   ---*/
	      hmsJoint(RM_SURF,NULL,0,0,0)  /* body_sprite(35) */
		  hmsBegin()
			hmsBboard(0,0,0)
		    hmsBegin()
			  hmsGfx(RM_SPRITE,gfx_Redbom_body)
		  	hmsEnd()
		  hmsEnd()
/*--- softsprite   ---*/
           hmsJoint(RM_SURF,NULL,0,57,-60)  /* chn7(9) */
            hmsBegin()
               hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt7_1(6) */
               hmsBegin()
                  hmsJoint(RM_SURF,NULL,91,0,0)  /* jnt7_2(3) */
                  hmsBegin()
                     hmsJoint(RM_SURF,RCP_new_bom_basedata0,0,0,0)  /* cube2(0) */
                  hmsEnd()
               hmsEnd()
            hmsEnd()
            hmsJoint(RM_SURF,NULL,0,55,62)  /* chn5(8) */
            hmsBegin()
               hmsJoint(RM_SURF,NULL,0,0,0)  /* jnt5_1(7) */
               hmsBegin()
                  hmsJoint(RM_SURF,NULL,91,0,0)  /* jnt5_2(4) */
                  hmsBegin()
                     hmsJoint(RM_SURF,RCP_new_bom_basedata1,0,0,0)  /* cube3(1) */
                  hmsEnd()
               hmsEnd()
            hmsEnd()
            hmsJoint(RM_SURF,RCP_new_bom_basedata3,0,0,0)  /* cyl2(5) */
/*----------- Sprite Animetion -------*/
			hmsSelect(2, ControlShapeAnime)
			hmsBegin()
	            hmsJoint(RM_SPRITE,gfx_bom_eyeA,0,0,0)  /* ,grid1(2) */
    	        hmsJoint(RM_SPRITE,gfx_bom_eyeB,0,0,0)  /* ,grid1(2) */
			hmsEnd()
/*------------------------------------*/
        hmsEnd()
      hmsEnd()
   hmsEnd()
 hmsEnd()
 hmsExit()
};



/***********************/
#endif
/***********************/

