from Lawrence D'Oliveiro
Improve implementation of BLI_cleanup_path, including making it behave as documented.
"/../home/me" would become "home/me" rather then "/home/me"
Also remove redundant BLI_strncpy()
code now does not use painter_2d_paint at all. Made sure the approprate
variables of painter_2d are still initialized (They may be refactored to
become part of the ImagePaintState struct)
* Enable pressure control for new code path in texture paint. This revealed a bug, also present in blender 2.66: Size pressure is broken.
This was pretty interesting for me because it indicates that we could support
dynamic size in texture paint: (See anchored brushes)
pressure spacing across all paint systems (was supported only for
texture painting earlier). Also, switch paint code to use the new code
path from now on. No shift-Lclick required anymore.
- loop over scene bases rather then looping over all objects, then looking up bases.
- shuffle checks so slow ones are last.
- rather then having own behavior for recursive select, do the regular operation,
then apply the result recursively afterwards.
- RGBA images (without alpha) now don't draw with alpha blending enabled
- Checkerboard backdrop for alpha images now shows on size of image
- Window always clears now, in very dark grey (so you can see black)
- On resizing window, the aspect of image is being kept, keeping the
image always visible within the window frame
- Image now centers OK.
- On pause, playback now halts (it was drawing same image all the time)
Selection is specifically so you can continuously fill in holes by tapping the Fkey.
Similar functionality to the F2 addon, however the mouse location isn't used.
Viewer operations shall be aware of border as well, otherwise
CPU would be busy for a while full compo isn't done for just
a small preview image in a node.
- click-drag adds a ruler if there are none.
- pressing enter stores the ruler for re-use when activating again (saves as a grease-pencil layer).
- add to toolbar.
This commit is just a stopgap measure (i.e. it fixes the symptoms but not the
real underlying cause) of this bug. For some reason, iter->size is nearly always
an "effectively zero but not truly zero" value. Hence, the envelope sizes would
get adjusted, but would be scaled to an impossibly small value (taken from
iter->size).
From my investigations so far, iter->size is mostly either set to (or left as)
0, except in a rare case when dealing with volume snapping, when the values
somehow get propagated there from various intermediate data points. But, that
almost never works either.
Big thanks to Josef Meier (jomeier) for finding the fix!
It turns out that this was a case of variable shadowing that had been overlooked
and compilers were not warning about.
Apply patches in patches directory, remove patches that were applied
upstream.
If you made changes without adding a patch, please check.
Fixes [#32233] exporting bullet format results in corrupt files.