blender.git
10 years agoNLA SoC: Merge from 2.5 - 21179 to 21209
Joshua Leung [Sun, 28 Jun 2009 03:26:10 +0000 (03:26 +0000)]
NLA SoC: Merge from 2.5 - 21179 to 21209

10 years agoNLA SoC: Renamed NLA-Editor operators to be more in line with those in other editors
Joshua Leung [Sun, 28 Jun 2009 03:13:01 +0000 (03:13 +0000)]
NLA SoC: Renamed NLA-Editor operators to be more in line with those in other editors

10 years agoremoved un-needed hack, something weired was going on when debugging that made the...
Campbell Barton [Sun, 28 Jun 2009 02:47:49 +0000 (02:47 +0000)]
removed un-needed hack, something weired was going on when debugging that made the pointers to these functions change after initialization.

10 years agoBGE Fix for no redrawing.
Campbell Barton [Sun, 28 Jun 2009 02:37:07 +0000 (02:37 +0000)]
BGE Fix for no redrawing.
Was caused by un-initialized engine ticrate, do_versions was working on 2.4x but isnt in 2.5 so just add a zero check when getting from the world.

10 years agoBGE Redraw problem:
Campbell Barton [Sat, 27 Jun 2009 23:54:20 +0000 (23:54 +0000)]
BGE Redraw problem:
at the moment only files from blender 2.4x will display in 2.5x, compared area and window structs in both cases and dont see any differences.

This doesnt fix the problem but corrects a few things related to window drawing with the BGE,
also adds a hack because I noticed the window and area pointers in the KX_BlenderCanvas were offset after initialized, maybe need to use <static cast> ?

10 years agoCMake patch from Alexander Neundorf
Campbell Barton [Sat, 27 Jun 2009 22:48:39 +0000 (22:48 +0000)]
CMake patch from Alexander Neundorf

-under UNIX, it uses FIND_PACKAGE() to find the jpg, png and zlib libraries

-it removes the explictely listed search paths, which are already searched by
default, so it is not necessary to list them again explicitely

-it removes the include directories /usr/include
and /usr/local/include. /usr/include is used by default, all other
directories should be searched via find_package/find_file and then added to
the include directories.

-replaces the include() commands for the FindXXX.cmake
modules with the appropriate find_package(Foo) calls.
This doesn't change the behaviour, but gives more features.
E.g. you could now say
find_package(JPEG REQUIRED)
and cmake will abort with an error if the package is not found.
Also it makes it clearer what is going on.

Additionally the patch removes the line
 INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
in the Windows if-branch.
Why was this there ? This file should be included anyway under Windows when
using the MS compiler.

10 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 27 Jun 2009 21:14:04 +0000 (21:14 +0000)]
2.5/Sculpt:

Improved sculpting in perspective mode; starting a stroke on the background would sometimes result in the brush having a huge effect on the mesh. Fixed by waiting to start the stroke until the mouse moves over the model.

The fix is not quite perfect, because detection of the edge of the model is based on the depth buffer, so other things that change the depth buffer, like the grid and axis lines in the 3d view, can throw off the calculation.

10 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 27 Jun 2009 17:10:19 +0000 (17:10 +0000)]
2.5/Sculpt:

Removed a bunch of old code that was #ifdef'd out. Mostly relates to partial visibility and partial redraw. Both of these are important features, but need better design updated for 2.5.

Also removed the old (huge/ugly!) sculpt() function that is now handled by the stroke operator code.

10 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 16:35:42 +0000 (16:35 +0000)]
2.5

Two bugfixes:
- When making 2d windows small (zero sized) the view2d data could get
  corrupted with NaN values. Clipped values correctly to 1.
- Search menu (ctrl+alt+f) had wrong color for selected text in text
  button

10 years agoParticle ID block controls:
Janne Karhu [Sat, 27 Jun 2009 15:41:47 +0000 (15:41 +0000)]
Particle ID block controls:
* Adding/removing particle systems to an object.
* Changing of particle settings.
* Currently showing an object's particle systems in a list (like materials).

10 years agoPointcache refresh part 2
Janne Karhu [Sat, 27 Jun 2009 15:28:58 +0000 (15:28 +0000)]
Pointcache refresh part 2

* Based on what happens during simulation the cache is marked (also in cache panel, this could possibly be extended to 3d view as well) as:
- exact (not marked)
- outdated (simulation is not done completely with current settings)
- non-exact (frames were skipped during simulation)

* The parameter "cache step" effects the number of frames between saved cache frames.
- This can save a lot of memory (or disk space) if absolutely frame accurate simulation is not required.
- Speeds up the "quick caching" very much.
- Frames between cached frames are interpolated from the cached frames.
- Current default value of 10 frames works nicely with up/down-arrows (skip 10 frames forwards/backwards on timeline), but can be changed if wanted.

* The caching can work in normal or "quick" mode:
[Normal cache]
- Basic: Calculate what even happens (settings change, big frame steps etc.) and cache results, if possible try to use "cache step" when saving cache frames.
- Becomes non-exact: After larger than 1 frame steps.
- Becomes outdated: After any change effecting the simulation other than frame steps.
- Pros/cons: Freedom of doing anything and playing with particles, but exact results have to calculated from the beginning.

