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-05-06Big, big commit!!Diego Borghetti
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2 2) Remove the old bmfont 3) Remove ftfont and bFTGL library 4) Implement a new BLF_draw_default function for place that still need/use the old BMF api. I try to update both, scons and cmake, but I only can test with make, so hope all work fine. MSVC is broken, but I don't have Windows, things to search and fix are any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont). Always have to link/include the freetype2 library Remove any reference to libbmfont Remove any reference to libftfont Remove any reference to libbftgl (or libbFTGL)
2009-05-05Cycles FModifier - Repeat Mirrored now works for cycles before the start of ↵Joshua Leung
the keyframe range
2009-05-042.5 - BugfixesJoshua Leung
* Loading files saved with 2.5 works again now without crashing. Was crashing when trying to load Grease Pencil data (even though there was none) * Fixed some msvc compiler warnings in own code
2009-05-04Cycles F-Curve Modifier: 'Mirrored' Option Joshua Leung
Using this cycling mode option, the keyframe range will be repeated in reverse order every second repeat. Thanks for the idea mfoxdogg :)
2009-05-03F-Curve Modifiers: Time-Modifying F-Modifiers CleanupJoshua Leung
Time-Modifying F-Curve Modifiers now get special callbacks to allow them to specify what frame they need to be evaluated on, instead of forcing a re-evaluation of the preceeding curve + modifier-stack. This should be more robust than the old way in general. It still remains to be seen if some tweaks to this are still needed, as the full consequences of the propogation of modified time-spaces have yet to be fully explored. For now though, evaluation works by finding the last modifier on the stack which modifies time, and asks it what time it modifies the given time to. This modified time is used to evaluate the F-Curve data only. The modifier stack gets evaluated using the original time instead.
2009-05-02F-Curve Modifiers - Per-Modifier Muting:Joshua Leung
It is now possible to mute individual modifiers so that they will not contribute to the final result.
2009-05-02* Added a new F-Curve modifier type: NoiseMatt Ebb
Thanks Aligorith for making such an easy to use system! http://mke3.net/blender/devel/2.5/fcurve_noise_modifier.mov
2009-04-302.5Ton Roosendaal
Two fixes: - objects in editmode now update data on saving .blend - uifonts and uistyles were not freed yet on reading files yet.
2009-04-272.50: fix crashes in the text editor due to undo buffer.Brecht Van Lommel
2009-04-22UIBrecht Van Lommel
* Headers and menus can now be created in python. * Replaced the uiMenuItem functions to create menus with equivalent uiItem functions using a layout, removing duplicated code. * More uiItem functions are now exposed to python. * The text editor header, panels and one of its menus are now created in space_text.py. * Buttons window data context icon new changes depending on active object. Issues * Icons are not wrapped yet, hardcoded ints at the moment. * The ID browse template is unfinished.
2009-04-22Assorted 2.5 fixes:Joshua Leung
- compiling errors in outliner.c - incorrect comments
2009-04-202.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r19323:HEAD Notes: * blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.
2009-04-20Drivers - Rotational DifferenceJoshua Leung
Restored the code to get this working. I haven't tested this to verify it, but it 'should' work... Also, deleted old gpencil.c file in editors, since it was causing compiling errors.
2009-04-20Forgot to add the new gpencil files! :)Ton Roosendaal
2009-04-202.5Ton Roosendaal
Patch from Joshua, converting Grease Pencil to 2.5. All GP data now is an ID block, allowing re-use, link and append. For better contextual control within 2.5, these GP ID's will get linked to actual data, like NodeTrees, Scenes, Images or Objects. That will ensure Undo works, and opens up exciting new use cases as well. :) Patch note: on reading files, GPencils linked from editors will get moved to the main library, using standard naming (indicating where it was used), and with "Fake User" set. That way the user can manually relink the pencils where appropriate. We can check on just linking GP to some default, like 3d window pencils to Scene? Nice to experiment with. Notes for Joshua: - for reading old GPencil, it has to use old code as well, meaning to tread data as "indirect data, within another ID". - Saving ID data means the chunk in file BHead needs the ID_GD code, and not "DATA", which indicates 'indirect data'. That's the file format spec. - I've added do_versions_gpencil_2_50(), feel free to further tweak things here, like linking things to scene or so. - Formerly GPencil saved 2.50 files won't convert gpencil
2009-04-20Drivers: "Scripted Expression" drivers (i.e. PyDrivers) work againJoshua Leung
Now it is possible to write a Python Expression using the variable names for driver targets (see mockup from initial commit) to substitute the appropriate values into the expression. In the __global__ namespace for PyDriver evaluation, the following modules are available: * __builtins__ - i.e. the builtin Python functions * bpy - new Python API * math or m - math module For example: Consider a driver with three targets, named: A, B, C Now, you could write an expression like: C if A < 5 else B or even: 2*C if A < 5 or A > 20 else m.PI*B Of course, you don't have to have three targets, the above was just an example. TODO: * Bring back way to load pydrivers.py * Blender.Noise equivalent would be nice to have P.S. I hope I haven't made any terrible Python API coding errors here (i.e. mem leaks, etc.)
2009-04-19RNA:Brecht Van Lommel
* Wrapped HeaderType/Header. * Some tweaks to get type properties wrapped with less code. * Made Panel space and region types enum instead of string.
2009-04-19RNA: Generic Type RegistrationBrecht Van Lommel
The Python API to define Panels and Operators is based on subclassing, this makes that system more generic, and based on RNA. Hopefully that will make it easy to make various parts of Blender more extensible. * The system simply uses RNA properties and functions and marks them with REGISTER to make them part of the type registration process. Additionally, the struct must provide a register/unregister callback to create/free the PanelType or similar. * From the python side there were some small changes, mainly that registration now goes trough bpy.types.register instead of bpy.ui.addPanel. * Only Panels have been wrapped this way now. Check rna_ui.c to see how this code works. There's still some rough edges and possibilities to make it cleaner, though it works without any manual python code. * Started some docs here: http://wiki.blender.org/index.php/BlenderDev/Blender2.5/RNATypeRegistration * Also changed some RNA_property and RNA_struct functions to not require a PointerRNA anymore, where they were not required (which is actually the cause of most changed files).
2009-04-162.5:Joshua Leung
* Added extra parameter to generic unique name finding function BLI_uniquename() for specifying the delimeter between non-unique parts of the name and digits. * Driver target variables now get unique names by default.
2009-04-16Drivers: Depsgraph building works againJoshua Leung
Cleaned up the code for adding driver relationships in the Depsgraph (see! I said it was going to be easy). Now, adding drivers works nicely.
2009-04-16Animato - Drivers with Multiple Targets:Joshua Leung
Drivers now support multiple targets which act as 'variables'. The targets have a short 'name' (see later), and reference some property (in much the same way as F-Curves do, using RNA-Paths) which acts as the 'value'. These named variables can then be used in a Python Expression which relates them to each other for more fine-grained control over the result of the driver. By using only the names of these variables in the expressions, we are able to define expressions/relationships in a much more readable way, as data access is separated from data use. This makes the underlying relationships easier to understand. By default, if no Python Expression is given, the variables are simply averaged together, so old files won't break. :) For example, check the following diagram (thanks Cessen/Nathan V from Peach team): http://download.blender.org/ftp/incoming/250_drivers_mockup_cessen.png TODO List: * Depsgraph building for new driver relationships doesn't work yet. This needs to be recoded again, but this new system makes this much easier, since the targets are clearly defined (i.e. no need to parse py expressions to get list of objects) * Graph Editor interface for editing these needs to be rewritten * Python function for evaluating these expressions is needed (Campbell?)
2009-04-16PoseLib: Fixed up RNA-properties for this operator so that it can be ↵Joshua Leung
repeated using the exec() callback added in previous commit.
2009-04-15Action Constraint: Optimisation attemptJoshua Leung
Following on from the methods added specially for PoseLib to only execute the F-Curves in a given Action Group, I've attempted to use this for evaluating Action Constraints on Pose Channels. This does rely on the F-Curves being in groups named according to name of the Pose Channel of interest, hence, we may need some way to be able to fine tune this later. Preliminary tests seem to be promising, with rigs with quite a few action constraints being slightly more responsive (subjective test though). Please test thoroughly.
2009-04-15Fixing linux compiling Joilnen Leite
2009-04-152.5 PoseLib - First steps to get PoseLib to work in 2.5Joshua Leung
* Cleaned up Keyframing API to get eliminate some of the problems faced during the original implementation of PoseLib, thus reducing code redundancy. * Added new Animato evaluation functions specifically for use by PoseLib. * Replaced parts of PoseLib code which relied on old animation system to the equivalent code for Animato. Notice the much cleaner + saner + compact code! Next step is to operatorfy the PoseLib tools (while maintaining possibility for an API to some things) :)
2009-04-14FCurve Modifiers - "Limits" Modifier:Joshua Leung
This new modifier clamps the values of the F-Curve to lie within specified bounds, much like Limit Location/Rotation/Scale constraints do. You can limit by time range(s) and/or value range(s).
2009-04-14Action Code - Tidied up some code that wasn't working yetJoshua Leung
2009-04-13Animato Bugfixes:Joshua Leung
* Copying objects with animation data now works correctly. Previously, actions were not getting copied correctly, leading to loss of data in some cases. * Action and Graph editors now display the name of the Action concerned (for 'Action' folder channels), making it easier to tell which AnimData blocks are sharing the same actions * Added some code to make relative KeyingSets (converted from absolute ones) work better.
2009-04-11as per discussion with ton, the editmesh accessors now liveJoseph Eagar
in blenkernel.
2009-04-11Drivers: Errors + UI TweaksJoshua Leung
* Invalid drivers are now tagged accordingly and are not evaluated until they are manually refreshed using the 'Update Dependencies' button * Drivers with errors have a error warning shown in their UI * Rearranged the UI buttons a bit for drivers, adding support for a 'remove' driver button.
2009-04-082.5:Brecht Van Lommel
* Fix to make python panels callbacks get the actual blender Panel as an argument, instead of any instance. * Fix for callback validation in python 2.5, worked OK in python 3.0 but gave error in 2.5 because it's a method instead of a function there.
2009-04-042.5: Added basic insert/remove keyframes from UI buttons.Brecht Van Lommel
- I key over a button inserts a keyframe. - Alt+I removes a keyframe. - With right mouse button a menu with these options pops up. - Buttons are colored green if the property is animated, yellow if it is on a keyframe. I followed the colors from the UI mockups, but the flicker on keyframes seems too distracting in practice? - This only works for properties on the ID itself at the moment, path callbacks need to be filled in for all structs but mesh still. - It doesn't work when you're over a related label, that needs to be made to work. - I made it insert keyframes outside of any keyingset. Not sure how this is supposed to integrate?
2009-04-022.5: weight paint mode fix for corrupted layer data, and addedBrecht Van Lommel
a customdata layer specifically to store weightpaint colors instead of abusing the vertex colors layers.
2009-04-01Python Panels WIPCampbell Barton
- Register python panels - Added a generic class checking function BPY_class_validate() for panels/operators. - No button drawing yet Brecht, Added RNA_enum_value_from_id() and RNA_enum_id_from_value() to rna_access.c to do lookups between identifiers and values of EnumPropertyItem's, Not sure if these should go here.
2009-04-01Animato - Support for 'BuiltIn' and 'Relative' Keying Sets Joshua Leung
When inserting keyframes in the 3D-View (support will be extended to other editors in due course) using the IKEY hotkey, the menu which appears will now consist of 3 parts: * 'Active Keying Set' - this option allows you to use the user-defined KeyingSet which is active for the current scene (i.e. the one seen in the TimeLine/Outliner headers) * User defined Keying Sets - a list of all such available KeyingSets is included, and entries can be chosen from there * Built-In Keying Sets - see later... To achieve this, several changes needed to be made first: * Added support for 'relative' in addition to 'absolute' Keying Sets. Relative Keying Sets are Keying Sets which operate on data from the current context (i.e. a 'location' KeyingSet will add location keyframes for selected objects/bones/nodes as opposed to location keyframes for some particular object). The is a tentative 'templates' requirement system here, which still needs to be fully fleshed out. * Added support for builtin Keying Sets (i.e. 'Location', 'Rotation', 'Scaling', and 'LocRot' as a few initial demonstrations), which replaces the temporary Insert Keyframe operator for the 3D-View (IKEY). These are effectively relative Keying Set definitions which are included in Blender by default and stored in a list separate from user-defined ones. Volunteer help in defining a few more of these for other editors will be welcome soon. * Removed/replaced much of the crappy temporary Keyframing operator code, though a few tweaks could still be done.
2009-03-30editmesh accessor functions. most editmesh access now goes through:Joseph Eagar
EditMesh *EM_GetEditMesh(Mesh *me); void EM_EndEditMesh(Mesh *me, EditMesh *em); as discussed on the mailling list, this is to facilitate migration to bmesh. next step is to merge this this to the bmesh branch. this was done in the 2.5 branch to prevent too great a divergance. also, made makesdna/makesrna work on cygwin/msvc2008/scons.
2009-03-29UI:Brecht Van Lommel
* Added a PanelType and HeaderType for registering panels and headers in regions. When the region draws, it will then automatically draw the ones that were registerd with poll and draw callbacks. Used for text header, properties and object buttons now.
2009-03-28- made epydoc generator write a list of words used in descriptionsCampbell Barton
- fix spelling mistakes in rna docs (and some comments)
2009-03-262.5: Remove OOPS code from the outliner space, as discussedBrecht Van Lommel
this can be brought back as a new space if someone decides to work on it. This also fixes remaining issues with the outliner tree open and close buttons not working sometimes.
2009-03-26F-Curve Modifiers: Experimental 'Additive' option for Generator ModifiersJoshua Leung
This setting means that instead of blindly replacing the existing values, the generator modifier will instead apply its effects on top of any existing modifiers (and/or curve data). Thus, it is now possible to apply effects such sin/cos-based oscillations on top of keyframed motion.
2009-03-25UI:Brecht Van Lommel
* Screen level regions created for menus are now a separate CTX_wm_menu in the context, so they don't interfere with existing regions. * Fix context in popup menus to always come from the area and region the popup was opened from. * Removed some unused context stuff: tasks and reports. The places that were using context reports were using it wrong anyway. * Fix F6 closing immediately after editing a button, by making uiBlockSetFlag not clear existing flags anymore. * Don't use ":" in boolean X/Y/Z buttons.
2009-03-24Started wrapping nodes in RNA. Only shader nodes have all their options wrapped;Robin Allen
TEX and CMP to follow. Also, renumbered the texture nodes because when I first wrote them I thought they could share ID numbers with the SH and CMP nodes. D'oh!
2009-03-22F-Curve Modifiers - Envelope: BugfixesJoshua Leung
* Envelope modifier now works correctly. Previously, the mapping was being done in the wrong order. * Extra controls for modifiers now only draw when the F-Curve is the active one, so the view will be less cluttered in other cases.
2009-03-21F-Curve Modifiers: Envelope ModifierJoshua Leung
Got the basic envelope modifier code working, including primitive drawing of relevant helper info in the graph view. It doesn't work in a very intuitive way yet, so I will recode it soon.
2009-03-19ContextBrecht Van Lommel
* Made it based on string lookups rather than fixed enum, to make it extensible by python scripts. * Context callbacks now also have to specify RNA type when returning pointers or collections. For non-RNA wrapped data, UnknownType can be used. * RNA wrapped context. The WM entries are fixed, for data context only main and scene are defined properties. Other data entries have to be dynamically looked up. * I've added some special code in python for the dynamic context lookups. Tried to hide it behind RNA but didn't find a clean way to do it yet. Still unused/untested. * Also minor fix for warning about propertional edit property in transform code, and fix for usage of operator poll with checking if it was NULL.
2009-03-18Graph Editor: F-Curves which can only take integral values are now drawn ↵Joshua Leung
stair-stepped using the sampling code.
2009-03-182.50: some warning fixes.Brecht Van Lommel
2009-03-182.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender ↵Brecht Van Lommel
-r18677:19317 Notes: * Sequence transform strip uses G.scene global, this is commented out now, should be fixed. * Etch-a-ton code was most difficult to merge. The files already in 2.5 got merged, but no new files were added. Calls to these files are commented out with "XXX etch-a-ton". editarmature.c and transform_snap.c were complex to merge. Martin, please check? * Game engine compiles and links again here for scons/make/cmake (player still fails to link).
2009-03-17F-Curve Modifiers: Cycles ModifierJoshua Leung
* Added GUI and fixed bugs in the Cycles Modifier. This replaces the old Cyclic Extrapolation settings, giving more fine-grained control over the results. You can now specify whether the keyframes are repeated before and/or after the range independently, also, the maximum number of cycles on either side can be controlled. * TODO: it would be nice to have the last value held for cyclic+offset. * Deleting modifiers now works
2009-03-16F-Curve Modifiers - Generator: Finishing off most of UIJoshua Leung
* Finished code for Expanded Polynomial and Factorised Polynomial UI's. * Started UI code for 'Builtin Function' mode. There are still 4 controls to add there to use something other than simple mapping * Finished/fixed up verification code for these so that values get initialised ok.