Commit Graph

482 Commits

Author SHA1 Message Date
Mitchell Stokes
1b7d264f1e Fixing a typo in the BGE Python API:
BL_ArmatureChannel.rotaion_euler -> BL_ArmatureChannel.rotation_euler

Making the docs match the code:
  BL_ArmatureChannel.rotation -> BL_ArmatureChannel.rotation_quaternion
  BL_ArmatureChannel.euler_rotation -> BL_ArmatureChannel.rotation_euler
2010-07-30 04:57:27 +00:00
Mitchell Stokes
eabbbcdff9 Fixing a crash when using either BL_ArmatureBone.parent and BL_ArmatureBone.children. 2010-07-24 09:26:05 +00:00
Campbell Barton
9c3376a030 bugfix [#22716] Game engine corrupts rig ID-Properties. 2010-07-23 19:47:25 +00:00
Guillermo S. Romero
3eebaceaa6 Fix spelling. 2010-07-09 23:14:07 +00:00
Campbell Barton
64fbe2ee21 Minor modification to how objects are selected for animation baking,
Rather then only baking parent objects. Only bake objects which are have no parents in the original scene.
This allows for parenting and unparenting within the game engine without gaps in the animation curves.
2010-06-10 14:42:24 +00:00
Campbell Barton
ed338da8c9 - WITH_CXX_GUARDEDALLOC working again
- CMake building without python or fluidsim working again (broke in recent commit)
- remove BLI_short_filename(), it wasnt used anywhere.
2010-06-06 01:15:44 +00:00
Dalai Felinto
c6bec43330 reverting previous commit from Mitchell. His commit went to the trunk instead of the branch :)
svn merge -r 29067:29066 https://svn.blender.org/svnroot/bf-blender/trunk/blender
2010-05-29 21:31:57 +00:00
Mitchell Stokes
9d3157eed0 Reversing the last merge because I botched it. 2010-05-29 21:22:24 +00:00
Dalai Felinto
5416f51b7a BGE Fix for: [#22142] Armature deformation does not work in Game Engine. + parent type to modifiers doversion(). Patch by Xavier Thomas (xat)
This fix the problem of not being able to play animations created with Blender 2.5 in BGE. Patch reviewed by Benoit

Added also other parent to modifier conversions as requested by Joshua (aligorith). I didn't bump subversion here, but the patch should work still. If not I'm increasing subversion sooner anyways (tomorrow or by the middle of the week I hope).

I was waiting to commit this one together with the Logic Editor datablock patch (converting material_name DNA properties to struct Material *). However my patch is getting too big and it's better if it's alone (easier to analyze later, eventual fixes, ...)

Mitchell, this commit adds a function that can help hardware skinning - HasArmatureDeformer()
2010-05-25 08:42:11 +00:00
Campbell Barton
389e590460 ghash alloc string from render branch
svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28571:28573
 svn merge https://svn.blender.org/svnroot/bf-blender/branches/render25 -r28575:28576
2010-05-07 07:54:25 +00:00
Campbell Barton
610c4befd4 option to copy constraints without making their ID references direct links.
needed because proxies are causing libs to be linked directly when they should be kept indirect (likely slowing load times though I didnt time this)
2010-04-29 15:31:53 +00:00
Campbell Barton
ed4377faa7 replace referenecs to python 2.x 2010-04-20 15:46:28 +00:00
Matt Ebb
45abe2baf2 Added F13 - F19 keys for game engine too. 2010-04-20 01:04:00 +00:00
Campbell Barton
8f1500da00 remove config.h references, was added for automake build system rev around 124-126 but isnt used by any build systems now. 2010-04-18 10:28:37 +00:00
Campbell Barton
392e1da179 bugfix and cleanup
- BGE Shader.setSampler(name, index): index range check was wrong.
- Compositor check for an invalid channel was incorrect.
- getting the center of selected verts used an uninitalized z axis.
- do_init_render_material() used && rather then & when testing for MA_TRANSP.
- weight paint activate flipped bone used && rather then & for flag checking.
2010-04-17 15:47:00 +00:00
Campbell Barton
fe9a22a018 py api file rename
- prefix mathutils api.
- 2 blf.c files (annoying for debugging)
- py api docs ignore keying sets as with operators.
2010-04-11 12:05:27 +00:00
Campbell Barton
70540fca3b bugfix [#21230] set-scene animation updates not working
fix for empty scenes with SETLOOPER macro.
2010-04-02 13:43:56 +00:00
Benoit Bolsee
982886d34e BGE: repair armature animation. Was broken since commit 27766. 2010-03-28 20:08:16 +00:00
Joshua Leung
1cf95d2494 Keying Set Fixes:
* 'Export Keying Set' operator works again - a change in the previous commit broke the created code
* Relative Keying Sets don't get their paths shown 
* Keying Set paths show options for inserting keyframes too now

---

Another attempt at fixing compile troubles, and removed some commented out + obsolete stuff.
2010-03-16 10:18:19 +00:00
Dalai Felinto
0cad3ae24c BGE 2D Filters: filters run per scene now (fix for [#18152]) - it (slightly) breaks backward compatibility !!!
Originally we had 2DFilters (m_filtermanager) stored in RenderTools. That way filters were stored globally and were being called once per each scene. This was producing two big problems: (1) performance and (2) flexibility of use.

(1) Performance - To run the filters 2X == 2X slower
(2) flexibility of use - Very often we want the filter in the scene but not in the UI for example.

For those reasons I believe that 2DFilters with multiple scenes was very useless or unpredictable. I hope they work fine now.
To make it work as before (2.4) you can simply recreate the 2dfilter actuators across the scenes.

* * * * *

Imagine that we have:
(a) Main Scene
(b) Overlay Scene

in Main Scene the Z Buffer and RGB will be from the main scene.
in Overlay Scene the Z Buffer will be from the Overlay Scene and the RBG buffer is from both [(a + 2D Filter) + b].

So in pseudo code if we have a,b,c,d,e scenes we have: (2DFilterE(2DFilterD(2DFilterC(2DFilterB(2DFilterA(a) + b) + c) + d) + e)
2010-03-03 06:38:47 +00:00
Campbell Barton
4ef1fd1078 game engine support for recording animation back & some other minor changes. 2010-02-22 12:25:58 +00:00
Campbell Barton
b65a983d39 use BLI_findstring in more places & remove some warnings, no functional changes. 2010-02-22 09:22:36 +00:00
Campbell Barton
081c1205a3 correct fsf address 2010-02-12 13:34:04 +00:00
Joerg Mueller
9827a3e9ea 2.5 Audio:
- recode of the whole sequencer audio handling
- encode audio flag removed, instead you choose None as audio codec, added None for video codec too
- ffmpeg formats/codecs: enabled: theora, ogg, vorbis; added: matroska, flac (not working, who can fix?), mp3, wav
- sequencer wave drawing
- volume animation (now also working when mixing down to a file!)
- made sequencer strip position and length values unanimatable
2010-02-07 23:41:17 +00:00
Matt Ebb
0c5998e799 Radians -> Degrees (in UI)
Rotations are now stored internally as radians, while exposing degrees in the UI - 
in the graph editor and UI controls. This is done in two areas:
1) Using the unit system to convert RNA data to display as degrees in the UI controls
2) FCurves now use degrees for rotation, so you can edit in the graph editor what 
you see in the UI.

All rotation data is consistently accessible in DNA and RNA as radians, degrees are only 
used for the UI controls and graph editor.

This commit includes conversions will convert old files (stored data and also fcurve data) 
to the new units, hopefully everything should go smoothly!

Part of this also changes a few properties that were hard-coded as degrees before (such 
as IK pole angle and brush texture rotation) to also use the same consistent system of 
radians (dna/rna) and degrees (ui).

Thanks to Joshua for hints and review here too.
2010-01-25 06:24:05 +00:00
Dalai Felinto
09994fb444 BGE: negative lamp last fix - Texture Face. I'm going to commit it to 2.49 too.
The files I used for test are here: http://blenderecia.orgfree.com/blender/tmp/neg_light.zip
2009-12-31 18:51:02 +00:00
Dalai Felinto
bccda9857b BGE bugfix: [#19476] Negative Lamps in BGE Do Not Function (in GLSL)
this bug was introduced in Blender 2.49 (probably my own fault, in other part of the code though while fixing support for IPOs in GLSL Lamps).

The good news is: GLSL Lamps looks in BGE like working perfectly now.

Multitexture on the other hand is not supporting "negative" lamps (with the checkbox option on).

From my search (svn blame+log) it looks like multitexture never had negative lamp working. Actually in Blender 2.34 when this was introduced in BGE (maybe in Blender as well?) I couldn't see negative lamps working either. It's hard to test this with Blender 2.34 though (it even crash with my test file).
2009-12-31 07:17:14 +00:00
Dalai Felinto
e37e3845a1 BGE: stereoscopic settings changes: (1) eye separation is the UI (2) focallength uses camera focallength
Now the default eye separation value is 0.10 (reasonable for games with 1 meter == 1 B.U.
The focallength used is the camera focal length (DOF settings). It allow you to even use different focal lengths for different scenes (good for UI)

In order to change it you can change the camera focal length or use Rasterizer.setFocalLength.
If you use the Rasterizer method it will use this value for all the cameras.

ToDo:
- Blenderplayer settings
- Update wiki documentation (any volunteer)?

* Note to stereo fans:
I don't have a real stereo environment to test it (other than cheap cyan-red glasses). If you can give it a try in a more robust system and report bugs or problems with BGE current system please let me know. I would be glad to help to make it work 100% by the time Blender 2.5 is out.

For the record, BGE is using the method known as 'parallel axis asymmetric frustum perspective projection'. This method is well documented here:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/stereographics/stereorender/
2009-12-29 15:47:20 +00:00
Campbell Barton
5cd837a562 * speedup for animating bones, in one scene with sintel and a dragon animated its over 4x faster.
* utility function BLI_findstring to avoid listbase lookup loops everywhere.
  eg: 
    ListBase *lb= objects= &CTX_data_main(C)->object;
    Object *ob= BLI_findstring(lb, name, offsetof(ID, name) + 2);

* made some more math functions use const's, (fix warnings I made in previous commits)
2009-12-29 15:40:26 +00:00
Benoit Bolsee
81a7bf2db9 BGE: fix more matrix transpose bugs in assignement to game object matrices.
Assignment to KX_GameObject localOrientation and
worldOrientation matrices was assuming row-major matrix
although reading these matrices was returning a column-major
MathUtils object.

The faulty function (PyMatTo) is fixed and all matrices
in python are now assumed column-major.

This function is also used in the following methods:

BL_Shader.setUniformMatrix4()
BL_Shader.setUniformMatrix3()

(No change in scripts if you didn't specify the optional
transpose parameter: the default value is changed so
that column-major matrices are assumed as before.)

KX_Camera.projection_matrix

(assignement to this attribute now requires a column-major
matrix and you must fix your script if you were setting
a value to this attribute.)
2009-12-22 23:38:09 +00:00
Benoit Bolsee
8c72e18354 BGE: fix bug with rigid body joint constraint target name: skip OB letter. 2009-12-22 18:39:42 +00:00
Campbell Barton
646575f8d9 clear loc/size/rot wasnt updating child transformations, also removed some warnings 2009-12-13 11:49:17 +00:00
Benoit Bolsee
1c4150f211 BGE: ray casting works on soft body, the hit polygon is also returned. The modifications to Bullet have been reported to Bullet forum. Note: welding is completely disabled on soft body as it breaks the relationship between the soft body collision shape and the graphics mesh without bringing any additional stability (the reverse actually). 2009-11-28 17:30:34 +00:00
Benoit Bolsee
5b722b1e87 BGE: replace mesh works for Soft Body (including reinstantiation of physics soft body mesh).
Even a static mesh can be used as replacement: the mesh
will be instantiated with the soft body settings of the
object. The position and orientation of the soft body
is preserved after the replacement.

Known limitation: the velocity of the soft body is reset
aftet the replacement. This is because soft body don't
have a well defined velocity.
2009-11-24 22:44:29 +00:00
Dalai Felinto
573be3e687 BGE: Removing OB prefix from object names - This will break scripts !!!! (also removing AC and ME :: internal changes only)
How it works now:
whenever you have to read/write object names you can do it without the prefix "OB". (it's not hard at all to fix scripts)

How it was before:
It was a mess :)
We had an inconsistent API where sometimes you had to input "OBname" and other "name" directly to assign object as data (usually in actuators).

Justification for the change:
Talking with Campbell we had since a while ago this feeling that this should be changed any time we were going to deprecate the API. So in order to deliver Blender 2.5beta0 with a more close-to-the-final API we decided that today was a good day to implement that.

Remaining issues:
1) VideoTexture uses IM or MA to identify the output material/texture. I haven't touched that, but it does look a bit off. (i.e. I didn't changed any MA, IM naming)
2) I didn't see the code of dynamic mesh. It may need to be edited as well.
2009-11-22 00:01:52 +00:00
Campbell Barton
09cf011879 patch from Dave Plater which fixes some problems building the BGE with cmake 2009-11-21 13:47:16 +00:00
Campbell Barton
67c295da9c rename pose_channels to bones
was: object.pose.pose_channels["Bone"]
now: object.pose.bones["Bone"]
2009-11-18 11:40:55 +00:00
Dalai Felinto
2e104b44c6 bge: fix for "dome mode not working with Letterboxing".
This bug was introduced after commit # 24102 (BGE: when letterbox is enabled use the camera framing as a clipping area) reported in IRC by Pete Carss (domejunky)

*) an extra stub fix for recent commit. By the way: we want to have blenderplayer running in blender 2.5 beta0. Therefore if you are doing big changes in the last minutes (Friday, Saturday??) It would help a lot if you could enable blenderplayer in your builds. links problems are really easy to fix)

