Commit Graph

53000 Commits

Author SHA1 Message Date
Nicholas Bishop
0fc53d8d4c Use the local context pointer for the multires subdivide operator, rather than searching for a multires modifier in the modifier list. 2009-06-07 17:36:31 +00:00
Thomas Dinges
51740b57b9 2.5 Buttons:
* Small stamp tweaks by William Reynish. 

* Moved the modifier tab next to constraints.
2009-06-07 15:40:14 +00:00
Campbell Barton
bb06e311a1 added item_enumO() so python menu items can call enum types with string args.
Example sequencer menu
		self.layout.column()
		self.layout.item_enumO("SEQUENCER_OT_effect_strip_add", property='type', value='ADD', text="Effect Strip (Add)")
2009-06-07 14:53:08 +00:00
Brecht Van Lommel
eecf7722b6 UI Buttons:
* Context now allows pinning a datablock, independent of
  selection.
* Initial ID browse buttons for most buttons tabs.
* Browsing from world to texture now displays world textures
  again, but is a bit of a hack, not sure there is a right
  way to do this.
* There's a button to switch between active materials and
  textures now, only temporary though.
* There's some code to put context part in own region,
  disabled still because it doesn't work that well yet.
2009-06-07 13:36:12 +00:00
Thomas Dinges
0a9dea9d7d 2.5 RNA:
* Some more Notifiers for the world properties.
2009-06-07 13:35:39 +00:00
Brecht Van Lommel
1c9079d6e1 UI:
* layout.split() now takes a percentage argument to control
  the split position.
* ID template now works for more than just the Text ID type,
  includes and icon, and some other fixes.
2009-06-07 13:20:41 +00:00
Ton Roosendaal
c1135d489b 2.5
Preview renders now re-use a rendered buffer when size is same.
Looks nicer while sliding, and no memory free/allocating.
2009-06-07 13:16:31 +00:00
Brecht Van Lommel
673a39dab1 RNA:
* Accept None as NULL pointers through python function calls.
* Added type callback for pointers back, it's useful still in
  some cases. Made Object.data editable using this, the pointer
  type varying based on object type.
* Wrap pin ID pointer in buttons space.
* Added subclasses for text and surface curve ID blocks, to
  organize data better and get proper icons.
* Added RNA_type_to_ID_code and ID_code_to_RNA_type functions.
* Update RNA_access.h with new RNA types.
2009-06-07 13:09:18 +00:00
Thomas Dinges
38e998e022 2.5 Preview render:
* Added missing redraw tags for lamp and texture.
* Added Texture Notifiers.
2009-06-07 12:34:38 +00:00
Ton Roosendaal
fd1f1c5736 2.5
Quick test commit to check on crashing previews; ignore warning about
implicit declaration...  here in OSX i can't get this crash!
2009-06-07 12:12:55 +00:00
Thomas Dinges
349f5df595 2.5 Preview render
* Added Preview panel to the lamp buttons.
2009-06-07 11:42:13 +00:00
Joshua Leung
019baf8b8f NLA SoC: Adding skeleton code for a buttons region in NLA
If anyone's doing any testing at this point, please check if this works ok for files with new/old NLA Editors, as I was having some problems with one of my testing (saved from this branch) files with this.
2009-06-07 11:37:15 +00:00
Thomas Dinges
0d75ad3001 2.5 RNA:
* Wrapped some image output settings (Tiff, Cineon, OpenEXR, Jpeg 2000 and DPX)
2009-06-07 11:18:32 +00:00
Ton Roosendaal
a2f9ca3b3f 2.5
Nice goodie: Preview renders!

- Added new preview.blend, allowing super wide cinemascope previews
- Draws nicely blended inside widget type, rounded corners
- Preview now renders using all available cpus/cores.
- Uses - hopefully rock stable - method, which doesn't copy or 
  allocate anything for previews, but just uses render API calls.
- Multiple previews are possible! But, added provision in Jobs
  manager to only render one preview job at a time. If you start
  more preview jobs, they're suspended until it's their turn.

Bugfix: new buttons context code crashed when going full-window.

Tweaks are still needed for notifiers. I have to figure out still
how to retrieve SpaceButs button view types...
2009-06-07 11:12:35 +00:00
Joshua Leung
43c7c15e2b NLA SoC: 2 little tweaks
- Evaluation times for strips are now strictly clamped to the endpoints of the strips - i.e. if a strip has 'extend' on, the strip's evaluation time won't continue to change as time changes

