/**********************************************************************

	Title :                 LEVEL 1 DATA
	Filename :              lev1.c
	Author :                Thomas Szirtes
	Revision :              1.0

	Notes :                 Data objects for level 1

	Copyright :             (C) SEGA Europe 1998

  **********************************************************************/

/* Medium definition object models */
extern  NJS_OBJECT      OBJMEDA[];      
extern  NJS_OBJECT      OBJMEDB[];      
extern  NJS_OBJECT      OBJMEDC[];      
extern  NJS_OBJECT      OBJMEDD[];      
extern  NJS_OBJECT      OBJMEDE[];      
extern  NJS_OBJECT      OBJMEDF[];      
extern  NJS_OBJECT      OBJMEDG[];      
extern  NJS_OBJECT      OBJMEDH[];      
extern  NJS_OBJECT      OBJMEDI[];      
extern  NJS_OBJECT      OBJMEDJ[];
extern  NJS_OBJECT      OBJMEDK[];
extern  NJS_OBJECT      OBJMEDL[];
extern  NJS_OBJECT      OBJMEDM[];
extern  NJS_OBJECT      OBJMEDN[];
extern  NJS_OBJECT      OBJMEDO[];
extern  NJS_OBJECT      OBJMEDP[];
extern  NJS_OBJECT      OBJMEDQ[];
extern  NJS_OBJECT      OBJMEDR[];

/* Medium definition texture lists */
extern  NJS_TEXLIST     TEXMEDA;
extern  NJS_TEXLIST     TEXMEDB;
extern  NJS_TEXLIST     TEXMEDC;
extern  NJS_TEXLIST     TEXMEDD;
extern  NJS_TEXLIST     TEXMEDE;
extern  NJS_TEXLIST     TEXMEDF;
extern  NJS_TEXLIST     TEXMEDG;
extern  NJS_TEXLIST     TEXMEDH;
extern  NJS_TEXLIST     TEXMEDI;
extern  NJS_TEXLIST     TEXMEDJ;
extern  NJS_TEXLIST     TEXMEDK;
extern  NJS_TEXLIST     TEXMEDL;
extern  NJS_TEXLIST     TEXMEDM;
extern  NJS_TEXLIST     TEXMEDN;
extern  NJS_TEXLIST     TEXMEDO;
extern  NJS_TEXLIST     TEXMEDP;
extern  NJS_TEXLIST     TEXMEDQ;
extern  NJS_TEXLIST     TEXMEDR;


Sint8   building11sh[]          =       {1,0, 0,0};
Sint8   building33sh[]          =       {0,0, 3, 3};
Sint8   building55sh[]          =       {0,0, 5, 5};
Sint8   building137sh[]         =       {0,0, 14, 8};
Sint8   building77sh[]          =       {0,0, 7, 7};
Sint8   building34sh[]          =       {0,0, 3, 4};
Sint8   building44sh[]          =       {0,0, 4, 4};
Sint8   building1313sh[]        =       {0,0, 23, 23};

/* SHIP DATABASE */
SHIP            *shipdb         [MAX_SHIPS];

/* Attributes on handling */
ATTRSHIP                attrship_comp1  =       {
										4.0f,                                                   /* maximum velocity */
										0.0f,                                                   /* minimum velocity */
										0.5f,                                                   /* acceleration */
										(1.0f/PERIPHERAL_SCALE),                /* deacceleration */
										(2.0f/PERIPHERAL_SCALE),                /* max yaw */
										(1.0f/PERIPHERAL_SCALE),                /* max pitch */
										0.05f,                                                  /* responsiveness yaw */
										0.03f                                                   /* responsiveness pitch */
									};

ATTRSHIP                attrship_comp2  =       {
										8.0f,                                                   /* maximum velocity */
										0.0f,                                                   /* minimum velocity */
										0.5f,                                                   /* acceleration */
										(1.0f/PERIPHERAL_SCALE),                /* deacceleration */
										(2.0f/PERIPHERAL_SCALE),                /* max yaw */
										(1.0f/PERIPHERAL_SCALE),                /* max pitch */
										0.1f,                                                   /* responsiveness yaw */
										0.1f                                                    /* responsiveness pitch */
									};


/* Six instances of a ship */
SHIP                    ship1;
SHIP                    ship2;
SHIP                    ship3;
SHIP                    ship4;
SHIP                    ship5;
SHIP                    ship6;


