Commit Graph

130 Commits

Author SHA1 Message Date
Andrea Weikert
5e20f57431 2.5 filebrowser
* start of filebrowser RNA 
* system files, bookmarks, etc. now nicely inside panels to allow collapsing etc.
* filebrowser header now defined in space_filebrowser.py

TODO:
* button type for bookmarks etc. not final yet, at least should get centered still. Suggestions welcome here.
2009-06-29 20:23:40 +00:00
Janne Karhu
7b547f7ce7 Particle ID block controls:
* Adding/removing particle systems to an object.
* Changing of particle settings.
* Currently showing an object's particle systems in a list (like materials).
2009-06-27 15:41:47 +00:00
Janne Karhu
912c2f440b Pointcache refresh part 2
* Based on what happens during simulation the cache is marked (also in cache panel, this could possibly be extended to 3d view as well) as:
	- exact (not marked)
	- outdated (simulation is not done completely with current settings)
	- non-exact (frames were skipped during simulation)

* The parameter "cache step" effects the number of frames between saved cache frames.
	- This can save a lot of memory (or disk space) if absolutely frame accurate simulation is not required.
	- Speeds up the "quick caching" very much.
	- Frames between cached frames are interpolated from the cached frames.
	- Current default value of 10 frames works nicely with up/down-arrows (skip 10 frames forwards/backwards on timeline), but can be changed if wanted.

* The caching can work in normal or "quick" mode:
	[Normal cache]
	- Basic: Calculate what even happens (settings change, big frame steps etc.) and cache results, if possible try to use "cache step" when saving cache frames.
	- Becomes non-exact: After larger than 1 frame steps.
	- Becomes outdated: After any change effecting the simulation other than frame steps.
	- Pros/cons: Freedom of doing anything and playing with particles, but exact results have to calculated from the beginning.

	[Quick cache]
	- Basic: Calculate simulation up to current frame automatically on changes with cache step sized jumps in simulation. With multiple "quick cached" simulations the smallest cache step is used.
	- Becomes non-exact: Always from frame 1 (unless cache step = 1).
	- Becomes outdated: Never.
	- Pros/cons: Not very accurate, but super fast!
	- Todo: Transform of any animated (non-autokeyed) object is locked! Probably needs some tinkering with anim sys overrides.

* The simulation can be run forwards or backwards even if it's cache is outdated or non-exact, the following rules apply in these situations:
	- step forwards (to unknown) -> simulate from last exact frame, store result
	- step backwards (to known) -> result is interpolated from existing frames, store result, clear cache forwards if current frame is after last exact frame

* "Calculate to current frame" runs the simulation from start to current frame with a frame steps of 1.
	- Baking does the same, but runs the simulation all the way to the end of simulation.
	- Rendering does this automatically if the simulation is outdated of non-exact, so all rendered simulations will always be updated and exact.
	
* Every cache panel also holds buttons to "Bake all dynamics", "Free all dynamics" and "Update all dynamics to current frame".

* Cloth simulation supports the new cache too.
2009-06-27 15:28:58 +00:00
Brecht Van Lommel
2b8c574182 UI: move bone constraints panel to bone tab again. 2009-06-27 14:07:17 +00:00
Brecht Van Lommel
222fe6b1a5 UI
* Search popup + autocomplete for bones, vertex groups, etc. This
  is done with layout.item_pointerR, specifying an RNA collection to
  take the items from. Used by constraints and modifiers.

* Some tests with the List template, ignore those for now..
2009-06-27 01:15:31 +00:00
Brecht Van Lommel
169fdf9e97 2.5: bug fixes for some erratice materials buttons drawing. 2009-06-24 18:39:00 +00:00
Brecht Van Lommel
5b26f520bb UI
* Added SCROLL button type, use like a NUMSLI basically, with
  a1 used to define the scroller size.
* Add scroll and toggle colors to the Theme (toggle was set to
  draw like radio in a recent commit, but it's the intention
  these look different).
