Blender V2.61 - r43446
Defines | Functions

logic_window.c File Reference

#include <string.h>
#include <stdio.h>
#include <stddef.h>
#include <float.h>
#include "DNA_actuator_types.h"
#include "DNA_controller_types.h"
#include "DNA_property_types.h"
#include "DNA_space_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_sensor_types.h"
#include "DNA_constraint_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_object_types.h"
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BKE_action.h"
#include "BKE_context.h"
#include "BKE_global.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_sca.h"
#include "ED_util.h"
#include "WM_types.h"
#include "BIF_gl.h"
#include "UI_interface.h"
#include "RNA_access.h"
#include "../interface/interface_intern.h"
#include "logic_intern.h"

Go to the source code of this file.

Defines

#define MAX_RENDER_PASS   100
#define B_REDR   1
#define B_IDNAME   2
#define B_ADD_SENS   2703
#define B_CHANGE_SENS   2704
#define B_DEL_SENS   2705
#define B_ADD_CONT   2706
#define B_CHANGE_CONT   2707
#define B_DEL_CONT   2708
#define B_ADD_ACT   2709
#define B_CHANGE_ACT   2710
#define B_DEL_ACT   2711
#define B_SOUNDACT_BROWSE   2712
#define B_SETSECTOR   2713
#define B_SETPROP   2714
#define B_SETACTOR   2715
#define B_SETMAINACTOR   2716
#define B_SETDYNA   2717
#define B_SET_STATE_BIT   2718
#define B_INIT_STATE_BIT   2719

Functions

