This commit is contained in:
Daveo 2001-04-26 21:15:36 +00:00
parent a7ac143cce
commit 420026d239
13 changed files with 58 additions and 82 deletions

View file

@ -1,5 +1,4 @@
die die
gethit
idle idle
jumpend jumpend
jumpstart jumpstart

View file

@ -1,2 +1 @@
Body Body
Spike

View file

@ -965,9 +965,9 @@ void SprFrame::SetFrameAndInfo(Frame const & Fr,FileInfo const & NewMyFileInfo,i
X=XOff; X=XOff;
Y=YOff; Y=YOff;
if (Width > 254 || Height > 254) if (Width > 256 || Height > 256)
{ {
Error(ERR_FATAL,"Images only allowed to 254x254, this is %dx%d : %s",Width,Height,MyFileInfo.GetActualFileName()); Error(ERR_FATAL,"Images only allowed to 256x256, this is %dx%d : %s",Width,Height,MyFileInfo.GetActualFileName());
} }

View file

@ -143,8 +143,7 @@ LEVELS/FMA_SHADYEXTERIOR.Tex
actors/SPONGEBOB.SBK actors/SPONGEBOB.SBK
actors/ANENOMELVL1.SBK actors/ANENOME.SBK
actors/ANENOMELVL3.SBK
actors/BABYOCTOPUS.SBK actors/BABYOCTOPUS.SBK
actors/BALLBLOB.SBK actors/BALLBLOB.SBK
actors/CATERPILLAR.SBK actors/CATERPILLAR.SBK

View file

@ -110,7 +110,7 @@ ACTOR_SPONGEBOB := SPONGEBOB
ACTOR_NPC := ACTOR_NPC :=
# BarnacleBoy Gary Krusty MermaidMan Patrick Plankton Sandy Squidward # BarnacleBoy Gary Krusty MermaidMan Patrick Plankton Sandy Squidward
ACTOR_ENEMY := AnenomeLvl1 AnenomeLvl3 BabyOctopus Ballblob Caterpillar clam Dustdevil Eyeball \ ACTOR_ENEMY := Anenome BabyOctopus Ballblob Caterpillar clam Dustdevil Eyeball \
Flamingskull FlyingDutchman Ghost HermitCrab IronDogFish Lrgjellyfish \ Flamingskull FlyingDutchman Ghost HermitCrab IronDogFish Lrgjellyfish \
PuffaFish Sharkman Skeletalfish SpiderCrab SpikeyAnenome Stomper PuffaFish Sharkman Skeletalfish SpiderCrab SpikeyAnenome Stomper

View file

@ -31,19 +31,14 @@
#include "player\player.h" #include "player\player.h"
#endif #endif
#ifndef __ANIM_ANENOMELVL1_HEADER__ #ifndef __ANIM_ANENOME_HEADER__
#include <ACTOR_ANENOMELVL1_ANIM.h> #include <ACTOR_ANENOME_ANIM.h>
#endif #endif
#ifndef __ANIM_SPIKEYANENOME_HEADER__ #ifndef __ANIM_SPIKEYANENOME_HEADER__
#include <ACTOR_SPIKEYANENOME_ANIM.h> #include <ACTOR_SPIKEYANENOME_ANIM.h>
#endif #endif
#ifndef __ANIM_ANENOMELVL3_HEADER__
#include <ACTOR_ANENOMELVL3_ANIM.h>
#endif
void CNpcAnemoneEnemy::processEnemyCollision( CThing *thisThing ) void CNpcAnemoneEnemy::processEnemyCollision( CThing *thisThing )
{ {
// do nothing // do nothing
@ -154,10 +149,10 @@ void CNpcAnemone1Enemy::processClose( int _frames )
if ( m_timerTimer <= 0 && !m_animPlaying ) if ( m_timerTimer <= 0 && !m_animPlaying )
{ {
if ( m_animNo != ANIM_ANENOMELVL1_FIRE ) if ( m_animNo != ANIM_ANENOME_FIRE )
{ {
m_animPlaying = true; m_animPlaying = true;
m_animNo = ANIM_ANENOMELVL1_FIRE; m_animNo = ANIM_ANENOME_FIRE;
m_frame = 0; m_frame = 0;
} }
} }
@ -165,10 +160,10 @@ void CNpcAnemone1Enemy::processClose( int _frames )
} }
else else
{ {
if ( !m_animPlaying || m_animNo != ANIM_ANENOMELVL1_BEND ) if ( !m_animPlaying || m_animNo != ANIM_ANENOME_FIRE )
{ {
m_animPlaying = true; m_animPlaying = true;
m_animNo = ANIM_ANENOMELVL1_BEND; m_animNo = ANIM_ANENOME_FIRE;
m_frame = 0; m_frame = 0;
} }
} }
@ -177,7 +172,7 @@ void CNpcAnemone1Enemy::processClose( int _frames )
{ {
if ( m_timerTimer <= 0 && !m_animPlaying ) if ( m_timerTimer <= 0 && !m_animPlaying )
{ {
if ( m_animNo == ANIM_ANENOMELVL1_FIRE ) if ( m_animNo == ANIM_ANENOME_FIRE )
{ {
// if firing anim is complete and user is still in range, fire projectile // if firing anim is complete and user is still in range, fire projectile
@ -192,7 +187,7 @@ void CNpcAnemone1Enemy::processClose( int _frames )
m_sensorFunc = NPC_SENSOR_NONE; m_sensorFunc = NPC_SENSOR_NONE;
m_animPlaying = true; m_animPlaying = true;
m_animNo = ANIM_ANENOMELVL1_BEND; m_animNo = ANIM_ANENOME_FIRE;
m_frame = 0; m_frame = 0;
} }
} }
@ -291,10 +286,10 @@ void CNpcAnemone2Enemy::processClose( int _frames )
void CNpcAnemone3Enemy::processClose( int _frames ) void CNpcAnemone3Enemy::processClose( int _frames )
{ {
if ( m_animNo != ANIM_ANENOMELVL3_FIRE ) if ( m_animNo != ANIM_ANENOME_FIRE )
{ {
m_animPlaying = true; m_animPlaying = true;
m_animNo = ANIM_ANENOMELVL3_FIRE; m_animNo = ANIM_ANENOME_FIRE;
m_frame = 0; m_frame = 0;
} }
else if ( !m_animPlaying ) else if ( !m_animPlaying )
@ -316,7 +311,7 @@ void CNpcAnemone3Enemy::processClose( int _frames )
m_sensorFunc = NPC_SENSOR_NONE; m_sensorFunc = NPC_SENSOR_NONE;
m_animPlaying = true; m_animPlaying = true;
m_animNo = ANIM_ANENOMELVL3_BEND; m_animNo = ANIM_ANENOME_FIRE;
m_frame = 0; m_frame = 0;
} }
} }

View file

@ -27,12 +27,8 @@
#include <ACTOR_CLAM_ANIM.h> #include <ACTOR_CLAM_ANIM.h>
#endif #endif
#ifndef __ANIM_ANENOMELVL1_HEADER__ #ifndef __ANIM_ANENOME_HEADER__
#include <ACTOR_ANENOMELVL1_ANIM.h> #include <ACTOR_ANENOME_ANIM.h>
#endif
#ifndef __ANIM_ANENOMELVL3_HEADER__
#include <ACTOR_ANENOMELVL3_ANIM.h>
#endif #endif
#ifndef __ANIM_BABYOCTOPUS_HEADER__ #ifndef __ANIM_BABYOCTOPUS_HEADER__
@ -314,8 +310,8 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
}, },
{ // NPC_ANEMONE_1 { // NPC_ANEMONE_1
ACTORS_ANENOMELVL1_SBK, ACTORS_ANENOME_SBK,
ANIM_ANENOMELVL1_BEND, ANIM_ANENOME_FIRE,
NPC_SENSOR_USER_CLOSE, NPC_SENSOR_USER_CLOSE,
NPC_MOVEMENT_STATIC_CYCLE_ANIM, NPC_MOVEMENT_STATIC_CYCLE_ANIM,
NPC_CLOSE_NONE, NPC_CLOSE_NONE,
@ -356,8 +352,8 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
}, },
{ // NPC_ANEMONE_3 { // NPC_ANEMONE_3
ACTORS_ANENOMELVL3_SBK, ACTORS_ANENOME_SBK,
ANIM_ANENOMELVL3_BEND, ANIM_ANENOME_FIRE,
NPC_SENSOR_USER_CLOSE, NPC_SENSOR_USER_CLOSE,
NPC_MOVEMENT_STATIC_CYCLE_ANIM, NPC_MOVEMENT_STATIC_CYCLE_ANIM,
NPC_CLOSE_NONE, NPC_CLOSE_NONE,
@ -581,7 +577,7 @@ CNpcEnemy::NPC_DATA CNpcEnemy::m_data[NPC_UNIT_TYPE_MAX] =
ANIM_HERMITCRAB_SCUTTLE, ANIM_HERMITCRAB_SCUTTLE,
NPC_SHOT_GENERIC, NPC_SHOT_GENERIC,
ANIM_HERMITCRAB_DIE, ANIM_HERMITCRAB_DIE,
ANIM_HERMITCRAB_GETHIT, ANIM_HERMITCRAB_DIE,
false, false,
false, false,
}, },