* Added rudimentary list template, used for object material
  slots, this is WIP though.
* In popup menu, split text with line breaks over multiple
  lines, makes python errors display slightly nicer.
2009-06-24 14:16:56 +00:00
Campbell Barton
bf74f105bc small changes...
- allow RNA_property_enum_items to take the totitems int pointer as NULL (spares a loop on all the enum items). this change also makes enums types with no enum array crash in some places, could support these though Id rather disallow them, generating docs is a quick way to test for this.
- open recent file operator used and enum to open the recent file without an enum array, changed to an int type.
- added space_logic.py poll functions
2009-06-23 12:36:15 +00:00
Brecht Van Lommel
9fd605c050 2.5: Image Editor
* Menu and header more complete now.
* Clean up Game Properties panel and moved View Properties panel
  to python.
* Fix some drawing issues when combining tiles, repeat and aspect,
  some also from 2.4x, these options didn't work together 100%.
2009-06-23 00:45:41 +00:00
Brecht Van Lommel
272fac8fd6 UI: some API functions don't require explicit context passing anymore. 2009-06-23 00:19:10 +00:00
Janne Karhu
1f9368b37e Particle system parenting
* Allows moving, rotating & scaling of particle simulations.
* Setting in particle render options.
* Changes viewed & rendered particles from global space to parent space.
* Doesn't effect simulations at all.
2009-06-21 11:09:16 +00:00
Thomas Dinges
c549e75c16 2.5 Buttons Window:
* WIP Commit: Started wrapping the buttons header to python. Still disabled due to some display problems.
2009-06-21 10:26:39 +00:00
Janne Karhu
6b15024f4a Pointcache refresh part 1:
* Particles support larger than 1 frame changes, bigger frame changes can result in inaccurate results, but it's super fast and you get a nice feeling of how the particles behave!
* "Cache to current frame" button calculates the exact result of particles at current frame.
* Current state of cache can be protected by making it a bake.
* Cache is now in memory by default, disk cache is an option.
* Only "viewport %" number of particles are calculated and cached in viewport, baking and rendering calculate all particles.
* Info on cached frames and memory usage given in ui.
* Support for exact "autocaching" of changes and large frame changes(disabled for now until exact place in event system is decided)
* "Continue physics" is probably deprecated after this and should be removed once sb & cloth use the new cache code.

Todo:
* Make softbody & cloth use the new cache things.

Other changes:
* Some cleanup of particle buttons.
2009-06-21 10:16:52 +00:00
Joshua Leung
09e64c6e2c 2.5 - Fixed error with Constraint Buttons
Incorrectly declared icon was resulting in very verbose warning output in the console...
2009-06-21 00:17:45 +00:00
Campbell Barton
3511d72488 game logic UI script, physics could be broken up into more panels. 2009-06-20 06:06:13 +00:00
Campbell Barton
7785ead4eb ObColor wasnt converted into an RNA string.
Updated Mathutils.Vector/Euler/Quaternion/Matrix so these are types rather then module methods, each type now has a tp_new function, matching python builtins float/int/str.
Also cleaned up float conversion and arg passing.

Changed buttons_objects.py...
 if ob in groups.objects: # no longer works
 if ob.name in groups.objects: # is the new syntax
...its more dict like and a lot faster (avoids python iterating over each item and comparing each, use a single rna lookup instead).
2009-06-20 02:44:57 +00:00
Brecht Van Lommel
6c139156cf RNA:
* EditBone wrapped, using manual get/set function, and used
  in the UI code. Makes the RNA wrapping code here more
  complicated, but works.
2009-06-19 14:56:49 +00:00
Daniel Genrich
db27ab918d Bugfix: Displace modifier was missing the "direction" drop down menu. 2009-06-19 09:21:08 +00:00
Brecht Van Lommel
5ea992df98 UI:
* Fix context.cloth, was not being set correct.
* Fix errors with context pinning, scripts should
  not assume context.object to be there.
