I fail to understand why Blender thinks this is legit, but oh well...
Also, as a bonus, we no longer clobber values in the GoodNeighbor tracker.
I wonder how many bugs this will fix?
It tried to bake some stupid stuff before, eg objects with no materials.
The bug was related to items being removed from a list during a loop. This
has been corrected by looping backwards by index.
This idiotic change was introduced in stealth mode from 2.76 to 2.77. It has something to do with 3d textures, supposedly. I think the person who made this change is simply an asshat...
Ok, so, the exporter incorrectly assumed it created all plLayerAnimations.
In reality, nodes could create the plLayerAnimation first. If the material
exporter recreates the object, bad things happen, and an invalid
plLayerAnimation is added to the hsGMaterial. UruExplorer then goes
KABLOOEY!!!
Export all images right-side up. OpenGL flips them because fail, so we
have to do a bit of work to correct that. Thankfully, this operation is
not as slow as I thought.
NOTE TO SELF: remember, texture page updating would be nice to have...
Korlib will have two components: a python implementation in Korman and a
C++ "_korlib" module that will be insanely fast. Users will apreciate it,
and devs will be glad they don't have to compile the C version.
This allows us to ensure that a given NodeTree is only ever exported once.
A node reference acts as a way to attach a plMultiModifier to a
plSceneObject without using those terms. Things will work just fine if the
node reference isn't used, so as long as the entire tree is only used
once.
Future work: ensuring the whole logic tree is only ever exported once.
To ensure that there are really, really, REALLY no race conditions related
to coordinate interfaces, we now run through all modifiers before we
export and ask them if they need to make Coordinate Interfaces. I was
hearing some comments about clickables warping around. This sounds like
physical coordinate issues to me...