NJS_TEXNAME     flame_texname[] = {
	{"exp0", 0,0}, 
	{"exp1", 0,0}, 
	{"exp2", 0,0}, 
	{"exp3", 0,0}, 
	{"exp4", 0,0}, 
	{"exp5", 0,0}, 
	{"exp6", 0,0}, 
};


/* Texture animations for paricle effects */

NJS_TEXANIM     smoke_texanim[] = {     { 64,64,32,32,0,0,255, 255,1,0 }  };
NJS_TEXANIM     spark_texanim[] = {     { 8,8,4,4,0,0,255, 255,6,0 }  };


NJS_TEXLIST flame_texlist = {flame_texname,7};

NJS_TEXANIM     flame_texanim[] = {     
	{ 64,64, 32,32, 0,0, 255,255, 0, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 1, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 2, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 3, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 4, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 5, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 6, 0 },
	{ 64,64, 32,32, 0,0, 255,255, 7, 0 }  };

/* Particle System */
PGAUTO                  test_pgauto             =       { 
										1.0f,                                                   /* birth size  */
										2.9f,                                                   /* death size */
										{1.0f, 1.0f, 0.4f, 0.7f},               /* birth color */
										{0.1f, 0.8f, 0.0f, 0.4f},               /* death color */
										0,                                                              /* *internal use* */
										{0.f, 0.f, 0.f, 0.f}                    /* *internal use* */
									};

PFORCE                  test_force              =       {
										0.f,                                                    /* elivation  */
										0.f,                                                    /* azimuth */
										1.0f,                                                   /* force */
										{0.0f, 0.0f, 0.0f},                             /* *internal use* */
										NULL,                                                   /* callback routine */
										NULL                                                    /* link to another force */
									};

PGRAPHIC                test_pgfx               =       { 
										&misc_texlist,                                  /* texture list */
										smoke_texanim,                                  /* texture anim */
										NULL,                                                           /* anim count */
										0.02f,                                                  /* size */
										PG_FLAG_RELATIVE|PG_FLAG_AUTO,  /* flags */
										&test_pgauto                                    /* automatic animation generator */
									};

PSYSTEM                 smoke_particle          =       { 
										0.18f,                                                  /* randomness factor */
										{ 0.f, 0.f, 0.f },                      /* position of generator */
										0.0f,                                                   /* median elivation of flow */
										90.f,                                                   /* median azimuth of flow */
										3.50f,                                                  /* median speed of particles */
										0.f,                                                    /* no weight */
										-5,                                                             /* rate of issue */
										(5*12),                                                 /* lifespan of particles */
										12,                                                             /* max particles */
										NULL,                                                   /* *internal pointer* */
										&test_pgfx,                                             /* pointer to graphic structure */
										NULL                                                    /* link to acting force */
									};


/* sparks */
PGAUTO                  test_pgauto2            =       { 
										0.5f,                                                   /* birth size  */
										1.0f,                                                   /* death size */
										{1.0f, 1.0f, 1.0f, 0.0f},               /* birth color */
										{0.1f, 1.0f, 0.0f, 0.0f},               /* death color */
										0,                                                              /* *internal use* */
										{0.f, 0.f, 0.f, 0.f}                    /* *internal use* */
									};

PGRAPHIC                test_pgfx2              =       { 
										&misc_texlist,                                  /* texture list */
										spark_texanim,                                  /* texture anim */
										NULL,                                                           /* anim count */
										0.005f,                                                 /* size */
										PG_FLAG_RELATIVE|PG_FLAG_AUTO,  /* flags */
										&test_pgauto2                                   /* automatic animation generator */
									};

PSYSTEM                 spark_particle          =       { 
										0.10f,                                                  /* randomness factor */
										{ 0.f, 0.f, 0.f },                      /* position of generator */
										0.0f,                                                   /* median elivation of flow */
										60.f,                                                   /* median azimuth of flow */
										7.00f,                                                  /* median speed of particles */
										0.17f,                                                  /* downward accel */
										-1,                                                             /* rate of issue */
										80,                                                     /* lifespan of particles */
										16,                                                             /* max particles */
										NULL,                                                   /* *internal pointer* */
										&test_pgfx2,                                            /* pointer to graphic structure */
										NULL                                                    /* link to acting force */
									};


