This commit is contained in:
parent
dd2b0f2c6a
commit
2bab792e4a
8 changed files with 63 additions and 4 deletions
|
@ -131,6 +131,10 @@
|
|||
#include "hazard\hlog.h"
|
||||
#endif
|
||||
|
||||
#ifndef __HAZARD_HCHECK_H__
|
||||
#include "hazard\hcheck.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -161,6 +165,7 @@ CNpcHazard::NPC_HAZARD_UNIT_TYPE CNpcHazard::mapEditConvertTable[NPC_HAZARD_TYPE
|
|||
NPC_BOUNCING_ROCK_HAZARD,
|
||||
NPC_SWORDFISH_HAZARD,
|
||||
NPC_LOG_HAZARD,
|
||||
NPC_CHECKPOINT_HAZARD,
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -323,6 +328,12 @@ CNpcHazard *hazard;
|
|||
break;
|
||||
}
|
||||
|
||||
case NPC_CHECKPOINT_HAZARD:
|
||||
{
|
||||
hazard = new ("checkpoint hazard") CNpcCheckpointHazard;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
hazard = NULL;
|
||||
|
|
|
@ -64,6 +64,7 @@ public:
|
|||
NPC_BOUNCING_ROCK_HAZARD,
|
||||
NPC_SWORDFISH_HAZARD,
|
||||
NPC_LOG_HAZARD,
|
||||
NPC_CHECKPOINT_HAZARD,
|
||||
|
||||
NPC_HAZARD_TYPE_MAX,
|
||||
};
|
||||
|
|
|
@ -19,6 +19,14 @@
|
|||
#include "player\player.h"
|
||||
#endif
|
||||
|
||||
#ifndef __SPR_SPRITES_H__
|
||||
#include <sprites.h>
|
||||
#endif
|
||||
|
||||
#ifndef __GAME_GAME_H__
|
||||
#include "game\game.h"
|
||||
#endif
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
@ -27,13 +35,42 @@ void CNpcCheckpointHazard::init()
|
|||
CNpcHazard::init();
|
||||
|
||||
m_triggered = false;
|
||||
m_spriteFrame = FRM__CHECKPOINT;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void CNpcCheckpointHazard::render()
|
||||
{
|
||||
CNpcHazard::render();
|
||||
sFrameHdr *frameHdr;
|
||||
|
||||
if ( m_isActive )
|
||||
{
|
||||
CHazardThing::render();
|
||||
|
||||
if (canRender())
|
||||
{
|
||||
DVECTOR &renderPos=getRenderPos();
|
||||
|
||||
m_modelGfx->Render(renderPos);
|
||||
|
||||
if ( m_triggered )
|
||||
{
|
||||
int x,y;
|
||||
|
||||
DVECTOR offset = CLevel::getCameraPos();
|
||||
|
||||
int spriteWidth = CGameScene::getSpriteBank()->getFrameWidth(m_spriteFrame);
|
||||
int spriteHeight = CGameScene::getSpriteBank()->getFrameHeight(m_spriteFrame);
|
||||
|
||||
x = Pos.vx - offset.vx - ( spriteWidth >> 1 );
|
||||
y = Pos.vy - 100 - offset.vy - ( spriteHeight >> 1 );
|
||||
|
||||
frameHdr = CGameScene::getSpriteBank()->getFrameHeader( m_spriteFrame );
|
||||
CGameScene::getSpriteBank()->printFT4( frameHdr, x, y, 0, 0, 10 );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -27,6 +27,7 @@ protected:
|
|||
void collidedWith(CThing *_thisThing);
|
||||
|
||||
u8 m_triggered;
|
||||
int m_spriteFrame;
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue