[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26635] trunk/blender/source/blender: BGE: rna update for Logic Bricks

Dalai Felinto dfelinto at gmail.com
Sat Feb 6 07:21:43 CET 2010


Revision: 26635
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26635
Author:   dfelinto
Date:     2010-02-06 07:21:42 +0100 (Sat, 06 Feb 2010)

Log Message:
-----------
BGE: rna update for Logic Bricks

New Actuators done:
* SCENE
* RANDOM
* MESSAGE
* GAME
* VISIBILITY
* TWODFILTER
* PARENT

Actuators to be done:
* OBJECT (aka MOTION)
* SOUND
* PROPERTY
* CONSTRAINT
* EDIT_OBJECT
* ACTION
* SHAPE_ACTION
* STATE
* ARMATURE

Actuators done already:
* IPO
* CAMERA

once again: feedback is appreciated.

Modified Paths:
--------------
    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/editors/space_logic/logic_window.c
===================================================================
--- trunk/blender/source/blender/editors/space_logic/logic_window.c	2010-02-05 23:50:33 UTC (rev 26634)
+++ trunk/blender/source/blender/editors/space_logic/logic_window.c	2010-02-06 06:21:42 UTC (rev 26635)
@@ -2812,10 +2812,10 @@
 			case ACT_2DFILTER_NOFILTER:
 			case ACT_2DFILTER_DISABLED:
 			case ACT_2DFILTER_ENABLED:
-				uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30,yco-44,width-60,19,&tdfa->int_arg,0.0,MAX_RENDER_PASS-1,0.0,0.0,"Set motion blur value");
+				uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30,yco-44,width-60,19,&tdfa->int_arg,0.0,MAX_RENDER_PASS-1,0.0,0.0,"Set filter order");
 				break;
 			case ACT_2DFILTER_CUSTOMFILTER:
-				uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30,yco-44,width-60,19,&tdfa->int_arg,0.0,MAX_RENDER_PASS-1,0.0,0.0,"Set motion blur value");
+				uiDefButI(block, NUM, B_REDR, "Pass Number:", xco+30,yco-44,width-60,19,&tdfa->int_arg,0.0,MAX_RENDER_PASS-1,0.0,0.0,"Set filter order");
 				uiDefIDPoinBut(block, test_scriptpoin_but, ID_SCRIPT, 1, "Script: ", xco+30,yco-64,width-60, 19, &tdfa->text, "");
 				break;
 		}