/* flames */
PGAUTO                  test_pgauto3            =       { 
										1.0f,                                                   /* birth size  */
										1.0f,                                                   /* death size */
										{1.0f, 1.0f, 1.0f, 0.5f},               /* birth color */
										{0.1f, 1.0f, 0.5f, 0.0f},               /* death color */
										0,                                                              /* *internal use* */
										{0.f, 0.f, 0.f, 0.f}                    /* *internal use* */
									};

Uint8   flame_anims[] = {0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,6};

PGRAPHIC                test_pgfx3              =       { 
										&flame_texlist,                                 /* texture list */
										flame_texanim,                                  /* texture anim */
										flame_anims,                                                            /* anim count */
										0.005f,                                                 /* size */
										PG_FLAG_RELATIVE|PG_FLAG_AUTO,  /* flags */
										&test_pgauto3                                   /* automatic animation generator */
									};

PSYSTEM                 flame_particle          =       { 
										0.10f,                                                  /* randomness factor */
										{ 0.f, 0.f, 0.f },                      /* position of generator */
										0.0f,                                                   /* median elivation of flow */
										60.f,                                                   /* median azimuth of flow */
										6.00f,                                                  /* median speed of particles */
										0.0f,                                                   /* downward accel */
										-1,                                                             /* rate of issue */
										22,                                                     /* lifespan of particles */
										22,                                                             /* max particles */
										NULL,                                                   /* *internal pointer* */
										&test_pgfx3,                                            /* pointer to graphic structure */
										NULL                                                    /* link to acting force */
									};


/*------------------- BUIlDING LIGHTS -----------------------------// */

LIGHTPOINT              lpC[] = { { 10, 0, {-96.f, 555.f, -242.f}},                     /* rate, delay, position  */
						  { 10, 6, {-23.f, 555.f, -57.f}},
						  { 10, 3, {-58.f, 555.f, 26.f}},
						  { 10, 2, {-99.f, 555.f, 97.f}},
						  { 10, 9, {-183.f, 555.f, 184.f}},
						  { 10, 5, {247.f, 555.f, 97.f}} };
LIGHTTEMPLATE   ltC     =       { 0, 6, lpC, 50 };


LIGHTPOINT              lpD[] = { { 25, 0, {-124.f, 1612.f, -124.f}}, 
						  { 25, 0, { 124.f, 1612.f, -124.f}},
						  { 25, 0, {-124.f, 1612.f, 124.f}},
						  { 25, 0, { 124.f, 1612.f, 124.f}},
						  { 25, 1, {-124.f, 749.f, -124.f}}, 
						  { 25, 1, { 124.f, 749.f, -124.f}},
						  { 25, 1, {-124.f, 749.f, 124.f}},
						  { 25, 1, { 124.f, 749.f, 124.f}} };
LIGHTTEMPLATE   ltD     =       { 0, 8, lpD, 50 };

LIGHTPOINT              lpG[] = { { 22, 0, {-124.f, 1643.f, -124.f}}, 
						  { 22, 0, { 124.f, 1643.f, -124.f}},
						  { 22, 0, {-124.f, 1643.f, 124.f}},
						  { 22, 0, { 124.f, 1643.f, 124.f}},
						  { 22, 0, {-124.f, 789.f, -124.f}}, 
						  { 22, 0, { 124.f, 789.f, -124.f}},
						  { 22, 0, {-124.f, 789.f, 124.f}},
						  { 22, 0, { 124.f, 789.f, 124.f}} };
LIGHTTEMPLATE   ltG     =       { 0, 8, lpG, 50 };

LIGHTPOINT              lpH[] = { { 20, 4, {-124.f, 1653.f, -124.f}}, 
						  { 20, 4, { 124.f, 1653.f, -124.f}},
						  { 20, 4, {-124.f, 1653.f, 124.f}},
						  { 20, 4, { 124.f, 1653.f, 124.f}},
						  { 20, 4, {-124.f, 799.f, -124.f}}, 
						  { 20, 4, { 124.f, 799.f, -124.f}},
						  { 20, 4, {-124.f, 799.f, 124.f}},
						  { 20, 4, { 124.f, 799.f, 124.f}} };
LIGHTTEMPLATE   ltH     =       { 0, 8, lpH, 50 };

