- STUPID mistake from me in setting the waitcursor...
- icons for UI got freed, without checking if it existed (crash in end)
- call to close mainwindow didn't check if window existed
note:
I usually test the "blender -b" case, which should start blender,
initialize all, free all, and print "blender quit" to signal all is fine.
Help->System->Benchmark (the Tkey benchmark) returned timings even if
user cancelled the pupmenu. Was just missing a check
for -1 in toets.c -- wonder how old this one was... Reported by Wim Van
Hoydonck.
Scripts:
- Updated Jean-Michel's hotkeys script for Blender 2.42.
- Followed Pieter Visser's suggestion and added version info to the menu
names of the older collada scripts (v1.3.1).
Thanks guys!
Note for builders: nevermind if you already compiled 2.42RC1, these
updates are not critical at all and can be left for the release or RC2.
- restored type choice compatiblity (plane, sphere, cube) with 2.41 release (sorry, will break saved files with CVS... my fault, should
have known.)
- removed lamp choices (lights now are different per preview, no fixed
choices).
- added checkered plane behind the plane preview. nicer for halos.
Files saved with new cloth modifier patch crash in cvs blender. (#define
for cloth is 13 even!). This was caused by lack of upward compatibility
for non existing modifiers.
Also added giant warning in code for the ENUM for modifier types.
Mixdown option (blending sequence audio strips) didn't write proper WAV.
- file length in header chunk was too short (potential crasher)
- endian switch code used swab(), which wasn't defined to work when src and
target is identical
- cleaned up some code too... like removing timecursor() for core loop.
New "Dimension" button: when using TAB to cycle over buttons, the dimension
event was sent multiple times, accumulating scaling. The code was also not
prepared to handle multiple changes at one event.
Also: added object_get_boundbox(Object *ob) in BKE_object.h, so the code
now really supports most primitives in Blender.
Moved .up() and .down() methods from Constraint API to Constraint sequence
API (also renamed them to moveUp() and moveDown() ). Again, methods which
modify the "parent" structure didn't seem consistent.
Moved .up() and .down() methods from Modifier API to Modifier sequence
API (also renamed them to moveUp() and moveDown() ). Locating methods
which modify the "parent" structure in objects didn't seem consistent.
Particles: option "even" failed when faces where all exactly same sized,
then it sometimes skipped entire faces.
Just the regular <1.0 that had to be <=1.0
Old issue... Blender saves jpg RGBA files. That's unsupported in all
programs except Blender, always a source of problems with that feature.
Now it just falls back to saving 24 bits when the "RGBA" option is set.
- if current visible area shows render result; use this
- else: search for largest non-Image area (so it won't use Texture or
Composite outputs)
- else if only 1 available window it uses that one.
Works for both new options (fullscreen too). Especiall fullscreen works
much better, since it uses an own designated Image Window by default.
2006/01/28 commit from Campbell forgot to check for proper pointer:
if(seq->sound->stream==NULL) return;
should be:
if(seq->sound==NULL || seq->sound->stream==NULL) return;
Nkey "Properties Panel" now has Dimension ("Dim") buttons too.
This reads from the actual bounding box value to see the size. Note that
dimensions for animated & deformed objects will change per frame.
(Cleaned up buttons layout for patch, and added support for Curve, Text and
Surface objects)
- MINGW should compile too now (was problem when fucntionality was first introduced), tested with MINGW 5.0.2 (scons)
- added -lshell32 for the dependency on MINGW
Next to the "DispWindow" there are now two new choices:
- Display render output to Image Editor
- Display render output to Screen-sized Image Editor
Both options won't open a 2nd window anymore, which makes work quite more
smooth even, especially because 'focus' isn't lost. Further it fits in the
'single window UI' paradigm of Blender. Should have been done 10 years ago!
Lastly it might bypass issues with X11... having 2 windows with opengl
context is not always stable in Linux.
This option uses an identical trick as for the Compositor viewer, using an
Image block with a fixed name ("Render Result").
The flow, when invoking a Render, goes as follows:
- first it checks if there's an Image Editor visible displaying the "Render
Result", if so then it uses that area-window.
(Use this option for dual-monitor setups for example, a render will always
go to the same location then)
- else it checks if there's an Image Editor open in general, it then
assigns that window the "Render Result" Image.
- else: it searches for the largest Area in the screen, and turns that into
a temporal Image Editor showing render output.
After a render, an ESC will push back the former view, if the Area type has
changed.
Same rules apply for the "Full Screen" option. Here an ESC will always go
back to the regular Screen, and restore Area type if required.
While rendering, the queue for the renderwindow isn't handled yet, so you can
not zoom (nor get full redraws), as for the regular render window.
Existing conflicts:
- in FaceSelect mode, the Image editor enforces to display the face texture
after rendering again.
- when using an Image window for compositing, you'll lose the Viewer output
on a render.
Implementation note:
While rendering updates, nothing is drawn in frontbuffer anymore. That's
good news for b0rked OpenGL drivers (and faster). However, for the few
OpenGL cards that don't do a "swap copy" but a "swap exchange" you get
issues... has to be worked on. I'm afraid we have to drop frontbuffer
drawing altogether.
Other fixes:
- Hotkeys NumPad 1, 2, 4, 8 will set zoom levels (was half coded only?)
Use SHIFT to zoom out (smaller).
- Rendering Tile updates still had draw errors on edges of tiles, in OSA
only. (Caused by commit 4 days ago)
Users can write any valid Python expression (that evals to an int or float) inside Blender's gui number buttons (preceded by #) and have them evaluated to their actual int or float value.
Button Evaluation has access to the same modules as PyDrivers.
For example:
#1.0*9-2.3
#ob("Camera").LocZ
#1.0/ob("Cube").LocX
#math.sin(math.pi) -- or simply #m.sin(m.pi)
etc
As suggested, adding Page Up and Page Down to the hotkey list to change the size of the circle of selection, using brush select (BB).
This is done to bring it in line with transform's PET size adjustment.
Two hotkeys to rule them all and to the reference manual binds them... :P
Changing from ITIMER_VIRTUAL to ITIMER_REAL solved the issue for all
who tested it (Hos, pidhash and me, at least). Ton said to commit it so
more people can test, but other solutions may still be investigated.
The change is only for POSIX systems (so Windows code was not touched).
Removed recently added Material API methods getRbFriction() and
getRbRestitution(). Erwin had already added attributes rbFriction and
rbRestitution, and current API design goal is to eventualy replace
all getStuff()/setStuff() with attributes.
Preview render in 3d window could crash when a re-render was invoked before
the render was initialized even, reading a NULL pointer for scene.
Happened on frantic & quick editing.
- Selection wasn't possible on center dots in Object mode. I keep adding
it and it keeps disappearing again. Added clear comments in code too.
- Particles: (debug still) print "build particles" happened on each redraw
when "Display percentage" for particles was set to zero.
The Scene audio.mixrate variable was zero on creating new scenes, causing
synced playback to fail.
Added initialize in kernel, and patch in buttons drawing to set the value
for wrongly saved files.
(Pixelshading: small correction for more optimal code)
Fixed the blur-plugin (and maybe a lot more) crashes by expecting
future float-buffer aware sequencer-plugins to have a bumped PLUGIN_VERSION
number. Since quality and speed is degraded by converting the float
buffer first to byte, performing the effect on bytes and then converting
back again an additional warning is displayed in the effect strip,
suggesting to update the used sequencer-plugins.
Fixed some more crashes along the way.
Float buffer aware sequencer plugins should
- first check, if the output-ibuf has a rect_float
=> perform all operations with floats (input and output)
- if not: perform everything on bytes (intput and output)