Commit Graph

47594 Commits

Author SHA1 Message Date
Ton Roosendaal
66d0d7e2db Ack! Error in the renaming code for outliner, it skipped doing the
handling callbacks that checked for double names... this was caused by
a bugfix I did a week ago for ESC on rename button in outliner.
Discovered in time by Andy, thanks!
2005-12-17 20:22:36 +00:00
Ton Roosendaal
6d9cda7aaa Orange:
Enabled Striding in NLA to also use FollowPath Constraint. Until now it
only worked when Object was parented to a Curve.
Interesting feature now is that it checks for all FollowPath Constraints,
and it chooses to stride over the first Path found with influence > 0.5.

Note: to make swithing to other paths work, map the time curve for these
paths to match the switch. This is not very NLA friendly... but let the
dudes in studio test it first. :)

Todo for later once; ensure proper blending...
2005-12-17 19:02:39 +00:00
Ton Roosendaal
7fd55a735d Orange: bugfix, in armature "Stick" drawmode, the new "Custom Bone" option
didn't draw in solid.
2005-12-17 15:08:08 +00:00
Ton Roosendaal
80e59705e1 Orange: Another NLA goodie. The NLA code didn't evaluate any strips when
the current frame was outside of strips. This gives potential errors with
playback that skips frames, or for a renderfarm. And, while editing the
poses got 'stuck' if you changed to different frames.

Now if no strips are found on 'current frame', always the first strip to
right is used, or the last strip to the left.
2005-12-17 14:58:31 +00:00
Nathan Letwory
16b6f81a7c * ctrl-alt-numpad0 didn't correctly update 3dview when the camera had anything parented to it.
Fix for #3596 (http://projects.blender.org/tracker/index.php?func=detail&aid=3596&group_id=9&atid=125)
2005-12-17 14:27:33 +00:00
Ton Roosendaal
128b187db1 Orange: New option "Shadow Bias", to extend the boundary between shadow or
no shadow a little bit. Uses same threshold function as the "Bias" button.
(That latter still works, and will use an automatic bias value based on the
geometry, to prevent terminator errors in raytracing).

Anyhoo, with this manual bias you can get rid of terminator problems for
weird diffuse shaders now as well (like tangent or fresnel).

Committed a few more files than needed, that's just code cleanup.
2005-12-17 14:05:40 +00:00
Ton Roosendaal
dd8edc92cb Environment mapping "Reload" button didn't work. Required more stuff to
reset.
2005-12-17 13:06:22 +00:00
Ton Roosendaal
16aa8ea1b0 Orange: Snap-cursor-to-selected didn't respect bone layers yet. 2005-12-17 10:28:37 +00:00
Ton Roosendaal
e506a34bf8 Orange:
For some ancient reason, the stride option only worked on a single strip,
and extended always. This made it nearly impossible to integrate it well
with other actions in NLA.
This commit changes it as follows;

- As any strip, the striding-strip also stops at the end of a strip
- This allows to put multiple different actions on a single path, and if
  all of these have the striding option set, the actions will each do their
  own individual stride.
- To match the different actions, a new "Action Offset" button was added
  in the NLA Panel, which allows to internally cycle the action.
- Of course, blend-in and blend-out works nicely too.

Here's a quick AVI test with 2 actions. There's some slipping of the feet
between actions still, because of the stridebone blending. I might look
at that later, for now you can correct it with a simple Ipo on Armature too

http://www.blender.org/bf/0007_0151.avi
2005-12-17 10:08:57 +00:00
Ken Hughes
f73f226ed7 -- Bugfix #3617; addBezier() was not initializing all the attributes for
a the beztriple, so things like the hidden and handle select states were
   set to random values.  Added a beztriple.hide attribute so that the
   hide attribute can be set/cleared from the BPy API.
2005-12-17 04:57:48 +00:00
Campbell Barton
e76e78e78a typo, thanks letterrip. 2005-12-16 22:40:20 +00:00
Ton Roosendaal
466ef7667b Orange: Yet another day of file reading & library linking code...
Finally (after 10 years!) fixed the issue that was marked in a comment in
the top of the readfile.c... when using multiple library files at once,
the code that tries to map old to new pointers could fail when accidentally
pointers (in different files) had same old values.

Current code now uses proper lookup tables per open library file.
Last issues to solve;

- pointer tables still suffer the 'accidental pointer' error when linking
multiple levels of library deep, with recursive back linking to higher
levels... (I know is stupid, but should be solved!)

- The code for relative paths doesnt work for multiple levels, when the
files use different relative paths.
2005-12-16 17:35:38 +00:00
Campbell Barton
3a50444ad4 Oops, left the script menu in there. problems. 2005-12-16 13:50:45 +00:00
Ton Roosendaal
3dd6f554f6 Orange bugfix; using in NLA window the Ckey option (Convert to NLA), did
not use the proper call to increase user count && set the action to get
a tag "extern linked". This caused actions to get lost when indirectly
linked from library files.
2005-12-16 12:49:42 +00:00
Ken Hughes
826591d778 -- Added BPy support for new Material modes. Recent additions of new mode
bits broke input-checking in the API, so added a bitmask #define in
   DNA_material_types.h which contains all valid mode bits.
