Commit Graph

1915 Commits

Author SHA1 Message Date
15cb47bf91 Merge with trunk r40409 2011-09-20 17:51:04 +00:00
8cf8fd7326 - translation scripts now run with py3.x
- added convenience make target 'make translations'
- some MEM_malloc strings were not unique enough, expanded them.
2011-09-20 17:07:33 +00:00
13dfd82997 changes for materials to treat them as shorts not int/chars (since they are stored as shorts intermally)
- converting nurbs to mesh was casting the material to unsigned char.
- subsurf was casting to char, then int -> short in a loop.
- have material functions take & return shorts.
2011-09-20 06:25:15 +00:00
Dalai Felinto
b263aefb0e TexFace to Material Settings big patch
Summary:
========
The idea here is to move the texface options into the material panel.
For images with the change please visit:
http://code.blender.org/index.php/2011/09/bge-material-texface-changes

1 - Some of the legacy problems 2.49 and 2.5x has with the texface system:
==========================================================================
1.1) Shadow, Bilboard and Halo are mutual exclusive (in the code), yet you can
select a face to be more than one mode.
1.2) Sort only works for blend Alpha yet it's an option regardless of the
Transparency Blend you pick.
1.3) Shared doesn't affect anything in BGE.
1.4) ObColor only works for Text objects (old bitmap texts) when using Texture
Face Materials. (not address yet, I so far ignored obcolor)

2 - Notes:
============
2.1) Now "Use Face Textures" in material Option panel will work in Multitexture
even if there is no texture channel.

2.2) In FaceTexture mode it will use TexFace all the time, even if you don't
check the "Use Texture Face" option in the UI. It's a matter of decision, since
the code for either way is there. I decided by the solution that makes the
creation of a material fast - in this mode the user doesn't need to mess with
textures or this "Use Texture Face" option at all. I'm not strong in my opinion
here. But I think if we don't have this then what is the point of the Texture
Face mode?

2.3) I kept references for tface only when we need the image, UV or the tiling
setting. It should help later when/if we split the Image and UV layers from the
tface struct  (Campbell and Brecht proposal).

3 - Changes in a Nutshell:
==========================
3.1) "Texture Face" panel (in the Mesh/Object Data panel) no longer exists. Those settings are all part of the material properties, visible when Game Render is set.

3.2) "Texture Face" Shading mode (in the Render panel) is now called “Single Texture”, it needs a material for special settings (e.g. Billboard, Alpha Sort, …).

3.3) New options in the Material Panel
* Shadeless option in the Material panel is now supported for all three Shading modes.
* Physics is now toggleable, this is the old Collision option.
* Two Side (on) is now called Back Culling (off).
* Alpha Sort is one of the Alpha options, together (and mutually exclusive) to Alpha Blend, Alpha Clip, Add and Opaque (i.e. solid).
* Shadow, Billboard and Halo are grouped in the “Face Orientation” property.
* "Face Textures" and "Face Textures Alpha" (under Options) can be used for all but GLSL shading mode (to be supported in GLSL eventually).
* The backend in the game engine is still the same as before. The only changes are in the interface and in the way you need to think your materials. The bottomline is: It’s no longer possible to share materials between faces that do not share the same game properties.

4 - Acknowledgment:
==================
Mike Pan for the design discussions, and testing along the whole development process.
Vitor Balbio for the first hands-on code with the interface changes. That helped me a lot to push me into work on that.
Benoit Bolsee and Brecht van Lommel for patch review (* no one reviewed the whole patch, or the latest iteractions, so I still hold liability for any problems).
Blender artists that gave feedback and helped testing the patch.

