/****************************************************************************
*
* LASERS.H
*
* PROGRAMMER : Gibby
*    VERSION : 00.00
*    CREATED : 08/07/98
*   MODIFIED : 08/07/98
*       TABS : 5
*
* DESCRIPTION
*	Header file for LASERS.C
*
*****************************************************************************/

#ifndef _LASERS_H
#define _LASERS_H

#ifdef __cplusplus
extern "C" {
#endif

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

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

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

//#define NO_RELOC_LASER
#if defined(PSX_VERSION) && defined(RELOC) && !defined(NO_RELOC_LASER)

typedef void (LASERFUNC1)(ITEM_INFO *);
typedef void (LASERFUNC2)(GAME_VECTOR *, GAME_VECTOR *, uchar, uchar, uchar);

#define LaserControl	((VOIDFUNCSINT16 *)Effect2Ptr[0])
#define S_DrawLaser		((LASERFUNC1 *)Effect2Ptr[1])
#define S_DrawLaserBeam	((LASERFUNC2 *)Effect2Ptr[2])


#else

extern void LaserControl(sint16 item_number);
extern void S_DrawLaser(ITEM_INFO *item);
extern void S_DrawLaserBeam( GAME_VECTOR *src, GAME_VECTOR *dest, uchar r, uchar g, uchar b);
extern void UpdateLaserShades();
extern char LaserShades[];
#endif

#ifdef __cplusplus
}
#endif

#endif