- New NLA Editor instances now have auto-snapping turned on by default (as they should)
2009-06-07 07:04:31 +00:00
Joshua Leung
34f29749c8 NLA SoC: RNA wrapping for NLA Data
Most of the relevant properties have been wrapped. 
- There are still some properties I'm not sure about whether they should be exposed at all (which have been left out for now). Most of these are really internal flags which are used in a few select places.
- To maintain the integrity of the settings, I've included some custom code for a few of the setters (i.e. scale/end-frame) where changing one should result in a change in the other and vica-versa. 

Also, tweaked the wrapping for a few other types.

Another side effect of this commit is that I can now uncommented some code for using F-Curves to control the influence and time of the strips. These F-Curves would need to be specifically attached to the NLA-Strip they affect for now (TODO: I need to review this again...), and as such, cannot be used yet since there's no (end-user-accessible) way to do this :)
2009-06-07 06:49:04 +00:00
Erwin Coumans
a03c30ea77 Bugfix to avoid crashing BGE on Mobile Intel GMA 950/945 Express GPU (2009 latest driver 6.14.10.4926 Windows XP)
Command-line option to disable vertexarrays in BGE:
-g novertexarrays
2009-06-07 06:04:44 +00:00
Chingiz Dyussenov
d3f0b39c5f Basic exporter writing only vertices and faces converted to triangles.
Spen't lots of time debugging the misbehaving COLLADASW::URI 
constructor. The problem is although I pass correct parameters to it, 
the resulting file ends up having empty url attributes. It is either a 
bug in OpenCollada or my code - couldn't figure this out.
2009-06-07 05:14:25 +00:00
Chingiz Dyussenov
5acc0fd60d Added BF_OPENCOLLADA_* and BF_PCRE_* scons settings to linux config.
OpenCollada and pcre are added as 3rd party libraries collada module 
depends on.

I now build Blender with:
scons BF_DEBUG=1 BF_OPENCOLLADA_LIBPATH=/home/chin/src/opencollada/ BF_OPENCOLLADA=/home/chin/src/opencollada
2009-06-07 05:03:55 +00:00
Benoit Bolsee
80571c0408 BGE VideoTexture: fix VideoFFmpeg range attribute + error message. 2009-06-06 21:54:12 +00:00
Daniel Genrich
580e69b365 Patch/Bugfix so wind noise got controlable seed and therefore redoable cloth sims - bug reported by istvan 2009-06-06 21:49:00 +00:00
Daniel Genrich
927c8b5be6 Bugfix for crash on constraints 2009-06-06 19:32:18 +00:00
Arystanbek Dyussenov
0034fbd13e Merged code passing context to python operator from soc-2009-kazanbas
branch.
2009-06-06 17:32:06 +00:00
Thomas Dinges
1e03f502ae 2.5 RNA:
* Deleted some wrong properties from the blend mode enum.
2009-06-06 16:39:41 +00:00
Thomas Dinges
895d76dab5 2.5 Interface:
* Added a constraint tab in the buttons window.

* Added more sequencer buttons (effect strips).
Note: Sequencer buttons will go into the sequencer itself (n-key Panel) later.

* Particle button tweaks by William Reynish. Thanks!

* Some RNA fixes and new properties.
2009-06-06 16:18:19 +00:00
Ton Roosendaal
9d8fa4f959 2.5
Several usablity tweaks:

- Search menu allows ScrollWheel to view items

- Tooltip on button on bottom of window showed wrong
- Tooltips were popping up while draggin (MMB) or scrolling
  (wheel). Now they stay away.

- Stolen from Gimp (blame venomgfx for hint!): ScrollWheel allows
  to go over menu items and use number buttons, only on mouse-over.

