This commit is contained in:
Daveo 2001-04-19 15:12:21 +00:00
parent d33f59257f
commit aaaed92c9e
28 changed files with 322 additions and 188 deletions

View file

@ -231,14 +231,15 @@ int Clut=getClut(R.x,R.y);
}
/*****************************************************************************/
void CActorPool::AddActor(FileEquate Filename)
int CActorPool::AddActor(FileEquate Filename)
{
sActorPool *Actor;
int Idx=FindActorInPool(Filename);
if (Idx!=-1) return;
// Load it
LoadActor(Filename);
if (Idx!=-1) return(Idx);
// Doesnt Exist, soooooo, Load it
Idx=LoadActor(Filename);
return(Idx);
}
/*****************************************************************************/
@ -249,7 +250,10 @@ int Idx;
// Find Actor in Pool
Idx=FindActorInPool(Filename);
if (Idx==-1) ASSERT(!"Actor Not Loaded");
if (Idx==-1)
{
AddActor(Filename);
}
sActorPool &ThisActor=ActorPool[Idx];
Actor=new ("CActorGfx") CActorGfx;

View file

@ -75,7 +75,7 @@ public:
static void Init();
static void AddActor(FileEquate Filename);
static int AddActor(FileEquate Filename);
static CActorGfx *GetActor(FileEquate Filename);
static void DumpActors();

View file

@ -37,7 +37,7 @@ sBackRGBTable CLayerBack::BackRGBTable[]=
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
CLayerBack::CLayerBack(sLvlHdr *LvlHdr,sLayerHdr *Hdr) : CLayerTile(LvlHdr,Hdr)
CLayerBack::CLayerBack(sLevelHdr *LevelHdr,sLayerHdr *Hdr) : CLayerTile(LevelHdr,Hdr)
{
Data=(sLayerShadeHdr*)MakePtr(Hdr,sizeof(sLayerHdr));

View file

@ -50,7 +50,7 @@ public:
COLOR=1<<3,
};
CLayerBack(sLvlHdr *LvlHdr,sLayerHdr *Hdr);
CLayerBack(sLevelHdr *LevelHdr,sLayerHdr *Hdr);
~CLayerBack();
void init(DVECTOR &MapPos,int Shift);

View file

@ -19,14 +19,14 @@ const u32 YInc=16<<16;
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
CLayerTile::CLayerTile(sLvlHdr *LvlHdr,sLayerHdr *Hdr)
CLayerTile::CLayerTile(sLevelHdr *LevelHdr,sLayerHdr *Hdr)
{
LayerHdr=Hdr;
MapWidth=LayerHdr->Width;
MapHeight=LayerHdr->Height;
printf("%i %i\n",MapWidth,MapHeight);
TileBank2d=LvlHdr->TileBank2d;
TileBank2d=LevelHdr->TileBank2d;
Map=(sTileMapElem*)MakePtr(Hdr,sizeof(sLayerHdr));
}

View file

@ -34,7 +34,7 @@ public:
SCREEN_TILE_SIZE=SCREEN_TILE_WIDTH*SCREEN_TILE_HEIGHT
};
CLayerTile(sLvlHdr *LvlHdr,sLayerHdr *Hdr);
CLayerTile(sLevelHdr *LevelHdr,sLayerHdr *Hdr);
virtual ~CLayerTile();
virtual void init(DVECTOR &MapPos,int Shift);

View file

