This commit is contained in:
parent
5b785068c2
commit
fa5105d783
96 changed files with 550 additions and 406 deletions
|
@ -214,75 +214,67 @@ CNpcEnemy *CNpcEnemy::Create(sThingActor *ThisActor)
|
|||
|
||||
NPC_UNIT_TYPE enemyType = CNpcEnemy::getTypeFromMapEdit( ThisActor->Type );
|
||||
|
||||
enemy = (CNpcEnemy*)CThingManager::GetThing(TYPE_ENEMY,enemyType);
|
||||
if (!enemy)
|
||||
switch( enemyType )
|
||||
{
|
||||
case CNpcEnemy::NPC_SMALL_JELLYFISH_1:
|
||||
case CNpcEnemy::NPC_SMALL_JELLYFISH_2:
|
||||
{
|
||||
printf("JFish\n");
|
||||
enemy = new ("small jellyfish") CNpcSmallJellyfishEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_HERMIT_CRAB:
|
||||
{
|
||||
printf("NPC_HERMIT_CRAB\n");
|
||||
enemy = new ("hermit crab") CNpcHermitCrabEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SPIDER_CRAB:
|
||||
{
|
||||
printf("NPC_SPIDER_CRAB\n");
|
||||
enemy = new ("spider crab") CNpcSpiderCrabEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SPIDER_CRAB_SPAWNER:
|
||||
{
|
||||
printf("NPC_SPIDER_CRAB_SPAWNER\n");
|
||||
enemy = new ("spider crab spawner") CNpcEnemyGenerator;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_ANEMONE_1:
|
||||
{
|
||||
printf("NPC_ANEMONE_1\n");
|
||||
enemy = new ("anemone 1") CNpcAnemone1Enemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_ANEMONE_2:
|
||||
{
|
||||
printf("NPC_ANEMONE_2\n");
|
||||
enemy = new ("anemone 2") CNpcAnemone2Enemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_ANEMONE_3:
|
||||
{
|
||||
printf("NPC_ANEMONE_3\n");
|
||||
enemy = new ("anemone 3") CNpcAnemone3Enemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_CLAM_JUMP:
|
||||
{
|
||||
printf("NPC_CLAM_JUMP\n");
|
||||
enemy = new ("jumping clam") CNpcJumpingClamEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_CLAM_STATIC:
|
||||
{
|
||||
printf("NPC_CLAM_STATIC\n");
|
||||
enemy = new ("static clam") CNpcStaticClamEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_BABY_OCTOPUS:
|
||||
{
|
||||
printf("NPC_BABY_OCTOPUS\n");
|
||||
enemy = new ("baby octopus") CNpcBabyOctopusEnemy;
|
||||
break;
|
||||
}
|
||||
|
@ -290,157 +282,126 @@ CNpcEnemy *CNpcEnemy::Create(sThingActor *ThisActor)
|
|||
case CNpcEnemy::NPC_FISH_FOLK:
|
||||
case CNpcEnemy::NPC_ZOMBIE_FISH_FOLK:
|
||||
{
|
||||
printf("NPC_FISH_FOLK\n");
|
||||
enemy = new ("fish folk") CNpcFishFolk;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_BALL_BLOB:
|
||||
{
|
||||
printf("NPC_BALL_BLOB\n");
|
||||
enemy = new ("ball blob") CNpcBallBlobEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_GHOST_PIRATE:
|
||||
{
|
||||
printf("NPC_GHOST_PIRATE\n");
|
||||
enemy = new ("ghost pirate") CNpcGhostPirateEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_PUFFA_FISH:
|
||||
{
|
||||
printf("NPC_PUFFA_FISH\n");
|
||||
enemy = new ("puffa fish") CNpcPuffaFishEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SHARK_MAN:
|
||||
{
|
||||
printf("NPC_SHARK_MAN\n");
|
||||
enemy = new ("shark man") CNpcSharkManEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SKELETAL_FISH:
|
||||
{
|
||||
printf("NPC_SKELETAL_FISH\n");
|
||||
enemy = new ("skeletal fish") CNpcSkeletalFishEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_EYEBALL:
|
||||
{
|
||||
printf("NPC_EYEBALL\n");
|
||||
enemy = new ("eyeball") CNpcEyeballEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_FLAMING_SKULL:
|
||||
{
|
||||
printf("NPC_FLAMING_SKULL\n");
|
||||
enemy = new ("flaming skull") CNpcFlamingSkullEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SKULL_STOMPER:
|
||||
{
|
||||
printf("NPC_SKULL_STOMPER\n");
|
||||
enemy = new ("skull stomper") CNpcSkullStomperEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_BOOGER_MONSTER:
|
||||
{
|
||||
printf("NPC_BOOGER_MONSTER\n");
|
||||
enemy = new ("booger monster") CNpcBoogerMonsterEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_MOTHER_JELLYFISH:
|
||||
{
|
||||
printf("NPC_MOTHER_JELLYFISH\n");
|
||||
|
||||
/*if ( CLevel::getCurrentChapterLevel() == 4 )
|
||||
{
|
||||
enemy = new ("mother jellyfish background") CNpcMotherJellyfishBackground;
|
||||
enemyType = NPC_MOTHER_JELLYFISH_BACKGROUND;
|
||||
}
|
||||
else*/
|
||||
{
|
||||
enemy = new ("mother jellyfish") CNpcMotherJellyfishEnemy;
|
||||
}
|
||||
|
||||
enemy = new ("mother jellyfish") CNpcMotherJellyfishEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_SUB_SHARK:
|
||||
{
|
||||
printf("NPC_SUB_SHARK\n");
|
||||
enemy = new ("sub shark") CNpcSubSharkEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_PARASITIC_WORM:
|
||||
{
|
||||
printf("NPC_PARASITIC_WORM\n");
|
||||
enemy = new ("parasitic worm") CNpcParasiticWormEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_FLYING_DUTCHMAN:
|
||||
{
|
||||
printf("NPC_FLYING_DUTCHMAN\n");
|
||||
enemy = new ("flying dutchman") CNpcFlyingDutchmanEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
case CNpcEnemy::NPC_IRON_DOGFISH:
|
||||
{
|
||||
printf("NPC_IRON_DOGFISH\n");
|
||||
enemy = new ("iron dogfish") CNpcIronDogfishEnemy;
|
||||
break;
|
||||
}
|
||||
|
||||
/*case CNpcEnemy::NPC_FALLING_ITEM:
|
||||
{
|
||||
printf("NPC_FALLING_ITEM\n");
|
||||
enemy = new ("falling item") CNpcFallingItemHazard;
|
||||
break;
|
||||
}*/
|
||||
|
||||
/*case CNpcEnemy::NPC_FISH_HOOK:
|
||||
{
|
||||
printf("NPC_FISH_HOOK\n");
|
||||
enemy = new ("fish hook") CNpcFishHookHazard;
|
||||
break;
|
||||
}*/
|
||||
|
||||
/*case CNpcEnemy::NPC_PENDULUM:
|
||||
{
|
||||
printf("NPC_PENDULUM\n");
|
||||
enemy = new ("pendulum") CNpcPendulumHazard;
|
||||
break;
|
||||
}*/
|
||||
|
||||
/*case CNpcEnemy::NPC_FIREBALL:
|
||||
{
|
||||
printf("NPC_FIREBALL\n");
|
||||
enemy = new ("fireball") CNpcFireballHazard;
|
||||
break;
|
||||
}*/
|
||||
|
||||
/*case CNpcEnemy::NPC_SAW_BLADE:
|
||||
{
|
||||
printf("NPC_SAW_BLADE\n");
|
||||
enemy = new ("saw blade") CNpcReturningHazard;
|
||||
break;
|
||||
}*/
|
||||
|
||||
case CNpcEnemy::NPC_DUST_DEVIL:
|
||||
{
|
||||
printf("NPC_DUST_DEVIL\n");
|
||||
enemy = new ("dust devil") CNpcDustDevilEnemy;
|
||||
break;
|
||||
}
|
||||
|
@ -501,7 +462,7 @@ CNpcEnemy *CNpcEnemy::Create(sThingActor *ThisActor)
|
|||
|
||||
default:
|
||||
{
|
||||
printf("UNKNOWN %i\n",enemyType);
|
||||
SYSTEM_DBGMSG("UNKNOWN %i\n",enemyType);
|
||||
enemy = new ("npc enemy") CNpcEnemy;
|
||||
ASSERT(0);
|
||||
break;
|
||||
|
@ -511,6 +472,8 @@ CNpcEnemy *CNpcEnemy::Create(sThingActor *ThisActor)
|
|||
ASSERT(enemy);
|
||||
|
||||
enemy->setType( enemyType );
|
||||
enemy->setThingSubType(enemyType);
|
||||
|
||||
enemy->init();
|
||||
|
||||
return(enemy);
|
||||
|
@ -589,13 +552,10 @@ void CNpcEnemy::init()
|
|||
if (m_data[m_type].skelType)
|
||||
{
|
||||
m_actorGfx=CActorPool::GetActor((FileEquate)m_data[m_type].skelType);
|
||||
m_spriteBank=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_actorGfx=0;
|
||||
m_spriteBank=new ("enemy sprites") SpriteBank();
|
||||
m_spriteBank->load(SPRITES_SPRITES_SPR);
|
||||
}
|
||||
|
||||
m_animPlaying = true;
|
||||
|
@ -674,9 +634,6 @@ void CNpcEnemy::reinit()
|
|||
|
||||
void CNpcEnemy::shutdown()
|
||||
{
|
||||
if (m_spriteBank) m_spriteBank->dump(); delete m_spriteBank;
|
||||
// remove waypoints
|
||||
|
||||
m_npcPath.removeAllWaypoints();
|
||||
|
||||
if (m_actorGfx) delete m_actorGfx;
|
||||
|
@ -1444,7 +1401,7 @@ void CNpcEnemy::processEnemyCollision( CThing *thisThing )
|
|||
}
|
||||
}
|
||||
|
||||
s32 groundHeight = m_layerCollision->getHeightFromGround( Pos.vx, Pos.vy, 16 );
|
||||
s32 groundHeight = CGameScene::getCollision()->getHeightFromGround( Pos.vx, Pos.vy, 16 );
|
||||
|
||||
if ( groundHeight < 8 )
|
||||
{
|
||||
|
@ -1494,7 +1451,7 @@ void CNpcEnemy::processUserCollision( CThing *thisThing )
|
|||
|
||||
Pos.vx += otherDelta.vx;
|
||||
|
||||
s32 groundHeight = m_layerCollision->getHeightFromGround( Pos.vx, Pos.vy, 16 );
|
||||
s32 groundHeight = CGameScene::getCollision()->getHeightFromGround( Pos.vx, Pos.vy, 16 );
|
||||
|
||||
if ( groundHeight < 8 )
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue