12 years agoRNA Wrapping Fixes:
Joshua Leung [Fri, 24 Jul 2009 11:24:00 +0000 (11:24 +0000)]
RNA Wrapping Fixes:

* Changed update callbacks for several armature properties to do proper depsgraph flushing instead of sending redraw notifiers

* Wrapped preview-range settings for Scene

* Fixed bug with 'parent-type' enum menu for Object parent-type. The problem here was that PARSKEL was used and is still used for both Armatures and Lattices, but the lattice entry would always override armatures entry. Now, when dynamically building the list to display, the function to add these is given the specific item to use, and has been made to stop after the first match has been added. Hopefully this doesn't break anything else...

12 years agoToolbar
William Reynish [Fri, 24 Jul 2009 11:14:59 +0000 (11:14 +0000)]

Improved the brush tools UI and added a bunch of brush controls. There seems to be some RNA magic missing for texture paint to work, so that's empty for now. Added tablet pressure buttons, which needs a new icon.

Added a bunch of tools in a categorized fashion for all edit modes. Need to figure out what to do for vert/edge/face specific tools - perhaps it could detect the mode setting and show most appropriate tools for each mode.

12 years ago2.5 - Timeline window now displays keyframe lines again
Joshua Leung [Fri, 24 Jul 2009 08:05:56 +0000 (08:05 +0000)]
2.5 - Timeline window now displays keyframe lines again

* Keyframes for scene-linked animdata is drawn first (if 'Only Selected Data Keys' is off)
* Keyframes are also drawn for the active object

12 years ago2.5 - Animation Tweaks (KeyingSets/NLA)
Joshua Leung [Fri, 24 Jul 2009 06:51:33 +0000 (06:51 +0000)]
2.5 - Animation Tweaks (KeyingSets/NLA)

* Insert Keyframes menu now only displays the 'active keyingset' entry when there are some KeyingSets.

* Moved the validation code for auto-blending/extend modes to NLA editor code, and included calls for this in many of the editing tools for NLA strips.

* Removed obsolete 'ID_IPO' entries from RNA-ID wrapping (these were commented out anyway).

12 years agoNLA - Auto-Blending + 'Smarter' Extend Behaviour
Joshua Leung [Fri, 24 Jul 2009 06:08:03 +0000 (06:08 +0000)]
NLA - Auto-Blending + 'Smarter' Extend Behaviour

* Auto-blending (blend in/out values get determined based on 'overlaps' of strips) now occurs after transforming strips. Where islands (continuous chains of strips) occur, only the ones on the ends of the islands will get or contribute to auto-blending.

* Extend modes (other than 'nothing') now get automatically determined (after transforms) so that moving strips will no-longer cause problems.

* Added a new option to hide influence curves in NLA. Also, made the line widths for these curves narrower, since the old setting was too ugly.

* Pose copy/paste buffer now gets freed on exit

12 years agoblender wasn't building on my system because of this, cant this use notifiers?
Campbell Barton [Thu, 23 Jul 2009 22:45:24 +0000 (22:45 +0000)]
blender wasn't building on my system because of this, cant this use notifiers?

12 years ago2.5: Render/Game Engine
Brecht Van Lommel [Thu, 23 Jul 2009 21:50:40 +0000 (21:50 +0000)]
2.5: Render/Game Engine

An engine to use for output can now be selected an influences what
shows in the buttons window, only showing relevant data. The idea
behind this is to make it more clear what is supported where, make
the system more pluggable for external render/game engines, and save
space hiding stuff that is not relevant anyway.

* Top header now has an engine menu, to choose between the blender
  render engine, game engine, and other future external engines.
* If the game engine is enabled, the buttons window should show
  only properties that work in the game engine, and similarly for
  the render engine.
* Moved panels from the logic space and game tabs to the physics,
  scene and world tabs instead, and removed the game tab.
* Materials and textures tabs should eventually become game
  specific too, to better show what is supported.

12 years ago2.5: Top Menu
Brecht Van Lommel [Thu, 23 Jul 2009 21:35:11 +0000 (21:35 +0000)]
2.5: Top Menu

* Clean up File menu, added back recover last session op.
* .blend compress now behaves a bit different, previously
  it would only respect the user preference. Now it saves
  existing files the same way they are saved, and new files
  following the user preference. The save operator has a
  Compress toggle in the file browser left panels now.

* Add menu working again, some fixes to make these operators
  work outside the 3d view were needed.
* Timeline menu removed, its contents will be moved to the
  timeline header menus.
* Game menu can now start game, changed the start game op
  to choose another 3d view if none is available.
* Render menu has a few items now.
* Help menu contains a few links again.

12 years ago2.5: UI
Brecht Van Lommel [Thu, 23 Jul 2009 20:50:24 +0000 (20:50 +0000)]
2.5: UI

* Fix issue where it would automatically scroll when collapsing panels.
* Fix panel dragging not taking zoom level into account.
* Fix enum menu having too small default width in headers.
* Fix tooltips not showing shortcuts etc. if there was not tooltip
  defined for the button.
* Fix some refresh issues with color ramps.

* Add a bit more space between columns in the layout engine.
* Make scrollers darker so they are less distracting, and highlight
  instead of reverse shading when dragging.

12 years ago2.5: Various
Brecht Van Lommel [Thu, 23 Jul 2009 20:40:51 +0000 (20:40 +0000)]
2.5: Various

* Buttons header: made tab buttons bigger, remove view menu,
  replaced by RMB menu in main region.
* Timeline header: tweak button placement and alignment, added
  a play reverse icon.
* Window type chooser menu: removed audio and scripts windows,
  change console and logic icons.
* Node space: disable the channel region until it is used.

12 years agoVarious layout tweaks. Improved game buttons, made minor adjustments to lamp, scene...
William Reynish [Thu, 23 Jul 2009 14:35:20 +0000 (14:35 +0000)]
Various layout tweaks. Improved game buttons, made minor adjustments to lamp, scene and fluids.

12 years agocmake updates for compiling with prebuilt py 3.1 on osx
Matt Ebb [Thu, 23 Jul 2009 14:20:08 +0000 (14:20 +0000)]
cmake updates for compiling with prebuilt py 3.1 on osx

12 years agopyrna,
Campbell Barton [Thu, 23 Jul 2009 13:48:15 +0000 (13:48 +0000)]
calling rna functions with the wrong argument type would raise an error like..
 expected a string type

Added an error prefix so now the message is..
 TypeError: UILayout.item_enumO(): error with argument 3, "value" -  expected a string type

12 years agoautocomplete wasn't working
Campbell Barton [Thu, 23 Jul 2009 12:31:45 +0000 (12:31 +0000)]
autocomplete wasn't working

12 years agoExternal cache
Janne Karhu [Thu, 23 Jul 2009 00:19:01 +0000 (00:19 +0000)]
External cache

Particle point cache can now be loaded from external files.
- Activated by "external" checkbox in cache panel and giving proper folder path and file name identifier.
- External cache panel has controls for particle emission start, end, lifetime and random lifetime. These should be set according to the external data for correct playback.
- External files should be named "identifier_frame_index.bphys" or "identifier_frame.bphys" where:
* "identifier" is a freely choseable name.
* "frame" is the cached frame number.
** Six digits padded with zeros!, for example "000024".
* "index" can be used to tell caches with the same identifier apart.
** Two digits starting from zero.
** The index and the underscore before are optional. If no index is present the index number in ui should be set to -1.
- Cache file format is pure floating point numbers (in binary, not text!) with each particle's data one after the other with the following data members:
* 3 floats: particle's location vector
* 3 floats: particle's velocity vector (per second)
* 4 floats: particle's rotation quaternion
* 3 floats: particle's angular velocity vector (per second)
* 1 float: frame of the actual data (this can be non-integer for particles that are born or die between two integer frames, but otherwise should be the same as the "frame" in the file name)
- Cache files don't have to exist for each frame.
* Frames without actual data are interpolated from surrounding frames that have data (extrapolation is not supported).
- Cache file formats with extended (or reduced even) data members are in future plans for easier usage.
- Current code only does particles, don't yet know if it's applicable to cloth or sb.
- Known issue: endianness can't yet be handled in any way.

Other changes:

New hard limits for many particle parameters. Some examples:
- Maximum amount of particles: 10M particles :) And before you all go and crash your Blender trying this out remember that this limit is only for those freaks who really have the machine power to handle it. 10M particles alone take around 2.2 Gb of memory / disk space in saved file and each cached frame takes around 0.5 Gb of memory / disk space depending on cache mode.
* Known issue: To actually use this many particles they most likely need to be allocated in parts as taking hold of a 2.2Gb chunk of memory at once is probably not ok with any operating system.
- Maximum amount of children: 100k children/particle (1T childparticles here we come :D)
- Kink frequency: -100k to 100k half-rotations (really strange the previous limit was only from zero upwards)
- Path draw steps: 10 (power of 2 remember)
- Path render steps: 20 (power of 2 also!! If over 1M segments doesn't get you smooth paths then I think nothing will!)

12 years agoChange to avoid trigraph confusions.
Guillermo S. Romero [Wed, 22 Jul 2009 22:12:55 +0000 (22:12 +0000)]
Change to avoid trigraph confusions.

12 years agoless verbose subtyping Py/C API code, use PyObject_CallFunction which supports packin...
Campbell Barton [Wed, 22 Jul 2009 19:50:21 +0000 (19:50 +0000)]
less verbose subtyping Py/C API code, use PyObject_CallFunction which supports packing the function args into a string.

12 years ago2.5 MSVC 9 projectfiles
Andrea Weikert [Wed, 22 Jul 2009 18:06:59 +0000 (18:06 +0000)]
2.5 MSVC 9 projectfiles
* maintenance: console_space, physics_boids, rna_render

12 years ago2.5
Brecht Van Lommel [Wed, 22 Jul 2009 17:20:04 +0000 (17:20 +0000)]

* Make EWA new default, rename Default to Box.
* Fix windows compile issue in texture filter code.

12 years ago* Updated CMake files to build with Python 3.1 on OS X by default. Remember to update...
Matt Ebb [Wed, 22 Jul 2009 12:43:37 +0000 (12:43 +0000)]
* Updated CMake files to build with Python 3.1 on OS X by default. Remember to update /lib to get the precompiled libraries!

12 years agoColorband UI
William Reynish [Wed, 22 Jul 2009 11:52:42 +0000 (11:52 +0000)]
Colorband UI

Fixed the 'Add' button

12 years agoColorband UI
William Reynish [Wed, 22 Jul 2009 11:40:59 +0000 (11:40 +0000)]
Colorband UI

Cleaned up the colorband UI, and tweaked the tooltips. BTW the 'add' button doesn't seem to work yet?

12 years agomissed this file
Campbell Barton [Wed, 22 Jul 2009 10:12:00 +0000 (10:12 +0000)]
missed this file

12 years agoremoving all functions from bpy.ui module, keeping the module incase its useful later.
Campbell Barton [Wed, 22 Jul 2009 10:09:59 +0000 (10:09 +0000)]
removing all functions from bpy.ui module, keeping the module incase its useful later.
removed a check in exotic.c that should be added back later.

12 years agoremove scriptlinks,
Campbell Barton [Wed, 22 Jul 2009 09:41:41 +0000 (09:41 +0000)]
remove scriptlinks,
they were not working and we have plans for better script integration in 2.5

12 years agoFixed weird alignment for new mesh objects. This still doesn't work correctly in...
Matt Ebb [Wed, 22 Jul 2009 06:31:36 +0000 (06:31 +0000)]
Fixed weird alignment for new mesh objects. This still doesn't work correctly in edit mode, but it's a bit more usable than before.

12 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 21:31:13 +0000 (21:31 +0000)]
SVN maintenance.

12 years ago2.5: Render
Brecht Van Lommel [Tue, 21 Jul 2009 20:28:32 +0000 (20:28 +0000)]
2.5: Render

This adds a RenderEngine type to RNA, which can be subclassed
in python (c++ will follow once we support subclassing there).
It's very basic, but plugs into the pipeline nicely. Two example

* Render runs in a separate thread, and there is unrestricted
  access, so it's possible to crash blender with unsafe access.
* Save buffers and full sample are not supported yet.

12 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 20:05:16 +0000 (20:05 +0000)]

* ID blocks can now get RNA properties defined from python, e.g.:
* RNA structs/functions/properties can now get pointers duplicated
  (mostly strings), since we can't point to some static string then.
* Added ExtensionRNA struct to add into *Type structs for subclassing,
  is a bit more compact than defining the 4 variables each time.
  Only disadvantage is it requires including RNA in more places.

12 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:29:37 +0000 (18:29 +0000)]

* Fix armature drawing crash with materials.
* Mixed texture/material preview was doing wrong gamma correction.
* Use *f math functions for AAO.

12 years ago2.5:
Brecht Van Lommel [Tue, 21 Jul 2009 18:23:45 +0000 (18:23 +0000)]

* Windows fixes for texture filter & bump patches, thanks
  Jean-Michel Soler for noting.

* Added sqrtf/sinf/fabsf/... fallback #ifdefs in BLI_arithb.h,
  those should be safe to use now. Replacing the double for the
  float version throughout the code can be done once, but would
  need proper testing.

12 years agopy console wasnt working since r21743
Campbell Barton [Tue, 21 Jul 2009 15:52:15 +0000 (15:52 +0000)]
py console wasnt working since r21743

12 years ago2.5: fix crash on load when saving with a filebrowser open.
Brecht Van Lommel [Tue, 21 Jul 2009 14:28:41 +0000 (14:28 +0000)]
2.5: fix crash on load when saving with a filebrowser open.

12 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 14:11:51 +0000 (14:11 +0000)]

* Wrapped RenderResult, RenderLayer, RenderPass.
* Update RNA_access.h with new structs.

12 years ago2.5: Bump Mapping
Brecht Van Lommel [Tue, 21 Jul 2009 13:46:49 +0000 (13:46 +0000)]
2.5: Bump Mapping

Patch by Alfredo de Greef. Considerably improves the quality of bump
mapping, and texture filtering for displacement and warp too. Mainly
this is achieved by getting the texture derivatives just right in
various cases, many thanks to Alfredo for figuring this one out, works

This is enabled by default now, but disabled still for existing
textures to preserve backwards compatibility. Can be enabled with
the "New Bump" option in the material texture slot in the outliner.

Also, I made the range for the normal factor a bit smaller since this
gives stronger effects, but note that you can still type in larger
values than the slider allows.

12 years agoSilencing warnings (mingw + scons) about undefined stuff...
Joshua Leung [Tue, 21 Jul 2009 13:20:39 +0000 (13:20 +0000)]
Silencing warnings (mingw + scons) about undefined stuff...

12 years ago2.5: Texture Filtering
Brecht Van Lommel [Tue, 21 Jul 2009 13:20:35 +0000 (13:20 +0000)]
2.5: Texture Filtering

Patch by Alfredo de Greef with high quality image texture filters.
This adds 3 new filters:

* SAT: Summed Area Tables. This is like mipmaps, but using somewhat
  more memory avoids some artifacts.
* EWA: Ellipitical Weighted Average, anisotropic filter.
* FELINE: Fast elliptical lines for anisotropic texture mapping.

The one change I made to this was to try to fix an alpha/premul
problem, hopefully I didn't break anything, it looks compatible
with the existing filter now for me.

12 years ago2.5 - Copy/Paste Operators for Armatures
Joshua Leung [Tue, 21 Jul 2009 13:12:40 +0000 (13:12 +0000)]
2.5 - Copy/Paste Operators for Armatures

* Buttons in header now use operators too. The paste-flipped button needs attention though, since the flipped argument isn't set yet

* Assigned Ctrl-C, Ctrl-V, and Ctrl-Shift-V to Copy/Paste/Paste-Flipped respectively for now.

* Auto-Keying for this doesn't work again yet. On todo for later...


* Also, new armatures now get the flag to show custom bone colours enabled by default.

12 years ago2.5: Texture Buttons
Brecht Van Lommel [Tue, 21 Jul 2009 12:57:55 +0000 (12:57 +0000)]
2.5: Texture Buttons

* World and Lamp previews now working here too.
* Experiment with list template, showing only icons. Unfortunately
  texture icon render crashes combined with preview render so it
  shows all icons the same.
* Influence panels updated, with slider for each option. The values
  are still linked though, will fix that later.
* Image texture controls a bit more complete, still WIP.
* Color ramp back.

12 years ago2.5 - More work on Bone Groups
Joshua Leung [Tue, 21 Jul 2009 12:38:01 +0000 (12:38 +0000)]
2.5 - More work on Bone Groups

* Added a new UI Template for the 3-colour picker used to visualise + select the custom colours for a bone group.

* Finished wrapping the colour properties for Bone Groups in RNA. Although changing the colour-set used will change the displayed/cached colours, changing the colours via the colour wells will not change the colour set to 'custom' (as per 2.4x) yet. This needs a nice solution...

* Fixed context-related bugs with the Assign/Remove operators for bone groups. These were using context-iterators for selected posechannels, but that was only defined/valid for the 3d view (but not for the buttons window), hence a failure in that case.

12 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 12:19:46 +0000 (12:19 +0000)]

Overlooked WM event.val usage without checking proper #defines.
My previous commit made all input not work on any modifier key press.

12 years ago2.5
Ton Roosendaal [Tue, 21 Jul 2009 11:03:07 +0000 (11:03 +0000)]

Modal keymaps.

I've tried to make it as simple as possible, yet still using sufficient facilities to enable self-documenting UIs, saving/reading in files, and proper Python support.

The simplicity is: the 'modal keymap' just checks an event, uses event matching similarly to other keymap matching, and if there's a match it changes the event type, and sets the event value to what the modal keymap has defined. The event values are being defined using EnumPropertyItem structs, so the UI will be able to show all options in self-documenting way.
This system also allows to still handle hardcoded own events.

Tech doc:

1) define keymap
- Create map with unique name, WM_modalkeymap_add()
- Give map property definitions (EnumPropertyItem *)
  This only for UI, so user can get information on available options

2) items
- WM_modalkeymap_add_item(): give it an enum value for events

3) activate
- In keymap definition code, assign the modal keymap to operatortype

4) event manager
- The event handler will check for modal keymap, if so:
  - If the modal map has a match:
    - Sets event->type to EVT_MODAL_MAP
    - Sets event->val to the enum value

5) modal handler
- If event type is EVT_MODAL_MAP:
  - Check event->val, handle it
- Other events can just be handled still

Two examples added in the code:

editors/transform/transform.c: transform_modal_keymap()
editors/screen/screen_ops.c: keymap_modal_set()

Also: to support 'key release' the define KM_RELEASE now is officially
used in event manager, this is not '0', so don't check key events with
the old convention if(event->val) but use if(event->val==KM_PRESS)

12 years ago2.5: python module name for import had trailing "."
Brecht Van Lommel [Tue, 21 Jul 2009 10:40:13 +0000 (10:40 +0000)]
2.5: python module name for import had trailing "."

12 years ago2.5 - Restoring Bone Groups
Joshua Leung [Tue, 21 Jul 2009 10:18:08 +0000 (10:18 +0000)]
2.5 - Restoring Bone Groups

* Added Bone Groups UI to 'Armature' context buttons for now. Later, it may be more convenient to have these with bones instead?

* Added operators for the operations that can be performed on these groups. Moved the core adding/removing functions to blenkernel so that they can be used elsewhere in future if need be.

* Properly wrapped bone groups in RNA. Copied the way that Vertex Groups are wrapped, since they share some similarities. Setting colours for bone groups still needs more work though.

12 years agoMake linux/scons default to python 3.1 rather then the version scons runs with.
Campbell Barton [Tue, 21 Jul 2009 10:13:20 +0000 (10:13 +0000)]
Make linux/scons default to python 3.1 rather then the version scons runs with.
for a while py2.x will work but eventually be dropped when most OS's support it, so Id recommend upgrading.

The following instructions are only needed if you don't use python3.1 installed in the default location.
For releases users wont have to worry about this.

# in python3.1 source dir, build and install into your own dir, /opt/py31 is just an example.
./configure --prefix="/opt/py31"; make; make install

# In the scons
BF_PYTHON = "/opt/py31"

# ... now build ...
# Blender now needs 2 things to run. ./lib/ and the python modules.

# Symlink (or copy) python modules, blender sets this path for modules on startup if it is found.
ln -s /opt/py31/lib/python3.1 ~/.blender/python

# Currently static linking is not working without hacks because of limitations in scons.
# for releases we can workaround, but for now its easier to set an environment variable.
# To start blender so it can find make this into a shell script to save yourself typing it in all the time.
export LD_LIBRARY_PATH="/opt/py31/lib/"

12 years agoCleaned up logic buttons in logic space slightly.
William Reynish [Tue, 21 Jul 2009 09:35:39 +0000 (09:35 +0000)]
Cleaned up logic buttons in logic space slightly.

Moved Shade Smooth/Flat from Mesh obdata panel to tools area. These kinds of operator tools aren't really allowed in the buttons window anymore - whole point of new tools area :)
The only operators that are allowed in buttons window are things that act on the RNA fields, like add/remove buttons for adding vertex groups etc.

12 years agoBLI_setenv, use instead of copying ifdefs about for setting env vars.
Campbell Barton [Tue, 21 Jul 2009 09:26:28 +0000 (09:26 +0000)]
BLI_setenv, use instead of copying ifdefs about for setting env vars.
set PYTHONHOME as well as PYTHONPATH, quiets some warnings.

12 years ago2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine
Joshua Leung [Tue, 21 Jul 2009 05:08:59 +0000 (05:08 +0000)]
2.5 - Porting 'Pose' Menu (and its submenus) to Layout Engine

It's alarming how many tools are still missing here!

12 years ago2.5 - IK Constraint Tools + Constraint Editing Tweaks
Joshua Leung [Tue, 21 Jul 2009 04:21:07 +0000 (04:21 +0000)]
2.5 - IK Constraint Tools + Constraint Editing Tweaks

* Add/Remove IK now works again using Shift-I and Ctrl-Alt-I as before. The code for this is now located in editconstraint.c for now...

* Adding constraints with automatically added targets works again. It's a relief that the old code still works (with a minor tweak)

12 years ago2.5 - Constraint (Re)Naming
Joshua Leung [Tue, 21 Jul 2009 02:54:02 +0000 (02:54 +0000)]
2.5 - Constraint (Re)Naming

* Names for newly added constraints are now derived from the type of constraint, making it easier to identify the type of constraint

* Fixed crash when renaming constraints (due to invalid pointer being passed for the 'old' string name)

12 years ago2.5: Texture buttons preview now has an option to display the
Brecht Van Lommel [Tue, 21 Jul 2009 01:57:46 +0000 (01:57 +0000)]
2.5: Texture buttons preview now has an option to display the
texture, the material, or both side by side.

12 years ago2.5: Lamp button layout improvements by nudelZ.
Brecht Van Lommel [Tue, 21 Jul 2009 01:52:05 +0000 (01:52 +0000)]
2.5: Lamp button layout improvements by nudelZ.

12 years ago2.5: UI
Brecht Van Lommel [Tue, 21 Jul 2009 01:26:17 +0000 (01:26 +0000)]
2.5: UI

* List template visual changes. Items now look different,
  and it expands to size 5 as more items are added.

* Added LISTROW and LISTBOX elements. The former is like
  a typical ROW button, but looks diffrent. The latter
  looks like a BOUNDBOX, and has no extra features yet.
* Fix some glColor3ubv warnings with casting, did not find
  a nicer way.

12 years agoRNA
Brecht Van Lommel [Tue, 21 Jul 2009 01:14:55 +0000 (01:14 +0000)]

* Added suppport for generating code without verifying with DNA,
  this doesn't give good errors and is more error prone, but makes
  it easier to wrap things like EditBone which are not in DNA.
* RNA_define_verify_sdna(0), and set to 1 again afterwards.

12 years ago2.5: RNA & UI
Brecht Van Lommel [Tue, 21 Jul 2009 00:55:20 +0000 (00:55 +0000)]
2.5: RNA & UI

* Revert lamp sampling/buffers change. The right enum items should
  be defined in RNA, not the layout, so that it works in outliner,
  python api too.
* Also changed type popup to radio buttons again, and removed the
  icons. This is more consistent, and I don't think it's a good idea
  to start using icons for these things, too much clutter.

* Replace Mesh with Normals panel in the mesh buttons.
* Remove Material panel from mesh buttons.
* Added name fields for shape/vgroup/vcol/uv.
* Spacing tweak to Object and Bone names.

* Fix some naming conflicts in RNA, with "name" and "type" properties
  being defined twice in the same struct.

* context.scene.tool_settings -> context.tool_settings.

12 years ago2.5: Make shade smooth/flat operators consistent,
Brecht Van Lommel [Tue, 21 Jul 2009 00:36:07 +0000 (00:36 +0000)]
2.5: Make shade smooth/flat operators consistent,
and add object mode operators.

12 years agoForgotten file from boids commit.
Janne Karhu [Tue, 21 Jul 2009 00:31:33 +0000 (00:31 +0000)]
Forgotten file from boids commit.

12 years ago2.5: DNA fixes for game engine changes, making it work on 64bit.
Brecht Van Lommel [Tue, 21 Jul 2009 00:30:19 +0000 (00:30 +0000)]
2.5: DNA fixes for game engine changes, making it work on 64bit.

12 years agoSVN maintenance.
Guillermo S. Romero [Tue, 21 Jul 2009 00:19:07 +0000 (00:19 +0000)]
SVN maintenance.

12 years agoInitial code for boids v2
Janne Karhu [Mon, 20 Jul 2009 23:52:53 +0000 (23:52 +0000)]
Initial code for boids v2

