This commit is contained in:
Daveo 2001-05-29 20:31:02 +00:00
parent 86ca3a02db
commit 85fecdb6f2
22 changed files with 91 additions and 195 deletions

View file

@ -15,6 +15,8 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\tcamlock.h"
#ifndef __PLAYER_PLAYER_H__

View file

@ -34,7 +34,7 @@
Structure defintions
-------------------- */
class CCameraLockTrigger : public CTriggerThing
class CCameraLockTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\tlevexit.h"
#ifndef __GAME_GAME_H__

View file

@ -34,7 +34,7 @@
Structure defintions
-------------------- */
class CLevelExitTrigger : public CTriggerThing
class CLevelExitTrigger : public CTrigger
{
public:
#if defined (__USER_art__) || defined (__USER_sbart__)

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\tlook.h"
#ifndef __PLAYER_PLAYER_H__

View file

@ -34,7 +34,7 @@
Structure defintions
-------------------- */
class CLookTrigger : public CTriggerThing
class CLookTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\tplatfrm.h"
#ifndef __GAME_GAME_H__

View file

@ -38,7 +38,7 @@
Structure defintions
-------------------- */
class CPlatformTrigger : public CTriggerThing
class CPlatformTrigger : public CTrigger
{
public:
#if defined (__USER_art__) || defined (__USER_sbart__)

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\trestart.h"
#ifndef __PLAYER_PLAYER_H__

View file

@ -34,7 +34,7 @@
Structure defintions
-------------------- */
class CRestartPointTrigger : public CTriggerThing
class CRestartPointTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);

View file

@ -44,7 +44,7 @@
CTrigger *CTrigger::Create(int Type)
{
CTrigger *trigger;
printf("Trig Type %i\n",Type);
trigger = (CTrigger*)CThingManager::GetThing(CThing::TYPE_TRIGGER,Type);
if (!trigger)
switch( Type )
@ -66,20 +66,19 @@ printf("Trig Type %i\n",Type);
// Camera lock trigger
case TRIGGER_CAMLOCK:
trigger=NULL;
trigger=(CCameraLockTrigger*)new ("CameraLockTrigger") CCameraLockTrigger();
break;
// In/Out of water triggers
case TRIGGER_WATER:
case TRIGGER_INWATER:
trigger=(CInWaterTrigger*)new ("InWaterTrigger") CInWaterTrigger();
break;
case 5:
case TRIGGER_OUTWATER:
trigger=(COutOfWaterTrigger*)new ("OutOfWaterTrigger") COutOfWaterTrigger();
break;
default:
trigger=NULL;
}
printf("TriggerDone\n");
ASSERT( trigger);
trigger->setThingSubType(Type);
@ -92,7 +91,6 @@ printf("TriggerDone\n");
CTrigger *CTrigger::Create(sThingTrigger *ThisTrigger)
{
CTrigger *trigger=Create(ThisTrigger->Type);
trigger->setPositionAndSize(ThisTrigger->Pos.X<<4,ThisTrigger->Pos.Y<<4,ThisTrigger->Width<<4,ThisTrigger->Height<<4);
trigger->setTargetBox(ThisTrigger->TargetPos.X<<4,ThisTrigger->TargetPos.Y<<4,ThisTrigger->TargetSize.X<<4,ThisTrigger->TargetSize.Y<<4);
@ -102,9 +100,47 @@ CTrigger *trigger=Create(ThisTrigger->Type);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CTrigger::init()
{
CTriggerThing::init();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CTrigger::shutdown()
{
CTriggerThing::shutdown();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CTrigger::think(int _frames)
{
CTriggerThing::think(_frames);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CTrigger::render()
{
CTriggerThing::render();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CTrigger::setPositionAndSize(int _x,int _y,int _w,int _h)
{
Pos.vx=_x+(_w/2);
Pos.vy=_y+(_h/2);
setCollisionSize(_w,_h);
}
/*----------------------------------------------------------------------
Function:
Purpose:
Params:
Returns:
---------------------------------------------------------------------- */
void CTrigger::setTargetBox(int _x,int _y,int _w,int _h)
{
m_boxX1=_x;
m_boxY1=_y;
m_boxX2=_x+_w;
m_boxY2=_y+_h;
}

View file

@ -3,9 +3,9 @@
trigger.h
Author: dave
Created:
Created: cos paul was too lazy
Project: Spongebob
Purpose:
Purpose: Oh, cos I like the sound of my own typing
Copyright (c) 2001 Climax Development Ltd
@ -27,7 +27,8 @@ enum TRIGGER_TYPE
TRIGGER_RESPAWN,
TRIGGER_TELEPORT,
TRIGGER_CAMLOCK,
TRIGGER_WATER,
TRIGGER_INWATER,
TRIGGER_OUTWATER,
TRIGGER_MAX,
};
@ -38,13 +39,19 @@ enum TRIGGER_TYPE
virtual void init();
virtual void shutdown();
virtual void think(int _frames);
virtual void render();
static CTrigger *Create(int Type);
static CTrigger *Create(sThingTrigger *ThisTrigger);
virtual void setPositionAndSize(int _x,int _y,int _w,int _h);
virtual void setTargetBox(int _x,int _y,int _w,int _h);
protected:
virtual void collidedWith(CThing *_thisThing){};
int m_boxX1,m_boxY1,m_boxX2,m_boxY2;
};
#endif

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\tteleprt.h"
#ifndef __PLAYER_PLAYER_H__

View file

@ -34,7 +34,7 @@
Structure defintions
-------------------- */
class CTeleportTrigger : public CTriggerThing
class CTeleportTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);

View file

@ -15,6 +15,7 @@
Includes
-------- */
#include "triggers\trigger.h"
#include "triggers\twater.h"
#ifndef __PLAYER_PLAYER_H__

View file

@ -34,14 +34,14 @@
Structure defintions
-------------------- */
class CInWaterTrigger : public CTriggerThing
class CInWaterTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);
};
class COutOfWaterTrigger : public CTriggerThing
class COutOfWaterTrigger : public CTrigger
{
protected:
virtual void collidedWith(CThing *_thisThing);