Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
158 lines
4.1 KiB
C++
158 lines
4.1 KiB
C++
// WeatherManager.h: interface for the CWeatherManager class.
|
|
//
|
|
//////////////////////////////////////////////////////////////////////
|
|
|
|
#if !defined(AFX_WEATHERMANAGER_H__61B8FDF0_B967_4933_A397_7839B82C6314__INCLUDED_)
|
|
#define AFX_WEATHERMANAGER_H__61B8FDF0_B967_4933_A397_7839B82C6314__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
#include "SkyScene.h"
|
|
#include "SunScene.h"
|
|
//#include "FallScene.h"
|
|
//#include "CloudScene.h"
|
|
|
|
const long DAYCYCLE=25;
|
|
const int RAWTABLESIZE = 512;
|
|
|
|
class CTexture;
|
|
class CWeatherManager
|
|
{
|
|
public:
|
|
class CSubWeatherData
|
|
{
|
|
public:
|
|
CSubWeatherData();
|
|
~CSubWeatherData();
|
|
|
|
int m_iIndex;
|
|
CTexture *m_pGrassTexture;
|
|
color m_SkyNeighborColor[DAYCYCLE];
|
|
color m_SkyCenterColor[DAYCYCLE];
|
|
color m_FogColor[DAYCYCLE];
|
|
color m_LightColor[DAYCYCLE];
|
|
color m_AmbientColor[DAYCYCLE];
|
|
float m_FogRangeNear[DAYCYCLE];
|
|
float m_FogRangeFar[DAYCYCLE];
|
|
float m_SkyFogFar[DAYCYCLE];
|
|
color m_FogLayer[DAYCYCLE][3];
|
|
float m_SunPosition[DAYCYCLE];
|
|
color m_ObjectAmbientColor[DAYCYCLE];
|
|
|
|
color m_SpecularReflectionRate[DAYCYCLE];
|
|
color m_GrassColor[DAYCYCLE];
|
|
color m_GlareSkyUpper[DAYCYCLE];
|
|
color m_GlareSkyLower[DAYCYCLE];
|
|
color m_CharacterAmbient[DAYCYCLE];
|
|
color m_CharacterLight[DAYCYCLE];
|
|
color m_TerrainColor[DAYCYCLE];
|
|
color m_WaterColor[DAYCYCLE];
|
|
color m_FurGrassColor[DAYCYCLE];
|
|
color m_DetailFixColor[DAYCYCLE];
|
|
|
|
};
|
|
|
|
float m_fWeatherTime;
|
|
bool m_CustomWaterColor;
|
|
float m_CustomWaterRate;
|
|
void SecondRender(LPDIRECT3DDEVICE8 pd3dDevice);
|
|
void Update(float fUpdate);
|
|
CSkyScene m_SkyScene;
|
|
CSunScene m_SunScene;
|
|
// CFallScene m_FallScene;
|
|
// CCloudScene m_CloudScene;
|
|
|
|
void Save();
|
|
bool Load();
|
|
void LoadSubTable(int *Arr,int iNum);
|
|
|
|
color *m_ClearColor;
|
|
float m_InterSkyFogFar;
|
|
float m_InterSkyFogNear;
|
|
float m_InterFogFar;
|
|
float m_InterFogNear;
|
|
color m_InterObjectAmbientColor;
|
|
color m_InterAmbientColor;
|
|
color m_TerrainAdderColor;
|
|
D3DLIGHT8 m_SunLight;
|
|
color m_GF3ClareColor;
|
|
|
|
color m_InterSpecularReflectionRate;
|
|
color m_InterGrassColor;
|
|
color m_InterGlareSkyUpper;
|
|
color m_InterGlareSkyLower;
|
|
color m_InterCharacterAmbient;
|
|
color m_InterCharacterLight;
|
|
color m_InterTerrainColor;
|
|
color m_InterWaterColor;
|
|
color m_InterFurGrassColor;
|
|
color m_InterDetailFixColor;
|
|
|
|
D3DLIGHT8 m_TerrainLight;
|
|
|
|
color m_SkyNeighborColor[DAYCYCLE];
|
|
color m_SkyCenterColor[DAYCYCLE];
|
|
color m_FogColor[DAYCYCLE];
|
|
color m_LightColor[DAYCYCLE];
|
|
color m_AmbientColor[DAYCYCLE];
|
|
float m_FogRangeNear[DAYCYCLE];
|
|
float m_FogRangeFar[DAYCYCLE];
|
|
float m_SkyFogFar[DAYCYCLE];
|
|
color m_FogLayer[DAYCYCLE][3];
|
|
float m_SunPosition[DAYCYCLE];
|
|
color m_ObjectAmbientColor[DAYCYCLE];
|
|
|
|
color m_SpecularReflectionRate[DAYCYCLE];
|
|
color m_GrassColor[DAYCYCLE];
|
|
color m_GlareSkyUpper[DAYCYCLE];
|
|
color m_GlareSkyLower[DAYCYCLE];
|
|
color m_CharacterAmbient[DAYCYCLE];
|
|
color m_CharacterLight[DAYCYCLE];
|
|
color m_TerrainColor[DAYCYCLE];
|
|
color m_WaterColor[DAYCYCLE];
|
|
color m_FurGrassColor[DAYCYCLE];
|
|
color m_DetailFixColor[DAYCYCLE];
|
|
|
|
CSubWeatherData *m_pSubWeatherTable;
|
|
int m_iSubWeatherTableNum;
|
|
|
|
bool m_bSubTable;
|
|
int m_iSubCurrentIndex;
|
|
int m_iBeforeCurrentIndex;
|
|
|
|
float m_fInterpol;
|
|
|
|
|
|
|
|
unsigned char *m_pWeaterTableRaw;
|
|
|
|
|
|
/*
|
|
DDX_ColourPicker(pDX,IDC_COLOR_SPECULARREFLRECTIONRATE, m_cSpecularReflectionRate);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_GRASSAMBIENT, m_cGrass);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_GLARESKYUPPER, m_cGlareSkyUpper);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_GLARESKYLOWER, m_cClareSkyLower);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_CHARACTERAMBIENT, m_cCharacterAmbient);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_CHARACTERLIGHT, m_cCharacterLight);
|
|
DDX_ColourPicker(pDX,IDC_COLOR_TERRAINCOLOR,m_cTerrainColor);
|
|
*/
|
|
|
|
|
|
void SetClearColor(color *ClearColor){m_ClearColor=ClearColor;};
|
|
|
|
void SetWeather(float fTime,LPDIRECT3DDEVICE8 pd3dDevice);
|
|
void Render(LPDIRECT3DDEVICE8 pd3dDevice);
|
|
void RenderEnv(LPDIRECT3DDEVICE8 pd3dDevice);
|
|
|
|
void Create();
|
|
CWeatherManager();
|
|
virtual ~CWeatherManager();
|
|
int GetSubWeatherNum(vector3 *vecPos);
|
|
CTexture *GetCurrentSubGrassTexture();
|
|
void SaveSub();
|
|
|
|
};
|
|
|
|
#endif // !defined(AFX_WEATHERMANAGER_H__61B8FDF0_B967_4933_A397_7839B82C6314__INCLUDED_)
|