[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [20255] trunk/blender/source: Sensor objects were initialized as invisible, which conflicted with initializing the invisible setting from the outliner render object (which it seems nobody knew about).

Campbell Barton ideasman42 at gmail.com
Mon May 18 12:27:09 CEST 2009


Revision: 20255
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20255
Author:   campbellbarton
Date:     2009-05-18 12:27:09 +0200 (Mon, 18 May 2009)

Log Message:
-----------
Sensor objects were initialized as invisible, which conflicted with initializing the invisible setting from the outliner render object (which it seems nobody knew about).

Added an 'Invisible' button to make this more clear, it seems like a display option but its also related to logic because the actuators can toggle this after the game starts.

Without this its annoying to add UV's only to set the invisible flag.

Sensor objects were not clearing the softbody gameflag

Modified Paths:
--------------
    trunk/blender/source/blender/src/buttons_logic.c
    trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp

Modified: trunk/blender/source/blender/src/buttons_logic.c
===================================================================
--- trunk/blender/source/blender/src/buttons_logic.c	2009-05-18 08:51:55 UTC (rev 20254)
+++ trunk/blender/source/blender/src/buttons_logic.c	2009-05-18 10:27:09 UTC (rev 20255)
@@ -3068,7 +3068,7 @@
 	switch (ob->body_type) {
 	case OB_BODY_TYPE_SENSOR:
 		ob->gameflag |= OB_SENSOR|OB_COLLISION|OB_GHOST;
-		ob->gameflag &= ~(OB_OCCLUDER|OB_DYNAMIC|OB_RIGID_BODY|OB_ACTOR|OB_ANISOTROPIC_FRICTION|OB_DO_FH|OB_ROT_FH|OB_COLLISION_RESPONSE);
+		ob->gameflag &= ~(OB_OCCLUDER|OB_DYNAMIC|OB_RIGID_BODY|OB_SOFT_BODY|OB_ACTOR|OB_ANISOTROPIC_FRICTION|OB_DO_FH|OB_ROT_FH|OB_COLLISION_RESPONSE);
 		break;
 	case OB_BODY_TYPE_OCCLUDER:
 		ob->gameflag |= OB_OCCLUDER;
@@ -3315,14 +3315,21 @@
 			"Object type%t|Occluder%x5|No collision%x0|Sensor%x6|Static%x1|Dynamic%x2|Rigid body%x3|Soft body%x4", 
 			10, 205, 100, 19, &ob->body_type, 0, 0, 0, 0, tip);
 	uiButSetFunc(but, check_body_type, but, ob);
-
+	
+	uiBlockEndAlign(block);
+	
+	uiDefButBitS(block, TOG, OB_RESTRICT_RENDER, B_NOP, "Invisible", 
+				210, 205, 60, 19,
+				&ob->restrictflag, 0, 0, 0, 0, 
+				"Initializes objects as invisible, this can be toggled by the visibility actuator (uses outliner render option)");
+	
 	if (ob->gameflag & OB_COLLISION) {
 
 		if (ob->gameflag & OB_SENSOR) {
 			uiBlockEndAlign(block);
 			uiDefBlockBut(block, advanced_bullet_menu, ob, 
-						  "Advanced Settings", 
-						  210, 205, 140, 19, "Display collision advanced settings");
+						  "Advanced", 
+						  270, 205, 80, 19, "Display collision advanced settings");
 			uiBlockBeginAlign(block);
 		} else {
 			uiDefButBitI(block, TOG, OB_ACTOR, 0, "Actor",
@@ -3338,8 +3345,8 @@
 
 			//uiBlockSetCol(block, TH_BUT_SETTING1);
 			uiDefBlockBut(block, advanced_bullet_menu, ob, 
-						  "Advanced Settings", 
-						  210, 205, 140, 19, "Display collision advanced settings");
+						  "Advanced", 
+						  270, 205, 80, 19, "Display collision advanced settings");
 			//uiBlockSetCol(block, TH_BUT_SETTING2);
 		}
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp	2009-05-18 08:51:55 UTC (rev 20254)
+++ trunk/blender/source/gameengine/Ketsji/KX_ConvertPhysicsObjects.cpp	2009-05-18 10:27:09 UTC (rev 20255)
@@ -1129,8 +1129,6 @@
 		// bullet will not synchronize, we must do it explicitely
 		SG_Callbacks& callbacks = gameobj->GetSGNode()->GetCallBackFunctions();
 		callbacks.m_updatefunc = KX_GameObject::SynchronizeTransformFunc;
-		// make sensor object invisible by default
-		gameobj->SetVisible(false, false);
 	} 
 	// don't add automatically sensor object, they are added when a collision sensor is registered
 	else if (objprop->m_in_active_layer)





More information about the Bf-blender-cvs mailing list