Commit Graph

745 Commits

Author SHA1 Message Date
ac2451c6be 2.5: RNA. Default values were not set when calling functions, this
is fixed now. Also added option for spaces without menus in the
header in uiTemplateHeader.
2009-08-18 12:56:43 +00:00
6e10e93965 Renamed Buttons Window to Properties, for these reasons:
1) This fits with our splitting the old Buttons Window into Tools and Properties

2) The name Buttons Window doesn't communicate what it is for, only that it includes buttons. Of course, most other editors include a fair amount of 'buttons' too. 

3) A 'button' is not usually what you'd associate with a slider, number field, checkbox or menu. Really there are hardly any true buttons in this window space.


Also added some notifiers to sequencer RNA, though there seems to be some refresh errors in the image preview area.
2009-08-18 12:10:12 +00:00
61ffa9f131 2.5 - Newly created KeyingSets are now automatically named properly. 2009-08-18 04:15:47 +00:00
0dad5cfbca CMake/Warnings
* WITH_GAMEENGINE and WITH_BULLET were being added to the compiler flags, only define in areas that use them.
* removed C++ unix warnings by adding -Wno-invalid-offsetof -Wno-sign-compare. the py api uses invalid offsets for attributes.
* removed C unix -Wnested-externs warning, these are everywhere in blender.
* removed unused BGE python headers
* undefine _XOPEN_SOURCE and _POSIX_C_SOURCE in the BGE, python redefines.
* renamed USE_BULLET in collision.c to WITH_BULLET for consistency
2009-08-18 03:24:46 +00:00
4fb19159ea 2.5: RNA, defining enums, pointers and collections properties is now
possible from python, but it's still work in progress.

Pointers and collections are restricted to types derived from
IDPropertyGroup (same as for operators), because RNA knows how to
allocate/deallocate those.

Collections have .add() and .remove(number) functions that can be
used. The remove function should be fixed to take an other argument
than a number.

With the IDPropertyGroup restriction, pointers are more like nested
structs. They don't have add(), remove() yet, not sure where to put
them. Currently the pointer / nested struct is automatically allocated
in the get() function, this needs to be fixed, rule is that RNA get()
will not change any data for thread safety.

Also, it is only possible to add properties to structs after they have
been registered, which needs to be improved as well.

Example code:
http://www.pasteall.org/7201/python
2009-08-18 01:29:25 +00:00
a5da26f59d 2.5/Sculpt:
* Added UI for brush stroke. Contains for now spacing and smooth stroke
* Removed Sculpt UI for airbrush -- doesn't do anything in sculpt mode
* Improved smooth stroke by using float instead of int precision, so smooth stroke is even smoother now
2009-08-18 01:19:00 +00:00
6412fe4b92 * Point density texture works again 2009-08-17 22:09:36 +00:00
55b6230464 Made texture nodes accessible in the interface.
* Exposed Tex.use_nodes, Tex.nodetree, MTex.which_output in RNA
* Added node controls to texture buttons (Use Nodes and Use Output)
* Made new texture outputs have unique names by default, though unique names still aren't required.

Note: The preview window in the texture buttons only takes which_output into account when in "material" mode, and in the material half of "both" mode; the plain texture display ignores the user's output choice.

This is because ED_preview_draw draws a Tex* and not an MTex* -- still some work to do here.
2009-08-17 18:37:58 +00:00
6aeb2f687a - rna sequence sound was referencing unknown struct
- cmake was using libs that were disabled (whitespace changes too)
- unit conversion missing checks for % ~ & operators
2009-08-17 18:07:40 +00:00
c00d610e3e 2.5:
* Added icons to viewport shading enum. On a side note, why do we have an icon called "ICON_POTATO" for texture mode?
* Fixed clay brush at zero-strength bug, was dividing by zero. Still todo is fixing clay brush strength relative to other brushes.
2009-08-17 17:14:37 +00:00
f1ec842cb2 2.5 Timeline:
* Added "Only selected" Option in View menu.
2009-08-17 11:45:24 +00:00
7798ed75d4 2.5 - Bugfixes:
* Reverse playback works again. Flag was getting overriden before it had a chance to do anything

