This commit is contained in:
parent
becb234bd7
commit
673f7f4ce2
@ -141,7 +141,9 @@ hazard_src := hazard \
|
|||||||
hdbarrel \
|
hdbarrel \
|
||||||
hbbarrel \
|
hbbarrel \
|
||||||
hrrock \
|
hrrock \
|
||||||
hflytrap
|
hflytrap \
|
||||||
|
hrweight \
|
||||||
|
hrwheel
|
||||||
|
|
||||||
fx_src := fx \
|
fx_src := fx \
|
||||||
fxtrail \
|
fxtrail \
|
||||||
|
@ -95,6 +95,14 @@
|
|||||||
#include "hazard\hflytrap.h"
|
#include "hazard\hflytrap.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __HAZARD_HRWEIGHT_H__
|
||||||
|
#include "hazard\hrweight.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __HAZARD_HRWHEEL_H__
|
||||||
|
#include "hazard\hrwheel.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
@ -116,6 +124,8 @@ CNpcHazard::NPC_HAZARD_UNIT_TYPE CNpcHazard::mapEditConvertTable[NPC_HAZARD_TYPE
|
|||||||
NPC_FIREBALL_HAZARD,
|
NPC_FIREBALL_HAZARD,
|
||||||
NPC_ROLLING_ROCK_HAZARD,
|
NPC_ROLLING_ROCK_HAZARD,
|
||||||
NPC_FLY_TRAP_HAZARD,
|
NPC_FLY_TRAP_HAZARD,
|
||||||
|
NPC_RISING_WEIGHT_HAZARD,
|
||||||
|
NPC_RISING_WEIGHT_WHEEL_HAZARD,
|
||||||
};
|
};
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
@ -224,6 +234,18 @@ CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case NPC_RISING_WEIGHT_HAZARD:
|
||||||
|
{
|
||||||
|
hazard = new ("rising weight hazard") CNpcRisingWeightHazard;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
case NPC_RISING_WEIGHT_WHEEL_HAZARD:
|
||||||
|
{
|
||||||
|
hazard = new ("rising weight wheel hazard") CNpcRisingWeightWheelHazard;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
hazard = NULL;
|
hazard = NULL;
|
||||||
@ -233,6 +255,7 @@ CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard)
|
|||||||
|
|
||||||
ASSERT( hazard );
|
ASSERT( hazard );
|
||||||
|
|
||||||
|
hazard->setType( hazardType );
|
||||||
hazard->init();
|
hazard->init();
|
||||||
hazard->setWaypoints( ThisHazard );
|
hazard->setWaypoints( ThisHazard );
|
||||||
hazard->setGraphic( ThisHazard );
|
hazard->setGraphic( ThisHazard );
|
||||||
|
@ -52,6 +52,8 @@ public:
|
|||||||
NPC_FIREBALL_HAZARD,
|
NPC_FIREBALL_HAZARD,
|
||||||
NPC_ROLLING_ROCK_HAZARD,
|
NPC_ROLLING_ROCK_HAZARD,
|
||||||
NPC_FLY_TRAP_HAZARD,
|
NPC_FLY_TRAP_HAZARD,
|
||||||
|
NPC_RISING_WEIGHT_HAZARD,
|
||||||
|
NPC_RISING_WEIGHT_WHEEL_HAZARD,
|
||||||
|
|
||||||
NPC_HAZARD_TYPE_MAX,
|
NPC_HAZARD_TYPE_MAX,
|
||||||
};
|
};
|
||||||
@ -65,6 +67,8 @@ public:
|
|||||||
virtual void setWaypoints( sThingHazard *ThisHazard );
|
virtual void setWaypoints( sThingHazard *ThisHazard );
|
||||||
void addWaypoint( s32 xPos, s32 yPos );
|
void addWaypoint( s32 xPos, s32 yPos );
|
||||||
virtual void setRespawnRate( s16 newRespawnRate ) {m_respawnRate=newRespawnRate;}
|
virtual void setRespawnRate( s16 newRespawnRate ) {m_respawnRate=newRespawnRate;}
|
||||||
|
void setType( NPC_HAZARD_UNIT_TYPE type ) {m_type = type;}
|
||||||
|
NPC_HAZARD_UNIT_TYPE getType() {return( m_type );}
|
||||||
|
|
||||||
static NPC_HAZARD_UNIT_TYPE getTypeFromMapEdit( u16 newType );
|
static NPC_HAZARD_UNIT_TYPE getTypeFromMapEdit( u16 newType );
|
||||||
static CNpcHazard *Create(sThingHazard *ThisHazard);
|
static CNpcHazard *Create(sThingHazard *ThisHazard);
|
||||||
@ -88,6 +92,7 @@ protected:
|
|||||||
virtual void processTimer( int _frames );
|
virtual void processTimer( int _frames );
|
||||||
virtual void collidedWith(CThing *_thisThing);
|
virtual void collidedWith(CThing *_thisThing);
|
||||||
|
|
||||||
|
NPC_HAZARD_UNIT_TYPE m_type;
|
||||||
CNpcPath m_npcPath;
|
CNpcPath m_npcPath;
|
||||||
//CActorGfx *m_actorGfx;
|
//CActorGfx *m_actorGfx;
|
||||||
//SpriteBank *m_spriteBank;
|
//SpriteBank *m_spriteBank;
|
||||||
|
@ -31,6 +31,18 @@
|
|||||||
|
|
||||||
#include "level\level.h"
|
#include "level\level.h"
|
||||||
|
|
||||||
|
#ifndef __HAZARD_HAZARD_H__
|
||||||
|
#include "hazard\hazard.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __HAZARD_HRWEIGHT_H__
|
||||||
|
#include "hazard\hrweight.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __HAZARD_HRWHEEL_H__
|
||||||
|
#include "hazard\hrwheel.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
@ -177,6 +189,51 @@ void CThingManager::initAllThings()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
void CThingManager::matchWheelsAndWeights()
|
||||||
|
{
|
||||||
|
CNpcHazard *hazard1;
|
||||||
|
CNpcHazard *hazard2;
|
||||||
|
|
||||||
|
hazard1 = (CNpcHazard *) s_thingLists[CThing::TYPE_HAZARD];
|
||||||
|
|
||||||
|
while( hazard1 )
|
||||||
|
{
|
||||||
|
if ( hazard1->getType() == CNpcHazard::NPC_RISING_WEIGHT_HAZARD )
|
||||||
|
{
|
||||||
|
CNpcRisingWeightHazard *weight = (CNpcRisingWeightHazard *) hazard1;
|
||||||
|
DVECTOR wheelPos = weight->getWheelPos();
|
||||||
|
|
||||||
|
hazard2 = (CNpcHazard *) s_thingLists[CThing::TYPE_HAZARD];
|
||||||
|
|
||||||
|
while( hazard2 )
|
||||||
|
{
|
||||||
|
if ( hazard2->getType() == CNpcHazard::NPC_RISING_WEIGHT_WHEEL_HAZARD )
|
||||||
|
{
|
||||||
|
CNpcRisingWeightWheelHazard *wheel = (CNpcRisingWeightWheelHazard *) hazard2;
|
||||||
|
|
||||||
|
DVECTOR testPos = wheel->getWheelPos();
|
||||||
|
|
||||||
|
if ( testPos.vx == wheelPos.vx && testPos.vy == wheelPos.vy )
|
||||||
|
{
|
||||||
|
wheel->linkToWeight( weight );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hazard2 = (CNpcHazard *) hazard2->m_nextListThing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hazard1 = (CNpcHazard *) hazard1->m_nextListThing;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
Function:
|
Function:
|
||||||
Purpose:
|
Purpose:
|
||||||
|
@ -62,6 +62,7 @@ public:
|
|||||||
|
|
||||||
static CThing* checkCollisionAreaAgainstThings(CRECT *_area,int _type,int _continue);
|
static CThing* checkCollisionAreaAgainstThings(CRECT *_area,int _type,int _continue);
|
||||||
static void initCollision();
|
static void initCollision();
|
||||||
|
static void matchWheelsAndWeights();
|
||||||
|
|
||||||
static sBBox &getRenderBBox() {return(m_RenderBBox);}
|
static sBBox &getRenderBBox() {return(m_RenderBBox);}
|
||||||
static sBBox &getThinkBBox() {return(m_ThinkBBox);}
|
static sBBox &getThinkBBox() {return(m_ThinkBBox);}
|
||||||
|
@ -150,5 +150,5 @@ BouncingBarrel=12
|
|||||||
Fireball=13
|
Fireball=13
|
||||||
BouncingRock=12
|
BouncingRock=12
|
||||||
FlyTrap=15
|
FlyTrap=15
|
||||||
|
RisingWeight=16
|
||||||
|
RisingWeightWheel=17
|
@ -199,3 +199,23 @@ Collision=0
|
|||||||
Health=0
|
Health=0
|
||||||
AttackStrength=0
|
AttackStrength=0
|
||||||
Respawn=2
|
Respawn=2
|
||||||
|
|
||||||
|
[RisingWeight]
|
||||||
|
Gfx=..\..\graphics\hazards\1tonweight\1tonweight.gin
|
||||||
|
Waypoints=3
|
||||||
|
Speed=0
|
||||||
|
TurnRate=0
|
||||||
|
Collision=0
|
||||||
|
Health=0
|
||||||
|
AttackStrength=0
|
||||||
|
Respawn=2
|
||||||
|
|
||||||
|
[RisingWeightWheel]
|
||||||
|
Gfx=..\..\graphics\hazards\1tonlever\1tonlever.gin
|
||||||
|
Waypoints=3
|
||||||
|
Speed=0
|
||||||
|
TurnRate=0
|
||||||
|
Collision=0
|
||||||
|
Health=0
|
||||||
|
AttackStrength=0
|
||||||
|
Respawn=2
|
||||||
|
@ -925,6 +925,22 @@ SOURCE=..\..\..\source\hazard\hrrock.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\hazard\hrweight.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\hazard\hrweight.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\hazard\hrwheel.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\hazard\hrwheel.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\source\hazard\hsaw.cpp
|
SOURCE=..\..\..\source\hazard\hsaw.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
Loading…
Reference in New Issue
Block a user