This commit is contained in:
parent
d81378013f
commit
a74745a7b2
25 changed files with 103 additions and 13 deletions
|
@ -71,6 +71,10 @@
|
|||
#include "hazard\hspikes.h"
|
||||
#endif
|
||||
|
||||
#ifndef __HAZARD_HBWHEEL_H__
|
||||
#include "hazard\hbwheel.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -86,6 +90,7 @@ CNpcHazard::NPC_HAZARD_UNIT_TYPE CNpcHazard::mapEditConvertTable[NPC_HAZARD_TYPE
|
|||
NPC_MASHER_HAZARD,
|
||||
NPC_FAN_HAZARD,
|
||||
NPC_SPIKES_HAZARD,
|
||||
NPC_BIG_WHEEL_HAZARD,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -158,6 +163,12 @@ CNpcHazard *CNpcHazard::Create(sThingHazard *ThisHazard)
|
|||
break;
|
||||
}
|
||||
|
||||
case NPC_BIG_WHEEL_HAZARD:
|
||||
{
|
||||
hazard = new ("big wheel") CNpcBigWheelHazard;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
hazard = NULL;
|
||||
|
@ -257,6 +268,10 @@ void CNpcHazard::setGraphic( sThingHazard *ThisHazard )
|
|||
{
|
||||
m_modelGfx = new ("ModelGfx") CModelGfx;
|
||||
m_modelGfx->SetModel( ThisHazard->Gfx );
|
||||
|
||||
sBBox boundingBox = m_modelGfx->GetBBox();
|
||||
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) );
|
||||
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( boundingBox.YMax + boundingBox.YMin ) >> 1 );
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
NPC_MASHER_HAZARD,
|
||||
NPC_FAN_HAZARD,
|
||||
NPC_SPIKES_HAZARD,
|
||||
NPC_BIG_WHEEL_HAZARD,
|
||||
|
||||
NPC_HAZARD_TYPE_MAX,
|
||||
};
|
||||
|
|
|
@ -37,7 +37,7 @@ void CNpcBigWheelHazard::init()
|
|||
|
||||
void CNpcBigWheelHazard::processMovement( int _frames )
|
||||
{
|
||||
m_rotation += 10 * _frames;
|
||||
m_rotation += 5 * _frames;
|
||||
m_rotation &= 4095;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,6 +30,8 @@
|
|||
|
||||
void CNpcBouncePlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_vertScale = 0;
|
||||
m_vertVelocity = 0;
|
||||
}
|
||||
|
|
|
@ -36,6 +36,8 @@
|
|||
|
||||
void CNpcBranchPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_angularVelocity = 0;
|
||||
m_platformWidth <<= 1;
|
||||
}
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
void CNpcCartPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
|
||||
m_carSpeed = m_data[m_type].speed << 8;
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
void CNpcCircularPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_extension = 100;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
void CNpcFallingPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
|
||||
m_isActive = false;
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
void CNpcFallingNoRespawnPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
}
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
void CNpcFishHookPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_isMoving = false;
|
||||
m_isShuttingDown = false;
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
void CNpcGeyserPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
|
||||
m_isFiring = false;
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
void CNpcLanternPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_extension = 0;
|
||||
m_heading = 1024;
|
||||
}
|
||||
|
|
|
@ -322,6 +322,18 @@ CNpcPlatform::NPC_PLATFORM_DATA CNpcPlatform::m_data[NPC_PLATFORM_TYPE_MAX] =
|
|||
NPC_PLATFORM_TIMER_NONE,
|
||||
},
|
||||
|
||||
{ // NPC_BIG_WHEEL_PLATFORM
|
||||
5,
|
||||
128,
|
||||
true,
|
||||
DAMAGE__NONE,
|
||||
0,
|
||||
4,
|
||||
NPC_PLATFORM_INFINITE_LIFE,
|
||||
0,
|
||||
NPC_PLATFORM_TIMER_NONE,
|
||||
},
|
||||
|
||||
{ // NPC_PLAYER_BUBBLE_PLATFORM
|
||||
3,
|
||||
128,
|
||||
|
@ -360,5 +372,6 @@ CNpcPlatform::NPC_PLATFORM_UNIT_TYPE CNpcPlatform::mapEditConvertTable[NPC_PLATF
|
|||
NPC_VERTICAL_OILDRUM_GENERATOR,
|
||||
NPC_LANTERN_PLATFORM,
|
||||
NPC_BUBBLE_GEYSER_GENERATOR,
|
||||
NPC_BIG_WHEEL_PLATFORM,
|
||||
NPC_PLAYER_BUBBLE_PLATFORM,
|
||||
};
|
||||
|
|
|
@ -127,6 +127,10 @@
|
|||
#include "platform\pleaf.h"
|
||||
#endif
|
||||
|
||||
#ifndef __PLATFORM_PBWHEEL_H__
|
||||
#include "platform\pbwheel.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -296,6 +300,12 @@ CNpcPlatform *CNpcPlatform::Create(sThingPlatform *ThisPlatform)
|
|||
break;
|
||||
}
|
||||
|
||||
case NPC_BIG_WHEEL_PLATFORM:
|
||||
{
|
||||
platform = new ("big wheel platform") CNpcBigWheelPlatform;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
ASSERT( 0 );
|
||||
|
|
|
@ -77,6 +77,7 @@ public:
|
|||
NPC_LANTERN_PLATFORM,
|
||||
NPC_BUBBLE_GEYSER_GENERATOR,
|
||||
NPC_LEAF_PLATFORM,
|
||||
NPC_BIG_WHEEL_PLATFORM,
|
||||
NPC_PLAYER_BUBBLE_PLATFORM,
|
||||
NPC_PLATFORM_TYPE_MAX,
|
||||
};
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
|
||||
void CNpcLeafPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
|
||||
m_isActive = false;
|
||||
|
|
|
@ -19,6 +19,8 @@
|
|||
|
||||
void CNpcLinearPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::PONG_PATH );
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
void CNpcPendulumPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_extendDir = EXTEND_LEFT;
|
||||
m_extension = 0;
|
||||
m_heading = 1024;
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
void CNpcRaftPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_npcPath.setPathType( CNpcPath::SINGLE_USE_PATH );
|
||||
|
||||
m_isActivated = false;
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
|
||||
void CNpcRetractingPlatform::postInit()
|
||||
{
|
||||
CNpcPlatform::postInit();
|
||||
|
||||
m_timer = NPC_PLATFORM_TIMER_RETRACT;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue