This commit is contained in:
Fire-Head
2020-04-17 08:54:14 +03:00
parent 435a9ca7f2
commit a4922d5cb7
139 changed files with 1350 additions and 1400 deletions

View File

@ -16,15 +16,15 @@
#define SMALLSTRIPHEIGHT 4.0f
#define HORIZSTRIPHEIGHT 48.0f
RwTexture **gpCloudTex = (RwTexture**)0x9411C0; //[5];
RwTexture *gpCloudTex[5];
float &CClouds::CloudRotation = *(float*)0x8F5F40;
uint32 &CClouds::IndividualRotation = *(uint32*)0x943078;
float CClouds::CloudRotation;
uint32 CClouds::IndividualRotation;
float &CClouds::ms_cameraRoll = *(float*)0x8F29CC;
float &CClouds::ms_horizonZ = *(float*)0x8F31C0;
CRGBA &CClouds::ms_colourTop = *(CRGBA*)0x94143C;
CRGBA &CClouds::ms_colourBottom = *(CRGBA*)0x8F2C38;
float CClouds::ms_cameraRoll;
float CClouds::ms_horizonZ;
CRGBA CClouds::ms_colourTop;
CRGBA CClouds::ms_colourBottom;
void
CClouds::Init(void)

View File

@ -3,13 +3,13 @@
class CClouds
{
public:
static float &CloudRotation;
static uint32 &IndividualRotation;
static float CloudRotation;
static uint32 IndividualRotation;
static float &ms_cameraRoll;
static float &ms_horizonZ;
static CRGBA &ms_colourTop;
static CRGBA &ms_colourBottom;
static float ms_cameraRoll;
static float ms_horizonZ;
static CRGBA ms_colourTop;
static CRGBA ms_colourBottom;
static void Init(void);
static void Shutdown(void);

View File

@ -9,7 +9,7 @@
#define CONSOLE_Y_POS (10.0f)
#define CONSOLE_LINE_HEIGHT (12.0f)
CConsole &TheConsole = *(CConsole*)0x8F6498;
CConsole TheConsole;
void
CConsole::AddLine(char *s, uint8 r, uint8 g, uint8 b)

View File

@ -22,4 +22,4 @@ public:
void Init() { m_nCurrentLine = 0; m_nLineCount = 0; }
};
extern CConsole &TheConsole;
extern CConsole TheConsole;

View File

@ -48,16 +48,16 @@ FlareDef HeadLightsFlareDef[] = {
};
RwTexture **gpCoronaTexture = (RwTexture**)0x5FAF44; //[9]
RwTexture *gpCoronaTexture[9] = { NULL };
float &CCoronas::LightsMult = *(float*)0x5FB088; // 1.0
float &CCoronas::SunScreenX = *(float*)0x8F4358;
float &CCoronas::SunScreenY = *(float*)0x8F4354;
bool &CCoronas::bSmallMoon = *(bool*)0x95CD49;
bool &CCoronas::SunBlockedByClouds = *(bool*)0x95CD73;
int &CCoronas::bChangeBrightnessImmediately = *(int*)0x8E2C30;
float CCoronas::LightsMult = 1.0f;
float CCoronas::SunScreenX;
float CCoronas::SunScreenY;
bool CCoronas::bSmallMoon;
bool CCoronas::SunBlockedByClouds;
int CCoronas::bChangeBrightnessImmediately;
CRegisteredCorona *CCoronas::aCoronas = (CRegisteredCorona*)0x72E518;
CRegisteredCorona CCoronas::aCoronas[NUMCORONAS];
const char aCoronaSpriteNames[][32] = {
"coronastar",

View File

@ -1,6 +1,6 @@
#pragma once
extern RwTexture **gpCoronaTexture; //[9]
extern RwTexture *gpCoronaTexture[9];
struct CRegisteredCorona
{
@ -42,7 +42,7 @@ static_assert(sizeof(CRegisteredCorona) == 0x80, "CRegisteredCorona: error");
class CCoronas
{
static CRegisteredCorona *aCoronas; //[NUMCORONAS];
static CRegisteredCorona aCoronas[NUMCORONAS];
public:
enum {
SUN_CORE = 1,
@ -77,12 +77,12 @@ public:
STREAK_ON,
};
static float &LightsMult;
static float &SunScreenY;
static float &SunScreenX;
static bool &bSmallMoon;
static bool &SunBlockedByClouds;
static int &bChangeBrightnessImmediately;
static float LightsMult;
static float SunScreenY;
static float SunScreenX;
static bool bSmallMoon;
static bool SunBlockedByClouds;
static int bChangeBrightnessImmediately;
static void Init(void);
static void Shutdown(void);

View File

@ -8,8 +8,8 @@
#include "Text.h"
#include "Credits.h"
bool &CCredits::bCreditsGoing = *(bool*)0x95CDD3;
uint32 &CCredits::CreditsStartTime = *(uint32*)0x8F2528;
bool CCredits::bCreditsGoing;
uint32 CCredits::CreditsStartTime;
void
CCredits::Init(void)

View File

@ -2,8 +2,8 @@
class CCredits
{
static bool &bCreditsGoing;
static uint32 &CreditsStartTime;
static bool bCreditsGoing;
static uint32 CreditsStartTime;
public:
static void Init(void);
static void Start(void);

View File

@ -8,15 +8,15 @@
float CDraw::ms_fAspectRatio = DEFAULT_ASPECT_RATIO;
#endif
float &CDraw::ms_fNearClipZ = *(float*)0x8E2DC4;
float &CDraw::ms_fFarClipZ = *(float*)0x9434F0;
float &CDraw::ms_fFOV = *(float*)0x5FBC6C;
float &CDraw::ms_fLODDistance = *(float*)0x8F2C30;
float CDraw::ms_fNearClipZ;
float CDraw::ms_fFarClipZ;
float CDraw::ms_fFOV = 45.0f;
float CDraw::ms_fLODDistance;
uint8 &CDraw::FadeValue = *(uint8*)0x95CD68;
uint8 &CDraw::FadeRed = *(uint8*)0x95CD90;
uint8 &CDraw::FadeGreen = *(uint8*)0x95CD71;
uint8 &CDraw::FadeBlue = *(uint8*)0x95CD53;
uint8 CDraw::FadeValue;
uint8 CDraw::FadeRed;
uint8 CDraw::FadeGreen;
uint8 CDraw::FadeBlue;
float
CDraw::FindAspectRatio(void)

View File

@ -13,11 +13,11 @@ enum eAspectRatio
class CDraw
{
private:
static float &ms_fNearClipZ;
static float &ms_fFarClipZ;
static float &ms_fFOV;
static float ms_fNearClipZ;
static float ms_fFarClipZ;
static float ms_fFOV;
public:
static float &ms_fLODDistance; // set but unused?
static float ms_fLODDistance; // set but unused?
#ifdef ASPECT_RATIO_SCALE
// we use this variable to scale a lot of 2D elements
@ -25,10 +25,10 @@ public:
static float ms_fAspectRatio;
#endif
static uint8 &FadeValue;
static uint8 &FadeRed;
static uint8 &FadeGreen;
static uint8 &FadeBlue;
static uint8 FadeValue;
static uint8 FadeRed;
static uint8 FadeGreen;
static uint8 FadeBlue;
static void SetNearClipZ(float nearclip) { ms_fNearClipZ = nearclip; }
static float GetNearClipZ(void) { return ms_fNearClipZ; }

View File

@ -4,18 +4,18 @@
#include "TxdStore.h"
#include "Font.h"
CFontDetails &CFont::Details = *(CFontDetails*)0x8F317C;
int16 &CFont::NewLine = *(int16*)0x95CC94;
CSprite2d *CFont::Sprite = (CSprite2d*)0x95CC04;
CFontDetails CFont::Details;
int16 CFont::NewLine;
CSprite2d CFont::Sprite[MAX_FONTS];
#ifdef MORE_LANGUAGES
uint8 CFont::LanguageSet = FONT_LANGSET_EFIGS;
int32 CFont::Slot = -1;
int16 CFont::Size[2][3][193] = {
int16 CFont::Size[2][MAX_FONTS][193] = {
{
#else
int16 CFont::Size[3][193] = {
int16 CFont::Size[MAX_FONTS][193] = {
#endif
{
13, 12, 31, 35, 23, 35, 31, 9, 14, 15, 25, 30, 11, 17, 13, 31,

View File

@ -31,6 +31,7 @@ enum {
FONT_BANK,
FONT_PAGER,
FONT_HEADING,
MAX_FONTS
};
enum {
@ -50,16 +51,16 @@ enum
class CFont
{
#ifdef MORE_LANGUAGES
static int16 Size[2][3][193];
static int16 Size[2][MAX_FONTS][193];
static uint8 LanguageSet;
static int32 Slot;
#else
static int16 Size[3][193];
static int16 Size[MAX_FONTS][193];
#endif
static int16 

static CSprite2d *Sprite; //[3]
static int16 NewLine;
static CSprite2d Sprite[MAX_FONTS];
public:
static CFontDetails& Details;
static CFontDetails Details;
static void Initialise(void);
static void Shutdown(void);

View File

@ -21,52 +21,52 @@
#include "User.h"
#include "World.h"
wchar CHud::m_HelpMessage[256]; // = (wchar*)0x86B888;
wchar CHud::m_LastHelpMessage[256]; // = (wchar*)0x6E8F28;
uint32 CHud::m_HelpMessageState; // = *(int32*)0x880E1C;
uint32 CHud::m_HelpMessageTimer; // = *(int32*)0x880FA4;
int32 CHud::m_HelpMessageFadeTimer; // = *(int32*)0x8F6258;
wchar CHud::m_HelpMessageToPrint[256]; // = (wchar*)0x664480;
float CHud::m_fHelpMessageTime; // *(float *)0x8E2C28;
bool CHud::m_HelpMessageQuick; // = *(bool*)0x95CCF7;
uint32 CHud::m_ZoneState; // = *(int32*)0x8F29AC;
wchar CHud::m_HelpMessage[256];
wchar CHud::m_LastHelpMessage[256];
uint32 CHud::m_HelpMessageState;
uint32 CHud::m_HelpMessageTimer;
int32 CHud::m_HelpMessageFadeTimer;
wchar CHud::m_HelpMessageToPrint[256];
float CHud::m_fHelpMessageTime;
bool CHud::m_HelpMessageQuick;
uint32 CHud::m_ZoneState;
int32 CHud::m_ZoneFadeTimer;
uint32 CHud::m_ZoneNameTimer; // = *(int32*)0x8F1A50;
wchar *CHud::m_pZoneName; // = *(wchar**)0x8E2C2C;
wchar *CHud::m_pLastZoneName; // = (wchar*)0x8F432C;
uint32 CHud::m_ZoneNameTimer;
wchar *CHud::m_pZoneName;
wchar *CHud::m_pLastZoneName;
wchar *CHud::m_ZoneToPrint;
uint32 CHud::m_VehicleState; // = *(int32*)0x940560;
uint32 CHud::m_VehicleState;
int32 CHud::m_VehicleFadeTimer;
uint32 CHud::m_VehicleNameTimer; // = *(int32*)0x8F2A14;
wchar *CHud::m_VehicleName; // = *(wchar**)0x942FB4;
wchar *CHud::m_pLastVehicleName; // = *(wchar**)0x8E2DD8;
uint32 CHud::m_VehicleNameTimer;
wchar *CHud::m_VehicleName;
wchar *CHud::m_pLastVehicleName;
wchar *CHud::m_pVehicleNameToPrint;
wchar CHud::m_Message[256];// = (wchar*)0x72E318;
wchar CHud::m_PagerMessage[256]; // = (wchar*)0x878840;
bool CHud::m_Wants_To_Draw_Hud; // (bool*)0x95CD89;
bool CHud::m_Wants_To_Draw_3dMarkers; // = *(bool*)0x95CD62;
wchar CHud::m_BigMessage[6][128]; // = *(wchar(*)[6][128]) * (uintptr*)0x664CE0;
int16 CHud::m_ItemToFlash; // = *(int16*)0x95CC82;
wchar CHud::m_Message[256];
wchar CHud::m_PagerMessage[256];
bool CHud::m_Wants_To_Draw_Hud;
bool CHud::m_Wants_To_Draw_3dMarkers;
wchar CHud::m_BigMessage[6][128];
int16 CHud::m_ItemToFlash;
// These aren't really in CHud
float CHud::BigMessageInUse[6];
float CHud::BigMessageAlpha[6];
float CHud::BigMessageX[6];
float CHud::OddJob2OffTimer; // = *(float*)0x942FA0;
bool CHud::CounterOnLastFrame; // = *(int8*)0x95CD67;
float CHud::OddJob2XOffset; // = *(float*)0x8F1B5C;
uint16 CHud::CounterFlashTimer; // = *(int16*)0x95CC20;
uint16 CHud::OddJob2Timer; // = *(int16*)0x95CC52;
bool CHud::TimerOnLastFrame; //= *(int8*)0x95CDA7;
int16 CHud::OddJob2On; //= *(int16*)0x95CC78;
uint16 CHud::TimerFlashTimer; //= *(int16*)0x95CC6C;
int16 CHud::PagerSoundPlayed; //= *(int16*)0x95CC4A;
int32 CHud::SpriteBrightness; //= *(int32*)0x95CC54;
float CHud::PagerXOffset; //= *(float*)0x941590;
int16 CHud::PagerTimer; //= *(int16*)0x95CC3A;
int16 CHud::PagerOn; //= *(int16*)0x95CCA0;
float CHud::OddJob2OffTimer;
bool CHud::CounterOnLastFrame;
float CHud::OddJob2XOffset;
uint16 CHud::CounterFlashTimer;
uint16 CHud::OddJob2Timer;
bool CHud::TimerOnLastFrame;
int16 CHud::OddJob2On;
uint16 CHud::TimerFlashTimer;
int16 CHud::PagerSoundPlayed;
int32 CHud::SpriteBrightness;
float CHud::PagerXOffset;
int16 CHud::PagerTimer;
int16 CHud::PagerOn;
CSprite2d CHud::Sprites[NUM_HUD_SPRITES]; // = (CSprite2d*)0x95CB9C;
CSprite2d CHud::Sprites[NUM_HUD_SPRITES];
struct
{
@ -98,8 +98,8 @@ struct
{"siterocket", "siterocket"}
};
RwTexture *&gpSniperSightTex = *(RwTexture**)0x8F5834;
RwTexture *&gpRocketSightTex = *(RwTexture**)0x8E2C20;
RwTexture *gpSniperSightTex;
RwTexture *gpRocketSightTex;
void CHud::Draw()
{

View File

@ -6,9 +6,9 @@
// Originally taken from RW example 'mblur'
RwRaster *&CMBlur::pFrontBuffer = *(RwRaster**)0x8E2C48;
bool &CMBlur::ms_bJustInitialised = *(bool*)0x95CDAB;
bool &CMBlur::BlurOn = *(bool*)0x95CDAD;
RwRaster *CMBlur::pFrontBuffer;
bool CMBlur::ms_bJustInitialised;
bool CMBlur::BlurOn;
static RwIm2DVertex Vertex[4];
static RwImVertexIndex Index[6] = { 0, 1, 2, 0, 2, 3 };

View File

@ -3,9 +3,9 @@
class CMBlur
{
public:
static RwRaster *&pFrontBuffer;
static bool &ms_bJustInitialised;
static bool &BlurOn;
static RwRaster *pFrontBuffer;
static bool ms_bJustInitialised;
static bool BlurOn;
public:
static void MotionBlurOpen(RwCamera *cam);

View File

@ -204,26 +204,21 @@ RwRaster *gpGunShellRaster;
RwRaster *gpWakeOldRaster;
//RwRaster *gpPointlightRaster; // CPointLights::RenderFogEffect
RwRaster *&gpPointlightRaster = *(RwRaster **)0x8F5FE0;
RwRaster *gpPointlightRaster; // CPointLights::RenderFogEffect
//RwTexture *gpRainDropTex[MAX_RAINDROP_FILES]; // CWeather::RenderRainStreaks
RwTexture * (&gpRainDropTex)[MAX_RAINDROP_FILES] = *(RwTexture * (*)[MAX_RAINDROP_FILES])*(int *)0x880660;
RwTexture *gpRainDropTex[MAX_RAINDROP_FILES]; // CWeather::RenderRainStreaks
RwRaster *gpRainDropRaster[MAX_RAINDROP_FILES];
//Float CParticle::ms_afRandTable[CParticle::RAND_TABLE_SIZE]; //
float (&CParticle::ms_afRandTable)[CParticle::RAND_TABLE_SIZE] = *(float (*)[CParticle::RAND_TABLE_SIZE])*(int *)0x6E98C8;
float CParticle::ms_afRandTable[CParticle::RAND_TABLE_SIZE];
CParticle *CParticle::m_pUnusedListHead;
//Float CParticle::m_SinTable[CParticle::SIN_COS_TABLE_SIZE]; //
//Float CParticle::m_CosTable[CParticle::SIN_COS_TABLE_SIZE]; /
float (&CParticle::m_SinTable)[CParticle::SIN_COS_TABLE_SIZE] = *(float (*)[CParticle::SIN_COS_TABLE_SIZE])*(int *)0x877358;
float (&CParticle::m_CosTable)[CParticle::SIN_COS_TABLE_SIZE] = *(float (*)[CParticle::SIN_COS_TABLE_SIZE])*(int *)0x70DA18;
float CParticle::m_SinTable[CParticle::SIN_COS_TABLE_SIZE];
float CParticle::m_CosTable[CParticle::SIN_COS_TABLE_SIZE];
int32 Randomizer;

View File

@ -49,16 +49,11 @@ public:
;
}
//static float ms_afRandTable[RAND_TABLE_SIZE];
static float (&ms_afRandTable)[RAND_TABLE_SIZE];
static float ms_afRandTable[RAND_TABLE_SIZE];
static CParticle *m_pUnusedListHead;
/*
static float m_SinTable[SIN_COS_TABLE_SIZE];
static float m_CosTable[SIN_COS_TABLE_SIZE];
*/
static float (&m_SinTable)[SIN_COS_TABLE_SIZE];
static float (&m_CosTable)[SIN_COS_TABLE_SIZE];
static float Sin(int32 value) { return m_SinTable[value]; }
static float Cos(int32 value) { return m_CosTable[value]; }

View File

@ -10,8 +10,8 @@
#include "Timer.h"
#include "PointLights.h"
int16 &CPointLights::NumLights = *(int16*)0x95CC3E;
CRegisteredPointLight *CPointLights::aLights = (CRegisteredPointLight*)0x7096D0;
int16 CPointLights::NumLights;
CRegisteredPointLight CPointLights::aLights[NUMPOINTLIGHTS];
void
CPointLights::InitPerFrame(void)
@ -114,7 +114,7 @@ CPointLights::GenerateLightsAffectingObject(CVector *objCoors)
return ret;
}
extern RwRaster *&gpPointlightRaster;
extern RwRaster *gpPointlightRaster;
void
CPointLights::RemoveLightsAffectingObject(void)

View File

@ -18,8 +18,8 @@ static_assert(sizeof(CRegisteredPointLight) == 0x2C, "CRegisteredPointLight: err
class CPointLights
{
public:
static int16 &NumLights;
static CRegisteredPointLight *aLights; //[NUMPOINTLIGHTS]
static int16 NumLights;
static CRegisteredPointLight aLights[NUMPOINTLIGHTS];
enum {
LIGHT_POINT,

View File

@ -2,14 +2,14 @@
#include "patcher.h"
#include "RenderBuffer.h"
int32 &TempBufferVerticesStored = *(int32*)0x8F5F78;
int32 &TempBufferIndicesStored = *(int32*)0x8F1A4C;
int32 TempBufferVerticesStored;
int32 TempBufferIndicesStored;
RwIm3DVertex *TempBufferRenderVertices = (RwIm3DVertex*)0x862330;
RwImVertexIndex *TempBufferRenderIndexList = (RwImVertexIndex*)0x846288;
RwIm3DVertex TempBufferRenderVertices[TEMPBUFFERVERTSIZE];
RwImVertexIndex TempBufferRenderIndexList[TEMPBUFFERINDEXSIZE];
int &RenderBuffer::VerticesToBeStored = *(int*)0x8F59C4;
int &RenderBuffer::IndicesToBeStored = *(int*)0x8E28B0;
int RenderBuffer::VerticesToBeStored;
int RenderBuffer::IndicesToBeStored;
void
RenderBuffer::ClearRenderBuffer(void)

View File

@ -1,8 +1,8 @@
class RenderBuffer
{
public:
static int &VerticesToBeStored;
static int &IndicesToBeStored;
static int VerticesToBeStored;
static int IndicesToBeStored;
static void ClearRenderBuffer(void);
static void StartStoring(int numIndices, int numVertices, RwImVertexIndex **indexStart, RwIm3DVertex **vertexStart);
static void StopStoring(void);
@ -12,7 +12,7 @@ public:
#define TEMPBUFFERVERTSIZE 256
#define TEMPBUFFERINDEXSIZE 1024
extern int32 &TempBufferVerticesStored;
extern int32 &TempBufferIndicesStored;
extern RwIm3DVertex *TempBufferRenderVertices;
extern RwImVertexIndex *TempBufferRenderIndexList;
extern int32 TempBufferVerticesStored;
extern int32 TempBufferIndicesStored;
extern RwIm3DVertex TempBufferRenderVertices[TEMPBUFFERVERTSIZE];
extern RwImVertexIndex TempBufferRenderIndexList[TEMPBUFFERINDEXSIZE];

View File

@ -20,43 +20,31 @@
SETTWEAKPATH("Shadows");
TWEAKBOOL(gbPrintShite);
#if 1
RwImVertexIndex ShadowIndexList[24];
#else
RwImVertexIndex (&ShadowIndexList)[24] = *(RwImVertexIndex (*)[24])*(int *)0x649188;
#endif
RwTexture *&gpShadowCarTex = *(RwTexture **)0x8F2C90;
RwTexture *&gpShadowPedTex = *(RwTexture **)0x8F59D0;
RwTexture *&gpShadowHeliTex = *(RwTexture **)0x8E2A90;
RwTexture *&gpShadowExplosionTex = *(RwTexture **)0x8F2A00;
RwTexture *&gpShadowHeadLightsTex = *(RwTexture **)0x95CB98;
RwTexture *&gpOutline1Tex = *(RwTexture **)0x8F1B24;
RwTexture *&gpOutline2Tex = *(RwTexture **)0x8F1B04;
RwTexture *&gpOutline3Tex = *(RwTexture **)0x8F1B08;
RwTexture *&gpBloodPoolTex = *(RwTexture **)0x9415F8;
RwTexture *&gpReflectionTex = *(RwTexture **)0x8F582C;
RwTexture *&gpGoalMarkerTex = *(RwTexture **)0x94142C;
RwTexture *&gpWalkDontTex = *(RwTexture **)0x95CB4C;
RwTexture *&gpCrackedGlassTex = *(RwTexture **)0x95CB94;
RwTexture *&gpPostShadowTex = *(RwTexture **)0x8F59D4;
RwTexture *&gpGoalTex = *(RwTexture**)0x94142C;
RwTexture *gpShadowCarTex;
RwTexture *gpShadowPedTex;
RwTexture *gpShadowHeliTex;
RwTexture *gpShadowExplosionTex;
RwTexture *gpShadowHeadLightsTex;
RwTexture *gpOutline1Tex;
RwTexture *gpOutline2Tex;
RwTexture *gpOutline3Tex;
RwTexture *gpBloodPoolTex;
RwTexture *gpReflectionTex;
RwTexture *gpGoalMarkerTex;
RwTexture *gpWalkDontTex;
RwTexture *gpCrackedGlassTex;
RwTexture *gpPostShadowTex;
RwTexture *gpGoalTex;
#if 1
int16 CShadows::ShadowsStoredToBeRendered;
CStoredShadow CShadows::asShadowsStored [MAX_STOREDSHADOWS];
CPolyBunch CShadows::aPolyBunches [MAX_POLYBUNCHES];
CStaticShadow CShadows::aStaticShadows [MAX_STATICSHADOWS];
CPolyBunch *CShadows::pEmptyBunchList;
CPermanentShadow CShadows::aPermanentShadows[MAX_PERMAMENTSHADOWS];
#else
int16 &CShadows::ShadowsStoredToBeRendered = *(int16*)0x95CCEE;
CStoredShadow (&CShadows::asShadowsStored)[MAX_STOREDSHADOWS] = *(CStoredShadow (*)[MAX_STOREDSHADOWS])*(int *)0x779058;
CPolyBunch (&CShadows::aPolyBunches)[MAX_POLYBUNCHES] = *(CPolyBunch (*)[MAX_POLYBUNCHES])*(int *)0x86F4C8;
CStaticShadow (&CShadows::aStaticShadows)[MAX_STATICSHADOWS] = *(CStaticShadow (*)[MAX_STATICSHADOWS])*(int *)0x773BE8;
CPolyBunch *&CShadows::pEmptyBunchList = *(CPolyBunch**)0x8F435C;
CPermanentShadow (&CShadows::aPermanentShadows)[MAX_PERMAMENTSHADOWS] = *(CPermanentShadow (*)[MAX_PERMAMENTSHADOWS])*(int *)0x712040;
#endif
void
CShadows::Init(void)

View File

@ -174,18 +174,18 @@ public:
static void RenderIndicatorShadow (uint32 nID, uint8 ShadowType, RwTexture *pTexture, CVector *pPosn, float fFrontX, float fFrontY, float fSideX, float fSideY, int16 nIntensity);
};
extern RwTexture *&gpShadowCarTex;
extern RwTexture *&gpShadowPedTex;
extern RwTexture *&gpShadowHeliTex;
extern RwTexture *&gpShadowExplosionTex;
extern RwTexture *&gpShadowHeadLightsTex;
extern RwTexture *&gpOutline1Tex;
extern RwTexture *&gpOutline2Tex;
extern RwTexture *&gpOutline3Tex;
extern RwTexture *&gpBloodPoolTex;
extern RwTexture *&gpReflectionTex;
extern RwTexture *&gpGoalMarkerTex;
extern RwTexture *&gpWalkDontTex;
extern RwTexture *&gpCrackedGlassTex;
extern RwTexture *&gpPostShadowTex;
extern RwTexture *&gpGoalTex;
extern RwTexture *gpShadowCarTex;
extern RwTexture *gpShadowPedTex;
extern RwTexture *gpShadowHeliTex;
extern RwTexture *gpShadowExplosionTex;
extern RwTexture *gpShadowHeadLightsTex;
extern RwTexture *gpOutline1Tex;
extern RwTexture *gpOutline2Tex;
extern RwTexture *gpOutline3Tex;
extern RwTexture *gpBloodPoolTex;
extern RwTexture *gpReflectionTex;
extern RwTexture *gpGoalMarkerTex;
extern RwTexture *gpWalkDontTex;
extern RwTexture *gpCrackedGlassTex;
extern RwTexture *gpPostShadowTex;
extern RwTexture *gpGoalTex;

View File

@ -5,10 +5,10 @@
#include "Camera.h"
#include "Sprite.h"
float &CSprite::m_f2DNearScreenZ = *(float*)0x8F1ABC;
float &CSprite::m_f2DFarScreenZ = *(float*)0x8F2C94;
float &CSprite::m_fRecipNearClipPlane = *(float*)0x8F5FFC;
int32 &CSprite::m_bFlushSpriteBufferSwitchZTest = *(int32*)0x8F5FB0;
float CSprite::m_f2DNearScreenZ;
float CSprite::m_f2DFarScreenZ;
float CSprite::m_fRecipNearClipPlane;
int32 CSprite::m_bFlushSpriteBufferSwitchZTest;
float
CSprite::CalcHorizonCoors(void)
@ -40,9 +40,9 @@ CSprite::CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh,
}
#define SPRITEBUFFERSIZE 64
static int32 &nSpriteBufferIndex = *(int32*)0x649A80;
static RwIm2DVertex *SpriteBufferVerts = (RwIm2DVertex*)0x649A84; //[SPRITEBUFFERSIZE*6];
static RwIm2DVertex *verts = (RwIm2DVertex*)0x64C484; //[4];
static int32 nSpriteBufferIndex;
static RwIm2DVertex SpriteBufferVerts[SPRITEBUFFERSIZE*6];
static RwIm2DVertex verts[4];
void
CSprite::InitSpriteBuffer(void)

View File

@ -2,10 +2,10 @@
class CSprite
{
static float &m_f2DNearScreenZ;
static float &m_f2DFarScreenZ;
static float &m_fRecipNearClipPlane;
static int32 &m_bFlushSpriteBufferSwitchZTest;
static float m_f2DNearScreenZ;
static float m_f2DFarScreenZ;
static float m_fRecipNearClipPlane;
static int32 m_bFlushSpriteBufferSwitchZTest;
public:
static float CalcHorizonCoors(void);
static bool CalcScreenCoors(const RwV3d &in, RwV3d *out, float *outw, float *outh, bool farclip);

View File

@ -10,101 +10,101 @@
#include "FileMgr.h"
#include "Timecycle.h"
int (*CTimeCycle::m_nAmbientRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x86AF78;
int (*CTimeCycle::m_nAmbientGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x665308;
int (*CTimeCycle::m_nAmbientBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x72CF88;
int (*CTimeCycle::m_nDirectionalRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6FAB78;
int (*CTimeCycle::m_nDirectionalGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6F4528;
int (*CTimeCycle::m_nDirectionalBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x83CE58;
int (*CTimeCycle::m_nSkyTopRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x87FB90;
int (*CTimeCycle::m_nSkyTopGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x8460A8;
int (*CTimeCycle::m_nSkyTopBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x87B158;
int (*CTimeCycle::m_nSkyBottomRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6FA960;
int (*CTimeCycle::m_nSkyBottomGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x70D6A8;
int (*CTimeCycle::m_nSkyBottomBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x83D288;
int (*CTimeCycle::m_nSunCoreRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x878360;
int (*CTimeCycle::m_nSunCoreGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6EE088;
int (*CTimeCycle::m_nSunCoreBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x773A68;
int (*CTimeCycle::m_nSunCoronaRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x664B60;
int (*CTimeCycle::m_nSunCoronaGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6F01E0;
int (*CTimeCycle::m_nSunCoronaBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6E6340;
float (*CTimeCycle::m_fSunSize)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x733510;
float (*CTimeCycle::m_fSpriteSize)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x87F820;
float (*CTimeCycle::m_fSpriteBrightness)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x6E96F0;
short (*CTimeCycle::m_nShadowStrength)[NUMWEATHERS] = (short(*)[NUMWEATHERS])0x83CFD8;
short (*CTimeCycle::m_nLightShadowStrength)[NUMWEATHERS] = (short(*)[NUMWEATHERS])0x72B0F8;
short (*CTimeCycle::m_nTreeShadowStrength)[NUMWEATHERS] = (short(*)[NUMWEATHERS])0x733450;
float (*CTimeCycle::m_fFogStart)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x8806C8;
float (*CTimeCycle::m_fFarClip)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x8804E0;
float (*CTimeCycle::m_fLightsOnGroundBrightness)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x83D108;
int (*CTimeCycle::m_nLowCloudsRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x726770;
int (*CTimeCycle::m_nLowCloudsGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x87BF08;
int (*CTimeCycle::m_nLowCloudsBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x87FA10;
int (*CTimeCycle::m_nFluffyCloudsTopRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x70F2B0;
int (*CTimeCycle::m_nFluffyCloudsTopGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x72D288;
int (*CTimeCycle::m_nFluffyCloudsTopBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x86B108;
int (*CTimeCycle::m_nFluffyCloudsBottomRed)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6E8DA8;
int (*CTimeCycle::m_nFluffyCloudsBottomGreen)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x715AA8;
int (*CTimeCycle::m_nFluffyCloudsBottomBlue)[NUMWEATHERS] = (int(*)[NUMWEATHERS])0x6EE2D0;
float (*CTimeCycle::m_fBlurRed)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x87C7E0;
float (*CTimeCycle::m_fBlurGreen)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x774C10;
float (*CTimeCycle::m_fBlurBlue)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x8784E0;
float (*CTimeCycle::m_fBlurAlpha)[NUMWEATHERS] = (float(*)[NUMWEATHERS])0x733690;
int CTimeCycle::m_nAmbientRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nAmbientGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nAmbientBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nDirectionalRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nDirectionalGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nDirectionalBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyTopRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyTopGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyTopBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyBottomRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyBottomGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSkyBottomBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoreRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoreGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoreBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoronaRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoronaGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nSunCoronaBlue[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fSunSize[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fSpriteSize[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fSpriteBrightness[NUMHOURS][NUMWEATHERS];
short CTimeCycle::m_nShadowStrength[NUMHOURS][NUMWEATHERS];
short CTimeCycle::m_nLightShadowStrength[NUMHOURS][NUMWEATHERS];
short CTimeCycle::m_nTreeShadowStrength[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fFogStart[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fFarClip[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fLightsOnGroundBrightness[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nLowCloudsRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nLowCloudsGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nLowCloudsBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsTopRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsTopGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsTopBlue[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsBottomRed[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsBottomGreen[NUMHOURS][NUMWEATHERS];
int CTimeCycle::m_nFluffyCloudsBottomBlue[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fBlurRed[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fBlurGreen[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fBlurBlue[NUMHOURS][NUMWEATHERS];
float CTimeCycle::m_fBlurAlpha[NUMHOURS][NUMWEATHERS];
float &CTimeCycle::m_fCurrentAmbientRed = *(float*)0x8F29B4;
float &CTimeCycle::m_fCurrentAmbientGreen = *(float*)0x94144C;
float &CTimeCycle::m_fCurrentAmbientBlue = *(float*)0x942FC0;
float &CTimeCycle::m_fCurrentDirectionalRed = *(float*)0x8F29D8;
float &CTimeCycle::m_fCurrentDirectionalGreen = *(float*)0x940594;
float &CTimeCycle::m_fCurrentDirectionalBlue = *(float*)0x942FAC;
int &CTimeCycle::m_nCurrentSkyTopRed = *(int*)0x9403C0;
int &CTimeCycle::m_nCurrentSkyTopGreen = *(int*)0x943074;
int &CTimeCycle::m_nCurrentSkyTopBlue = *(int*)0x8F29B8;
int &CTimeCycle::m_nCurrentSkyBottomRed = *(int*)0x9414D0;
int &CTimeCycle::m_nCurrentSkyBottomGreen = *(int*)0x8F2BD0;
int &CTimeCycle::m_nCurrentSkyBottomBlue = *(int*)0x8F625C;
int &CTimeCycle::m_nCurrentSunCoreRed = *(int*)0x8F2534;
int &CTimeCycle::m_nCurrentSunCoreGreen = *(int*)0x8F6264;
int &CTimeCycle::m_nCurrentSunCoreBlue = *(int*)0x94149C;
int &CTimeCycle::m_nCurrentSunCoronaRed = *(int*)0x8F2C1C;
int &CTimeCycle::m_nCurrentSunCoronaGreen = *(int*)0x885B54;
int &CTimeCycle::m_nCurrentSunCoronaBlue = *(int*)0x880F60;
float &CTimeCycle::m_fCurrentSunSize = *(float*)0x940588;
float &CTimeCycle::m_fCurrentSpriteSize = *(float*)0x8F1AA8;
float &CTimeCycle::m_fCurrentSpriteBrightness = *(float*)0x8F5FDC;
int &CTimeCycle::m_nCurrentShadowStrength = *(int*)0x95CC76;
int &CTimeCycle::m_nCurrentLightShadowStrength = *(int*)0x95CC66;
int &CTimeCycle::m_nCurrentTreeShadowStrength = *(int*)0x95CC86;
float &CTimeCycle::m_fCurrentFogStart = *(float*)0x8F1AE0;
float &CTimeCycle::m_fCurrentFarClip = *(float*)0x8F5FD8;
float &CTimeCycle::m_fCurrentLightsOnGroundBrightness = *(float*)0x8F1B60;
int &CTimeCycle::m_nCurrentLowCloudsRed = *(int*)0x95CB54;
int &CTimeCycle::m_nCurrentLowCloudsGreen = *(int*)0x95CB48;
int &CTimeCycle::m_nCurrentLowCloudsBlue = *(int*)0x95CC1C;
int &CTimeCycle::m_nCurrentFluffyCloudsTopRed = *(int*)0x8F2550;
int &CTimeCycle::m_nCurrentFluffyCloudsTopGreen = *(int*)0x8F59CC;
int &CTimeCycle::m_nCurrentFluffyCloudsTopBlue = *(int*)0x941434;
int &CTimeCycle::m_nCurrentFluffyCloudsBottomRed = *(int*)0x8F1A38;
int &CTimeCycle::m_nCurrentFluffyCloudsBottomGreen = *(int*)0x8E28B8;
int &CTimeCycle::m_nCurrentFluffyCloudsBottomBlue = *(int*)0x8F3960;
float &CTimeCycle::m_fCurrentBlurRed = *(float*)0x8F6000;
float &CTimeCycle::m_fCurrentBlurGreen = *(float*)0x9405A0;
float &CTimeCycle::m_fCurrentBlurBlue = *(float*)0x8F250C;
float &CTimeCycle::m_fCurrentBlurAlpha = *(float*)0x940728;
int &CTimeCycle::m_nCurrentFogColourRed = *(int*)0x940714;
int &CTimeCycle::m_nCurrentFogColourGreen = *(int*)0x8E2A60;
int &CTimeCycle::m_nCurrentFogColourBlue = *(int*)0x8F57EC;
float CTimeCycle::m_fCurrentAmbientRed;
float CTimeCycle::m_fCurrentAmbientGreen;
float CTimeCycle::m_fCurrentAmbientBlue;
float CTimeCycle::m_fCurrentDirectionalRed;
float CTimeCycle::m_fCurrentDirectionalGreen;
float CTimeCycle::m_fCurrentDirectionalBlue;
int CTimeCycle::m_nCurrentSkyTopRed;
int CTimeCycle::m_nCurrentSkyTopGreen;
int CTimeCycle::m_nCurrentSkyTopBlue;
int CTimeCycle::m_nCurrentSkyBottomRed;
int CTimeCycle::m_nCurrentSkyBottomGreen;
int CTimeCycle::m_nCurrentSkyBottomBlue;
int CTimeCycle::m_nCurrentSunCoreRed;
int CTimeCycle::m_nCurrentSunCoreGreen;
int CTimeCycle::m_nCurrentSunCoreBlue;
int CTimeCycle::m_nCurrentSunCoronaRed;
int CTimeCycle::m_nCurrentSunCoronaGreen;
int CTimeCycle::m_nCurrentSunCoronaBlue;
float CTimeCycle::m_fCurrentSunSize;
float CTimeCycle::m_fCurrentSpriteSize;
float CTimeCycle::m_fCurrentSpriteBrightness;
int CTimeCycle::m_nCurrentShadowStrength;
int CTimeCycle::m_nCurrentLightShadowStrength;
int CTimeCycle::m_nCurrentTreeShadowStrength;
float CTimeCycle::m_fCurrentFogStart;
float CTimeCycle::m_fCurrentFarClip;
float CTimeCycle::m_fCurrentLightsOnGroundBrightness;
int CTimeCycle::m_nCurrentLowCloudsRed;
int CTimeCycle::m_nCurrentLowCloudsGreen;
int CTimeCycle::m_nCurrentLowCloudsBlue;
int CTimeCycle::m_nCurrentFluffyCloudsTopRed;
int CTimeCycle::m_nCurrentFluffyCloudsTopGreen;
int CTimeCycle::m_nCurrentFluffyCloudsTopBlue;
int CTimeCycle::m_nCurrentFluffyCloudsBottomRed;
int CTimeCycle::m_nCurrentFluffyCloudsBottomGreen;
int CTimeCycle::m_nCurrentFluffyCloudsBottomBlue;
float CTimeCycle::m_fCurrentBlurRed;
float CTimeCycle::m_fCurrentBlurGreen;
float CTimeCycle::m_fCurrentBlurBlue;
float CTimeCycle::m_fCurrentBlurAlpha;
int CTimeCycle::m_nCurrentFogColourRed;
int CTimeCycle::m_nCurrentFogColourGreen;
int CTimeCycle::m_nCurrentFogColourBlue;
int &CTimeCycle::m_FogReduction = *(int*)0x880FB8;
int CTimeCycle::m_FogReduction;
int &CTimeCycle::m_CurrentStoredValue = *(int*)0x94057C;
CVector *CTimeCycle::m_VectorToSun = (CVector*)0x665548; // [16]
float *CTimeCycle::m_fShadowFrontX = (float*)0x72CE90;
float *CTimeCycle::m_fShadowFrontY = (float*)0x72CE50;
float *CTimeCycle::m_fShadowSideX = (float*)0x87C708;
float *CTimeCycle::m_fShadowSideY = (float*)0x87C6C8;
float *CTimeCycle::m_fShadowDisplacementX = (float*)0x6F0748;
float *CTimeCycle::m_fShadowDisplacementY = (float*)0x6F0788;
int CTimeCycle::m_CurrentStoredValue;
CVector CTimeCycle::m_VectorToSun[16];
float CTimeCycle::m_fShadowFrontX[16];
float CTimeCycle::m_fShadowFrontY[16];
float CTimeCycle::m_fShadowSideX[16];
float CTimeCycle::m_fShadowSideY[16];
float CTimeCycle::m_fShadowDisplacementX[16];
float CTimeCycle::m_fShadowDisplacementY[16];
void

View File

@ -2,102 +2,102 @@
class CTimeCycle
{
static int (*m_nAmbientRed)[NUMWEATHERS];
static int (*m_nAmbientGreen)[NUMWEATHERS];
static int (*m_nAmbientBlue)[NUMWEATHERS];
static int (*m_nDirectionalRed)[NUMWEATHERS];
static int (*m_nDirectionalGreen)[NUMWEATHERS];
static int (*m_nDirectionalBlue)[NUMWEATHERS];
static int (*m_nSkyTopRed)[NUMWEATHERS];
static int (*m_nSkyTopGreen)[NUMWEATHERS];
static int (*m_nSkyTopBlue)[NUMWEATHERS];
static int (*m_nSkyBottomRed)[NUMWEATHERS];
static int (*m_nSkyBottomGreen)[NUMWEATHERS];
static int (*m_nSkyBottomBlue)[NUMWEATHERS];
static int (*m_nSunCoreRed)[NUMWEATHERS];
static int (*m_nSunCoreGreen)[NUMWEATHERS];
static int (*m_nSunCoreBlue)[NUMWEATHERS];
static int (*m_nSunCoronaRed)[NUMWEATHERS];
static int (*m_nSunCoronaGreen)[NUMWEATHERS];
static int (*m_nSunCoronaBlue)[NUMWEATHERS];
static float (*m_fSunSize)[NUMWEATHERS];
static float (*m_fSpriteSize)[NUMWEATHERS];
static float (*m_fSpriteBrightness)[NUMWEATHERS];
static short (*m_nShadowStrength)[NUMWEATHERS];
static short (*m_nLightShadowStrength)[NUMWEATHERS];
static short (*m_nTreeShadowStrength)[NUMWEATHERS];
static float (*m_fFogStart)[NUMWEATHERS];
static float (*m_fFarClip)[NUMWEATHERS];
static float (*m_fLightsOnGroundBrightness)[NUMWEATHERS];
static int (*m_nLowCloudsRed)[NUMWEATHERS];
static int (*m_nLowCloudsGreen)[NUMWEATHERS];
static int (*m_nLowCloudsBlue)[NUMWEATHERS];
static int (*m_nFluffyCloudsTopRed)[NUMWEATHERS];
static int (*m_nFluffyCloudsTopGreen)[NUMWEATHERS];
static int (*m_nFluffyCloudsTopBlue)[NUMWEATHERS];
static int (*m_nFluffyCloudsBottomRed)[NUMWEATHERS];
static int (*m_nFluffyCloudsBottomGreen)[NUMWEATHERS];
static int (*m_nFluffyCloudsBottomBlue)[NUMWEATHERS];
static float (*m_fBlurRed)[NUMWEATHERS];
static float (*m_fBlurGreen)[NUMWEATHERS];
static float (*m_fBlurBlue)[NUMWEATHERS];
static float (*m_fBlurAlpha)[NUMWEATHERS];
static int m_nAmbientRed[NUMHOURS][NUMWEATHERS];
static int m_nAmbientGreen[NUMHOURS][NUMWEATHERS];
static int m_nAmbientBlue[NUMHOURS][NUMWEATHERS];
static int m_nDirectionalRed[NUMHOURS][NUMWEATHERS];
static int m_nDirectionalGreen[NUMHOURS][NUMWEATHERS];
static int m_nDirectionalBlue[NUMHOURS][NUMWEATHERS];
static int m_nSkyTopRed[NUMHOURS][NUMWEATHERS];
static int m_nSkyTopGreen[NUMHOURS][NUMWEATHERS];
static int m_nSkyTopBlue[NUMHOURS][NUMWEATHERS];
static int m_nSkyBottomRed[NUMHOURS][NUMWEATHERS];
static int m_nSkyBottomGreen[NUMHOURS][NUMWEATHERS];
static int m_nSkyBottomBlue[NUMHOURS][NUMWEATHERS];
static int m_nSunCoreRed[NUMHOURS][NUMWEATHERS];
static int m_nSunCoreGreen[NUMHOURS][NUMWEATHERS];
static int m_nSunCoreBlue[NUMHOURS][NUMWEATHERS];
static int m_nSunCoronaRed[NUMHOURS][NUMWEATHERS];
static int m_nSunCoronaGreen[NUMHOURS][NUMWEATHERS];
static int m_nSunCoronaBlue[NUMHOURS][NUMWEATHERS];
static float m_fSunSize[NUMHOURS][NUMWEATHERS];
static float m_fSpriteSize[NUMHOURS][NUMWEATHERS];
static float m_fSpriteBrightness[NUMHOURS][NUMWEATHERS];
static short m_nShadowStrength[NUMHOURS][NUMWEATHERS];
static short m_nLightShadowStrength[NUMHOURS][NUMWEATHERS];
static short m_nTreeShadowStrength[NUMHOURS][NUMWEATHERS];
static float m_fFogStart[NUMHOURS][NUMWEATHERS];
static float m_fFarClip[NUMHOURS][NUMWEATHERS];
static float m_fLightsOnGroundBrightness[NUMHOURS][NUMWEATHERS];
static int m_nLowCloudsRed[NUMHOURS][NUMWEATHERS];
static int m_nLowCloudsGreen[NUMHOURS][NUMWEATHERS];
static int m_nLowCloudsBlue[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsTopRed[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsTopGreen[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsTopBlue[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsBottomRed[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsBottomGreen[NUMHOURS][NUMWEATHERS];
static int m_nFluffyCloudsBottomBlue[NUMHOURS][NUMWEATHERS];
static float m_fBlurRed[NUMHOURS][NUMWEATHERS];
static float m_fBlurGreen[NUMHOURS][NUMWEATHERS];
static float m_fBlurBlue[NUMHOURS][NUMWEATHERS];
static float m_fBlurAlpha[NUMHOURS][NUMWEATHERS];
static float &m_fCurrentAmbientRed;
static float &m_fCurrentAmbientGreen;
static float &m_fCurrentAmbientBlue;
static float &m_fCurrentDirectionalRed;
static float &m_fCurrentDirectionalGreen;
static float &m_fCurrentDirectionalBlue;
static int &m_nCurrentSkyTopRed;
static int &m_nCurrentSkyTopGreen;
static int &m_nCurrentSkyTopBlue;
static int &m_nCurrentSkyBottomRed;
static int &m_nCurrentSkyBottomGreen;
static int &m_nCurrentSkyBottomBlue;
static int &m_nCurrentSunCoreRed;
static int &m_nCurrentSunCoreGreen;
static int &m_nCurrentSunCoreBlue;
static int &m_nCurrentSunCoronaRed;
static int &m_nCurrentSunCoronaGreen;
static int &m_nCurrentSunCoronaBlue;
static float &m_fCurrentSunSize;
static float &m_fCurrentSpriteSize;
static float &m_fCurrentSpriteBrightness;
static int &m_nCurrentShadowStrength;
static int &m_nCurrentLightShadowStrength;
static int &m_nCurrentTreeShadowStrength;
static float &m_fCurrentFogStart;
static float &m_fCurrentFarClip;
static float &m_fCurrentLightsOnGroundBrightness;
static int &m_nCurrentLowCloudsRed;
static int &m_nCurrentLowCloudsGreen;
static int &m_nCurrentLowCloudsBlue;
static int &m_nCurrentFluffyCloudsTopRed;
static int &m_nCurrentFluffyCloudsTopGreen;
static int &m_nCurrentFluffyCloudsTopBlue;
static int &m_nCurrentFluffyCloudsBottomRed;
static int &m_nCurrentFluffyCloudsBottomGreen;
static int &m_nCurrentFluffyCloudsBottomBlue;
static float &m_fCurrentBlurRed;
static float &m_fCurrentBlurGreen;
static float &m_fCurrentBlurBlue;
static float &m_fCurrentBlurAlpha;
static int &m_nCurrentFogColourRed;
static int &m_nCurrentFogColourGreen;
static int &m_nCurrentFogColourBlue;
static float m_fCurrentAmbientRed;
static float m_fCurrentAmbientGreen;
static float m_fCurrentAmbientBlue;
static float m_fCurrentDirectionalRed;
static float m_fCurrentDirectionalGreen;
static float m_fCurrentDirectionalBlue;
static int m_nCurrentSkyTopRed;
static int m_nCurrentSkyTopGreen;
static int m_nCurrentSkyTopBlue;
static int m_nCurrentSkyBottomRed;
static int m_nCurrentSkyBottomGreen;
static int m_nCurrentSkyBottomBlue;
static int m_nCurrentSunCoreRed;
static int m_nCurrentSunCoreGreen;
static int m_nCurrentSunCoreBlue;
static int m_nCurrentSunCoronaRed;
static int m_nCurrentSunCoronaGreen;
static int m_nCurrentSunCoronaBlue;
static float m_fCurrentSunSize;
static float m_fCurrentSpriteSize;
static float m_fCurrentSpriteBrightness;
static int m_nCurrentShadowStrength;
static int m_nCurrentLightShadowStrength;
static int m_nCurrentTreeShadowStrength;
static float m_fCurrentFogStart;
static float m_fCurrentFarClip;
static float m_fCurrentLightsOnGroundBrightness;
static int m_nCurrentLowCloudsRed;
static int m_nCurrentLowCloudsGreen;
static int m_nCurrentLowCloudsBlue;
static int m_nCurrentFluffyCloudsTopRed;
static int m_nCurrentFluffyCloudsTopGreen;
static int m_nCurrentFluffyCloudsTopBlue;
static int m_nCurrentFluffyCloudsBottomRed;
static int m_nCurrentFluffyCloudsBottomGreen;
static int m_nCurrentFluffyCloudsBottomBlue;
static float m_fCurrentBlurRed;
static float m_fCurrentBlurGreen;
static float m_fCurrentBlurBlue;
static float m_fCurrentBlurAlpha;
static int m_nCurrentFogColourRed;
static int m_nCurrentFogColourGreen;
static int m_nCurrentFogColourBlue;
static int &m_FogReduction;
static int m_FogReduction;
public:
static int &m_CurrentStoredValue;
static CVector *m_VectorToSun; // [16]
static float *m_fShadowFrontX; // [16]
static float *m_fShadowFrontY; // [16]
static float *m_fShadowSideX; // [16]
static float *m_fShadowSideY; // [16]
static float *m_fShadowDisplacementX; // [16]
static float *m_fShadowDisplacementY; // [16]
static int m_CurrentStoredValue;
static CVector m_VectorToSun[16];
static float m_fShadowFrontX[16];
static float m_fShadowFrontY[16];
static float m_fShadowSideX[16];
static float m_fShadowSideY[16];
static float m_fShadowDisplacementX[16];
static float m_fShadowDisplacementY[16];
static float GetAmbientRed(void) { return m_fCurrentAmbientRed; }
static float GetAmbientGreen(void) { return m_fCurrentAmbientGreen; }

View File

@ -39,8 +39,8 @@ int16 CWaterLevel::nGeomUsed;
//RwTexture *gpWaterTex;
//RwRaster *gpWaterRaster;
RwTexture *&gpWaterTex = *(RwTexture **)0x64D070;
RwRaster *&gpWaterRaster = *(RwRaster **)0x8F5FD4;
RwTexture *gpWaterTex;
RwRaster *gpWaterRaster;
const float fAdd1 = 180.0f;

View File

@ -64,7 +64,7 @@
#define MAX_BOAT_WAKES 8
extern RwRaster*& gpWaterRaster;
extern RwRaster* gpWaterRaster;
class CWaterLevel
{

View File

@ -18,35 +18,35 @@
#include "World.h"
#include "ZoneCull.h"
int32 &CWeather::SoundHandle = *(int32*)0x5FFBC4;
int32 CWeather::SoundHandle = -1;
int32 &CWeather::WeatherTypeInList = *(int32*)0x8F626C;
int16 &CWeather::OldWeatherType = *(int16*)0x95CCEC;
int16 &CWeather::NewWeatherType = *(int16*)0x95CC70;
int16 &CWeather::ForcedWeatherType = *(int16*)0x95CC80;
int32 CWeather::WeatherTypeInList;
int16 CWeather::OldWeatherType;
int16 CWeather::NewWeatherType;
int16 CWeather::ForcedWeatherType;
bool &CWeather::LightningFlash = *(bool*)0x95CDA3;
bool &CWeather::LightningBurst = *(bool*)0x95CDAC;
uint32 &CWeather::LightningStart = *(uint32*)0x8F5F84;
uint32 &CWeather::LightningFlashLastChange = *(uint32*)0x8E2C0C;
uint32 &CWeather::WhenToPlayLightningSound = *(uint32*)0x8F57E4;
uint32 &CWeather::LightningDuration = *(uint32*)0x940578;
bool CWeather::LightningFlash;
bool CWeather::LightningBurst;
uint32 CWeather::LightningStart;
uint32 CWeather::LightningFlashLastChange;
uint32 CWeather::WhenToPlayLightningSound;
uint32 CWeather::LightningDuration;
float &CWeather::Foggyness = *(float*)0x885AF4;
float &CWeather::CloudCoverage = *(float*)0x8E2818;
float &CWeather::Wind = *(float*)0x8E2BF8;
float &CWeather::Rain = *(float*)0x8E2BFC;
float &CWeather::InterpolationValue = *(float*)0x8F2520;
float &CWeather::WetRoads = *(float*)0x8F5FF8;
float &CWeather::Rainbow = *(float*)0x940598;
float CWeather::Foggyness;
float CWeather::CloudCoverage;
float CWeather::Wind;
float CWeather::Rain;
float CWeather::InterpolationValue;
float CWeather::WetRoads;
float CWeather::Rainbow;
bool &CWeather::bScriptsForceRain = *(bool*)0x95CD7D;
bool &CWeather::Stored_StateStored = *(bool*)0x95CDC1;
bool CWeather::bScriptsForceRain;
bool CWeather::Stored_StateStored;
float &CWeather::Stored_InterpolationValue = *(float*)0x942F54;
int16 &CWeather::Stored_OldWeatherType = *(int16*)0x95CC68;
int16 &CWeather::Stored_NewWeatherType = *(int16*)0x95CCAE;
float &CWeather::Stored_Rain = *(float*)0x885B4C;
float CWeather::Stored_InterpolationValue;
int16 CWeather::Stored_OldWeatherType;
int16 CWeather::Stored_NewWeatherType;
float CWeather::Stored_Rain;
tRainStreak Streaks[NUM_RAIN_STREAKS];

View File

@ -16,34 +16,34 @@ public:
WEATHER_FOGGY = 3,
WEATHER_TOTAL = 4
};
static int32 &SoundHandle;
static int32 SoundHandle;
static int32 &WeatherTypeInList;
static int16 &OldWeatherType;
static int16 &NewWeatherType;
static int16 &ForcedWeatherType;
static int32 WeatherTypeInList;
static int16 OldWeatherType;
static int16 NewWeatherType;
static int16 ForcedWeatherType;
static bool &LightningFlash;
static bool &LightningBurst;
static uint32 &LightningStart;
static uint32 &LightningFlashLastChange;
static uint32 &WhenToPlayLightningSound;
static uint32 &LightningDuration;
static bool LightningFlash;
static bool LightningBurst;
static uint32 LightningStart;
static uint32 LightningFlashLastChange;
static uint32 WhenToPlayLightningSound;
static uint32 LightningDuration;
static float &Foggyness;
static float &CloudCoverage;
static float &Wind;
static float &Rain;
static float &InterpolationValue;
static float &WetRoads;
static float &Rainbow;
static float Foggyness;
static float CloudCoverage;
static float Wind;
static float Rain;
static float InterpolationValue;
static float WetRoads;
static float Rainbow;
static bool &bScriptsForceRain;
static bool &Stored_StateStored;
static float &Stored_InterpolationValue;
static int16 &Stored_OldWeatherType;
static int16 &Stored_NewWeatherType;
static float &Stored_Rain;
static bool bScriptsForceRain;
static bool Stored_StateStored;
static float Stored_InterpolationValue;
static int16 Stored_OldWeatherType;
static int16 Stored_NewWeatherType;
static float Stored_Rain;
static void RenderRainStreaks(void);
static void Update(void);
@ -68,4 +68,4 @@ struct tRainStreak
uint32 timer;
};
extern RwTexture* (&gpRainDropTex)[4];
extern RwTexture* gpRainDropTex[4];