Somewhere around Blender 2.75, the SCONS build system was removed and
CMake reigned supreme. The installer was of course changed to a Windows
Installer generated by CPack. Unfortunately for us, the registry keys
changed. Windows Installer's registry stuff sucks, but this is the
easiest way for us to get at it.
We're only a BlendSpan if the *first* layer of a material has a blend.
Other layers are permitted to have blend modes, because those don't
affect the blending of the span itself against other spans.
This matches the behaviour of PlasmaMax:
42c4acbc9d/Sources/Tools/MaxConvert/plMeshConverter.cpp (L1205-L1210)
If certain modifiers are applied during the bake process, the resulting
lightmap is fullbright. To solve this, we cache the modifier data, clear
them away, then bake. When the export is completed, we then restore the
modifiers.
Generating lightmap previews in edit mode is nonsense. Also, there is
some issue in blender with changing the image assignment programatically
while in edit mode, so it's best to just disallow this entirely.
Parses and loads the PFM arguments into accessible properties, used
by numeric nodes for range, dropdown nodes for enums, etc.
Also moves PlasmaAttribDropDownListNode into its proper alphabetical
position.
Refraction Xform causes the camera movement to affect the resulting
output differently, leading to an envmap that seems to run around the
object in the opposite direction as you turn.
Reflection Xform keeps it much more steady, and also matches what
PlasmaMax outputs by default (they have a checkbox to use Refract mode).
This was not completely converted to the new ID Property scheme, it
appears. We have to use an intermediate string property so we can have
get/set callbacks. :(
This actually inspects the old style page_num property and will put the
objects into the correct page if the page has been created by the
artist. Fancy.