* Always show preview even if e.g. the material is not
  set, to keep ID buttons from jumping while you're
  using them.
2009-06-18 14:20:25 +00:00
Thomas Dinges
7d02642114 2.5 Material Buttons:
* More tweaks by William. Thanks.
2009-06-16 12:54:34 +00:00
Brecht Van Lommel
91785f1e36 UI scripts:
* Close some material/texture panels by default.
* Update material buttons to use more diffuse/specular variables.
* Don't show texture mapping/influence when the texture is pinned.
* Small visual tweak for sequencer header menus.
2009-06-16 01:25:49 +00:00
Brecht Van Lommel
401b58cb45 2.5: Image Editor
* Started porting over to python, menus nearly done, header WIP.
* Game Properties panel is in python too
* Deprecated "Tiles" as a per face flag here, now it's always on
  the image, used to be both, working in a very confusing way.
  Unlikely someone actually had a purpose for this being per face.
* Remove GPC_PolygonMaterial.cpp/h, it's not actually used anymore,
  so I don't want to bother updating it.
* Fix crash in image painting (own mistake in porting over bugfix
  from 2.4x).
2009-06-16 01:22:56 +00:00
Brecht Van Lommel
18d8454f2e 2.5: Text editor, port menu code to python. 2009-06-16 01:10:47 +00:00
Andrea Weikert
32cf82dbb3 2.5 UI
* RNA enum for icons to allow specifying icons as string
* example: row.itemR(st, "line_numbers", text="", icon='ICON_LINENUMBERS_OFF')
2009-06-15 20:28:49 +00:00
Thomas Dinges
03bd1367ac 2.5 Material:
* Some material button tweaks by William. Thanks.

* Some more material notifiers.
2009-06-14 18:16:38 +00:00
Thomas Dinges
c3c38155ad 2.5 Buttons:
* Added more material buttons by William. Thanks.
I made some minor adjustments and added Specular Shader Model RNA. 

* Code cleanup and some consistency tweaks of button files.
Notes: Preview render now only shows up when there is an active world, material, texture or lamp.
* Made sure initial panels with ID Datablocks are shown, even when no block is active.
2009-06-13 21:22:21 +00:00
Joshua Leung
d7e06a6d91 2.5 - Armature/Bone Tweaks
- Changing visible layers for armatures now sends notifiers
- Made the bone buttons show the layers data 

TODO:
I also tried making the bone buttons show for 'PoseChannels' instead of the raw bones since this is more correct for most editing that can be done (i.e. when posing). For editmode though, we'd need to wrap EditBones in some way? However, I couldn't seem to get this to work due to the way paths are resolved.
2009-06-13 11:52:33 +00:00
Joshua Leung
cd3c52db03 2.5 - Armature Buttons + UI-Templates
Added a new template for layer-buttons, which auto-determines the layout of the buttons instead of relying on some hardcoded pattern for n-layers (i.e. 16 or 20 currently). This is a still bit rough, and could do with some refining to allow us to define what extra info (icons) should get drawn on the buttons or so.

Currently, this is only used in the Armature buttons to allow showing/hiding layers.
2009-06-13 11:21:02 +00:00
Campbell Barton
d35d04a789 text live_edit feature useful for UI scripts (run python scripts on every keystroke, careful with the os module)
http://www.graphicall.org/ftp/ideasman42/realtime_ui.ogv

current kerning makes this a bit cryptic.
2009-06-13 06:42:12 +00:00
Thomas Dinges
0e170f8e56 2.5 Texture Buttons:
* Now texture settings (colors, mapping, influence) only show up, when the texture type != None.
2009-06-12 15:22:08 +00:00
Campbell Barton
a054f3ccce elif rd.file_format in ("OPENEXR"):
...is the same as 
elif rd.file_format in "OPENEXR": # ("OPENEXR",) <- syntax for a single tuple