Patch review and original documentation can be found here:
http://wiki.blender.org/index.php/User:Dfelinto/TexFace
http://codereview.appspot.com/4289041/
2011-09-19 19:55:59 +00:00
507aa1cd22 fix for crash loading a file saved with fluidsim when blenders compiled with it disabled.
also remove unneed class prefix on function name for itasc.
2011-09-18 11:08:34 +00:00
17f0ff5f7f svn merge -r40279:40295 ^/trunk/blender 2011-09-17 13:15:38 +00:00
3232102cb8 Nodes: fix nodes in groups not getting socket templates verified, and reserve
some socket flags for cycles to avoid conflicts.
2011-09-17 13:03:42 +00:00
1ff373ef5b svn merge -r40166:40279 ^/trunk/blender 2011-09-17 04:59:14 +00:00
862aababb3 - remove deprecated pose channel members
- change short -> char for flags that support it.
- add pose 'temp' pointer to use for outliner drawing (was using 'prev' and restoring which seems dodjy)
2011-09-16 02:42:50 +00:00
0d355a8a2c replace BLI_strncpy with BLI_strncpy_utf8 where input isnt ensured to be valid.
also replace strcpy's which copy using "" with str[0]='\0'
2011-09-15 12:26:48 +00:00
75b3936128 svn merge -r40075:40104 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-10 23:49:39 +00:00
c1c4743696 svn merge -r 39975:40061 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-09 12:21:41 +00:00
24c9369477 svn merge -r39990:39991 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-08 08:08:31 +00:00
dbd6658d73 svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-07 15:34:04 +00:00
bac64b39e9 Merging r39948 through r39988 from trunk into vgroup_modifiers. 2011-09-07 05:40:12 +00:00
a167ee1262 svn merge -r39951:39986 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-07 00:46:11 +00:00
decc2c2e77 Node merge: fix crash loading files with unknown nodes (e.g. cycles files). 2011-09-06 17:34:56 +00:00
Lukas Toenne
84b8ec2ec3 Fix for node group add menu, groups from old files wouldn't show up there.
Reason was that node trees are now associated to specific node types (NODE_GROUP in particular) by the ntree->nodetype id.
2011-09-06 16:48:28 +00:00
Lukas Toenne
c6002873fa Backward compatibility fix for SOCK_DYNAMICS flag on group sockets.
This is currently only needed for displaying the up/down buttons of group sockets. All regular group sockets should have this flag to indicate they are added by the user. More complex "group-type" trees may use non-dynamic sockets in the future for sockets that are not supposed to be manipulated.
2011-09-06 11:38:44 +00:00
e74e245030 svn merge -r39890:39951 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-06 03:16:12 +00:00
c643363905 svn merge -r39930:39947 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-06 00:31:00 +00:00
Lukas Toenne
8e0fe8bff7 Merged the particles-2010 branch with node improvements into trunk.
This branch adds mostly organizational improvements to the node system by renaming the node folders and files. A couple of internal features have been added too.
Detailed information can be found on the wiki page:

http://wiki.blender.org/index.php/User:Phonybone/Particles2010
2011-09-05 21:01:50 +00:00
42faf7ae41 Merge with trunk r39928 2011-09-05 17:06:09 +00:00
e4fd20c20c Merging r39652 through r39842 from trunk into vgroup_modifiers. 2011-09-01 17:49:57 +00:00
fb3f7d9566 svn merge -r39792:39829 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-09-01 00:56:21 +00:00
9bc92b2146 svn merge -r39781:39792 https://svn.blender.org/svnroot/bf-blender/trunk/blender, merge pepper, manually merged source/blender/editors/transform/transform_generics.c 2011-09-01 00:35:30 +00:00
b3704f45c4 Fixes for snprintf usage:
* replace by BLI_snprintf in various places, note _snprintf on windows
  does not properly null terminate the string.
* fix overflow in sequencer proxy code due to buffer being smaller than
  specified size.
* fix some usage of snprintf as strcpy, this is will go wrong if the
  string contains % characters.
* remove BLI_dynstr_printf function in gpu module, use BLI_dynstr_appendf
2011-08-30 10:07:50 +00:00
43ab8e8624 * Merge trunk up to r39790.
* Subversion bump (also for init_userdef_do_versions).
* Minor fix for compilation without ffmpeg.
2011-08-30 08:22:03 +00:00
5065d4c744 svn merge -r39664:39762 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-29 00:46:56 +00:00
39b66f9ad4 Merge with trunk r39750 2011-08-28 16:46:40 +00:00
c07bd1439a == Sequencer ==
This patch adds:

* support for proxy building again (missing feature from Blender 2.49)
  additionally to the way, Blender 2.49 worked, you can select several
  strips at once and make Blender build proxies in the background (using
  the job system)
  Also a new thing: movie proxies are now build into AVI files, and
  the proxy system is moved into ImBuf-library, so that other parts
  of blender can also benefit from it.
  
* Timecode support: to fix seeking issues with files, that have
  a) varying frame rates
  b) very large GOP lengths
  c) are broken inbetween
  d) use different time code tracks
  
  the proxy builder can now also build timecode indices, which are
  used (optionally) for seeking.
  
  For the first time, it is possible, to do frame exact seeking on
  all file types.
  
* Support for different video-streams in one video file (can be
  selected in sequencer, other parts of blender can also use it,
  but UI has to be added accordingly)

* IMPORTANT: this patch *requires* ffmpeg 0.7 or newer, since
  older versions don't support the pkt_pts field, that is essential
  for building timecode indices.
  
  Windows and Mac libs are already updated, Linux-users have to build
  their own ffmpeg verions until distros keep up.
