/****************************************************************************
*
* INVENTRY.H
*
* PROGRAMMER : Chris
*    VERSION : 00.00
*    CREATED : 02/06/98
*   MODIFIED : 02/06/98
*       TABS : 5
*
* DESCRIPTION
*	Header file for INVENTRY.C
*
*****************************************************************************/

#ifndef _INVENTRY_H
#define _INVENTRY_H

#ifdef __cplusplus
extern "C" {
#endif

/*---------------------------------------------------------------------------
 *	Import Headers
\*--------------------------------------------------------------------------*/

#ifdef PSX_VERSION
#include "../spec_psx/typedefs.h"
#else
#include "..\specific\stypes.h"
#endif

/*---------------------------------------------------------------------------
 *	Constants
\*--------------------------------------------------------------------------*/

#define MAX_MAP_SHAPES (32*32)

enum	inv_modes {
	INV_GAME_MODE=0,
	INV_TITLE_MODE,
	INV_KEYS_MODE,
	INV_SAVE_MODE,
	INV_LOAD_MODE,
	INV_DEATH_MODE,
	INV_FMV_MODE,
	INV_LEVELSELECT_MODE
};

/* Game options - bits determine what options appear on wheel */
#define NO_ACTION    0
#define GAME_ACTION  1
#define END_ACTION	 2
#define LOAD_ACTION  4
#define SAVE_ACTION  8
#define SOUND_ACTION 16
#define VIDEO_ACTION 32

enum	shapes {
	SHAPE_SPRITE=1,
	SHAPE_LINE,
	SHAPE_BOX,
	SHAPE_FBOX
};

enum inventory_colours {
	C_BLACK=0,
	C_GREY,
	C_WHITE,
	C_RED,
	C_ORANGE,
	C_YELLOW,
	C_GREEN1,
	C_GREEN2,
	C_GREEN3,
	C_GREEN4,
	C_GREEN5,
	C_GREEN6,
	C_DARKGREEN,
	C_GREEN,
	C_CYAN,
	C_BLUE,
	C_MAGENTA,
	C_NUMBER_COLOURS
};

#define C_TRANS	(1<<15)

/*---------------------------------------------------------------------------
 *	Type Definitions
\*--------------------------------------------------------------------------*/

#ifndef _SG_COL
	#ifdef PSX_VERSION
		typedef uint32 SG_COL;
	#else
		typedef uint16 SG_COL;
	#endif
	#define _SG_COL
#endif

/*---------------------------------------------------------------------------
 *	Prototypes
\*--------------------------------------------------------------------------*/

extern sint16 Option_Gamma_Level;


//extern sint16 Option_SoundFX_Volume;
//extern sint16 Option_Music_Volume;

extern sint16 Option_Detail_Level;

extern sint16 Inventory_Displaying;
extern sint16 Inventory_Chosen;
extern sint32 Inventory_ExtraData[];
extern sint32 Inventory_Mode;
extern sint32 Inventory_DemoMode;

extern sint16 Compass_Status;		// 1 = selected

extern sint32 idelay;
extern sint32 idcount;
extern sint16 item_data;
extern sint32 m_sizer;

extern sint16 old_iconfig;
extern sint16 old_VibrateOn;

#ifdef __cplusplus
extern "C" SG_COL inv_colours[];
#else
extern SG_COL inv_colours[];
#endif

extern sint32 Display_Inventory(sint32 inventory_mode);

#ifdef __cplusplus
}
#endif

#endif
