actually two modifier datamask optimizations that were never done.
* Don't use modifier data mask for disabled modifiers.
* Check if UV data is needed for particle system instead of always
requesting it.
Big proxy fix (addressing hopefully most complaints on mailing list and
in tracker)
* proxy render settings are now independent of render size settings.
That means: which proxy size is used, is controlled by two parameters
now: the proxy size of the files, can be controlled with additional
buttons within the proxy panels. What is shown in a specific preview
window depends on the header settings of the preview panel.
So: proxies are _only_ used in those windows, that are switched to a
specific proxy resolution.
* output rendering is always done _without_ proxies.
* proxy generation now shows a waitcursor with numbers.
(closing Bug: [#18909] Building Proxies doesn't give any feedback
which was rather a feature request, since the problem mentioned there
was always the case :) )
This fixes:
* free_imbuf_seq() didn't free all scenes. That will lead to steady memory
growth in case of nested timelines with several scenes.
* sequencer panels were always jumping around, depending on strip type,
which was caused by choosing always the same panel position and the
silly limitation, that
* effect strips had no filter option, which was therefore added.
So you can apply color balance on effect filter output now :)
Example is a cube that lands on a plane, sleeps after some time, a script changes the scale.
It would still use the scale when the object first went to sleep.
reported on blenderartist.
http://blenderartists.org/forum/showthread.php?t=158617
Checker: FORWARD_NULL (help)
File: base/src/source/blender/gpu/intern/gpu_extensions.c
Function: GPU_shader_create
Description: Variable "fragcode" tracked as NULL was passed to a function that dereferences it.
fix provided by Brecht. :)
Kent
Checker: FORWARD_NULL (help)
File: base/src/source/blender/blenkernel/intern/modifier.c
Function: meshdeformModifier_deformVerts
Description: Variable "dm" tracked as NULL was passed to a function that dereferences it.
fix provided by Brecht.
Kent
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/BME_tools.c
Function: BME_split_face
Description: Pointer "example" dereferenced before NULL check
Check for null before we try to use it.
Kent
Checker: NULL_RETURNS (help)
File: base/src/source/blender/imbuf/intern/radiance_hdr.c
Function: imb_loadhdr
Description: Incrementing possibly NULL value "ptr"
Make sure were not trying to index past our array.
Kent
Checker: DEADCODE (help)
File: base/src/source/blender/gpu/intern/gpu_material.c
Function: GPU_materials_free
Description: Conditional "ma != 0"
was looping over wrong variable I'm guessing a cut and
paste error from above.
Kent
Checker: FORWARD_NULL (help)
File: base/src/source/blender/render/intern/source/texture.c
Function: do_lamp_tex
Description: Variable "co" tracked as NULL was dereferenced.
co was set to NULL at the beginning of the function and it could
possibly slip through all the logic above so lets test it before
we use it blindly.
Kent
Checker: UNINIT (help)
File: base/src/source/blender/blenlib/intern/freetypefont.c
Function: objchr_to_ftvfontdata
Description: Using uninitialized value "face" in call to function "freetypechar_to_vchar"
freetypechar_to_vchar expects face to be defined so we need to
return before then if we have a problem. Also it doesn't
make sense to not return FALSE if there is an error because we
didn't do anything.
Kent
This fixes
* some issues with Scene strips containing audio by removing
the curpos pointer from sequence structure. (the same scene
strip can now be used in a row)
That also makes the code a lot cleaner.
* fixed a corner case on the beginning of a strip, where audio was
not mixed in, depending of current audio buffer state.
* Also: made some hardwired variables macros to enhance readability.
Problem remaining: mixing the same scene strip several times (read
put it into a stack instead of into a row) has
problems with HD-audio since the same HD-audio state structure is
used and therefore the system will seek permanently, which leads to
audio distortions...
If a total of 30 subdirs was hit, or 4 dirs deep was hit - script scanning would quit, skipping files in the root scripts path too.
To work around this the script pack included some of blenders scripts twice just so they would get into the menu but this is a dodgy workaround.
* dont stop scanning for scripts when limits are reached (just dont scan further).
* global 30 dir limit per scan is silly - removed.
* limit recursive depth is kept but keep scanning at lower depths.
* bumped recursive limit from 4 to 6
* flt_properties.py had #!BPY without a menu header.
Adds access to...
- Anisotropy
- Mirr Threshold
- Trans Threshold
Breaks rule of no additions but python data access is quite safe, vray exporter needed these attributes.
[#18891] BGE Convert script Python 2.5 compatible
As venomgfx point, the shift+d function never duplicate the ipo block
if we have enable the option in UserDef -> Edit Methods -> Ipo.
Now, if Ipo option is disable, we just increase the user count, otherwise
we duplicate the ipo.
Note: Alighorith, we need call ipo_idnew here ? (like single_ipo_users)
Checker: FORWARD_NULL (help)
File: base/src/source/blender/src/poseobject.c
Function: pose_special_editmenu
Description: Variable "ob" tracked as NULL was dereferenced.
logic was wrong (gets complicated when you use !'s ;))
Kent
CID: 478
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/softbody.c
Function: apply_spring_memory
Description: Pointer "sb" dereferenced before NULL check
and
CID: 480
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/softbody.c
Function: springs_from_particles
Description: Pointer "ob" dereferenced before NULL check
again moved assignment after check to make sure pointer is valid.
Kent
CID: 506
Checker: REVERSE_INULL (help)
File: base/src/source/blender/src/editparticle.c
Function: PE_mirror_x
Description: Pointer "(edit)->keys" dereferenced before NULL check
and
CID: 507
Checker: REVERSE_INULL (help)
File: base/src/source/blender/src/editparticle.c
Function: PE_mirror_x
Description: Pointer "(psys)->particles" dereferenced before NULL check
No need to copy the memory if the pointer isn't valid.
Kent
Checker: REVERSE_INULL (help)
File: base/src/source/blender/imbuf/intern/anim.c
Function: IMB_anim_absolute
Description: Pointer "anim" dereferenced before NULL check
again moving init code after check to valid pointer.
Kent
- fix for [#18867] getScreenRay error
... the Vector wasn't been added to KX_Camera origin. Therefore the Ray was always casted to the wrong coordinate when camera wasn't in [0,0,0] (where is obviously was in my tests :)
- making the input parameter compatible with Blender/BGE window coordinate system (Top-Bottom).
... that will break scripts done in 2.49. Since this feature was added only in 2.49 that fix is OK. (and the fix is ridiculous.
Note:
the input parameter is normalized. That means it runs from 0.0 to 1.0. Some users found it confusing, but it allows to make a game compatible with multiple desktop resolutions.a