diff options
Diffstat (limited to 'source/gameengine')
-rw-r--r-- | source/gameengine/Converter/KX_ConvertActuators.cpp | 2 | ||||
-rw-r--r-- | source/gameengine/Converter/KX_ConvertControllers.cpp | 2 | ||||
-rw-r--r-- | source/gameengine/Converter/KX_ConvertSensors.cpp | 24 |
3 files changed, 16 insertions, 12 deletions
diff --git a/source/gameengine/Converter/KX_ConvertActuators.cpp b/source/gameengine/Converter/KX_ConvertActuators.cpp index 725e9815a67..d7578c3f03f 100644 --- a/source/gameengine/Converter/KX_ConvertActuators.cpp +++ b/source/gameengine/Converter/KX_ConvertActuators.cpp @@ -1106,7 +1106,7 @@ void BL_ConvertActuators(const char* maggiename, ; /* generate some error */ } - if (baseact) + if (baseact && !(bact->flag & ACT_DEACTIVATE)) { baseact->SetExecutePriority(executePriority++); uniquename += "#ACT#"; diff --git a/source/gameengine/Converter/KX_ConvertControllers.cpp b/source/gameengine/Converter/KX_ConvertControllers.cpp index ab5f1611cb9..cd7a560edad 100644 --- a/source/gameengine/Converter/KX_ConvertControllers.cpp +++ b/source/gameengine/Converter/KX_ConvertControllers.cpp @@ -197,7 +197,7 @@ void BL_ConvertControllers( } } - if (gamecontroller) + if (gamecontroller && !(bcontr->flag & CONT_DEACTIVATE)) { LinkControllerToActuators(gamecontroller,bcontr,logicmgr,converter); gamecontroller->SetExecutePriority(executePriority++); diff --git a/source/gameengine/Converter/KX_ConvertSensors.cpp b/source/gameengine/Converter/KX_ConvertSensors.cpp index 2e2ebda47e2..6ab382f7956 100644 --- a/source/gameengine/Converter/KX_ConvertSensors.cpp +++ b/source/gameengine/Converter/KX_ConvertSensors.cpp @@ -49,6 +49,7 @@ #include "DNA_object_types.h" #include "DNA_material_types.h" #include "DNA_sensor_types.h" +#include "DNA_controller_types.h" #include "DNA_actuator_types.h" /* for SENS_ALL_KEYS ? this define is * probably misplaced */ /* end of blender include block */ @@ -575,7 +576,7 @@ void BL_ConvertSensors(struct Object* blenderobject, } } - if (gamesensor) + if (gamesensor && !(sens->flag & SENS_DEACTIVATE)) { gamesensor->SetExecutePriority(executePriority++); STR_String uniquename = sens->name; @@ -606,16 +607,19 @@ void BL_ConvertSensors(struct Object* blenderobject, { bController* linkedcont = (bController*) sens->links[i]; if (linkedcont) { - SCA_IController* gamecont = converter->FindGameController(linkedcont); + // If the controller is deactived doesn't register it + if (!(linkedcont->flag & CONT_DEACTIVATE)) { + SCA_IController* gamecont = converter->FindGameController(linkedcont); - if (gamecont) { - logicmgr->RegisterToSensor(gamecont,gamesensor); - } - else { - printf("Warning, sensor \"%s\" could not find its controller " - "(link %d of %d) from object \"%s\"\n" - "\tthere has been an error converting the blender controller for the game engine," - "logic may be incorrect\n", sens->name, i+1, sens->totlinks, blenderobject->id.name+2); + if (gamecont) { + logicmgr->RegisterToSensor(gamecont,gamesensor); + } + else { + printf("Warning, sensor \"%s\" could not find its controller " + "(link %d of %d) from object \"%s\"\n" + "\tthere has been an error converting the blender controller for the game engine," + "logic may be incorrect\n", sens->name, i+1, sens->totlinks, blenderobject->id.name+2); + } } } else { |