This commit is contained in:
parent
9ee7f92dc0
commit
a331544f95
20 changed files with 95 additions and 97 deletions
|
@ -2,6 +2,7 @@
|
|||
/*** Shade Layer Class ***/
|
||||
/*************************/
|
||||
|
||||
#include "system\vid.h"
|
||||
#include "system\global.h"
|
||||
#include <DStructs.h>
|
||||
#include "utils\utils.h"
|
||||
|
@ -86,8 +87,8 @@ sLayerShadeBackGfx *GfxList=Data->GfxList;
|
|||
{
|
||||
int PosX=(GfxList->PosX*BB)-XOfs;
|
||||
int PosY=(GfxList->PosY*BB)-YOfs;
|
||||
if (PosX>0-64 && PosX<512+64)
|
||||
if (PosY>0-64 && PosY<256+64)
|
||||
if (PosX>0-64 && PosX<INGAME_SCREENW+64)
|
||||
if (PosY>0-64 && PosY<INGAME_SCREENH+64)
|
||||
{
|
||||
POLY_GT4 *sGt4,*Gt4=GetPrimGT4();
|
||||
sLayerShadeBackGfxType &ThisType=Data->TypeList[GfxList->Type];
|
||||
|
@ -127,7 +128,7 @@ sLayerShadeBackGfx *GfxList=Data->GfxList;
|
|||
// if (ThisY<0) BandHeight=256;
|
||||
for (i=0; i<BandCount; i++)
|
||||
{
|
||||
setXYWH(&Band[i],0,ThisY,512,BandHeight);
|
||||
setXYWH(&Band[i],0,ThisY,INGAME_SCREENW,BandHeight);
|
||||
addPrim(ThisOT,&Band[i]);
|
||||
ThisY+=BandHeight;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
/***************************/
|
||||
|
||||
#include "system\global.h"
|
||||
#include "system\vid.h"
|
||||
#include <DStructs.h>
|
||||
#include "utils\utils.h"
|
||||
#include "gfx\prim.h"
|
||||
|
@ -18,6 +19,18 @@
|
|||
static FontBank *Font;
|
||||
#endif
|
||||
|
||||
int BLOCK_SIZE =16;
|
||||
int SCREEN_TILE_ADJ_U =2;
|
||||
int SCREEN_TILE_ADJ_D =2;
|
||||
int SCREEN_TILE_ADJ_L =2;
|
||||
int SCREEN_TILE_ADJ_R =3;
|
||||
int SCREEN_TILE3D_WIDTH =(INGAME_SCREENW/BLOCK_SIZE)+SCREEN_TILE_ADJ_L+SCREEN_TILE_ADJ_R; //40;
|
||||
int SCREEN_TILE3D_HEIGHT =(INGAME_SCREENH/BLOCK_SIZE)+SCREEN_TILE_ADJ_U+SCREEN_TILE_ADJ_D; //+18;
|
||||
int RENDER_X_PIX_OFS =8;
|
||||
int RENDER_Y_PIX_OFS =16;
|
||||
|
||||
int RENDER_X_OFS =INGAME_SCREENOFS_X-(SCREEN_TILE_ADJ_L*BLOCK_SIZE)+RENDER_X_PIX_OFS;
|
||||
int RENDER_Y_OFS =INGAME_SCREENOFS_Y-(SCREEN_TILE_ADJ_U*BLOCK_SIZE)+RENDER_Y_PIX_OFS;
|
||||
|
||||
/*****************************************************************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -67,8 +80,8 @@ void CLayerTile3d::think(DVECTOR &MapPos)
|
|||
MapXY.vx=MapPos.vx>>4;
|
||||
MapXY.vy=MapPos.vy>>4;
|
||||
|
||||
MapXY.vx-=SCREEN_TILE_ADJ_LEFT;
|
||||
MapXY.vy-=SCREEN_TILE_ADJ_UP;
|
||||
MapXY.vx-=SCREEN_TILE_ADJ_L;
|
||||
MapXY.vy-=SCREEN_TILE_ADJ_U;
|
||||
|
||||
ShiftX=(MapPos.vx & 15);
|
||||
ShiftY=(MapPos.vy & 15);
|
||||
|
@ -76,12 +89,12 @@ void CLayerTile3d::think(DVECTOR &MapPos)
|
|||
RenderOfs.vx=RenderOfs.vy=0;
|
||||
if (MapXY.vx<0)
|
||||
{
|
||||
RenderOfs.vx=-MapXY.vx*BLOCK_MULT;
|
||||
RenderOfs.vx=-MapXY.vx*BLOCK_SIZE;
|
||||
MapXY.vx=0;
|
||||
}
|
||||
if (MapXY.vy<0)
|
||||
{
|
||||
RenderOfs.vy=-MapXY.vy*BLOCK_MULT;
|
||||
RenderOfs.vy=-MapXY.vy*BLOCK_SIZE;
|
||||
MapXY.vy=0;
|
||||
}
|
||||
|
||||
|
@ -101,6 +114,10 @@ void CLayerTile3d::think(DVECTOR &MapPos)
|
|||
/*****************************************************************************/
|
||||
void CLayerTile3d::render()
|
||||
{
|
||||
SCREEN_TILE3D_WIDTH =(INGAME_SCREENW/BLOCK_SIZE)+SCREEN_TILE_ADJ_L+SCREEN_TILE_ADJ_R; //40;
|
||||
SCREEN_TILE3D_HEIGHT =(INGAME_SCREENH/BLOCK_SIZE)+SCREEN_TILE_ADJ_U+SCREEN_TILE_ADJ_D; //+18;
|
||||
RENDER_X_OFS =INGAME_SCREENOFS_X-(SCREEN_TILE_ADJ_L*BLOCK_SIZE)+RENDER_X_PIX_OFS;
|
||||
RENDER_Y_OFS =INGAME_SCREENOFS_Y-(SCREEN_TILE_ADJ_U*BLOCK_SIZE)+RENDER_Y_PIX_OFS;
|
||||
|
||||
sTileMapElem *MapPtr=GetMapPos();
|
||||
u8 *PrimPtr=GetPrimPtr();
|
||||
|
@ -156,11 +173,11 @@ VECTOR BlkPos;
|
|||
}
|
||||
}
|
||||
MapRow++;
|
||||
BlkPos.vx+=BLOCK_MULT;
|
||||
BlkPos.vx+=BLOCK_SIZE;
|
||||
}
|
||||
MapPtr+=MapWidth;
|
||||
BlkPos.vx=BlkXOld;
|
||||
BlkPos.vy+=BLOCK_MULT;
|
||||
BlkPos.vy+=BLOCK_SIZE;
|
||||
}
|
||||
|
||||
SetPrimPtr((u8*)TPrimPtr);
|
||||
|
|
|
@ -13,7 +13,7 @@ class CLayerTile3d : public CLayerTile
|
|||
public:
|
||||
CLayerTile3d(sLevelHdr *LevelHdr,sLayerHdr *Hdr);
|
||||
~CLayerTile3d();
|
||||
|
||||
/*
|
||||
enum
|
||||
{
|
||||
TILE3D_WIDTH =16,
|
||||
|
@ -30,7 +30,7 @@ public:
|
|||
RENDER_Y_OFS =-(BLOCK_MULT*7)-(SCREEN_TILE_ADJ_UP*BLOCK_MULT)+RENDER_Y_PIX_OFS,
|
||||
|
||||
};
|
||||
|
||||
*/
|
||||
void init(DVECTOR &MapPos,int Shift);
|
||||
void shutdown();
|
||||
void think(DVECTOR &MapPos);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue