This commit is contained in:
Charles 2001-07-17 20:15:28 +00:00
parent dd2b0f2c6a
commit 2bab792e4a
8 changed files with 63 additions and 4 deletions

View File

@ -165,7 +165,8 @@ hazard_src := hazard \
hcswitch \
hbrock \
hlog \
hsrdfish
hsrdfish \
hcheck
fx_src := fx \
fxbaseanim \

View File

@ -197,7 +197,7 @@ PICKUP_GFX_IN := $(foreach FILE,$(PICKUP_GFX),$(PICKUP_GFX_DIR)/$(FILE).bmp)
INGAMEFX_GFX_DIR := $(GRAF_DIR)/ingamefx
INGAMEFX_GFX_TRANS := +watermeter +waterhilight +netblob \
+spike +sharkmine +snakebile
+spike +sharkmine +snakebile +checkpoint
INGAMEFX_GFX_TRANS_NONROT_NONCLIP := +bubble_1 +bubble_2 +bubble_3 \
+water +aim_arrow

View File

@ -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;

View File

@ -64,6 +64,7 @@ public:
NPC_BOUNCING_ROCK_HAZARD,
NPC_SWORDFISH_HAZARD,
NPC_LOG_HAZARD,
NPC_CHECKPOINT_HAZARD,
NPC_HAZARD_TYPE_MAX,
};

View File

@ -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 );
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -27,6 +27,7 @@ protected:
void collidedWith(CThing *_thisThing);
u8 m_triggered;
int m_spriteFrame;
};
#endif

View File

@ -208,7 +208,7 @@ RisingWeight=16
RisingWeightWheel=17
PressureSwitch=18
SingleSpike=19
CheckPoint=20
CheckPoint=25
WaterBucket=20
ConveyorSwitch=21
ExitMarker=20

View File

@ -985,6 +985,14 @@ SOURCE=..\..\..\source\hazard\hbwheel.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\hazard\hcheck.cpp
# End Source File
# Begin Source File
SOURCE=..\..\..\source\hazard\hcheck.h
# End Source File
# Begin Source File
SOURCE=..\..\..\source\hazard\hcsaw.cpp
# End Source File
# Begin Source File