static ID ** get_selected_and_linked_obs (bContext *C, short *count, short scavisflag)
static int vergname (const void *v1, const void *v2)
void make_unique_prop_names (bContext *C, char *str)
static void make_unique_prop_names_cb (bContext *C, void *strv, void *UNUSED(redraw_view3d_flagv))
static void old_sca_move_sensor (bContext *C, void *datav, void *move_up)
static void old_sca_move_controller (bContext *C, void *datav, void *move_up)
static void old_sca_move_actuator (bContext *C, void *datav, void *move_up)
static void do_logic_buts (bContext *C, void *UNUSED(arg), int event)
static const char * sensor_name (int type)
static const char * sensor_pup (void)
static const char * controller_name (int type)
static const char * controller_pup (void)
static const char * actuator_name (int type)
static const char * actuator_pup (Object *owner)
static void set_sca_ob (Object *ob)
static int get_col_sensor (int type)
static void set_col_sensor (int type, int medium)
static void verify_logicbutton_func (bContext *UNUSED(C), void *data1, void *data2)
static void test_scriptpoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_actionpoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_obpoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_meshpoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_matpoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_scenepoin_but (struct bContext *C, const char *name, ID **idpp)
static void test_keyboard_event (struct bContext *UNUSED(C), void *arg_ks, void *UNUSED(arg))
static void draw_default_sensor_header (bSensor *sens, uiBlock *block, short x, short y, short w)
static void get_armature_bone_constraint (Object *ob, const char *posechannel, const char *constraint_name, bConstraint **constraint)
static void check_armature_bone_constraint (Object *ob, char *posechannel, char *constraint)
static void check_armature_sensor (bContext *C, void *arg1_but, void *arg2_sens)
static short draw_sensorbuttons (Object *ob, bSensor *sens, uiBlock *block, short xco, short yco, short width)
static short draw_controllerbuttons (bController *cont, uiBlock *block, short xco, short yco, short width)
static int get_col_actuator (int type)
static void set_col_actuator (int item, int medium)
static void change_object_actuator (bContext *UNUSED(C), void *act, void *UNUSED(arg))
static void change_ipo_actuator (bContext *UNUSED(C), void *arg1_but, void *arg2_ia)
static void update_object_actuator_PID (bContext *UNUSED(C), void *act, void *UNUSED(arg))
static char * get_state_name (Object *ob, short bit)
static void check_state_mask (bContext *C, void *arg1_but, void *arg2_mask)
static void check_armature_actuator (bContext *C, void *arg1_but, void *arg2_act)
static short draw_actuatorbuttons (Main *bmain, Object *ob, bActuator *act, uiBlock *block, short xco, short yco, short width)
static void do_sensor_menu (bContext *C, void *UNUSED(arg), int event)
static uiBlocksensor_menu (bContext *C, ARegion *ar, void *UNUSED(arg))
static void do_controller_menu (bContext *C, void *UNUSED(arg), int event)
static uiBlockcontroller_menu (bContext *C, ARegion *ar, void *UNUSED(arg))
static void do_actuator_menu (bContext *C, void *UNUSED(arg), int event)
static uiBlockactuator_menu (bContext *C, ARegion *ar, void *UNUSED(arg))
static void check_controller_state_mask (bContext *UNUSED(C), void *arg1_but, void *arg2_mask)
static int first_bit (unsigned int mask)
static uiBlockcontroller_state_mask_menu (bContext *C, ARegion *ar, void *arg_cont)
static void do_object_state_menu (bContext *UNUSED(C), void *arg, int event)
static uiBlockobject_state_mask_menu (bContext *C, ARegion *ar, void *arg_obj)
static int is_sensor_linked (uiBlock *block, bSensor *sens)
static void draw_sensor_header (uiLayout *layout, PointerRNA *ptr, PointerRNA *logic_ptr)
static void draw_sensor_internal_header (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_actuator (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_armature (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_collision (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_sensor_delay (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_joystick (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_keyboard (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_message (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_mouse (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_near (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_property (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_radar (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_random (uiLayout *layout, PointerRNA *ptr)
static void draw_sensor_ray (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_sensor_touch (uiLayout *layout, PointerRNA *ptr)
static void draw_brick_sensor (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_controller_header (uiLayout *layout, PointerRNA *ptr, int xco, int width, int yco)
static void draw_controller_expression (uiLayout *layout, PointerRNA *ptr)
static void draw_controller_python (uiLayout *layout, PointerRNA *ptr)
static void draw_controller_state (uiLayout *UNUSED(layout), PointerRNA *UNUSED(ptr))
static void draw_brick_controller (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_header (uiLayout *layout, PointerRNA *ptr, PointerRNA *logic_ptr)
static void draw_actuator_action (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_armature (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_camera (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_constraint (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_actuator_edit_object (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_filter_2d (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_game (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_message (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_actuator_motion (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_parent (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_property (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_random (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_scene (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_shape_action (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_sound (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void draw_actuator_state (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_visibility (uiLayout *layout, PointerRNA *ptr)
static void draw_actuator_steering (uiLayout *layout, PointerRNA *ptr)
static void draw_brick_actuator (uiLayout *layout, PointerRNA *ptr, bContext *C)
static void logic_buttons_new (bContext *C, ARegion *ar)
void logic_buttons (bContext *C, ARegion *ar)

Detailed Description

Definition in file logic_window.c.


Define Documentation

#define B_ADD_ACT   2709

Definition at line 88 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_ADD_CONT   2706

Definition at line 84 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_ADD_SENS   2703

Definition at line 80 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_CHANGE_ACT   2710

Definition at line 89 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_CHANGE_CONT   2707

Definition at line 85 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_CHANGE_SENS   2704

Definition at line 81 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_DEL_ACT   2711

Definition at line 90 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_DEL_CONT   2708

Definition at line 86 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_DEL_SENS   2705

Definition at line 82 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_IDNAME   2

Definition at line 78 of file logic_window.c.

Referenced by draw_actuatorbuttons().

#define B_INIT_STATE_BIT   2719

Definition at line 100 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_REDR   1

Definition at line 77 of file logic_window.c.

#define B_SET_STATE_BIT   2718

Definition at line 99 of file logic_window.c.

Referenced by do_logic_buts(), and logic_buttons().

#define B_SETACTOR   2715

Definition at line 96 of file logic_window.c.

Referenced by do_logic_buts().

#define B_SETDYNA   2717

Definition at line 98 of file logic_window.c.

Referenced by do_logic_buts().

#define B_SETMAINACTOR   2716

Definition at line 97 of file logic_window.c.

Referenced by do_logic_buts().

#define B_SETPROP   2714

Definition at line 95 of file logic_window.c.

Referenced by do_logic_buts().

#define B_SETSECTOR   2713

Definition at line 94 of file logic_window.c.

#define B_SOUNDACT_BROWSE   2712

Definition at line 92 of file logic_window.c.

Referenced by do_logic_buts(), and draw_actuatorbuttons().

#define MAX_RENDER_PASS   100

Function Documentation

static uiBlock* actuator_menu ( bContext C,
ARegion ar,
void *  UNUSEDarg 
) [static]
static const char* actuator_name ( int  type) [static]
static const char* actuator_pup ( Object owner) [static]

Definition at line 728 of file logic_window.c.

References OB_ARMATURE, OB_MESH, and Object::type.

Referenced by logic_buttons().

static void change_ipo_actuator ( bContext UNUSEDC,
void *  arg1_but,
void *  arg2_ia 
) [static]

Definition at line 1783 of file logic_window.c.

References ACT_IPOADD, ACT_IPOFORCE, B_REDR, bIpoActuator::flag, and uiBut::retval.

Referenced by draw_actuatorbuttons().

static void change_object_actuator ( bContext UNUSEDC,
void *  act,
void *  UNUSEDarg 
) [static]
static void check_armature_actuator ( bContext C,
void *  arg1_but,
void *  arg2_act 
) [static]
static void check_armature_bone_constraint ( Object ob,
char *  posechannel,
char *  constraint 
) [static]
static void check_armature_sensor ( bContext C,
void *  arg1_but,
void *  arg2_sens 
) [static]
static void check_controller_state_mask ( bContext UNUSEDC,
void *  arg1_but,
void *  arg2_mask 
) [static]

Definition at line 3117 of file logic_window.c.

References B_REDR, and uiBut::retval.

Referenced by controller_state_mask_menu().

static void check_state_mask ( bContext C,
void *  arg1_but,
void *  arg2_mask 
) [static]
static uiBlock* controller_menu ( bContext C,
ARegion ar,
void *  UNUSEDarg 
) [static]
static const char* controller_name ( int  type) [static]
static const char* controller_pup ( void  ) [static]

Definition at line 669 of file logic_window.c.

Referenced by logic_buttons().

static uiBlock* controller_state_mask_menu ( bContext C,
ARegion ar,
void *  arg_cont 
) [static]
static void do_actuator_menu ( bContext C,
void *  UNUSEDarg,
int  event 
) [static]
static void do_controller_menu ( bContext C,
void *  UNUSEDarg,
int  event 
) [static]
static void do_logic_buts ( bContext C,
void *  UNUSEDarg,
int  event 
) [static]
static void do_object_state_menu ( bContext UNUSEDC,
void *  arg,
int  event 
) [static]

Definition at line 3170 of file logic_window.c.

References Object::init_state, and Object::state.

Referenced by object_state_mask_menu().

static void do_sensor_menu ( bContext C,
void *  UNUSEDarg,
int  event 
) [static]
static void draw_actuator_action ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_armature ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_camera ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3812 of file logic_window.c.

References NULL, uiItemR(), and uiLayoutRow().

Referenced by draw_brick_actuator().

static void draw_actuator_constraint ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_actuator_edit_object ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_filter_2d ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_game ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 4008 of file logic_window.c.

References ACT_GAME_LOAD, NULL, RNA_enum_get(), and uiItemR().

Referenced by draw_brick_actuator().

static void draw_actuator_header ( uiLayout layout,
PointerRNA ptr,
PointerRNA logic_ptr 
) [static]
static void draw_actuator_message ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_actuator_motion ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_parent ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_property ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_random ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_scene ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 4255 of file logic_window.c.

References ACT_SCENE_CAMERA, ACT_SCENE_RESTART, NULL, RNA_enum_get(), and uiItemR().

Referenced by draw_brick_actuator().

static void draw_actuator_shape_action ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_sound ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_actuator_state ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_steering ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_actuator_visibility ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 4361 of file logic_window.c.

References NULL, uiItemR(), and uiLayoutRow().

Referenced by draw_brick_actuator().

static short draw_actuatorbuttons ( Main bmain,
Object ob,
bActuator act,
uiBlock block,
short  xco,
short  yco,
short  width 
) [static]

Definition at line 1841 of file logic_window.c.

References bActionActuator::act, ACT_2DFILTER, ACT_2DFILTER_BLUR, ACT_2DFILTER_CUSTOMFILTER, ACT_2DFILTER_DILATION, ACT_2DFILTER_DISABLED, ACT_2DFILTER_ENABLED, ACT_2DFILTER_EROSION, ACT_2DFILTER_GRAYSCALE, ACT_2DFILTER_INVERT, ACT_2DFILTER_LAPLACIAN, ACT_2DFILTER_MOTIONBLUR, ACT_2DFILTER_NOFILTER, ACT_2DFILTER_PREWITT, ACT_2DFILTER_SEPIA, ACT_2DFILTER_SHARPEN, ACT_2DFILTER_SOBEL, ACT_ACTION, ACT_ACTION_FROM_PROP, ACT_ACTION_MOTION, ACT_ADD_LIN_VEL, ACT_ANG_VEL_LOCAL, ACT_ARM_RUN, ACT_ARM_SETTARGET, ACT_ARM_SETWEIGHT, ACT_ARMATURE, ACT_CAMERA, ACT_CONST_DIRNX, ACT_CONST_DIRNY, ACT_CONST_DIRPX, ACT_CONST_DIRPY, ACT_CONST_DISTANCE, ACT_CONST_DOROTFH, ACT_CONST_LOCAL, ACT_CONST_LOCX, ACT_CONST_LOCY, ACT_CONST_LOCZ, ACT_CONST_MATERIAL, ACT_CONST_NORMAL, ACT_CONST_PERMANENT, ACT_CONST_ROTX, ACT_CONST_ROTY, ACT_CONST_TYPE_DIST, ACT_CONST_TYPE_FH, ACT_CONST_TYPE_LOC, ACT_CONST_TYPE_ORI, ACT_CONSTRAINT, ACT_DLOC_LOCAL, ACT_DROT_LOCAL, ACT_EDIT_OBJECT, ACT_EDOB_ADD_OBJECT, ACT_EDOB_DYNAMICS, ACT_EDOB_END_OBJECT, ACT_EDOB_LOCAL_ANGV, ACT_EDOB_LOCAL_LINV, ACT_EDOB_REPLACE_MESH, ACT_EDOB_REPLACE_MESH_NOGFX, ACT_EDOB_REPLACE_MESH_PHYS, ACT_EDOB_TRACK_TO, ACT_FORCE_LOCAL, ACT_GAME, ACT_GAME_LOAD, ACT_GAME_LOADCFG, ACT_GAME_QUIT, ACT_GAME_RESTART, ACT_GAME_SAVECFG, ACT_GROUP, ACT_GROUP_FROM_PROP, ACT_GROUP_SET, ACT_IPO, ACT_IPO_FROM_PROP, ACT_IPOADD, ACT_IPOCHILD, ACT_IPOFORCE, ACT_IPOLOCAL, ACT_LIN_VEL_LOCAL, ACT_MESG_MESG, ACT_MESSAGE, ACT_OBJECT, ACT_OBJECT_NORMAL, ACT_OBJECT_SERVO, ACT_PARENT, ACT_PARENT_COMPOUND, ACT_PARENT_GHOST, ACT_PARENT_REMOVE, ACT_PARENT_SET, ACT_PROP_COPY, ACT_PROP_TOGGLE, ACT_PROPERTY, ACT_RANDOM, ACT_RANDOM_BOOL_BERNOUILLI, ACT_RANDOM_BOOL_CONST, ACT_RANDOM_BOOL_UNIFORM, ACT_RANDOM_FLOAT_CONST, ACT_RANDOM_FLOAT_NEGATIVE_EXPONENTIAL, ACT_RANDOM_FLOAT_NORMAL, ACT_RANDOM_FLOAT_UNIFORM, ACT_RANDOM_INT_CONST, ACT_RANDOM_INT_POISSON, ACT_RANDOM_INT_UNIFORM, ACT_SCENE, ACT_SCENE_ADD_BACK, ACT_SCENE_ADD_FRONT, ACT_SCENE_CAMERA, ACT_SCENE_REMOVE, ACT_SCENE_RESTART, ACT_SCENE_RESUME, ACT_SCENE_SET, ACT_SCENE_SUSPEND, ACT_SERVO_LIMIT_X, ACT_SERVO_LIMIT_Y, ACT_SERVO_LIMIT_Z, ACT_SHAPEACTION, ACT_SND_3D_SOUND, ACT_SOUND, ACT_STATE, ACT_TORQUE_LOCAL, ACT_VISIBILITY, ACT_VISIBILITY_INVISIBLE, ACT_VISIBILITY_OCCLUSION, ACT_VISIBILITY_RECURSIVE, bObjectActuator::angularvelocity, bEditObjectActuator::angVelocity, bCameraActuator::axis, B_IDNAME, B_REDR, B_SOUNDACT_BROWSE, BIT, bActionActuator::blendin, bMessageActuator::body, bMessageActuator::bodyType, BUT, bSceneActuator::camera, change_ipo_actuator(), change_object_actuator(), check_armature_actuator(), check_state_mask(), Sound3D::cone_inner_angle, Sound3D::cone_outer_angle, Sound3D::cone_outer_gain, bArmatureActuator::constraint, bConstraintActuator::damp, bObjectActuator::damping, bActuator::data, bRandomActuator::distribution, bObjectActuator::dloc, bObjectActuator::drot, bEditObjectActuator::dyn_operation, ELEM4, bGroupActuator::end, bIpoActuator::end, bActionActuator::end, bActionActuator::end_reset, bGameActuator::filename, ListBase::first, bObjectActuator::flag, bEditObjectActuator::flag, bTwoDFilterActuator::flag, bVisibilityActuator::flag, bConstraintActuator::flag, bIpoActuator::flag, bSoundActuator::flag, bParentActuator::flag, bTwoDFilterActuator::float_arg, bRandomActuator::float_arg_1, bRandomActuator::float_arg_2, FLT_MAX, bObjectActuator::forceloc, bObjectActuator::forcerot, bActionActuator::frameProp, bIpoActuator::frameProp, Object::gameflag, get_state_name(), bCameraActuator::height, ID_AC, ID_ME, ID_OB, ID_SCE, ID_SCRIPT, IDnames_to_pupstring(), bTwoDFilterActuator::int_arg, bRandomActuator::int_arg_1, bRandomActuator::int_arg_2, LABEL, bObjectActuator::linearvelocity, bEditObjectActuator::linVelocity, bEditObjectActuator::localflag, bStateActuator::mask, bEditObjectActuator::mass, bConstraintActuator::matprop, bCameraActuator::max, Sound3D::max_distance, Sound3D::max_gain, MAX_ID_NAME, MAX_NAME, MAX_RENDER_PASS, MAXFRAMEF, bConstraintActuator::maxloc, bConstraintActuator::maxrot, bEditObjectActuator::me, MEM_freeN(), MENU, bCameraActuator::min, Sound3D::min_gain, bConstraintActuator::minloc, bConstraintActuator::minrot, bConstraintActuator::mode, bGroupActuator::name, bPropertyActuator::name, bIpoActuator::name, bActionActuator::name, NULL, NUM, NUMSLI, bPropertyActuator::ob, bCameraActuator::ob, bParentActuator::ob, bEditObjectActuator::ob, OB_ARMATURE, OB_DYNAMIC, bObjectActuator::otype, bSoundActuator::pitch, bArmatureActuator::posechannel, bActionActuator::priority, bRandomActuator::propname, bObjectActuator::reference, Sound3D::reference_distance, Sound3D::rolloff_factor, bConstraintActuator::rotdamp, ROW, bSceneActuator::scene, bRandomActuator::seed, set_col_actuator(), bSoundActuator::sndnr, bSoundActuator::sound, Main::sound, bSoundActuator::sound3D, bActionActuator::sta, bIpoActuator::sta, bGroupActuator::sta, str, bActionActuator::stridelength, bMessageActuator::subject, bArmatureActuator::subtarget, bArmatureActuator::target, test_actionpoin_but(), test_meshpoin_but(), test_obpoin_but(), test_scenepoin_but(), test_scriptpoin_but(), TEX, bTwoDFilterActuator::text, bEditObjectActuator::time, bConstraintActuator::time, TOG, TOGN, bMessageActuator::toPropName, bEditObjectActuator::type, bSceneActuator::type, bActionActuator::type, bSoundActuator::type, bStateActuator::type, bGroupActuator::type, bObjectActuator::type, Object::type, bParentActuator::type, bActuator::type, bConstraintActuator::type, bGameActuator::type, bTwoDFilterActuator::type, bIpoActuator::type, bPropertyActuator::type, bArmatureActuator::type, UI_EMBOSS, uiBlockBeginAlign(), uiBlockEndAlign(), uiBlockSetEmboss(), uiButSetFunc(), uiDefBut(), uiDefButBitI(), uiDefButBitS(), uiDefButF(), uiDefButI(), uiDefButO(), uiDefButS(), uiDefIDPoinBut(), uiEmboss(), update_object_actuator_PID(), bPropertyActuator::value, bSoundActuator::volume, and bArmatureActuator::weight.

Referenced by logic_buttons().

static void draw_brick_actuator ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_brick_controller ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_brick_sensor ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_controller_expression ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3610 of file logic_window.c.

References uiItemR().

Referenced by draw_brick_controller().

static void draw_controller_header ( uiLayout layout,
PointerRNA ptr,
int  xco,
int  width,
int  yco 
) [static]
static void draw_controller_python ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_controller_state ( uiLayout UNUSEDlayout,
PointerRNA UNUSEDptr 
) [static]

Definition at line 3631 of file logic_window.c.

Referenced by draw_brick_controller().

static short draw_controllerbuttons ( bController cont,
uiBlock block,
short  xco,
short  yco,
short  width 
) [static]
static void draw_default_sensor_header ( bSensor sens,
uiBlock block,
short  x,
short  y,
short  w 
) [static]

Draws a toggle for pulse mode, a frequency field and a toggle to invert the value of this sensor. Operates on the shared data block of sensors.

Definition at line 1043 of file logic_window.c.

References bSensor::freq, bSensor::invert, bSensor::level, NUM, bSensor::pulse, SENS_NEG_PULSE_MODE, SENS_PULSE_REPEAT, bSensor::tap, TOG, uiBlockBeginAlign(), uiBlockEndAlign(), uiButSetFunc(), uiDefButS(), uiDefIconButBitS(), and verify_logicbutton_func().

Referenced by draw_sensorbuttons().

static void draw_sensor_actuator ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_armature ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_collision ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_sensor_delay ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3340 of file logic_window.c.

References NULL, uiItemR(), and uiLayoutRow().

Referenced by draw_brick_sensor().

static void draw_sensor_header ( uiLayout layout,
PointerRNA ptr,
PointerRNA logic_ptr 
) [static]
static void draw_sensor_internal_header ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_joystick ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_keyboard ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_message ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3421 of file logic_window.c.

References NULL, and uiItemR().

Referenced by draw_brick_sensor().

static void draw_sensor_mouse ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3426 of file logic_window.c.

References NULL, and uiItemR().

Referenced by draw_brick_sensor().

static void draw_sensor_near ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3431 of file logic_window.c.

References NULL, uiItemR(), and uiLayoutRow().

Referenced by draw_brick_sensor().

static void draw_sensor_property ( uiLayout layout,
PointerRNA ptr 
) [static]
static void draw_sensor_radar ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3470 of file logic_window.c.

References NULL, uiItemR(), and uiLayoutRow().

Referenced by draw_brick_sensor().

static void draw_sensor_random ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3482 of file logic_window.c.

References NULL, and uiItemR().

Referenced by draw_brick_sensor().

static void draw_sensor_ray ( uiLayout layout,
PointerRNA ptr,
bContext C 
) [static]
static void draw_sensor_touch ( uiLayout layout,
PointerRNA ptr 
) [static]

Definition at line 3511 of file logic_window.c.

References NULL, and uiItemR().

Referenced by draw_brick_sensor().

static short draw_sensorbuttons ( Object ob,
bSensor sens,
uiBlock block,
short  xco,
short  yco,
short  width 
) [static]

* uiDefButF(block, NUM, 1, "Margin:", xco+width/2,yco-44,width/2, 19, &ts->dist, 0.0, 10.0, 100, 0, "Extra margin (distance) for larger sensitivity");

Definition at line 1140 of file logic_window.c.

References bRadarSensor::angle, bJoystickSensor::axis, bRadarSensor::axis, bJoystickSensor::axis_single, bJoystickSensor::axisf, bRaySensor::axisflag, B_REDR, bJoystickSensor::button, check_armature_sensor(), bArmatureSensor::constraint, bSensor::data, bDelaySensor::delay, bNearSensor::dist, draw_default_sensor_header(), bDelaySensor::duration, bMouseSensor::flag, bJoystickSensor::flag, bDelaySensor::flag, bJoystickSensor::hat, bJoystickSensor::hatf, ID_MA, bJoystickSensor::joyindex, bKeyboardSensor::key, LABEL, bTouchSensor::ma, bCollisionSensor::materialName, bRaySensor::matname, MAX_NAME, bPropertySensor::maxvalue, MENU, bRaySensor::mode, bCollisionSensor::mode, bPropertySensor::name, bRadarSensor::name, bCollisionSensor::name, bNearSensor::name, bActuatorSensor::name, NULL, NUM, OB_ARMATURE, bArmatureSensor::posechannel, bJoystickSensor::precision, bRaySensor::propname, bKeyboardSensor::qual, bKeyboardSensor::qual2, bRadarSensor::range, bRaySensor::range, bNearSensor::resetdist, bRandomSensor::seed, SENS_ACTUATOR, SENS_ALWAYS, SENS_ARM_STATE_CHANGED, SENS_ARMATURE, SENS_COLLISION, SENS_COLLISION_MATERIAL, SENS_COLLISION_PULSE, SENS_DELAY, SENS_DELAY_REPEAT, SENS_JOY_ANY_EVENT, SENS_JOY_AXIS, SENS_JOY_AXIS_SINGLE, SENS_JOY_BUTTON, SENS_JOY_HAT, SENS_JOY_MAXINDEX, SENS_JOYSTICK, SENS_KEYBOARD, SENS_MESSAGE, SENS_MOUSE, SENS_MOUSE_FOCUS_PULSE, SENS_NEAR, SENS_PROP_CHANGED, SENS_PROP_EXPRESSION, SENS_PROP_INTERVAL, SENS_PROPERTY, SENS_RADAR, SENS_RANDOM, SENS_RAY, SENS_RAY_XRAY, SENS_TOUCH, set_col_sensor(), str, bMessageSensor::subject, bKeyboardSensor::targetName, test_keyboard_event(), test_matpoin_but(), TEX, TOG, bKeyboardSensor::toggleName, bKeyboardSensor::type, bJoystickSensor::type, bPropertySensor::type, Object::type, bArmatureSensor::type, bSensor::type, bMouseSensor::type, uiBlockBeginAlign(), uiBlockEndAlign(), uiButSetFunc(), uiDefBut(), uiDefButBitS(), uiDefButC(), uiDefButF(), uiDefButI(), uiDefButS(), uiDefIDPoinBut(), uiDefKeyevtButS(), uiEmboss(), bPropertySensor::value, and bArmatureSensor::value.

Referenced by logic_buttons().

static int first_bit ( unsigned int  mask) [static]

Definition at line 3127 of file logic_window.c.

Referenced by logic_buttons().

static void get_armature_bone_constraint ( Object ob,
const char *  posechannel,
const char *  constraint_name,
bConstraint **  constraint 
) [static]
static int get_col_actuator ( int  type) [static]
static int get_col_sensor ( int  type) [static]
static ID ** get_selected_and_linked_obs ( bContext C,
short *  count,
short  scavisflag 
) [static]
static char* get_state_name ( Object ob,
short  bit 
) [static]
static int is_sensor_linked ( uiBlock block,
bSensor sens 
) [static]

Definition at line 3208 of file logic_window.c.

References i, bSensor::links, NULL, bSensor::totlinks, and uiFindInlink().

Referenced by logic_buttons(), and logic_buttons_new().

void logic_buttons ( bContext C,
ARegion ar 
)

Definition at line 4790 of file logic_window.c.

References ACT_DEL, ACT_LINKED, ACT_PIN, ACT_SHOW, ACT_VISIBLE, actuator_menu(), actuator_name(), actuator_pup(), Object::actuators, B_ADD_ACT, B_ADD_CONT, B_ADD_SENS, B_CHANGE_ACT, B_CHANGE_CONT, B_CHANGE_SENS, B_DEL_ACT, B_DEL_CONT, B_DEL_SENS, B_INIT_STATE_BIT, B_REDR, B_SET_STATE_BIT, BLI_snprintf(), BUT, BUT_TOGDUAL, BUTS_ACT_ACT, BUTS_ACT_LINK, BUTS_ACT_SEL, BUTS_ACT_STATE, BUTS_CONT_ACT, BUTS_CONT_LINK, BUTS_CONT_SEL, BUTS_SENS_ACT, BUTS_SENS_LINK, BUTS_SENS_SEL, BUTS_SENS_STATE, check_state_mask(), CONT_DEL, CONT_PRIO, CONT_SHOW, controller_menu(), controller_name(), controller_pup(), controller_state_mask_menu(), Object::controllers, cpack, CTX_data_active_object(), CTX_data_main(), CTX_wm_space_logic(), do_logic_buts(), draw_actuatorbuttons(), draw_controllerbuttons(), draw_sensorbuttons(), FALSE, ListBase::first, first_bit(), bController::flag, bSensor::flag, bActuator::flag, G, get_selected_and_linked_obs(), get_state_name(), ICONTOG, Object::id, INLINK, is_sensor_linked(), LABEL, LINK, LINK_ACTUATOR, LINK_CONTROLLER, LINK_SENSOR, bSensor::links, bController::links, logic_buttons_new(), make_unique_prop_names_cb(), MAX_NAME, MEM_freeN(), MENU, bActuator::name, bSensor::name, bController::name, ID::name, bController::next, bSensor::next, bActuator::next, NULL, OB_ADDACT, OB_ADDCONT, OB_ADDSENS, OB_ALLSTATE, OB_DEBUGSTATE, OB_INITSTBIT, OB_SHOWACT, OB_SHOWCONT, OB_SHOWSENS, OB_VIS_ACT, OB_VIS_CONT, OB_VIS_SENS, object_state_mask_menu(), old_sca_move_actuator(), old_sca_move_controller(), old_sca_move_sensor(), bActuator::otype, bSensor::otype, bController::otype, RNA_pointer_create(), RNA_SpaceLogicEditor, Object::scaflag, SpaceLogic::scaflag, Object::scavisflag, SENS_DEL, SENS_PIN, SENS_SHOW, SENS_VISIBLE, sensor_menu(), sensor_name(), sensor_pup(), Object::sensors, set_col_actuator(), set_col_sensor(), Object::state, bController::state_mask, TEX, TOG, bSensor::totlinks, bController::totlinks, TRUE, bActuator::type, bSensor::type, bController::type, UI_EMBOSS, UI_UNIT_X, UI_UNIT_Y, uiBeginBlock(), uiBlockBeginAlign(), uiBlockEndAlign(), uiBlockSetHandleFunc(), uiButSetFunc(), uiComposeLinks(), uiDefBlockBut(), uiDefBut(), uiDefButBitI(), uiDefButBitS(), uiDefButS(), uiDefIconBut(), uiDefIconButBitS(), uiDrawBlock(), uiEndBlock(), and uiSetButLink().

Referenced by logic_main_area_draw().

static void logic_buttons_new ( bContext C,
ARegion ar 
) [static]

Definition at line 4479 of file logic_window.c.

References ACT_LINKED, ACT_PIN, ACT_VISIBLE, actuator_menu(), Object::actuators, B_REDR, BLI_snprintf(), BUTS_ACT_STATE, BUTS_SENS_STATE, controller_menu(), Object::controllers, CTX_data_active_object(), CTX_wm_space_logic(), do_logic_buts(), draw_actuator_header(), draw_brick_actuator(), draw_brick_controller(), draw_brick_sensor(), draw_controller_header(), draw_sensor_header(), ListBase::first, bActuator::flag, bSensor::flag, get_selected_and_linked_obs(), Object::id, INLINK, is_sensor_linked(), LINK, LINK_ACTUATOR, LINK_CONTROLLER, LINK_SENSOR, bController::links, bSensor::links, MEM_freeN(), ID::name, bController::next, bSensor::next, bActuator::next, NULL, OB_ALLSTATE, OB_SHOWACT, OB_SHOWCONT, OB_SHOWSENS, OB_VIS_ACT, OB_VIS_CONT, OB_VIS_SENS, RNA_Actuator, RNA_boolean_get(), RNA_Controller, RNA_GameObjectSettings, RNA_pointer_create(), RNA_Sensor, RNA_SpaceLogicEditor, Object::scaflag, SpaceLogic::scaflag, Object::scavisflag, SENS_PIN, SENS_VISIBLE, sensor_menu(), Object::sensors, split(), Object::state, bController::state_mask, TOG, bController::totlinks, bSensor::totlinks, UI_EMBOSS, UI_GetStyle(), UI_ITEM_R_NO_BG, UI_ITEM_R_TOGGLE, UI_LAYOUT_ALIGN_LEFT, UI_LAYOUT_PANEL, UI_LAYOUT_VERTICAL, UI_UNIT_X, UI_UNIT_Y, uiBeginBlock(), uiBlockLayout(), uiBlockLayoutResolve(), uiBlockSetHandleFunc(), uiComposeLinks(), uiDefBlockBut(), uiDefButBitS(), uiDefIconBut(), uiDrawBlock(), uiEndBlock(), uiItemL(), uiItemMenuEnumO(), uiItemR(), uiItemS(), uiLayoutBox(), uiLayoutColumn(), uiLayoutRow(), uiLayoutSetActive(), uiLayoutSetAlignment(), uiLayoutSetContextPointer(), uiLayoutSplit(), uiSetButLink(), and uiTemplateLayers().

Referenced by logic_buttons().

void make_unique_prop_names ( bContext C,
char *  str 
)
static void make_unique_prop_names_cb ( bContext C,
void *  strv,
void *  UNUSEDredraw_view3d_flagv 
) [static]

Definition at line 190 of file logic_window.c.

References make_unique_prop_names(), and str.

Referenced by logic_buttons().

static uiBlock* object_state_mask_menu ( bContext C,
ARegion ar,
void *  arg_obj 
) [static]
static void old_sca_move_actuator ( bContext C,
void *  datav,
void *  move_up 
) [static]
static void old_sca_move_controller ( bContext C,
void *  datav,
void *  move_up 
) [static]
static void old_sca_move_sensor ( bContext C,
void *  datav,
void *  move_up 
) [static]
static uiBlock* sensor_menu ( bContext C,
ARegion ar,
void *  UNUSEDarg 
) [static]
static const char* sensor_name ( int  type) [static]
static const char* sensor_pup ( void  ) [static]

Definition at line 638 of file logic_window.c.

Referenced by logic_buttons().

static void set_col_actuator ( int  item,
int  medium 
) [static]

Definition at line 1752 of file logic_window.c.

References get_col_actuator(), and UI_ThemeColorShade().

Referenced by draw_actuatorbuttons(), and logic_buttons().

static void set_col_sensor ( int  type,
int  medium 
) [static]

Definition at line 967 of file logic_window.c.

References get_col_sensor(), and UI_ThemeColorShade().

Referenced by draw_sensorbuttons(), and logic_buttons().

static void set_sca_ob ( Object ob) [static]
static void test_actionpoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 991 of file logic_window.c.

References BLI_findstring(), CTX_data_main(), and id_us_plus().

Referenced by draw_actuatorbuttons().

static void test_keyboard_event ( struct bContext UNUSEDC,
void *  arg_ks,
void *  UNUSEDarg 
) [static]
static void test_matpoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 1013 of file logic_window.c.

References BLI_findstring(), CTX_data_main(), and id_us_plus().

Referenced by draw_sensorbuttons().

static void test_meshpoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 1006 of file logic_window.c.

References BLI_findstring(), CTX_data_main(), and id_us_plus().

Referenced by draw_actuatorbuttons().

static void test_obpoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 999 of file logic_window.c.

References BLI_findstring(), CTX_data_main(), and id_lib_extern().

Referenced by draw_actuatorbuttons().

static void test_scenepoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 1020 of file logic_window.c.

References BLI_findstring(), CTX_data_main(), and id_us_plus().

Referenced by draw_actuatorbuttons().

static void test_scriptpoin_but ( struct bContext C,
const char *  name,
ID **  idpp 
) [static]

Definition at line 986 of file logic_window.c.

References BLI_findstring(), and CTX_data_main().

Referenced by draw_actuatorbuttons(), and draw_controllerbuttons().

static void update_object_actuator_PID ( bContext UNUSEDC,
void *  act,
void *  UNUSEDarg 
) [static]

Definition at line 1795 of file logic_window.c.

References bObjectActuator::forcerot.

Referenced by draw_actuatorbuttons().

static int vergname ( const void *  v1,
const void *  v2 
) [static]

Definition at line 105 of file logic_window.c.

Referenced by make_unique_prop_names().

static void verify_logicbutton_func ( bContext UNUSEDC,
void *  data1,
void *  data2 
) [static]

Definition at line 974 of file logic_window.c.

References bSensor::level, and bSensor::tap.

Referenced by draw_default_sensor_header().