[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16896] trunk/blender/source: interpreted request from Carsten - make message sensor work.
Campbell Barton
ideasman42 at gmail.com
Fri Oct 3 11:51:50 CEST 2008
Revision: 16896
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16896
Author: campbellbarton
Date: 2008-10-03 11:51:43 +0200 (Fri, 03 Oct 2008)
Log Message:
-----------
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
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/BKE_blender.h
trunk/blender/source/blender/blenloader/intern/readfile.c
trunk/blender/source/blender/src/buttons_logic.c
trunk/blender/source/gameengine/Converter/KX_ConvertActuators.cpp
Modified: trunk/blender/source/blender/blenkernel/BKE_blender.h
===================================================================
--- trunk/blender/source/blender/blenkernel/BKE_blender.h 2008-10-03 09:40:48 UTC (rev 16895)
+++ trunk/blender/source/blender/blenkernel/BKE_blender.h 2008-10-03 09:51:43 UTC (rev 16896)
@@ -41,7 +41,7 @@
struct MemFile;
#define BLENDER_VERSION 247
-#define BLENDER_SUBVERSION 9
+#define BLENDER_SUBVERSION 10
#define BLENDER_MINVERSION 245
#define BLENDER_MINSUBVERSION 15
Modified: trunk/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- trunk/blender/source/blender/blenloader/intern/readfile.c 2008-10-03 09:40:48 UTC (rev 16895)
+++ trunk/blender/source/blender/blenloader/intern/readfile.c 2008-10-03 09:51:43 UTC (rev 16896)
@@ -7926,9 +7926,27 @@
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! */
Modified: trunk/blender/source/blender/src/buttons_logic.c
===================================================================
--- trunk/blender/source/blender/src/buttons_logic.c 2008-10-03 09:40:48 UTC (rev 16895)
+++ trunk/blender/source/blender/src/buttons_logic.c 2008-10-03 09:51:43 UTC (rev 16896)
@@ -2565,30 +2565,20 @@
case ACT_MESSAGE:
ma = act->data;
-#define MESSAGE_SENSOR_TO_FIELD_WORKS /* Really? Not really. Don't remove this ifdef yet */
-
-#ifdef MESSAGE_SENSOR_TO_FIELD_WORKS
ysize = 4 + (3 * 24); /* footer + number of lines * 24 pixels/line */
-#else
- ysize = 4 + (2 * 24); /* footer + number of lines * 24 pixels/line */
-#endif
+
glRects(xco, yco-ysize, xco+width, yco);
uiEmboss((float)xco, (float)yco-ysize,
(float)xco+width, (float)yco, 1);
myline=1;
-
-#ifdef MESSAGE_SENSOR_TO_FIELD_WORKS
/* line 1: To */
uiDefBut(block, TEX, 1, "To: ",
(xco+10), (yco-(myline++*24)), (width-20), 19,
&ma->toPropName, 0, 31, 0, 0,
- "Optional send message to objects with this name only (Prefix name with OB)"
- ", or empty to broadcast");
+ "Optional send message to objects with this name only, or empty to broadcast");
-#endif
-
/* line 2: Message Subject */
uiDefBut(block, TEX, 1, "Subject: ",
(xco+10), (yco-(myline++*24)), (width-20), 19,
Modified: trunk/blender/source/gameengine/Converter/KX_ConvertActuators.cpp
===================================================================
--- trunk/blender/source/gameengine/Converter/KX_ConvertActuators.cpp 2008-10-03 09:40:48 UTC (rev 16895)
+++ trunk/blender/source/gameengine/Converter/KX_ConvertActuators.cpp 2008-10-03 09:51:43 UTC (rev 16896)
@@ -291,15 +291,19 @@
STR_String toPropName = (msgAct->toPropName
? (char*) msgAct->toPropName
: "");
- /**
- * Get the Message Subject to send.
+ /* BGE Wants "OB" prefix */
+ if (toPropName != "")
+ toPropName = "OB" + toPropName;
+
+ /**
+ * Get the Message Subject to send.
*/
STR_String subject = (msgAct->subject
? (char*) msgAct->subject
: "");
- /**
- * Get the bodyType
+ /**
+ * Get the bodyType
*/
int bodyType = msgAct->bodyType;
More information about the Bf-blender-cvs
mailing list