diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-09-11 21:34:55 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-09-11 21:58:09 +0300 |
commit | 9a076dd95a01135ea50f9ccc675668db9f2155f4 (patch) | |
tree | a26c4ef274e5fbf469844009e9065e6c6e94ca8c /source/blender/blenkernel | |
parent | 2f08a25d8300bc18b588d18bfa8099ead52ff5bb (diff) |
DNA: defaults for ID types
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/BKE_curve.h | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/brush.c | 120 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/camera.c | 21 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/curve.c | 36 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lattice.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/library.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/light.c | 36 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/lightprobe.c | 15 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/linestyle.c | 28 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/mball.c | 8 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/speaker.c | 14 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/texture.c | 116 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/world.c | 12 |
14 files changed, 85 insertions, 339 deletions
diff --git a/source/blender/blenkernel/BKE_curve.h b/source/blender/blenkernel/BKE_curve.h index be49ca150b2..aeff6007292 100644 --- a/source/blender/blenkernel/BKE_curve.h +++ b/source/blender/blenkernel/BKE_curve.h @@ -72,7 +72,7 @@ typedef struct CVKeyIndex { /* ** Curve ** */ void BKE_curve_free(struct Curve *cu); void BKE_curve_editfont_free(struct Curve *cu); -void BKE_curve_init(struct Curve *cu); +void BKE_curve_init(struct Curve *cu, const short curve_type); struct Curve *BKE_curve_add(struct Main *bmain, const char *name, int type); void BKE_curve_copy_data(struct Main *bmain, struct Curve *cu_dst, diff --git a/source/blender/blenkernel/intern/brush.c b/source/blender/blenkernel/intern/brush.c index bdc836225c9..29c4ae624e9 100644 --- a/source/blender/blenkernel/intern/brush.c +++ b/source/blender/blenkernel/intern/brush.c @@ -24,6 +24,7 @@ #include "DNA_scene_types.h" #include "DNA_object_types.h" #include "DNA_gpencil_types.h" +#include "DNA_defaults.h" #include "BLI_math.h" #include "BLI_rand.h" @@ -60,74 +61,48 @@ void BKE_brush_system_exit(void) static void brush_defaults(Brush *brush) { - brush->blend = 0; - brush->flag = 0; - - brush->ob_mode = OB_MODE_ALL_PAINT; - - /* BRUSH SCULPT TOOL SETTINGS */ - brush->weight = 1.0f; /* weight of brush 0 - 1.0 */ - brush->size = 35; /* radius of the brush in pixels */ - brush->alpha = 0.5f; /* brush strength/intensity probably variable should be renamed? */ - brush->autosmooth_factor = 0.0f; - brush->topology_rake_factor = 0.0f; - brush->crease_pinch_factor = 0.5f; - brush->normal_radius_factor = 0.5f; - brush->sculpt_plane = SCULPT_DISP_DIR_AREA; - /* How far above or below the plane that is found by averaging the faces. */ - brush->plane_offset = 0.0f; - brush->plane_trim = 0.5f; - brush->clone.alpha = 0.5f; - brush->normal_weight = 0.0f; - brush->fill_threshold = 0.2f; - brush->flag |= BRUSH_ALPHA_PRESSURE; - - /* BRUSH PAINT TOOL SETTINGS */ - /* Default rgb color of the brush when painting - white. */ - brush->rgb[0] = 1.0f; - brush->rgb[1] = 1.0f; - brush->rgb[2] = 1.0f; - - zero_v3(brush->secondary_rgb); - - /* BRUSH STROKE SETTINGS */ - brush->flag |= (BRUSH_SPACE | BRUSH_SPACE_ATTEN); - /* How far each brush dot should be spaced as a percentage of brush diameter. */ - brush->spacing = 10; - - brush->smooth_stroke_radius = 75; - brush->smooth_stroke_factor = 0.9f; - - /* Time delay between dots of paint or sculpting when doing airbrush mode. */ - brush->rate = 0.1f; - - brush->jitter = 0.0f; - - /* BRUSH TEXTURE SETTINGS */ - BKE_texture_mtex_default(&brush->mtex); - BKE_texture_mtex_default(&brush->mask_mtex); - - brush->texture_sample_bias = 0; /* value to added to texture samples */ - brush->texture_overlay_alpha = 33; - brush->mask_overlay_alpha = 33; - brush->cursor_overlay_alpha = 33; - brush->overlay_flags = 0; - - /* brush appearance */ - - brush->add_col[0] = 1.00; /* add mode color is light red */ - brush->add_col[1] = 0.39; - brush->add_col[2] = 0.39; - - brush->sub_col[0] = 0.39; /* subtract mode color is light blue */ - brush->sub_col[1] = 0.39; - brush->sub_col[2] = 1.00; - - brush->stencil_pos[0] = 256; - brush->stencil_pos[1] = 256; - - brush->stencil_dimension[0] = 256; - brush->stencil_dimension[1] = 256; + + const Brush *brush_def = DNA_struct_default_get(Brush); + +#define FROM_DEFAULT(member) memcpy(&brush->member, &brush_def->member, sizeof(brush->member)) +#define FROM_DEFAULT_PTR(member) memcpy(brush->member, brush_def->member, sizeof(brush->member)) + + FROM_DEFAULT(blend); + FROM_DEFAULT(flag); + FROM_DEFAULT(weight); + FROM_DEFAULT(size); + FROM_DEFAULT(alpha); + FROM_DEFAULT(autosmooth_factor); + FROM_DEFAULT(topology_rake_factor); + FROM_DEFAULT(crease_pinch_factor); + FROM_DEFAULT(normal_radius_factor); + FROM_DEFAULT(sculpt_plane); + FROM_DEFAULT(plane_offset); + FROM_DEFAULT(clone.alpha); + FROM_DEFAULT(normal_weight); + FROM_DEFAULT(fill_threshold); + FROM_DEFAULT(flag); + FROM_DEFAULT_PTR(rgb); + FROM_DEFAULT_PTR(secondary_rgb); + FROM_DEFAULT(spacing); + FROM_DEFAULT(smooth_stroke_radius); + FROM_DEFAULT(smooth_stroke_factor); + FROM_DEFAULT(rate); + FROM_DEFAULT(jitter); + FROM_DEFAULT(texture_sample_bias); + FROM_DEFAULT(texture_overlay_alpha); + FROM_DEFAULT(mask_overlay_alpha); + FROM_DEFAULT(cursor_overlay_alpha); + FROM_DEFAULT(overlay_flags); + FROM_DEFAULT_PTR(add_col); + FROM_DEFAULT_PTR(sub_col); + FROM_DEFAULT(stencil_pos); + FROM_DEFAULT(stencil_dimension); + FROM_DEFAULT(mtex); + FROM_DEFAULT(mask_mtex); + +#undef FROM_DEFAULT +#undef FROM_DEFAULT_PTR } /* Datablock add/copy/free/make_local */ @@ -136,16 +111,11 @@ void BKE_brush_init(Brush *brush) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(brush, id)); + MEMCPY_STRUCT_AFTER(brush, DNA_struct_default_get(Brush), id); + /* enable fake user by default */ id_fake_user_set(&brush->id); - brush_defaults(brush); - - brush->sculpt_tool = SCULPT_TOOL_DRAW; /* sculpting defaults to the draw tool for new brushes */ - - /* A kernel radius of 1 has almost no effect (T63233). */ - brush->blur_kernel_radius = 2; - /* the default alpha falloff curve */ BKE_brush_curve_preset(brush, CURVE_PRESET_SMOOTH); } diff --git a/source/blender/blenkernel/intern/camera.c b/source/blender/blenkernel/intern/camera.c index a563a8d581c..f70c5bb99d6 100644 --- a/source/blender/blenkernel/intern/camera.c +++ b/source/blender/blenkernel/intern/camera.c @@ -30,6 +30,7 @@ #include "DNA_scene_types.h" #include "DNA_view3d_types.h" #include "DNA_ID.h" +#include "DNA_defaults.h" #include "BLI_math.h" #include "BLI_listbase.h" @@ -56,25 +57,7 @@ void BKE_camera_init(Camera *cam) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(cam, id)); - cam->lens = 50.0f; - cam->sensor_x = DEFAULT_SENSOR_WIDTH; - cam->sensor_y = DEFAULT_SENSOR_HEIGHT; - cam->clip_start = 0.1f; - cam->clip_end = 1000.0f; - cam->drawsize = 1.0f; - cam->ortho_scale = 6.0; - cam->flag |= CAM_SHOWPASSEPARTOUT; - cam->passepartalpha = 0.5f; - - cam->dof.aperture_fstop = 2.8f; - cam->dof.aperture_ratio = 1.0f; - cam->dof.focus_distance = 10.0f; - - /* stereoscopy 3d */ - cam->stereo.interocular_distance = 0.065f; - cam->stereo.convergence_distance = 30.f * 0.065f; - cam->stereo.pole_merge_angle_from = DEG2RADF(60.0f); - cam->stereo.pole_merge_angle_to = DEG2RADF(75.0f); + MEMCPY_STRUCT_AFTER(cam, DNA_struct_default_get(Camera), id); } void *BKE_camera_add(Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c index 861663fdd6b..5f9a726d34a 100644 --- a/source/blender/blenkernel/intern/curve.c +++ b/source/blender/blenkernel/intern/curve.c @@ -36,6 +36,7 @@ #include "DNA_anim_types.h" #include "DNA_curve_types.h" #include "DNA_material_types.h" +#include "DNA_defaults.h" /* for dereferencing pointers */ #include "DNA_key_types.h" @@ -145,28 +146,13 @@ void BKE_curve_free(Curve *cu) MEM_SAFE_FREE(cu->tb); } -void BKE_curve_init(Curve *cu) -{ - /* BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(cu, id)); */ /* cu->type is already initialized... */ - - copy_v3_fl(cu->size, 1.0f); - cu->flag = CU_DEFORM_BOUNDS_OFF | CU_PATH_RADIUS; - cu->pathlen = 100; - cu->resolu = cu->resolv = (cu->type == OB_SURF) ? 4 : 12; - cu->width = 1.0; - cu->wordspace = 1.0; - cu->spacing = cu->linedist = 1.0; - cu->fsize = 1.0; - cu->ulheight = 0.05; - cu->texflag = CU_AUTOSPACE; - cu->smallcaps_scale = 0.75f; - /* XXX: this one seems to be the best one in most cases, at least for curve deform... */ - cu->twist_mode = CU_TWIST_MINIMUM; - cu->bevfac1 = 0.0f; - cu->bevfac2 = 1.0f; - cu->bevfac1_mapping = CU_BEVFAC_MAP_RESOLU; - cu->bevfac2_mapping = CU_BEVFAC_MAP_RESOLU; - cu->bevresol = 4; +void BKE_curve_init(Curve *cu, const short curve_type) +{ + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(cu, id)); + + MEMCPY_STRUCT_AFTER(cu, DNA_struct_default_get(Curve), id); + + cu->type = curve_type; cu->bb = BKE_boundbox_alloc_unit(); @@ -182,6 +168,9 @@ void BKE_curve_init(Curve *cu) cu->tb = MEM_calloc_arrayN(MAXTEXTBOX, sizeof(TextBox), "textbox"); cu->tb[0].w = cu->tb[0].h = 0.0; } + else if (cu->type == OB_SURF) { + cu->resolv = 4; + } } Curve *BKE_curve_add(Main *bmain, const char *name, int type) @@ -189,9 +178,8 @@ Curve *BKE_curve_add(Main *bmain, const char *name, int type) Curve *cu; cu = BKE_libblock_alloc(bmain, ID_CU, name, 0); - cu->type = type; - BKE_curve_init(cu); + BKE_curve_init(cu, type); return cu; } diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 523c0199daa..3718e35176f 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -57,6 +57,7 @@ #include "DNA_meshdata_types.h" #include "DNA_light_types.h" #include "DNA_world_types.h" +#include "DNA_defaults.h" #include "BLI_blenlib.h" #include "BLI_math_vector.h" @@ -298,10 +299,7 @@ static void image_init(Image *ima, short source, short type) ima->ok = IMA_OK; - ima->aspx = ima->aspy = 1.0; - ima->gen_x = 1024; - ima->gen_y = 1024; - ima->gen_type = IMA_GENTYPE_GRID; + MEMCPY_STRUCT_AFTER(ima, DNA_struct_default_get(Image), id); ima->source = source; ima->type = type; @@ -318,8 +316,6 @@ static void image_init(Image *ima, short source, short type) BKE_color_managed_colorspace_settings_init(&ima->colorspace_settings); ima->stereo3d_format = MEM_callocN(sizeof(Stereo3dFormat), "Image Stereo Format"); - - ima->gpuframenr = INT_MAX; } void BKE_image_init(struct Image *image) diff --git a/source/blender/blenkernel/intern/lattice.c b/source/blender/blenkernel/intern/lattice.c index e46b7ca5130..72b531c446a 100644 --- a/source/blender/blenkernel/intern/lattice.c +++ b/source/blender/blenkernel/intern/lattice.c @@ -41,6 +41,7 @@ #include "DNA_lattice_types.h" #include "DNA_curve_types.h" #include "DNA_key_types.h" +#include "DNA_defaults.h" #include "BKE_animsys.h" #include "BKE_anim.h" @@ -248,13 +249,10 @@ void BKE_lattice_init(Lattice *lt) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(lt, id)); - lt->flag = LT_GRID; - - lt->typeu = lt->typev = lt->typew = KEY_BSPLINE; + MEMCPY_STRUCT_AFTER(lt, DNA_struct_default_get(Lattice), id); lt->def = MEM_callocN(sizeof(BPoint), "lattvert"); /* temporary */ BKE_lattice_resize(lt, 2, 2, 2, NULL); /* creates a uniform lattice */ - lt->actbp = LT_ACTBP_NONE; } Lattice *BKE_lattice_add(Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c index f6a5504acb2..f37d1dd5eed 100644 --- a/source/blender/blenkernel/intern/library.c +++ b/source/blender/blenkernel/intern/library.c @@ -1271,7 +1271,7 @@ void BKE_libblock_init_empty(ID *id) BKE_mesh_init((Mesh *)id); break; case ID_CU: - BKE_curve_init((Curve *)id); + BKE_curve_init((Curve *)id, 0); break; case ID_MB: BKE_mball_init((MetaBall *)id); diff --git a/source/blender/blenkernel/intern/light.c b/source/blender/blenkernel/intern/light.c index 07ec8d70af1..05fcba5c30d 100644 --- a/source/blender/blenkernel/intern/light.c +++ b/source/blender/blenkernel/intern/light.c @@ -32,6 +32,7 @@ #include "DNA_object_types.h" #include "DNA_scene_types.h" #include "DNA_texture_types.h" +#include "DNA_defaults.h" #include "BLI_math.h" #include "BLI_utildefines.h" @@ -48,40 +49,9 @@ void BKE_light_init(Light *la) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(la, id)); - la->r = la->g = la->b = la->k = 1.0f; - la->energy = 10.0f; - la->dist = 25.0f; - la->spotsize = DEG2RADF(45.0f); - la->spotblend = 0.15f; - la->att2 = 1.0f; - la->mode = LA_SHADOW; - la->bufsize = 512; - la->clipsta = 0.05f; - la->clipend = 40.0f; - la->bleedexp = 2.5f; - la->samp = 3; - la->bias = 1.0f; - la->soft = 3.0f; - la->area_size = la->area_sizey = la->area_sizez = 0.25f; - la->buffers = 1; - la->preview = NULL; - la->falloff_type = LA_FALLOFF_INVSQUARE; - la->coeff_const = 1.0f; - la->coeff_lin = 0.0f; - la->coeff_quad = 0.0f; - la->curfalloff = BKE_curvemapping_add(1, 0.0f, 1.0f, 1.0f, 0.0f); - la->cascade_max_dist = 200.0f; - la->cascade_count = 4; - la->cascade_exponent = 0.8f; - la->cascade_fade = 0.1f; - la->contact_dist = 0.2f; - la->contact_bias = 0.03f; - la->contact_spread = 0.2f; - la->contact_thickness = 0.2f; - la->spec_fac = 1.0f; - la->att_dist = 40.0f; - la->sun_angle = DEG2RADF(0.526f); + MEMCPY_STRUCT_AFTER(la, DNA_struct_default_get(Light), id); + la->curfalloff = BKE_curvemapping_add(1, 0.0f, 1.0f, 1.0f, 0.0f); BKE_curvemapping_initialize(la->curfalloff); } diff --git a/source/blender/blenkernel/intern/lightprobe.c b/source/blender/blenkernel/intern/lightprobe.c index 1c2f8d22f3e..06f1ee5050b 100644 --- a/source/blender/blenkernel/intern/lightprobe.c +++ b/source/blender/blenkernel/intern/lightprobe.c @@ -21,8 +21,11 @@ * \ingroup bke */ +#include <string.h> + #include "DNA_object_types.h" #include "DNA_lightprobe_types.h" +#include "DNA_defaults.h" #include "BLI_utildefines.h" @@ -35,17 +38,7 @@ void BKE_lightprobe_init(LightProbe *probe) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(probe, id)); - probe->grid_resolution_x = probe->grid_resolution_y = probe->grid_resolution_z = 4; - probe->distinf = 2.5f; - probe->distpar = 2.5f; - probe->falloff = 0.2f; - probe->clipsta = 0.8f; - probe->clipend = 40.0f; - probe->vis_bias = 1.0f; - probe->vis_blur = 0.2f; - probe->intensity = 1.0f; - - probe->flag = LIGHTPROBE_FLAG_SHOW_INFLUENCE; + MEMCPY_STRUCT_AFTER(probe, DNA_struct_default_get(LightProbe), id); } void *BKE_lightprobe_add(Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/linestyle.c b/source/blender/blenkernel/intern/linestyle.c index e5fa5ff08b0..3436bd7a978 100644 --- a/source/blender/blenkernel/intern/linestyle.c +++ b/source/blender/blenkernel/intern/linestyle.c @@ -30,6 +30,7 @@ #include "DNA_object_types.h" #include "DNA_material_types.h" /* for ramp blend */ #include "DNA_texture_types.h" +#include "DNA_defaults.h" #include "BLI_blenlib.h" #include "BLI_math.h" @@ -76,34 +77,9 @@ void BKE_linestyle_init(FreestyleLineStyle *linestyle) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(linestyle, id)); - linestyle->panel = LS_PANEL_STROKES; - linestyle->r = linestyle->g = linestyle->b = 0.0f; - linestyle->alpha = 1.0f; - linestyle->thickness = 3.0f; - linestyle->thickness_position = LS_THICKNESS_CENTER; - linestyle->thickness_ratio = 0.5f; - linestyle->flag = LS_SAME_OBJECT | LS_NO_SORTING | LS_TEXTURE; - linestyle->chaining = LS_CHAINING_PLAIN; - linestyle->rounds = 3; - linestyle->min_angle = DEG2RADF(0.0f); - linestyle->max_angle = DEG2RADF(0.0f); - linestyle->min_length = 0.0f; - linestyle->max_length = 10000.0f; - linestyle->split_length = 100; - linestyle->chain_count = 10; - linestyle->sort_key = LS_SORT_KEY_DISTANCE_FROM_CAMERA; - linestyle->integration_type = LS_INTEGRATION_MEAN; - linestyle->texstep = 1.0f; - linestyle->pr_texture = TEX_PR_TEXTURE; - - BLI_listbase_clear(&linestyle->color_modifiers); - BLI_listbase_clear(&linestyle->alpha_modifiers); - BLI_listbase_clear(&linestyle->thickness_modifiers); - BLI_listbase_clear(&linestyle->geometry_modifiers); + MEMCPY_STRUCT_AFTER(linestyle, DNA_struct_default_get(FreestyleLineStyle), id); BKE_linestyle_geometry_modifier_add(linestyle, NULL, LS_MODIFIER_SAMPLING); - - linestyle->caps = LS_CAPS_BUTT; } FreestyleLineStyle *BKE_linestyle_new(struct Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/mball.c b/source/blender/blenkernel/intern/mball.c index 19009322975..b127d5d4d0e 100644 --- a/source/blender/blenkernel/intern/mball.c +++ b/source/blender/blenkernel/intern/mball.c @@ -39,6 +39,7 @@ #include "DNA_object_types.h" #include "DNA_meta_types.h" #include "DNA_scene_types.h" +#include "DNA_defaults.h" #include "BLI_blenlib.h" #include "BLI_math.h" @@ -79,12 +80,7 @@ void BKE_mball_init(MetaBall *mb) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(mb, id)); - mb->size[0] = mb->size[1] = mb->size[2] = 1.0; - mb->texflag = MB_AUTOSPACE; - - mb->wiresize = 0.4f; - mb->rendersize = 0.2f; - mb->thresh = 0.6f; + MEMCPY_STRUCT_AFTER(mb, DNA_struct_default_get(MetaBall), id); } MetaBall *BKE_mball_add(Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/speaker.c b/source/blender/blenkernel/intern/speaker.c index c7a0d65a2a9..46a74e25b8b 100644 --- a/source/blender/blenkernel/intern/speaker.c +++ b/source/blender/blenkernel/intern/speaker.c @@ -21,6 +21,7 @@ #include "DNA_object_types.h" #include "DNA_sound_types.h" #include "DNA_speaker_types.h" +#include "DNA_defaults.h" #include "BLI_math.h" #include "BLI_utildefines.h" @@ -34,18 +35,7 @@ void BKE_speaker_init(Speaker *spk) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(spk, id)); - spk->attenuation = 1.0f; - spk->cone_angle_inner = 360.0f; - spk->cone_angle_outer = 360.0f; - spk->cone_volume_outer = 1.0f; - spk->distance_max = FLT_MAX; - spk->distance_reference = 1.0f; - spk->flag = 0; - spk->pitch = 1.0f; - spk->sound = NULL; - spk->volume = 1.0f; - spk->volume_max = 1.0f; - spk->volume_min = 0.0f; + MEMCPY_STRUCT_AFTER(spk, DNA_struct_default_get(Speaker), id); } void *BKE_speaker_add(Main *bmain, const char *name) diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c index 5c03b7730aa..fb8697b1ee0 100644 --- a/source/blender/blenkernel/intern/texture.c +++ b/source/blender/blenkernel/intern/texture.c @@ -41,6 +41,7 @@ #include "DNA_color_types.h" #include "DNA_particle_types.h" #include "DNA_linestyle_types.h" +#include "DNA_defaults.h" #include "IMB_imbuf.h" @@ -214,56 +215,11 @@ void BKE_texture_free(Tex *tex) void BKE_texture_default(Tex *tex) { - /* Not here, can be called with some pointers set. :/ */ - /* BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(tex, id)); */ - - tex->type = TEX_IMAGE; - tex->ima = NULL; - tex->stype = 0; - tex->flag = TEX_CHECKER_ODD; - tex->imaflag = TEX_INTERPOL | TEX_MIPMAP | TEX_USEALPHA; - tex->extend = TEX_REPEAT; - tex->cropxmin = tex->cropymin = 0.0; - tex->cropxmax = tex->cropymax = 1.0; - tex->texfilter = TXF_EWA; - tex->afmax = 8; - tex->xrepeat = tex->yrepeat = 1; - tex->sfra = 1; - tex->frames = 0; - tex->offset = 0; - tex->noisesize = 0.25; - tex->noisedepth = 2; - tex->turbul = 5.0; - tex->nabla = 0.025; // also in do_versions - tex->bright = 1.0; - tex->contrast = 1.0; - tex->saturation = 1.0; - tex->filtersize = 1.0; - tex->rfac = 1.0; - tex->gfac = 1.0; - tex->bfac = 1.0; - /* newnoise: init. */ - tex->noisebasis = 0; - tex->noisebasis2 = 0; - /* musgrave */ - tex->mg_H = 1.0; - tex->mg_lacunarity = 2.0; - tex->mg_octaves = 2.0; - tex->mg_offset = 1.0; - tex->mg_gain = 1.0; - tex->ns_outscale = 1.0; - /* distnoise */ - tex->dist_amount = 1.0; - /* voronoi */ - tex->vn_w1 = 1.0; - tex->vn_w2 = tex->vn_w3 = tex->vn_w4 = 0.0; - tex->vn_mexp = 2.5; - tex->vn_distm = 0; - tex->vn_coltype = 0; + BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(tex, id)); - BKE_imageuser_default(&tex->iuser); + MEMCPY_STRUCT_AFTER(tex, DNA_struct_default_get(Tex), id); - tex->preview = NULL; + BKE_imageuser_default(&tex->iuser); } void BKE_texture_type_set(Tex *tex, int type) @@ -288,69 +244,7 @@ Tex *BKE_texture_add(Main *bmain, const char *name) void BKE_texture_mtex_default(MTex *mtex) { - mtex->texco = TEXCO_UV; - mtex->mapto = MAP_COL; - mtex->object = NULL; - mtex->projx = PROJ_X; - mtex->projy = PROJ_Y; - mtex->projz = PROJ_Z; - mtex->mapping = MTEX_FLAT; - mtex->ofs[0] = 0.0; - mtex->ofs[1] = 0.0; - mtex->ofs[2] = 0.0; - mtex->size[0] = 1.0; - mtex->size[1] = 1.0; - mtex->size[2] = 1.0; - mtex->tex = NULL; - mtex->colormodel = 0; - mtex->r = 1.0; - mtex->g = 0.0; - mtex->b = 1.0; - mtex->k = 1.0; - mtex->def_var = 1.0; - mtex->blendtype = MTEX_BLEND; - mtex->colfac = 1.0; - mtex->norfac = 1.0; - mtex->varfac = 1.0; - mtex->dispfac = 0.2; - mtex->colspecfac = 1.0f; - mtex->mirrfac = 1.0f; - mtex->alphafac = 1.0f; - mtex->difffac = 1.0f; - mtex->specfac = 1.0f; - mtex->emitfac = 1.0f; - mtex->hardfac = 1.0f; - mtex->raymirrfac = 1.0f; - mtex->translfac = 1.0f; - mtex->ambfac = 1.0f; - mtex->colemitfac = 1.0f; - mtex->colreflfac = 1.0f; - mtex->coltransfac = 1.0f; - mtex->densfac = 1.0f; - mtex->scatterfac = 1.0f; - mtex->reflfac = 1.0f; - mtex->shadowfac = 1.0f; - mtex->zenupfac = 1.0f; - mtex->zendownfac = 1.0f; - mtex->blendfac = 1.0f; - mtex->timefac = 1.0f; - mtex->lengthfac = 1.0f; - mtex->clumpfac = 1.0f; - mtex->kinkfac = 1.0f; - mtex->kinkampfac = 1.0f; - mtex->roughfac = 1.0f; - mtex->twistfac = 1.0f; - mtex->padensfac = 1.0f; - mtex->lifefac = 1.0f; - mtex->sizefac = 1.0f; - mtex->ivelfac = 1.0f; - mtex->dampfac = 1.0f; - mtex->gravityfac = 1.0f; - mtex->fieldfac = 1.0f; - mtex->normapspace = MTEX_NSPACE_TANGENT; - mtex->brush_map_mode = MTEX_MAP_MODE_TILED; - mtex->random_angle = 2.0f * (float)M_PI; - mtex->brush_angle_mode = 0; + memcpy(mtex, DNA_struct_default_get(MTex), sizeof(*mtex)); } /* ------------------------------------------------------------------------- */ diff --git a/source/blender/blenkernel/intern/world.c b/source/blender/blenkernel/intern/world.c index 31fc87d7021..9ad357290c4 100644 --- a/source/blender/blenkernel/intern/world.c +++ b/source/blender/blenkernel/intern/world.c @@ -30,6 +30,7 @@ #include "DNA_world_types.h" #include "DNA_scene_types.h" #include "DNA_texture_types.h" +#include "DNA_defaults.h" #include "BLI_utildefines.h" #include "BLI_listbase.h" @@ -71,16 +72,7 @@ void BKE_world_init(World *wrld) { BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(wrld, id)); - wrld->horr = 0.05f; - wrld->horg = 0.05f; - wrld->horb = 0.05f; - - wrld->aodist = 10.0f; - wrld->aoenergy = 1.0f; - - wrld->preview = NULL; - wrld->miststa = 5.0f; - wrld->mistdist = 25.0f; + MEMCPY_STRUCT_AFTER(wrld, DNA_struct_default_get(World), id); } World *BKE_world_add(Main *bmain, const char *name) |