View file

@ -218,11 +218,12 @@ RECT R={512,256,512,250};
/*****************************************************************************/ /*****************************************************************************/
void CActorCache::LoadPalette(sActorPool *Actor) void CActorCache::LoadPalette(sActorPool *Actor)
{ {
if (!Actor->ActorGfx->Clut)
{ // Cheap bodge at mo
RECT R; RECT R;
int X=CurrentPalette%(((CACHE_W*TPAGE_W)/CACHE_PALW)); int X=CurrentPalette%(((CACHE_W*TPAGE_W)/CACHE_PALW));
int Y=CurrentPalette/(((CACHE_W*TPAGE_W)/CACHE_PALW)-1); int Y=CurrentPalette/(((CACHE_W*TPAGE_W)/CACHE_PALW)-1);
// Cheap bodge at mo
if (Actor->Filename==ACTORS_SPONGEBOB_SBK) if (Actor->Filename==ACTORS_SPONGEBOB_SBK)
{ {
R.x=512; R.x=512;
@ -238,10 +239,10 @@ int Y=CurrentPalette/(((CACHE_W*TPAGE_W)/CACHE_PALW)-1);
R.h=CACHE_PALH; R.h=CACHE_PALH;
DrawSync(0); DrawSync(0);
LoadImage( &R, (u32*)Actor->ActorGfx->Palette); LoadImage( &R, (u32*)Actor->ActorGfx->Palette);
Actor->ActorGfx->Clut=getClut(R.x,R.y); Actor->ActorGfx->Clut=getClut(R.x,R.y);
CurrentPalette++; CurrentPalette++;
} }
}
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/
@ -429,10 +430,7 @@ int Total=0;
/*****************************************************************************/ /*****************************************************************************/
int ActorOT=10; int ActorOT=10;
int Angle=0;
int AngleInc=16;
int ScaleX=4095;
int ScaleY=4095;
POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip,bool Shadow) POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip,bool Shadow)
{ {
@ -493,10 +491,6 @@ int HalfW=CurrentFrame->W>>1;
BBox.YMin=-CurrentFrame->H; BBox.YMin=-CurrentFrame->H;
BBox.YMax=0; BBox.YMax=0;
//
// RotateScale(Ft4,Pos,Angle,ScaleX,ScaleY);
// Angle+=AngleInc;
return(Ft4); return(Ft4);
} }

