Commit Graph

107 Commits

Author SHA1 Message Date
Kester Maddock
e957b12f0e Frustum sphere culling.
Do a sphere<->camera sphere and a sphere<->frustum before the box<->frustum test.
2004-05-21 09:21:15 +00:00
Kester Maddock
1217928e66 Fixes for Camera objects and python:
Normalise clip planes for sphere testing.
Do a frustum-sphere <-> sphere test
Reference count all python objects (!)
2004-05-21 09:18:42 +00:00
Kester Maddock
22883f9232 Query GL for max number of lights to use. 2004-05-21 08:56:05 +00:00
Kester Maddock
e78ef29a59 Depth sorting for alpha mesh objects.
- Mesh Objects are sorted by depth (based on object centre.)  Using object centre means the user has control over the sort.
- Polygons are not sorted.
- Polygons are not split.
- O(nlog(n))
2004-05-21 08:55:12 +00:00
Kester Maddock
fba0e401c9 Compiler portability fixes (MSVC 6) 2004-05-17 23:56:56 +00:00
Kester Maddock
5454280f6c Same again - change static const for MSVC++ 2004-05-17 09:06:54 +00:00
Kester Maddock
0f447ac5a8 Fix for MSVC .NET, which can't handle static const declarations in classes.
Make it static, and define in SM_Object.cpp
2004-05-17 08:31:35 +00:00
Kester Maddock
6f4272a200 Fix for bug 1245: Vertex Colours are wrong in GameBlender. 2nd try.
http://projects.blender.org/tracker/index.php?func=detail&aid=1245&group_id=9&atid=125

The member names of MCol are wrong, so we will convert to unsigned char* like the rest of blender.
2004-05-17 00:42:07 +00:00
Kester Maddock
bab6e5ce36 Cleanup unused/commented out code, compiler warnings, coding standards etc. 2004-05-16 13:10:10 +00:00
Kester Maddock
d5fde6c48b Added #!/usr/bin/python standard script identifier to the start of SConscript files.
Makes text editors identify SConscripts as Python, and syntax highlight properly.
2004-05-16 13:07:20 +00:00
Kester Maddock
2fd6e72851 Changed Python _getattr/_setattr methods to use const STR_String& instead of char* - makes using these methods much nicer. 2004-05-16 13:05:15 +00:00
Kester Maddock
9827bf0cd7 Up the maximum triangles in a bucket.
GPUs can do more now.
2004-05-16 12:56:36 +00:00
Kester Maddock
9d147f52fd Use safe_normalized instead of normalized in shadow cast.
Should fix crashes reported by Calli
2004-05-16 12:56:08 +00:00
Kester Maddock
52a835a179 Inline accessor methods used by armature deformation. 2004-05-16 12:55:37 +00:00
Kester Maddock
512c269a16 Use const for SetProjectionMatrix
Remove warning printf.
2004-05-16 12:55:21 +00:00
Kester Maddock
2144f20b04 Use bitset instead of mucking around with <<, | and & 2004-05-16 12:55:05 +00:00
Kester Maddock
c50055204d SceneGraph support for bounding boxs 2004-05-16 12:54:44 +00:00
Kester Maddock
3e6b05f607 Python utils for Python <-> MT_Vector, MT_Point & MT_Matrix 2004-05-16 12:53:54 +00:00
Kester Maddock
0a27ae972e Don't overwrite camera's projection matrix every frame. 2004-05-16 12:53:39 +00:00
Kester Maddock
d162882e3a Frustum culling
New Python Hooks for cameras.
2004-05-16 12:53:22 +00:00
Kester Maddock
3b63bbe90c Don't touch protected KX_GameObject members.
Protect KX_GameObject - Py_Header unprotects!
2004-05-16 12:52:54 +00:00
Kester Maddock
979e242657 Frustum Culling.
- tests every object against the view frustum.
- Tree based culling is there, need to build tree.
2004-05-16 12:52:30 +00:00
Kester Maddock
5659bedf34 Don't increment tface if tface == NULL
Generate bounding boxes for frustum culling
2004-05-16 12:52:08 +00:00
Kester Maddock
81679446ba Make game users happier.
Don't apply friction to external velocities.  The means motion actuators that set linV will work, without having to be repeatedly triggered.
2004-05-13 13:07:38 +00:00
Kester Maddock
bd50d2f9cd Delete all SOLID shapes at the end of the game engine. They were all being leaked! 2004-05-08 00:25:20 +00:00
Kester Maddock
5813ae55d4 Fix Bug #1243: http://projects.blender.org/tracker/?func=detail&aid=1243&group_id=9&atid=125
Use external velocity (velocity set by the game engine - not the physics engine) for Motion Actuators.
2004-05-06 02:13:07 +00:00
Kester Maddock
648c21947c Use a better compare function for RAS_IPolygonMaterial
Fix sharing verticies - must test pos, normal, uv & colour before sharing (not just index)
2004-05-04 13:17:46 +00:00
Kester Maddock
f03fa79d28 Fix for bug #945 getVertexArrayLength(x) returns different values on different runs of the game engine.
http://projects.blender.org/tracker/index.php?func=detail&aid=945&group_id=9&atid=125

The material buckets were being sorted by pointer (ie their location in memory.)

