diff options
author | coyot@coyot-sager-PC <coyot@coyot-sager-PC> | 2017-03-16 22:21:49 +0100 |
---|---|---|
committer | coyot@coyot-sager-PC <coyot@coyot-sager-PC> | 2017-03-16 22:21:49 +0100 |
commit | fc56311ebf05d6d6c155e097bffbff9feb0c411f (patch) | |
tree | 56445b8c652b930dfc4cec7efe51d934d151eafb /indra/newview/llwlanimator.cpp | |
parent | 3a3da6e4a76859f32dc36491fde2992e92ae57b5 (diff) | |
parent | d7f5122ee9e12b5aec14b15517c3a4c0021544ce (diff) |
pull from viewer64 gate
Diffstat (limited to 'indra/newview/llwlanimator.cpp')
-rw-r--r-- | indra/newview/llwlanimator.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/indra/newview/llwlanimator.cpp b/indra/newview/llwlanimator.cpp index 2142885767..c8879e73eb 100644 --- a/indra/newview/llwlanimator.cpp +++ b/indra/newview/llwlanimator.cpp @@ -155,17 +155,28 @@ F64 LLWLAnimator::getDayTime() // we're not solving the non-linear equation that determines sun phase // we're just linearly interpolating between the major points - if (phase <= 5.0 / 4.0) { + + if (phase <= 5.0 / 4.0) + { + // mDayTime from 0.33 to 0.75 (6:00 to 21:00) mDayTime = (1.0 / 3.0) * phase + (1.0 / 3.0); } + else if (phase > 7.0 / 4.0) + { + // maximum value for phase is 2 + // mDayTime from 0.25 to 0.33 (3:00 to 6:00) + mDayTime = (1.0 / 3.0) - (1.0 / 3.0) * (2 - phase); + } else { + // phase == 3/2 is where day restarts (24:00) + // mDayTime from 0.75 to 0.999 and 0 to 0.25 (21:00 to 03:00) mDayTime = phase - (1.0 / 2.0); - } - if(mDayTime > 1) - { - mDayTime--; + if(mDayTime > 1) + { + mDayTime--; + } } return mDayTime; |