Commit Graph

350 Commits

Author SHA1 Message Date
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
Campbell Barton
8e126216b0 added mesh.getTangents() to the python api 2008-03-14 18:53:51 +00:00
Jean-Luc Peurière
a68a7f42b0 resolved conflict state with HEAD r14096
blenderbuttons still bad

not let this compile
2008-03-13 23:54:02 +00:00
Campbell Barton
6382acbc27 Added UV Stretch (area/angle) display options 2008-03-09 03:42:59 +00:00
Campbell Barton
08f306c81c Made python scripts save and load in the blend file so you can have the same scripts running when you open a blend file.
Also scripts will re-run on undo rather then closing.

This is done by saving and loading the name of the script or textblock of the 'Script' datablock, connected to the ScriptSpace. This way when there is a name but the script dosnt run.
Blender runs the script or text block if available.
2008-03-06 21:25:15 +00:00
Campbell Barton
96247ce19c * Made BLI_join_dirfile() check before adding a slash between dir and file so as not to get /foo///bar.blend
* Pointcache now uses the process id to construct the path for unsaved files. (so 2 or more blender's open wont try to read/write the same pointcache)
* Temp pointcache is cleared when existing blender, added BIF_clear_tempfiles() for this. Should also be usedto clear EXR's in the temp dir (TODO), BIF_clear_tempfiles also needs to be added in more places. (On file load for instace)
2008-02-29 15:50:28 +00:00
Brecht Van Lommel
cbf278246f Fix for bug: cross platform strand render differences with kink/branch.
This time is was due to different accuracy of floating point computation,
now it uses does a comparison a bit different to avoid this.

Also changed the vectoquat function to be threadsafe.
2008-02-27 14:17:32 +00:00
Campbell Barton
086e8b9b8f Bugfix [#8328] Python scripts from user defined location doesn't load
http://projects.blender.org/tracker/index.php?func=detail&aid=8328&group_id=9&atid=125

last commit had mistakes but tested this to fix the bug.
- Cam
2008-02-27 10:02:40 +00:00
Campbell Barton
b226eb925b should fix bug on win32 with user python menu's not loading because stat() didnt like the trailing slash and returned the dir as missing. 2008-02-27 09:48:43 +00:00
Geoffrey Bantle
e03ab146ae -> Bevel tools and Bmesh kernel
The following is a commit of Levi Schooley's bevel code and 
the bmesh library it depends on. The current editmode bevel has 
been replaced with a new per edge bevel function. Vertex beveling is 
also availible.

To set weights for the modifier to use, use the ctrl-shift-e shortcut on either edges 
or vertices.

Recursive beveling is turned of for the time being.
2008-02-23 22:11:16 +00:00
Campbell Barton
7c7a931fed made auto threads default (noob's get faster renders in their dual core CPU's)
changed env variable check order $TMP, $TMPDIR - aparently $TMP is more common.
2008-02-21 08:43:13 +00:00
Campbell Barton
2e299df561 Only use $TEMP for win32, for other os's use $TMP or $TMPDIR 2008-02-20 20:07:37 +00:00
Jean-Luc Peurière
1892df0e68 making auto detection of threads working on Os X
sysconf exist but dont provide the needed flag
using sysctl instead
2008-02-20 16:07:42 +00:00
Matt Ebb
53590faba1 * Added include for auto-threads to compile on Windows 2008-02-20 01:12:21 +00:00
Campbell Barton
0c4d1036d6 added win32 check for number of processors, but cant test.
could somebody running win32 see if headers need to be added to threads.c?
2008-02-19 22:59:52 +00:00
Campbell Barton
82d769c79f automatic threads, next to the Threads button, so you can set threads to use whatever the system has, useful in the studio with 2,4,8 core systems when sharing files. 2008-02-19 22:23:21 +00:00
Campbell Barton
0a703124e2 moved LARGEFILE defines to BLI_storage.h 2008-02-18 17:20:04 +00:00
Jens Ole Wund
5163811290 double strike
-help MSVC compilers with finite /* hope that won't break cygwin builds */
-a unfinished soft body feature sneaked in (freezer)  .. disabled for now
2008-02-17 20:13:58 +00:00
Campbell Barton
b16eefadf8 Patch from Giuseppe Ghibò, modified not to use scons defines.
Files above 4gig did not display on linux in the file selector.
Need to make sure this is ok in other os's too.
2008-02-17 18:09:53 +00:00
Campbell Barton
bc9848f7e6 Added a global string to be used for the tempdir. since the user preference is not loaded in background mode and the user preference is not validated and has no fallback.
'btempdir' is set with BLI_where_is_temp() - This tries to use U.tempdir but falls back to $TEMP or /tmp/
2008-02-13 13:55:22 +00:00
Ken Hughes
ab662ae85c More fixes for gcc warnings. 2008-02-03 18:50:03 +00:00
Campbell Barton
bda73e2f35 solaris was crashing on file open because of statfs, aparently linux-standards-base and solaris have depricated statfs so probably all unix os's should use statvfs. for now only solaris does. 2008-01-26 20:36:14 +00:00
Chris Want
659316e4f4 Fixes for CMake. 2008-01-22 05:34:53 +00:00
Campbell Barton
643e29c736 added function BLI_filepathsize - so you dont have to open the file to get its size.
made render Touch function remove the touched file if the animation is canceled.
2008-01-21 22:10:20 +00:00
Joshua Leung
aa03132bc3 [Coder API's]: Added a "generic unique name-finding function".
Basically, this is based on the behaviour of the unique_constraint_name (or equivilant) functions, which have traditionally been duplicated everytime a new datatype needed this.

Currently, this is in use for the following things:
* Constraints
* Action/Bone Groups
* Local Action Markers / PoseLib poses

Usage Notes:
* The file in which this is to be used should include the standard header file <stddef.h>. This defines the offsetof() macro, which should be used to find the relative location of the "name" member of the structs
* This function is only designed for names of up to 128 chars in length (Most names are at most 32. TimeMarkers are 64). If a longer string needs to be handled, the function will need to be modified accordingly. 
* defname is the default name that should be used in case one hasn't been specified already
2008-01-20 23:53:13 +00:00
Campbell Barton
88561ed669 touch function that should also work on non unix os's, though I cant test here. 2008-01-20 21:27:16 +00:00
Campbell Barton
09c2fd6f11 Linux only addition to know for sure the path of blender because sometimes the Play button doesn't work depending on how blender is started.
This uses binreloc - http://autopackage.org/docs/binreloc/
it should also solve the problem of python scripts not being found.
2008-01-18 15:10:17 +00:00
Campbell Barton
67de673496 Bugfix, un-initialized variables for tubemap and spheremap mapping, affected textures 2008-01-13 18:13:39 +00:00
Brecht Van Lommel
56faf73e3c - Bugfix for flickering shadow with strand simplification.
- On non-edited hair, don't generate child particles for
  each step, only at the end.
- Small optimization in the kd-tree.
2008-01-03 22:43:51 +00:00
Ton Roosendaal
65f1999435 Bugfix #8032
The warning i've coded 1.5 year ago, to warn when a .blend was written
by newer executable, failed on the .B.blend load case... UI not property
initialized then.

This at least fixes the crash, a menu won't pop up correctly though...
luckily the warning works for regular load or ctrl-x
2008-01-01 14:13:37 +00:00
Campbell Barton
5e4d32a9ff Improvements to File->External Data->Make Paths Relative & Make Paths Absolute,
made when testing peach blend files wont have path issues when sent to the renderfarm.
* log failed path conversions
* clean the path so //foo/../foo/ is removed (not sure why but some peach files had this problem)
Also added a function to util.c 
BLI_cleanup_file, same as BLI_cleanup_dir but dosnt add a slash at the end.
2007-12-31 12:03:26 +00:00
Campbell Barton
052a0551e4 Added 'File->External Data->Make all files Absolute'
OpenGL stamp also wasnt checking correctly (own error)
2007-12-24 17:07:52 +00:00
Campbell Barton
846e4027ce hopefully fix compiling on win32 2007-12-20 12:37:15 +00:00