12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Thu, 22 Jan 2009 18:09:59 +0000 (18:09 +0000)]
2.5 MSVC9 projectfiles
* windowmanager/wm_jos.c
* editors/datafiles/preview.blend.c

12 years agoNew Operators, duplicate is shift+d, Add operators are accessible from the header.
Campbell Barton [Thu, 22 Jan 2009 15:52:04 +0000 (15:52 +0000)]
New Operators, duplicate is shift+d, Add operators are accessible from the header.
SEQUENCER_OT_add_image_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True)
SEQUENCER_OT_add_movie_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True)
SEQUENCER_OT_add_sound_strip(name='', start_frame=0, channel=1, filename='', replace_sel=True)

Some of these use the file selector, Note that sound isn't working yet because editsound.c functions are not yet in 2.5 and Operators dont have a way to recieve an array of strings so SEQUENCER_OT_add_image_strip only adds 1 image at the moment.

12 years ago2.5
Ton Roosendaal [Thu, 22 Jan 2009 15:46:35 +0000 (15:46 +0000)]

- warning cleanup (wrong casts, unused vars, missing protos)
- removed old cruft from node_edit.c
- cleaned wm_jobs.c a bit

12 years ago2.5
Ton Roosendaal [Thu, 22 Jan 2009 14:59:49 +0000 (14:59 +0000)]

Added WM Jobs manager
- WM can manage threaded jobs for you; just provide a couple
  of components to get it work:
  - customdata, free callback for it
  - timer step, notifier code
  - start callback, update callback
- Once started, each job runs an own timer, and will for
  every time step check necessary updates, or close the
  job when ready.
- No drawing happens in jobs, that's for notifiers!
- Every job stores an owner pointer, and based on this owner
  it will prevent multiple jobs to enter the stack.
  Instead it will re-use a running job, signal it to stop
  and allow caller to re-initialize it even.
- Check new wm_jobs.c for more explanation. Jobs API is still
  under construction.
  Fun: BLI_addtail(&wm->jobs, steve); :)

Put Node shader previews back using wmJobs
- Preview calculating is now fully threaded (1 thread still)
- Thanks to new event system + notifiers, you can see
  previews update even while dragging sliders!
- Currently it only starts when you change a node setting.

Warning: the thread render shares Node data, so don't delete
nodes while it renders! This topic is on the todo to make safe.

- bug in region initialize (do_versions) showed channel list in
  node editor wrong.
- flagged the channel list 'hidden' now, it was really in the
  way! This is for later to work on anyway.
- recoded Render API callbacks so it gets handlers passed on,
  no globals to use anymore, remember?
- previewrender code gets now so much nicer! Will remove a lot
  of stuff from code soon.

12 years agoAnimato - Basic version patching support
Joshua Leung [Thu, 22 Jan 2009 10:53:22 +0000 (10:53 +0000)]
Animato - Basic version patching support

This is work-in-progress patching support for converting animation saved in old system to work in the new one.

* Only IPOs/Actions directly attached to Objects + Shapekeys are converted for now. More types will follow...
* This is currently done as a step outside of do_versions() due to problems with various pointers not having been resolved yet, but which are necessary for correct resolution of issues such as drivers... However, the current code does illustrate how the data should be converted to give best results/compat between the two systems.
* Still need to get the converted data working with depsgraph correctly. Currently, some of my testfiles work, but the BBB files still don't.

12 years ago* Fixed some crashiness with sculpt file loading
Nicholas Bishop [Thu, 22 Jan 2009 04:22:26 +0000 (04:22 +0000)]
* Fixed some crashiness with sculpt file loading
* Added undo push for toggling sculpt mode
* Little optimization for brush texture, was generating quite large textures unecessarily

12 years agoUndo in sculpt mode works now. Also removed some unused old code in sculpt.c
Nicholas Bishop [Thu, 22 Jan 2009 01:58:38 +0000 (01:58 +0000)]
Undo in sculpt mode works now. Also removed some unused old code in sculpt.c

12 years agoBrought back sculpt smooth brush. Also added a new brush flag for setting whether...
Nicholas Bishop [Wed, 21 Jan 2009 22:40:28 +0000 (22:40 +0000)]
Brought back sculpt smooth brush. Also added a new brush flag for setting whether to use brush spacing.

12 years agoBrought back rake mode for sculpt (turns the brush texture with the direction of...
Nicholas Bishop [Wed, 21 Jan 2009 21:17:32 +0000 (21:17 +0000)]
Brought back rake mode for sculpt (turns the brush texture with the direction of the brush stroke.)

12 years agoBrought back textures for sculpt mode. These are stored in Brush DNA now, as well...
Nicholas Bishop [Wed, 21 Jan 2009 20:03:41 +0000 (20:03 +0000)]
Brought back textures for sculpt mode. These are stored in Brush DNA now, as well as the three texture modes (drag/tile/3D).

12 years ago2.5 filebrowser
Andrea Weikert [Wed, 21 Jan 2009 19:28:28 +0000 (19:28 +0000)]
2.5 filebrowser
cleaned up selection code
new operators:
- highlight file under cursor
- select all/nothing (AKEY)
- border select (BKEY)
changed selection to be invoked by LEFTMOUSE

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Wed, 21 Jan 2009 19:11:20 +0000 (19:11 +0000)]
2.5 MSVC9 projectfiles
* windowmanager/wm_draw.c