LIGHTPOINT              lpI[] = { { 16, 2, {0.f, 362.f, 0.f}}, 
						  { 37, 0, {-139.f, 328.f, -120.f}},
						  { 37, 18, { 139.f, 328.f, 120.f}},
						  { 37, 18, { 139.f, 328.f, -120.f}},
						  { 37, 0, {-139.f, 328.f, 120.f}} };
LIGHTTEMPLATE   ltI     =       { 0, 5, lpI, 50 };


LIGHTPOINT              lpJ[] = { { 20, 0, {0.f, 777.f, 0.f}}, 
						  { 40, 0, {-139.f, 712.f, -120.f}},
						  { 40, 20, { 139.f, 712.f, 120.f}},
						  { 40, 0, { 139.f, 712.f, -120.f}},
						  { 40, 20, {-139.f, 712.f, 120.f}} };
LIGHTTEMPLATE   ltJ     =       { 0, 5, lpJ, 50 };


LIGHTPOINT              lpK[] = { { 16, 0, {-245.f, 751.f, 0.f}}, 
						  { 16, 0, { 245.f, 751.f, 0.f}},
						  { 16, 4, { 0.f, 751.f, 245.f}},
						  { 16, 8, { 0.f, 751.f, -245.f}},
						  { 11, 11, { 0.f, 986.f, 0.f}} };
LIGHTTEMPLATE   ltK     =       { 0, 5, lpK, 50 };


LIGHTPOINT              lpL[] = { { 40, 5, {-240.f, 590.f, 0.f}}, 
						  { 40, 10, {-170.f, 590.f, 166.f}},
						  { 40, 15, { 000.f, 590.f, 238.f}},
						  { 40, 20, { 170.f, 590.f, 166.f}},
						  { 40, 25, { 240.f, 590.f, 0.f}},
						  { 40, 30, { 170.f, 590.f, -168.f}},
						  { 40, 35, { 000.f, 590.f, -237.f}},
						  { 40, 40, {-164.f, 590.f, -170.f}} };
LIGHTTEMPLATE   ltL     =       { 0, 8, lpL, 50 };


LIGHTPOINT              lpM[] = { { 25, 25, {11.f, 611.f, 0.f}} };
LIGHTTEMPLATE   ltM     =       { 0, 1, lpM, 50 };


/*----------------------------------------------------------- */
/*              COLLISION INFORMATION TEMPLATES */
/*----------------------------------------------------------- */

/* building A */
COLOBJ_CONE collide_cone_a              =       { 188.f, 113.f, 158.f };
COLOBJ_CYLINDER collide_cyl_a   =       { 0, 76.f, 528.f };
COLLIDE_OBJ     collide_build_a_1       =       {COLOBJ_TYPE_CONE, 0, (void *)&collide_cone_a, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_a         =       {COLOBJ_TYPE_CYLINDER, 0, (void *)&collide_cyl_a, {0.f,155.f,0.f}, NULL, &collide_build_a_1};

/* building B */
extern  NJS_MODEL       model__Bcln_Btop1[];
extern  NJS_MODEL       model__Bcln_Bpart1[];
COLOBJ_CUBOID collide_cuboid_b  =       { {-850.f,0.f,-510.f},{850.f,384.f,369.f} };
COLLIDE_OBJ     collide_build_b_8       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_b_7       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {-677.f,378.f,0.f}, NULL, &collide_build_b_8};
COLLIDE_OBJ     collide_build_b_6       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {-467.f,378.f,0.f}, NULL, &collide_build_b_7};
COLLIDE_OBJ     collide_build_b_5       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {-235.f,378.f,0.f}, NULL, &collide_build_b_6};
COLLIDE_OBJ     collide_build_b_4       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {-0.f,  378.f,0.f}, NULL, &collide_build_b_5};
COLLIDE_OBJ     collide_build_b_3       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, { 227.f,378.f,0.f}, NULL, &collide_build_b_4};
COLLIDE_OBJ     collide_build_b_2       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, { 458.f,378.f,0.f}, NULL, &collide_build_b_3};
COLLIDE_OBJ     collide_build_b_1       =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, { 678.f,378.f,0.f}, NULL, &collide_build_b_2};
COLLIDE_OBJ     collide_build_b         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_b, {0.f,0.f,0.f}, NULL, &collide_build_b_1};

/* building C */
extern NJS_MODEL model_Cclsn_Cclsn_Cpart1[];
extern NJS_MODEL model_Cclsn_Cclsn_Cpart2[];
extern NJS_MODEL model_Cclsn_Cclsn_Cpart3[];
COLLIDE_OBJ     collide_build_c_2               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_c_1               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_c_2};
COLLIDE_OBJ     collide_build_c                 =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_c_1};

