[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [28654] trunk/blender/source/blender: Logic UI - fixing missing rna default values

Dalai Felinto dfelinto at gmail.com
Fri May 7 20:53:29 CEST 2010


Revision: 28654
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=28654
Author:   dfelinto
Date:     2010-05-07 20:53:28 +0200 (Fri, 07 May 2010)

Log Message:
-----------
Logic UI - fixing missing rna default values
there are some cases (i.e. Constraint Actuator) where the same DNA property is being used by different RNAs with different ranges.
It's easy to change (reset the values to their default in the set func of the constrant type rna).
Not sure it's necessary though.

Modified Paths:
--------------
    trunk/blender/source/blender/blenkernel/intern/sca.c
    trunk/blender/source/blender/editors/space_logic/logic_window.c
    trunk/blender/source/blender/makesdna/DNA_actuator_types.h
    trunk/blender/source/blender/makesrna/intern/rna_actuator.c

Modified: trunk/blender/source/blender/blenkernel/intern/sca.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/sca.c	2010-05-07 15:52:16 UTC (rev 28653)
+++ trunk/blender/source/blender/blenkernel/intern/sca.c	2010-05-07 18:53:28 UTC (rev 28654)
@@ -98,6 +98,8 @@
 	/* also use when sensor changes type */
 	bNearSensor *ns;
 	bMouseSensor *ms;
+	bJoystickSensor *js;
+	bRaySensor *rs;
 	
 	if(sens->data) MEM_freeN(sens->data);
 	sens->data= NULL;
@@ -145,12 +147,18 @@
 		break;
 	case SENS_RAY:
 		sens->data= MEM_callocN(sizeof(bRaySensor), "raysens");
+		rs = sens->data;
+		rs->range = 0.01f;
 		break;
 	case SENS_MESSAGE:
 		sens->data= MEM_callocN(sizeof(bMessageSensor), "messagesens");
 		break;
 	case SENS_JOYSTICK:
 		sens->data= MEM_callocN(sizeof(bJoystickSensor), "joysticksens");
+		js= sens->data;
+		js->hatf = SENS_JOY_HAT_UP;
+		js->axis = 1;
+		js->hat = 1;
 		break;
 	default:
 		; /* this is very severe... I cannot make any memory for this        */
@@ -383,7 +391,9 @@
 void init_actuator(bActuator *act)
 {
 	/* also use when actuator changes type */
+	bCameraActuator *ca;
 	bObjectActuator *oa;
+	bRandomActuator *ra;
 	bSoundActuator *sa;
 	
 	if(act->data) MEM_freeN(act->data);
@@ -417,6 +427,8 @@
 		break;
 	case ACT_CAMERA:
 		act->data= MEM_callocN(sizeof(bCameraActuator), "camact");
+		ca = act->data;
+		ca->axis = ACT_CAMERA_X;
 		break;
 	case ACT_EDIT_OBJECT:
 		act->data= MEM_callocN(sizeof(bEditObjectActuator), "editobact");
@@ -432,6 +444,8 @@
 		break;
 	case ACT_RANDOM:
 		act->data= MEM_callocN(sizeof(bRandomActuator), "random act");
+		ra=act->data;
+		ra->float_arg_1 = 0.1f;
 		break;
 	case ACT_MESSAGE:
 		act->data= MEM_callocN(sizeof(bMessageActuator), "message act");

Modified: trunk/blender/source/blender/editors/space_logic/logic_window.c
===================================================================
--- trunk/blender/source/blender/editors/space_logic/logic_window.c	2010-05-07 15:52:16 UTC (rev 28653)
+++ trunk/blender/source/blender/editors/space_logic/logic_window.c	2010-05-07 18:53:28 UTC (rev 28654)
@@ -3284,7 +3284,7 @@
 
 			col = uiLayoutColumn(layout, 0);
 			uiLayoutSetActive(col, RNA_boolean_get(ptr, "all_events")==0);
-			uiItemR(col, ptr, "hat_direction", 0, NULL, 0); //XXXSENSOR - needs a default value (somewhere else in the code)
+			uiItemR(col, ptr, "hat_direction", 0, NULL, 0);
 			break;
 		case SENS_JOY_AXIS_SINGLE:
 			row = uiLayoutRow(layout, 0);
@@ -3924,6 +3924,8 @@
 			uiItemR(subcol, ptr, "force_min_z", 0, NULL, 0);
 
 			//XXXACTUATOR missing labels from original 2.49 ui (e.g. Servo, Min, Max, Fast)
+			//Layout designers willing to help on that, please compare with 2.49 ui
+			// (since the old code is going to be deleted ... soon)
 
 			col = uiLayoutColumn(layout, 1);
 			uiItemR(col, ptr, "proportional_coefficient", UI_ITEM_R_SLIDER, NULL, 0);

Modified: trunk/blender/source/blender/makesdna/DNA_actuator_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2010-05-07 15:52:16 UTC (rev 28653)
+++ trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2010-05-07 18:53:28 UTC (rev 28654)
@@ -498,6 +498,10 @@
 #define ACT_STATE_REMOVE	2
 #define ACT_STATE_CHANGE	3
 
+/* cameraactuator->axis */
+#define ACT_CAMERA_X		(float)'x'
+#define ACT_CAMERA_Y		(float)'y'
+
 #endif
 
 

Modified: trunk/blender/source/blender/makesrna/intern/rna_actuator.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_actuator.c	2010-05-07 15:52:16 UTC (rev 28653)
+++ trunk/blender/source/blender/makesrna/intern/rna_actuator.c	2010-05-07 18:53:28 UTC (rev 28654)
@@ -776,8 +776,8 @@
 	PropertyRNA *prop;
 
 	static EnumPropertyItem prop_axis_items[] ={
-		{(float)'x', "X", 0, "X", "Camera tries to get behind the X axis"},
-		{(float)'y', "Y", 0, "Y", "Camera tries to get behind the Y axis"},
+		{ACT_CAMERA_X, "X", 0, "X", "Camera tries to get behind the X axis"},
+		{ACT_CAMERA_Y, "Y", 0, "Y", "Camera tries to get behind the Y axis"},
 		{0, NULL, 0, NULL, NULL}};
 	
 	srna= RNA_def_struct(brna, "CameraActuator", "Actuator");
@@ -808,14 +808,11 @@
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
 
 	/* x/y */
-	// It could be changed to be a regular ENUM instead of this weird "(float)string enum"
 	prop= RNA_def_property(srna, "axis", PROP_ENUM, PROP_NONE);
 	RNA_def_property_enum_sdna(prop, NULL, "axis");
 	RNA_def_property_enum_items(prop, prop_axis_items);
 	RNA_def_property_ui_text(prop, "Axis", "Specify the axis the Camera will try to get behind");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
-	//XXX it's not working (no default value)
-	// probably need to make a get/set function
 }
 
 static void rna_def_sound_actuator(BlenderRNA *brna)





More information about the Bf-blender-cvs mailing list