View file

@ -229,11 +229,16 @@ void CLevel::initLayers()
TileLayers[CLayerTile::LAYER_TILE_TYPE_ACTION]=NewLayer; TileLayers[CLayerTile::LAYER_TILE_TYPE_ACTION]=NewLayer;
} }
// Collision // Collision
if (LevelHdr->CollisionLayer) if (LevelHdr->CollisionLayer)
{ {
sLayerHdr *Layer=(sLayerHdr*)MakePtr(LevelHdr,LevelHdr->CollisionLayer); sLayerHdr *Layer=(sLayerHdr*)MakePtr(LevelHdr,LevelHdr->CollisionLayer);
CollisionLayer=new ("Collision Layer") CLayerCollision(Layer); CollisionLayer=new ("Collision Layer") CLayerCollision(Layer);
} }
else
{
ASSERT(!"Where is the collision, moron!");
}
// Actors // Actors
if (LevelHdr->ActorList) if (LevelHdr->ActorList)
@ -354,22 +359,11 @@ void CLevel::shutdown()
/*****************************************************************************/ /*****************************************************************************/
void CLevel::render() void CLevel::render()
{ {
// Setup dummy prim to ensure OtPos 0 is initialised (for fast add)
/*
for (int i=0;i<8; i++)
{
TILE_16 *Prim=GetPrimTILE16();
sOT *ThisOT=OtPtr+LayerOT+i-4;
Prim->x0=1024;
Prim->y0=1024;
AddPrim(ThisOT,Prim);
ASSERT(ThisOT->FirstPrim);
}
*/
for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++) for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++)
{ {
if (TileLayers[i]) TileLayers[i]->render(); if (TileLayers[i]) TileLayers[i]->render();
} }
#ifdef __SHOW_COLLISION__ #ifdef __SHOW_COLLISION__
if(CollisionLayer) if(CollisionLayer)
{ {
@ -383,6 +377,7 @@ void CLevel::render()
/*****************************************************************************/ /*****************************************************************************/
void CLevel::think(int _frames) void CLevel::think(int _frames)
{ {
for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++) for (int i=0; i<CLayerTile::LAYER_TILE_TYPE_MAX; i++)
{ {
if (TileLayers[i]) TileLayers[i]->think(MapPos); if (TileLayers[i]) TileLayers[i]->think(MapPos);

View file

@ -122,7 +122,7 @@ void CPlayerModeJellyLauncher::think()
else else
{ {
m_firingState=FIRING_STATE__FIRING; m_firingState=FIRING_STATE__FIRING;
m_player->setAnimNo(ANIM_SPONGEBOB_FIREND); m_player->setAnimNo(ANIM_SPONGEBOB_FIREEND);
launchProjectile(); launchProjectile();
} }
break; break;

Binary file not shown.

View file

@ -232,11 +232,10 @@ struct sSpriteAnim
struct sSpriteAnimBank struct sSpriteAnimBank
{ {
u16 ColorCount; // 2 u16 Clut; // 2
u16 AnimCount; // 2 u16 AnimCount; // 2
u16 FrameCount; // 2 u16 FrameCount; // 2
u16 MaxW,MaxH; // 4 u8 MaxW,MaxH; // 2
u16 Clut;
u8 *Palette; // 4 u8 *Palette; // 4
sSpriteAnim *AnimList; // 4 sSpriteAnim *AnimList; // 4

View file

@ -127,7 +127,7 @@ AttackStrength=20
#AttackStrength=1234 #AttackStrength=1234
[Anenome-Level1] [Anenome-Level1]
Gfx=..\..\graphics\characters\AnenomeLvl1\render\psx\AnenomeLvl1_Fire0001.bmp Gfx=..\..\graphics\characters\Anenome\render\AnemneLvl1Icon.bmp
WayPoints=16 WayPoints=16
Speed=0 Speed=0
TurnRate=128 TurnRate=128
@ -145,7 +145,7 @@ Health=0
AttackStrength=20 AttackStrength=20
[Anenome-Level3] [Anenome-Level3]
Gfx=..\..\graphics\characters\AnenomeLvl3\Render\PSX\AnenomeLvl3_Fire0001.bmp Gfx=..\..\graphics\characters\Anenome\render\AnemneLvl3Icon.bmp
WayPoints=16 WayPoints=16
Speed=0 Speed=0
TurnRate=128 TurnRate=128