Too many new features to list! But here are the biggies:
- Boids can move on air and/or land, or climb a goal object.
- Proper interaction with collision objects.
* Closest collision object in negative z direction is considered as ground.
* Other collision objects are obstacles and boids collide with them.
- Boid behavior rules are now added to a dynamic list.
* Many new rules and many still not implemented.
* Different rule evaluation modes (fuzzy, random, average).
- Only particle systems defined by per system "boid relations" are considered for simulation of that system.
* This is in addition to the boids own system of course.
* Relations define other systems as "neutral", "friend" or "enemy".
- All effectors now effect boid physics, not boid brains.
* This allows forcing boids somewhere.
* Exception to this is new "boid" effector, which defines boid predators (positive strength) and goals (negative strength).

Known issue:
- Boid health isn't yet stored in pointcache so simulations with "fight" rule are not be read from cache properly.
- Object/Group visualization object's animation is not played in "particle time". This is definately the wanted behavior, but isn't possible with the current state of dupliobject code.

Other new features:
- Particle systems can now be named separately from particle settings.
* Default name for particle settings is now "ParticleSettings" instead of "PSys"
- Per particle system list of particle effector weights.
* Enables different effection strengths for particles from different particle systems with without messing around with effector group setting.

Other code changes:
- KDTree now supports range search as it's needed for new boids.
- "Keyed particle targets" renamed as general "particle targets", as they're needed for boids too. (this might break some files saved with new keyed particles)

Bug fixes:
- Object & group visualizations didn't work.
- Interpolating pointcache didn't do rotation.

