CFluidPlaneCPU: Early exit in CTurbulence constructor

Allows unindenting code.
This commit is contained in:
Lioncash 2020-05-12 16:58:27 -04:00
parent dc32bee499
commit 75494a501a
1 changed files with 22 additions and 20 deletions

View File

@ -25,27 +25,29 @@ CFluidPlaneCPU::CTurbulence::CTurbulence(float speed, float distance, float freq
, x1c_amplitudeMin(amplitudeMin)
, x2c_ooTurbSpeed(1.f / x0_speed)
, x30_ooTurbDistance(1.f / x4_distance) {
if (x18_amplitudeMax != 0.f || x1c_amplitudeMin != 0.f) {
x24_tableCount = kTableSize;
x28_heightSelPitch = x24_tableCount;
x20_table.reset(new float[x24_tableCount]);
const float anglePitch = 2.f * M_PIF / x28_heightSelPitch;
const float freqConstant = 0.5f * (x8_freqMax + xc_freqMin);
const float freqLinear = 0.5f * (x8_freqMax - xc_freqMin);
const float phaseConstant = 0.5f * (x10_phaseMax + x14_phaseMin);
const float phaseLinear = 0.5f * (x10_phaseMax - x14_phaseMin);
const float amplitudeConstant = 0.5f * (x18_amplitudeMax + x1c_amplitudeMin);
const float amplitudeLinear = 0.5f * (x18_amplitudeMax - x1c_amplitudeMin);
float curAng = 0.f;
for (size_t i = 0; i < x24_tableCount; ++i, curAng += anglePitch) {
const float angCos = std::cos(curAng);
x20_table[i] = (amplitudeLinear * angCos + amplitudeConstant) *
std::sin((freqLinear * angCos + freqConstant) * curAng + (phaseLinear * angCos + phaseConstant));
}
x34_hasTurbulence = true;
if (x18_amplitudeMax == 0.f && x1c_amplitudeMin == 0.f) {
return;
}
x24_tableCount = kTableSize;
x28_heightSelPitch = x24_tableCount;
x20_table.reset(new float[x24_tableCount]);
const float anglePitch = 2.f * M_PIF / x28_heightSelPitch;
const float freqConstant = 0.5f * (x8_freqMax + xc_freqMin);
const float freqLinear = 0.5f * (x8_freqMax - xc_freqMin);
const float phaseConstant = 0.5f * (x10_phaseMax + x14_phaseMin);
const float phaseLinear = 0.5f * (x10_phaseMax - x14_phaseMin);
const float amplitudeConstant = 0.5f * (x18_amplitudeMax + x1c_amplitudeMin);
const float amplitudeLinear = 0.5f * (x18_amplitudeMax - x1c_amplitudeMin);
float curAng = 0.f;
for (size_t i = 0; i < x24_tableCount; ++i, curAng += anglePitch) {
const float angCos = std::cos(curAng);
x20_table[i] = (amplitudeLinear * angCos + amplitudeConstant) *
std::sin((freqLinear * angCos + freqConstant) * curAng + (phaseLinear * angCos + phaseConstant));
}
x34_hasTurbulence = true;
}
CFluidPlaneCPU::CFluidPlaneCPU(CAssetId texPattern1, CAssetId texPattern2, CAssetId texColor, CAssetId bumpMap,