Merge pull request #210 from Azaezel/alpha40_spotlightBoundsFix

adress #162 based on work by Chad Hall
This commit is contained in:
Brian Roberts 2020-06-20 05:29:47 -05:00 committed by GitHub
commit f6cedc8043
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 35 additions and 3 deletions

View file

@ -134,9 +134,18 @@ void SpotLight::_conformLights()
// Update the bounds and scale to fit our spotlight.
F32 radius = mRange * mSin( mDegToRad( mOuterConeAngle ) * 0.5f );
mObjBox.minExtents.set( -1, 0, -1 );
mObjBox.maxExtents.set( 1, 1, 1 );
mObjScale.set( radius, mRange, radius );
Point3F objectScale(radius, mRange, radius);
Point3F objectBoxMin(-1, 0, -1);
if (mAnimationData && mAnimationData->mRot.keyLen > 0)
{
objectBoxMin.set(-1, -1, -1);
objectScale.set(mRange, mRange, mRange);
}
mObjBox.minExtents.set(objectBoxMin);
mObjBox.maxExtents.set(1, 1, 1);
mObjScale.set(objectScale);
// Skip our transform... it just dirties mask bits.
Parent::setTransform( mObjToWorld );

View file

@ -146,3 +146,26 @@ datablock CameraData(Observer)
{
mode = "Observer";
};
datablock LightAnimData( NullLightAnim )
{
animEnabled = false;
};
datablock LightAnimData( PulseLightAnim )
{
brightnessA = 0;
brightnessZ = 1;
brightnessPeriod = 1;
brightnessKeys = "aza";
brightnessSmooth = true;
};
datablock LightAnimData( SpinLightAnim )
{
rotA[2] = "0";
rotZ[2] = "360";
rotPeriod[2] = "1";
rotKeys[2] = "az";
rotSmooth[2] = true;
};