Note for devs: the WM_event_add_mousemove() call (to add a fake
event to bring UI back alive after view changes) now works much
more reliably. It ensures the mouse move is only handled after all
notifiers/redraws were done.
2009-06-06 13:35:04 +00:00
Thomas Dinges
b770be4f1f 2.5 Buttons Window
Bugfix: World Tab wasn't accessible after deleting an object.
2009-06-06 11:56:59 +00:00
Campbell Barton
acc88c9772 initial support for sequencer UI layout, anyone wants some monkey-work there are quite a few effects panels to do.
- buttons_context_path_sequencer() is a place holder
- ipo_frame_locked renamed to frame_locked
- added scene.sequence_editor.active_strip
2009-06-06 11:34:18 +00:00
Campbell Barton
e4b20c3d2a Setting the directories and files is buggy still, but this should prevent some simple crashes, file was 80 chars long but it let the text input type in 160 chars. 2009-06-06 11:26:43 +00:00
Joshua Leung
9621d626a0 NLA SoC: Various user-counts and file IO bugfixes for tweaking actions... 2009-06-06 05:06:46 +00:00
Joshua Leung
964d44e6bc NLA SoC: Merge from 2.5
20571 to 20667
2009-06-06 05:00:40 +00:00
Campbell Barton
99c0f8dcc0 Blender.Particle.New() wasnt documented.
Changed to accept Object as well as Object name to avoid name collisions with libraries.
2009-06-06 04:56:22 +00:00
Joshua Leung
4e1bb5a806 NLA SoC: Action-line is now drawn with green colouring when a strip is being tweaked to show the relationship between them. 2009-06-06 04:44:18 +00:00
Erwin Coumans
884a6a6573 #18872 bugfix for torque on dynamic objects
#18893, fix to getParam for generic 6dof constraints
2009-06-06 00:12:49 +00:00
Janne Karhu
880c43ad5a First new particle code:
-Many things not yet working properly :)
-Experimental new (hopefully more logical) categorization of buttons, feedback on this is very welcome.
-Separate render & draw types, for example now there is actually a render option "halo" instead of all the different point draw types.
-Particles get recalculated only from buttons that actually change something that has to be recalculated, for example changing visualization doesn't reset particles any more.
-Boid physics buttons are still missing as I'm currently redoing the whole boids code.
-Point caching is still very wip, so baking is not possible for example, but I added a few cache baking flags for rna that were/will be needed for particle buttons logic.
2009-06-05 23:59:33 +00:00
Campbell Barton
8cea65a323 fix for printing operator collection values, also set some freed pointers to NULL 2009-06-05 19:43:33 +00:00
Campbell Barton
04ccb0caf8 bpy.config.sequenceMemCacheLimit is the only way to set the memcache in background mode and it didnt work.
removed some unused vars from KX_Scene
2009-06-05 19:22:23 +00:00
Kent Mein
868f31754c A bunch of the same logic issues. (missed these before)
Kent
2009-06-05 17:45:17 +00:00
Diego Borghetti
e9ffd8f63e Fix "duplicate strip" always increase the user count for ipo.
As venomgfx point, the shift+d function never duplicate the ipo block
if we have enable the option in UserDef -> Edit Methods -> Ipo.

Now, if Ipo option is disable, we just increase the user count, otherwise
we duplicate the ipo.

Note: Alighorith, we need call ipo_idnew here ? (like single_ipo_users)
2009-06-05 16:54:06 +00:00
Kent Mein
6c5e1b6b24 coverity issue CID: 97
Checker: FORWARD_NULL (help)
File: base/src/source/blender/src/poseobject.c
Function: pose_special_editmenu
Description: Variable "ob" tracked as NULL was dereferenced.

