Commit Graph

382 Commits

Author SHA1 Message Date
Campbell Barton
9c2bf9bdbc bugfix for memory corruption caused by BLI_cleanup_file on paths that went too far back.
/a/b/../../../ - problematic
/a/b/c/../../../ - ok
Also got rid of warnings in shadbuf.c with GET_INT_FROM_POINTER
2008-06-14 16:54:46 +00:00
Campbell Barton
ef0ea178b1 bugfix, off by 1 error when filling in uninitialized values for new ID values when the requested name length was greater to or equal to 21.
Also replaced incorrect use of strcpy with memmove since the strings overlap
2008-06-11 09:04:41 +00:00
Martin Poirier
ac0a91920a Revision 14894 merged from apricot
----------------------------------
Arith:
	- axis angle to quat conversion function
	- short to float / float to short normals conversion function (eventually, we could go over the go and replace copy/pasted code everywhere)
	- ray triangle intersection (to complement the line triangle intersection function)
	
View:
	- viewray / viewline (get near plane point under mouse and ray normal/far point)


Particles:
	- extract viewline from brush_add function
2008-06-09 17:16:20 +00:00
Campbell Barton
14393c9ffb bugfix - Blender.GetPaths() was returning relative paths from libraries, but with no way to access the library path the the file is relative too. Check for these cases and make them absolute.
bpath also assigned one var it didnt need to.
2008-06-06 08:58:08 +00:00
Campbell Barton
6757b759ea added checks for zero length strings when checking for the last character 2008-06-05 13:12:17 +00:00
Daniel Genrich
f35289574a BLI_kdopbvh: crashed when traversing with little faces 2008-06-05 13:02:17 +00:00
Campbell Barton
4f601b478c * python sys.cleanpath() used strstr incorrectly, resulting in paths containing a slash, always returning a path that ends with a slash.
* python Blender.GetPaths() - absolute=0 wasnt working
* BLI_cleanup_file and BLI_cleanup_file were treating the // prefix as a duplicate path, now ignores //
* BLI_convertstringcode was removing the trailing slash from a path
(tested these path functions didnt mess up with some of the peach files and with pointcache)
2008-06-05 13:02:00 +00:00
Daniel Genrich
c84c0201e1 Collisions: Commit of collision cleanup, put kdop-bvh structure into BLI_kdopbvh (just like kdtree interface now), huge speedup for selfcollisions, also better normal collisions (merge from cloth branch) 2008-06-03 18:48:54 +00:00
Daniel Genrich
74903b77f4 Merging revisions 15020-15073 of https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-31 21:23:57 +00:00
Campbell Barton
da2d4904af bugfix
* scene.object.context and scene.object.selected had broken get_item 
funcs so scene.object.context[i]  returned the wrong object.
* aligning the view to an object (numpad*key), did not disable the 
ortho view grid.
* long standing problem where opening a relative image would fail with 
no message. BLI_convertstringcode was returning a path with /../../'s 
that need to be cleaned before the path could be read, the path was also 
invalid from unix shell so its not a blender path reading problem.
2008-05-30 01:59:15 +00:00
Daniel Genrich
6a802f63b6 Merging revisions 14946-15020 of https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-27 23:15:08 +00:00
Daniel Genrich
da36e8abca -= KDOP / Collisions =-
1. Fix for face with index=0 not handled
2008-05-27 22:42:38 +00:00
Campbell Barton
3b4873250e when cyclic is enabled the knots would always be generated with uniform nurbs but after, cyclic nurbs would be incorrect if the bezier or endpoint u/v was set.
also replaced some numbers with constants.
2008-05-26 12:50:00 +00:00
Daniel Genrich
2666ff7075 -== kdop ==-
1. fix crash on collision
2008-05-25 14:34:03 +00:00
Daniel Genrich
fcea4573dd -== Cloth / kdop ==-
1. Bugfix for crash on enabling cloth on object
2. Correcting kdop nth element sorting function (fix provided by André Pinto)
2008-05-25 13:15:54 +00:00
Daniel Genrich
4bf01e8162 Commit of selfcollisions using new kdop design. Should result in nice speedup. 2008-05-23 20:20:14 +00:00
Daniel Genrich
b64eeda588 svn merge -r 14810:14838 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-14 16:14:40 +00:00
Daniel Genrich
4d8b5587b8 Pre merge commit (includes commented moving stuff) 2008-05-14 16:09:56 +00:00
Daniel Genrich
83c2acccfb stupid me - i left the wrong line in. 2008-05-13 22:30:59 +00:00
Daniel Genrich
3bb43aaaaf bug in bvhkdop (bad diff merged, pointed out by jaguarandi) 2008-05-13 22:29:50 +00:00
Daniel Genrich
e02bca73d7 New speed imrovements by Mr. Pinto/jaguarandi 2008-05-13 00:42:51 +00:00
Campbell Barton
ac71783e8d last commit had a typo, also adjusted teh and colour instances 2008-05-12 21:12:10 +00:00
Daniel Genrich
db3712a2d8 svn merge -r 14721:14810 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2008-05-12 12:24:52 +00:00
Brecht Van Lommel
2c9e8e7593 Fix for bug #11140: explode modifier could run out of memory quite
quickly because it allocated a totvert*totvert size array, now uses
edgehash instead.
2008-05-12 11:48:55 +00:00
Campbell Barton
76c13cc0f7 fix for [#8359] Sequencer image preview: HOME hotkey zooming at output res, not at "full view"
also made image and sequencer account for aspect ratio and added numpad 1,2,4,8 keys for zooming.
2008-05-09 20:08:28 +00:00
Daniel Genrich
a68c03e409 Reason of all this work: Commiting my work-in-progress on reviewed collision system (better + general access to kdop, uses less memory, put it into BLI_* namespace and usage defined like existing BLI_kdtree_*). Deleted old kdop.c 2008-05-07 20:42:16 +00:00
Campbell Barton
110f927c63 Changed frame numbering to only alter hashes if they are in the filename (not the directory name) to fix bug [#10566] File Open Dialog replaces '#' with '0' in directory names.
removed frame numbering from BLI_convertstringcode into its own function (BLI_convertstringframe), many uses of BLI_convertstringcode were passing dummy frames values anyway.
in cases where adding the current frame number to a filename is needed run BLI_convertstringframe(...) after BLI_convertstringcode(...)

There are some cases Im not sure BLI_convertstringframe is needed, these have been commented as todo, but at least have the same functionality they used to.
2008-05-04 09:41:15 +00:00
Andrea Weikert
b1d841f2c4 == bugfix ==
fix for [#6580] invalid file names not handled consistently when saving
only affects windows, where invisible file stream could be created if filename contains ':'
2008-04-29 21:43:17 +00:00
Campbell Barton
db9c14a574 fix gcc warnings 2008-04-29 08:24:33 +00:00
Campbell Barton
96cec2e99b if a blend file was opened with /./ in the path (for example "some/./path/to/./model.blend" ) the relative paths from created from that location would be incorrect. This results in linked library paths being loaded incorrectly. 2008-04-28 21:29:15 +00:00
Campbell Barton
c6554898cc fix for [#9651] raw_export.py tooltip outdated?
own error, bpath looper was trying to free NULL pointer,
added fromOrig to python mtex api
made FromOrig and FromDupli tooltips be understandable
2008-04-28 16:09:17 +00:00
Campbell Barton
9101d5689f * Group unlinking wasnt removing groups from particle systems, or render layers light overrid.
* BPath sequencer strip looper was only operating on the active scene, now look through all scenes.
* The active sequence strip wasnt being reset when scenes switched, so you could see the previous scenes strip when switching to a new scene.
2008-04-27 20:43:25 +00:00
Campbell Barton
c8376869b1 BLI_split_dirfile was being used in cases it should not have been,
Added BLI_split_dirfile_basic, that only splits the path into directory and file. without checking the dir exists or creating it, without changing the original string that is passed to it.
2008-04-26 13:08:57 +00:00
Campbell Barton
2a72b986d4 removed BLI_split_dirfile, it dosnt work with relative paths.
it also makes a directory if its not there, need to look into other uses of this function.
2008-04-25 17:52:25 +00:00
Campbell Barton
feb440c2cd added sequencer paths to bpath iterator, This needed to use get/set filename callbacks internally because the sequencer stores dir/file separately.
This means when moving large projects with many images/videos/sounds is possible with 'File, External Data, Find Missing Files'.
- needed so we can put peach animatic, glrenders & testrenders on the dvd.
also datatoc.c - brecht's fixes from apricot.
2008-04-25 16:09:16 +00:00
Ken Hughes
33bbe7f340 Fix compiler warning about nested C comments. 2008-04-24 21:35:56 +00:00
Simon Clitherow
46847c8a84 Bug fix for 8634, 6708, and 5989
This replaces the hard-coded '%PROFILE%\Application Data\..." path 
with the correct language-dependant CSIDL_APPDATA.

PLEASE NOTE!

Checks for the previous location have now been REMOVED. Any data
saved in the old hard-coded location will no longer be found by 
Blender (this will only affect users of non-english windows.)

The installer has been updated to help the user to migrate their data
to the new location of their choice, if necessary.

Order of preference for .blender on windows is now the following:

1) %HOME% environment var
2) Installation Directory (location of blender.exe)
3) "Current User" (CSIDL_APPDATA)
4) "All Users" (CSIDL_COMMON_APPDATA)
2008-04-21 15:53:32 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
Kent Mein
db86a05173 This is a patch from the FreeBSD people:
http://www.freebsd.org/cgi/cvsweb.cgi/ports/graphics/blender/files/patch-source_blender_blenlib_intern-storage.c