[Quick cache]
- Basic: Calculate simulation up to current frame automatically on changes with cache step sized jumps in simulation. With multiple "quick cached" simulations the smallest cache step is used.
- Becomes non-exact: Always from frame 1 (unless cache step = 1).
- Becomes outdated: Never.
- Pros/cons: Not very accurate, but super fast!
- Todo: Transform of any animated (non-autokeyed) object is locked! Probably needs some tinkering with anim sys overrides.

* The simulation can be run forwards or backwards even if it's cache is outdated or non-exact, the following rules apply in these situations:
- step forwards (to unknown) -> simulate from last exact frame, store result
- step backwards (to known) -> result is interpolated from existing frames, store result, clear cache forwards if current frame is after last exact frame

* "Calculate to current frame" runs the simulation from start to current frame with a frame steps of 1.
- Baking does the same, but runs the simulation all the way to the end of simulation.
- Rendering does this automatically if the simulation is outdated of non-exact, so all rendered simulations will always be updated and exact.

* Every cache panel also holds buttons to "Bake all dynamics", "Free all dynamics" and "Update all dynamics to current frame".

* Cloth simulation supports the new cache too.

10 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 15:21:37 +0000 (15:21 +0000)]
2.5

Test commit; toolbar has 'add operator' menu in mesh editmode.
Nothing stored, freed here...

Also: removed reading .B.blend, since a much better default has
been compiled in now, prevents confusing testers who run 2.5
for the first time. :) Of course .B25.blend still works.

10 years agoUI:
Brecht Van Lommel [Sat, 27 Jun 2009 14:35:24 +0000 (14:35 +0000)]
UI:
* Fix issue with icon not being left-aligned in text field.
* Put modifier tab after data tab in buttons header.

10 years agoUI: move bone constraints panel to bone tab again.
Brecht Van Lommel [Sat, 27 Jun 2009 14:07:17 +0000 (14:07 +0000)]
UI: move bone constraints panel to bone tab again.

10 years agoRNA: move softbody flags from Object to SoftBodySettings.
Brecht Van Lommel [Sat, 27 Jun 2009 14:02:21 +0000 (14:02 +0000)]
RNA: move softbody flags from Object to SoftBodySettings.

10 years ago2.5 RNA:
Thomas Dinges [Sat, 27 Jun 2009 13:20:19 +0000 (13:20 +0000)]
2.5 RNA:

* Added more softbody properties (collision, solver) and some flags in object RNA.

10 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 13:10:18 +0000 (13:10 +0000)]
2.5

Mesh editmode fix: Add new primitive often was on wrong location.
Viva Vazquez testing! :)

10 years agoNLA SoC: Move Strips Up/Down Operators
Joshua Leung [Sat, 27 Jun 2009 13:00:22 +0000 (13:00 +0000)]
NLA SoC: Move Strips Up/Down Operators

These operators may be temporary only, depending on if a workable solution via transform is found.
* PageUp moves strips into the track above if there's space
* PageDown moves strips into the track below if there's space

* Also fixed a button-alignment bug in the DopeSheet header

10 years ago2.5
Ton Roosendaal [Sat, 27 Jun 2009 12:41:28 +0000 (12:41 +0000)]
2.5

Bugreport; on dragging area edges, the mouse-release event was
swallowed by the panel animation handler. Thanks Pablo Vazquez
for report. :)

10 years agoNLA SoC: Recoded the strip<->global time conversion code
Joshua Leung [Sat, 27 Jun 2009 12:35:11 +0000 (12:35 +0000)]
NLA SoC: Recoded the strip<->global time conversion code

* Strip evaluation now takes into account repeats
* Increasing the number of repeats lengthens the strip, while decreasing the number of repeats does the opposite.

TODO:
- inverse correction doesn't take into account repeats != 1, so tweaking strips with repeats is currently not recommended!

10 years ago2.5 RNA:
Thomas Dinges [Sat, 27 Jun 2009 11:57:50 +0000 (11:57 +0000)]
2.5 RNA:

* Started Wrapping softbody RNA.

10 years agoNLA SoC: Apply-Scale Operator now recalculates action length after scale is applied
Joshua Leung [Sat, 27 Jun 2009 04:56:20 +0000 (04:56 +0000)]
NLA SoC: Apply-Scale Operator now recalculates action length after scale is applied

10 years agoNLA SoC: Merge from 2.5 - 21146 to 21178
Joshua Leung [Sat, 27 Jun 2009 03:19:55 +0000 (03:19 +0000)]
NLA SoC: Merge from 2.5 - 21146 to 21178

10 years agoUI
Brecht Van Lommel [Sat, 27 Jun 2009 01:15:31 +0000 (01:15 +0000)]
UI

* Search popup + autocomplete for bones, vertex groups, etc. This
  is done with layout.item_pointerR, specifying an RNA collection to
  take the items from. Used by constraints and modifiers.

* Some tests with the List template, ignore those for now..

10 years agoRNA
Brecht Van Lommel [Sat, 27 Jun 2009 01:10:39 +0000 (01:10 +0000)]
RNA

* Added support for passing collections to/from RNA functions,
  this is done using a ListBase of CollectionPointerLink, which
  is a standard ListBase link + PointerRNA.

* Added editable active uv/vcol layer to Mesh.
* Armature.bones now includes all bones, not only the ones without
  parents.
* Modifier UV layer fields now are allowed to be empty, previously
  this would set the name during modifier evaluation if there was
  none.

10 years agoNLA SoC: Theme colours in old defaults files for NLA now get replaced with the nice...
Joshua Leung [Sat, 27 Jun 2009 00:40:25 +0000 (00:40 +0000)]
NLA SoC: Theme colours in old defaults files for NLA now get replaced with the nice new colours

10 years ago2.5
Ton Roosendaal [Fri, 26 Jun 2009 15:48:09 +0000 (15:48 +0000)]
2.5

Part one (of probably many :) of Operator review/validation.
Nothing final nor defined, it's reseach :)

- Added tool buttons in "Toolbar" (Tkey). Just four examples
  for objectmode, and six for mesh editmode.

(Review in progress is operator internal state vs context, what
do redo exactly, undo vs redo syncing, when op->invoke or not,
etc. This has to be pinned down exactly and frozen asap)

- On undo, clear redo-operator-stack for now (won't work)
- Added call to better detect active/current view3d region.
  ED_view3d_context_rv3d(C)
- Fixed some operators that missed correct redo (add-prim etc).

Later more fun!

10 years ago2.5
Ton Roosendaal [Fri, 26 Jun 2009 12:55:46 +0000 (12:55 +0000)]
2.5

Makes toolbar region in 3d editor work correctly overlapping, also
when area is subdivided in 4-split, and/or with properties region.

10 years agoMade Mathutils use radians rather then degrees. defining USE_MATHUTILS_DEG for testin...
Campbell Barton [Thu, 25 Jun 2009 20:47:41 +0000 (20:47 +0000)]
Made Mathutils use radians rather then degrees. defining USE_MATHUTILS_DEG for testing existing scripts.
Added conversion for BGE Quaternion WXYZ (Blender/C) -> XYZW (Moto C++).
BGE Python API now uses WXYZ following mathutils (break script warning).

10 years ago2.5
Ton Roosendaal [Thu, 25 Jun 2009 15:41:27 +0000 (15:41 +0000)]
2.5

Rendering preview icons is back!

Note for Andrea: the render code has been decoupled from
drawing, it needs Scene context to be able to run...

At the moment only the search menu calls the new render
code (which is the ID browse menu default anyway)

10 years agoNLA SoC: Fix transforms for transition strips.
Joshua Leung [Thu, 25 Jun 2009 12:30:49 +0000 (12:30 +0000)]
NLA SoC: Fix transforms for transition strips.

10 years agoNLA SoC: Armature Drawing Code Fixes
Joshua Leung [Thu, 25 Jun 2009 10:52:09 +0000 (10:52 +0000)]
NLA SoC: Armature Drawing Code Fixes

* Compiling broke for some users on this file due to my scaling-fixes commit. Dunno why this didn't give any errors here (silly compiler!)

* Restored code to make ghost poses (and supposedly paths) work again. This doesn't totally seem to be the case yet though.

10 years agoPyAPI RNA/BGE
Campbell Barton [Thu, 25 Jun 2009 10:11:37 +0000 (10:11 +0000)]
PyAPI RNA/BGE
* all mathutils types now have optional callbacks
* PyRNA returns mathutils quat and euler types automatically when they have the rotation subtype.
* PyRNA, reuse the BPy_StructRNA PyObject rather name making a new one for each function returned.
* use more arithb.c functions for Mathutils quaternion type (less inline cruft).
* BGE Mathutils integration mostly finished- KX_PyMath now converts to Mathutils types rather then lists.
* make all mathutils types share the same header so they can share a number of functions - dealloc, getWrapped, getOwner.

10 years agoNLA SoC: Quick crash fix
Joshua Leung [Thu, 25 Jun 2009 05:05:35 +0000 (05:05 +0000)]
NLA SoC: Quick crash fix

Pointer for accessing settings of active NLA-strip was not getting set. The code for this was accidentally removed during an earlier commit to clean up the poll callbacks here.

10 years agoAt last... this merge should finally do the trick!
Joshua Leung [Thu, 25 Jun 2009 04:33:21 +0000 (04:33 +0000)]
At last... this merge should finally do the trick!

21073 to 21145

10 years ago2.5: File Selector: display operator properties in the side region,
Brecht Van Lommel [Wed, 24 Jun 2009 21:27:10 +0000 (21:27 +0000)]
2.5: File Selector: display operator properties in the side region,
check Save Image or Export PLY operator for example.

Also these code changes:

* Added some RNA collection iterator macros to simplify code.
* Fix bpy.props.BoolProperty not working correct.
* Merge uiDefAutoButsRNA/uiDefAutoButsRNA_single into one.

10 years ago2.5: bug fixes for some erratice materials buttons drawing.
Brecht Van Lommel [Wed, 24 Jun 2009 18:39:00 +0000 (18:39 +0000)]
2.5: bug fixes for some erratice materials buttons drawing.

10 years ago2.5
Ton Roosendaal [Wed, 24 Jun 2009 17:57:10 +0000 (17:57 +0000)]
2.5

Bugfix: added refresh for modifiers for enable/disable

10 years ago2.5
Ton Roosendaal [Wed, 24 Jun 2009 17:22:22 +0000 (17:22 +0000)]
2.5

- Added ND_SHADING notifier on linking materials, so it gives
  refreshes in UI
- Removed reduntant debug prints

Crucial fixes in other code while checking warnings;
- Particle buttons were assigned to short, whilst data was int
- Filesel border select used float rect API, on an int rect.

10 years ago2.5
Ton Roosendaal [Wed, 24 Jun 2009 16:44:54 +0000 (16:44 +0000)]
2.5

Added support for icons in search menu.
It already displays icons for saved materials etc. from old files.
Have to add previewrenders for this still.

10 years agoUI
Brecht Van Lommel [Wed, 24 Jun 2009 14:16:56 +0000 (14:16 +0000)]
UI

* Added SCROLL button type, use like a NUMSLI basically, with
  a1 used to define the scroller size.
* Add scroll and toggle colors to the Theme (toggle was set to
  draw like radio in a recent commit, but it's the intention
  these look different).
* Added rudimentary list template, used for object material
  slots, this is WIP though.
* In popup menu, split text with line breaks over multiple
  lines, makes python errors display slightly nicer.

10 years ago2.5: Object material slot operators add/remove/assign/select/deselect.
Brecht Van Lommel [Wed, 24 Jun 2009 14:07:48 +0000 (14:07 +0000)]
2.5: Object material slot operators add/remove/assign/select/deselect.

10 years agoRNA
Brecht Van Lommel [Wed, 24 Jun 2009 14:03:55 +0000 (14:03 +0000)]
RNA

* RNA_struct_name_get_alloc function to get the name from a
  pointer, instead of having to deal with name property.
* CTX_data_pointer_get_type to get data from context with
  a check for the RNA type.

10 years ago2.5
Ton Roosendaal [Wed, 24 Jun 2009 13:44:19 +0000 (13:44 +0000)]
2.5

Medium sized Color Picker; consisting of number sliders, row buttons to
select rgb/hsv/hex, HS circle and V slider. It opens persistant, like
old picker.

This one opens default, other two can be accessed with ALT or SHIFT click.

On todo;
- eyedropper tool back
- method for click-drag to make mini picker appear

Note for UI coders (brecht :), added a UI_HIDDEN flag in buttons, to
support switching buttons in menus. Hidden buttons are not activated nor
drawn.

10 years agoNLA SoC: Scale Operators - Clear (Alt-S) and Apply (Ctrl-A)
Joshua Leung [Wed, 24 Jun 2009 12:50:20 +0000 (12:50 +0000)]
NLA SoC: Scale Operators - Clear (Alt-S) and Apply (Ctrl-A)

These two operators work only on Action-Clip strips.

* Clear (Alt-S) resets the scale of selected strips to 1.0
* Apply (Ctrl-A) applies the scale of the selected strips to their referenced Actions. If this referenced Action is also used by several other strips, a copy of the Action is made, and the scaling is applied to that Action instead.

10 years agoNLA SoC: Delete Tracks Operator (XKEY / DELKEY) over the channel list
Joshua Leung [Wed, 24 Jun 2009 12:12:11 +0000 (12:12 +0000)]
NLA SoC: Delete Tracks Operator (XKEY / DELKEY) over the channel list

This deletes all the strips in the relevant (selected) tracks too.

10 years ago2.5 - Quick compiling fix for particles-animation commit earlier. For some reason...
Joshua Leung [Wed, 24 Jun 2009 10:48:37 +0000 (10:48 +0000)]
2.5 - Quick compiling fix for particles-animation commit earlier. For some reason, compilation was broke on some compilers.

10 years agoNLA SoC: Drawing Tweaks
Joshua Leung [Wed, 24 Jun 2009 10:32:13 +0000 (10:32 +0000)]
NLA SoC: Drawing Tweaks

* Transition tracks are now drawn in a different colour (bluish)

* Action line now shows keyframe indicators for the action it is representing. These are drawn as small empty diamonds to show that they're not directly editable (and never ever will be) via the NLA Editor.
* Action line is also drawn with borders to help differentiate it from the other tracks.

* As an experiment, removed the 'TweakMode' buttons from the header. I had originally added this as a way of indicating that this functionality was there (and to allow for keeping track of it), though it seems to have caused far too much confusion and frustration about 'modality' instead.

10 years ago2.5 - Particle Settings now Animateable
Joshua Leung [Wed, 24 Jun 2009 02:11:36 +0000 (02:11 +0000)]
2.5 - Particle Settings now Animateable

Added AnimData to ParticleSettings so that this will work. This seems to be ok in the brief tests I did, but be warned that this may not be optimal for the Particles System...

10 years agoNLA SoC: Fixes for segfaults during NLA Transforms
Joshua Leung [Wed, 24 Jun 2009 01:41:12 +0000 (01:41 +0000)]
NLA SoC: Fixes for segfaults during NLA Transforms

The snapping code was incorrectly assuming that td->extra was always AnimData, but for NLA this is incorrect as it is used for special data used for checking back.

10 years agoNLA SoC: Fixing a few cases where the wrong flags got used in last night's commit
Joshua Leung [Wed, 24 Jun 2009 01:04:01 +0000 (01:04 +0000)]
NLA SoC: Fixing a few cases where the wrong flags got used in last night's commit

10 years agoNew Style option: Overlap
Diego Borghetti [Tue, 23 Jun 2009 18:26:01 +0000 (18:26 +0000)]
New Style option: Overlap

If this option is enable, the blenfont check for overlap characters, like
one of my previous commit but now it's optional and disable by default.
(This fix the "Fi" or other case when the characters are too close)

Enable/disable from:
Outliner -> User Preferences -> Styles -> Panel Font -> Overlap

(also for other styles, Group Label, Widget, Widget Label)

10 years agofix ui issues of space_logic
Hamed Zaghaghi [Tue, 23 Jun 2009 17:30:18 +0000 (17:30 +0000)]
fix ui issues of space_logic

10 years agomodified patch from Arystanbek, allow assigning of mathutils matrix to an rna matrix
Campbell Barton [Tue, 23 Jun 2009 17:10:46 +0000 (17:10 +0000)]
modified patch from Arystanbek, allow assigning of mathutils matrix to an rna matrix

10 years ago2.5
Ton Roosendaal [Tue, 23 Jun 2009 17:06:46 +0000 (17:06 +0000)]
2.5

Removing editors/include export from Make, it's not needed luckily :)

10 years ago2.5
Ton Roosendaal [Tue, 23 Jun 2009 16:57:46 +0000 (16:57 +0000)]
2.5

Game engine Makefile update.

Note to coders: including BLO_ for only intptr typedef is ehh... not
so nice. But it should not have been added there in first place.
(BLO_ = .blend file read/write). Nice for a future cleanup. :)

