Commit Graph

1769 Commits

Author SHA1 Message Date
Kester Maddock 657eff7ed7 Port stereo stuff from tuhopuu2: anaglyph, vinterlace 2004-10-24 11:03:18 +00:00
Nathan Letwory 6c8d048773 remove std:: to please msvc6 2004-10-16 18:50:23 +00:00
Kester Maddock 7b2567924b Switch fixed time system. Logic updates should now happen at 30Hz, physics at 60Hz. (By default, use Python to set.) Some actuators still run at framerate (IPO, Action) for nice smooth animation, and an excuse to buy high end hardware.
Keyboard sensors can now hook escape key.  Ctrl-Break can be used from within blender if you've forgotten an end game actuator.

Fixed a stupid bug preventing some actuators working (like TrackTo).
2004-10-16 11:41:50 +00:00
Kent Mein d5e1d1844a removed 3 unused vars.
Kent
2004-10-06 14:35:08 +00:00
Kester Maddock fd5f3e13d2 Convert and use actuators with no target object set.
Certain actuators (Add Object/Replace Mesh/Scene/Track To) used to always require a target, or they would not influence the scene.  If the actuator target is always set from Python, this could be annoying.
2004-09-19 01:33:08 +00:00
Kester Maddock 3d8a485fb9 Fixed PyObject_IsMT_Matrix 2004-09-18 06:03:15 +00:00
Kester Maddock 9bbc1e9c0a Clear the Python error flag between 'overloaded' Python methods. 2004-08-10 11:35:38 +00:00
Kester Maddock b453cd0715 Fix bug #1460: Camera IPOs Broken (Gameengine)
The camera IPO was not invalidating the cached projection matrix.
2004-07-22 00:26:34 +00:00
Kester Maddock b6e0899607 Added support for cameras in Blender's Ortho mode. 2004-07-20 12:07:06 +00:00
Kester Maddock baa2f99f07 Port Python updates from Tuhopuu2:
getType/setType to action/sound actuator (sgefant)
Use a more generic python -> math conversion.
2004-07-17 05:28:23 +00:00
Kester Maddock c9b4585618 Switch to using floats instead of shorts for normal data - they're supposed to be faster.
Also use shorts instead of ints for the index data, since index arrays are limited anyhow.
2004-06-30 13:41:19 +00:00
Kester Maddock 4c53f38756 Minor Fixes:
Better use of booleans for python
#include fixes for Windows
Python Doc fixes
Use the farthest vertex as the face position when z sorting faces. (Camera is on -z axis!)
2004-06-26 09:15:41 +00:00
Kester Maddock c16444e624 Python updates:
Added scene module
2004-06-07 11:03:12 +00:00
Kester Maddock b468bf726c Lighting updates:
Added specular after texture.
Added Light properties: Negative, No Diffuse, No Specular, Quad, Quad2
2004-06-07 11:01:31 +00:00
Kester Maddock 44f45894c2 Miscellaneous Fixes:
Add Python Mapping method to CListValue
Fix Bernoulli bool distribution python method for random actuator
Fix Python IpoActuator methods setProperty and force acts local
Make data objects private
Better sort method for polygon materials - much easier to understand
2004-06-04 03:00:13 +00:00
Kester Maddock d38329b5aa Added Python module for Lights.
Added attributes to the vertex class.
2004-05-30 11:09:46 +00:00
Kester Maddock b97c77df2b Check for zero normal vectors in the clip planes (if eg Python has set a strange projection matrix)
Fix the transformation of the frustum bound sphere to world coordinates.
2004-05-30 11:04:26 +00:00
Kester Maddock 8253d3e041 Python fixes:
Reenabled the setScript/getScript methods for python controller bricks.
Set the ray source point to MouseFocusSensor.getRaySource works.
Added: Python -> MT_Quaternion
MT_Matrix4x4, MT_Matrix3x3, MT_Vector3, MT_Point3 -> Python

Correct transform of frustum bound sphere centre point to world coordinates
2004-05-26 12:09:17 +00:00
Kester Maddock 3dd18c5c34 Added an UpdateTransform callback from SceneGraph -> Physics.
Profiling revealed that the SceneGraph updated every physics object, whether it moved or not, even though the physics object was at the right place.  This would cause SOLID to go and update its bounding boxes, overlap tests etc.
This callback handles the special case (parented objects) where the physics scene needs to be informed of changes to the scenegraph.

Added Python attributes (mass, parent, visible, position, orientation, scaling) to the KX_GameObject module.
Make KX_GameObject use the KX_PyMath Python <-> Moto conversion.
2004-05-26 12:06:41 +00:00
Kester Maddock e5cc9abceb Fix Bug #1309 Disabling Actor leaves Ghost, Dynamic and Rigid Body etc enabled.
Depth sorting for Transparent polygons.  Use ZTransp in Material buttons to enable.
This will cause an object's polygons to be sorted (back to front for alpha polygons, front to back for solid polygons.)
2004-05-26 12:01:08 +00:00
Kester Maddock 4551490dd4 near & far are reserved words on MSVC. Don't use them as variable names. 2004-05-21 14:09:18 +00:00
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 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 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 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 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
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 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
Kester Maddock 8e5fd5bba3 Added blender python module to game engine.
Updated Scons & Makefile
2004-04-02 13:21:04 +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
Michel Selten 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
Michel Selten 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
Michel Selten 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