1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-01-26 09:35:28 +00:00

Adjust magic light source linear attenuation (bug #3890)

This commit is contained in:
Capostrophic 2018-10-27 01:25:16 +03:00
parent 3ead33814f
commit 4873d33642
2 changed files with 9 additions and 4 deletions

View File

@ -33,6 +33,7 @@
Bug #3788: GetPCInJail and GetPCTraveling do not work as in vanilla
Bug #3836: Script fails to compile when command argument contains "\n"
Bug #3876: Landscape texture painting is misaligned
Bug #3890: Magic light source attenuation is inaccurate
Bug #3897: Have Goodbye give all choices the effects of Goodbye
Bug #3911: [macOS] Typing in the "Content List name" dialog box produces double characters
Bug #3920: RemoveSpellEffects doesn't remove constant effects

View File

@ -1789,9 +1789,12 @@ namespace MWRender
}
else
{
effect += 3;
float radius = effect * 66.f;
float linearAttenuation = 0.5f / effect;
// TODO: use global attenuation settings
// 1 pt of Light effect magnitude corresponds to 1 foot of light source radius, which is about 21.33 game units,
// but Morrowind uses imprecise value of foot for magic effects.
float radius = effect * 22.f;
float linearAttenuation = 3.f / radius;
if (!mGlowLight || linearAttenuation != mGlowLight->getLight(0)->getLinearAttenuation())
{
@ -1813,7 +1816,8 @@ namespace MWRender
mGlowLight->setLight(light);
}
mGlowLight->setRadius(radius);
// Make the obvious cut-off a bit less obvious
mGlowLight->setRadius(radius * 3);
}
}