Also goes for ED_ includes btw, = bad level call for GE! If you need
it to get things work now, fine, but it will make player impossible.

10 years agoMove shadow option (for text) from editor/interface to blenfont.
Diego Borghetti [Tue, 23 Jun 2009 16:27:35 +0000 (16:27 +0000)]
Move shadow option (for text) from editor/interface to blenfont.

Two new function:
 BLF_shadow: set the level (for blur) and the shadow color.
 BLF_shadow_offset: set the x and y offset for shadow.
 (this is the current position plus offset)

By default shadow is not enable in the font, so before draw the
text you need call BLF_enable(BLF_SHADOW), also remember disable
the option in the end.

10 years agoPyRNA API support for matrix types as Mathutils matrix (with callbacks) rather then...
Campbell Barton [Tue, 23 Jun 2009 13:34:45 +0000 (13:34 +0000)]
PyRNA API support for matrix types as Mathutils matrix (with callbacks) rather then a generic rna sequence of floats.

Any 3x3 or 4x4 rna matrix will automatically be returned as a Mathutils matrix.
This makes useful stuff like multiplying a vector location by an object matrix possible.
 ob = bpy.data.scenes[0].objects[0]
 print (ob.data.verts[0].co * ob.matrix)

Also added mathutils matrix types to the BGE GameObject.localOrientation, worldOrientation