Kent
2008-04-16 17:53:09 +00:00
Campbell Barton
0ec76c6dcf removed blenders backup feature.
sprintf(str, "/bin/su root -c 'cd %s; /bin/tar cf - \"%s\" | (/bin/cd %s; /bin/tar xf -)'", from, file, to);
 return system(str);

This would ask for a password in blenders terminal, in ubuntu there is no root user...
If this feature is added back it should be written in a much nicer way.

Also made HKey toggle hidden files in the file selector.
2008-04-12 15:03:47 +00:00
Campbell Barton
1886872089 simple fix for "Unable to make version backup" warning when saving files. missing a return.
For *nix sustems, recent physics pointcache refactor uses stdio.h's remove() rather then system("rm -f ...") for removing files, since it was a lot slower for removing pointcache.

Ton used the system command because there was some problem using remove() ~6years back, but he cant remember why, (maybe its not a problem now)

Simple error, remove wasn't returning a value, but keep an eye out for problems removing files, and if anyone can reproduce the "Unable to make version backup" problem when saving, we should look into it.

Also added a note about using # in the output path for blenders command line help text.
2008-04-12 10:55:10 +00:00
Campbell Barton
f057a38e98 Changed BLI_convertstringcode to replace any number of hashes with the frame number.
somefile_##.png -> somefile_01.png
somefile_########-image.png -> somefile_00000001-image.png

