Commit Graph

3138 Commits

Author SHA1 Message Date
d162882e3a Frustum culling
New Python Hooks for cameras.
2004-05-16 12:53:22 +00:00
3b63bbe90c Don't touch protected KX_GameObject members.
Protect KX_GameObject - Py_Header unprotects!
2004-05-16 12:52:54 +00:00
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
5659bedf34 Don't increment tface if tface == NULL
Generate bounding boxes for frustum culling
2004-05-16 12:52:08 +00:00
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
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
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
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
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
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
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
d7e6a3dd47 Fix blenderplayer unable to load .blend files (only runtimes!) 2004-04-29 10:51:02 +00:00
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
5df9926f49 Fix MouseFocus Sensor objects for dynamic cameras. (Bug 1165) 2004-04-26 07:19:18 +00:00
63048b6cf4 Synchronise game engine with Tuhopuu2 tree. 2004-04-24 06:40:15 +00:00
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
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
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
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
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
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
30c8bc33ef Fix SConscript for GamePlayer. 2004-04-08 12:10:09 +00:00
eede1399f3 Missed this one! :-( 2004-04-08 12:01:48 +00:00
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
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
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
164463e200 #define some constants for physics engines in DNA world types. 2004-04-03 00:04:44 +00:00
8e5fd5bba3 Added blender python module to game engine.
Updated Scons & Makefile
2004-04-02 13:21:04 +00:00
51830fa0e2 Speed up the physics engine by cutting down on the number of fix pass iterations. 2004-04-02 12:35:48 +00:00
fd470d9623 * Only load needed extensions (ie none.)
* Fix bug in version query.
* First commit!
2004-03-31 12:20:02 +00:00
Nathan Letwory
00291b5cf4 [GameEngine] Commit all Kester's changes made to the gameengine to restore 2.25 like physics.
[SCons] Build with Solid as default when enabling the gameengine in the build process
[SCons] Build solid and qhull from the extern directory and link statically against them

That was about it.

There are a few things that needs double checking:

* Makefiles
* Projectfiles
* All the other systems than Linux and Windows on which the build (with scons) has been successfully tested.
2004-03-22 22:02:18 +00:00
Chris Want
5b90aafbd6 Added 2 options to the Makefiles (enable in environment, user-def.mk,
or whatever):

NAN_NO_KETSJI: when set to true, disables compilation of the game engine.
NAN_JUST_BLENDERDYNAMIC: when set to true, only dynamic executable is
build (i.e., no plugin, etc).

Note that NAN_NO_KETSJI implies NAN_JUST_BLENDERDYNAMIC.
2004-03-21 19:59:51 +00:00
aedf456938 - split the data structures that actually constitute a mesh
(MVert,MFace,etc) off into DNA_meshdata_types.h, to isolate areas
    of source that actually edit mesh *data* vs. areas that just edit
    mesh object information.
2004-03-20 22:55:42 +00:00
Chris Want
a91ef3f4e1 Change an AUTOSPACE to ME_AUTOSPACE to comply with the new naming
convention.
2004-03-14 19:19:58 +00:00
70a4ead0ae SCons updates
* Blender static now links. By default this option is disabled on all
  platforms. Simply set the option in config.opts to 'true'.
* Added the following flags to config.opts:
  - HOST_CC.    This is the C compiler for the host platform. This value is the
                same as TARGET_CC when not cross compiling.
  - HOST_CXX.   This is the C++ compiler for the host platform. This value is
                the same as TARGET_CXX when not cross compiling.
  - TARGET_CC.  This is the C compiler for the target platform.
  - TARGET_CXX. This is the C++ compiler for the target platform.
  - TARGET_AR.  This is the linker command for linking libraries.
  - PATH        This is the standard search path
  All SConscript files have been updated to reflect these changes. Now it's
  possible to change only the root SConstruct file, and all compiler specific
  variables are passed automatically to all SConscript files. Of course, this
  does not apply to makesdna because there the host and target platform is
  different from all other libraries.
  To pass a variable that applies to all platforms, all we now have to do is
  set the correct value in library_env


Note: as usual, to get the latest options in the config.opts file, first
      remove your version.
2004-02-29 21:40:48 +00:00
2b2e272829 some more warnings cleared up from Solaris compiler.
(extra commas in enum declarations.)

Kent
2004-02-23 18:46:19 +00:00
e1ab3cf480 SCons updates
* Game engine can now be build on Linux. By default this feature is disabled.
  The reason is that you need to have a precompiled version of the ode library
  for your gcc version.
  To enable ode support you need to do the following:
  - compile ode.
  - set BUILD_GAMEENGINE = 'true' in the config.opts file.
  - set USE_PHYSICS='ode' in the config.opts file.
  - set the ODE_INCLUDE and ODE_LIBPATH to valid locations.

* Linking order has changed for the game engine
  There are cyclic dependencies between libraries. On linux we have to do some
  duplicate linking. I looked at the order of linking in source/Makefile, and
  did some clean up.
2004-02-22 19:01:12 +00:00
Nathan Letwory
e579793652 - [win32] updated SConscripts to use new configuration method (config.opts).
NOTE: ODE support needs still to be reviewed, so disable gameengine for now.
2004-02-21 19:00:31 +00:00
9e238d385d SCons updates
* Almost all library settings are now available in the config.opts user option
  file.
* All platform variables had to be updated to make this possible. Things are
  much clearer now, but I only was able to test the changes on Linux. I've
  tried to update all other platform variables, but things are most likely to
  be broken. Please contact me how to resolve the issues.


Note: Before running scons, remove your existing config.opts file to get all
      new options.
2004-02-21 15:13:15 +00:00
9330e553e8 SCons updates
* libraries are now generated in [BUILD_DIR]/lib
* passed the user_options to all libraries now.
  This means I could remove a couple of Export/Import lines.
* Changed the order in source/blender/src/SConscript and
  source/gameengine/SConscript.
  All libraries are now sorted alphabetically. This has no impact on the build
  process.
2004-02-15 19:25:32 +00:00
2883110a54 SCons updates: (All done by jesterKing)
* Windows .exe file now includes the blender icon.
* Builds with game engine on Windows only.
  I tried building the game engine on Linux, but I get weird errors when
  building with ode. There's a dirty #include path in
  Physics/BlOde/OdePhysicsEnvironment.cpp (../ode/src/joint.h). gcc doesn't
  like this somehow.
* Other platforms need to add a couple of flags to the SConstruct:
  use_sumo, use_ode, solid_include and ode_include
2004-01-20 20:28:39 +00:00
57a7dfe5a5 - Revert to NaN makefiles 2004-01-05 00:06:11 +00:00
eff07b8329 Basic initial yafray integration by Eeshlo.
Materials are exported the best we can do by now. It will look almost as in
blender except for the missing procedural textures and some minor issues.
You have to tweak normal modulation amount to get the desired result cause
is not the same in yafray.

We added a panel in render space to adjust some yafray settings (GI and so)

Also we export transparency and reflection using new raytracing settings,
but that will be changed and improved soon.

Remember that you have to set YFexport path in user defaults and yafray must
be on path (version 0.0.6)

We added the "yafray" button to activate all this stuff in the render window.
Panel and settings are only shown when checked.

So now when activated the code calls yafray export instead of the internal
renderer and finally the resulting image is loaded back into render window's
buffer. So animation is also possible and results can be saved using blender
usual scheme.
2004-01-04 22:10:36 +00:00
Chris Want
9bc012f97c A fix for the missing pad1 bug: henceforth, world->pad1 shall be known as
world->gameEngine (a la tuhopuu).
2003-12-31 04:00:26 +00:00
ffabbbea8d Nathan Letwory's patch for bug #424 const errors kept MSVC7 projectfiles from compiling. 2003-12-01 15:01:20 +00:00
Chris Want
b92e99d0a8 In ODE, a dVector3 is really a 4D array ... the 3D initialization
used in this file caused the MipsPro 7.4 compiler to choke
... please test on all platforms!
2003-08-23 19:09:52 +00:00
abede3ca04 A little more cleanup, removed a bunch of unused vars in the code.
Trying to get rid of some of the extra warnings we can ignore ;)

Kent
2003-08-14 15:18:45 +00:00