/* building D */
COLOBJ_CUBOID collide_cuboid_d  =       { {-122.f,0.f,-122.f},{122.f,1595.f,122.f} };
COLLIDE_OBJ     collide_build_d         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_d, {0.f,0.f,0.f}, NULL, NULL};

/* building E */
COLOBJ_CUBOID collide_cuboid_e  =       { {-430.f,0.f,-430.f},{430.f,334.f,430.f} };
COLLIDE_OBJ     collide_build_e         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_e, {0.f,0.f,0.f}, NULL, NULL};

/* building F */
COLOBJ_CUBOID collide_cuboid_f  =       { {-177.f,0.f,-177.f},{177.f,266.f,177.f} };
COLLIDE_OBJ     collide_build_f         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_e, {0.f,0.f,0.f}, NULL, NULL};

/* building G */
COLOBJ_CUBOID collide_cuboid_g  =       { {-122.f,0.f,-122.f},{122.f,1626.f,122.f} };
COLLIDE_OBJ     collide_build_g         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_g, {0.f,0.f,0.f}, NULL, NULL};

/* building H */
COLOBJ_CUBOID collide_cuboid_h  =       { {-122.f,0.f,-122.f},{122.f,1635.f,122.f} };
COLLIDE_OBJ     collide_build_h         =       {COLOBJ_TYPE_CUBOID, 0, (void *)&collide_cuboid_h, {0.f,0.f,0.f}, NULL, NULL};

/* building I */
COLOBJ_CYLINDER collide_cyl_i   =       { 0,180.f,389.f };
COLOBJ_CONE		collide_con_i   =       { 178,50.f,50.f };
COLLIDE_OBJ     collide_build_i_1 =     {COLOBJ_TYPE_CONE, 0, (void *)&collide_con_i, {0.f,388.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_i =       {COLOBJ_TYPE_CYLINDER, 0, (void *)&collide_cyl_i, {0.f,0.f,0.f}, NULL, &collide_build_i_1};

/* building J */
COLOBJ_CYLINDER collide_cyl_j   =       { 0,176.f,661.f };
COLOBJ_CONE             collide_con_j   =       { 178,50.f,50.f };
COLLIDE_OBJ             collide_build_j_1       =       {COLOBJ_TYPE_CONE, 0, (void *)&collide_con_j, {0.f,660.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_j         =       {COLOBJ_TYPE_CYLINDER, 0, (void *)&collide_cyl_j, {0.f,0.f,0.f}, NULL, &collide_build_j_1};

/* building K */
extern NJS_MODEL model_Kclsn_Kclsn_Kpart1[];
extern NJS_MODEL model_Kclsn_Kclsn_Kpart2[];
extern NJS_MODEL model_Kclsn_Kclsn_Kpart3[];
COLLIDE_OBJ     collide_build_k_3               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_k_2               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_k_3};
COLLIDE_OBJ     collide_build_k_1               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_k_2};

/* building L */
extern NJS_MODEL model_Lclns_clsn_Lbase1[];
extern NJS_MODEL model_Lclns_clsn_Lbase2[];
extern NJS_MODEL model_Lclns_clsn_Lbase3[];
COLLIDE_OBJ     collide_build_l_3               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_l_2               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_l_3};
COLLIDE_OBJ     collide_build_l_1               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_l_2};

/* building M */
extern  NJS_MODEL       model_m_clsn_Mbase1[];
extern  NJS_MODEL   model_m_clsn_Mbase2[];
extern  NJS_MODEL   model_m_clsn_Mmid1[];
extern  NJS_MODEL   model_m_clsn_Mmid2[];
extern  NJS_MODEL   model_m_clsn_Mtop[];
COLLIDE_OBJ     collide_build_m_5               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, NULL};
COLLIDE_OBJ     collide_build_m_4               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_m_5};
COLLIDE_OBJ     collide_build_m_3               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_m_4};
COLLIDE_OBJ     collide_build_m_2               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_m_3};
COLLIDE_OBJ     collide_build_m_1               =       {COLOBJ_TYPE_POLYH, 0, (void *)NULL, {0.f,0.f,0.f}, NULL, &collide_build_m_2 };