logic was wrong (gets complicated when you use !'s ;))

Kent
2009-06-05 16:53:21 +00:00
Campbell Barton
07b3e41e18 Blender file selector support for setting multiple selected files/dirs which operators can use.
This allows the sequencers Add-Image strip to work like it does in 2.4x.

- as well as setting the "filename" operator property, operators can have collections called "files" and "dirs" which are set when available.
- RNA_OperatorFileListElement as new collection type, its a bit redundant since each item only has a "name" property but its needed since we don't have a string array type.
- the file selector now prints operators it runs.

Tested with python, adding a list of images works to the sequencer works.
bpy.ops.SEQUENCER_OT_image_strip_add(name="MyImages", start_frame=54, channel=2, filename="/somedir/", replace_sel=True, files=[{"name":"test1.png"}, {"name":"test2.png"}])
2009-06-05 16:11:35 +00:00
Ton Roosendaal
45ed196344 2.5
Search menu:

- Made nicer drawing for popup version of search. It now uses
  entire backdrop like pulldowns.
  Search boxes for text buttons will use different style still;
  if we use this option all over it shouldn't look too intrusive.

- Search menu allows scroll, to view all items. It doesn't cycle
  anymore.

- Click outside search menu now cancels

- If a match is in search button, it highlights it. This also
  allows ALT+CTRL+F - Enter to redo last op.

- Search popup draws higher when no no space below. No order 
  flipping!
2009-06-05 16:11:18 +00:00
Andre Susano Pinto
f9ee042afb svn merge -r 20486:20651 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-06-05 15:19:13 +00:00
Andre Susano Pinto
1dcab2c875 Fixed reflections on bvh tree
(its kinda of a hackish-fix.. must be improved later)
2009-06-05 14:44:54 +00:00
Shaul Kedem
f7e5fd9438 MSVC cries of uninitialized param 2009-06-05 13:20:42 +00:00
Campbell Barton
52d8e64b85 PyRNA
- Support for python to convert a PyObject into a collection (uses a list of dicts - quite verbose :/)
- Operators can now take collection args when called from python.
- Support for printing operators that use collections (macro recording).
- Added RNA_pointer_as_string which prints all pointer prop values as a python dict.

Example that can run in the in test.py (F7 key)
bpy.ops.VIEW3D_OT_select_lasso(path=[{"loc":(0, 0), "time":0}, {"loc":(1000, 0), "time":0}, {"loc":(1000, 1000), "time":0}], type='SELECT')

for some reason lasso locations always print as 0,0. Need to look into why this is.
2009-06-05 12:48:58 +00:00
Joshua Leung
308b567e9c NLA SoC: NLA-Evaluation Bugfixes
* Fixed an evil bug where the last frame of a strip was always incorrectly evaluated. 
This was because these frames were not being included in the strip's 'range' as defined by the IN_RANGE() testing macro, which only considers the given range as an open interval (i.e. non-inclusive of boundary points). I've added a new macro, IN_RANGE_INCL(), which is inclusive of boundary points, since this is a common test in many other parts of the code.

* When an AnimData block is in 'tweaking' mode, the tracks following (and including the active track) are now correctly skipped during evaluation. 

* Finished coding the option of setting a single NLA-track per NLA-block to play 'solo' (i.e. only that track is enabled for evaluation). 
To enable this, simply click on one of the grey 'dots' beside the NLA-track names, turning this dot yellow. The 'yellow' dot means that the track will play by itself (even the 'active action' gets silenced). Only one track per AnimData block can play solo at a time. To disable, simply click on the 'yellow' dot again. 
NOTE: this currently uses the View3D layer-status icons. We probably need some special ones for these later (coloured vs grey star?)

* Also (not related to evaluation) made the selection operators for the NLA Editor only work when not in tweaking mode, since in tweaking mode they can potentially result in data being resolved inappropriately when leaving tweaking mode.
2009-06-05 11:51:27 +00:00
Joshua Leung
5c21c176fa NLA SoC: Operators for 'tweaking' strip actions (TAB-Key for both)
In this commit, I've introduced the mechanism by which actions already referenced by strips used in the NLA can be edited (or 'tweaked'). To use, simply select a strip you wish to edit, and hit that TAB key to start tweaking that strip's action, and hit TAB again once you're done.


What happens when you enter 'tweak mode':
1) The action of the active strip temporarily becomes the 'active action' of the AnimData block. You are now able to edit this in one of the Animation Editors (DopeSheet/Action, Graph Editors) as per normal (i.e. sliding keyframes around, inserting keyframes, etc.). The 'action-line' will therefore get drawn immediately above the active track containing the active strip, so that it's clear that that's what we're editing.

2) All the NLA-tracks (and all the strips within them) that occur after the track that the active strip lived in get disabled while you're in tweakmode. This is equivalent to travelling back to an earlier state in a construction history stack.

3) The active NLA track also gets disabled while in tweakmode, since it would otherwise interfere with the correct functioning of the tweaking for the action of interest.

4) The 'real' active action (i.e. the one displaced by the active strip's action) gets put into temp storage, and will be restored after you exit tweakmode.

5) Any strips which also reference the action being tweaked will get highlighted in red shading to indicate that you may be making some changes to the action which you don't really want to make for the other users too.


Please note though, that this is only a rough prototype of this functionality, with some niceties still to come. i.e.:
* NLA-tracks after the active track should still get drawn above the 'tweaking action line', but perhaps with different appearance?
* Various tools will still need awareness of this to prevent corrupting operations from taking place. How to proceed is still undecided...
* When exiting tweak-mode, the strip the action came from still needs some form of syncing with the modified action... there are a few tricky issues here that will need to be solved
* Evaluation code doesn't totally take this into account yet...

---
Also, fixed a number of bugs with various code (notably selection, and also a few drawing bugs)
2009-06-05 05:18:07 +00:00
Kent Mein
c5b05fd450 coverity issues:
CID: 478
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/softbody.c
Function: apply_spring_memory
Description: Pointer "sb" dereferenced before NULL check

and
CID: 480
Checker: REVERSE_INULL (help)
File: base/src/source/blender/blenkernel/intern/softbody.c
Function: springs_from_particles
Description: Pointer "ob" dereferenced before NULL check

again moved assignment after check to make sure pointer is valid.

Kent
2009-06-05 04:15:19 +00:00
Kent Mein
010a9c0b00 coverity issues:
CID: 506
Checker: REVERSE_INULL (help)
File: base/src/source/blender/src/editparticle.c
Function: PE_mirror_x
Description: Pointer "(edit)->keys" dereferenced before NULL check

and
CID: 507
Checker: REVERSE_INULL (help)
File: base/src/source/blender/src/editparticle.c
Function: PE_mirror_x
Description: Pointer "(psys)->particles" dereferenced before NULL check


No need to copy the memory if the pointer isn't valid.

Kent
2009-06-05 03:52:24 +00:00