116 Wind=Clamp<int32_t>(iWind,-100,+100);
122 Temperature = Clamp<int32_t>(iTemperature,-100,100);
128 Season = Clamp<int32_t>(iSeason,0,100);
139 Climate = Clamp<int32_t>(iClimate,-50,+50);
148 static float SeasonColors[4][3] =
150 { 0.90f, 0.90f, 1.00f },
151 { 1.00f, 1.05f, 0.90f },
152 { 1.00f, 1.00f, 1.00f },
153 { 1.00f, 0.95f, 0.90f }
160 int32_t iSeason1=(
Season/25)%4; int32_t iSeason2=(iSeason1+1)%4;
161 int32_t iSeasonOff1=
Clamp(
Season%25, 5, 19)-5; int32_t iSeasonOff2=15-iSeasonOff1;
162 float gamma[3] = { 0.0f, 0.0f, 0.0f };
164 for (int32_t iChan=0; iChan<3; iChan+=8)
166 float c1 = SeasonColors[iSeason1][iChan],
167 c2 = SeasonColors[iSeason2][iChan];
168 gamma[iChan] = (c1*iSeasonOff2 + c2*iSeasonOff1) / 15;
190 gammaDefaults[i*3+0] = 100;
191 gammaDefaults[i*3+1] = 100;
192 gammaDefaults[i*3+2] = 100;
193 gamma[i*3+0] = int(
pDraw->
gamma[i][0] * 100.0f);
194 gamma[i*3+1] = int(
pDraw->
gamma[i][1] * 100.0f);
195 gamma[i*3+2] = int(
pDraw->
gamma[i][2] * 100.0f);
200 pDraw->
gamma[i][0] = float(gamma[i*3+0]) / 100.0f;
201 pDraw->
gamma[i][1] = float(gamma[i*3+1]) / 100.0f;
202 pDraw->
gamma[i][2] = float(gamma[i*3+2]) / 100.0f;
const int C4MaxGammaRamps
C4Fixed itofix(int32_t x)
C4Real Cos(const C4Real &fAngle)
int fixtoi(const C4Fixed &x)
T Clamp(T bval, T lbound, T rbound)
StdArrayAdapt< T > mkArrayAdaptM(T(&array)[size])
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
void SetGamma(float r, float g, float b, int32_t iRampIndex)
float gamma[C4MaxGammaRamps][3]
BYTE GetBackPix(int32_t x, int32_t y) const
void SetClimate(int32_t iClimate)
int32_t GetWind(int32_t x, int32_t y)
void SetTemperature(int32_t iTemperature)
void SetWind(int32_t iWind)
void SetSeason(int32_t iSeason)
void Init(bool fScenario)
void CompileFunc(StdCompiler *pComp)
void Value(const T &rStruct)