2000-12-14 17:38:34 +01:00
|
|
|
/***************************/
|
|
|
|
/*** 3d Tile Layer Class ***/
|
|
|
|
/***************************/
|
2000-12-14 17:01:49 +01:00
|
|
|
|
2001-03-09 00:02:47 +01:00
|
|
|
#ifndef __LAYER_TILE_3D_Hx__
|
|
|
|
#define __LAYER_TILE_3D_Hx__
|
2000-12-14 17:01:49 +01:00
|
|
|
|
|
|
|
|
2001-06-28 23:01:28 +02:00
|
|
|
#define CMX_SetRotMatrixXY( r0 ) __asm__ ( \
|
|
|
|
"lw $12, 0( %0 );" \
|
|
|
|
"lw $13, 4( %0 );" \
|
|
|
|
"ctc2 $12, $0;" \
|
|
|
|
"ctc2 $13, $2;" \
|
|
|
|
: \
|
|
|
|
: "r"( r0 ) \
|
|
|
|
: "$12", "$13")
|
|
|
|
|
|
|
|
struct sFlipTable
|
|
|
|
{
|
|
|
|
s16 Mtx[4];
|
|
|
|
s32 ClipCode;
|
|
|
|
};
|
|
|
|
extern sFlipTable FlipTable[];
|
|
|
|
|
2000-12-14 17:01:49 +01:00
|
|
|
/*****************************************************************************/
|
2001-03-09 00:12:02 +01:00
|
|
|
class FontBank;
|
2000-12-14 17:38:34 +01:00
|
|
|
class CLayerTile3d : public CLayerTile
|
2000-12-14 17:01:49 +01:00
|
|
|
{
|
|
|
|
public:
|
2001-04-19 17:12:21 +02:00
|
|
|
CLayerTile3d(sLevelHdr *LevelHdr,sLayerHdr *Hdr);
|
2000-12-14 17:38:34 +01:00
|
|
|
~CLayerTile3d();
|
2001-06-28 19:48:30 +02:00
|
|
|
|
2001-02-22 15:55:13 +01:00
|
|
|
void init(DVECTOR &MapPos,int Shift);
|
2001-01-04 22:53:14 +01:00
|
|
|
void shutdown();
|
2001-03-09 00:02:47 +01:00
|
|
|
void think(DVECTOR &MapPos);
|
2001-01-04 22:53:14 +01:00
|
|
|
void render();
|
2000-12-14 17:01:49 +01:00
|
|
|
|
|
|
|
protected:
|
2001-06-28 19:48:30 +02:00
|
|
|
sElem3d *ElemBank3d;
|
2001-03-08 00:20:09 +01:00
|
|
|
sTri *TriList;
|
|
|
|
sQuad *QuadList;
|
|
|
|
sVtx *VtxList;
|
2001-03-12 16:24:37 +01:00
|
|
|
DVECTOR RenderOfs;
|
2000-12-14 17:01:49 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*****************************************************************************/
|
|
|
|
|
|
|
|
#endif
|