/****************************************************************************
*
* LONDONBOSS.H
*
* PROGRAMMER : Tom
*    VERSION : 00.00
*    CREATED : 16/09/98
*   MODIFIED : 16/09/98
*       TABS : 5
*
* DESCRIPTION
*	Header file for LONDONBOSS.C
*
*****************************************************************************/

#ifndef _LONDONBOSS_H
#define _LONDONBOSS_H

#ifdef __cplusplus
extern "C" {
#endif

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

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

#include "items.h"
#include "collide.h"

/*---------------------------------------------------------------------------
 *	Prototypes
\*--------------------------------------------------------------------------*/
//#define NO_RELOC_LONDONBOSS
#if defined(PSX_VERSION) && defined(RELOC) && !defined(NO_RELOC_LONDONBOSS)


typedef void (LONDONBOSSFUNC1)(ITEM_INFO *);
//typedef void (LONDONBOSSFUNC2)(long, long, long, long, long, long, long);
//typedef void (LONDONBOSSFUNC3)(long);

#define InitialiseLondonBoss		((VOIDFUNCSINT16 *)Baddie1Ptr[0])
#define LondonBossControl		((VOIDFUNCSINT16 *)Baddie1Ptr[1])
#define S_DrawLondonBoss			((LONDONBOSSFUNC1 *)Baddie1Ptr[2])
#define ControlLaserBolts		((VOIDFUNCSINT16 *)Baddie1Ptr[3])
#define S_DrawLaserBolts			((LONDONBOSSFUNC1 *)Baddie1Ptr[4])
#define ControlLondBossPlasmaBall	((VOIDFUNCSINT16 *)Baddie1Ptr[5])

#else

extern void LondonBossControl(sint16 item_number);
extern void S_DrawLondonBoss(ITEM_INFO *item);
extern void InitialiseLondonBoss(sint16);
extern void ControlLaserBolts(sint16 item_number);
extern void S_DrawLaserBolts(ITEM_INFO *item);
extern void ControlLondBossPlasmaBall(sint16 fx_number);

#endif

#ifdef __cplusplus
}
#endif

#endif