2005-12-15 21:54:00 +00:00
Ton Roosendaal
f28963514b Testing call for Toni, he'll uncommit :) 2005-12-15 20:59:47 +00:00
Ken Hughes
641f3cd72d -- Fix misspelling in Material's TraShad tooltip. 2005-12-15 20:55:52 +00:00
Ken Hughes
6e7e6d2357 -- removed redundant initialization for Mesh_Type (thanks LetterRip) 2005-12-15 19:12:31 +00:00
Ton Roosendaal
21819e3732 Orange:
So... now I understand file reading and libraries again, I couldn't leave
it to do a nice optimize step. This commit introduces bsearch() for finding
the elements in the pointer table, while reconstructing links. Tests reveil
a speedup of a factor 2-5 on complex scenes. And since undo uses same
system, quite nice in general!

(Note; speedup sometimes can't be noticed, when a lot of subsurfs or other
displaylists need to be generated.)
2005-12-15 18:42:02 +00:00
Ton Roosendaal
4a708ae540 Disabled reading Groups from bf-blender. There was old rudimentary code
for Groups in official release still, which will give very bad results when
loading an Orange branch file with bf-blender, save over, and read back
in Orange branch.

Now, reading files with Groups in bf-blender will just completely ignore
them (not read nor save). That's destructive, but normal behaviour and
stable.
2005-12-15 18:37:47 +00:00
Campbell Barton
eaeb125337 Made Ctrl+RMB on an image in the oops view, activates images in the UV/Image window.
Faster way to flick through images.
2005-12-15 02:50:08 +00:00
Campbell Barton
4a8087db76 Fixed some warnings from GetCurrent, remaining warnings seem to have no obvious solution
attr = Py_True; // Image.c:1107: warning: dereferencing type-punned pointer will break strict-aliasing rules
2005-12-15 02:06:37 +00:00
Ton Roosendaal
9bbefaec6a (Orange branch)
Phew... a whole day revision of library linking system... there was a bug
when objects got linked, then removed, and then linked via a group... this
was a weak part in the library system, when data is used both "direct"
(like local object is linked to scene) and "indirect" (when group from a
library has same object).

The crucial fixes are easier to find by reading the diff... this system
is just braincrunching complex! Just as note to self then;
- ID_ID oldmap-lookups are now protected
- removed adding oldmap lookups for already read data

For Matt & Basse: you can do a very good cleanup of old files by putting
the "rt" button on 127, and then save file. This will skip writing any
reference to library data in the file, with exception of group links.
Reload a file might give some link errors, but a 2nd save and load then
should result in a clean file.
2005-12-14 23:00:01 +00:00
Ton Roosendaal
5ebf9cc1f4 Another merger of Orange branch with bf-blender, it has important fixes. 2005-12-14 20:38:14 +00:00
Ton Roosendaal
e64008e2c7 Three fixes;
- On file reading, a check is added to see if a Pose has channels to
  missing bones. Poses are supposed to match an Armature completely.
  (Thanks for crash file, Johnny!... but how did you do it!)

- Own collection: added depsgraph update on setting all layers (with the
  ACCENTGRAVEKEY). This also could potentially crash with modifiers

- Renamed Xkey menu in NLA to more properly tell what it does. :)
2005-12-14 20:36:04 +00:00
Ton Roosendaal
dde68ec0e0 Orange; added a depsgraph update tag for the case a Group is being animated
with NLA, whilst the "NLA target" has no action or nlastrips itself.
2005-12-14 18:43:53 +00:00
Willian Padovani Germano
8304b73a08 BPython:
- malformed nmeshes could crash Blender with a sigsegv. Related to old
behavior that accepted "faces" with one or two verts.
- removing unused var (store_edges) + doc update.
2005-12-14 18:01:42 +00:00
Toni Alatalo
7998a07386 orange: added Object.insertPoseKey to continue with the attempt to make nla/path walkcycle baking to actions 2005-12-14 17:44:08 +00:00
Ton Roosendaal
e65e6237a2 Orange; Magical Group relink option. :)
This is the case:

- Empty has Group duplicator
- Empty has NLA strips to animate the group

On linking the Empty to another group (with button in ObjectButtons), it
checks for the current strips in NLA, and tries to find the proper objects
in the new Group, based on name matches.
If not found, it sets the strip-objects to zero.
2005-12-14 15:58:52 +00:00
Ton Roosendaal
a6cc7204d9 Orange: On adding constraints, names are now unique per object/bone, this
prevents confusing situations when adding constraint ipos.
2005-12-14 14:45:24 +00:00
Ton Roosendaal
2fd72143f6 Wednesday merger of Orange branch and bf-blender 2005-12-14 14:24:23 +00:00
Ton Roosendaal
564ca3cede Commit with fix for ActionStrip "Hold" missed two crucial features;
- if repeat is set on exact integer values, it jumped to first position
- code was missing the action start offset
2005-12-14 14:10:04 +00:00
Ton Roosendaal
9983c5f172 Orange: added proper stringcopy for creating/finding pose and action-
channels. This for python api development here... :)
2005-12-14 13:47:40 +00:00
Ton Roosendaal
f88a0a6efd Orange: more relative path code cleanup. Introduced a new call in the
blenlib to correctly convert a relative path to a clean new path:

