This commit is contained in:
Daveo 2001-02-22 14:55:13 +00:00
parent d0780ad261
commit 6d989f8c1f
8 changed files with 94 additions and 329 deletions

View file

@ -9,20 +9,6 @@
#include "gfx\prim.h"
/*****************************************************************************/
struct sPrimGridElem
{
TSPRT_16 Prim;
sPrimGridElem *Right;
sPrimGridElem *Down;
};
struct sPrimGridElem3d : public sPrimGridElem
{
u16 Tile;
u16 Flags;
};
/*****************************************************************************/
const s32 LayerOT=MAX_OT-1;
@ -43,26 +29,23 @@ public:
{
TILE_WIDTH=16,
TILE_HEIGHT=16,
SCREEN_TILE_WIDTH=32,
SCREEN_TILE_HEIGHT=16,
SCREEN_TILE_WIDTH=34,
SCREEN_TILE_HEIGHT=18,
SCREEN_TILE_SIZE=SCREEN_TILE_WIDTH*SCREEN_TILE_HEIGHT
};
CLayerTile(sLayerHdr *Hdr,sTile *TileList,sTri *TriList,sQuad *QuadList,sVtx *VtxList);
virtual ~CLayerTile();
virtual void init(DVECTOR &MapPos,int Shift,int Width=SCREEN_TILE_WIDTH,int Height=SCREEN_TILE_HEIGHT);
virtual void init(DVECTOR &MapPos,int Shift);
virtual void shutdown();
virtual void think(DVECTOR &MapPos);
virtual void render();
int GetMapOfs() {return(MapXY.vx+(MapXY.vy*MapWidth));}
virtual sTileMapElem *GetMapPos() {return(Map+GetMapOfs());}
protected:
virtual void UpdateWholeMap();
virtual void UpdateRow(int MapX,int MapY);
virtual void UpdateColumn(int MapX,int MapY);
sPrimGridElem *GetGridPos(int X,int Y);
sTileMapElem *GetMapPos(int X,int Y);
sLayerHdr *LayerHdr;
sTile *TileList;
@ -71,14 +54,12 @@ virtual void UpdateColumn(int MapX,int MapY);
sVtx *VtxList;
int MapWidth,MapHeight,MapXYShift;
int PrimGridWidth,PrimGridHeight;
int RenderW,RenderH;
int MapX,MapY;
DVECTOR MapXY;
u16 ShiftX,ShiftY;
sTileMapElem *Map;
sPrimGridElem *PrimGrid;
};