Commit Graph

784 Commits

Author SHA1 Message Date
21e2d9b85a BGE: fix more transpose bug when MathUtils is not used. 2009-12-23 09:55:34 +00:00
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
d765068fca BGE: add hitUV property to mouse focus sensor to return UV coordinates under mouse pointer. Useful for texture painting. More details in PyDoc. 2009-12-08 08:58:24 +00:00
Dalai Felinto
b7e0d5ac34 BGE fix for GameLogic["post_draw"] not working with 2DFilters
(reported by Mike Pan(mpan3), it's not in the tracker)
2009-12-05 02:30:20 +00:00
0b6873a776 BGE: Add option to return UV coordinates aofthe hit point to KX_GameObject::rayCast(). Details in PyDoc. 2009-12-04 11:27:40 +00:00
8d9fba6568 BGE: allow using dynamic loaded mesh in replaceMesh for soft body. This is a quick fix, it doesn't work yet on skinned mesh. 2009-11-26 09:40:37 +00:00
a306759b7a small change to BGE callbacks, only allocate empty args once in the callback loop. 2009-11-25 23:35:58 +00:00
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
20dc752e14 missing decref from patch #19258 2009-11-22 14:57:19 +00:00
c36f78dd41 [#19258] [patch] Adding drawing capabilities to BGE Python
patch from Mitchell Stokes (moguri)

simple use case
 scene.post_draw = [pyOpenGLFunc]

this only needs to be set once, then the funcion runs each redraw.

note, this patch also changes how python scripts run (not modules): Dont clear the namespace after running a script, since functions still use the namespace, BGE API is now better when dealing with stale data.

made some changes to this patch.
- assigning a list didnt decrement the existing list.
- initialize as NULL rather then a blank list
- dont use string comparisons for the callbacks, pass the python list to use instead.
- dont check the list items are callable. python will display an error if they are not.
- use python list macros that dont do any type checking sine blender does this when assigning the list

---- from tracker, edited since an updated patch changes some things.
Here is a patch to be able to draw to the screen with BGE Python. This will be very handy for GUI stuff. This patch
works by having the user register a callback in the scene. Two options are available KX_Scene.pre_draw
and KX_Scene.post_draw. The difference between these is when Python draws to the screen (before or after the BGE).
Each can take a list of functions. Here is an example that draws a blue semi-transparent
2009-11-22 14:42:22 +00:00
Dalai Felinto
d875f4927e patch [#19796] GLEW update by Mitchell Stokes (Moguri)
GLEW update to version 1.5.1 [11-03-08]
this opens room for Geometry Shader support.

* - Brecht, Campbell told me you did some local changes in order to make it right in Linux. I get to you in order to know what those changes are (or feel free to commit them directly)
2009-11-21 20:36:03 +00:00
854cc87a80 option to have scripts run on startup for per blendfile UI's 2009-11-20 15:01:09 +00:00
aa739e7a71 Add include path to find BLO_readfile.h. 2009-11-16 00:44:07 +00:00
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
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
51a9da2dcf BGE patch #19751: Add game actuator like methods to GameLogic. 2009-10-29 21:59:31 +00:00
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
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
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
c8b7384c4b remove ray sensors own logic manager (now stored in parent class) + other minor changes. 2009-09-29 07:51:54 +00:00
52b28fddec Removed the termporary defines added to make the Game Engine compile. Hopefully this fixes all of the cases which broke. 2009-09-29 01:52:54 +00:00
aa989c1e83 almost all event managers stored a pointer back to the logic manager, easier if this pointer is in the base class - SCA_EventManager 2009-09-25 16:30:15 +00:00
Nathan Letwory
ee6cf88d4d * some fixes to have scons/mingw compile the sources too, even with BF_DEBUG=1 and WITH_BF_GAMEENGINE=1 2009-09-24 22:11:35 +00:00
1483fafd13 Merge of itasc branch. Project files, scons and cmake should be working. Makefile updated but not tested. Comes with Eigen2 2.0.6 C++ matrix library. 2009-09-24 21:22:24 +00:00
Nathan Letwory
ebfc93de21 * explicit cast needed for mingw. 2009-09-24 20:20:43 +00:00
f9694287d9 svn merge https://svn.blender.org/svnroot/bf-blender/branches/blender2.4 -r23172:HEAD
merging now to save confusion later since the changes between last merge and 23172 shouldn't be merged.

brings 2.4 and trunk in sync aside from sequencer edits from Peter.
2009-09-13 08:50:54 +00:00
Nathan Letwory
fb649d5824 * cleaning up warnings (mostly windows). A collection of other warning fixes too (undefined function, assuming int, etc.)
This compiled fine with scons/msvc and scons/mingw (gcc 4.4.0). Please test and report any problems.
2009-09-06 13:20:05 +00:00
0a3694cd6e white space commit. (2 spaces -> tab).
Was annoying to use a different editor for cmake only.
theeth says this should be ok with gsoc and merges from branches.
2009-09-06 01:51:23 +00:00
Nathan Letwory
9216efcba2 == SCons ==
* bring back 'player' libtype, after investigation with ideasman.
  scons/mingw works nicely, for some reason msvc fails to link still, will look further into it.
2009-09-05 01:58:02 +00:00
Nathan Letwory
20f39ec7d8 == SCons ==
* further cleaning of 'player' stuff. Now only 3 libs are remaining, of which ideally the stubs lib will be fixed at some point, fading away into the dark history of not-so-nice code. The current blenderplayer part is still a little bit hackish, I'll see if I can find a better alternative, for now it works good enough.
2009-09-04 12:56:30 +00:00
Nathan Letwory
bade641408 == SCons ==
* first working changes to get blenderplayer linking
* blenderplayer/ moved into source/ (CMakeLists.txt changed for that too)
* added externs for bprogname to gp_ghost, so that it links properly
2009-09-04 10:40:41 +00:00
ac3f0695a2 remove Py_CmpToRich (copy of py3.0 function), instead only support == and != for PyRNA and KX_PySequence types.
mesh1 > mesh2 # will raise an error.
2009-09-03 01:52:10 +00:00
e80b37cd75 * KX_PythonSeq - comparisons work again. eg. act1.sensors == act2.sensors, had to copy Py_CmpToRich inline grr!, mailed python-dev about this.
* Shift-Click on states in the logic UI works again.
* New Logic Space has all the view options pressed.
2009-09-02 20:46:28 +00:00
Nathan Letwory
3f5115064a == SCons ==
* Add BGE_CXXFLAGS so we can get rid of hard-coded BGE compiler settings. This was only done for windows, but now linuxers and osxers should be able to set BGE-specific optimisation too. See the windows default configs for example.
2009-09-01 23:32:34 +00:00
f12f238062 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22875:22935
Note, missing r22897, schlaile
source/blender/src/hddaudio.c
2009-09-01 18:49:33 +00:00
0795d8237d BGE bug #18963: obj.sendMessage() with 4 arguments crashes Blender. 2009-08-31 15:28:43 +00:00
6b3351c327 bugfix [#19254] KX_PolyProxy returns improper VertexIndex with triangles, using .getVertexIndex() and .v1, .v2, etc.
Surprising this wasn't noticed before. Any mix of quads/tris caused the face verts of either quads/tries (whichever comes last).

Tested by exporting the KX_MeshProxy and re-importing as an OBJ.

This fix assumes there are only 2 m_darray's per face array which is currently true, but wont be if edge support is added back.
2009-08-31 03:36:02 +00:00
75697c40a0 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22717:22875 2009-08-29 23:41:09 +00:00
28392eedbe was casting the PyObjectPlus type to a PyObject for new BGE vector and matrix types, need to get its proxy instead. 2009-08-27 16:34:13 +00:00
2c7065e541 - assigning vectors in the BGE wasn't updating the vector from the callback
- Pkey only starts in BGE in Object Mode
- warning in readblenentry.c, is silent on 64bit too.
2009-08-27 15:22:41 +00:00
324b3fbe74 - BGE crash fix when casting a ray to the same location as the object from python.
- Incorrect Mathutils vector docstrings.
- last rayshade commit had an incomplete comment.
2009-08-27 06:55:54 +00:00
4342235489 - Mathutils.Vector assignment wasnt working in the BGE's py api, was using getValue() rather than setValue()
- added GPL header to bpy_interface.c from 2.4x's BPY_interface.c
- warning fixes
2009-08-26 06:15:43 +00:00
0a23895f95 remove all python api functions deprecated in 2.49 2009-08-25 22:51:18 +00:00
9521fa9456 remove gameOb.has_key(key) method from KX_GameObject and ListValue since python 3.x removes has_key from dictionaries.
Instead use __contains__, eg.
 if key in gameOb: ...
 
Mathutils returns from PyMath.cpp were incorrectly using wrapped Mathutils types. Wrapped types should only be used with a callback now.
2009-08-25 13:54:56 +00:00
855974dad9 patch from Mitchell Stokes adding dictionary like access to a scene. (like KX_GameObjects have)
val = scene["prop"]
scene["prop"] = newval
if "prop" in scene: ... 
val = scene.get("prop", fallback_val)
2009-08-25 13:43:21 +00:00
33e2d118bc removing GameLogic.EvalExpression(),
unlikely anyone will miss it, was only accessible in 2.49, invalid expressions would crash, valid ones leak memory.
2009-08-25 12:43:25 +00:00
77ec3a1239 deprecated world settings were being used making new world's have zero gravity in the game engine.
Double checked these aren't used anymore by renaming the vars in DNA_world_types.h
2009-08-23 17:33:34 +00:00
01d4748e5f svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22704:22717 2009-08-23 07:46:34 +00:00
4a4a3b4989 Option for MouseFocus sensor. only used when 'Mouse over any' type is set.
Previously the only way to detect if the mouse moved over a different object was to enable true-level-triggering and have a python script detect the change.

When the Pulse option is set, focusing on a different object pulses true.
Python attribute is focusSensor.usePulseFocus.

This is similar to the collision sensors pulse option where changes in the set of collision objects generates an event too.

Found this functionality missing when trying to make a logic demo that used mouse-over with overlapping objects.
2009-08-23 06:17:59 +00:00
1e14ab9992 svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r22668:22701 2009-08-22 10:57:07 +00:00