Age | Commit message (Collapse) | Author |
|
adding new windowmanager module, and the first bits of new editors
module.
|
|
Outliner: change name of library path to become relative gave
incorrect warning.
|
|
* DNA_action_types.h - fixes for typos that broke compiling (own error)
* transform.c - fix for implicit definition of a function (missing header)
* outliner.c - commented out a few unused vars (as a result of constraints refactor)
* editsima.c - fixed uninitialised var warning
* drawview.c - bugfix #7598 load without ui crashes if there is no camera. Patch provided by Daniel Genrich (genscher)
|
|
Once again, I've recoded the constraints system. This time, the goals were:
* To make it more future-proof by 'modernising' the coding style. The long functions filled with switch statements, have given way to function-pointers with smaller functions for specific purposes.
* To make it support constraints which use multiple targets more readily that it did. In the past, it was assumed that constraints could only have at most one target.
As a result, a lot of code has been shuffled around, and modified. Also, the subversion number has been bumped up.
Known issues:
* PyConstraints, which were the main motivation for supporting multiple-targets, are currently broken. There are some bimport() error that keeps causing problems. I've also temporarily removed the doDriver support, although it may return in another form soon.
* Constraints BPy-API is currently has a few features which currently don't work yet
* Outliner currently only displays the names of the constraints instead of the fancy subtarget/target/constraint-name display it used to do. What gets displayed here needs further investigation, as the old way was certainly not that great (and is not compatible with the new system too)
|
|
* Does not indicate that UV's exist, nor does it add UV's when used.
* Only accessible for texturepaint, vertexpaint and weightpaint from a button in the header (Paint Selection Mask)
* Not accessible from the mode menu, this is only an option that applies to paint modes.
This dosnt effect DNA, face select (G_FACESELECT) can be enabled at any time but is only used when paint modes are enabled.
Other changes
* UKey is uv unwrap in editmode, Ukey for undo was editmode only anyway.
* UVCalc in editmode adds a UV Layer if there is not one alredy.
* texture draw in editmode does not draw the face dots (they are get in the way of texturing)
* some missing updates were added.
* removed manipulator from when paint modes are enabled since the manipulator is not drawn in the 3d view.
|
|
Outliner "make local" was not coded properly. Removed it for now...
Proper implementation would check all other used pointers, to indicate
the data is now local, and ID pointers should be of type "lib extern"
|
|
This fixes the following compiler warning -
source/blender/src/outliner.c:2242: warning: the address of 'name' will always evaluate as 'true'
|
|
Now the Outliner can be scrolled horizontally too. This was the first patch I ever submitted, but it's gone through many revisions due to ugly Blender bugs that needed to be fixed.
Code Notes:
* I discovered an ancient bug which would cause Blender to hang when loading a file saved with horizontal scrollbars turned on for the Outliner/OOPS.
* Therefore, I've added special B_SCROLLO and HOR_SCROLLO defines for use by the Outliner only. These are used in place of B_SCROLL and HOR_SCROLL so that older Blender's won't choke on this stuff. Thanks for this suggestion Ton.
* The hanging occurred in draw_scroll in draw_ipo.c
|
|
*if a vertex group was renamed in the outliner, the name was not updated
correctly in visible buttons window
*certain buttons in Render panel didn't update other buttons windows in
case their value was changed
*same goes for Logic context of the Buttons Window
*also cleaned up unnecessary code from Logic context and made Timer
field to work correctly when pressed with left mouse button
|
|
Previous versions of Blender allowed Vertex Groups to be nameless, which
shouldn't be allowed. This caused problems with rigs from previous versions of Blender being loaded in 2.43+ versions, as the new VGroup feature for the
Armature modifier mis-identified these nameless group(s) as being the Vertex Group
to be used. As well as the checks done when renaming VGroups (from another commit), files created prior to and in 2.43 will have all such groups given default
names.
Code notes:
* I've moved the unique_vertexgroup_name function from src to blenkernel like for
constraints
* Formatting in deform.c tidied up a bit
|
|
Checked every instance of testbase to see this dosnt break anything, also changed TESTBASE and TESTBASELIB, both were used incorrectly in places.
added error_libdata() for library error messages that are everywhere.
added object_data_is_libdata to test if the object and its data's are from a library.
fixed 2 crashs in adding Curve points to a library object (remember to check, verify_ipocurve returns NULL!)
made duplicating and making dupli's real for lib objects possible, disabled joining into lib armatures and meshes.
|
|
(previously the active object was always drawn teh same weather selected or not, making it hard to use the outliner to modify the selection)
Show an error if the user types in a library path that dosnt exist. (loading with a missing library path and saving can loose all your objects so a warning is best)
|
|
|
|
In Outliner, shift+click on item with [Li] icon, gives name of Library file
|
|
OpenGL functions.
|
|
Armature undo was incomplete; no less then 6 places needed undo pushes.
Added undo pushes, and made sure deselectall_armature/posearmature played nice
and only did undo pushes when they're called with AKEY.
This seems like a fairly old issue. I guess people just didn't notice it enough
to file a bug report. :)
|
|
- Previous fix (commit today) for outliner-selecting and mode disabling
forgot to do this for texture paint.
- outliner: theme color drawing for background was using char with overflow
possibility.
|
|
* UV and Radiosity passes are now visible in Outliner (like for other passes)
* Changed tooltip of overwrite material to:
"Name of Material to use as Materials instead"
* Also, fixed Reflection and Refraction passes in the Outliner - flags were
mixed up, so turning on Reflection turned on Refraction and vica-versa.
|
|
in the outliner
|
|
'all scenes' or 'groups'. Caused by optizing drawing.
|
|
Material Nodes still have undefined output to the passes. Currently only
the active Material node gives pass info. Bug was that check for active
was wrong, giving stripes because of hanging variables.
I'll work soon on providing all pass options in the Material nodes. This
fix at least correctly provides passes for active material, and clears
memory of pass info in advance.
Also: outliner view "current scene" did not show render layers.
ALso: outliner click on renderlayer now activates it (for UI)
Also: zbuffer for transparent was not initialized to 'infinity' correctly
|
|
|
|
Full log:
http://www.blender3d.org/cms/Render_Passes.829.0.html
In short:
- Passes now have option to be excluded from "Combined".
- RenderLayers allow to override Light (Lamp groups) or Material.
- RenderLayers and Passes are in Outliner now, (ab)using Matt's nice
'restriction collumns'. :)
|
|
Outliner: the new 'restriction' options were drawn as buttons, and created
always even when not visible. Gave big slowdowns on large data sets.
Also: help lines were drawn as shorts, should be floats
Cannot fix: button coordinates are short by default still, giant outliner
data sets draw buttons in wrong location.
Did add nice feature though; on several events the outliner now is not
being re-built anymore, but redrawn only. I want to be a bit conservative
with it though... but it happens for:
- LMB drag to select items
- pageup/down, scrollwheel, mmb scroll
- search item
- show active item
- toggle selection
Makes a good difference :)
|
|
- Outliner now shows hierarchy for Libraries, indicating which Library
files invoked loading another.
- SHIFT+F1 "Append" browser has a Library menu, allowing to directly browse
into all open library files. This will prevent accidents like re-opening
a same .blend via another path.
|
|
as group duplicators, d'oh!
|
|
Typo in outliner button callback (NULL should be ob).
|
|
invisible in the 3D View, so no unintended commands apply to them
|
|
This adds the ability to restrict an individual object from:
- being visible in the 3D View
- being selectable in the 3D View
- being renderable
with 3 columns of buttons in the outliner.
These restrictions are further down the hierarchy than layers, so for example if an object is in an invisible layer, it will be invisible regardless of whether the object's own visibility setting is on or off. This works on a different conceptual level than layers, being better for more quick interaction (like temporarily making a mesh unselectable while you're posing its armature), rather than so much for scene organisation.
The 3 columns of icons can be turned off in the Outliner View menu.
Along with this is some small cleaning up in interface_icons.c and outliner.c.
|
|
THE OBJECT PROXY
Or simple said; local control of referenced data from libraries.
Having library files with references is a very common studio setup, and
Blender did do quite well in that area. Were it not that for character
setups it was impossible to use still.
This commit will enable a full rig+character to remain in the library,
and still have - under strict control - local access for animation edits.
Full log:
http://www.blender3d.org/cms/Proxy_Objects.824.0.html
|
|
Enable to use Xkey or DEL for deleting objects in outliner.
Note: there's reasons to be a bit reluctant with extensions like this.
Mostly related to the fact that outliner operations is completely unfinished
still. We need to spend time on thinking over how it should evolve, and
based on that the proper hotkeys and menus can be added as well.
|
|
Created a BLI_strcasestr and used existing BLI_strcasecmp in code now.
|
|
This enables finding data in the Outliner.
Usage: Fkey (partial strings), CTRL+Fkey (partial strings, case sensitive).
SHIFT+Fkey to repeat a search, this cycles around.
Extra changes:
- button popups to enter strings now starts activated.
- outliner either shows for Armature the Bones, or Posechannels or
Editbones, depending the mode. Was needed to make searches meaningful.
Although Joshua did very good work on the key functions, there were a couple
of issues in his code, and problems in Outliner code, that didn't make it
all work nicely. So, this is quite a revised patch. :)
Full review log can be found in the patch tracker.
|
|
from verse node in outliner
|
|
* add "Disconnect"-menu when RMB on verse server that is connected in
outliner
|
|
|
|
- added green circle behind object node shared at verse server
- it is easier to figure out, what is shared and what isn't shared
- color is hard coded now, but Matt can improve it ;-)
|
|
|
|
* print (# servers) instead of icon row when there are servers in the list
* dark-green circle behind server icon in server list when connected
* orange when connecting
|
|
* added two files from verse-master
* server list is available in outliner (new mode "Verse Servers")
* verse sessions are now also in new mode "Verse Sessions" in outliner
* fixed drawing of verse sessions and their nodes
* in user preferences System & OpenGL master-server ip setting (default master.uni-verse.org)
* in File>Verse entry "Get Servers" to get server list or
* RMB on "Available Verse Servers" in outliner to "Refresh" server list
Enjoy :)
|
|
|
|
The wait cursor was being called during editmode enter and exit for meshes.
This was a problem for several reasons. First of all, python modules like
Mesh now make use of editmode features. These methods that wrap editmode
tools may be called many times during the execution of a script
and lead to the wait cursor rapidly flickering on and off.
The other problem was that the wait cursor wasn't being called for editmode
enter and exit of all data types. This is unified now.
-New Arguments
enter_editmode() should be passed a nonzero integer or simply EM_WAITCURSOR
if the wait cursor is desired. Currently only the python API passes a '0'
to enter_editmode()
exit_editmode() has several options and they are passed in as the bitflags
EM_FREEDATA, EM_FREEUNDO and EM_WAITCURSOR. These flags are defined in
BDR_editobject.h.
|
|
|
|
file path where library is read from.
In Outliner, choose new view mode "Libraries". A ctrl+click on the library
name then allows to change the file name or path. Note that when you change
the file name, nothing is being re-read or re-linked. Only after saving the
.blend file and reading it back the new library is used.
This feature allows to cleanup library usage. You can make files relative,
or reorganize a project. Just keep in mind that you cannot use this feature
to fix .blend files that link to non-existing other files. That because the
lost data is actually not read at all, so cannot be saved either.
Currently, library errors are only printed in the console... quite
important to keep track of when using Libraries.
Implementation note: this Outliner view mode can become expanded to a full
"Database view", showing something similar as SHIFT+F4 databrowse does now.
|
|
- All code is in #ifdef ... #endif
- Only make build system is supported and you have to add:
export WITH_VERSE=true
to user-def.mk file
- Blender can share only mesh objects and bitmaps now
- More informations can be found at wiki:
http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlender
http://mediawiki.blender.org/index.php/BlenderDev/VerseIntegrationToBlenderUserDoc
I hope, that I didn't forget at anything
|
|
Outliner happened in Oops block view. I found this was caused by commit of
of a new .B.blend in may 2005 (after 2.36, before 2.37). That file had
already opened Oops views stored, which have to remain that way of course.
A full cleanup of .B.blend i rather not do now, so I've added a patch in
code that on read of the built-in .B.blend it sets all existing Oops
windows to Outliner.
And while working on it anyway, on first opening of a new Outliner, the
current Scene level is opened, but showing objects closed.
|
|
Debugging complex files with drivers is very hard... so I've added the
drivers now to show in Outliner too (under the Ipo).
Note that this works for Actions too, but only when the action is linked
to an Object directly.
(For a real diff you have check previous commit, I forgot to write a log
for that)
|
|
In outliner, the icons sometimes were drawing too large or too small.
Same happened in NLA, Action, Image window etc. And it happened
for "International fonts" when set to use 'texture drawing'.
Reason: the API call for setting icon size BIF_icon_set_aspect() was not
used consistantly. Sometimes it was set, sometimes not. And even worse,
for every icon drawn in UI buttons, the icon lookup had to be done twice
because of the aspect function.
Solved it by removing this call, and adding a new function:
BIF_icon_draw_aspect()
The old BIF_icon_draw() call now draws with aspect 1.0 always. The icons
code already had optimal checking for changed sizes, zo a change in aspect
won't result in much cpu overhead. Plus it saves calling icons lookup code,
which will make it all a bit faster.
Andrea: I've added this aspect function a long while ago, I think you also
like it better how it is now? Please check!
|
|
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!
|
|
Outliner, Group view, operation menu "unlink group" also set the group user
counter to zero, which it should not do.
Note; the definition of this command is to make sure no users exist of this
group, but the group itself can still be there with objects.
|