* MT_Matrix3x3 added getValue3x3 and setValue3x3, assumed a 4x3 float array.
* KX_GameObject.cpp convenience functions NodeSetGlobalOrientation, NodeGetLocalOrientation, NodeGetLocalScaling, NodeGetLocalPosition.
* 2.5 python api now initializes modules BGL, Mathutils and Geometry
* modules py3 PyModuleDef's use PyModuleDef_HEAD_INIT, rather then {}, was making msvc fail to build.
* added macros for Vector_ReadCallback, Vector_WriteCallback etc. to check if the callback pointer is set before calling the function.

10 years agoNLA SoC: Big Commit - Restored NLA-Mapping Corrections
Joshua Leung [Tue, 23 Jun 2009 13:25:31 +0000 (13:25 +0000)]
NLA SoC: Big Commit - Restored NLA-Mapping Corrections

In TweakMode, the keyframes of the Active Action are now shown (and can be edited) in NLA-mapped time, with appropriate corrections applied when editing. This works in the DopeSheet and Graph Editors :)

To do this, got rid of the old wrappers/API-methods, replacing them with new-style ones. A few methods previously (in this branch) used only for evaluation are now used for this purpose too. As the same code is used for editing + evaluation, this should now be much better to work with.

I've only done a few brief tests now, but I think I might've muddled the invert-flags on one or two cases which I'll need to check out tomorrow. So, beware that there may be some weird and critical bugs for the next few days here...

Also, added proper license headers to new NLA files.

TODO:
- testing + bugfixing due to this commit
- show range of keyframes in NLA Editor active-action line

10 years agosmall changes...
Campbell Barton [Tue, 23 Jun 2009 12:36:15 +0000 (12:36 +0000)]
small changes...
- allow RNA_property_enum_items to take the totitems int pointer as NULL (spares a loop on all the enum items). this change also makes enums types with no enum array crash in some places, could support these though Id rather disallow them, generating docs is a quick way to test for this.
- open recent file operator used and enum to open the recent file without an enum array, changed to an int type.
- added space_logic.py poll functions

10 years ago2.5 - Icons for Modifiers in Modifier Template
Joshua Leung [Tue, 23 Jun 2009 11:28:48 +0000 (11:28 +0000)]
2.5 - Icons for Modifiers in Modifier Template

