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

	Title :			Futuristic City Header File
	Filename :		future.h
	Author :		Thomas Szirtes
	Revision :		1.0

	Notes :			There is some grey-areas about what data should
					belong to future, ftypes and ship header files...

	Copyright :		(C) SEGA Europe 1998

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

#ifndef _FUTURE_H_INCLUDED
#define _FUTURE_H_INCLUDED


/*
 * Include files.
 */
#include	"ftypes.h"
#ifdef		USING_SET4
#include	"shinobi.h"
#else
#include	"ninja.h"
#endif



/*
 * Compilation Options 
 */
#define		HAZEENABLE


/*
 * #defines and macros.
 */

#define	VIEWMODE_INTERNAL	0
#define	VIEWMODE_FIXED		1
#define	VIEWMODE_EXTERNAL	2
#define	VIEWMODE_FOLLOW		3

/* Define building objects */
#define	OBJMEDA				object_building_A_A
#define OBJMEDB				object_building_B_B
#define OBJMEDC				object_building_C_C
#define OBJMEDD				object_building_D_D
#define OBJMEDE				object_building_E_E
#define OBJMEDF				object_building_F_F
#define OBJMEDG				object_building_G_G
#define OBJMEDH				object_building_H_H
#define OBJMEDI				object_building_I_I
#define OBJMEDJ				object_buildingJ_null1_null1
#define OBJMEDK				object_buildingK_buildingK_buildingK
#define OBJMEDL				object_building_L_1_L_1
#define OBJMEDM				object_building_M_M
#define OBJMEDN				object_building_N_N
#define	OBJMEDO				object_twistedmetal_metal1_metal1
#define	OBJMEDP				object_twistedmetal_metal2_metal2
#define	OBJMEDQ				object_twistedmetal_metal3_metal3
#define OBJMEDR				object_chimney_block4_block4

/* Define building textures */
#define TEXMEDA				texlist_building_A
#define TEXMEDB				texlist_building_B
#define TEXMEDC				texlist_building_C
#define TEXMEDD				texlist_building_D
#define TEXMEDE				texlist_building_E
#define TEXMEDF				texlist_building_F
#define TEXMEDG				texlist_building_G
#define TEXMEDH				texlist_building_H
#define TEXMEDI				texlist_building_I
#define TEXMEDJ				texlist_buildingJ_null1
#define TEXMEDK				texlist_buildingK_buildingK
#define TEXMEDL				texlist_building_L_1
#define TEXMEDM				texlist_building_M
#define TEXMEDN				texlist_building_N
#define TEXMEDO				texlist_twistedmetal_metal1
#define TEXMEDP				texlist_twistedmetal_metal2
#define TEXMEDQ				texlist_twistedmetal_metal3
#define	TEXMEDR				texlist_chimney_block4

/* Define ship objects/textures */
#define	OBJSHIP1			object__main_main
#define	TEXSHIP1			texlist__main
#define	LOOBJSHIP1			
#define	LOTEXSHIP1			

#define	OBJSHIP2			object_ship1_ship1_ship1
#define TEXSHIP2			texlist_ship1_ship1
#define	LOOBJSHIP2			
#define	LOTEXSHIP2			

#define	OBJSHIP3			object_vehicles_shiphi3_shiphi3
#define TEXSHIP3			texlist_vehicles_shiphi3
#define	LOOBJSHIP3			
#define	LOTEXSHIP3			

#define	OBJSHIP4			object_vehicles_shiphi4_shiphi4
#define TEXSHIP4			texlist_vehicles_shiphi4
#define	LOOBJSHIP4			
#define	LOTEXSHIP4			

#define	OBJSHIP5			object_vehicles_shiphi5_shiphi5
#define TEXSHIP5			texlist_vehicles_shiphi5
#define	LOOBJSHIP5			
#define	LOTEXSHIP5			


/* misc */
#define MAX_OVERFLOW		16
#define	MAPITEM_SHIP_MASK			0x3f
#define	MAPITEM_SHIP_BIT_OVERFLOW	0x80

/* user mode - normal (game), level editor or path editor */
#define		NORMAL				0
#define		LEVEL_EDIT			1
#define	    PATH_EDIT			2

#define		MAX_SHIPS		6


/*
 *		Exported Variables
 */

extern	BUILDING_INSTANCE	build_inst[MAX_INSTANCE];
extern	int					instance_count;


/*
 *		Function prototypes.
 */
extern	Bool FUTURE_ProcessFutureWorld(void);


#endif
