Compare commits

..

No commits in common. '5fcbb992447d56be2ffbe10a41404d2a82e4947f' and '9244d3abc7995a583a780c1908632dd5607ca31e' have entirely different histories.

  1. 4
      korman/exporter/manager.py
  2. 8
      korman/nodes/node_python.py
  3. 1
      korman/properties/modifiers/logic.py

4
korman/exporter/manager.py

@ -36,7 +36,7 @@ _pool_types = (
plFactory.ClassIndex("plDynaRippleMgr"), plFactory.ClassIndex("plDynaRippleMgr"),
plFactory.ClassIndex("plDynaBulletMgr"), plFactory.ClassIndex("plDynaBulletMgr"),
plFactory.ClassIndex("plDynaPuddleMgr"), plFactory.ClassIndex("plDynaPuddleMgr"),
#plFactory.ClassIndex("plATCAnim"), # Only Avatar Animations need to be pool objects plFactory.ClassIndex("plATCAnim"),
plFactory.ClassIndex("plEmoteAnim"), plFactory.ClassIndex("plEmoteAnim"),
plFactory.ClassIndex("plDynaRippleVSMgr"), plFactory.ClassIndex("plDynaRippleVSMgr"),
plFactory.ClassIndex("plDynaTorpedoMgr"), plFactory.ClassIndex("plDynaTorpedoMgr"),
@ -256,7 +256,7 @@ class ExportManager:
key = self._keys.get((location, pClass, name), None) key = self._keys.get((location, pClass, name), None)
if key is not None and so is not None: if key is not None and so is not None:
# Purposefully not checking for plObjInterface -- they should never be shared. # Purposefully not checking for plObjInterface -- they should never be shared.
if issubclass(pClass, plModifier) and plFactory.ClassIndex(pClass.__name__) not in _pool_types: if issubclass(pClass, plModifier):
if key not in so.modifiers: if key not in so.modifiers:
# We really shouldn't add plSingleModifiers to multiple objects. This may # We really shouldn't add plSingleModifiers to multiple objects. This may
# potentially cause URU to crash. I'm uncertain though, so we'll just warn # potentially cause URU to crash. I'm uncertain though, so we'll just warn

8
korman/nodes/node_python.py

@ -751,10 +751,10 @@ class PlasmaAttribObjectNode(idprops.IDPropObjectMixin, PlasmaAttribNodeBase, bp
layout.prop(self, "target_object", text=self.attribute_name) layout.prop(self, "target_object", text=self.attribute_name)
def get_key(self, exporter, so): def get_key(self, exporter, so):
attrib_socket = self.to_socket attrib = self.to_socket
if attrib_socket is None: if attrib is None:
self.raise_error("must be connected to a Python File node!") self.raise_error("must be connected to a Python File node!")
attrib = attrib_socket.attribute_type attrib = attrib.attribute_type
bo = self.target_object bo = self.target_object
if bo is None: if bo is None:
@ -788,7 +788,7 @@ class PlasmaAttribObjectNode(idprops.IDPropObjectMixin, PlasmaAttribNodeBase, bp
if not gui_dialog.enabled: if not gui_dialog.enabled:
self.raise_error(f"GUI Dialog modifier not enabled on '{self.object_name}'") self.raise_error(f"GUI Dialog modifier not enabled on '{self.object_name}'")
dialog_mod = exporter.mgr.find_create_object(pfGUIDialogMod, so=ref_so, bl=bo) dialog_mod = exporter.mgr.find_create_object(pfGUIDialogMod, so=ref_so, bl=bo)
dialog_mod.procReceiver = attrib_socket.node.get_key(exporter, so) dialog_mod.procReceiver = attrib.node.get_key(exporter, so)
return dialog_mod.key return dialog_mod.key
@classmethod @classmethod

1
korman/properties/modifiers/logic.py

@ -57,7 +57,6 @@ class PlasmaVersionedNodeTree(idprops.IDPropMixin, bpy.types.PropertyGroup):
class PlasmaAdvancedLogic(PlasmaModifierProperties): class PlasmaAdvancedLogic(PlasmaModifierProperties):
pl_id = "advanced_logic" pl_id = "advanced_logic"
pl_page_types = {"gui", "room"}
bl_category = "Logic" bl_category = "Logic"
bl_label = "Advanced" bl_label = "Advanced"

Loading…
Cancel
Save