As per William's mockup - http://www.reynish.com/files/blender25/modifiers.png

10 years ago2.5 Icons:
Thomas Dinges [Tue, 23 Jun 2009 11:16:27 +0000 (11:16 +0000)]
2.5 Icons:

* Added lamp icons.

10 years ago2.5 Icons:
Thomas Dinges [Tue, 23 Jun 2009 11:00:35 +0000 (11:00 +0000)]
2.5 Icons:

* Modifier Icons are now shown in the add modifier menu.

10 years ago2.5: Image Editor
Brecht Van Lommel [Tue, 23 Jun 2009 00:45:41 +0000 (00:45 +0000)]
2.5: Image Editor

* Menu and header more complete now.
* Clean up Game Properties panel and moved View Properties panel
  to python.
* Fix some drawing issues when combining tiles, repeat and aspect,
  some also from 2.4x, these options didn't work together 100%.

10 years ago2.5: Tool Settings
Brecht Van Lommel [Tue, 23 Jun 2009 00:41:55 +0000 (00:41 +0000)]
2.5: Tool Settings

* Moved proportional edit, snap, autokey mode, and a few others
  from Scene to ToolSettings.
* RNA wrapped properties in ToolSettings for the UV editor:
  proportional edit, snap settings, selection modes.

10 years agoUI: some API functions don't require explicit context passing anymore.
Brecht Van Lommel [Tue, 23 Jun 2009 00:19:10 +0000 (00:19 +0000)]
UI: some API functions don't require explicit context passing anymore.

10 years agoSVN maintenance.
Guillermo S. Romero [Tue, 23 Jun 2009 00:09:26 +0000 (00:09 +0000)]
SVN maintenance.

10 years agoUI
Brecht Van Lommel [Mon, 22 Jun 2009 23:58:16 +0000 (23:58 +0000)]
UI

* Make Directional Order menus the default again.
* Scale up contents panels that do not use layout system.
* Fix for enum size and uncesseray colon in some cases.
* For item_menu_enumO, show icons if specified in RNA in
  the menu (e.g. in the add modifier menu if there were
  icons specified).

10 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Mon, 22 Jun 2009 22:39:28 +0000 (22:39 +0000)]
2.5 MSVC9 projectfiles
* RNA: move of rna_*_api.c files
* removed deleted projects ODE, SUMO etc.
* Added new files to editors/space_logic

10 years agoremoving files that should not be in blender2.5, added (by mistake?) r19226
Campbell Barton [Mon, 22 Jun 2009 22:32:00 +0000 (22:32 +0000)]
removing files that should not be in blender2.5, added (by mistake?) r19226

10 years ago2.5: warning fixes
Brecht Van Lommel [Mon, 22 Jun 2009 18:19:18 +0000 (18:19 +0000)]
2.5: warning fixes

Mostly harmless ones, except for one about "gzopen64" being
undeclared. This needs some defines in BLI_storage.h to be set
before <unistd.h> is included. Might fix a crash in compressed
file reading, though I'm not sure since it's hard to repeat
the crash consistently.

10 years agoNLA SoC: Merge from 2.5
Joshua Leung [Mon, 22 Jun 2009 04:39:35 +0000 (04:39 +0000)]
NLA SoC: Merge from 2.5

21043 to 21072

(NOTE TO SELF: Campbell made a commit in 2.5 before this merge finished)

10 years agoPyAPI Mathutils Vector callbacks, referencing other PyObjects rather then thin wrappi...
Campbell Barton [Mon, 22 Jun 2009 04:26:48 +0000 (04:26 +0000)]
PyAPI Mathutils Vector callbacks, referencing other PyObjects rather then thin wrapping vectors which is crash prone.

in short, vectors can work as if they are thin wrapped but not crash blender if the original data is removed.

* RNA vector's return Mathutils vector types.
* BGE vectors for GameObject's localPosition, worldPosition, localPosition, localScale, worldScale, localInertia.
* Comment USE_MATHUTILS define to disable returning vectors.

Example...

* 2.49... *
 loc = gameOb.worldPosition
 loc[1] = 0
 gameOb.worldPosition = loc

* With vectors... *
 gameOb.worldPosition[1] = 0

* But this wont crash... *
 loc = gameOb.worldPosition
 gameOb.endObject()
 loc[1] = 0 # will raise an error that the objects removed.

This breaks games which assume return values are lists.

Will add this to eulers, matrix and quaternion types later.

10 years agoNLA SoC: Graph Editor Menus + Operator Name Cleanup
Joshua Leung [Mon, 22 Jun 2009 04:23:06 +0000 (04:23 +0000)]
NLA SoC: Graph Editor Menus + Operator Name Cleanup

As with the DopeSheet, the names of operators in the Graph Editor have been cleaned up, and operators have been added to menus as appropriate to show their availability.

Tweaked a few DopeSheet operator names to be more in line with the Graph Editor equivalents, and vica versa.

TODO: now, the operator poll callbacks here need checking...

10 years agoNLA SoC: DopeSheet Cleanups
Joshua Leung [Mon, 22 Jun 2009 03:26:36 +0000 (03:26 +0000)]
NLA SoC: DopeSheet Cleanups