12 years agofix for recent stereo changes+tweaks
Dalai Felinto [Mon, 20 Jul 2009 22:36:56 +0000 (22:36 +0000)]
fix for recent stereo changes+tweaks
(it's the 3rd commit in a row. But as they say, the 3rd is always a charm ;)

I still think we have a little mess with the DEFINE parameters in BGE (as in RAS_IRasterizer::StereoMode).
We used to have them duplicated and hardcoded in 2.4xx, but I think we can do it in another way now.

(I didn't change gameplayer, but I can do it once we have it linking and building properly)

12 years agoUI layouts
William Reynish [Mon, 20 Jul 2009 21:31:32 +0000 (21:31 +0000)]
UI layouts

Changed order of panels in scene buttons to better follow order of importance, putting the post-processing options further down.

Cleaned up game physics properties

12 years agofix from last commit.
Dalai Felinto [Mon, 20 Jul 2009 20:42:13 +0000 (20:42 +0000)]
fix from last commit.
I thought """ """ could be used everywhere to make comments in python

12 years ago2.5 Lamps:
Thomas Dinges [Mon, 20 Jul 2009 20:34:14 +0000 (20:34 +0000)]
2.5 Lamps:

* Replaced RNA ENUM hacks for "shadow method" and "shadow_ray_sampling_method" with modifications in the layout file.

12 years agoBGE panels: wip
Dalai Felinto [Mon, 20 Jul 2009 20:28:29 +0000 (20:28 +0000)]
BGE panels: wip

Logic Panel:
- world settings (moved from world)
 ... that includes physic engine selection + gravity
- game player (from gamesettings, it wasn't wrapped)
- stereo/dome (from gamesettings, it wasn't wrapped)
 ... separated stereom into stereoflag and stereomode
- properties
 ... (didn't touch it)

Buttons Game Panel:
(wip panel)
- Physics (moved from Logic Panel)
 ... it will be a datablock in the future (right Campbell ?)
- Material Physics (not currently implemented)
 ... a datablock link to the materials of an object + the dynamic physic variables

in readfile.c::do_version I couldn't do if(scene->world). There is something wrong with scenes with an unlinked world. So so far we are ignoring the old values....

12 years agomistake in own recent change, errors with startup scripts didnt raise errors
Campbell Barton [Mon, 20 Jul 2009 20:00:59 +0000 (20:00 +0000)]
mistake in own recent change, errors with startup scripts didnt raise errors

12 years agoOk, first commit! Hope this goes ok.
William Reynish [Mon, 20 Jul 2009 17:59:45 +0000 (17:59 +0000)]
Ok, first commit! Hope this goes ok.

Added the Turbidity parameter to the Sky panel in lamp buttons, since it affects sky as well as atmosphere.

12 years ago2.5 Notifier:
Thomas Dinges [Mon, 20 Jul 2009 17:42:40 +0000 (17:42 +0000)]
2.5 Notifier:

* Added some missing notifier for 3DView Display settings.

12 years agoSome little UI adjustments to cloth + fluid panel and their presets
Daniel Genrich [Mon, 20 Jul 2009 17:15:41 +0000 (17:15 +0000)]
Some little UI adjustments to cloth + fluid panel and their presets

12 years agopatch from William
Campbell Barton [Mon, 20 Jul 2009 16:39:16 +0000 (16:39 +0000)]
patch from William
 Cleaned up force fields panel, as well as the other fixes (sculpt, lamps)

12 years agoBGE Button types panel, can edit existing buttons but not add new ones yet.
Campbell Barton [Mon, 20 Jul 2009 16:21:55 +0000 (16:21 +0000)]
BGE Button types panel, can edit existing buttons but not add new ones yet.
World Physics panel too though Im not sure if we'll eventually move this into another struct.

12 years ago2.5 - Constraints Editing + Keyframe Drawing Tweaks
Joshua Leung [Mon, 20 Jul 2009 12:42:31 +0000 (12:42 +0000)]
2.5 - Constraints Editing + Keyframe Drawing Tweaks

* Adding constraints with targets should now work.
-- (When no target is provided, the code to create a new target is not yet in place again yet)
* Constraints can be added in Object and PoseModes again using the Ctrl-Shift-C hotkey.
* All constraints can now be cleared from the active Object or selected Bones using the Ctrl-Alt-C hotkey.
* Added warnings when adding constraints invalid for the current context, and removed the old add_constraint() function.
* Buttons window updates correctly after adding keyframes now

Keyframes Drawing:
* Removed un-necessary extra function-call for RB-Tree implementation, by inlining a special one-off case.
* Keyframe diamonds which are not within the viewable area are now not drawn (but filtering will still need to find them).

12 years agoAdded error prints if the text's main is not set.
Campbell Barton [Mon, 20 Jul 2009 11:30:27 +0000 (11:30 +0000)]
Added error prints if the text's main is not set.

12 years ago2.5 - Fixes to try and let C++ compilers not choke on DNA_anim_types.h
Joshua Leung [Mon, 20 Jul 2009 10:43:41 +0000 (10:43 +0000)]
2.5 - Fixes to try and let C++ compilers not choke on DNA_anim_types.h

12 years agocmake option to disable SDL,
Campbell Barton [Mon, 20 Jul 2009 10:24:53 +0000 (10:24 +0000)]
cmake option to disable SDL,
bpy_interface.c - change order of checking scripts to avoid calling stat on .py files.

12 years ago2.5 - Bugfixes
Joshua Leung [Mon, 20 Jul 2009 00:02:03 +0000 (00:02 +0000)]
2.5 - Bugfixes

* Fix for crash when holding down downarrow in the info-header search box. Was caused by badly written poll callback for file-browser. Thanks pidhash for noticing the error

* Made add constraint operators work again from 3D-View. They were using the wrong context pointer when in the 3D-View, since the old one was only valid for the buttons-window. Now they check which window they're in.

12 years agobinreloc wasnt working with cmake.
Campbell Barton [Sun, 19 Jul 2009 19:36:56 +0000 (19:36 +0000)]
binreloc wasnt working with cmake.

12 years agod_type isnt a member of dirent on win32.
Campbell Barton [Sun, 19 Jul 2009 18:51:25 +0000 (18:51 +0000)]
d_type isnt a member of dirent on win32.

12 years ago- Support for importing python packages. (directories of python scripts containing...
Campbell Barton [Sun, 19 Jul 2009 17:45:14 +0000 (17:45 +0000)]
- Support for importing python packages. (directories of python scripts containing an
- BLI_add_slash returns the new string length.
- BLI_where_am_i() would often have /./ in the path (not incorrect but annoying, got into python exceptions)
- release/ui/, py error referencing invalid keyword args.

12 years agoSculpt+Paint/2.5:
Nicholas Bishop [Sun, 19 Jul 2009 17:44:44 +0000 (17:44 +0000)]

* Moved brush NKEY panel from C to Python. Could use some UI review :)
* Added a NULL check in bpy_internal_import.c, was crashing here on Python errors
* Added RNA for vpaint brush and for weight paint
* Added context for vpaint/wpaint similar to edit_object and sculpt_object

12 years agoRemove unneeded manipulator functions.
Martin Poirier [Sun, 19 Jul 2009 17:42:01 +0000 (17:42 +0000)]
Remove unneeded manipulator functions.

Disable manipulator drawing while moving. This still use G.moving, but that's acceptable for now (it's sort of a weird display option, after talk with Ton, we couldn't find a good place to set it).

12 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 17:14:26 +0000 (17:14 +0000)]

Bugfix: extrudes failed when called a 2nd time, missing statistics
update. Reported by Sanne in irc, thanks!

12 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 16:53:57 +0000 (16:53 +0000)]

Bugfix: the 'active 3d view layer' was never set, causing issues when
adding new objects. Reported by Martin, thanks!

12 years agoissues auto generating rna docs
Campbell Barton [Sun, 19 Jul 2009 14:57:20 +0000 (14:57 +0000)]
issues auto generating rna docs
- add a warning when an operator name is NULL, set it to a dummy name to prevent crash. POSE_OT_constraints_clear had its name commented (not sure why)
- rna_Object_parent_type_itemf wasnt checking for context being NULL, needed for docs else it crashes.
- bpy.ops.add/remove didnt show up in a dir(bpy.ops)

12 years agoPython operators
Campbell Barton [Sun, 19 Jul 2009 13:32:02 +0000 (13:32 +0000)]
Python operators
- simplified C operator API bpy.__ops__ since its wrapped by python now.
- needs the class to have an __idname__ rather then __name__ (like menus, headers)
- convert python names "console.exec" into blender names "CONSOLE_OT_exec" when registering (store the blender name as class.__idname_bl__, users scripters wont notice)
- bpy.props.props ???, removed

12 years ago2.5 - Recode of Add Constraint Operator(s)
Joshua Leung [Sun, 19 Jul 2009 13:06:18 +0000 (13:06 +0000)]
2.5 - Recode of Add Constraint Operator(s)

Add Constraint operators are now based on the old add_constraint() function (to be removed when the new code works well).
- Fixed a few bugs with the code, including depsgraph missing rebuild call, and unique-naming for constraints failing due to wrong order for adding constraint to list
- Added capabilities for setting the target of the constraint to the first selected object/bone for the operator when called from menus + hotkeys (but not for buttons window)

This commit is still buggy. I'll fix the remaining issues tomorrow, as well as adding some more operators for IK add/clear.

12 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 12:15:20 +0000 (12:15 +0000)]

Small fix: Triple Buffer mode didn't clip custom paint cursors correctly
for overlapping regions (example, view3d paint circle drawing into toolbar)

12 years agoFirst version of fields panel.
Daniel Genrich [Sun, 19 Jul 2009 11:28:43 +0000 (11:28 +0000)]
First version of fields panel.
Please keep in mind: I am no python expert and may have some ugly layout-tricks in this file. GUI designed by nudelZ.
Commit approved by William ;-)

12 years ago2.5
Ton Roosendaal [Sun, 19 Jul 2009 11:13:15 +0000 (11:13 +0000)]

Requested UI feature: when scaling Blender window, the buttons view keeps
scale (in visible pixels) as previously. Also works for the .B25.blend, which
currently will show the buttons a bit too large for small screens... this
because the .B25.blend was created on a 1920x1200 screen. Might need a config
inbetween... 1440x1080 or so? Or we make a couple of defaults later.

Additional feature could be to also scale the buttons area itself, but that
will change the entire screen layout too much, potentially giving bad issues
with extremer scaling.

12 years agopy rna arrays were assumed sizeof(char)*len, should be sizeof(int)*len, was causing...
Campbell Barton [Sun, 19 Jul 2009 09:33:27 +0000 (09:33 +0000)]
py rna arrays were assumed sizeof(char)*len, should be sizeof(int)*len, was causing end of array corruption errors when running operators that took bool array options - transform.

12 years ago2.5 - Clear Constraints Operators
Joshua Leung [Sun, 19 Jul 2009 07:20:21 +0000 (07:20 +0000)]
2.5 - Clear Constraints Operators

Added some operators to clear all constraints on the active object or the selected bones.

12 years ago2.5 - Warning Fixes + Hotkey for Reversed Playback
Joshua Leung [Sun, 19 Jul 2009 05:20:30 +0000 (05:20 +0000)]
2.5 - Warning Fixes + Hotkey for Reversed Playback

Reversed playback can now be activated using the Alt-Shift-A hotkey. It works the same way that the Alt-A playback operator works.

12 years ago- was freeing reports on freed listbases
Campbell Barton [Sun, 19 Jul 2009 04:50:10 +0000 (04:50 +0000)]
- was freeing reports on freed listbases
- free reports in a single loop.
- extrude was using a NULL scene, crashed when used as a macro

12 years agoSVN maintenance.
Guillermo S. Romero [Sun, 19 Jul 2009 02:28:59 +0000 (02:28 +0000)]
SVN maintenance.

12 years agoStore sketch in armature instead of ugly global.
Martin Poirier [Sun, 19 Jul 2009 02:26:01 +0000 (02:26 +0000)]
Store sketch in armature instead of ugly global.

Like edit data, this isn't saved, just a temp pointer used during work session.

Also bring back sketching panel for 3d view.

12 years agoSculpt/2.5:
Nicholas Bishop [Sun, 19 Jul 2009 01:55:21 +0000 (01:55 +0000)]

* Added pointer RNA for the sculpt brush
* Converted sculpt settings panel (in the NKEY area) from C to Python
* For Python UI, needed context for whether sculpt is enabled or not; discussed this with Brecht and added sculpt_object to scene context

12 years agooperator macro playback (run operator reports in the console)
Campbell Barton [Sun, 19 Jul 2009 00:49:44 +0000 (00:49 +0000)]
operator macro playback (run operator reports in the console)
- reports can be selected with RMB, Border (bkey) and (de)select all.
- delete reports (X key)
- run operators in the console (R key)
- copy reports (Ctrl+C), can be pasted in the text editor an run with alt+p

- Added "selected_editable_objects" and "selected_editable_bases" to screen_context.c, use the scene layers, this was needed for duplicate to run outside the 3D view.
- RNA_property_as_string converted an array of 1 into "(num)" need a comma so python sees it as a tuple - "(num,)"
- add flag to reports, use for seletion atm.

opens a new world of context bugs :)

12 years agoSVN maintenance.
Guillermo S. Romero [Sat, 18 Jul 2009 23:12:42 +0000 (23:12 +0000)]
SVN maintenance.

12 years agomissed this file in last commit.
Campbell Barton [Sat, 18 Jul 2009 19:42:13 +0000 (19:42 +0000)]
missed this file in last commit.

12 years agoinitialize keymaps after python so python keymaps, solves the problem of keymaps...
Campbell Barton [Sat, 18 Jul 2009 19:40:26 +0000 (19:40 +0000)]
initialize keymaps after python so python keymaps, solves the problem of keymaps complaining about python operators not existing, but at the expense of some annoying init flags/functions. :/
Brecht/Ton you may want to check that C->data.py_init is a good place to store this.