Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Letwory <nathan@letworyinteractive.com>2004-03-23 01:02:18 +0300
committerNathan Letwory <nathan@letworyinteractive.com>2004-03-23 01:02:18 +0300
commit00291b5cf4a0f16ddca425b74ed30e8ac35d40e2 (patch)
tree952bb1c2f6fd8c2f34b950597ed0fa73a4ea7594 /source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
parent5b90aafbd6815e29343f8e9aba9e3e20f85b3cc0 (diff)
[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.
Diffstat (limited to 'source/gameengine/Ketsji/KX_MouseFocusSensor.cpp')
-rw-r--r--source/gameengine/Ketsji/KX_MouseFocusSensor.cpp35
1 files changed, 20 insertions, 15 deletions
diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
index c6f41265690..4e2a731c421 100644
--- a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
+++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
@@ -51,6 +51,11 @@
#include "KX_Camera.h"
#include "KX_MouseFocusSensor.h"
+#include "KX_ClientObjectInfo.h"
+#include "SM_Object.h"
+#include "SM_Scene.h"
+#include "SumoPhysicsEnvironment.h"
+
/* ------------------------------------------------------------------------- */
/* Native functions */
/* ------------------------------------------------------------------------- */
@@ -233,23 +238,23 @@ bool KX_MouseFocusSensor::ParentObjectHasFocus(void)
* ignore-object. We don't ignore anything... */
KX_GameObject* thisObj = (KX_GameObject*) GetParent();
-
- //SM_Object* hitSMObj = m_sumoScene->rayTest(NULL,
- // frompoint3,
- // topoint3,
- // resultpoint,
- // resultnormal);
-
- KX_GameObject* hitKXObj = 0;
+ SumoPhysicsEnvironment *spe = dynamic_cast<SumoPhysicsEnvironment* > (m_kxscene->GetPhysicsEnvironment());
+ SM_Scene *sumoScene = spe->GetSumoScene();
+
+ SM_Object* hitSMObj = sumoScene->rayTest(NULL,
+ frompoint3,
+ topoint3,
+ resultpoint,
+ resultnormal);
/* all this casting makes me nervous... */
- //SM_ClientObjectInfo* client_info
- // = ( hitSMObj ?
- // (SM_ClientObjectInfo*) ((SM_Object*)hitSMObj)->getClientObject() :
- // NULL);
- //KX_GameObject* hitKXObj = ( client_info ?
- // (KX_GameObject*)client_info->m_clientobject :
- // NULL);
+ KX_ClientObjectInfo* client_info
+ = ( hitSMObj ?
+ (KX_ClientObjectInfo*) ((SM_Object*)hitSMObj)->getClientObject() :
+ NULL);
+ KX_GameObject* hitKXObj = ( client_info ?
+ (KX_GameObject*)client_info->m_clientobject :
+ NULL);
/* Is this me? In the ray test, there are a lot of extra checks