* Replaced old-style menu defines with the new-style Layout Engine ones. These are now much cleaner as a result :)

* Wrapped DopeSheet and Graph Editors in RNA to allow them to use the new Layout Engine for menu drawing

* Shortened the names of operators in the DopeSheet, removing the "keyframes" prefix since that's the only real context which can operate there.

* Standardised a few names, and renamed a confusingly named operator (cfrasnap -> jump to frame)

10 years ago2.5/Sculpt:
Nicholas Bishop [Sun, 21 Jun 2009 18:59:26 +0000 (18:59 +0000)]
2.5/Sculpt:

Fixed the Lock X/Y/Z buttons for sculpt, should work for all brushes now.

10 years ago2.5/Sculpt:
Nicholas Bishop [Sun, 21 Jun 2009 17:04:17 +0000 (17:04 +0000)]
2.5/Sculpt:

Some improvements to the layer brush; the displacement is now tied to brush size, like for draw and inflate.

Fixes for layer brush in subtract mode and anchor mode.

10 years agomore corrections from cleanup :/
Campbell Barton [Sun, 21 Jun 2009 17:03:17 +0000 (17:03 +0000)]
more corrections from cleanup :/

10 years agoremove support for videoscape, amiga 3D app that came before lightwave.
Campbell Barton [Sun, 21 Jun 2009 16:58:22 +0000 (16:58 +0000)]
remove support for videoscape, amiga 3D app that came before lightwave.

10 years agoSpring Cleaning
Campbell Barton [Sun, 21 Jun 2009 16:18:38 +0000 (16:18 +0000)]
Spring Cleaning

* removed radiosity render code, DNA and RNA (left in radio render pass options), we'll get GI to replace this probably, better allow baking to vertex colors for people who used this.
* removed deprecated solid physics library, sumo integrations and qhull, a dependency
* removed ODE, was no longer being build or supported
* remove BEOS and AMIGA defines and references in Makefiles.

10 years ago2.5/Sculpt:
Nicholas Bishop [Sun, 21 Jun 2009 15:59:43 +0000 (15:59 +0000)]
2.5/Sculpt:

Fixed bug where anchor brush would leave messed up normals (was related to using face normals, not vertex normals.)

10 years agoRNA read-only wrapped wmEvent so python operators invoke functions
Campbell Barton [Sun, 21 Jun 2009 14:30:59 +0000 (14:30 +0000)]
RNA read-only wrapped wmEvent so python operators invoke functions
* 2 new enums event_value_items and event_type_items in RNA_enum_types.h
* WM_key_event_string now uses an RNA enum lookup rather then its own switch statement.
* moved wmEvent from WM_types.h into DNA_windowmanager_types.h
* added RNA_enum_identifier and RNA_enum_name to get strings from an enum value.

10 years agoParticle system parenting
Janne Karhu [Sun, 21 Jun 2009 11:09:16 +0000 (11:09 +0000)]
Particle system parenting
* Allows moving, rotating & scaling of particle simulations.
* Setting in particle render options.
* Changes viewed & rendered particles from global space to parent space.
* Doesn't effect simulations at all.

10 years ago2.5 Buttons Window:
Thomas Dinges [Sun, 21 Jun 2009 10:26:39 +0000 (10:26 +0000)]
2.5 Buttons Window:

* WIP Commit: Started wrapping the buttons header to python. Still disabled due to some display problems.

10 years agoPointcache refresh part 1:
Janne Karhu [Sun, 21 Jun 2009 10:16:52 +0000 (10:16 +0000)]
Pointcache refresh part 1:
* Particles support larger than 1 frame changes, bigger frame changes can result in inaccurate results, but it's super fast and you get a nice feeling of how the particles behave!
* "Cache to current frame" button calculates the exact result of particles at current frame.
* Current state of cache can be protected by making it a bake.
* Cache is now in memory by default, disk cache is an option.
* Only "viewport %" number of particles are calculated and cached in viewport, baking and rendering calculate all particles.
* Info on cached frames and memory usage given in ui.
* Support for exact "autocaching" of changes and large frame changes(disabled for now until exact place in event system is decided)
* "Continue physics" is probably deprecated after this and should be removed once sb & cloth use the new cache code.

Todo:
* Make softbody & cloth use the new cache things.

Other changes:
* Some cleanup of particle buttons.

10 years ago2.5/Sculpt:
Nicholas Bishop [Sun, 21 Jun 2009 03:34:30 +0000 (03:34 +0000)]
2.5/Sculpt:

Fix for the poll used for the operator to set the brush curve to a preset. The 3 brush curve presets in the Sculpt menu are now functional.

10 years agoNLA SoC: Fixes for Operator Poll Callbacks
Joshua Leung [Sun, 21 Jun 2009 03:02:40 +0000 (03:02 +0000)]
NLA SoC: Fixes for Operator Poll Callbacks

* Clicking on NLA tracks while in TweakMode now works so that channels can be muted/protected/expanded as per usual. However, they cannot be selected, as changing the selection state can interfere with TweakMode state changes

* Operators for animation channel-lists now use proper poll callbacks, which also take into account TweakMode where appropriate (i.e. all selection operators are now allowed to operate in NLA while in TweakMode, and all other operators will only work in Animation Editors)