@ -23,12 +23,12 @@ static FontBank *Font;
/*****************************************************************************/
/*****************************************************************************/
/*****************************************************************************/
CLayerTile3d::CLayerTile3d(sLvlHdr *LvlHdr,sLayerHdr *Hdr) : CLayerTile(LvlHdr,Hdr)
CLayerTile3d::CLayerTile3d(sLevelHdr *LevelHdr,sLayerHdr *Hdr) : CLayerTile(LevelHdr,Hdr)
{
TileBank3d=LvlHdr->TileBank3d;
TriList=LvlHdr->TriList;
QuadList=LvlHdr->QuadList;
VtxList=LvlHdr->VtxList;
TileBank3d=LevelHdr->TileBank3d;
TriList=LevelHdr->TriList;
QuadList=LevelHdr->QuadList;
VtxList=LevelHdr->VtxList;
#if defined(_SHOW_POLYZ_)
Font=new ("PrimFont") FontBank;

View file

@ -11,7 +11,7 @@ class FontBank;
class CLayerTile3d : public CLayerTile
{
public:
CLayerTile3d(sLvlHdr *LvlHdr,sLayerHdr *Hdr);
CLayerTile3d(sLevelHdr *LevelHdr,sLayerHdr *Hdr);
~CLayerTile3d();
enum

View file

@ -135,18 +135,18 @@ sLvlTab *lvlTab=&LvlTable[LevelNo];
DisplayLoadingScreen(lvlTab);
LevelHdr=(sLvlHdr*)CFileIO::loadFile(lvlTab->LevelFilename,"Level");
LevelHdr=(sLevelHdr*)CFileIO::loadFile(lvlTab->LevelFilename,"Level");
LevelHdr->TileBank2d=(sTile2d*) MakePtr(LevelHdr,(int)LevelHdr->TileBank2d);
LevelHdr->TileBank3d=(sTile3d*) MakePtr(LevelHdr,(int)LevelHdr->TileBank3d);
LevelHdr->TriList=(sTri*) MakePtr(LevelHdr,(int)LevelHdr->TriList);
LevelHdr->QuadList=(sQuad*) MakePtr(LevelHdr,(int)LevelHdr->QuadList);
LevelHdr->VtxList=(sVtx*) MakePtr(LevelHdr,(int)LevelHdr->VtxList);
LevelHdr->ActorList=0;
LevelHdr->FXList=0;
LevelHdr->ItemList=0;
LevelHdr->PlatformList=0;
LevelHdr->TriggerList=0;
printf("ActorList %i\n",(int)LevelHdr->ActorList);
printf("ItemList %i\n",(int)LevelHdr->ItemList);
printf("Platfrom List %i\n",(int)LevelHdr->PlatformList);
printf("TriggerList %i\n",(int)LevelHdr->TriggerList);
printf("FXList %i\n",(int)LevelHdr->FXList);
m_levelTPage=TPLoadTex(lvlTab->TexFilename);
@ -244,7 +244,6 @@ void CLevel::initLayers()
// Actors
if (LevelHdr->ActorList)
{
sThingHdr *Hdr=(sThingHdr*)MakePtr(LevelHdr,LevelHdr->ActorList);
ActorCount=Hdr->Count;
ActorList=(sThingActor**)MemAlloc(ActorCount*sizeof(sThingActor**),"Actor List");
@ -255,7 +254,6 @@ void CLevel::initLayers()
ThingPtr+=sizeof(sThingActor);
ThingPtr+=ActorList[i]->PointCount*sizeof(u16)*2;
}
if (Hdr->Count>8) Hdr->Count=0;
}
// Items
if (LevelHdr->ItemList)
@ -263,7 +261,6 @@ void CLevel::initLayers()
sThingHdr *Hdr=(sThingHdr*)MakePtr(LevelHdr,LevelHdr->ItemList);
ItemCount=Hdr->Count;
ItemList=(sThingItem*)MakePtr(Hdr,sizeof(sThingHdr));
DVECTOR pos;
for(int i=0;i<ItemCount;i++)
{
@ -287,7 +284,6 @@ void CLevel::initLayers()
ThingPtr+=sizeof(sThingPlatform);
ThingPtr+=PlatformList[i]->PointCount*sizeof(u16)*2;
}
if (Hdr->Count>8) Hdr->Count=0;
}
// Triggers

View file

@ -46,7 +46,7 @@ private:
void initLayers();
void DisplayLoadingScreen(sLvlTab *lvlTab);
sLvlHdr *LevelHdr;
sLevelHdr *LevelHdr;
static DVECTOR MapPos;
static DVECTOR s_playerSpawnPos;