diff --git a/source/fx/fxgeyser.cpp b/source/fx/fxgeyser.cpp index 5037ae9df..04a5f72d6 100644 --- a/source/fx/fxgeyser.cpp +++ b/source/fx/fxgeyser.cpp @@ -13,7 +13,7 @@ #include "FX\FXGeyser.h" -int GeyserSpeed=4; +static const int GeyserSpeed=4; /*****************************************************************************/ void CFXGeyser::init(DVECTOR const &_Pos) diff --git a/source/fx/fxnrgbar.cpp b/source/fx/fxnrgbar.cpp index 060862f0e..f0d02b36e 100644 --- a/source/fx/fxnrgbar.cpp +++ b/source/fx/fxnrgbar.cpp @@ -3,6 +3,7 @@ /******************/ #include "system\global.h" +#include "system\vid.h" #include #include "utils\utils.h" #include "gfx\prim.h" @@ -16,7 +17,7 @@ int NRGX=32; int NRGY=188; -int NRGW=512-64; +int NRGW=INGAME_SCREENW-64; /*****************************************************************************/ diff --git a/source/game/game.cpp b/source/game/game.cpp index c4300477d..8f5d4d8b8 100644 --- a/source/game/game.cpp +++ b/source/game/game.cpp @@ -169,18 +169,6 @@ int CGameScene::s_bossHasBeenKilled; CGameScene GameScene; -/*****************************************************************************/ -void CGameScene::AspectCorrectCamera() -{ -const s32 Scale = (512<<12)/(256); - - CamMtx.m[0][0] = ((s32)CamMtx.m[0][0] * Scale)>>12; - CamMtx.m[0][1] = ((s32)CamMtx.m[0][1] * Scale)>>12; - CamMtx.m[0][2] = ((s32)CamMtx.m[0][2] * Scale)>>12; - - CamMtx.t[0] = (CamMtx.t[0] * Scale)>>12; -} - /*****************************************************************************/ void CGameScene::init() { @@ -256,7 +244,7 @@ void CGameScene::render() timerValue=m_timer/55; if(timerValue<0)timerValue=0; sprintf(buf,"%d",timerValue); - m_scalableFont->print(256,30,buf); + m_scalableFont->print(VidGetScrW()/2,30,buf); } m_pauseMenu->render(); diff --git a/source/game/game.h b/source/game/game.h index 94c5a88f5..aa1dfaf26 100644 --- a/source/game/game.h +++ b/source/game/game.h @@ -66,8 +66,6 @@ protected: void initLevel(); void shutdownLevel(); - void AspectCorrectCamera(); - CLevel Level; class CPauseMenu *m_pauseMenu; class CPlayer *m_player; diff --git a/source/game/pause.cpp b/source/game/pause.cpp index 9c88b8bdf..78976d02b 100644 --- a/source/game/pause.cpp +++ b/source/game/pause.cpp @@ -16,6 +16,7 @@ Includes -------- */ +#include "system\vid.h" #include "game\pause.h" #ifndef __GUI_GFRAME_H__ @@ -88,7 +89,7 @@ void CPauseMenu::init() { m_guiFrame=new ("Conversation GUI") CGUIControlFrame(); m_guiFrame->init(0); - m_guiFrame->setObjectXYWH((512-FRAME_WIDTH)/2,(256-FRAME_HEIGHT)/2,FRAME_WIDTH,FRAME_HEIGHT); + m_guiFrame->setObjectXYWH((INGAME_SCREENW-FRAME_WIDTH)/2,(INGAME_SCREENH-FRAME_HEIGHT)/2,FRAME_WIDTH,FRAME_HEIGHT); m_guiFrame->setOt(OT_POS); m_guiFrame->setFlags(CGUIObject::FLAG_DRAWBORDER); diff --git a/source/gfx/actor.cpp b/source/gfx/actor.cpp index ef0281408..fb3efe870 100644 --- a/source/gfx/actor.cpp +++ b/source/gfx/actor.cpp @@ -2,6 +2,7 @@ /*** Actor Bank ***/ /******************/ +#include "system\vid.h" #include "system\global.h" #include "mem\memory.h" #include "fileio\fileio.h" @@ -523,7 +524,6 @@ void CActorGfx::setActor(sActorPool *ThisActor) } /*****************************************************************************/ -int BBX=0; POLY_FT4 *CActorGfx::Render(DVECTOR &Pos,int Anim,int Frame,bool XFlip,bool YFlip) { sPoolNode *ThisNode,*FindNode; @@ -756,11 +756,14 @@ u8 V=Node->V; } setXYWH(Ft4,X,Y,W,H); + +#if INGAME_SCREENW==512 // Correct Aspect Ft4->x0-=CurrentFrameGfx->AspectX0; Ft4->x1+=CurrentFrameGfx->AspectX1; Ft4->x2-=CurrentFrameGfx->AspectX0; Ft4->x3+=CurrentFrameGfx->AspectX1; +#endif } @@ -791,9 +794,6 @@ void CModelGfx::SetModel(int Type) } /*****************************************************************************/ -const int PXOfs=-16; -const int PYOfs=-8; - void CModelGfx::Render(DVECTOR &Pos,SVECTOR *Angle,VECTOR *Scale) { #define BLOCK_MULT 16 @@ -836,8 +836,8 @@ sTri *TList=&ModelTriList[Model->TriStart]; int ShiftX=(Pos.vx & 15); int ShiftY=(Pos.vy & 15); - RenderPos.vx=(PXOfs*16)+((MapXY.vx*16)+ShiftX); - RenderPos.vy=(PYOfs*16)+((MapXY.vy*16)+ShiftY); + RenderPos.vx=INGAME_SCREENOFS_X+((MapXY.vx*16)+ShiftX); + RenderPos.vy=INGAME_SCREENOFS_Y+((MapXY.vy*16)+ShiftY); gte_SetRotMatrix(&Mtx); CMX_SetTransMtxXY(&RenderPos); diff --git a/source/gfx/fader.cpp b/source/gfx/fader.cpp index fed051e33..81d28a791 100644 --- a/source/gfx/fader.cpp +++ b/source/gfx/fader.cpp @@ -30,6 +30,7 @@ #include "sound\sound.h" #endif +#include "system\vid.h" /* Std Lib ------- */ @@ -138,7 +139,7 @@ void CFader::render() POLY_F4 *f4; f4=GetPrimF4(); - setXYWH(f4,0,0,512,256); + setXYWH(f4,0,0,VidGetScrW(),VidGetScrH()); switch(s_fadeStyle) { case BLACK_FADE: diff --git a/source/gfx/prim.cpp b/source/gfx/prim.cpp index cad4ef32f..caab3cd93 100644 --- a/source/gfx/prim.cpp +++ b/source/gfx/prim.cpp @@ -90,8 +90,8 @@ sVidScreen *Scr=VidGetDrawScreen(); Real.x+=Scr->Draw.clip.x; Real.y+=Scr->Draw.clip.y; - int xLimit=512; - int yLimit=((FrameFlipFlag^1)+1)*256; + int xLimit=VidGetScrW(); + int yLimit=((FrameFlipFlag^1)+1)*VidGetScrH(); if(Real.x+Real.w>xLimit)Real.w=xLimit-Real.x; if(Real.y+Real.h>yLimit)Real.h=yLimit-Real.y; diff --git a/source/gfx/prim.h b/source/gfx/prim.h index 74a0d9f13..7d44edd55 100644 --- a/source/gfx/prim.h +++ b/source/gfx/prim.h @@ -350,7 +350,6 @@ inline int GetFrameClut(sFrameHdr *Fr) {return(Fr->Clut);} inline int GetFrameTPage(sFrameHdr *Fr) {return(Fr->TPage);} const int aspectX=4096+1024;//(512<<12)/320; -//int aspectY=(256<<12)/320; inline void CorrectAspect(POLY_FT4 *P) { int W=P->x1-P->x0; diff --git a/source/gfx/sprbank.cpp b/source/gfx/sprbank.cpp index fe336cd9f..a259bd9eb 100644 --- a/source/gfx/sprbank.cpp +++ b/source/gfx/sprbank.cpp @@ -268,7 +268,6 @@ void SpriteBank::prepareFT4(POLY_FT4 *_ft4,sFrameHdr *_fh,int _x,int _y,bool _xF setXYWH(_ft4,_x,_y,W,H); setUVTp(_fh,_ft4,_xFlip,_yFlip); -//!! CorrectAspect(_ft4); } /*---------------------------------------------------------------------- @@ -338,7 +337,6 @@ void SpriteBank::prepareFT4Scaled(POLY_FT4 *_ft4,sFrameHdr *_fh,int _x,int _y,bo setXYWH(_ft4,_x,_y,W,H); setUVTp(_fh,_ft4,_xFlip,_yFlip); -//!! CorrectAspect(_ft4); } @@ -354,7 +352,6 @@ void SpriteBank::prepareFT4RotatedScaled(POLY_FT4 *_ft4,sFrameHdr *_fh,int _xCen int ca,sa; int cw,ch,sw,sh; int width,height; - int aspect; halfW=(_fh->W*_xScale)>>(12+1); halfH=(_fh->H*_yScale)>>(12+1); @@ -365,10 +362,6 @@ void SpriteBank::prepareFT4RotatedScaled(POLY_FT4 *_ft4,sFrameHdr *_fh,int _xCen sw=(sa*halfW)>>12; sh=(sa*halfH)>>12; -// aspect=(512<<12)/384;//((_fh->H<<12)/_fh->W)/2; -// ch=(ch*aspect)>>12; -// sh=(sh*aspect)>>12; - _ft4->x0=_xCentre-cw+sh; _ft4->y0=_yCentre-sw-ch; _ft4->x1=_xCentre+cw+sh; _ft4->y1=_yCentre+sw-ch; _ft4->x2=_xCentre-cw-sh; _ft4->y2=_yCentre-sw+ch; @@ -413,7 +406,7 @@ void SpriteBank::prepareFT4RotatedScaled(POLY_FT4 *_ft4,sFrameHdr *_fh,int _xCen _ft4->tpage=_fh->TPage; _ft4->clut=_fh->Clut; //////////////////////////////// -//!! CorrectAspect(_ft4); + } diff --git a/source/level/layerback.cpp b/source/level/layerback.cpp index 9ce249ed5..458bb5fee 100644 --- a/source/level/layerback.cpp +++ b/source/level/layerback.cpp @@ -2,6 +2,7 @@ /*** Shade Layer Class ***/ /*************************/ +#include "system\vid.h" #include "system\global.h" #include #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 && PosX0-64 && PosYTypeList[GfxList->Type]; @@ -127,7 +128,7 @@ sLayerShadeBackGfx *GfxList=Data->GfxList; // if (ThisY<0) BandHeight=256; for (i=0; i #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); diff --git a/source/level/layertile3d.h b/source/level/layertile3d.h index b07d410c5..9d5e0063e 100644 --- a/source/level/layertile3d.h +++ b/source/level/layertile3d.h @@ -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); diff --git a/source/pickups/pickup.cpp b/source/pickups/pickup.cpp index c00a1fa85..46fdfc2ec 100644 --- a/source/pickups/pickup.cpp +++ b/source/pickups/pickup.cpp @@ -15,6 +15,8 @@ Includes -------- */ +#include "system\vid.h" + #ifndef __GFX_SPRBANK_H__ #include "gfx\sprbank.h" // Damnit.. include order! :( (pkg) #endif @@ -152,15 +154,10 @@ void CBasePickup::render() int visibilityRadius; CPickupThing::render(); - - ofs=CLevel::getCameraPos(); - pos.vx=Pos.vx-ofs.vx; - pos.vy=Pos.vy-ofs.vy; - visibilityRadius=getVisibilityRadius(); - if(pos.vx>0-visibilityRadius&&pos.vx<512+visibilityRadius&& - pos.vy>0-visibilityRadius&&pos.vy<256+visibilityRadius) + if (canRender()) { - renderPickup(&pos); + DVECTOR &renderPos=getRenderPos(); + renderPickup(&renderPos); } } @@ -436,17 +433,13 @@ void CBaseBouncingPickup::render() int visibilityRadius; CPickupThing::render(); - - ofs=CLevel::getCameraPos(); - pos.vx=Pos.vx-ofs.vx; - pos.vy=Pos.vy-ofs.vy; - visibilityRadius=getVisibilityRadius(); - if(pos.vx>0-visibilityRadius&&pos.vx<512+visibilityRadius&& - pos.vy>0-visibilityRadius&&pos.vy<256+visibilityRadius) + if (canRender()) { - renderPickup(&pos); + DVECTOR &renderPos=getRenderPos(); + renderPickup(&renderPos); } } + } /*---------------------------------------------------------------------- diff --git a/source/platform/pfishhk.cpp b/source/platform/pfishhk.cpp index 0ea084b55..30dbc2e8b 100644 --- a/source/platform/pfishhk.cpp +++ b/source/platform/pfishhk.cpp @@ -124,7 +124,7 @@ void CNpcFishHookPlatform::render() m_modelGfx->Render(renderPos); } // draw Line (Literally!!) - if (renderPos.vx>0 && renderPos.vx<512) + if (renderPos.vx>0 && renderPos.vx> 1), (256 >> 1), Text ); + F.print( (VidGetScrW() >> 1), (VidGetScrH() >> 1), Text ); VSync(0); VidSwapDraw(); @@ -278,7 +278,7 @@ void DoAssert( const char * Txt, const char * file, const int line ) while(DrawSync(1)); InitOTag(OtPtr, MAX_OT); - F.print( (512 >> 1), (256 >> 1), Text ); + F.print( (VidGetScrW() >> 1), (VidGetScrH() >> 1), Text ); VSync(0); VidSwapDraw(); diff --git a/source/system/vid.cpp b/source/system/vid.cpp index 8715c5172..e39238248 100644 --- a/source/system/vid.cpp +++ b/source/system/vid.cpp @@ -204,7 +204,7 @@ void ClearVRam() #if defined(__VERSION_DEBUG__) && !defined(__USER_CDBUILD__) RECT Rect; //Clear All Videoram - setRECT(&Rect,512,0,512,512); + setRECT(&Rect,INGAME_SCREENW,0,1024-INGAME_SCREENW,512); ClearImage(&Rect,0,0,0); int X; @@ -311,7 +311,7 @@ void VidInit() InitGeom(); SetGeomScreen(GEOM_SCREEN_H); - VidSetRes( 512, 256 ); + VidSetRes( INGAME_SCREENW, INGAME_SCREENH); DrawSync(0); VidSwapDraw(); DrawSync(0); @@ -329,8 +329,6 @@ void VidInit() } /*****************************************************************************/ -int pofx=0; -int pofy=0; #ifdef __USER_paul__ int ScreenClipBox=1; #else @@ -349,8 +347,8 @@ int ScrH=VidGetScrH()*FrameFlipFlag; Disp=&Screen[FrameFlipFlag].Disp; Disp->disp.x=0; Disp->disp.y=ScrH; - Disp->disp.w=512; - Disp->disp.h=256; + Disp->disp.w=ScreenW; + Disp->disp.h=ScreenH; Disp->screen.x=ScreenXOfs; Disp->screen.y=ScreenYOfs; Disp->screen.w=256; @@ -364,10 +362,10 @@ int ScrH=VidGetScrH()*FrameFlipFlag; if(ScreenClipBox==1) { - DrawLine(15,25,512-15,25,255,0,0,0); - DrawLine(15,256-25,512-15,256-25,255,0,0,0); - DrawLine(15,25,15,256-25,255,0,0,0); - DrawLine(512-15,25,512-15,256-25,255,0,0,0); + DrawLine(15,25,ScreenW-15,25,255,0,0,0); + DrawLine(15,ScreenH-25,ScreenW-15,ScreenH-25,255,0,0,0); + DrawLine(15,25,15,ScreenH-25,255,0,0,0); + DrawLine(ScreenW-15,25,ScreenW-15,ScreenH-25,255,0,0,0); DrawLine(0,0,511,0,0,255,0,0); DrawLine(0,255,511,255,0,255,0,0); @@ -378,19 +376,19 @@ if(ScreenClipBox==2) { POLY_F4 *f4; f4=GetPrimF4(); - setXYWH(f4,0,0,512,20); + setXYWH(f4,0,0,ScreenW,20); setRGB0(f4,50,50,50); AddPrimToList(f4,0); f4=GetPrimF4(); - setXYWH(f4,0,256-20,512,20); + setXYWH(f4,0,ScreenH-20,ScreenW,20); setRGB0(f4,50,50,50); AddPrimToList(f4,0); f4=GetPrimF4(); - setXYWH(f4,512-10,20,10,256-40); + setXYWH(f4,ScreenW-10,20,10,ScreenH-40); setRGB0(f4,50,50,50); AddPrimToList(f4,0); f4=GetPrimF4(); - setXYWH(f4,0,20,10,256-40); + setXYWH(f4,0,20,10,ScreenH-40); setRGB0(f4,50,50,50); AddPrimToList(f4,0); } @@ -435,10 +433,10 @@ int OldX=Scr->Disp.disp.x,OldY=Scr->Disp.disp.y; if(!(Pad & PAD_SELECT)) Done=1; #endif - if(Pad&PAD_LEFT) if(Scr->Disp.disp.x) Scr->Disp.disp.x--; - if(Pad&PAD_RIGHT) if(Scr->Disp.disp.x<700) Scr->Disp.disp.x++; - if(Pad&PAD_UP) if(Scr->Disp.disp.y) Scr->Disp.disp.y--; - if(Pad&PAD_DOWN) if(Scr->Disp.disp.y<256) Scr->Disp.disp.y++; + if(Pad&PAD_LEFT) if(Scr->Disp.disp.x) Scr->Disp.disp.x--; + if(Pad&PAD_RIGHT) if(Scr->Disp.disp.x<1024-ScreenW) Scr->Disp.disp.x++; + if(Pad&PAD_UP) if(Scr->Disp.disp.y) Scr->Disp.disp.y--; + if(Pad&PAD_DOWN) if(Scr->Disp.disp.y<512-ScreenH) Scr->Disp.disp.y++; PutDispEnv(&Scr->Disp); PutDrawEnv(&Scr->Draw); } diff --git a/source/system/vid.h b/source/system/vid.h index dd83e2d77..145551596 100644 --- a/source/system/vid.h +++ b/source/system/vid.h @@ -10,6 +10,12 @@ /*****************************************************************************/ #define GEOM_SCREEN_H 350 +#define INGAME_SCREENW 512 +#define INGAME_SCREENH 256 + +#define INGAME_SCREENOFS_X -(INGAME_SCREENW/2) +#define INGAME_SCREENOFS_Y -(INGAME_SCREENH/2) + /*****************************************************************************/ typedef void (*VbFuncType)(void); @@ -25,12 +31,12 @@ extern int FrameFlipFlag; /*****************************************************************************/ -void VidInit(); +void VidInit(); -void VidScrOn(); -void VidSetRes(int x, int y); -void VidSetClearScreen(int ); -void VidSetClearColor( const CVECTOR & col ); +void VidScrOn(); +void VidSetRes(int x, int y); +void VidSetClearScreen(int ); +void VidSetClearColor( const CVECTOR & col ); int VidGetXOfs(); int VidGetYOfs(); diff --git a/source/thing/thing.cpp b/source/thing/thing.cpp index c34400aa4..e48bb4898 100644 --- a/source/thing/thing.cpp +++ b/source/thing/thing.cpp @@ -16,6 +16,7 @@ Includes -------- */ +#include "system\vid.h" #include "thing\thing.h" #ifndef __PLAYER_PLAYER_H__ @@ -88,13 +89,13 @@ ---- */ static const int s_RenderBBoxX0=0; -static const int s_RenderBBoxX1=512; +static const int s_RenderBBoxX1=INGAME_SCREENW; static const int s_RenderBBoxY0=0; -static const int s_RenderBBoxY1=256; -static const int s_ThinkBBoxX0=0-256; -static const int s_ThinkBBoxX1=512+526; -static const int s_ThinkBBoxY0=0-128; -static const int s_ThinkBBoxY1=256+128; +static const int s_RenderBBoxY1=INGAME_SCREENH; +static const int s_ThinkBBoxX0=0-(INGAME_SCREENW/2); +static const int s_ThinkBBoxX1=INGAME_SCREENW+(INGAME_SCREENW/2); +static const int s_ThinkBBoxY0=0-(INGAME_SCREENW/2); +static const int s_ThinkBBoxY1=INGAME_SCREENW+(INGAME_SCREENW/2); CThing *CThingManager::s_thingLists[CThing::MAX_TYPE]; CThing *CThingManager::s_CollisionLists[CThing::MAX_TYPE];