At the moment its using pythons syntax for a string search which works but isnt whats intended. Replaced in with ==
(Also use '' for enums rather then "")
2009-06-11 21:11:33 +00:00
Thomas Dinges
d12c4f751c 2.5 Scene Buttons:
* FFMpeg buttons by William Reynish. Thanks!
2009-06-11 18:58:37 +00:00
Campbell Barton
776b8c0369 sequencer patch from Xavier Thomas
- allocate transform and crop on "use"
- bring back the scopes drawing (histogram, vectorscope, luma)
- tweak properties layout (need more)
2009-06-11 11:54:56 +00:00
Campbell Barton
3bdcd4f738 patch from Xavier Thomas, color balance and proxy access both need to allocate structs when enabled. 2009-06-10 22:03:50 +00:00
Thomas Dinges
1a787efd7c 2.5:
* Wrapped FFMpeg in RNA (some properties are disabled for now).

* Some Texture panel tweaks by William. Thanks!
2009-06-10 20:50:23 +00:00
Campbell Barton
9bcc6f3cb6 patch from Xavier Thomas, make the sequence strip start frame and channel editable 2009-06-10 19:57:06 +00:00
Campbell Barton
872767f5c7 RNA wrap give_stripelem as getStripElem for sequence strips so the panel can display the current frames filename. 2009-06-10 06:02:08 +00:00
Campbell Barton
b9ef34b6e5 patch from Xavier Thomas, add back the sequencer snap operator 2009-06-09 21:29:59 +00:00
Thomas Dinges
677abc7f49 Texture panel tweaks by William. 2009-06-09 16:52:02 +00:00
Campbell Barton
ff6750c6fe Edits from William, Xavier Thomas (xat) and myself
- strip options in the sequencer view only.
- added a view panel for non-sequencer display modes.
- button adjustments
2009-06-09 16:19:34 +00:00
Thomas Dinges
83f9f1d4d6 2.5 Texture RNA:
* Wrapped some Mapping properties and added them into the layout.
2009-06-09 16:04:07 +00:00
Campbell Barton
d36a1b4f06 added layout attribute for setting the operator execution context.
eg, layout.operator_context = 'INVOKE_REGION_WIN'

Needed to set the context that menu item operators are executed in.

fixed missing NULL check with anim system debug printing.
2009-06-09 10:30:11 +00:00
Campbell Barton
031dbc89cf - rna wrapped sequencer space
- uiItemEnumO_string, forgot to actually set the enum value
- added more sequencer header buttons (these should probably be moved to a view panel eventually)
2009-06-09 05:39:01 +00:00
Brecht Van Lommel
c8b4cf9206 2.50:
svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19820:HEAD

Notes:
* Game and sequencer RNA, and sequencer header are now out of date
  a bit after changes in trunk.
* I didn't know how to port these bugfixes, most likely they are
  not needed anymore.
  * Fix "duplicate strip" always increase the user count for ipo.
  * IPO pinning on sequencer strips was lost during Undo.
2009-06-08 20:08:19 +00:00
Brecht Van Lommel
e93db433a0 UI:
* Map panel in the Textures tab, patch by William.
  Note many properties here are not RNA wrapped yet.
2009-06-08 19:44:07 +00:00
Campbell Barton
62160cef8a Sequencer WIP
- Move buttons into the sequencer Nkey region
- Made the header and menu items use the python api, still need to get more buttons working.
- Fixed some minor problems
2009-06-08 16:48:12 +00:00
Thomas Dinges
d3467960d8 2.5 Texture Buttons:
Some tweaks by William Reynish. Thanks!
2009-06-08 12:01:17 +00:00
Thomas Dinges
0a6051295f * Added some Image Format Options to the the scene output panel. Patch by William Reynish. Thanks!
* Added missing Notifiers for Subsurface Scattering.
2009-06-07 19:18:20 +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
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