22 #define DNA_DEPRECATED_ALLOW
30 #ifdef WITH_INTERNATIONAL
57 #define U BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
62 #define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver)
67 #define FROM_DEFAULT_V4_UCHAR(member) copy_v4_v4_uchar(btheme->member, U_theme_default.member)
293 #undef FROM_DEFAULT_V4_UCHAR
295 #undef USER_VERSION_ATLEAST
299 #define USER_LMOUSESELECT (1 << 14)
305 ACTIONMOUSE = 0x0005,
306 SELECTMOUSE = 0x0006,
307 EVT_TWEAK_A = 0x5005,
308 EVT_TWEAK_S = 0x5006,
346 #define USER_VERSION_ATLEAST(ver, subver) MAIN_VERSION_ATLEAST(userdef, ver, subver)
452 strcpy(km->
idname,
"Armature Sketch");
455 strcpy(km->
idname,
"3D View");
458 strcpy(km->
idname,
"3D View Generic");
461 strcpy(km->
idname,
"Mesh");
464 strcpy(km->
idname,
"UV Editor");
466 else if (
STREQ(km->
idname,
"Animation_Channels")) {
467 strcpy(km->
idname,
"Animation Channels");
470 strcpy(km->
idname,
"Graph Editor");
473 strcpy(km->
idname,
"Graph Editor Generic");
476 strcpy(km->
idname,
"Dopesheet");
479 strcpy(km->
idname,
"NLA Editor");
482 strcpy(km->
idname,
"Node Editor");
485 strcpy(km->
idname,
"Logic Editor");
488 strcpy(km->
idname,
"File Browser");
491 strcpy(km->
idname,
"File Browser Main");
494 strcpy(km->
idname,
"File Browser Buttons");
497 strcpy(km->
idname,
"Property Editor");
601 userdef->gpu_viewport_quality = 0.6f;
624 if (kmdi->remove_item) {
627 if (kmdi->add_item) {
724 const float GPU_VIEWPORT_QUALITY_FXAA = 0.10f;
725 const float GPU_VIEWPORT_QUALITY_TAA8 = 0.25f;
726 const float GPU_VIEWPORT_QUALITY_TAA16 = 0.6f;
727 const float GPU_VIEWPORT_QUALITY_TAA32 = 0.8f;
729 if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_FXAA) {
732 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA8) {
735 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA16) {
738 else if (userdef->gpu_viewport_quality <= GPU_VIEWPORT_QUALITY_TAA32) {
789 .check_diff_item_add =
true,
847 const char *replace_table[][2] = {
848 {
"blender",
"Blender"},
849 {
"blender_27x",
"Blender_27x"},
850 {
"industry_compatible",
"Industry_Compatible"},
852 const int replace_table_len =
ARRAY_SIZE(replace_table);
858 kpt->idname,
sizeof(kpt->idname), replace_table, replace_table_len);
893 #undef USER_VERSION_ATLEAST
914 #undef USER_LMOUSESELECT
struct bAddon * BKE_addon_ensure(struct ListBase *addon_list, const char *module)
bool BKE_addon_remove_safe(struct ListBase *addon_list, const char *module)
bool BKE_blender_version_is_alpha(void)
void BKE_colorband_init(struct ColorBand *coba, bool rangetype)
struct IDProperty * IDP_GetPropertyFromGroup(const struct IDProperty *prop, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_keyconfig_pref_filter_items(struct UserDef *userdef, const struct wmKeyConfigFilterItemParams *params, bool(*filter_fn)(struct wmKeyMapItem *kmi, void *user_data), void *user_data)
void BKE_keyconfig_pref_set_select_mouse(struct UserDef *userdef, int value, bool override)
void BKE_preferences_asset_library_default_add(struct UserDef *userdef) ATTR_NONNULL()
BLI_INLINE bool BLI_listbase_is_empty(const struct ListBase *lb)
#define LISTBASE_FOREACH(type, var, list)
MINLINE void copy_v4_fl4(float v[4], float x, float y, float z, float w)
MINLINE void copy_v4_v4_uchar(unsigned char r[4], const unsigned char a[4])
MINLINE void copy_v3_v3_uchar(unsigned char r[3], const unsigned char a[3])
MINLINE void copy_v3_fl3(float v[3], float x, float y, float z)
bool BLI_str_replace_table_exact(char *string, const size_t string_len, const char *replace_table[][2], int replace_table_len)
#define ARRAY_SET_ITEMS(...)
#define MEMSET_STRUCT_AFTER(struct_var, value, member)
external readfile function prototypes.
const struct UserDef U_default
const struct bTheme U_theme_default
@ FCURVE_SMOOTH_CONT_ACCEL
Object groups, one object can be in many groups at once.
@ SCE_DISPLAY_AA_SAMPLES_32
@ SCE_DISPLAY_AA_SAMPLES_8
@ SCE_DISPLAY_AA_SAMPLES_16
@ USER_DOTRANSLATE_DEPRECATED
@ USER_LOCK_CURSOR_ADJUST
@ USER_SHOW_GIZMO_NAVIGATE
@ USER_GPU_FLAG_OVERLAY_SMOOTH_WIRE
@ USER_SEQ_PROXY_SETUP_AUTOMATIC
@ USER_FLAG_NUMINPUT_ADVANCED
@ USER_RENDER_DISPLAY_WINDOW
@ AUTOKEY_FLAG_ONLYKEYINGSET
@ USER_TEMP_SPACE_DISPLAY_WINDOW
unsigned char anim_active[4]
unsigned char navigation_bar[4]
unsigned char obcenter_dia
unsigned char nla_track[4]
unsigned char anim_preview_range[4]
unsigned char grid_levels
unsigned char execution_buts[4]
unsigned char row_alternate[4]
unsigned char transparent_checker_size
struct WalkNavigation walk_navigation
float pressure_threshold_max
float view_rotate_sensitivity_trackball
short pie_animation_timeout
float ndof_orbit_sensitivity
float view_rotate_sensitivity_turntable
UserDef_FileSpaceData file_space_data
UserDef_Experimental experimental
struct ListBase user_keymaps
char drag_threshold_mouse
float gpencil_new_layer_col[4]
short lookdev_sphere_size
char gizmo_size_navigate_v3d
short sequencer_proxy_setup
struct ListBase user_keyconfig_prefs
char drag_threshold_tablet
struct SolidLight light_param[4]
char filebrowser_display_type
float collection_instance_empty_size
struct ListBase asset_libraries
struct ColorBand coba_weight
ThemeSpace space_outliner
ThemeSpace space_preferences
ThemeSpace space_spreadsheet
void BLO_sanitize_experimental_features_userpref_blend(UserDef *userdef)
#define USER_VERSION_ATLEAST(ver, subver)
#define FROM_DEFAULT_V4_UCHAR(member)
#define USER_LMOUSESELECT
void blo_do_versions_userdef(UserDef *userdef)
static bool keymap_item_has_invalid_wm_context_data_path(wmKeyMapItem *kmi, void *UNUSED(user_data))
static void do_version_select_mouse(UserDef *userdef, wmKeyMapItem *kmi)
static void do_versions_theme(const UserDef *userdef, bTheme *btheme)