12 years agosequencer operators duplicate, delete, separate images.
Campbell Barton [Wed, 21 Jan 2009 18:47:09 +0000 (18:47 +0000)]
sequencer operators duplicate, delete, separate images.

12 years ago* Fixed a minor CMake error for WITH_YAFRAY option
Nicholas Bishop [Wed, 21 Jan 2009 18:44:36 +0000 (18:44 +0000)]
* Fixed a minor CMake error for WITH_YAFRAY option
* Removed two unused sculpt DNA fields
* Restored brush spacing option to sculpt

12 years agosequencer header buttons, not linked up to anything yet.
Campbell Barton [Wed, 21 Jan 2009 12:39:56 +0000 (12:39 +0000)]
sequencer header buttons, not linked up to anything yet.

12 years agobasic transform for sequencer strips
Campbell Barton [Wed, 21 Jan 2009 07:01:20 +0000 (07:01 +0000)]
basic transform for sequencer strips
can transform the strips or move their handles
Still todo, click-drag transform, metastrips support, snapping, markers overlap checks and constrain to valid channels.

12 years agoAnimato - Quick bugfix
Joshua Leung [Wed, 21 Jan 2009 06:14:37 +0000 (06:14 +0000)]
Animato - Quick bugfix

Added missing 'break;' 's skipped during the sprint towards the "first working prototype" stage. The temporary Insert Keyframe operator should now work correctly for rotation/scaling keys now by not adding extra keys.

12 years ago 2.5
Michael Fox [Wed, 21 Jan 2009 02:24:12 +0000 (02:24 +0000)]

just a small commit, addeed a few more error, warning reports

12 years ago2.5: WIP commit for WM compositing.
Brecht Van Lommel [Tue, 20 Jan 2009 21:55:48 +0000 (21:55 +0000)]
2.5: WIP commit for WM compositing.

* Drawing code from wm_event_system.c split into separate wm_draw.c file.

Now there's 3 different draw methods implemented, not sure what survives
or will be added but is useful for debugging.

* Draw All: redraws everything each time, for reference.
* Draw Overlap All: what the code did before this commit, only draw
  regions marked for redraw, and anything that overlaps them.
* Triple Buffer: copies/retores all area regions into a texture, and
  blits that before drawing. Menus, brushes, gestures, etc are redrawn
  always on top of that.

Currently "Draw Overlap All" is set hardcoded to be used still. Triple
Buffer code is not complete, it doesn't handle window resize yet. Cards
that don't support non power of two textures can need quite large
textures as well, this could be split into multiple smaller ones.

12 years ago2.5
Martin Poirier [Tue, 20 Jan 2009 20:44:36 +0000 (20:44 +0000)]
cleanup image window apsect ratio correction mess (still disabled, this just cleans fonction call locations and name)

12 years ago2.5
Martin Poirier [Tue, 20 Jan 2009 19:58:05 +0000 (19:58 +0000)]
EditMesh snap still had stubs instead of proper editmesh calls
Misc correction for 2D edit with NDOF (not testable without ndof support)

12 years ago2.5
Martin Poirier [Tue, 20 Jan 2009 19:18:22 +0000 (19:18 +0000)]

Redraw at the end of transform even if not cancelled, to make sure all special transform draw doesn't stay on screen.

12 years ago2.5
Ton Roosendaal [Tue, 20 Jan 2009 19:03:26 +0000 (19:03 +0000)]

Two bugfixes:
- area-full (ctrl+up) crashed on area-edge
- view3d view-icon and axes color wrong.

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Tue, 20 Jan 2009 19:00:00 +0000 (19:00 +0000)]
2.5 MSVC9 projectfiles
* several new files added to editors/space_sequencer
* several new files added to editors/preview

12 years ago2.5
Ton Roosendaal [Tue, 20 Jan 2009 18:31:11 +0000 (18:31 +0000)]

View3D four-split: added box-clip for the three ortho
windows. Is all on by default, waiting for headers and
buttons to come back.

Also: hotkey for foursplit now also removes it (toggle)

Also: window_to_3d() function only did delta's,
renamed it to window_to_3d_delta  and coded a
real window_to_3d()

12 years ago2.5
Ton Roosendaal [Tue, 20 Jan 2009 14:23:32 +0000 (14:23 +0000)]

Couldn't leave to finish this; four-split 3d view now
syncs the ortho views to a box-view. Brings back good
old Amiga Sculpt4D feeling! :) What's not done is to
use the box to clip away invisible stuff.

Note that it still allows to switch top-bottom,
left-right or front-back. The 4th window is entirely

Test: use shift+alt+ctrl+S. In due time will all go
the headermenu, configurable, of course.

