summaryrefslogtreecommitdiff
path: root/src/render/Timecycle.h
blob: ad079a95f36c8a2cf495e7d03c17595a4bb5360c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
#pragma once

class CTimeCycle
{
	static uint8 m_nAmbientRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientRed_Obj[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientGreen_Obj[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientBlue_Obj[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientRed_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientGreen_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientBlue_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientRed_Obj_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientGreen_Obj_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nAmbientBlue_Obj_Bl[NUMHOURS][NUMWEATHERS];
	static uint8 m_nDirectionalRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nDirectionalGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nDirectionalBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyTopRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyTopGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyTopBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyBottomRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyBottomGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSkyBottomBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoreRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoreGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoreBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoronaRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoronaGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nSunCoronaBlue[NUMHOURS][NUMWEATHERS];
	static int8 m_fSunSize[NUMHOURS][NUMWEATHERS];
	static int8 m_fSpriteSize[NUMHOURS][NUMWEATHERS];
	static int8 m_fSpriteBrightness[NUMHOURS][NUMWEATHERS];
	static uint8 m_nShadowStrength[NUMHOURS][NUMWEATHERS];
	static uint8 m_nLightShadowStrength[NUMHOURS][NUMWEATHERS];
	static uint8 m_nPoleShadowStrength[NUMHOURS][NUMWEATHERS];
	static int16 m_fFogStart[NUMHOURS][NUMWEATHERS];
	static int16 m_fFarClip[NUMHOURS][NUMWEATHERS];
	static uint8 m_fLightsOnGroundBrightness[NUMHOURS][NUMWEATHERS];
	static uint8 m_nLowCloudsRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nLowCloudsGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nLowCloudsBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsTopRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsTopGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsTopBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsBottomRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsBottomGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_nFluffyCloudsBottomBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_fBlurRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_fBlurGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_fBlurBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_fWaterRed[NUMHOURS][NUMWEATHERS];
	static uint8 m_fWaterGreen[NUMHOURS][NUMWEATHERS];
	static uint8 m_fWaterBlue[NUMHOURS][NUMWEATHERS];
	static uint8 m_fWaterAlpha[NUMHOURS][NUMWEATHERS];

	static float m_fCurrentAmbientRed;
	static float m_fCurrentAmbientGreen;
	static float m_fCurrentAmbientBlue;
	static float m_fCurrentAmbientRed_Obj;
	static float m_fCurrentAmbientGreen_Obj;
	static float m_fCurrentAmbientBlue_Obj;
	static float m_fCurrentAmbientRed_Bl;
	static float m_fCurrentAmbientGreen_Bl;
	static float m_fCurrentAmbientBlue_Bl;
	static float m_fCurrentAmbientRed_Obj_Bl;
	static float m_fCurrentAmbientGreen_Obj_Bl;
	static float m_fCurrentAmbientBlue_Obj_Bl;
	static float m_fCurrentDirectionalRed;
	static float m_fCurrentDirectionalGreen;
	static float m_fCurrentDirectionalBlue;
	static int32 m_nCurrentSkyTopRed;
	static int32 m_nCurrentSkyTopGreen;
	static int32 m_nCurrentSkyTopBlue;
	static int32 m_nCurrentSkyBottomRed;
	static int32 m_nCurrentSkyBottomGreen;
	static int32 m_nCurrentSkyBottomBlue;
	static int32 m_nCurrentSunCoreRed;
	static int32 m_nCurrentSunCoreGreen;
	static int32 m_nCurrentSunCoreBlue;
	static int32 m_nCurrentSunCoronaRed;
	static int32 m_nCurrentSunCoronaGreen;
	static int32 m_nCurrentSunCoronaBlue;
	static float m_fCurrentSunSize;
	static float m_fCurrentSpriteSize;
	static float m_fCurrentSpriteBrightness;
	static int32 m_nCurrentShadowStrength;
	static int32 m_nCurrentLightShadowStrength;
	static int32 m_nCurrentPoleShadowStrength;
	static float m_fCurrentFogStart;
	static float m_fCurrentFarClip;
	static float m_fCurrentLightsOnGroundBrightness;
	static int32 m_nCurrentLowCloudsRed;
	static int32 m_nCurrentLowCloudsGreen;
	static int32 m_nCurrentLowCloudsBlue;
	static int32 m_nCurrentFluffyCloudsTopRed;
	static int32 m_nCurrentFluffyCloudsTopGreen;
	static int32 m_nCurrentFluffyCloudsTopBlue;
	static int32 m_nCurrentFluffyCloudsBottomRed;
	static int32 m_nCurrentFluffyCloudsBottomGreen;
	static int32 m_nCurrentFluffyCloudsBottomBlue;
	static float m_fCurrentBlurRed;
	static float m_fCurrentBlurGreen;
	static float m_fCurrentBlurBlue;
	static float m_fCurrentWaterRed;
	static float m_fCurrentWaterGreen;
	static float m_fCurrentWaterBlue;
	static float m_fCurrentWaterAlpha;
	static int32 m_nCurrentFogColourRed;
	static int32 m_nCurrentFogColourGreen;
	static int32 m_nCurrentFogColourBlue;

	static int32 m_FogReduction;

public:
	static bool m_bExtraColourOn;
	static int32 m_ExtraColour;
	static float m_ExtraColourInter;
	static int32 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; }
	static float GetAmbientBlue(void) { return m_fCurrentAmbientBlue; }
	static float GetAmbientRed_Obj(void) { return m_fCurrentAmbientRed_Obj; }
	static float GetAmbientGreen_Obj(void) { return m_fCurrentAmbientGreen_Obj; }
	static float GetAmbientBlue_Obj(void) { return m_fCurrentAmbientBlue_Obj; }
	static float GetAmbientRed_Bl(void) { return m_fCurrentAmbientRed_Bl; }
	static float GetAmbientGreen_Bl(void) { return m_fCurrentAmbientGreen_Bl; }
	static float GetAmbientBlue_Bl(void) { return m_fCurrentAmbientBlue_Bl; }
	static float GetAmbientRed_Obj_Bl(void) { return m_fCurrentAmbientRed_Obj_Bl; }
	static float GetAmbientGreen_Obj_Bl(void) { return m_fCurrentAmbientGreen_Obj_Bl; }
	static float GetAmbientBlue_Obj_Bl(void) { return m_fCurrentAmbientBlue_Obj_Bl; }
	static float GetDirectionalRed(void) { return m_fCurrentDirectionalRed; }
	static float GetDirectionalGreen(void) { return m_fCurrentDirectionalGreen; }
	static float GetDirectionalBlue(void) { return m_fCurrentDirectionalBlue; }
	static int32 GetSkyTopRed(void) { return m_nCurrentSkyTopRed; }
	static int32 GetSkyTopGreen(void) { return m_nCurrentSkyTopGreen; }
	static int32 GetSkyTopBlue(void) { return m_nCurrentSkyTopBlue; }
	static int32 GetSkyBottomRed(void) { return m_nCurrentSkyBottomRed; }
	static int32 GetSkyBottomGreen(void) { return m_nCurrentSkyBottomGreen; }
	static int32 GetSkyBottomBlue(void) { return m_nCurrentSkyBottomBlue; }
	static int32 GetSunCoreRed(void) { return m_nCurrentSunCoreRed; }
	static int32 GetSunCoreGreen(void) { return m_nCurrentSunCoreGreen; }
	static int32 GetSunCoreBlue(void) { return m_nCurrentSunCoreBlue; }
	static int32 GetSunCoronaRed(void) { return m_nCurrentSunCoronaRed; }
	static int32 GetSunCoronaGreen(void) { return m_nCurrentSunCoronaGreen; }
	static int32 GetSunCoronaBlue(void) { return m_nCurrentSunCoronaBlue; }
	static float GetSunSize(void) { return m_fCurrentSunSize; }
	static float GetSpriteBrightness(void) { return m_fCurrentSpriteBrightness; }
	static float GetSpriteSize(void) { return m_fCurrentSpriteSize; }
	static int32 GetShadowStrength(void) { return m_nCurrentShadowStrength; }
	static int32 GetLightShadowStrength(void) { return m_nCurrentLightShadowStrength; }
	static float GetLightOnGroundBrightness(void) { return m_fCurrentLightsOnGroundBrightness; }
	static float GetFarClip(void) { return m_fCurrentFarClip; }
	static float GetFogStart(void) { return m_fCurrentFogStart; }

	static int32 GetLowCloudsRed(void) { return m_nCurrentLowCloudsRed; }
	static int32 GetLowCloudsGreen(void) { return m_nCurrentLowCloudsGreen; }
	static int32 GetLowCloudsBlue(void) { return m_nCurrentLowCloudsBlue; }
	static int32 GetFluffyCloudsTopRed(void) { return m_nCurrentFluffyCloudsTopRed; }
	static int32 GetFluffyCloudsTopGreen(void) { return m_nCurrentFluffyCloudsTopGreen; }
	static int32 GetFluffyCloudsTopBlue(void) { return m_nCurrentFluffyCloudsTopBlue; }
	static int32 GetFluffyCloudsBottomRed(void) { return m_nCurrentFluffyCloudsBottomRed; }
	static int32 GetFluffyCloudsBottomGreen(void) { return m_nCurrentFluffyCloudsBottomGreen; }
	static int32 GetFluffyCloudsBottomBlue(void) { return m_nCurrentFluffyCloudsBottomBlue; }
	static int32 GetFogRed(void) { return m_nCurrentFogColourRed; }
	static int32 GetFogGreen(void) { return m_nCurrentFogColourGreen; }
	static int32 GetFogBlue(void) { return m_nCurrentFogColourBlue; }
	static int32 GetFogReduction(void) { return m_FogReduction; }

	static int32 GetBlurRed(void) { return m_fCurrentBlurRed; }
	static int32 GetBlurGreen(void) { return m_fCurrentBlurGreen; }
	static int32 GetBlurBlue(void) { return m_fCurrentBlurBlue; }
	static int32 GetWaterRed(void) { return m_fCurrentWaterRed; }
	static int32 GetWaterGreen(void) { return m_fCurrentWaterGreen; }
	static int32 GetWaterBlue(void) { return m_fCurrentWaterBlue; }
	static int32 GetWaterAlpha(void) { return m_fCurrentWaterAlpha; }

	static void Initialise(void);
	static void Update(void);
	static float Interpolate(int8 *a, int8 *b);
	static float Interpolate(uint8 *a, uint8 *b);
	static float Interpolate(int16 *a, int16 *b);
	static void StartExtraColour(int32 c, bool fade);
	static void StopExtraColour(bool fade);
	static CVector &GetSunDirection(void) { return m_VectorToSun[m_CurrentStoredValue]; }
	static float GetShadowFrontX(void) { return m_fShadowFrontX[m_CurrentStoredValue]; }
	static float GetShadowFrontY(void) { return m_fShadowFrontY[m_CurrentStoredValue]; }
	static float GetShadowSideX(void) { return m_fShadowSideX[m_CurrentStoredValue]; }
	static float GetShadowSideY(void) { return m_fShadowSideY[m_CurrentStoredValue]; }
	static float GetShadowDisplacementX(void) { return m_fShadowDisplacementX[m_CurrentStoredValue]; }
	static float GetShadowDisplacementY(void) { return m_fShadowDisplacementY[m_CurrentStoredValue]; }
};