diff options
author | Daniel Genrich <daniel.genrich@gmx.net> | 2008-10-12 16:17:57 +0400 |
---|---|---|
committer | Daniel Genrich <daniel.genrich@gmx.net> | 2008-10-12 16:17:57 +0400 |
commit | 2211b46084f4dc965f66649f01fcda69150225e8 (patch) | |
tree | 02c438d2f6af568949dc9badaf266df2e84fa1c2 /source/blender/blenloader/intern/readfile.c | |
parent | 21075b1a17b901a104efd1a8cb47241947942ffd (diff) | |
parent | f8d60578086e0405d56244b783d966c3d872b21a (diff) |
svn merge -r 16866:17042 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-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 249459bf3a4..3cae5fe4972 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -7963,9 +7963,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! */ |