* Active KeyingSet field in TimeLine header should now only be marked as editable when there are some Keying Sets. However, there still seems to be a bug when trying to change this...

TODO (Brecht?): it would be nice to be able to specify a list/collection of data for pointer-buttons that aren't ID's.
2009-08-17 10:39:03 +00:00
61b2ac04e3 2.5 - Keying Sets Fixes
* Properly wrapped Keying Sets in RNA. Now the timeline header shows a popup for choosing KeyingSets instead of the nasty index button.

* Fixed bugs in Outliner code for adding/removing array elements to Keying Sets. This makes it possible to add only the x and z location settings for an object for example.
2009-08-17 07:35:38 +00:00
a3b317daf7 2.5 Texture paint:
* Converted to use Paint struct. Now all the brush modes are done.

TODO:
* Make the UI better
2009-08-17 04:40:59 +00:00
9d2d3a8be7 2.5 Paint:
* Converted vertex paint and weight paint to use the new Paint type
2009-08-17 02:49:31 +00:00
5f7ed83735 2.5 Timeline:
Some fixes:
* Added missing "Layered" Button.
* Jump to last keyframe operator was called incorrect.
2009-08-17 00:22:04 +00:00
bee5f9f09e 2.5: Fix timeline space redraw properties, these were not RNA wrapped
correct, and were missing update. Also moved this update code to
screen_edit.c, next to the other animation play stuff.
2009-08-16 23:37:46 +00:00
d35a42d3e6 2.5: Render Api
* Add RenderResult.load_from_file to load whole multilayer exr's at once.
* Removed x/y offset from RenderLayer.load_from_file, better to encourage
  using offset in begin_result() to minimize memory usage.
* Added WITH_OPENEXR in some screen/file/image module for scons/make, exr
  was not working in some places there.
2009-08-16 22:53:15 +00:00
2cf5b52856 2.5 Timeline:
* Finally the header and menus are done via python.
* Added RNA for sync audio. 

Note: This is just a basic working version in python. It needs more work and some layout changes.
Joshua: Feel free to adjust this further :)
2009-08-16 22:01:20 +00:00
55edb016b1 2.5: Sound
* Move sound_init to make sure it gets called everytime user
  preferences is reloaded.
* Merged sound_reinit and sound_init. One used user preferences
  while the other did not, don't see the point of this, so just
  made it always use user preferences now.
* Timeline header audio sync option now controls scene flag
  rather than timeline flag. Since it uses the same playback
  operator now, there is no distinction anymore.
* Added boolean property sync to animation play operator, to sync
  with audio or not. Uses scene setting if property is not set.
* Playback stop button in info header now calls operator, so sounds
  stop playing too.
2009-08-16 20:37:22 +00:00
afa0fa5e29 2.5 Sculpt:
* Added a new Paint type in scene DNA. This is now the base struct for Sculpt.
* The Paint type contains a list of Brushes, you can add or remove these much like material and texture slots.
* Modified the UI for the new Paint type, now shows the list of brushes active for this mode
* Added a New Brush operator, shows in the UI as a list of brush tool types to add
* Made the sculpt tool property UI smaller and not expanded, expectation is that we will have a number of preset brushes that will cover the basic sculpt brush types

TODO:
* Vertex paint, weight paint, texture paint need to be converted to this system next
* Add brush presets to the default blend
2009-08-16 19:50:00 +00:00
13dcf69eee 2.5 Timeline:
* Python conversion is nearly done, still uncommented.
2009-08-16 16:15:13 +00:00
5555ef8a76 rna function return values in generated docs,
added prop.use_return so you can tell if a prop is a return value.
2009-08-16 15:46:09 +00:00
53f451928e 2.5: RNA, added context.screen.animation_playing to detect
animation playback.
2009-08-16 15:34:30 +00:00
1ee26d45b5 Added jack audio support, building with cmake only currently, feel free to add scons and maybe cmake. 2009-08-16 14:53:11 +00:00
f250a92808 2.5/RNA:
* Added Context access to RNA_property_as_string. This is needed for doing a Python call to the object mode set operator, which has a dynamic enum property that needs context.
2009-08-16 14:43:08 +00:00
1b2ebfcb61 Minor adjustments to game physics. Moved some of the name changes into RNA and moved some options around for nicer alignment. 2009-08-16 09:47:33 +00:00
d776dcf795 - added RNA_struct_free_extension rather then having the funcs in each unregister func.
- use RNA_struct_blender_type_set to set the type to NULL before its freed