Modified: trunk/blender/source/blender/makesdna/DNA_actuator_types.h
===================================================================
--- trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2010-02-05 23:50:33 UTC (rev 26634)
+++ trunk/blender/source/blender/makesdna/DNA_actuator_types.h	2010-02-06 06:21:42 UTC (rev 26635)
@@ -86,7 +86,7 @@
 } bEditObjectActuator;
 
 typedef struct bSceneActuator {
-	short type, flag;
+	short type, pad1;
 	int pad;
 	struct Scene *scene;
 	struct Object *camera;

Modified: trunk/blender/source/blender/makesrna/intern/rna_actuator.c
===================================================================
--- trunk/blender/source/blender/makesrna/intern/rna_actuator.c	2010-02-05 23:50:33 UTC (rev 26634)
+++ trunk/blender/source/blender/makesrna/intern/rna_actuator.c	2010-02-06 06:21:42 UTC (rev 26635)
@@ -129,6 +129,8 @@
 static void rna_def_object_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
 	srna= RNA_def_struct(brna, "ObjectActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Object Actuator", "Actuator to control the object movement.");
 	RNA_def_struct_sdna_from(srna, "bObjectActuator", "data");
@@ -163,47 +165,49 @@
 	
 	prop= RNA_def_property(srna, "start_frame", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "sta");
-	RNA_def_property_ui_range(prop, 1, MAXFRAMEF, 1, 1);
+	RNA_def_property_ui_range(prop, 1, MAXFRAME, 1, 1);
 	RNA_def_property_ui_text(prop, "Start Frame", "");
 	RNA_def_property_update(prop, NC_SCENE, NULL);
 
 	prop= RNA_def_property(srna, "end_frame", PROP_INT, PROP_NONE);
 	RNA_def_property_int_sdna(prop, NULL, "end");
-	RNA_def_property_ui_range(prop, 1, MAXFRAMEF, 1, 1);
+	RNA_def_property_ui_range(prop, 1, MAXFRAME, 1, 1);
 	RNA_def_property_ui_text(prop, "End Frame", "");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
 	
-	prop= RNA_def_property(srna, "prop", PROP_STRING, PROP_NONE);
+	prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_sdna(prop, NULL, "name");
-	RNA_def_property_ui_text(prop, "Prop", "Use this property to define the Ipo position.");
+	RNA_def_property_ui_text(prop, "Property", "Use this property to define the Ipo position");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
 
-	prop= RNA_def_property(srna, "frame_prop", PROP_STRING, PROP_NONE);
+	prop= RNA_def_property(srna, "frame_property", PROP_STRING, PROP_NONE);
 	RNA_def_property_string_sdna(prop, NULL, "frameProp");
-	RNA_def_property_ui_text(prop, "FrameProp", "Assign the action's current frame number to this property");
+	RNA_def_property_ui_text(prop, "Frame Property", "Assign the action's current frame number to this property");
 
 	/* booleans */
-	prop= RNA_def_property(srna, "ipo_force", PROP_BOOLEAN, PROP_NONE);
+	prop= RNA_def_property(srna, "force", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOFORCE);
 	RNA_def_property_ui_text(prop, "Force", "Apply Ipo as a global or local force depending on the local option (dynamic objects only)");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
-	//logic_window::change_ipo_actuator
+//	logic_window::change_ipo_actuator
+//	RNA_def_property_boolean_funcs(prop, "rna_Actuator_Ipo_get", "rna_Actuator_Ipo_get", "rna_Actuator_Ipo_range");	
 	
-	prop= RNA_def_property(srna, "ipo_local", PROP_BOOLEAN, PROP_NONE);
+	prop= RNA_def_property(srna, "local", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOLOCAL);
 	RNA_def_property_ui_text(prop, "L", "Let the ipo acts in local coordinates, used in Force and Add mode.");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
 
-	prop= RNA_def_property(srna, "ipo_child", PROP_BOOLEAN, PROP_NONE);
+	prop= RNA_def_property(srna, "child", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOCHILD);
 	RNA_def_property_ui_text(prop, "Child", "Update IPO on all children Objects as well");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
 	
-	prop= RNA_def_property(srna, "ipo_add", PROP_BOOLEAN, PROP_NONE);
+	prop= RNA_def_property(srna, "add", PROP_BOOLEAN, PROP_NONE);
 	RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOADD);
 	RNA_def_property_ui_text(prop, "Add", "Ipo is added to the current loc/rot/scale in global or local coordinate according to Local flag");
 	RNA_def_property_update(prop, NC_LOGIC, NULL);
-	//logic_window::change_ipo_actuator
+//	logic_window::change_ipo_actuator
+//	RNA_def_property_boolean_funcs(prop, "rna_Actuator_Ipo_get", "rna_Actuator_Ipo_get", "rna_Actuator_Ipo_range");	
 }
 
 static void rna_def_camera_actuator(BlenderRNA *brna)
@@ -225,7 +229,7 @@
 	RNA_def_property_pointer_sdna(prop, NULL, "ob");
 	RNA_def_property_flag(prop, PROP_EDITABLE);
 	RNA_def_property_ui_text(prop, "Camera Object", "Look at this Object");
-	RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
+	RNA_def_property_update(prop, NC_LOGIC, NULL);
 
 	/* floats */
 	prop= RNA_def_property(srna, "height", PROP_FLOAT, PROP_NONE);
@@ -255,6 +259,8 @@
 static void rna_def_sound_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
 	srna= RNA_def_struct(brna, "SoundActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Sound Actuator", "Actuator to ...");
 	RNA_def_struct_sdna_from(srna, "bSoundActuator", "data");
@@ -265,6 +271,8 @@
 static void rna_def_property_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
 	srna= RNA_def_struct(brna, "PropertyActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Property Actuator", "Actuator to ...");
 	RNA_def_struct_sdna_from(srna, "bPropertyActuator", "data");
@@ -275,6 +283,8 @@
 static void rna_def_constraint_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
 	srna= RNA_def_struct(brna, "ConstraintActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Constraint Actuator", "Actuator to ...");
 	RNA_def_struct_sdna_from(srna, "bConstraintActuator", "data");
