Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-01-182.5: uv editorBrecht Van Lommel
- 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.
2009-01-172.5Ton Roosendaal
- 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
2009-01-172.5: Blender "Animato" - New Animation System Joshua Leung
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: http://lists.blender.org/pipermail/bf-taskforce25/2009-January/000260.html 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. Notes: * 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!).
2009-01-152.5Ton Roosendaal
SHIFT+A add object back, no primitives in it though... later!
2009-01-15UI: various changesBrecht Van Lommel
* 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.
2009-01-142.5Ton Roosendaal
Still old editNurb here...
2009-01-112.5Ton Roosendaal
Testing commit; this puts back support for swap-exchange graphics cards, which I had hoped to have faded out... but it appears it still does it for intel and some atis. This only swap-exchanges properly for areas/regions, not for menus or the 'action zone triange'. Let's see if it works! You enable it with starting with commandline option -E
2009-01-092.5Ton Roosendaal
Vertex Paint back! Added WM level "paint cursor" system, which manages a custom painting cursor for tools or modes. - Activate it with WM_paint_cursor_activate(). That function wants two callbacks, a poll(C) to check whether there's a cursor in given context and ARegion, and a draw(C, x, y) which gets called when appropriate. - While paintcursor is active, the WM handles necessary redrawing events for all regions, also to nicely clear the cursor on region exit. - WM_paint_cursor_activate returns a handle, which you have to use to end the paint cursor. This handle also means you can register as many custom cursors as you want. At the moment, vertex paint mode registers only a mousemove handler, all other events are still normally handled. This is stuff for the future todo.
2009-01-082.5 filebrowserAndrea Weikert
cleanup of space initialisation fix for filebrowser opening with wrong parameters from window pupmenu after having been opened with F1.
2009-01-08RNA: don't pass RNA type in RNA_id_pointer_create, can be found automatically.Brecht Van Lommel
2009-01-072.5 filebrowserAndrea Weikert
fixes for crashes that seem to have been introduced by changes in context handling. TODO: initialization for windowtype pupmenu if a previous SpaceFile was there.
2009-01-062.5Ton Roosendaal
Made ED_screen api calls: - ED_screen_full_newspace() - ED_screen_full_prevspace() Which now gets called by F1 operator, to move to full-screen-sized browser. For testing fun its default now. Might become user setting. Also have to check on opening a temp window for this (and for render).
2009-01-062.5Ton Roosendaal
Cleaned area prevspace, and made exported API for it. Also added operator-free on 'cancel' in filewindow.
2009-01-062.5Ton Roosendaal
File window: load now happens with proper free of operator. still a bit of mystery how main handler loop survives after a file load... will investigate once. :)
2009-01-062.5 - Start of filebrowser.Andrea Weikert
- basic drawing of list and thumbnail view (switchable through 'favourits' icon in header) - selection of files and directories (bookmarks) works with the RMB (right mouse button) - load operator for files still unstable (no check for correct file type) and incomplete. (WM_operator_free missing) immediate TODOS: - fix load file operator - finish drawing of buttons in header - drawing of detailed list with all file info. - finish selection and execute operators (LMB and MMB execute) later todos: - parent dir - keymap for all the shortcuts - append/link and databrowse - ...
2009-01-062.5Ton Roosendaal
Bugfix: the area level Refresh callback was not getting Context set, it was NULLed still. This fix allows bone selecting and seeing updates in the action editor. Not other way around though, will investigate.
2009-01-062.5Ton Roosendaal
Bugfix: WM gesture manager was not assigning gesture to the context-defined region, making border select calls from a header not work. This fixes Node header option "Border select".
2009-01-042.5Ton Roosendaal
Small cleanup in region-based cursor handling. - callback was in spacetype, now in regiontype - made screen listener catch ND_MODE notifier and call the active region cursor callback, if it's there.
2009-01-042.5 / CleanupNathan Letwory
- remove Verse support. This will be brought back in The Future (probably jiri + me) This means 5k lines less in blenkernel. - fix two small errors for global cleanup, now compiles properly with FFMPEG enabled too.
2009-01-042.5Ton Roosendaal
WM: added area-listener, which can be used to tag refreshes for either the drawing call, or use the new ED_area_tag_refresh() function which will automatically call, after all notifiers were handled, an the spacetype->refresh() you provided. Added for Joshua, after reviewing Action/Dopesheet requirements. Joshua: I've made two dummy functions in space_action.c: - action_listener() - action_refresh() Wich now does a printf on activating a new object.
2009-01-042.5Ton Roosendaal
Think global, act local! The old favorite G.scene gone! Man... that took almost 2 days. Also removed G.curscreen and G.edbo. Not everything could get solved; here's some notes. - modifiers now store current scene in ModifierData. This is not meant for permanent, but it can probably stick there until we cleaned the anim system and depsgraph to cope better with timing issues. - Game engine G.scene should become an argument for staring it. Didn't solve this yet. - Texture nodes should get scene cfra, but the current implementation is too tightly wrapped to do it easily.
2009-01-032.5: fix "repeat last", and display of operator propertiesBrecht Van Lommel
in rna outliner.
2009-01-03* Added notifier updates for RNA modifier dataMatt Ebb
2009-01-03* Added some notifications to object/lamp/material RNA propertiesMatt Ebb
For now, I've made a distinction between (eg.) ND_LIGHTING and ND_LIGHTING_DRAW, with the 'draw' variety being properties that get displayed in the 3D View * Also did some cleaning in lamp RNA, moved sun/sky settings to its own struct
2009-01-022.5Ton Roosendaal
From the anti-globalization department: G.obedit terminated! Wherever possible, use CTX_data_edit_object(C) to get this now. It's stored in scene now, and the screen context has it defined.
2009-01-022.5Ton Roosendaal
- Lasso select back (CTRL+LMB), object centers only, and for editmesh. See template in wm_operators.c - Circle select for editmode back. Currently it still uses Ckey, and is only a temporary mode, not persistant. Persistant circle select can be added later with tweak gesture keymap? We'll see. :) The old circle select was actually annoying that it was so sticky.
2009-01-02* renamed some of the RNA sound identifiersCampbell Barton
* was missing a MEM_freeN in previous commit
2009-01-02python support for reporting with operators.Campbell Barton
* errors in python called operators are raised as errors * Python defined operators errors are reported as errors (not full traceback yet) * added BKE_reports_string, same as BKE_reports_print but it returns a string rather then printing it. * WM_operator_name_call optionally takes an initialized report struct
2009-01-01RNABrecht Van Lommel
* Object has some more properties wrapped, mostly game related. * Scene frame changes now send a notifier. * Added functions to create/free operator properties for calling operators. This also simplifies some duplicated code that did this. Ideally though this kind of thing should use the properties pointer provided by buttons and keymap items. Example code: PointerRNA ptr; WM_operator_properties_create(&ptr, "SOME_OT_name"); RNA_int_set(&ptr, "value", 42); WM_operator_name_call(C, "SOME_OT_name", WM_OP_EXEC_DEFAULT, &ptr); WM_operator_properties_free(&ptr);
2009-01-012.5Ton Roosendaal
- Put back vertex/edge/face select - Mode menu allows going in/out editmode - Tested some tweak event stuff in WM, made tweak event follow user preset for 'action' or 'select' mouse. (Wanted to try this for transform, but better get advise from Martin first :)
2009-01-012.5Ton Roosendaal
- Made scrollwheel behave uniform for zooming. It uses the UserDef to map what's in our out. Use keymap entries WHEELINMOUSE and WHEELOUTMOUSE to trigger this. Also removed the feature to store in event->val the direction, it was conflicting with KM_ANY. - Added more default poll callbacks, use for generic ops things like ED_operator_object_active.
2009-01-012.5Ton Roosendaal
- Edit mode Mesh undo/redo back (undo for editmodes needed recode, todo for curve/lattice/etc) - Added border select for edit mesh - Added Akey (de)select all for edit mesh - Added notifiers for mode changes. This is also the first trial to dynamically add/remove keymap handlers, based on modes. For that reason the Object keymap was split in 2, modal and non-modal. On TABkey, the view3d listener removes and adds maps. The view3d keymap still handles generic mouse/border selection. Internally it will verify modes. The modes are not re-implemented still... have to move this to scene context.
2008-12-312.5Ton Roosendaal
So, editmode mesh is back! :) At the moment only TABkey works and mouse select, 1 vertex at a time. More will follow of course. Note for the devs: - G.editMesh has been removed, be careful with old code. - EditMesh now is property of Mesh itself Although it means unlimited editmodes, for migration purposes we better stick to 1 "obedit" per scene, which is in Context too - G.obedit will get removed soon, so use CTX_data_edit_object(C) Or if you can't, just scene->obedit for now - Also removed the CTX_data_edit_mesh(), this has no meaning anymore. EditMesh is not context senstitive anymore, only the edit-object for time being is. - Martin: I've already tucked some EditMesh pointer in T and removed all G.editMesh there.
2008-12-31RNABrecht Van Lommel
* Store RNA collections different in ID properties, using a generic ID property array, using the patch provided by Joe. * Fix bug accessing registered operator properties in the wm from the outliner. * In the outliner, only use the RNA icon for RNA data, and use dot again for unknown icon. * Also, show pointer properties data in the second column, and auto expand two levels when opening them. * Added small RNA_struct_defined_properties function to get only the defined properties without builtin and undefined id properties (for py operators).
2008-12-31Added WITH_PYTHON as a cmake optionCampbell Barton
2008-12-31Added some missing directory includes for CMake. Still some linker errors to ↵Nicholas Bishop
resolve.
2008-12-31RNABrecht Van Lommel
* The RNA viewer is now more integrated with the outliner, as a "Datablocks" view, with a tree structure. * Still some issues to be solved with persistence, and also memory usage is problematic when expanding a million vertices in a mesh for example, though it will not build closed parts of the tree.
2008-12-302.5Ton Roosendaal
Editmesh code cleaned and compiling/linking. A whopping 20k lines back! :) Not that it does stuff... editmode in/out has to be done, and loads of operators. Also linking/exporting editmesh calls has to be reviewed. Also: added a blender_test_break() mechanism in BKE.
2008-12-302.5 - Action Editor stuffJoshua Leung
* Added old theme-set version patch for new Dopesheet channel colours * Removed warnings in action_edit_keyframes.c. I need an example of how to add error reports for the code that this concerned.
2008-12-292.5: Error reportingBrecht Van Lommel
* Added a report list to operator, to which they can report errors and warnings. When the operator ends, it will display them with a popup. For python these should become exceptions when calling operators. * Added a function to make a popup menu from a report list. * Also added a utility function to prepend a string before the reports to indicate what they relates to. Also made the report functions used BLI_dynstr to simplify the code. * Made file reading and writing report errors to the user again using this system, also replacing the left over uncommented bad level error() calls.
2008-12-292.5Ton Roosendaal
More notifier cleanups: NC_SCENE|ND_OB_SELECT : scene level object selections changed NC_SCENE|ND_OB_ACTIVE : scene level, new active object NC_OBJECT|ND_BONE_SELECT : object level, bone selection changed NC_OBJECT|ND_BONE_ACTIVE: object level, new active bone I've made view3d listen to these, so operators that change selections don't have to tag own region for redraw anymore. Also enabled selecting/activating in outliner again. BTW: Added it in space_action, but Joshua has to code the proper refresh still :)
2008-12-292.5 - Action Editor: Copy/PasteJoshua Leung
This can be activated using Ctrl-C/V and the buttons on the header. It still uses an ugly global copy/paste buffer for now. In future, we could investigate alternative methods...
2008-12-282.5Andrea Weikert
fix for win32 firing size event with undefined size.
2008-12-272.5 / SConsNathan Letwory
* make sure we can build WITH_BF_PYTHON=False
2008-12-272.5Ton Roosendaal
Anim playback part 1 (needs more test, will do after commit) - added the update_for_new_frame() back - proper evaluation of time change notifier in WM level - fixed redraw flushes for menus while animation plays.
2008-12-27* converting operator props to strings was using a float as in int.Campbell Barton
* PyOperators were always calling the python functions with default args. * Made operator prints only happen when G.f & G_DEBUG is enabled.
2008-12-272.5Ton Roosendaal
Notifier system upgrade, based on Brecht's doc. Implementation notes: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/DataNotifiers#Implementation In short: let's try to strictly communicate in a notifier what happened. The listeners then can act themselves. It also means that a frame-changed notifier doesn't send out redraws, the editors themselves can decide.
2008-12-27python operators (in bpy_opwrapper.*)Campbell Barton
This means you can define an operator in python that is called from C or Python - like any other operator. Python functions for invoke and exec can be registered with an operator name. keywords are read from the python exec() function, then used to create operator properties. The default python values are used to set the property type and defaults. def exec(size=2.0, text="blah"): ... is equivalent to... prop = RNA_def_property(ot->srna, "size", PROP_FLOAT, PROP_NONE); RNA_def_property_float_default(prop, 2.0f); prop = RNA_def_property(ot->srna, "size", PROP_STRING, PROP_NONE); RNA_def_property_string_default(prop, "blah"); TODO - * make use of events * return OPERATOR_CANCELLED/OPERATOR_FINISHED.. etc * add support for array args * more testing
2008-12-27run python when starting blender like 2.4x does (was start/stopping python ↵Campbell Barton
for each script before) This way python can call the operator to run other scripts eg... bpyoperator.SCRIPT_OT_run_pyfile(filename = "myop.py")
2008-12-262.5Ton Roosendaal
- Added 3d cursor operator (no exec, waiting for vector property!) - Added default editor callbacks, for the poll() function. Example: ot->poll= ED_operator_view3d_active; I'll add later more, per module, such as OBJECT_active, which can be called without WM active