This commit is contained in:
parent
85f401edf0
commit
773d29ea89
16 changed files with 129 additions and 11 deletions
|
@ -26,7 +26,27 @@ void CFlameEmitterTrigger::setPositionAndSize(int _x,int _y,int _w,int _h)
|
|||
{
|
||||
CTrigger::setPositionAndSize( _x, _y, _w, _h );
|
||||
|
||||
m_effect = CFX::Create( CFX::FX_TYPE_FLAMES, Pos );
|
||||
m_effect = CFX::Create( CFX::FX_TYPE_FLAMES, Pos );
|
||||
CFXBaseAnim *m_animEffect = (CFXBaseAnim *) m_effect;
|
||||
m_animEffect->SetScaleX( ( _w * ONE ) >> 5 );
|
||||
m_animEffect->SetScaleY( ( _h * ONE ) >> 5 );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void CFlameEmitterTrigger::setHeading(int newHeading)
|
||||
{
|
||||
CFXBaseAnim *m_animEffect = (CFXBaseAnim *) m_effect;
|
||||
m_animEffect->SetHeading( newHeading );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void CFlameEmitterTrigger::setSize( int _w, int _h )
|
||||
{
|
||||
CFXBaseAnim *m_animEffect = (CFXBaseAnim *) m_effect;
|
||||
m_animEffect->SetScaleX( ( _w * ONE ) >> 5 );
|
||||
m_animEffect->SetScaleY( ( _h * ONE ) >> 5 );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#endif
|
||||
|
||||
#include "fx\fx.h"
|
||||
#include "fx\fxbaseanim.h"
|
||||
|
||||
/* Std Lib
|
||||
------- */
|
||||
|
@ -43,6 +44,8 @@ class CFlameEmitterTrigger : public CTrigger
|
|||
{
|
||||
public:
|
||||
virtual void setPositionAndSize(int _x,int _y,int _w,int _h);
|
||||
void setHeading(int newHeading);
|
||||
void setSize( int _w, int _h );
|
||||
protected:
|
||||
virtual void collidedWith(CThing *_thisThing);
|
||||
CFX *m_effect;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
tplatfrm.cpp
|
||||
|
||||
Author: PKG
|
||||
Author: CRB
|
||||
Created:
|
||||
Project: Spongebob
|
||||
Purpose:
|
||||
|
|
|
@ -67,6 +67,10 @@
|
|||
#include "triggers\tgstop.h"
|
||||
#endif
|
||||
|
||||
#ifndef __TRIGGERS_THAZARD_H__
|
||||
#include "triggers\thazard.h"
|
||||
#endif
|
||||
|
||||
#ifndef __GAME_GAME_H__
|
||||
#include "game\game.h"
|
||||
#endif
|
||||
|
@ -135,6 +139,8 @@ CTrigger *trigger;
|
|||
break;
|
||||
|
||||
case TRIGGER_INTERMITTENTFLAMEEMITTER:
|
||||
case TRIGGER_INTERMITTENTLEFTFLAMEEMITTER:
|
||||
case TRIGGER_INTERMITTENTDOWNFLAMEEMITTER:
|
||||
trigger=(CIntermittentFlameEmitterTrigger*)new( "IntermittentFlameEmitterTrigger") CIntermittentFlameEmitterTrigger();
|
||||
break;
|
||||
|
||||
|
@ -146,6 +152,11 @@ CTrigger *trigger;
|
|||
case TRIGGER_PLATFORM:
|
||||
trigger = (CPlatformTrigger*)new ("PlatformTrigger") CPlatformTrigger();
|
||||
break;
|
||||
|
||||
case TRIGGER_HAZARD:
|
||||
trigger = (CHazardTrigger*)new("HazardTrigger") CHazardTrigger();
|
||||
break;
|
||||
|
||||
default:
|
||||
trigger=NULL;
|
||||
}
|
||||
|
@ -161,9 +172,35 @@ CTrigger *trigger;
|
|||
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);
|
||||
|
||||
switch( ThisTrigger->Type )
|
||||
{
|
||||
case TRIGGER_INTERMITTENTLEFTFLAMEEMITTER:
|
||||
{
|
||||
CIntermittentFlameEmitterTrigger *m_flameEmitter = (CIntermittentFlameEmitterTrigger *) trigger;
|
||||
|
||||
m_flameEmitter->setHeading( 3072 );
|
||||
m_flameEmitter->setSize( ThisTrigger->Height<<4, ThisTrigger->Width<<4 );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case TRIGGER_INTERMITTENTDOWNFLAMEEMITTER:
|
||||
{
|
||||
CIntermittentFlameEmitterTrigger *m_flameEmitter = (CIntermittentFlameEmitterTrigger *) trigger;
|
||||
|
||||
m_flameEmitter->setHeading( 2048 );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return( trigger);
|
||||
}
|
||||
|
||||
|
|
|
@ -36,9 +36,12 @@ enum TRIGGER_TYPE
|
|||
TRIGGER_GARYGOLEFT,
|
||||
TRIGGER_GARYGORIGHT,
|
||||
TRIGGER_BUBBLEEMITTER,
|
||||
TRIGGER_INTERMITTENTLEFTFLAMEEMITTER,
|
||||
TRIGGER_INTERMITTENTDOWNFLAMEEMITTER,
|
||||
|
||||
// Code based triggers
|
||||
TRIGGER_PLATFORM,
|
||||
TRIGGER_HAZARD,
|
||||
TRIGGER_MAX,
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue