Browse Source

Merge pull request #432 from Hoikas/fix_423

Add mitigations for #423.
pull/422/merge
Adam Johnson 2 months ago committed by GitHub
parent
commit
83ada7cbf8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 4
      korman/exporter/camera.py
  2. 2
      korman/exporter/material.py

4
korman/exporter/camera.py

@ -97,6 +97,10 @@ class CameraConverter:
continue continue
cam_trans = plCameraModifier.CamTrans() cam_trans = plCameraModifier.CamTrans()
if manual_trans.camera: if manual_trans.camera:
# Don't even bother if a disabled camera is referenced. If we export camera modifier
# for a disabled camera, then it won't get a brain, and the client will crash.
if not manual_trans.camera.plasma_object.enabled:
continue
cam_trans.transTo = self._mgr.find_create_key(plCameraModifier, bl=manual_trans.camera) cam_trans.transTo = self._mgr.find_create_key(plCameraModifier, bl=manual_trans.camera)
cam_trans.ignore = manual_trans.mode == "ignore" cam_trans.ignore = manual_trans.mode == "ignore"

2
korman/exporter/material.py

@ -770,6 +770,8 @@ class MaterialConverter:
# least a SceneObject and CoordInterface so that we can touch it... # least a SceneObject and CoordInterface so that we can touch it...
# NOTE: that harvest_actor makes sure everyone alread knows we're going to have a CI # NOTE: that harvest_actor makes sure everyone alread knows we're going to have a CI
if isinstance(viewpt.data, bpy.types.Camera): if isinstance(viewpt.data, bpy.types.Camera):
if not viewpt.plasma_object.enabled:
raise ExportError(f"DynamicCamMap '{texture.name} wants to use the camera '{viewpt.name}', but it is not a Plasma Object!")
pl_env.camera = self._mgr.find_create_key(plCameraModifier, bl=viewpt) pl_env.camera = self._mgr.find_create_key(plCameraModifier, bl=viewpt)
else: else:
pl_env.rootNode = self._mgr.find_create_key(plSceneObject, bl=viewpt) pl_env.rootNode = self._mgr.find_create_key(plSceneObject, bl=viewpt)

Loading…
Cancel
Save