This commit is contained in:
parent
429e2197f2
commit
313762dc1a
8 changed files with 105 additions and 4 deletions
|
@ -81,7 +81,8 @@ enemy_src := npc \
|
|||
ndustdev \
|
||||
npbug \
|
||||
nprojjf \
|
||||
nmjback
|
||||
nmjback \
|
||||
nsjback
|
||||
|
||||
friend_src := friend \
|
||||
fdata \
|
||||
|
@ -181,6 +182,8 @@ gui_src := gbubbles \
|
|||
gtextbox \
|
||||
gui
|
||||
|
||||
jellfish_src := jellfish
|
||||
|
||||
level_src := level \
|
||||
layertile \
|
||||
layerback \
|
||||
|
|
|
@ -913,7 +913,7 @@ void CNpcEnemy::collidedWith( CThing *_thisThing )
|
|||
{
|
||||
CNpcEnemy *enemy = (CNpcEnemy *) _thisThing;
|
||||
|
||||
if ( enemy->canCollideWithEnemy() )
|
||||
if ( canCollideWithEnemy() && enemy->canCollideWithEnemy() )
|
||||
{
|
||||
processEnemyCollision( _thisThing );
|
||||
}
|
||||
|
|
|
@ -82,6 +82,7 @@ public:
|
|||
NPC_SHELL,
|
||||
NPC_PROJECTILE_JELLYFISH,
|
||||
NPC_MOTHER_JELLYFISH_BACKGROUND,
|
||||
NPC_SMALL_JELLYFISH_BACKGROUND,
|
||||
NPC_UNIT_TYPE_MAX,
|
||||
};
|
||||
|
||||
|
@ -225,6 +226,7 @@ protected:
|
|||
u8 canBeNetted;
|
||||
u8 respawning;
|
||||
u8 canBeSuckedUp;
|
||||
u8 canCollideWithEnemy;
|
||||
}
|
||||
NPC_DATA;
|
||||
|
||||
|
|
|
@ -134,6 +134,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SMALL_JELLYFISH_1
|
||||
|
@ -156,6 +157,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SMALL_JELLYFISH_2
|
||||
|
@ -178,6 +180,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_ANEMONE_1
|
||||
|
@ -200,6 +203,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_ANEMONE_2
|
||||
|
@ -222,6 +226,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_ANEMONE_3
|
||||
|
@ -244,6 +249,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SKELETAL_FISH
|
||||
|
@ -266,6 +272,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_CLAM_JUMP
|
||||
|
@ -288,6 +295,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_CLAM_STATIC
|
||||
|
@ -310,6 +318,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SQUID_DART
|
||||
|
@ -332,6 +341,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_FISH_FOLK
|
||||
|
@ -354,6 +364,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_PRICKLY_BUG
|
||||
|
@ -376,6 +387,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SEA_SNAKE
|
||||
|
@ -398,6 +410,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_PUFFA_FISH
|
||||
|
@ -420,6 +433,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_ANGLER_FISH
|
||||
|
@ -442,6 +456,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_HERMIT_CRAB
|
||||
|
@ -464,6 +479,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_MINE
|
||||
|
@ -486,6 +502,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_BOOGER_MONSTER
|
||||
|
@ -508,6 +525,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SPIDER_CRAB
|
||||
|
@ -530,6 +548,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SPIDER_CRAB_SPAWNER
|
||||
|
@ -552,6 +571,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_EYEBALL
|
||||
|
@ -574,6 +594,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_BABY_OCTOPUS
|
||||
|
@ -596,6 +617,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_ZOMBIE_FISH_FOLK
|
||||
|
@ -618,6 +640,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_NINJA_STARFISH
|
||||
|
@ -640,6 +663,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_GHOST
|
||||
|
@ -662,6 +686,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_GHOST_PIRATE
|
||||
|
@ -684,6 +709,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_FLAMING_SKULL
|
||||
|
@ -706,6 +732,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SHARK_MAN
|
||||
|
@ -728,6 +755,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_OIL_BLOB
|
||||
|
@ -750,6 +778,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SKULL_STOMPER
|
||||
|
@ -772,6 +801,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_MOTHER_JELLYFISH
|
||||
|
@ -794,6 +824,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SUB_SHARK
|
||||
|
@ -816,6 +847,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_PARASITIC_WORM
|
||||
|
@ -838,6 +870,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_FLYING_DUTCHMAN
|
||||
|
@ -860,6 +893,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_IRON_DOGFISH
|
||||
|
@ -882,6 +916,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_PARASITIC_WORM_SEGMENT
|
||||
|
@ -904,6 +939,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_BALL_BLOB
|
||||
|
@ -926,6 +962,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
true,
|
||||
},
|
||||
|
||||
{ // NPC_SHELL
|
||||
|
@ -948,6 +985,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
true,
|
||||
true,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_PROJECTILE_JELLYFISH
|
||||
|
@ -970,9 +1008,10 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
true,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SMALL_JELLYFISH_1
|
||||
{ // NPC_MOTHER_JELLYFISH_BACKGROUND
|
||||
ACTORS_MOTHERJELLYFISH_SBK,
|
||||
ANIM_CLAM_SIDESNAP,
|
||||
NPC_SENSOR_NONE,
|
||||
|
@ -992,6 +1031,30 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
|
|||
false,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
|
||||
{ // NPC_SMALL_JELLYFISH_BACKGROUND
|
||||
0,//ACTORS_JELLYFISH1_SBK,
|
||||
FRM_JELLYFISH1_SWIM1,
|
||||
NPC_SENSOR_USER_CLOSE,
|
||||
NPC_MOVEMENT_FIXED_PATH,
|
||||
NPC_CLOSE_NONE,
|
||||
NPC_TIMER_NONE,
|
||||
false,
|
||||
2,
|
||||
128,
|
||||
DETECT_ALL_COLLISION,
|
||||
DAMAGE__SHOCK_ENEMY,
|
||||
16,
|
||||
FRM_JELLYFISH1_SWIM1,
|
||||
NPC_SHOT_GENERIC,
|
||||
0,
|
||||
FRM_JELLYFISH1_SWIM1,
|
||||
true,
|
||||
false,
|
||||
false,
|
||||
false,
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
class CNpcSmallJellyfishEnemy : public CNpcEnemy
|
||||
{
|
||||
public:
|
||||
void render();
|
||||
virtual void render();
|
||||
virtual int getFrameCount() {return( FRM_JELLYFISH1_SWIM6 - FRM_JELLYFISH1_SWIM1 + 1 );}
|
||||
virtual u8 canCollideWithEnemy() {return( false );}
|
||||
protected:
|
||||
|
|
|
@ -43,6 +43,10 @@
|
|||
#include "projectl\projectl.h"
|
||||
#endif
|
||||
|
||||
#ifndef __JELLFISH_JELLFISH_H__
|
||||
#include "jellfish\jellfish.h"
|
||||
#endif
|
||||
|
||||
#ifndef __GFX_FADER_H__
|
||||
#include "gfx\fader.h"
|
||||
#endif
|
||||
|
@ -249,6 +253,7 @@ void CGameScene::think(int _frames)
|
|||
if(!CConversation::isActive()&& !m_pauseMenu->isActive())
|
||||
{
|
||||
DVECTOR camPos;
|
||||
CJellyfishGenerator::think( _frames, &Level );
|
||||
/* if (!s_levelFinished) */CThingManager::thinkAllThings(_frames);
|
||||
/* if (!s_levelFinished) */camPos=m_player->getCameraPos();
|
||||
/* if (!s_levelFinished) */CBubicleFactory::setMapOffset(&camPos);
|
||||
|
|
|
@ -77,6 +77,10 @@
|
|||
#include "projectl\projectl.h"
|
||||
#endif
|
||||
|
||||
#ifndef __JELLFISH_JELLFISH_H__
|
||||
#include "jellfish\jellfish.h"
|
||||
#endif
|
||||
|
||||
#ifndef __GAME_GAMESLOT_H__
|
||||
#include "game\gameslot.h"
|
||||
#endif
|
||||
|
@ -525,6 +529,10 @@ void CLevel::initThings(int _respawningLevel)
|
|||
hazard->setLayerCollision( getCollisionLayer() );
|
||||
}
|
||||
}
|
||||
|
||||
// initialise jellyfish generator
|
||||
|
||||
CJellyfishGenerator::init();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -329,6 +329,14 @@ SOURCE=..\..\..\source\enemy\nshrkman.h
|
|||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\enemy\nsjback.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\enemy\nsjback.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\enemy\nsjfish.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -1868,6 +1876,18 @@ SOURCE=..\..\..\source\fx\fxjfish.cpp
|
|||
SOURCE=..\..\..\source\fx\fxjfish.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "jellfish"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\jellfish\jellfish.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\..\source\jellfish\jellfish.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# End Group
|
||||
# Begin Group "makefiles"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue