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...
This makes sense because the pages to export checkboxes are here. The
export modal should be sort of a "last-chance" settings thing... not
actual core settings.
Plasma assumes that any non-root level plCompoundController cannot have
any null subcontrollers. So, we now attempt to export leaf controllers
where possible, instead of compounds. This is hindered by the fact that
Blender loves bezier interpolation.
- Add an opacity value for exported layer.
- Add a conversion button in the toolbar for old PyPRP Ages
which used the diffuse color factor as the opacity value.
After discussion in #writers IRC and observing how Blender's image
environment maps work, it makes more sense to rely on our superior
implementation of dynamic maps.
This means we now export BOTH plDyanmicEnvMap and plDynamicCamMap. The
latter will only be exported on MOUL+, sadly. The former is "cube" mapping
and the latter is "plane" mapping. Instead of manually specifying the
refresh rate, I decided that Blender's "static" option means that it only
refreshes once (and never again) and animated means we refresh every 0.01
second, which seems to be the Cyan standard for "update every frame, blast
it!" NOTE: when cameras are exporting, we need to support Camera based
DCMs.
Static image based CEMs coming soon...