/******************************************************************************
	endefine.h
******************************************************************************/

#ifndef ENDEFINE_H
#define ENDEFINE_H

/******************************************************************************
	flags
******************************************************************************/	

/******************************************************************************
	define constants
******************************************************************************/	

/*---------------------------------------------------------------------------*/
/* etc */
#define MACHINE_MAX		BOAT_MAX

#define SIMPLAY_MAX		2

#define MACHINE_KD_MAX		4

#undef	BUOY_MAX
#define BUOY_MAX		64
#define BUOY_DISP_MAX		12

#define CRSBUOY_MAX		256
#define CRSBUOY_DISP_MAX	32

#define PNTBUOY_MAX		8

#define CRSOBJ_MAX		64

#define WAVEGEN_MAX		8

#define BIGWAVE_MAX		8

#define RECPIPE_MAX		32

#define NOF_CRSLINE_PNT		16

#define FILE_MAX		2

#define ENMTXMDL_MAX		64

/*---------------------------------------------------------------------------*/
/* process no */
#define ENPROC_EDIT	0
#define ENPROC_PLAY	1

/*---------------------------------------------------------------------------*/
/* screen center pos */
#define	SCREEN_CH	(SCREEN_WD / 2)
#define	SCREEN_CV	(SCREEN_HT / 2)

/*---------------------------------------------------------------------------*/
/* splash */
#define SPSID_MAX	64
#define SPDRP_MAX	SPSID_MAX
#define SPRAY_MAX	4
#define SPOUT_MAX	8

/*---------------------------------------------------------------------------*/
/* gSPSetGeometryMode */
#define G_GEOM_ALL	(G_ZBUFFER | G_LIGHTING |\
	G_CULL_FRONT | G_CULL_BACK | G_CULL_BOTH | G_FOG |  G_TEXTURE_GEN | G_TEXTURE_GEN_LINEAR)

/*---------------------------------------------------------------------------*/
/* combine mode */
#define G_CC_ENTEXENV	TEXEL0, 0, ENVIRONMENT, 0,  TEXEL0, 0, ENVIRONMENT, 0
#define G_CC_ENENV	0, 0, 0, ENVIRONMENT,  0, 0, 0, ENVIRONMENT

/*---------------------------------------------------------------------------*/
/* render mode */
#define	RM_ENCLRCVG(clk)					\
	FORCE_BL | CVG_X_ALPHA | IM_RD | CVG_DST_FULL |	 	\
	GBL_c##clk(G_BL_CLR_MEM, G_BL_0, G_BL_CLR_MEM, G_BL_1MA)
#define G_RM_ENCLRCVG	RM_ENCLRCVG(1)
#define G_RM_ENCLRCVG2	RM_ENCLRCVG(2)

/******************************************************************************
	define functions
******************************************************************************/	

#ifdef ROM_FLAG
#define	printf
#define	osExit()
#else
#define	printf		osSyncPrintf
#endif

#if !SOUND_SW
#define Na_SystemSound(n, o)
#define Na_GateOpen()
#define Na_Tunnel_In()
#define Na_Tunnel_Out()
#define Na_Cheer(x)
#define Nas_SceneSetup(x, o)
#endif

/******************************************************************************
	structures
******************************************************************************/

/******************************************************************************
	external variables
******************************************************************************/

/******************************************************************************
	external functions
******************************************************************************/

#endif
