frame-sliding (LMB) in action, nla, sound and ipo window went into very
tight while loop, causing cpu to choke. Added nice idle.
Bug fix, found self while testing:
- relative.blend, editmode
- delete part, exit editmode
- enter editmode, undo twice, exit editmode -> crash
The trick to copy 'old' locations of vertices to keys isnt undo-resistant
yet. This fix at least doesnt crash, but copying doesnt work when undo-ing
back to previous editmode session (indices just differ from current mesh...)
When editing Meshes with vertex keys (RVKs), the undo stack isn't
updated correctly, causing a loss of the situation when entering
editmode after changing active key, and doing undo immediate after.
This due to an 'optimizer' in the undo code that tried to prevent undos
pushed on identical situations (e.g. pressing TAB multiple times).
Decided to remove that convention, the annoyance of having possible
multiple undos in a row isn't worth solving it by potential losses.
Combination of:
- render movie
- with border set
- and "crop" set
Crashed.
Was due to feeding movie initialize code wrong frame sizes. Another oldie!
Also found that crop+border+parts doesnt work. This now is prevented with
warning and return.
When the render output directory doesn't exist (on windows) the BLI_recurdir_fileops() function
tries to create a directory with no name. Added check if a name is specified..
that could popup error() boxes. These dont work then, and need to be
disabled by keeping R.flag on R_RENDERING
This is a half fix for a report Rob H works on. Will wait for his test.
Hiding window (Apple-H) caused the modifier to hang when reopened.
Added 1 line that re-reads modifier on "Inputchange" event, which only
is when you switch focus from one app to another.
Might solve more issues reported with 'hanging' keys.
- Dupli-Frames objects didn't render correct with Motion Blur (they moved!)
- VertexKey on Bezier paths didn't animate the 'twist' rotation. This did
work for Nurbs paths.
Plus; removed Nabla slider from Stucci, it doesn't work for that texture.
- Stucci now accepts it too (for normals and color)
Note; stucci doesn't return a single value, like marble or wood, that's
still so, to disable it coloring the "Col" Map input by default.
- Magic texture now accepts Colorband
Sequence editor crash when you delete Scenes which were used as a strip.
Related to that, file reading code didn't restore pointers for strips
correctly when you save with open "Meta" strip.
First bug 8 year old. Second 1 month. :)
When the Quicktime movie output path lacks any path indication, the movie is created in the
executable directory.
Also new, when the Quicktime output movie isn't created for some reason, the rendering will
stop and give an error message (in the console).
Raw fix for the drive letter issue with Quicktime/Windows filenames.
When a drive letter is missing in a filename, it'll use the drive where the executable is.
Fix might be useful for Yafray too, because the extern char bprogname[]; doesn't return
a full path when Blender is started from the console.
Rotated edges (seemingly on quads only) were not drawn even if
'Draw All Edges' is active.
Finally tracked the bug down to a typo in flag checks! Eeugh, was much
head scratching on this one! :)
- code wasn't edge-select aware yet
- the "Median" button now allows to move a "median" correctly around, also
to 0 or 1 in a single step
- missing undo push here.
It moves targa, bmp, iris and png loading so that were not opening
2 file handles for each file, and made them like the jpeg stuff.
Also cleaned up some minor other stuff.
Kent
Five fixes in this commit...
- the normals for nurbs surfaces still were calculated pointing wrong in some occasions
- recoded ray-transp rendering to accept normals pointing any direction; it just counts how many times it passes a "glass" layer, and flips normals appropriate then. This means rendering will go fine on models without manually setting the normals. You can also move a camera inside a 'glass' object.
- rendering of the inside part of glass now uses correct normal too... specularity happen on a solid glass inside now.
- And an inside reflected mirror ray will keep bouncing inside glass
Related to rendering localview: old convention to render localview, but with the lamps in the normal layers, has been restored.
Please note; render happens based on active window. You *only* get a localview or 'unlocked layer' render when that 3d window is active = mouse in window.
Appending objects with constraints expands links to objects (according
code) but doesn't give such objects a link to Scene.
Apprently, somewhere in NaN days, someone commented a call, which
already invoked comments... here's the full code + comments now:
/* give a base to loose objects */
give_base_to_objects(G.scene, &(G.main->object));
/* has been removed... erm, why? (ton) */
/* 20040907: looks like they are give base already in append_named_part(); -Nathan L */
/* 20041208: put back. It only linked direct, not indirect objects (ton) */
:-)
oops code, having pointers to ID structs that are invalid.
This solves at least it crashing... oops needs to be refreshed once :)
(occurred on testing complex files, with conversion from nurbs=>mesh)
Using ctrl+up/down in buttons window, didn't use a proper rescale of view
as already works for dragging window edges. Now the 'Full window' action
keeps size nicely.
patching versions for UI settings.
Currently four different levels of routines for .blend file reading exist;
/* interface level */
1) BIF_init() -> calls 3
2) BIF_read_file() -> calls 11, optional 4
3) BIF_read_homefile() -> calls 11 or 12, and then 4
4) init_userdef_file()
/* kernel level */
11) BKE_read_file() -> calls 21, and then 14
12) BKE_read_file_from_memory() -> calls 22, and then 14
13) BKE_read_file_from_memfile() -> calls 23, and then 14
14) setup_app_data()
/* loader module level */
21) BLO_read_from_file() -> calls 24
22) BLO_read_from_memory() -> calls 24
23) BLO_read_from_memfile() -> calls 24
/* loader module, internal */
24) blo_read_file_internal()
Note:
- BIF_read_homefile() has additional UI initialize calls, like windows fullscreen and executing commandline options
- Reading from memory (12) only happens for the compiled-in .B.blend
- The "memfile" here is a name I gave to the undo "file" structure. Which is constructed out of memory chunks with basic compression features.
- the kernel function setup_app_data() sets globals like "current screen" and "current scene".
So far, so good. The levels as mentioned here clearly distinguish UI from kernel, and should enable for example game loading (runtime) or background (no UI) loading. In the past years however, 'bad level' dependencies were added, and especially the patches for 'file versions' were added in too many places. The latter is evidently a result of the problem that the "UserDef" struct cannot be initialized/patched if there's not a need for a UI.
Here's how the flow goes in four different cases:
----- Starting up Blender, in foreground with UI --------------------
- creator/creator.c, main() -> calls 1
- If the commandline contains a filename, it calls 11
----- Starting up Blender, in background without UI --------------------
- creator/creator.c, main() -> calls 11 if the commandline has a filename
Note: no Userdef is read, nor initialized. Please note that this was already an existing problem for using Yafray, not setting proper file paths in background mode. The Yafray paths don't belong in the User menu.
----- Starting up Blender as a runtime executable --------------------
This only has calls to 22
----- Loading a file from within the UI (with F1, CTRL+O, using pulldowns) -----
Only calls allowed to 2. It detects if a UserDef has been read too, and in that case the init_userdef_file() will be executed.
Hope this is understandable :)
-Ton-
- New channel for "Map to" added, "Warp"
- Use the slider next to the option to set amount of influence the texture
will have on the coordinates of the next texture.
- Warp uses for this the same values as for Normal or Displacement mapping
- Warp remains active for all channels, until replaced (or zeroed).
While going over the code, I found out the "nabla", the size of offset
vectors for calculating derivatives of a texture, is a built in constant.
Even worse, the value was different for new noise types (musgrave etc).
So I've added a new slider for it in the procedural texture panels, which
by default is set to 0.025, the value of the old constant. Also made sure
it works with equal effect in all procedurals.
NOTE: a small Nabla will give sharper, detailed bump, but the effect also
becomes smaller, correct that in the Mapping Panel of materials.
For better & compliant control over the bumpmapping, I've also included
the Colorband output in derivatives calculus, so the bump output then
matches the color created. It's also a nice tool to finetune output of
textures for bumpmapping in general.
Bug fix; clicking on the rightmose 'item' in ColorBand didn't activate it.
Found out the ColorBand was slightly drawn off (2 pixels).
Objects being vertex-parented to a mesh, which in turn was being deformed
by a curve or lattice, were never update correctly.
Whilst this is a typical issue for our beloved new Dependency Graph, I
consider it worth at least solving for now. An issue since Blender 1.0
you know. :)
Solution is only working for this specific case; vertex-parent to deformed
object.