This commit is contained in:
Charles 2001-05-10 14:09:06 +00:00
parent 429e2197f2
commit 313762dc1a
8 changed files with 105 additions and 4 deletions

View File

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

View File

@ -913,7 +913,7 @@ void CNpcEnemy::collidedWith( CThing *_thisThing )
{
CNpcEnemy *enemy = (CNpcEnemy *) _thisThing;
if ( enemy->canCollideWithEnemy() )
if ( canCollideWithEnemy() && enemy->canCollideWithEnemy() )
{
processEnemyCollision( _thisThing );
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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