diff options
author | Campbell Barton <ideasman42@gmail.com> | 2008-10-03 13:51:43 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2008-10-03 13:51:43 +0400 |
commit | df00a4b87853b276d6073b252ec66ff69d743971 (patch) | |
tree | f3a1286b0948381fe2564364fffc7122ac987c34 /source/blender/blenloader/intern | |
parent | ae63fcc905aa082aa7313b6393b3676deccdd1a1 (diff) |
interpreted request from Carsten - make message sensor work.
object message actuators needed the prefix OB when sending a message to a specific object.--This line, and those below, will be ignored--
M source/gameengine/Converter/KX_ConvertActuators.cpp
M source/blender/blenkernel/BKE_blender.h
M source/blender/src/buttons_logic.c
M source/blender/blenloader/intern/readfile.c
Diffstat (limited to 'source/blender/blenloader/intern')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index 5b4fd470e6e..25f9e179ca9 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7926,9 +7926,27 @@ static void do_versions(FileData *fd, Library *lib, Main *main) la->sky_exposure= 1.0f; } } + + /* BGE message actuators needed OB prefix, very confusing */ + if (main->versionfile < 247 || (main->versionfile == 247 && main->subversionfile < 10)) { + bActuator *act; + Object *ob; - - + for(ob = main->object.first; ob; ob= ob->id.next) { + for(act= ob->actuators.first; act; act= act->next) { + if (act->type == ACT_MESSAGE) { + bMessageActuator *msgAct = (bMessageActuator *) act->data; + if (strlen(msgAct->toPropName) > 2) { + /* strip first 2 chars, would have only worked if these were OB anyway */ + strncpy(msgAct->toPropName, msgAct->toPropName+2, sizeof(msgAct->toPropName)); + } else { + msgAct->toPropName[0] = '\0'; + } + } + } + } + } + /* WATCH IT!!!: pointers from libdata have not been converted yet here! */ /* WATCH IT 2!: Userdef struct init has to be in src/usiblender.c! */ |