* Action Editor operators now use the poll callback for Action Editors/DopeSheet instead of the generic active-araa one.

10 years ago2.5/Multires:
Nicholas Bishop [Sun, 21 Jun 2009 02:51:42 +0000 (02:51 +0000)]
2.5/Multires:

Bugfix for loading older files with the pre-modifier multires.

10 years agoNLA SoC: Click-Select Operator and TweakMode
Joshua Leung [Sun, 21 Jun 2009 02:03:50 +0000 (02:03 +0000)]
NLA SoC: Click-Select Operator and TweakMode

To make TweakMode seem less modal/blocking, selection now works in TweakMode. The caveat though, is that TweakMode must be immediately exited as a result of this, or else the internal state could become rather inconsistent and confused.

All other operators will still continue to operate as per normal though, since in TweakMode, some operations are still very dangerous.

10 years ago2.5 - Fixed error with Constraint Buttons
Joshua Leung [Sun, 21 Jun 2009 00:17:45 +0000 (00:17 +0000)]
2.5 - Fixed error with Constraint Buttons

Incorrectly declared icon was resulting in very verbose warning output in the console...

10 years agoNLA SoC: Merge from 2.5
Joshua Leung [Sun, 21 Jun 2009 00:01:37 +0000 (00:01 +0000)]
NLA SoC: Merge from 2.5

21021 to 21042

10 years ago2.5/Sculpt:
Nicholas Bishop [Sat, 20 Jun 2009 20:29:25 +0000 (20:29 +0000)]
2.5/Sculpt:

Added a clay brush. It behaves like a combination of the flatten and draw brushes.

Credit to Fredrik Hannson for the original patch (#18666)

10 years agoPLY export, use the file selector and added operator options
Campbell Barton [Sat, 20 Jun 2009 16:08:01 +0000 (16:08 +0000)]
PLY export, use the file selector and added operator options

10 years agoRNA: added MeshVertex.normal.
Brecht Van Lommel [Sat, 20 Jun 2009 15:06:18 +0000 (15:06 +0000)]
RNA: added MeshVertex.normal.

10 years agoContext
Brecht Van Lommel [Sat, 20 Jun 2009 14:55:28 +0000 (14:55 +0000)]
Context

Python dir(context) now gives the items from the data context
too, modified context callbacks to also return a list of items
in the context.

10 years ago2.5: fix for crash in BLI_dynstr_appendf, each vsnprintf call
Brecht Van Lommel [Sat, 20 Jun 2009 14:53:30 +0000 (14:53 +0000)]
2.5: fix for crash in BLI_dynstr_appendf, each vsnprintf call
apparently needs its own va_start/va_end.

10 years agoupdated the ply exporter to use the blender 2.5 python api
Campbell Barton [Sat, 20 Jun 2009 14:01:34 +0000 (14:01 +0000)]
updated the ply exporter to use the blender 2.5 python api

Note's
* exports the mesh without modifiers or transformations applied
* supports UV's vertex colors
* no support for normals yet (missing from data api)
* registers an operator called EXPORT_OT_ply
* no file selector yet. can only fun from python currently
  bpy.ops.EXPORT_OT_ply(filename="/tmp/test.ply")
* removed double lookups on the vertex dict, build face verts to write allong the way.

10 years agomoving the existing ply exporter into io before updating (to get a useful diff)
Campbell Barton [Sat, 20 Jun 2009 13:55:47 +0000 (13:55 +0000)]
moving the existing ply exporter into io before updating (to get a useful diff)

10 years agoRNA Fixes
Campbell Barton [Sat, 20 Jun 2009 13:53:14 +0000 (13:53 +0000)]
RNA Fixes
* Python apis iterator didnt work, for example [f for f in mesh.faces] # failed.
* Python apis collection.items(), collections without names now return (index,value) pairs, better then returning nothing.
* bpy.ui and bpy.props modules were incorrectly named
* Mesh vertex colors red/blue needed to be swapped on getting/setting.
* Mesh vertex colors were not clamped.

10 years agoNLA SoC: Conversion fixes - Curve 'Speed' Curves + Constraints
Joshua Leung [Sat, 20 Jun 2009 11:44:56 +0000 (11:44 +0000)]
NLA SoC: Conversion fixes - Curve 'Speed' Curves + Constraints

These fixes get the 'pathJumper.blend' file from our testing suite workable in 2.5 (with a few minor tweaks still needed *)

Changes required:
- Added a 'ctime' var to curve structs for storing the value that used to be obtained by specially evaluating the 'speed' curve when evaluating objects parented to the curve. This can now be animated as a 'proper' var as per normal.
- Added a special hack for detecting constraint blocks, as the old method resulted in paths for Objects instead...

(*) Issues:
- Unfortunately, the paths still don't work out of the box. For some reason, the constraint names in the paths are spelt incorrectly - "Ar" and "Br" instead of "Ap" and "Bp". I'm not sure where this problem is coming from, but changing the paths manually in the Datablocks viewer fixes this error...
- I noticed that in the buttons view, only 1st of the constraints gets shown. This seems a bit like some of the intermittent problems I've had with some arrays/lists not expanding properly in Datablocks view.