Before, A hash at the end of the string would be replaced by a number with 4 characters. This is still default if no #'s are in the string, so nothing has changed.

To use this function from the python api use scene.render.getFrameFilename()
2008-04-11 15:47:21 +00:00
Brecht Van Lommel
a02937d86c Fix for bug #8920: particles reactor crash and memory leak. 2008-04-11 12:29:29 +00:00
Brecht Van Lommel
8b2b470d44 Fix for bug #8898: QMC AO not working correct on objects pointing
directly at the camera in some cases.
2008-04-10 12:52:48 +00:00
Brecht Van Lommel
1fe5302cce Point Cache Refactoring
=======================

Caching and Baking:
- The point cache is now cleared on DAG_object_flush_update(), and not cleared for time dependency graph updates.
- There is now a Bake button instead of Protect. Also cache start and end frames were added to softbody and particles.
- The cloth autoprotect feature was removed.
- The Ctrl+B menu now also bakes cloth and particles next to softbody and fluids. Additionally there are now frree bake and free cache menu entries.
- The point cache api has been changed. There is now a PTCacheID struct for each point cache type that can be filled and then used to call the point cache functions.
- PointCache struct was added to DNA and is automatically allocated for each physics type.
- Soft body now supports Bake Editing just like cloth.
- Tried to make the systems deal consistently with time ipo's and offsets. Still not sure it all works correct, but too complicated to solve completely now.