/* building N!!! */

/* buffer for generating collision information */
PLANE           testpl[256];

#define LIGHTOBB        object_building_B_light 
extern NJS_OBJECT LIGHTOBB;

/* Building database - this contains object, texture and size information */
BUILDING        buildings[]={
/*        obj           tex              lobj           ltempl  shadow                  collision                       particle */
	{ OBJMEDA, &TEXMEDA, NULL,              NULL,   building33sh,   &collide_build_a,       NULL },                 
	{ OBJMEDB, &TEXMEDB, &LIGHTOBB, NULL,   building137sh,  &collide_build_b,       NULL },
	{ OBJMEDC, &TEXMEDC, NULL,              &ltC,   building55sh,   &collide_build_c,       NULL }, 
	{ OBJMEDD, &TEXMEDD, NULL,              &ltD,   building33sh,   &collide_build_d,       NULL },
	{ OBJMEDE, &TEXMEDE, NULL,              NULL,   building77sh,   &collide_build_e,       NULL }, 
	{ OBJMEDF, &TEXMEDF, NULL,              NULL,   building33sh,   &collide_build_f,       NULL },
	{ OBJMEDG, &TEXMEDG, NULL,              &ltG,   building33sh,   &collide_build_g,       NULL },
	{ OBJMEDH, &TEXMEDH, NULL,              &ltH,   building33sh,   &collide_build_h,       NULL },
	{ OBJMEDI, &TEXMEDI, NULL,              &ltI,   building33sh,   &collide_build_i,       NULL },
	{ OBJMEDJ, &TEXMEDJ, NULL,              &ltJ,   building33sh,   &collide_build_j,       NULL }, 
	{ OBJMEDK, &TEXMEDK, NULL,              &ltK,   building77sh,   &collide_build_k_1, NULL }, 
	{ OBJMEDL, &TEXMEDL, NULL,              &ltL,   building55sh,   &collide_build_l_1, NULL }, 
	{ OBJMEDM, &TEXMEDM, NULL,              &ltM,   building77sh,   &collide_build_m_1, NULL }, 
	{ NULL,    NULL,         NULL,          NULL,   building1313sh, NULL,                           NULL },
	{ OBJMEDO, &TEXMEDO, NULL,              NULL,   building11sh,   NULL,                           NULL },
	{ OBJMEDP, &TEXMEDP, NULL,              NULL,   building11sh,   NULL,                           &spark_particle },
	{ OBJMEDQ, &TEXMEDQ, NULL,              NULL,   building11sh,   NULL,                           &flame_particle },
	{ OBJMEDR, &TEXMEDR, NULL,              NULL,   building11sh,   NULL,                           &smoke_particle },
	};

/*------------------------------------------------------------ */
/*      SCRIPT DATA for ships  - specified in MACRO language */
/*------------------------------------------------------------ */

SCRIPT(scr_test)
START
	POSITION(MAP(36,52))
	ALTITUDE(180)
	GOTO(MAP(38,58))
	WAITUNTIL(DONE)
	GOTO(MAP(32,49))
	WAITUNTIL(DONE)
	GOTO(MAP(36,52))
	WAITUNTIL(DONE)
END

SCRIPT(scr_test2)
START
	POSITION(MAP(38,54))
	ALTITUDE(210)
	GOTO(MAP(37,51))
	WAITUNTIL(DONE)
	GOTO(MAP(32,53))
	WAITUNTIL(DONE)
	GOTO(MAP(34,52))
	WAITUNTIL(DONE)
	GOTO(MAP(38,54))
	WAITUNTIL(DONE)
END

SCRIPT(scr_test4)
START
	POSITION(MAP(26,60))
	ALTITUDE(230)
	GOTO(MAP(30,61))
	WAITUNTIL(DONE)
	GOTO(MAP(26,60))
	WAITUNTIL(DONE)
END

SCRIPT(scr_test5)
START
	POSITION(MAP(30,62))
	ALTITUDE(190)
	GOTO(MAP(30,57))
	WAITUNTIL(DONE)
	GOTO(MAP(30,62))
	WAITUNTIL(DONE)
END

SCRIPT(scr_test6)
START
	POSITION(MAP(32,52))
	ALTITUDE(210)
	GOTO(MAP(28,59))
	WAITUNTIL(DONE)
	GOTO(MAP(34,58))
	WAITUNTIL(DONE)
END
