#ifndef	TITLE_H
#define	TITLE_H

#ifdef __cplusplus
extern "C" {
#endif

#include "gameflow.h"

/* MAIN.C */
sint32	LevelCompleteSequence(int level_number);
int	LevelStats(int level_number);
int	GameStats(int level_number, int type);
void	DisplayCredits(void);

/* TITLE.C */
extern int	title_loaded;

/* GAME.C */
int	LevelIsValid(sint16 level_number);
int	NextValidLevel(sint16 level_number);

extern int MemCardAvailable;
extern int SavedGames;
extern int cheat_enabled;

#define STARTSAVEDEMO -1
typedef enum title_options {
		STARTGAME 		= 0,
		STARTSAVEDGAME 	= 1<<8,
		STARTCINE 		= 2<<8,
		STARTFMV 		= 3<<8,
		STARTDEMO 		= 4<<8,
		EXIT_TO_TITLE   = 5<<8,
		LEVELCOMPLETE	= 6<<8,
		EXITGAME 		= 7<<8,
		EXIT_TO_OPTION	= 8<<8,
		TITLE_DESELECT	= 9<<8,
		DOSTORYSOFAR	=10<<8,
		DOLEVELSELECT	=11<<8
} TITLE_OPTIONS;

#define	LEV_COMPLETE	64
#define	SAVEGAME_SLOTS	MAXIMUM_LEVELS

// Game.c
extern uint32	CurrentLevel;
extern uint32	RestartLevel;

#define LEVLEN 50
extern char Valid_Level_Strings[][LEVLEN];
extern char Valid_Level_Strings2[][LEVLEN];
extern sint16	number_valid;
extern sint16	valid_levels[];
extern sint16	level_types[];

extern char Save_Game_Strings[MAXIMUM_LEVELS*LEVLEN];
extern char Save_Game_Strings2[MAXIMUM_LEVELS*LEVLEN];
extern sint16	number_saved;
extern sint16	saved_levels[];

#ifdef PC_VERSION
sint32	TitleSequence			(void);
#endif

#ifdef __cplusplus
}
#endif

#endif