**) an typo I spotted in recent mesh dynamic load in bge.
2009-11-16 02:52:02 +00:00
Guillermo S. Romero
aa739e7a71 Add include path to find BLO_readfile.h. 2009-11-16 00:44:07 +00:00
Benoit Bolsee
b45ab480e0 BGE: dynamic loading patch commited. API and demo files available here: https://projects.blender.org/tracker/?func=detail&aid=19492&group_id=9&atid=127 2009-11-15 23:58:56 +00:00
Campbell Barton
635a98a4ce [#19896] [bugfix] Fixing converting of rotation f-curves
from Mitchell Stokes (moguri) 

--- from the patch
With f-curves there are 3 rotation modes, rotation_euler, rotation_axis_angle, and rotation_quaternion. The IPO converter
was still simply looking for "rotation" f-curves instead of specific ones. This patch fixes that and also
fixes bug #19873 ( http://projects.blender.org/tracker/index.php?func=detail&aid=19873&group_id=9&atid=306
).
2009-11-15 11:32:53 +00:00
Brecht Van Lommel
37e4a311b0 Math Lib
* Convert all code to use new functions.
* Branch maintainers may want to skip this commit, and run this
  conversion script instead, if they use a lot of math functions
  in new code:
  http://www.pasteall.org/9052/python