Library Linking:
- Added some more warnings to prevent editing settings on library linked objects.
- Linked objects now read from the cache located next to the original library file, and never write to it. This restores old behavior for softbodies. For local simulation the mesh and not the object should be linked.
- Dupligroups and proxies can't create local point caches at the moment, how to implement that I'm not sure. We probably need a proxy point cache for that to work (ugh).

Physics UI:
- Renamed deflection panel to collision for consistency and reorganized the buttons. Also removed some softbody collision buttons from the softbody panel that were duplicated in this panel for cloth.
- Tweaked field panel buttons to not jump around when changing options.
- Tabbing e.g. Soft Body Collision into the Soft Body panel, it now only shows Collision to make the panel names readable.
- I tried to make enabled/disabling physics more consistent, since all three system did things different. Now the two modifier buttons to enable the modifier for the viewport and rendering are also duplicated in the physics panels. Toggling the Soft Body and Cloth buttons now both remove their modifiers.
- Fixed modifier error drawing glitch.

Particles:
- Particles are now recalculated more often than before. Previously it did partial updates based on the changes, but that doesn't work well with DAG_object_flush_update() ..
- Fixed memory leak loading keyed particle system. Now keys are not written to file anymore but always created after loading.
- Make particle threads work with autothreads.

Continue Physics:
- The timeline play now has a Continue Physics option in the playback menu, which keeps the simulations going without writing them to the cache.
- This doesn't always work that well, some changes are not immediately updated, but this can be improved later. Still it's fun to get a feel for the physics.

Todo:
- Point cache can get out of sync with and undo and changing a file without saving it.
- Change the point cache file format to store a version (so old point cache files can be either converted or at least ignored), and to do correct endian conversion.
- Menu item and/or buttons for Ctrl+B.
- A system("rm ..") was changed to remove() since the former is very slow for clearing point caches. These system() calls were already giving trouble in a bug in the tracker, but really most use of this system("") should be changed and tested.
- The Soft Body Collision and Clot Collision panel titles don't mention there's point cache settings there too, doing that makes them unreadable with the default panel setup.. but may need to make the names longer anyway.
2008-04-10 11:39:20 +00:00
Brecht Van Lommel
c68588ea98 Fix for bug #7368: flipping issue with dual quaternions and scaled bones. 2008-04-01 21:16:24 +00:00
Andrea Weikert
d9de141077 == bugfix ==
fix for [#6950] Blender crashes when .blog file top line is 160 characters or more
- made sure BLI_convertstringcode doesn't return more than 240 chars 
- went through all callers and fixed places where string passed to BLI_convertstringcode was too short
- TODO: look into increasing sample->name and sound->name too, I prevented crashes, but filename might get shortened.
2008-03-30 16:18:01 +00:00
Jean-Luc Peurière
32b5138e64 update to trunk r14199 2008-03-21 17:00:40 +00:00
Stefan Gartner
8c704ec5a6 test commit: fix autothreads on irix 2008-03-19 22:58:16 +00:00
Jean-Luc Peurière
bf4e4234ae fixes for bugs #8496 & #8497
large sources defines cannot be used on darwin 
and windows
2008-03-16 08:08:28 +00:00