Also fixed find shared verticies.
2004-05-04 09:34:02 +00:00
Kester Maddock
08c14c7ca0 Mouse Wheel Support for the Game Engine.
This adds "Wheel Up" and "Wheel Down" as choices to the Mouse sensor brick.
2004-05-02 23:45:03 +00:00
Ton Roosendaal
e7df984c16 Changes for OSX compiling with Makefiles;
- support 2.3 python
- use -O2 for all
- fixed reference to SOLID.h
2004-05-01 16:52:29 +00:00
Hans Lambermont
dcb83e27a2 - use SDL sound on FreeBSD too.
- add solid include path to unix common makefile ... this is not FreeBSD
  specific, so I'm a bit confused as this wasn't corrected before.
2004-04-30 17:50:48 +00:00
Kester Maddock
d7e6a3dd47 Fix blenderplayer unable to load .blend files (only runtimes!) 2004-04-29 10:51:02 +00:00
Kester Maddock
83b17b9f4d Fix: Setting objects Dynamic, then unsetting Actor would leave an object dynamic.
Check for Actor && Dynamic to enable dynamic.
2004-04-28 09:08:42 +00:00
Kester Maddock
5df9926f49 Fix MouseFocus Sensor objects for dynamic cameras. (Bug 1165) 2004-04-26 07:19:18 +00:00
Kester Maddock
63048b6cf4 Synchronise game engine with Tuhopuu2 tree. 2004-04-24 06:40:15 +00:00
Kester Maddock
a46f456e92 Fixes for MouseFocusSensor: (bug 1165)
1. Do the ray cast properly (from the near plane to the far clip plane)
2. Loop over invisible objects (sensors)
2004-04-24 06:36:55 +00:00
Kester Maddock
3a2194a534 Remove ability to open a published executable from Blender. 2004-04-24 06:29:51 +00:00
Nathan Letwory
892720ffad [SCONS] Optimisation flags for msvc 2004-04-22 04:50:41 +00:00
Kester Maddock
4e2f7baff2 Improved rigid body handling for non spherical bounds type.
Polyheder dynamic objects are now converted properly.
2004-04-16 06:26:33 +00:00
Kester Maddock
a96869198b Rigid body physics for non spherical bounding objects.
If your simulation becomes unstable, crank up the 'Form' control.

Removed Solid from class SumoPhysicsEnvironment (since it wasn't actually used.)
2004-04-14 05:57:24 +00:00
Kester Maddock
ae9233a5b0 1. Check material names passed to the physics engine (for collision sensors.)
Consider:
gameobj->getClientInfo()->m_auxilary_info = (matname ? (void*)(matname+2) : NULL);
It works if matname is "MAblah", but not if matname is "".

2. Added constructor for struct RAS_CameraData.
3. Added initializers to the struct KX_ClientObjectInfo constructor
4. Collision sensors won't detect near sensors.
5. A stack of minor tweaks, adjusting whitespace, using ++it for stl stuff.
2004-04-11 02:50:02 +00:00
Kester Maddock
0e9e6bdc72 Fix bug #1126: Ray sensor detects a near sensor attached to the same object and then goes into an endless loop trying to ignore it. 2004-04-09 03:48:17 +00:00
Kester Maddock
30c8bc33ef Fix SConscript for GamePlayer. 2004-04-08 12:10:09 +00:00
Kester Maddock
eede1399f3 Missed this one! :-( 2004-04-08 12:01:48 +00:00
Kester Maddock
27c7048b9f Don't import Blender python module into the gameengine. It causes link problems for blenderplayer.
Added a python function for MT_Vector4s
2004-04-08 11:43:41 +00:00
Kester Maddock
80485c2926 In NaN times I suggested a python function to get the subject of a
Message using a python function of the MessageSensor.

Thats a nice thing if you want complex message handling in one python
script. Just get all messages, check the subject and do what you
want. In the current situation you end up with several MessageSensors
connected to the python script, instead of one Sensor and a smart
script.

Some developer (cant remember who) did implement that function, but
however not the way I wanted (maybe I was not clear enough) ;-) So the
getSubject() function will return whats entered in the "Subject:"
filter field of the MessageSensor. Quite useless IMHO.

So I added a new function getSubjects() which is similar to
getBodies(), in fact I stole the code from there ;-)

I left the getSubject() alone, because of backward compatibility
(never saw someone using that function, but...)


The future:

In conjunction with a wildcard subject: filter field the getSubjects()
function will be even more usefull.

i.e. Player* will filter for PlayerScore, PlayerKill etc.

-- Carsten Wartmann
2004-04-08 11:36:22 +00:00
Kester Maddock
5398f1ba77 Added resolveCombinedVelocities()
Fixed drot actuator.  The rotation matrix was being mutilated by passing a float[9] instead of float[12].
2004-04-08 11:34:50 +00:00
Nathan Letwory
fc080d30d6 Added preliminary support for GamePlayer building with SCons. GPG_ghost and GPC_common are now being built. These will be built by setting BUILD_BLENDER_PLAYER to true in config.opts. BUILD_GAMEENGINE must be set to true, too. 2004-04-08 10:40:12 +00:00
Kester Maddock
164463e200 #define some constants for physics engines in DNA world types. 2004-04-03 00:04:44 +00:00
Kester Maddock
8e5fd5bba3 Added blender python module to game engine.
Updated Scons & Makefile
2004-04-02 13:21:04 +00:00