diff options
author | Hamed Zaghaghi <hamed.zaghaghi@gmail.com> | 2008-11-30 01:16:23 +0300 |
---|---|---|
committer | Hamed Zaghaghi <hamed.zaghaghi@gmail.com> | 2008-11-30 01:16:23 +0300 |
commit | bc68cb79858c356c0e88c1771c1555af29593499 (patch) | |
tree | 2881c77de560928304377ce68a11f3be60ff54a0 /source/blender | |
parent | fc20b877688367c8ed3b2871e0bd095a0dafab37 (diff) |
added all sensor types without their properties and full RNAfy bNearSensor, bMouseSesnsor, bTouchSensor, bAlwaysSensor
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/makesrna/RNA_access.h | 13 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_sensor.c | 211 |
2 files changed, 206 insertions, 18 deletions
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h index 851ea8bee9b..6ec7bca45da 100644 --- a/source/blender/makesrna/RNA_access.h +++ b/source/blender/makesrna/RNA_access.h @@ -82,9 +82,20 @@ extern StructRNA RNA_Region; extern StructRNA RNA_Operator; extern StructRNA RNA_WindowManager; extern StructRNA RNA_Sensor; +extern StructRNA RNA_TouchSensor; +extern StructRNA RNA_NearSensor; +extern StructRNA RNA_KeyboardSensor; +extern StructRNA RNA_PropertySensor; extern StructRNA RNA_MouseSensor; +extern StructRNA RNA_CollisionSensor; +extern StructRNA RNA_RadarSensor; +extern StructRNA RNA_RandomSensor; +extern StructRNA RNA_RaySensor; +extern StructRNA RNA_MessageSensor; +extern StructRNA RNA_JoystickSensor; +extern StructRNA RNA_ActuatorSensor; +extern StructRNA RNA_DelaySensor; extern StructRNA RNA_Camera; - /* Pointer * * These functions will fill in RNA pointers, this can be done in three ways: diff --git a/source/blender/makesrna/intern/rna_sensor.c b/source/blender/makesrna/intern/rna_sensor.c index 35064a9c200..b6a480d1445 100644 --- a/source/blender/makesrna/intern/rna_sensor.c +++ b/source/blender/makesrna/intern/rna_sensor.c @@ -38,23 +38,46 @@ static struct StructRNA* rna_Sensor_data_type(struct PointerRNA *ptr) { bSensor *sensor= (bSensor*)ptr->data; -// This function should reture the type of -// void* data; -// in bSensor structure switch(sensor->type) { + case SENS_ALWAYS: + return NULL; + case SENS_TOUCH: + return &RNA_TouchSensor; + case SENS_NEAR: + return &RNA_NearSensor; + case SENS_KEYBOARD: + return &RNA_KeyboardSensor; + case SENS_PROPERTY: + return &RNA_PropertySensor; case SENS_MOUSE: return &RNA_MouseSensor; + case SENS_COLLISION: + return &RNA_CollisionSensor; + case SENS_RADAR: + return &RNA_RadarSensor; + case SENS_RANDOM: + return &RNA_RandomSensor; + case SENS_RAY: + return &RNA_RaySensor; + case SENS_MESSAGE: + return &RNA_MessageSensor; + case SENS_JOYSTICK: + return &RNA_JoystickSensor; + case SENS_ACTUATOR: + return &RNA_ActuatorSensor; + case SENS_DELAY: + return &RNA_DelaySensor; } return NULL; } #else -void RNA_def_sensor(BlenderRNA *brna) + +void rna_def_sensor(BlenderRNA *brna) { StructRNA *srna; PropertyRNA *prop; - static EnumPropertyItem pulse_modes[]={ {SENS_PULSE_CONT, "CONTINUE", "Continue Pulse", ""}, {SENS_PULSE_REPEAT, "REPEAT", "Repeat Pulse", ""}, @@ -78,17 +101,6 @@ void RNA_def_sensor(BlenderRNA *brna) {SENS_DELAY, "DELAY", "Delay", ""}, {0, NULL, NULL, NULL}}; - static EnumPropertyItem mouse_event_items[] ={ - {BL_SENS_MOUSE_LEFT_BUTTON, "LEFTCLICK", "Left Button", ""}, - {BL_SENS_MOUSE_MIDDLE_BUTTON, "MIDDLECLICK", "Middle Button", ""}, - {BL_SENS_MOUSE_RIGHT_BUTTON, "RIGHTCLICK", "Right Button", ""}, - {BL_SENS_MOUSE_WHEEL_UP, "WHEELUP", "Wheel Up", ""}, - {BL_SENS_MOUSE_WHEEL_DOWN, "WHEELDOWN", "Wheel Down", ""}, - {BL_SENS_MOUSE_MOVEMENT, "MOVEMENT", "Movement", ""}, - {BL_SENS_MOUSE_MOUSEOVER, "MOUSEOVER", "Mouse Over", ""}, - {BL_SENS_MOUSE_MOUSEOVER_ANY, "MOUSEOVERANY", "Mouse Over Any", ""}, - {0, NULL, NULL, NULL}}; - srna= RNA_def_struct(brna, "Sensor", NULL , "Sensor"); RNA_def_struct_sdna(srna, "bSensor"); @@ -122,13 +134,178 @@ void RNA_def_sensor(BlenderRNA *brna) prop= RNA_def_property(srna, "data", PROP_POINTER, PROP_NONE); RNA_def_property_ui_text(prop, "Data", "Sensor data."); RNA_def_property_pointer_funcs(prop, NULL, "rna_Sensor_data_type", NULL); +} + +void rna_def_near_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "NearSensor", NULL , "NearSensor"); + RNA_def_struct_sdna(srna, "bNearSensor"); + + prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE); + RNA_def_property_string_sdna(prop, NULL, "name"); + RNA_def_property_ui_text(prop, "Property", "Only llok for objects with this property."); + + prop= RNA_def_property(srna, "distance", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "dist"); + RNA_def_property_ui_text(prop, "Distance", "Trigger distance."); + RNA_def_property_range(prop, 0, 10000); + + prop= RNA_def_property(srna, "reset_distance", PROP_INT, PROP_NONE); + RNA_def_property_int_sdna(prop, NULL, "resetdist"); + RNA_def_property_ui_text(prop, "Reset", "Reset distance."); + RNA_def_property_range(prop, 0, 10000); +} + +void rna_def_mouse_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + static EnumPropertyItem mouse_event_items[] ={ + {BL_SENS_MOUSE_LEFT_BUTTON, "LEFTCLICK", "Left Button", ""}, + {BL_SENS_MOUSE_MIDDLE_BUTTON, "MIDDLECLICK", "Middle Button", ""}, + {BL_SENS_MOUSE_RIGHT_BUTTON, "RIGHTCLICK", "Right Button", ""}, + {BL_SENS_MOUSE_WHEEL_UP, "WHEELUP", "Wheel Up", ""}, + {BL_SENS_MOUSE_WHEEL_DOWN, "WHEELDOWN", "Wheel Down", ""}, + {BL_SENS_MOUSE_MOVEMENT, "MOVEMENT", "Movement", ""}, + {BL_SENS_MOUSE_MOUSEOVER, "MOUSEOVER", "Mouse Over", ""}, + {BL_SENS_MOUSE_MOUSEOVER_ANY, "MOUSEOVERANY", "Mouse Over Any", ""}, + {0, NULL, NULL, NULL}}; srna= RNA_def_struct(brna, "MouseSensor", NULL , "MouseSensor"); RNA_def_struct_sdna(srna, "bMouseSensor"); prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE); RNA_def_property_enum_items(prop, mouse_event_items); - RNA_def_property_ui_text(prop, "MouseEvent", "Specify the type of event this mouse sensor should trigger on."); + RNA_def_property_ui_text(prop, "Mouse Event", "Specify the type of event this mouse sensor should trigger on."); +} + +void rna_def_touch_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "TouchSensor", NULL , "TouchSensor"); + RNA_def_struct_sdna(srna, "bTouchSensor"); + + prop= RNA_def_property(srna, "material", PROP_POINTER, PROP_NONE); + RNA_def_property_pointer_sdna(prop, NULL, "ma"); + RNA_def_property_struct_type(prop, "Material"); + RNA_def_property_ui_text(prop, "Material", "only look for floors with this material."); + +} + +void rna_def_keyboard_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "KeyboardSensor", NULL , "KeyboardSensor"); + RNA_def_struct_sdna(srna, "bKeyboardSensor"); +} + +void rna_def_property_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "PropertySensor", NULL , "PropertySensor"); + RNA_def_struct_sdna(srna, "bPropertySensor"); +} + +void rna_def_actuator_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "ActuatorSensor", NULL , "ActuatorSensor"); + RNA_def_struct_sdna(srna, "bActuatorSensor"); +} + +void rna_def_delay_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "DelaySensor", NULL , "DelaySensor"); + RNA_def_struct_sdna(srna, "bDelaySensor"); +} + +void rna_def_collision_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "CollisionSensor", NULL , "CollisionSensor"); + RNA_def_struct_sdna(srna, "bCollisionSensor"); +} + +void rna_def_radar_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "RadarSensor", NULL , "RadarSensor"); + RNA_def_struct_sdna(srna, "bRadarSensor"); +} + +void rna_def_random_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "RandomSensor", NULL , "RandomSensor"); + RNA_def_struct_sdna(srna, "bRandomSensor"); +} + +void rna_def_ray_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "RaySensor", NULL , "RaySensor"); + RNA_def_struct_sdna(srna, "bRaySensor"); +} + +void rna_def_message_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "MessageSensor", NULL , "MessageSensor"); + RNA_def_struct_sdna(srna, "bMessageSensor"); +} + +void rna_def_joystick_sensor(BlenderRNA *brna) +{ + StructRNA *srna; + PropertyRNA *prop; + + srna= RNA_def_struct(brna, "JoystickSensor", NULL , "JoystickSensor"); + RNA_def_struct_sdna(srna, "bJoystickSensor"); +} + + +void RNA_def_sensor(BlenderRNA *brna) +{ + rna_def_sensor(brna); + + rna_def_near_sensor(brna); + rna_def_mouse_sensor(brna); + rna_def_touch_sensor(brna); + rna_def_keyboard_sensor(brna); + rna_def_property_sensor(brna); + rna_def_actuator_sensor(brna); + rna_def_delay_sensor(brna); + rna_def_collision_sensor(brna); + rna_def_radar_sensor(brna); + rna_def_random_sensor(brna); + rna_def_ray_sensor(brna); + rna_def_message_sensor(brna); + rna_def_joystick_sensor(brna); } #endif |