@@ -285,6 +295,8 @@
 static void rna_def_edit_object_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
 	srna= RNA_def_struct(brna, "EditObjectActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Edit Object Actuator", "Actuator to ...");
 	RNA_def_struct_sdna_from(srna, "bEditObjectActuator", "data");
@@ -295,36 +307,228 @@
 static void rna_def_scene_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
+	static EnumPropertyItem prop_type_items[] ={
+		{ACT_SCENE_RESTART, "RESTART", 0, "Restart", ""},
+		{ACT_SCENE_SET, "SET", 0, "Set Scene", ""},
+		{ACT_SCENE_CAMERA, "CAMERA", 0, "Set Camera", ""},
+		{ACT_SCENE_ADD_FRONT, "ADDFRONT", 0, "Add OverlayScene", ""},
+		{ACT_SCENE_ADD_BACK, "ADDBACK", 0, "Add BackgroundScene", ""},
+		{ACT_SCENE_REMOVE, "REMOVE", 0, "Remove Scene", ""},
+		{ACT_SCENE_SUSPEND, "SUSPEND", 0, "Suspend Scene", ""},
+		{ACT_SCENE_RESUME, "RESUME", 0, "Resume Scene", ""},
+		{0, NULL, 0, NULL, NULL}};	
+		
 	srna= RNA_def_struct(brna, "SceneActuator", "Actuator");
 	RNA_def_struct_ui_text(srna, "Scene Actuator", "Actuator to ...");
 	RNA_def_struct_sdna_from(srna, "bSceneActuator", "data");
 
-	//XXX
+	prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+	RNA_def_property_enum_items(prop, prop_type_items);
+	RNA_def_property_ui_text(prop, "Scene", "");
+	RNA_def_property_update(prop, NC_LOGIC, NULL);
+	
+	prop= RNA_def_property(srna, "camera", PROP_POINTER, PROP_NONE);
+	RNA_def_property_struct_type(prop, "Object");
+	RNA_def_property_flag(prop, PROP_EDITABLE);
+	RNA_def_property_ui_text(prop, "Camera Object", "Set this Camera. Leave empty to refer to self object");
+	RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+	prop= RNA_def_property(srna, "scene", PROP_POINTER, PROP_NONE);
+	RNA_def_property_struct_type(prop, "Scene");
+	RNA_def_property_flag(prop, PROP_EDITABLE);
+	RNA_def_property_ui_text(prop, "Scene", "Set the Scene to be added/removed/paused/resumed");
+	RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+	/* XXX
+	Originally we had different 'scene' tooltips for different values of 'type'.
+	They were:
+	ACT_SCENE_RESTART	""
+	ACT_SCENE_CAMERA	""
+	ACT_SCENE_SET		"Set this Scene"
+	ACT_SCENE_ADD_FRONT	"Add an Overlay Scene"
+	ACT_SCENE_ADD_BACK	"Add a Background Scene"
+	ACT_SCENE_REMOVE	"Remove a Scene"
+	ACT_SCENE_SUSPEND	"Pause a Scene"
+	ACT_SCENE_RESUME	"Unpause a Scene"
+
+	It can be done in the ui script if still needed.
+	*/
+	
 }
 
 static void rna_def_random_actuator(BlenderRNA *brna)
 {
 	StructRNA *srna;
+	PropertyRNA *prop;
+
+	static EnumPropertyItem prop_distribution_items[] ={
+		{ACT_RANDOM_BOOL_CONST, "RESTART", 0, "Bool Constant", ""},
+		{ACT_RANDOM_BOOL_UNIFORM, "SET", 0, "Bool Uniform", ""},
+		{ACT_RANDOM_BOOL_BERNOUILLI, "CAMERA", 0, "Bool Bernoulli", ""},
+		{ACT_RANDOM_INT_CONST, "ADDFRONT", 0, "Int Constant", ""},
+		{ACT_RANDOM_INT_UNIFORM, "ADDBACK", 0, "Int Uniform", ""},
+		{ACT_RANDOM_INT_POISSON, "REMOVE", 0, "Int Poisson", ""},
+		{ACT_RANDOM_FLOAT_CONST, "SUSPEND", 0, "Float Constant", ""},
+		{ACT_RANDOM_FLOAT_UNIFORM, "RESUME", 0, "Float Uniform", ""},
+		{ACT_RANDOM_FLOAT_NORMAL, "RESUME", 0, "Float Normal", ""},

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list