There is a memory error here when reloading scripts - ui_handler_panel_region, need to look into theis further.
2009-08-16 07:26:29 +00:00
fe984a6e6c volume material
* data reorganisation - uses own values now instead of reusing surface material properties (i.e. an individual density value, rather than reusing alpha) Files saved with the old system won't load up the same after this.

* improved defaults and ui
2009-08-16 06:10:31 +00:00
d86663ee1a 2.5/Modes:
* Added OBJECT_OT_mode_set for setting the object mode. Takes one property, "mode", which can be any of the OB_MODE_* flags. The available modes are limited based on the active object (e.g. only meshes can have sculptmode, and so forth.)
* Set the icon properties in the object mode enum RNA

TODO:
At this point I think everything is ready to start ripping out the ugly hacks in view3d_header for setting the mode :)
2009-08-16 05:48:07 +00:00
128cf15224 missing args for rna funciton. comment on rna leak with type registering that I haven't been able to fix yet. 2009-08-16 04:59:11 +00:00
b1166492e2 Changed material RNA 'emit' value to be soft limited at 2.0 rather than hard limited. 2009-08-16 03:59:39 +00:00
573678df48 - replace rna context.mode_string with an enum context.mode, that way its self documenting and is used as a string from py anyway.
- view3d use select menus use the context.mode enum value.