2011-08-28 14:46:03 +00:00
c96f28a718 - use %u rather tham %d for unsigned ints in string formatting funcs.
- replace (strlen(str) == 0) with str[0]=='\0'
2011-08-27 03:25:02 +00:00
fd4575b2e3 svn merge -r39493:39664 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-24 02:29:45 +00:00
e890469073 Merging r39486 through r39651 from trunk into vgroup_modifiers. 2011-08-23 12:45:35 +00:00
f0d5abfcb2 Merging trunk up to r39637. 2011-08-22 20:31:46 +00:00
c5106fd097 Merge with trunk r39589 2011-08-21 19:37:19 +00:00
f8ec017900 floats were being promoted to doubles in quite a few cases (using gcc's -Wdouble-promotion), went over render module and use float constants, gives small but consistent speedup - approx 3%. 2011-08-20 17:39:13 +00:00
226e424cb2 svn merge -r39057:39286 https://svn.blender.org/svnroot/bf-blender/trunk/blender 2011-08-11 04:53:57 +00:00
a672ab5e73 3D Audio GSoC:
Improved waveform drawing in the sequencer.

* Drawing the waveform of a sequencer strip is now independent from whether the sound is cached or not.
* Improved drawing of the waveform in the sequencer (especially speed!).
* Making it possible to vertically zoom more in the sequencer to better see the waveform for lipsync.
* Fixed a bug which crashed blender on loading a sound file via ffmpeg.
2011-08-09 14:10:32 +00:00
97d4240911 Merging r38818 through r39198 from trunk into vgroup_modifiers. 2011-08-08 21:28:51 +00:00
daab78bc61 Merging trunk up to r39145. 2011-08-07 15:25:06 +00:00
2d884fc035 3D Audio GSoC:
* Pepper depends on ffmpeg 0.7.1 or higher now, windows and mac build systems set to ffmpeg-0.8
* Fixed orientation retrieval in OpenAL device code.
* Added stopAll() method to AUD_IDevice (also for Python) and call it on BGE exit
* Changed BGE to use audaspace via native C++ instead over the C API.
* Made AUD_SequencerFactory and AUD_SequencerEntry thread safe.
* Changed sound caching into a flag which fixes problems on file loading, especially with undo.
* Removed unused parameter from sound_mute_scene_sound
* Fixed bug: changing FPS didn't update the sequencer sound positions.
* Fixed bug: Properties of sequencer strips weren't set correctly.
* Minor warning fixes.
2011-08-07 11:54:58 +00:00
e6e4c7ef8b KEYMAP REFACTORING
Diff Keymaps

User edited keymaps now no longer override the builtin keymaps entirely, but
rather save only the difference and reapply those changes. This means they can
stay better in sync when the builtin keymaps change. The diff/patch algorithm
is not perfect, but better for the common case where only a few items are changed
rather than entire keymaps The main weakness is that if a builtin keymap item
changes, user modification of that item may need to be redone in some cases.

Keymap Editor

The most noticeable change here is that there is no longer an "Edit" button for
keymaps, all are editable immediately, but a "Restore" buttons shows for keymaps
and items that have been edited. Shortcuts for addons can also be edited in the
keymap editor. 

Addons

Addons now should only modify the new addon keyconfiguration, the keymap items
there will be added to the builtin ones for handling events, and not get lost
when starting new files. Example code of register/unregister:

km = wm.keyconfigs.addon.keymaps.new("3D View", space_type="VIEW_3D")
km.keymap_items.new('my.operator', 'ESC', 'PRESS')

km = wm.keyconfigs.addon.keymaps["3D View"]
km.keymap_items.remove(km.keymap_items["my.operator"])

Compatibility

The changes made are not forward compatible, i.e. if you save user preferences
with newer versions, older versions will not have key configuration changes that
were made.
2011-08-05 20:45:26 +00:00
88243d5167 Merge with trunk r39062 2011-08-05 09:39:49 +00:00
aa1477cce1 https://svn.blender.org/svnroot/bf-blender/trunk/blender, in sync with trunk now 2011-08-05 08:28:03 +00:00
5c26223106 svn merge -r38804:38971 https://svn.blender.org/svnroot/bf-blender/trunk/blender, manual merge of source/blender/editors/transform/transform.c 2011-08-05 08:02:04 +00:00
f77af0a8ce change BLO_library_append_begin to take a main argument rather then a context, means the BGE doesnt need to make a new empty context just to pass as an arg.
added doxygen description too.

this quiets the print when the BGE does linking.
2011-08-05 05:26:19 +00:00
74b94dcdf6 BGE Animations: Moving the do_versions code for the actuators back into the "put compatibility code here until next subversion bump" block. It got sucked into the 2.58.1 block during a merge sometime. 2011-08-05 01:21:08 +00:00
900928f8bf Bassam Feature Request: "Auto Clamped" handles can now be set per
handle/key

This used to be a weird per-curve setting which would happen to get
applied/work correctly if handles were set to "auto", and was a source
of constant confusion for both old and new animators. The main effect
of this handle-type/option was really to just ensure that auto-handles
stayed horizontal, instead of tilting as the keys were moved.

This commit simply changes this from a per-curve to per
keyframe/handle setting.
2011-08-04 14:13:05 +00:00
cdea64e32c remove append to cursor code, wasnt used and made some naive assumptions about object locations. 2011-08-04 11:27:13 +00:00