BLI_cleanup_dir(const char *relabase, char *name);

Only works for directories now.
2005-12-14 13:21:32 +00:00
Ton Roosendaal
cb57d03e97 Orange; more relative path messing... the functions in Blender for it
don't work consistant;

BLI_makestringcode()
This one works correct for paths that go up; it then makes a relative
path like : //../lib/file.blend

BLI_convertstringcode()
This one delivers different paths when it expands, the previous case
will just append the relative path, like /work/project/../lib/file.blend.
That string cannot be compared with the original... which happened to find
out if a library was read already.

Solution for now is that only the relative paths are compared, but it
won't work if multiple relative levels are used... like for libraries
that link recursive. To solve that, the entire 'relative' concept has to
be redesigned.
2005-12-14 09:59:22 +00:00
Campbell Barton
d527b0e585 Added
Image.New(name, w,h,depth)
Image.start- for animtex
Image.end - for animtex
Image.speed - for animtex
Image.packed - read only bool

See the pydocs for details.
2005-12-14 03:27:35 +00:00
Ton Roosendaal
4f235db6e6 Tuesday merger of Orange branch with bf-blender 2005-12-13 20:32:39 +00:00
Ton Roosendaal
d1cc4b7a15 Orange reported fix: Stride bone offset was blending with any strip, even
when strips had no stride set... causing using multiple strips not to work
for stride.
2005-12-13 20:16:10 +00:00
Ton Roosendaal
904a478d9d Orange: two other cases with databrowser and menus that needed the upgrade,
as committed yesterday for NLA.
2005-12-13 19:23:22 +00:00
Ton Roosendaal
ff72f72546 Orange: Library linking half-assed-fix for files that mix linked "direct"
data (local data links to lib data) and "indirect" (lib links to same lib
data).

A real solution should be found though... there's a conflict in the code
I don't fully grasp yet.
2005-12-13 19:21:56 +00:00
Ken Hughes
d3338620b7 -- More of Bugfix #3580: Mesh_getFromObject() was not updating key->from
when it duplicated mesh data.

   I'm not thrilled with how I implemented this code, but currently don't
   know a better way.  If someone more familiar with how blender duplicates
   objects and converts things to meshes wants to have a look, it would be
   appreciated.
2005-12-13 18:39:50 +00:00
Ken Hughes
4085cc06a6 -- Calling mesh.verts.extend() on a mesh with vertex groups was not updating
mesh->dvert, eventuallu causing a crash.
2005-12-13 15:36:32 +00:00
Ton Roosendaal
985b43adc2 Bugfix #3580
Apparently python allows to create Key blocks without proper *from pointer
back to the owner of the Key. The Key unfortunately wasn't mean to be a
dynamic block linkable to any Mesh...

This patch sets the from pointer on any call to do_mesh_key, which is safe
to do anyway. I made a note to get rid of that convention once, but at
least now we got non-crashing blenders. :)

(In bugreport noted that we need to check Python code for it too!)
2005-12-13 15:07:21 +00:00
Joseph Gilbert
7bba26d24b *warnings fixes 2005-12-13 14:29:56 +00:00
Ton Roosendaal
5fa5392b04 Bugfix #3590
Adding Ipos to Sound strips in Sequencer didn't work anymore. Adding a new
curve with CTRL+click also wasn't smart enough to detect that only one
channel existed there... fixed that too.
2005-12-13 14:28:34 +00:00
Ton Roosendaal
082e589c1a Bugfix #3579
Saving envmap, with a filter set (like gauss) and with a percentage set
(like 50%), saved envmaps with empty pixels inbetween the sub images.
2005-12-13 13:38:14 +00:00
Ton Roosendaal
b284a95222 Bugfix #3552
Another ancient bug in unified render... the lamphalo wasn't filled in
correctly over sky, especially when the background had halos (or stars).

Only shows when using filters other than box though.
2005-12-13 13:17:29 +00:00
Ton Roosendaal
e0dc311fc2 With the introduction of fixed edge arrays in Mesh, the options to render
wire frame became very limited... the information of faces (vertex colors
and UV reside there) got lost.
Solved it nicely with creating a large index table, and use bsearch() to
get quickly the matching information.

Then I noticed the render code needed fixes too for wire, no proper UV's
were calculated over the wire edge.
2005-12-13 12:41:17 +00:00
Ton Roosendaal
e51f752e75 bugfix #3585
The tool "Single User" -> "Object data" missed a tag to recalculate the
geometry. This caused meshes to disappear after entering editmode on the
former linked mesh.
2005-12-13 08:44:07 +00:00
Campbell Barton
fadaa2fbe9 From kh_pylon:
You have to put Py_RETURN_NONE; inside { }; it's a two-line macro
Aparently breaks MacOS.
2005-12-13 00:27:10 +00:00