12 years agoWIP, operators SEQUENCER_OT_add_color_strip and SEQUENCER_OT_add_scene_strip
Campbell Barton [Tue, 20 Jan 2009 14:19:39 +0000 (14:19 +0000)]
WIP, operators SEQUENCER_OT_add_color_strip and SEQUENCER_OT_add_scene_strip
but no menu to access them yet, for now can access them with R and Tkey

12 years agoneeded this include path to build
Campbell Barton [Tue, 20 Jan 2009 12:20:01 +0000 (12:20 +0000)]
needed this include path to build

12 years agoAnimato - More work on Action Editor
Joshua Leung [Tue, 20 Jan 2009 11:56:45 +0000 (11:56 +0000)]
Animato - More work on Action Editor

* Added back Auto Preview-Range tool (i.e. set preview-range from keyframe extents)

* Restored delete keyframe tool. For now, this doesn't delete empty F-Curves, even though its keyframe-api counterpart still does. I still need to figure out how to do this in the best way.

* Fixed crashes when selecting keyframes in 'object' summary channels

* Removed prototypes for a few unused/depreceated functions...

12 years agomissing comma
Campbell Barton [Tue, 20 Jan 2009 11:54:00 +0000 (11:54 +0000)]
missing comma

12 years ago2.5
Ton Roosendaal [Tue, 20 Jan 2009 11:09:26 +0000 (11:09 +0000)]

- Previewrender code back, commented out a lot of bad cruft,
  nothing works or is linked even!
- Added NC_GROUP notifier type, used in editgroup.c and
  listened to in 3dview and outliner

12 years agoAnimato - Restoring most of Action Editor
Joshua Leung [Tue, 20 Jan 2009 11:07:42 +0000 (11:07 +0000)]
Animato - Restoring most of Action Editor

* Streamlined the filtering code to remove a few redundant options, which required tweaking the code for most tools

* F-Curves are simply displayed using their full paths right now. This should eventually be the UI-string stored in RNA, but right now there are still a few missing things.

* There are a few tools which are not available yet which were available in 2.5 before Animato was added:
- Copy/Paste
- Rearrange channels

Also, the DopeSheet is not totally functional (in terms of displaying animation data for sub-object data yet). That will be added tomorrow.

* Added 'Action Group' pointer to F-Curves, as it will be handy for allowing Bone channels to still remain grouped as they were before with the Action Channels. However, reintroducing such a structure to the data-storage is not anticipated...

12 years ago 2.5
Michael Fox [Tue, 20 Jan 2009 11:03:53 +0000 (11:03 +0000)]
small commit, just a few error reports

12 years ago 2.5
Michael Fox [Tue, 20 Jan 2009 10:50:36 +0000 (10:50 +0000)]
- made Group operators more atomic, no menus, able to build on top of each other
- add/remove selected from group will be done later
- new notifier is needed, ton will code
- Group Create adds the object to the new group, and a string can be passed to it toi make a custum named group from Py, etc
-keymaps remains the same (ctrl-g, create group - alt-ctrl-g, remove object from all groups)

- Added 2 more operators , GROUP_OT_objects_remove_active (alt-shift-g) , GROUP_OT_objects_add_active (ctrl-shift-g)
- adds/removes object from groups that are attached to the active object

12 years agoWrapped constraint dna. There are a couple of things left to look at, all noted,...
Roland Hess [Tue, 20 Jan 2009 03:55:30 +0000 (03:55 +0000)]
Wrapped constraint dna. There are a couple of things left to look at, all noted, but 99.5% of constraint uses are taken care of.

12 years ago 2.5
Michael Fox [Tue, 20 Jan 2009 03:41:23 +0000 (03:41 +0000)]
- Ported , add selected to group (Ctrl-G), remove selected from group(Alt-Ctrl-G)
- add selected now has a add new entry which will put the object into a new group
- remove selected now has an ALL option which removes the object from all groups
- remove code is currently very messy, this will have to do until a better solution arrises, menus return strings instead of numbers perhaps

- add/remove to/from group of active object still need to be done

12 years agoAdded back some functionality to the sequencer
Campbell Barton [Mon, 19 Jan 2009 21:42:18 +0000 (21:42 +0000)]
Added back some functionality to the sequencer
- removed static vars _last_seq, last_imagename and last_sounddir, replacing them with with vars in the "Editing" struct. didnt manage to get the active sequence to load so currently thats lost when loading.
- removed flag SEQ_ACTIVE
- Added operators cut, mute, unmute, deselect_all, select_invert, select, select_more, select_less, select_pick_linked, select_linked and borderselect.

12 years ago2.5
Ton Roosendaal [Mon, 19 Jan 2009 18:50:35 +0000 (18:50 +0000)]

Bugfix for previous View3D split commit: on file read, the area-
spacetypes are not set yet, needs BKE_spacetype_from_id() there.

12 years agosubdivides are now grouped in a menu - WKEY
Shaul Kedem [Mon, 19 Jan 2009 18:36:54 +0000 (18:36 +0000)]
subdivides are now grouped in a menu - WKEY

12 years ago2.5
Ton Roosendaal [Mon, 19 Jan 2009 17:28:53 +0000 (17:28 +0000)]

Quick bugfix; transform calls initTransformOrientation for all
spacetypes, it now returns except for view3d.
(Crash in grabbing nodes)

12 years ago2.5
Ton Roosendaal [Mon, 19 Jan 2009 16:54:41 +0000 (16:54 +0000)]

View3D has been split now in a local part (RegionView3D) and a
per-area part (old View3D). Currently local is:

- view transform
- camera zoom/offset
- gpencil (todo)
- custom clipping planes

Rest is in Area still, like active camera, draw type, layers,
localview, custom centers, around-settings, transform widget,
gridlines, and so on (mostly stuff as available in header).

To see it work; also added new feature for region split,
press SHIFT+ALT+CTRL+S for four-split.
The idea is to make a preset 4-split, configured to stick
to top/right/front views for three views.
Another cool idea to explore is to then box-clip all drawing
based on these 3 views.

Note about the code:
- currently view3d still stores some depricated settings, to
  convert from older files. Not all settings are copied over
  though, like custom clip planes or the 'lock view to object'.
- since some view3d ops are now on area level, the operators
  for it should keep track of that.

Bugfix in transform: quat initialize in operator-invoke missed
one zero.

Als brought back GE to compile for missing Ipos and channels.

12 years agoset min/max for added prims according to 2.48
Shaul Kedem [Mon, 19 Jan 2009 16:46:41 +0000 (16:46 +0000)]
set min/max for added prims according to 2.48

12 years agoadding vpaint to Cmakelist
Shaul Kedem [Mon, 19 Jan 2009 16:14:02 +0000 (16:14 +0000)]
adding vpaint to Cmakelist

12 years ago2.5 - More work on getting file read/write support for Animato running
Joshua Leung [Mon, 19 Jan 2009 02:26:46 +0000 (02:26 +0000)]
2.5 - More work on getting file read/write support for Animato running

* Reorganised all animation-related file-writing code to be in the same area in the code, and clearly marked which parts of code are only used to ensure we can load old files to version-patch.

* Added file reading code for new datatypes, so it is possible to load the quit.blend file saved from the previous session. Version patching to work with the new system has yet to be done...

* Assorted whitespace fixes in places I skimmed through...

12 years ago2.5
Martin Poirier [Sun, 18 Jan 2009 21:36:38 +0000 (21:36 +0000)]

Transform orientations (Alt-Space and in header)

enum for transform operator parameter.

12 years ago2.5 filebrowser
Andrea Weikert [Sun, 18 Jan 2009 19:12:13 +0000 (19:12 +0000)]
2.5 filebrowser
fix typo in #include

12 years ago2.5 filebrowser
Andrea Weikert [Sun, 18 Jan 2009 18:35:24 +0000 (18:35 +0000)]
2.5 filebrowser
fixed missing return statement

12 years ago2.5 filebrowser
Andrea Weikert [Sun, 18 Jan 2009 18:24:11 +0000 (18:24 +0000)]
2.5 filebrowser
* slightly improved drawing code
* temporarily added creation of thumbnails within thread in the background until thread job manager is available in WM.
* fixed missing icons in thumbnail view

12 years ago2.5 MSVC9 projectfiles
Andrea Weikert [Sun, 18 Jan 2009 15:37:09 +0000 (15:37 +0000)]
2.5 MSVC9 projectfiles
* RNA: rna_space.c and rna_vpaint.c
* DNA: DNA_anim_types.c
* blenkernel: anim_sys.c, fcurve.c
* editors: space_image several files added
* editors: uvedit several files added
* editors: gpencil: several files added

12 years ago 2.5
Michael Fox [Sun, 18 Jan 2009 11:05:56 +0000 (11:05 +0000)]
added RNA for the Vpaint settings

12 years agoChanges to functions from blender/windowmanager/intern/wm_event_system.c
Campbell Barton [Sun, 18 Jan 2009 10:46:26 +0000 (10:46 +0000)]
Changes to functions from blender/windowmanager/intern/wm_event_system.c

Python operator api was using WM_operator_name_call() which was confusing things too much.
Added WM_operator_call_py() which ended up being a very small function and split out operator creation into wm_operator_create()

Python operator now runs the poll() function and raises an error if it fails.

Eventually there should be error messages for poll that python can use to give the exact reason for failing (eg - library linked data, no active object...)

12 years ago2.5 - AnimSys Data management stuff...
Joshua Leung [Sun, 18 Jan 2009 10:41:45 +0000 (10:41 +0000)]
2.5 - AnimSys Data management stuff...

* Removed nAction struct. We'll be using good ol' bAction structs again, but putting new data in a different list. Apart from that, the data is similar enough to do so.

* Rearranged code in DNA_action_types.h while renaming the structs to avoid confusion over what is currently in use...

* Added freeing and AnimData execution loops for many other ID-types too. (NOTE: I've added AnimData in NodeTree struct too, but it's not clear to me where the relevant data-management calls should go in Nodes code).

* File writing code should now only write the new data to files

12 years agoMade modal operators print their operator string after executing
Campbell Barton [Sun, 18 Jan 2009 07:35:44 +0000 (07:35 +0000)]
Made modal operators print their operator string after executing
(when in debug "-d" mode only)

copy & paste duplicate and transform operations can now be copied from user input and pasted into ./ and run with the Pkey (fixed some minor bugs preventing this)

Would be nice if the "mode" setting used a proper RNA Enum rather then an int.

# example, duplicate and transform
bpyoperator.TFM_OT_transform(mode=1, options=0, values=(-1.23989, 0.570745, 0, 0), constraint_orientation=0, constraint_mode=0, constraint_matrix=(0, 0, 0, 0, 0, 0, 0, 0, 0))

12 years ago 2.5
Michael Fox [Sun, 18 Jan 2009 01:26:20 +0000 (01:26 +0000)]
-ported some of the Object mode select menu to use uiDefMenuButO
- select random/layer still uses the hard coded value as no sutible popup exists
- select by type suffers from random crashes, somthing to do with Context
- need some way of doing sub menu's using the operator's invoke
- the old menu is just #if'ed out
- and did a little hous cleaning aswel

- added some undo pushes to the select operators

12 years ago2.5: uv editor
Brecht Van Lommel [Sat, 17 Jan 2009 22:14:08 +0000 (22:14 +0000)]
2.5: uv editor
- mouse select, loop select, select linked, unlink selection operators.
- added edge selection mode.
- fix 2.45 bug with unitialized theme colors, which caused the active face
  and face centers to be not drawn.

12 years ago2.5
Ton Roosendaal [Sat, 17 Jan 2009 18:35:33 +0000 (18:35 +0000)]

- Added shift+d duplicate for object and editmode mesh.
  Note it uses WM_operator_name_call(), which is fine now,
  but in future might put again 2 undo's and operators on
  the stack.
  Will have to spend some time on how Macros will work!

- added itterator CTX_selected_editable_objects()
  (named it first "edible" but that was too funny!)
  Also cleaned object_edit.c to use this correctly.

- added CTX_wm_view3d(), especially for hybrid tools
  that *can* use view3d, but don't have to.

- moved debug -d print for operators to the real invoke call

12 years agoMake sculpt data more like vpaint/weightpaint. SculptData is now in scene->toolsettin...
Nicholas Bishop [Sat, 17 Jan 2009 16:58:05 +0000 (16:58 +0000)]
Make sculpt data more like vpaint/weightpaint. SculptData is now in scene->toolsettings, moved the RNA to reflect that too.

12 years ago2.5
Ton Roosendaal [Sat, 17 Jan 2009 16:11:12 +0000 (16:11 +0000)]

Made 'select linked' in mesh editmode work (LKEY).
Also added counterpart work with boolean (SHIFT+L).

Brecht: thanks for easier rna property defs :)

12 years agoRNA: warning fix for mac gcc.
Brecht Van Lommel [Sat, 17 Jan 2009 15:28:34 +0000 (15:28 +0000)]
RNA: warning fix for mac gcc.

12 years ago2.5
Ton Roosendaal [Sat, 17 Jan 2009 14:56:12 +0000 (14:56 +0000)]

Cleanup warnings from Joshua's commit (mostly unused variables,
but also used functions that were not prototyped).

Two bugfixes; passing on &ob->adt instead of ob->adt

But; the DNA system is now messed up, with two structs using
the same ID (nAction and bAction), that goes horrible wrong!

12 years agoRNA: made naming of animateable flags for properties more clear.
Brecht Van Lommel [Sat, 17 Jan 2009 13:54:56 +0000 (13:54 +0000)]
RNA: made naming of animateable flags for properties more clear.

12 years ago2.5 - AnimData fixes
Joshua Leung [Sat, 17 Jan 2009 05:36:58 +0000 (05:36 +0000)]
2.5 - AnimData fixes

* Made AnimData blocks be stored as pointer instead of directly in the ID-datablock, so that fewer files will need to be recompiled everytime some animation settings change.

* Tried to fix some of the compiler errors that pop up in Yafray code. If this commit doesn't fix it, just disable Yafray code for now (WITH_BF_YAFRAY=0 for scons)...

12 years agoAdded new CMake build option, WITH_YAFRAY. Set to disabled by default.
Nicholas Bishop [Sat, 17 Jan 2009 03:51:13 +0000 (03:51 +0000)]
Added new CMake build option, WITH_YAFRAY. Set to disabled by default.

12 years agoAdded a brush cursor to sculpt mode.
Nicholas Bishop [Sat, 17 Jan 2009 03:31:56 +0000 (03:31 +0000)]
Added a brush cursor to sculpt mode.

12 years ago2.5: Blender "Animato" - New Animation System
Joshua Leung [Sat, 17 Jan 2009 03:12:50 +0000 (03:12 +0000)]
2.5: Blender "Animato" - New Animation System

Finally, here is the basic (functional) prototype of the new animation system which will allow for the infamous "everything is animatable", and which also addresses several of the more serious shortcomings of the old system. Unfortunately, this will break old animation files (especially right now, as I haven't written the version patching code yet), however, this is for the future.

Highlights of the new system:
* Scrapped IPO-Curves/IPO/(Action+Constraint-Channels)/Action system, and replaced it with F-Curve/Action.
- F-Curves (animators from other packages will feel at home with this name) replace IPO-Curves.
- The 'new' Actions, act as the containers for F-Curves, so that they can be reused. They are therefore more akin to the old 'IPO' blocks, except they do not have the blocktype restriction, so you can store materials/texture/geometry F-Curves in the same Action as Object transforms, etc.
* F-Curves use RNA-paths for Data Access, hence allowing "every" (where sensible/editable that is) user-accessible setting from RNA to be animated.
* Drivers are no longer mixed with Animation Data, so rigs will not be that easily broken and several dependency problems can be eliminated. (NOTE: drivers haven't been hooked up yet, but the code is in place)
* F-Curve modifier system allows useful 'large-scale' manipulation of F-Curve values, including (I've only included implemented ones here): envelope deform (similar to lattices to allow broad-scale reshaping of curves), curve generator (polynomial or py-expression), cycles (replacing the old cyclic extrapolation modes, giving more control over this). (NOTE: currently this cannot be tested, as there's not access to them, but the code is all in place)
* NLA system with 'tracks' (i.e. layers), and multiple strips per track. (NOTE: NLA system is not yet functional, as it's only partially coded still)

There are more nice things that I will be preparing some nice docs for soon, but for now, check for more details:

So, what currently works:
* I've implemented two basic operators for the 3D-view only to Insert and Delete Keyframes. These are tempolary ones only that will be replaced in due course with 'proper' code.
* Object Loc/Rot/Scale can be keyframed. Also, the colour of the 'active' material (Note: this should really be for nth material instead, but that doesn't work yet in RNA) can also be keyframed into the same datablock.
* Standard animation refresh (i.e. animation resulting from NLA and Action evaluation) is now done completely separate from drivers before anything else is done after a frame change. Drivers are handled after this in a separate pass, as dictated by depsgraph flags, etc.

* Drivers haven't been hooked up yet
* Only objects and data directly linked to objects can be animated.
* Depsgraph will need further tweaks. Currently, I've only made sure that it will update some things in the most basic cases (i.e. frame change).
* Animation Editors are currently broken (in terms of editing stuff). This will be my next target (priority to get Dopesheet working first, then F-Curve editor - i.e. old IPO Editor)
* I've had to put in large chunks of XXX sandboxing for old animation system code all around the place. This will be cleaned up in due course, as some places need special review.
In particular, the particles and sequencer code have far too many manual calls to calculate + flush animation info, which is really bad (this is a 'please explain yourselves' call to Physics coders!).

12 years ago2.5: various warning fixes.
Brecht Van Lommel [Sat, 17 Jan 2009 00:51:42 +0000 (00:51 +0000)]
2.5: various warning fixes.

12 years agoFixed a crash in sculptmode. Also replaced a degree sign with an underscore in view3d...
Nicholas Bishop [Sat, 17 Jan 2009 00:26:46 +0000 (00:26 +0000)]
Fixed a crash in sculptmode. Also replaced a degree sign with an underscore in view3d, not sure how that got in there.

12 years agoRNA: forgot to rename some values in the keymaps in last commit.
Brecht Van Lommel [Fri, 16 Jan 2009 23:58:10 +0000 (23:58 +0000)]
RNA: forgot to rename some values in the keymaps in last commit.

12 years agoRNA
Brecht Van Lommel [Fri, 16 Jan 2009 23:53:11 +0000 (23:53 +0000)]
* Added more compact property definitions, with a single function.
  Only used by operators at the moment, would need to tweak regular
  expressions a bit more to use it also for other RNA definitions.

* The operator properties defined now were completed a bit more but
  still have many issues that need to be adressed, specifically;

  * Some properties that should be booleans or enums are defined as
    ints, note that ints are only for numeric values, not bitflags
or multiple choice.
  * Soft/hard limits and default values of many properties are not
    well defined still,
  * Inconsistent naming, especially for example mouse locations or
    bounds are named differently in different places. Also mouse
locations and other vector like properties should become a single
vector property instead of multiple X/Y properties.
  * Almost no properties have descriptions, these would be good to
    have for docs and tooltips.

So, please verify that the properties of the operators you wrote are
well defined.

12 years agoAdded transform locking. Fixed a bad UI string. Added access to posing data.
Roland Hess [Fri, 16 Jan 2009 18:04:01 +0000 (18:04 +0000)]
Added transform locking. Fixed a bad UI string. Added access to posing data.

12 years agoRemoved matrices from sculpt session and into the sculpt cache.
Nicholas Bishop [Fri, 16 Jan 2009 16:55:40 +0000 (16:55 +0000)]
Removed matrices from sculpt session and into the sculpt cache.

12 years agoadded ops for subdivide, subdiv multi, subdiv smooth, subdiv fractal
Shaul Kedem [Fri, 16 Jan 2009 04:48:33 +0000 (04:48 +0000)]
added ops for subdivide, subdiv multi, subdiv smooth, subdiv fractal

12 years agoFix sculpt memory leaks
Nicholas Bishop [Fri, 16 Jan 2009 03:24:12 +0000 (03:24 +0000)]
Fix sculpt memory leaks

12 years agoAdded a view3d function to read cached depth buffer, before was in sculpt.c where...
Nicholas Bishop [Fri, 16 Jan 2009 01:56:11 +0000 (01:56 +0000)]
Added a view3d function to read cached depth buffer, before was in sculpt.c where it didn't belong.

12 years ago 2.5
Michael Fox [Fri, 16 Jan 2009 00:58:33 +0000 (00:58 +0000)]
 - ported BorderZoom , shift-b
- currently disabled in camera view as to not conflict with setting render border

12 years agoAdded some temporary error prints for get_depth in sculpt
Nicholas Bishop [Fri, 16 Jan 2009 00:44:46 +0000 (00:44 +0000)]
Added some temporary error prints for get_depth in sculpt

12 years agoCleaning of the small part of sculpt still in blenkernel, more to come
Nicholas Bishop [Thu, 15 Jan 2009 21:07:44 +0000 (21:07 +0000)]
Cleaning of the small part of sculpt still in blenkernel, more to come

12 years ago2.5
Ton Roosendaal [Thu, 15 Jan 2009 18:28:40 +0000 (18:28 +0000)]

- Finished adding primitives in Mesh editmode.
  For test pleasure: hotkeys CTRL 0-9 add them.

More fun for testers:

- F3: gives menu of all registered ops. You can use
  it too, it then execs it again, and makes it the
  last executed operator.

- F4: executes last registered operator without menu.

12 years agoBrought back grab brush in sculpt mode, also removed old BrushAction struct.
Nicholas Bishop [Thu, 15 Jan 2009 16:57:17 +0000 (16:57 +0000)]
Brought back grab brush in sculpt mode, also removed old BrushAction struct.

12 years agoRNA
Brecht Van Lommel [Thu, 15 Jan 2009 16:18:32 +0000 (16:18 +0000)]
* Attempt to fix CMake build on some systems were it could not
  find the rna_*_gen.c files, now it specifies full path.

12 years ago2.5
Ton Roosendaal [Thu, 15 Jan 2009 16:07:39 +0000 (16:07 +0000)]

SHIFT+A add object back, no primitives in it though... later!

12 years ago2.5
Ton Roosendaal [Thu, 15 Jan 2009 15:01:39 +0000 (15:01 +0000)]

- Depricated another bunch of globals; all the totobj,
  totmesh, totvert, and so on.
- All code that needs such totals now count it themselves,
  these stats were not supposed to be reliable
- Editmesh now stores and manages own totals.
- Todo: make a scene->stats that tracks notifiers.

Bugfix: selecting failed in editmesh, backbuffer stuff was
too late, already using index ranges before it was set.

12 years ago2.5
Ton Roosendaal [Thu, 15 Jan 2009 10:55:48 +0000 (10:55 +0000)]

Added new lib ed_uvedit in linking path for Makefiles

12 years ago 2.5
Michael Fox [Thu, 15 Jan 2009 10:02:45 +0000 (10:02 +0000)]

small commit, ported make dupli real

12 years agoTweak scons linking order priority to fix compile on windows.
Brecht Van Lommel [Thu, 15 Jan 2009 05:51:00 +0000 (05:51 +0000)]
Tweak scons linking order priority to fix compile on windows.

12 years agodisallow identifiers with spaces 'cap end' wasn't working with the python api and...
Campbell Barton [Thu, 15 Jan 2009 05:41:25 +0000 (05:41 +0000)]
disallow identifiers with spaces 'cap end' wasn't working with the python api and made doc generation fail

12 years agoBrought back anchored mode for sculpt brushes.
Nicholas Bishop [Thu, 15 Jan 2009 05:09:33 +0000 (05:09 +0000)]
Brought back anchored mode for sculpt brushes.

12 years ago2.5: Space Image ported back
Brecht Van Lommel [Thu, 15 Jan 2009 04:38:18 +0000 (04:38 +0000)]
2.5: Space Image ported back

Organized as follows:

uv editing related code
uvedit_draw.c: drawing code
uvedit_ops.c: operators, just a few done
uvedit_unwrap_ops.c: will be operators for unwrapping
uvedit_paramatrizer.c: lscm/abf/stretch/pack

space_image.c: registration and common getter/setters
image_draw.c: drawing code, mostly functional
image_panels.c: panels, all commented out
image_render.c: render callbacks, non functional
image_ops.c: operators, only view navigation done
image_header.c: header, menus mostly done but missing buttons

* Header menus consist only of Operator and RNA buttons, if they
  are not implemented they're displayed grayed out. Ideally the full
  header could work like this, but std_libbuttons looks problematic.

* Started using view2d code more than the old code, but for now it
  still does own view2d management due to some very specific
  requirements that the image window has. The drawing code however
  is more clear hopefully, it only uses view2d, and there is no
  switching between 'p' and 'f' view2d's anymore, it is always 'f'.

* In order to make uvedit operators more independent I move some
  image space settings to scene toolsettings, and the current image
  and its buffer is in the context. Especially sync selection and
  select mode belonged there anyway as this cannot work correct with
  different spaces having different settings anyway.

* Image paint is not back yet, did not want to put that together with
  uvedit because there's really no code sharing.. perhaps vertex paint,
  image paint and sculpt would be good to have in one module to share
  brush code, partial redraw, etc better.

12 years agoRNA
Brecht Van Lommel [Thu, 15 Jan 2009 04:22:23 +0000 (04:22 +0000)]
* Work around bScreen/Screen DNA name patching, so bScreen does not
  require manual callbacks to be written for properties.
* Added SpaceLink and SpaceImage RNA.
* Fix issue initializing ID property arrays with default values.

* Some DNA changes for space image.
* And a fix for corrupt clone image pointer in reading brushes.

12 years agoUI: various changes
Brecht Van Lommel [Thu, 15 Jan 2009 04:13:38 +0000 (04:13 +0000)]
UI: various changes

* View2D to region now returns ints instead of shorts.
* Use "Numpad" instead of "Pad" in automatic keymap menu info.
* Menus can now use buttons other than BUTM and SEPR, in
  particular TOG and ROW are now supported instead of flipping
  bits manually.
* Added a simpler uiDefMenu* api for making menus now, and it
  only supports Operator and RNA buttons at the moment, will be
  used in next commit. Not sure how this will evolve .. makes
  menu code look cleaner anyways.
* Ensure that interface code doesn't crash when getting unknown
  Operators and RNA properties, and display their buttons grayed
  out in that case.

12 years agoAction Editor header menu structure ported, but menu items not yet linked up to funct...
Roland Hess [Thu, 15 Jan 2009 03:12:21 +0000 (03:12 +0000)]
Action Editor header menu structure ported, but menu items not yet linked up to functionality. Just wanted to get this committed in case I skid off a cliff in the snow tomorrow.

12 years agoBrought back the layer brush in sculpt mode.
Nicholas Bishop [Thu, 15 Jan 2009 03:10:01 +0000 (03:10 +0000)]
Brought back the layer brush in sculpt mode.

12 years agoedit mesh primitives: ctrl+1 to ctrl+6. monkey does not show and tube,cone and cylind...
Shaul Kedem [Thu, 15 Jan 2009 03:05:19 +0000 (03:05 +0000)]
edit mesh primitives: ctrl+1 to ctrl+6. monkey does not show and tube,cone and cylinder show with problems

12 years agoBrought back symmetry for sculpt mode, also added RNA for sculpt flags.
Nicholas Bishop [Thu, 15 Jan 2009 02:36:24 +0000 (02:36 +0000)]
Brought back symmetry for sculpt mode, also added RNA for sculpt flags.

12 years ago2.5
Ton Roosendaal [Wed, 14 Jan 2009 19:26:11 +0000 (19:26 +0000)]

Editmesh: add primitive basics back. Had to clean up a load of
crap there... but it's sorta in control, so I think Shul can
pick it up again.

Test: ctrl+0 adds plane, or ctrl+9 adds grid.

Notes for Shul:
- i've added a transform function, which gets correctly passed
  on to the add_prim function, should work for all object
  transforms. Only the code inside add_prim might be needed
  to check (it uses 4x4 mat now, not a 3x3)

- The old code with buttons has been ifdeffed out, check for
  user input and make it rna properties, which get read
  in the exec(), and handed over to the add_prim. Set them
  default now to the values from old buttons.

- Operator naming is preferred lower case, I gave this
  a new name.

- check a bit on formatting code, but don't use the old code
  as example! Look also at ED_keymap_mesh() for example.

12 years agoAdded missing sculpt/brush RNA properties.
Nicholas Bishop [Wed, 14 Jan 2009 18:48:16 +0000 (18:48 +0000)]
Added missing sculpt/brush RNA properties.
Also a few more tweaks to CMake/gcc warnings.

12 years agoTweak the CMake warnings a bit. For example, function declarations with no parameters...
Nicholas Bishop [Wed, 14 Jan 2009 18:03:47 +0000 (18:03 +0000)]
Tweak the CMake warnings a bit. For example, function declarations with no parameters being declared without void in the parameter list were throwing too many warnings to be useful. Same for implicit casting of function return values from one numeric type to another.

12 years agoRemoved a second declaration for BLI_uniquename.
Nicholas Bishop [Wed, 14 Jan 2009 17:36:13 +0000 (17:36 +0000)]
Removed a second declaration for BLI_uniquename.
Also supressed cmake/gcc warnings about unused parameters since these are everywhere (sometimes with good reason, for callbacks)

12 years agoFixed warnings in sculpt, also brought back brush curve.
Nicholas Bishop [Wed, 14 Jan 2009 17:22:30 +0000 (17:22 +0000)]
Fixed warnings in sculpt, also brought back brush curve.

12 years ago2.5
Ton Roosendaal [Wed, 14 Jan 2009 16:54:36 +0000 (16:54 +0000)]

- do not set active base/object yourse, but use ED_base_object_activate
- view3d buttons was reading NULL pointer.