update
This commit is contained in:
parent
b4ecb3e3da
commit
0c0e564019
@ -441,7 +441,7 @@ int m_iModeObbeCamIsInForCar;
|
|||||||
|
|
||||||
static bool &m_bUseMouse3rdPerson;
|
static bool &m_bUseMouse3rdPerson;
|
||||||
|
|
||||||
CMatrix &GetCameraMatrix(void) { return m_cameraMatrix; }
|
inline const CMatrix GetCameraMatrix(void) { return m_cameraMatrix; }
|
||||||
CVector &GetGameCamPosition(void) { return m_vecGameCamPos; }
|
CVector &GetGameCamPosition(void) { return m_vecGameCamPos; }
|
||||||
bool IsPointVisible(const CVector ¢er, const CMatrix *mat);
|
bool IsPointVisible(const CVector ¢er, const CMatrix *mat);
|
||||||
bool IsSphereVisible(const CVector ¢er, float radius, const CMatrix *mat);
|
bool IsSphereVisible(const CVector ¢er, float radius, const CMatrix *mat);
|
||||||
|
@ -501,7 +501,7 @@ void
|
|||||||
DisplayGameDebugText()
|
DisplayGameDebugText()
|
||||||
{
|
{
|
||||||
static bool bDisplayPosn = false;
|
static bool bDisplayPosn = false;
|
||||||
static bool bDisplayRate = false;
|
static bool bDisplayRate = false;
|
||||||
|
|
||||||
{
|
{
|
||||||
SETTWEAKPATH("GameDebugText");
|
SETTWEAKPATH("GameDebugText");
|
||||||
|
@ -190,21 +190,6 @@ void CTweakVars::AddDBG(const char *path)
|
|||||||
bAddTweakVarsNow = true;
|
bAddTweakVarsNow = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//inline DebugMenuEntry * DebugMenuAddVar (const char *path , name, ptr, trig, step, lowerBound, upperBound, const char **strings)
|
|
||||||
/*
|
|
||||||
inline DebugMenuEntry *
|
|
||||||
DebugMenuAddVar
|
|
||||||
|
|
||||||
(const char *path,
|
|
||||||
const char *name,
|
|
||||||
int8_t *ptr,
|
|
||||||
TriggerFunc triggerFunc,
|
|
||||||
int8_t step,
|
|
||||||
int8_t lowerBound,
|
|
||||||
int8_t upperBound,
|
|
||||||
const char **strings)
|
|
||||||
*/
|
|
||||||
|
|
||||||
void CTweakSwitch::AddDBG(const char *path)
|
void CTweakSwitch::AddDBG(const char *path)
|
||||||
{
|
{
|
||||||
DebugMenuEntry *e = DebugMenuAddVar(m_pPath == NULL ? path : m_pPath, m_pVarName, (int32_t *)m_pIntVar, m_pFunc, 1, m_nMin, m_nMax, m_aStr);
|
DebugMenuEntry *e = DebugMenuAddVar(m_pPath == NULL ? path : m_pPath, m_pVarName, (int32_t *)m_pIntVar, m_pFunc, 1, m_nMin, m_nMax, m_aStr);
|
||||||
@ -232,7 +217,7 @@ TWEAKSWITCH(CWeather::NewWeatherType, 0, 3, wt, NULL);
|
|||||||
|
|
||||||
void
|
void
|
||||||
DebugMenuPopulate(void)
|
DebugMenuPopulate(void)
|
||||||
{
|
{
|
||||||
if(DebugMenuLoad()){
|
if(DebugMenuLoad()){
|
||||||
static const char *weathers[] = {
|
static const char *weathers[] = {
|
||||||
"Sunny", "Cloudy", "Rainy", "Foggy"
|
"Sunny", "Cloudy", "Rainy", "Foggy"
|
||||||
|
@ -405,7 +405,7 @@ CEntity::PreRender(void)
|
|||||||
}else if(GetModelIndex() == MI_MISSILE){
|
}else if(GetModelIndex() == MI_MISSILE){
|
||||||
CVector pos = GetPosition();
|
CVector pos = GetPosition();
|
||||||
float flicker = (CGeneral::GetRandomNumber() & 0xF)/(float)0x10;
|
float flicker = (CGeneral::GetRandomNumber() & 0xF)/(float)0x10;
|
||||||
CShadows::StoreShadowToBeRendered(SHADOWTYPE_2,
|
CShadows::StoreShadowToBeRendered(SHADOWTYPE_ADDITIVE,
|
||||||
gpShadowExplosionTex, &pos,
|
gpShadowExplosionTex, &pos,
|
||||||
8.0f, 0.0f, 0.0f, -8.0f,
|
8.0f, 0.0f, 0.0f, -8.0f,
|
||||||
255, 200.0f*flicker, 160.0f*flicker, 120.0f*flicker,
|
255, 200.0f*flicker, 160.0f*flicker, 120.0f*flicker,
|
||||||
@ -758,7 +758,7 @@ CEntity::ProcessLightsForEntity(void)
|
|||||||
// Light shadow
|
// Light shadow
|
||||||
if(effect->light.shadowRange != 0.0f){
|
if(effect->light.shadowRange != 0.0f){
|
||||||
if(lightOn){
|
if(lightOn){
|
||||||
CShadows::StoreStaticShadow((uintptr)this + i, SHADOWTYPE_2,
|
CShadows::StoreStaticShadow((uintptr)this + i, SHADOWTYPE_ADDITIVE,
|
||||||
effect->light.shadow, &pos,
|
effect->light.shadow, &pos,
|
||||||
effect->light.shadowRange, 0.0f,
|
effect->light.shadowRange, 0.0f,
|
||||||
0.0f, -effect->light.shadowRange,
|
0.0f, -effect->light.shadowRange,
|
||||||
@ -768,7 +768,7 @@ CEntity::ProcessLightsForEntity(void)
|
|||||||
effect->col.b*CTimeCycle::GetSpriteBrightness()*effect->light.shadowIntensity/255.0f,
|
effect->col.b*CTimeCycle::GetSpriteBrightness()*effect->light.shadowIntensity/255.0f,
|
||||||
15.0f, 1.0f, 40.0f, false, 0.0f);
|
15.0f, 1.0f, 40.0f, false, 0.0f);
|
||||||
}else if(lightFlickering){
|
}else if(lightFlickering){
|
||||||
CShadows::StoreStaticShadow((uintptr)this + i, SHADOWTYPE_2,
|
CShadows::StoreStaticShadow((uintptr)this + i, SHADOWTYPE_ADDITIVE,
|
||||||
effect->light.shadow, &pos,
|
effect->light.shadow, &pos,
|
||||||
effect->light.shadowRange, 0.0f,
|
effect->light.shadowRange, 0.0f,
|
||||||
0.0f, -effect->light.shadowRange,
|
0.0f, -effect->light.shadowRange,
|
||||||
|
@ -9,17 +9,12 @@
|
|||||||
struct RwTexture;
|
struct RwTexture;
|
||||||
class CEntity;
|
class CEntity;
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
SHADOWTYPE_2 = 2
|
|
||||||
};
|
|
||||||
|
|
||||||
enum eShadowType
|
enum eShadowType
|
||||||
{
|
{
|
||||||
SHADOWTYPE_NONE = 0,
|
SHADOWTYPE_NONE = 0,
|
||||||
SHADOWTYPE_DARK,
|
SHADOWTYPE_DARK,
|
||||||
SHADOWTYPE_ADDITIVE,
|
SHADOWTYPE_ADDITIVE,
|
||||||
SHADOWTYPE_INVCOLOR
|
SHADOWTYPE_INVCOLOR
|
||||||
};
|
};
|
||||||
|
|
||||||
enum eShadowTextureType
|
enum eShadowTextureType
|
||||||
|
@ -323,7 +323,7 @@ _GetCamBounds(bool *bUseCamStartY, bool *bUseCamEndY, bool *bUseCamStartX, bool
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
inline float
|
||||||
SectorRadius(float fSize)
|
SectorRadius(float fSize)
|
||||||
{
|
{
|
||||||
return Sqrt(Pow(fSize, 2) + Pow(fSize, 2));
|
return Sqrt(Pow(fSize, 2) + Pow(fSize, 2));
|
||||||
@ -424,7 +424,7 @@ CWaterLevel::RenderWater()
|
|||||||
if ( fHugeSectorMaxRenderDistSqr > fHugeSectorDistToCamSqr )
|
if ( fHugeSectorMaxRenderDistSqr > fHugeSectorDistToCamSqr )
|
||||||
{
|
{
|
||||||
if ( TheCamera.IsSphereVisible(CVector(vecHugeSectorCentre.x, vecHugeSectorCentre.y, 0.0f), SectorRadius(HUGE_SECTOR_SIZE),
|
if ( TheCamera.IsSphereVisible(CVector(vecHugeSectorCentre.x, vecHugeSectorCentre.y, 0.0f), SectorRadius(HUGE_SECTOR_SIZE),
|
||||||
&CMatrix(TheCamera.GetCameraMatrix())) )
|
&TheCamera.GetCameraMatrix()) )
|
||||||
{
|
{
|
||||||
if ( fHugeSectorDistToCamSqr >= SQR(500.0f) /*fHugeSectorNearDist*/ )
|
if ( fHugeSectorDistToCamSqr >= SQR(500.0f) /*fHugeSectorNearDist*/ )
|
||||||
{
|
{
|
||||||
@ -466,7 +466,7 @@ CWaterLevel::RenderWater()
|
|||||||
if ( fLargeSectorDistToCamSqr < fHugeSectorMaxRenderDistSqr )
|
if ( fLargeSectorDistToCamSqr < fHugeSectorMaxRenderDistSqr )
|
||||||
{
|
{
|
||||||
if ( TheCamera.IsSphereVisible(CVector(vecLargeSectorCentre.x, vecLargeSectorCentre.y, 0.0f), SectorRadius(LARGE_SECTOR_SIZE), //90.879997f,
|
if ( TheCamera.IsSphereVisible(CVector(vecLargeSectorCentre.x, vecLargeSectorCentre.y, 0.0f), SectorRadius(LARGE_SECTOR_SIZE), //90.879997f,
|
||||||
&CMatrix(TheCamera.GetCameraMatrix())) )
|
&TheCamera.GetCameraMatrix()) )
|
||||||
{
|
{
|
||||||
// Render four small(32x32) sectors, or one large(64x64).
|
// Render four small(32x32) sectors, or one large(64x64).
|
||||||
|
|
||||||
@ -629,7 +629,7 @@ CWaterLevel::RenderWater()
|
|||||||
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
||||||
{
|
{
|
||||||
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
||||||
&CMatrix(TheCamera.GetCameraMatrix())) )
|
&TheCamera.GetCameraMatrix()) )
|
||||||
{
|
{
|
||||||
RenderOneFlatExtraHugeWaterPoly(
|
RenderOneFlatExtraHugeWaterPoly(
|
||||||
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
||||||
@ -663,7 +663,7 @@ CWaterLevel::RenderWater()
|
|||||||
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
||||||
{
|
{
|
||||||
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
||||||
&CMatrix(TheCamera.GetCameraMatrix())) )
|
&TheCamera.GetCameraMatrix()) )
|
||||||
{
|
{
|
||||||
RenderOneFlatExtraHugeWaterPoly(
|
RenderOneFlatExtraHugeWaterPoly(
|
||||||
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
||||||
@ -687,7 +687,7 @@ CWaterLevel::RenderWater()
|
|||||||
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
if ( fCamDistToSector < fHugeSectorMaxRenderDistSqr )
|
||||||
{
|
{
|
||||||
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
if ( TheCamera.IsSphereVisible(CVector(vecExtraHugeSectorCentre.x, vecExtraHugeSectorCentre.y, 0.0f), SectorRadius(EXTRAHUGE_SECTOR_SIZE),
|
||||||
&CMatrix(TheCamera.GetCameraMatrix())) )
|
&TheCamera.GetCameraMatrix()) )
|
||||||
{
|
{
|
||||||
RenderOneFlatExtraHugeWaterPoly(
|
RenderOneFlatExtraHugeWaterPoly(
|
||||||
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
vecExtraHugeSectorCentre.x - EXTRAHUGE_SECTOR_SIZE/2,
|
||||||
|
@ -37,8 +37,8 @@ bool CBoat::IsSectorAffectedByWake(CVector2D sector, float fSize, CBoat **apBoat
|
|||||||
{
|
{
|
||||||
float fDist = (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[j]) * fShapeTime + float(j) * fShapeLength + fSize;
|
float fDist = (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[j]) * fShapeTime + float(j) * fShapeLength + fSize;
|
||||||
|
|
||||||
if ( fabs(pBoat->m_avec2dWakePoints[j].x - sector.x) < fDist
|
if ( Abs(pBoat->m_avec2dWakePoints[j].x - sector.x) < fDist
|
||||||
&& fabs(pBoat->m_avec2dWakePoints[i].y - sector.y) < fDist )
|
&& Abs(pBoat->m_avec2dWakePoints[i].y - sector.y) < fDist )
|
||||||
{
|
{
|
||||||
apBoats[numVerts] = pBoat;
|
apBoats[numVerts] = pBoat;
|
||||||
numVerts = 1; // += ?
|
numVerts = 1; // += ?
|
||||||
@ -56,13 +56,12 @@ float CBoat::IsVertexAffectedByWake(CVector vecVertex, CBoat *pBoat)
|
|||||||
{
|
{
|
||||||
float fMaxDist = (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[i]) * fShapeTime + float(i) * fShapeLength;
|
float fMaxDist = (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[i]) * fShapeTime + float(i) * fShapeLength;
|
||||||
|
|
||||||
float fX = pBoat->m_avec2dWakePoints[i].x - vecVertex.x;
|
CVector2D vecDist = pBoat->m_avec2dWakePoints[i] - CVector2D(vecVertex);
|
||||||
float fY = pBoat->m_avec2dWakePoints[i].y - vecVertex.y;
|
|
||||||
|
|
||||||
float fDist = fY * fY + fX * fX;
|
float fDist = vecDist.MagnitudeSqr();
|
||||||
|
|
||||||
if ( fDist < SQR(fMaxDist) )
|
if ( fDist < SQR(fMaxDist) )
|
||||||
return 1.0f - min(fRangeMult * sqrt(fDist / SQR(fMaxDist)) + (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[i]) * fTimeMult, 1.0f);
|
return 1.0f - min(fRangeMult * Sqrt(fDist / SQR(fMaxDist)) + (WAKE_LIFETIME - pBoat->m_afWakePointLifeTime[i]) * fTimeMult, 1.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
|
Loading…
Reference in New Issue
Block a user