From 8d3d931f6a6401b44a23357839f498fdb7f24e36 Mon Sep 17 00:00:00 2001 From: Porteries Tristan Date: Thu, 29 Oct 2015 12:05:06 +0100 Subject: BGE: Fix T46338 replace mesh from an other scene. To make consistent with KX_GameObject.replaceMesh, we don't allow this behavior but print an error message for the replace mesh actuator. e.g : Warning: object "Cube" from ReplaceMesh actuator "Edit Object" uses a mesh not owned by an object in scene "scene1" Reviewers: youle. --- source/gameengine/Converter/KX_ConvertActuators.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp index 3347255f6f6..12bfb11032b 100644 --- a/source/gameengine/Converter/KX_ConvertActuators.cpp +++ b/source/gameengine/Converter/KX_ConvertActuators.cpp @@ -505,6 +505,13 @@ void BL_ConvertActuators(const char* maggiename, { RAS_MeshObject *tmpmesh = converter->FindGameMesh(editobact->me); + if (!tmpmesh) { + std::cout << "Warning: object \"" << objectname << + "\" from ReplaceMesh actuator \"" << uniquename << + "\" uses a mesh not owned by an object in scene \"" << + scene->GetName() << "\"." << std::endl; + } + KX_SCA_ReplaceMeshActuator* tmpreplaceact = new KX_SCA_ReplaceMeshActuator( gameobj, tmpmesh, -- cgit v1.2.3