diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-10-08 16:04:09 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-10-08 16:05:37 +0300 |
commit | 3ab5075cf9f0d3ab466e97691bfe6d84c2dffb80 (patch) | |
tree | ec56f10f8cbdb227a08bd11396ffd77eeea74fd4 /source/blender/blenkernel/intern/library_query.c | |
parent | 4f0f0d1bcede8f307c4601a7e94b36c179d4d5a8 (diff) |
Add logicbricks to ID looper.
Diffstat (limited to 'source/blender/blenkernel/intern/library_query.c')
-rw-r--r-- | source/blender/blenkernel/intern/library_query.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index a1b84324496..a800b3d8834 100644 --- a/source/blender/blenkernel/intern/library_query.c +++ b/source/blender/blenkernel/intern/library_query.c @@ -30,10 +30,12 @@ #include <stdlib.h> +#include "DNA_actuator_types.h" #include "DNA_anim_types.h" #include "DNA_brush_types.h" #include "DNA_camera_types.h" #include "DNA_constraint_types.h" +#include "DNA_controller_types.h" #include "DNA_group_types.h" #include "DNA_gpencil_types.h" #include "DNA_key_types.h" @@ -49,6 +51,7 @@ #include "DNA_object_force.h" #include "DNA_rigidbody_types.h" #include "DNA_scene_types.h" +#include "DNA_sensor_types.h" #include "DNA_sequence_types.h" #include "DNA_screen_types.h" #include "DNA_speaker_types.h" @@ -67,6 +70,7 @@ #include "BKE_modifier.h" #include "BKE_particle.h" #include "BKE_rigidbody.h" +#include "BKE_sca.h" #include "BKE_sequencer.h" #include "BKE_tracking.h" @@ -132,6 +136,27 @@ static void library_foreach_particlesystemsObjectLooper( FOREACH_CALLBACK_INVOKE_ID_PP(data->self_id, id_pointer, data->flag, data->callback, data->user_data, cd_flag); } +static void library_foreach_sensorsObjectLooper( + bSensor *UNUSED(sensor), ID **id_pointer, void *user_data, int cd_flag) +{ + LibraryForeachIDData *data = (LibraryForeachIDData *) user_data; + FOREACH_CALLBACK_INVOKE_ID_PP(data->self_id, id_pointer, data->flag, data->callback, data->user_data, cd_flag); +} + +static void library_foreach_controllersObjectLooper( + bController *UNUSED(controller), ID **id_pointer, void *user_data, int cd_flag) +{ + LibraryForeachIDData *data = (LibraryForeachIDData *) user_data; + FOREACH_CALLBACK_INVOKE_ID_PP(data->self_id, id_pointer, data->flag, data->callback, data->user_data, cd_flag); +} + +static void library_foreach_actuatorsObjectLooper( + bActuator *UNUSED(actuator), ID **id_pointer, void *user_data, int cd_flag) +{ + LibraryForeachIDData *data = (LibraryForeachIDData *) user_data; + FOREACH_CALLBACK_INVOKE_ID_PP(data->self_id, id_pointer, data->flag, data->callback, data->user_data, cd_flag); +} + static void library_foreach_animationData(LibraryForeachIDData *data, AnimData *adt) { FCurve *fcu; @@ -350,6 +375,10 @@ void BKE_library_foreach_ID_link(ID *id, LibraryIDLinkCallback callback, void *u for (psys = object->particlesystem.first; psys; psys = psys->next) { BKE_particlesystem_id_loop(psys, library_foreach_particlesystemsObjectLooper, &data); } + + BKE_sca_sensors_id_loop(&object->sensors, library_foreach_sensorsObjectLooper, &data); + BKE_sca_controllers_id_loop(&object->controllers, library_foreach_controllersObjectLooper, &data); + BKE_sca_actuators_id_loop(&object->actuators, library_foreach_actuatorsObjectLooper, &data); break; } |