This commit is contained in:
Fire-Head 2020-05-27 21:50:01 +03:00
parent 90947a608f
commit 63d0bdc863
11 changed files with 2168 additions and 652 deletions

View file

@ -306,7 +306,7 @@ bool CGame::Initialise(const char* datFile)
CWorld::Players[0].LoadPlayerSkin();
TestModelIndices();
LoadingScreen("Loading the Game", "Setup water", nil);
CWaterLevel::Initialise("DATA\\WATER.DAT");
WaterLevelInitialise("DATA\\WATER.DAT");
TheConsole.Init();
CDraw::SetFOV(120.0f);
CDraw::ms_fLODDistance = 500.0f;
@ -685,6 +685,13 @@ CGame::InitAfterFocusLoss()
FrontEndMenuManager.m_bStartUpFrontEndRequested = true;
}
bool
CGame::CanSeeWaterFromCurrArea(void)
{
return currArea == AREA_MAIN_MAP || currArea == AREA_MANSION
|| currArea == AREA_HOTEL;
}
bool
CGame::CanSeeOutSideFromCurrArea(void)
{

View file

@ -62,6 +62,7 @@ public:
static void InitAfterFocusLoss(void);
static bool IsInInterior(void) { return currArea != AREA_MAIN_MAP; }
static bool CanSeeWaterFromCurrArea(void);
static bool CanSeeOutSideFromCurrArea(void);
// NB: these do something on PS2

View file

@ -10,6 +10,8 @@ enum eZoneAttribs
ATTRZONE_NOTCULLZONE = 0x20,
ATTRZONE_DOINEEDCOLLISION = 0x40,
ATTRZONE_SUBWAYVISIBLE = 0x80,
ATTRZONE_WATERFUDGE = 0x400,
};
struct CAttributeZone
@ -53,6 +55,7 @@ public:
static bool DoINeedToLoadCollision(void) { return (CurrentFlags_Player & ATTRZONE_DOINEEDCOLLISION) != 0; }
static bool PlayerNoRain(void) { return (CurrentFlags_Player & ATTRZONE_NORAIN) != 0; }
static bool CamNoRain(void) { return (CurrentFlags_Camera & ATTRZONE_NORAIN) != 0; }
static bool WaterFudge(void) { return (CurrentFlags_Camera & ATTRZONE_WATERFUDGE) != 0; }
static int32 GetWantedLevelDrop(void) { return CurrentWantedLevelDrop_Player; }
//--MIAMI: TODO

View file

@ -205,6 +205,8 @@ enum Config {
#define RELOADABLES // some debug menu options to reload TXD files
#endif
//#define PC_WATER
// Particle
#define PC_PARTICLE
//#define PS2_ALTERNATIVE_CARSPLASH // unused on PS2

View file

@ -821,7 +821,7 @@ RenderScene(void)
CRenderer::RenderBoats();
CRenderer::RenderFadingInUnderwaterEntities();
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
// CWaterLevel::RenderTransparentWater();
CWaterLevel::RenderTransparentWater();
CRenderer::RenderFadingInEntities();
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
CWeather::RenderRainStreaks();
@ -1008,6 +1008,9 @@ Idle(void *arg)
#endif
#ifdef TIMEBARS
tbStartTimer(0, "CnstrRenderList");
#endif
#ifdef PC_WATER
CWaterLevel::PreCalcWaterGeometry();
#endif
CRenderer::ConstructRenderList();
#ifdef TIMEBARS