Wire render crashes in Linux (only!), but why? Using a calloc instead of
malloc fixes it, but that doesn't solve the real issue in the code.
I can only imagine that bsearch() in linux has a completely different
implementation...
Anyhoo; let's commit the calloc, at least then we got stable wire render!
A subsequent hotkey press like F5 now cycles through the sub-context in
buttons. However, this should not happen when clicking on Material icon
in outliner!
When using Node Shaders, the OpenGL color (solid drawmode) in 3d window
was still using the base Material only. That's a bit counter-intuitive
yes... i've replaced this with a function that checks for the active
material node color. Not perfect, but at least interactive.
- when renderwin exists, but not used for render, the ESC timer check still
could return ESC event, due to missing flag clearing.
(For example in sequencer, a scene strip did not update on frame advance)
- option 'single layer' set in combination with render "Do Sequence" didn't
free the pushed layers.
Added countall to metaball select, undo, duplicate (all the obvious places) - but its possible coultall() could be added to other functions especialy for metaballs.
A problem with the current flag seting in Mesh is that Mesh needs to know of all possible flags or setting a flag can raise an error from the faces own unrecognezed flag.
also stopped the active face flag raising an error so pythoners can do face1.flag |= face2.flag without checking for active face flags. if the flag is a part of the arg its removed quietly.
Checked Mesh flags, face modes and edge flags, should all be ok now.
The new Material "LightGroups" only worked with lamps in visible layers.
Now also lamps from the group that are not visible are included for
rendering, ensuring that a lightgroup always works on that material,
disregarding layer settings (unless lamp is type 'layer lamp').
Sequencer:
Removing feature that allowed live updates of render progress while using
scene strips. In 2.41 and older this also happens invisible, and ESC from
it works now anyway.
Two reasons:
- it is quite annoying, especially on quit renders
- new 'render to window' conflicts too much with the sequencer window
option that shows previews (in code as well as functional!)
When faces (like in cubes) have exactly 90 degrees angles with other
faces, the check for a vertex-normal flip became random, caused by the
infamous bad floating point resolution.
Solved with including FLT_EPSILON in the check.
Also: minor optimize for readability and removed dutch function name
(contrpuntnorm -> check_vnormal)
Made internal ffmpeg-libraries link by explicitly specifying the archive-files.
(Thanks GSR for pointing this out)
Otherwise, blender always links to the system-libs.
I was having to switch out of face select to undo then go back into face select mode.
FaseSelect+WeightPaint is very usefull, while wait painting its very unlikely youd want to be UV mapping faces.
Also Made all space.c's c++ comments into C style.
Material option "Only shadow" didn't work 100% anymore since shadowbuffer
returns 0.0 (shadow) on backfacing normals.
Added extra test in code to solve this.
- Button "relative key" was still there in Mesh Panel (is in Shape now)
- Button "Slurph" also moved to Shape panel, and gave it a tooltip.
(Slurph with value 10 will make the first vertex of a Mesh go 10 frames
earlier than the last vertex. Nice effect for making flexible stuff)