2009-11-10 20:43:45 +00:00
Brecht Van Lommel
4617bb68ba Math Lib
* Pre-conversion commit removing old arithb.c code, this will not compile,
  next commit fixes that.
2009-11-10 20:40:18 +00:00
Campbell Barton
5935ef0049 use armature active bone as a pointer rather then a flag for each bone that needs looking up.
- rna vars arm.bones.active & rna.edit_bones.active
- needed special undo support.
- readfile.c loads.
- duplicate and copy_armature support.
- keep the draw flag, renamed to BONE_DRAW_ACTIVE, only use for openGL drawing.

Note: it may be better to allow active/unselected as with objects.
2009-11-09 21:03:54 +00:00
Brecht Van Lommel
3ffb695b10 Shape Keys
Blended shape keys can now be displayed & edited in edit mode. This
is much like showing an armature modifier in edit mode, and shape keys
now are a applied as a virtual modifier (for mesh & lattice only, curve
doesn't fit in the stack well due to tilt).

The main thing missing still is being able to switch between the active
shape key in edit mode, that's more complicated.. but the weights of
other shapes can be edited while in edit mode.

One thing to be careful about is that this does automatic crazyspace
correction, which means that if you edit a shape key with a low value,
the actual vertices will be moved to correct for that and actually move
a (potentially much) longer distance.

Also includes some UI tweaks, mainly placing some buttons horizontally
since the vertical list was getting too long.
2009-10-22 16:35:51 +00:00
Brecht Van Lommel
06d57fdae0 Shape Keys
Internal change to not apply the shape keys to the Mesh vertex coordinates,
but rather use it as part of the derivedmesh/displist evaluation. This only
has one practical advantage right now, which is that you can now make a
linked duplicate and pin it's shape key to a different shape than the first
object.

Further, this makes shape keys correctly fit into the modifier stack design,
which will help implement some other features later. Also it means the mesh
vertex coordinates are now really the orco's.
2009-10-22 09:31:07 +00:00
Ton Roosendaal
0e5a6a21e8 Fixes to get Blender compile and run on PowerPC OSX 10.3, gcc 3.3
(yes antique, but having 5 year old OS's work is very cool)

In short:
- include <cmath> after <math.h> fails
- STL template issues (recursion, syntax)
2009-10-20 15:51:18 +00:00
Campbell Barton
8b6f5c171d - rather then passing the python namespace dictionary to the controller function get the namespace from the converter.
- renamed SetPythonDictionary() to SetPyNamespace()
- remove IsLight(), GetGameObjectType() existed before this but wasnt used for lights.
2009-09-29 22:49:33 +00:00
Campbell Barton
98ee2a781d option to build the BGE without python, uses existing python check (cmake and scons)
when python is disabled videotextures are not built.
2009-09-29 21:42:40 +00:00
Campbell Barton
c8b7384c4b remove ray sensors own logic manager (now stored in parent class) + other minor changes. 2009-09-29 07:51:54 +00:00