- if selectmenu in dir(bpy.types) # creates a list of 1400+ strings, does a lookup and throws them away, better avoid this for redrawing.
2009-08-16 03:40:00 +00:00
177956a3a7 2.5/Posemode:
* Pose mode was already object-localized, but moved the flag from object->flag to object->mode, with all the other modes.
* Updated object mode RNA
* Commented out some dubious use of base->flag with the posemode flag. So far as I could see the value was only being set, not read, so a hopefully safe change.
2009-08-16 03:24:23 +00:00
c0718d2d4a 2.5:
* Updated object mode flags with Object and Edit.
* Updated RNA for that property
2009-08-16 02:49:37 +00:00
a6089f8238 2.5/Paint:
* Added RNA for the object-localized modes
2009-08-15 22:35:00 +00:00
0ce5163cc0 2.5 3D_View:
Patch [#19031] (2.5) python menus for the view3d header
by Lorenzo Pierfederici (lento). Thanks!

* Added CTX_data_mode_string() to find out in which mode we're in.
* Added some "select" menus as a test.

This patch makes it basically possible to wrap the 3D View menus to python.
2009-08-15 19:40:09 +00:00
3da40611d9 2.5: Material buttons
* Transparency is now it's own panel, with a boolean toggle
  + enum for z/ray transparency (following mockup made by
  William). Also had to change DNA flags for this.
* Disabled radiosity a bit more in render engine, it still had
  some effects like auto autosmooth.
* Make some sliders in material buttons percentages in RNA.
* Some other small tweaks in layout and naming.
2009-08-15 19:35:03 +00:00
34dc95f7ee svn merge -r 22423:22450 https://svn.blender.org/svnroot/bf-blender/branches/blender2.5/blender 2009-08-15 07:40:22 +00:00
08f0938434 - registering new python classes runs the free functions on existing classes.
- print an error if RNA Structs are freed with a python pointer set to help with debugging leaks.
- fix for unlikely eternal loop in unit conversion.
2009-08-14 12:29:55 +00:00
972224b9e1 2.5/Sculpt:
* Moved the brush texture settings to MTex/TextureSlot. The mapping settings now show up in the texture panel, pretty much like they do for textures used with materials.

TODO:
* Tiled mode should not show Z size setting
* Add a locked mode so that texture size can be changed uniformly like in 2.4x
2009-08-13 20:05:36 +00:00
e8d9e0823e 2.5 Timeline:
WIP Commit, still uncommented.
* Adeed some RNA properties for Playback.
* Start of Python File.
2009-08-13 16:59:52 +00:00
d916c25616 - moved unit settings from user prefs into the scene.
- use the scene context for the unit settings since there isn't a better place for it currently.
- added 'chain' to imperial units
- set more rna props to be distances and angles.
2009-08-13 07:37:41 +00:00
127f19cac4 2.5 - Assorted cleanups
* Silencing some compiler warnings
* Set paths for Scene rendering settings so that they can be animated (or at least won't produce error warnings)
2009-08-13 07:28:51 +00:00
5a21bc578c * First commit merging 2.4-based sim_physics in to volume25 branch.
Integration is still very rough around the edges and WIP, but it works, and can render smoke (using new Smoke format in Voxel Data texture) --> http://vimeo.com/6030983

More to come, but this makes things much easier to work on for me :)
2009-08-13 05:21:25 +00:00
fb7c9d5a0d Smoke:
* New feature: "Dissolve Smoke" - Idea by nudelZ
2009-08-12 17:32:02 +00:00
7ca23e0ef6 Put back sequencer type icons, and moved the type menu, separating it from the menus. 2009-08-12 14:39:57 +00:00
b221c0e2e6 New point cache file format:
- HEADER (beginning of each file)
	* general header:
		+ 8 char: "BPHYSICS"
		+ 1 int: simulation type (same as PTCacheID->type)
	* custom header (same for sb, particles and cloth, but can be different for new dynamics)
		+ 1 int: totpoint (number of points)
		+ 1 int: data_types (bit flags for what the stored data is)
- DATA (directly after header)
	*totpoint times the data as specified in data_types flags

- simulation type
	soft body = 0, particles = 1, cloth = 2
- data types (more can be added easily when needed)
	data		flag		contains
	----------------------------------------
	index		(1<<0)		1 int	(index of current point)
	location	(1<<1)		3 float
	velocity	(1<<2)		3 float
	rotation	(1<<3)		4 float	(quaternion)
	avelocity 	(1<<4)		3 float	(used for particles)
	xconst		(1<<4)		3 float	(used for cloth)
	size		(1<<5)		1 float
	times		(1<<6)		3 float (birth, die & lifetime of particle)
	boids		(1<<7)		1 BoidData
	
Notes:
- Every frame is not nescessary since data is interpolated for the inbetween frames.
- For now every point is needed for every cached frame, the "index" data type is reserved for future usage.
- For loading external particle caches only "location" data is necessary, other needed values are determined from the given data.
- Non-dynamic data should be written into an info file if external usage is desired.
	* Info file is named as normal cache files, but with frame number 0;
	* "Non-dynamic" means data such as particle times.
	* Written automatically when baking to disk so basically a library of particle simulations should be possible.
- Old disk cache format is supported for reading, so pre 2.5 files shouldn't break. However old style memory cache (added during 2.5 development) is not supported. To keep memory cached simulations convert the cache to disk cache before svn update and save the blend.
- External sb and cloth caches should be perfectly possible, but due to lack of testing these are not yet enabled in ui.
	
Other changes:
- Multiple point caches per dynamics system.
	* In the future these will hopefully be nla editable etc, but for now things are simple and the current (selected) point cache is used.
	* Changing the amount of cached points (for example particle count) is allowed, but might not give correct results if multiple caches are present.
- Generalization of point cache baking etc operator & rna code.
- Comb brushing particle hair didn't work smoothly.
2009-08-12 09:54:29 +00:00
d1085715a3 fix for errors evaluating user input when units are disabled 2009-08-12 05:53:12 +00:00
23e0571853 added time units, currently only used when metric or imperial are enabled.
long/short units...
day,d,  hour,hr,h,  minute,min,m, second,sec,s,  millisecond,ms,  microsecond,us

Also may fix some bugs that were reported.

Note, to convert fps to time evil_C needs to be used to get the scene.
2009-08-12 05:20:16 +00:00