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:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-22 00:13:12 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2011-10-22 00:13:12 +0400
commit10af15b85b743a18215a1fc58799264b5c798403 (patch)
tree5c93a43229f31a9befdd2582d3fe382390add2cf /source/gameengine
parent3c9d69744e0aca3ffe3ace103233679988769e91 (diff)
parentaba149189b7f0ee08765d2ef63a94080d02bdbf4 (diff)
Cycles: svn merge -r40934:41157 ^/trunk/blender
Diffstat (limited to 'source/gameengine')
-rw-r--r--source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp9
-rw-r--r--source/gameengine/Converter/BL_ArmatureObject.cpp2
-rw-r--r--source/gameengine/Converter/BL_BlenderDataConversion.cpp6
-rw-r--r--source/gameengine/Expressions/ConstExpr.cpp2
-rw-r--r--source/gameengine/GameLogic/CMakeLists.txt4
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp44
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_Joystick.h12
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp8
-rw-r--r--source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h4
-rw-r--r--source/gameengine/GameLogic/SCA_JoystickManager.cpp2
-rw-r--r--source/gameengine/GameLogic/SConscript3
-rw-r--r--source/gameengine/GamePlayer/ghost/GPG_ghost.cpp6
-rw-r--r--source/gameengine/Ketsji/BL_Action.cpp5
-rw-r--r--source/gameengine/Ketsji/CMakeLists.txt3
-rw-r--r--source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp2
-rw-r--r--source/gameengine/Ketsji/KX_KetsjiEngine.cpp10
-rw-r--r--source/gameengine/Ketsji/KX_MouseFocusSensor.cpp18
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.cpp6
-rw-r--r--source/gameengine/Ketsji/SConscript3
-rw-r--r--source/gameengine/Rasterizer/RAS_FramingManager.cpp2
20 files changed, 76 insertions, 75 deletions
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index ce542671425..af4df5035bb 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -360,7 +360,14 @@ extern "C" void StartKetsjiShell(struct bContext *C, struct ARegion *ar, rcti *c
ketsjiengine->SetCameraOverrideUseOrtho((rv3d->persp == RV3D_ORTHO));
ketsjiengine->SetCameraOverrideProjectionMatrix(MT_CmMatrix4x4(rv3d->winmat));
ketsjiengine->SetCameraOverrideViewMatrix(MT_CmMatrix4x4(rv3d->viewmat));
- ketsjiengine->SetCameraOverrideClipping(v3d->near, v3d->far);
+ if(rv3d->persp == RV3D_ORTHO)
+ {
+ ketsjiengine->SetCameraOverrideClipping(-v3d->far, v3d->far);
+ }
+ else
+ {
+ ketsjiengine->SetCameraOverrideClipping(v3d->near, v3d->far);
+ }
ketsjiengine->SetCameraOverrideLens(v3d->lens);
}
diff --git a/source/gameengine/Converter/BL_ArmatureObject.cpp b/source/gameengine/Converter/BL_ArmatureObject.cpp
index c5bf28b9b8d..43c9bd434c5 100644
--- a/source/gameengine/Converter/BL_ArmatureObject.cpp
+++ b/source/gameengine/Converter/BL_ArmatureObject.cpp
@@ -663,7 +663,7 @@ KX_PYMETHODDEF_DOC_NOARGS(BL_ArmatureObject, update,
"update()\n"
"Make sure that the armature will be updated on next graphic frame.\n"
"This is automatically done if a KX_ArmatureActuator with mode run is active\n"
- "or if an action is playing. This function is usefull in other cases.\n")
+ "or if an action is playing. This function is useful in other cases.\n")
{
SetActiveAction(NULL, 0, KX_GetActiveEngine()->GetFrameTime());
Py_RETURN_NONE;
diff --git a/source/gameengine/Converter/BL_BlenderDataConversion.cpp b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
index 8633a14de03..0f5176af60c 100644
--- a/source/gameengine/Converter/BL_BlenderDataConversion.cpp
+++ b/source/gameengine/Converter/BL_BlenderDataConversion.cpp
@@ -1590,15 +1590,15 @@ void BL_CreatePhysicsObjectNew(KX_GameObject* gameobj,
objprop.m_boundobject.box.m_extends[1]=2.f*bb.m_extends[1];
objprop.m_boundobject.box.m_extends[2]=2.f*bb.m_extends[2];
break;
- case OB_BOUND_POLYT:
+ case OB_BOUND_CONVEX_HULL:
if (blenderobject->type == OB_MESH)
{
objprop.m_boundclass = KX_BOUNDPOLYTOPE;
break;
}
- // Object is not a mesh... fall through OB_BOUND_POLYH to
+ // Object is not a mesh... fall through OB_BOUND_TRIANGLE_MESH to
// OB_BOUND_SPHERE
- case OB_BOUND_POLYH:
+ case OB_BOUND_TRIANGLE_MESH:
if (blenderobject->type == OB_MESH)
{
objprop.m_boundclass = KX_BOUNDMESH;
diff --git a/source/gameengine/Expressions/ConstExpr.cpp b/source/gameengine/Expressions/ConstExpr.cpp
index 8d5a47b2d0d..c41cf5a54f5 100644
--- a/source/gameengine/Expressions/ConstExpr.cpp
+++ b/source/gameengine/Expressions/ConstExpr.cpp
@@ -99,7 +99,7 @@ bool CConstExpr::NeedsRecalculated()
CExpression* CConstExpr::CheckLink(std::vector<CBrokenLinkInfo*>& brokenlinks)
{
-// parent checks if child is still usefull.
+// parent checks if child is still useful.
// When for example it's value it's deleted flag set
// then release Value, and return NULL in case of constexpression
// else return this...
diff --git a/source/gameengine/GameLogic/CMakeLists.txt b/source/gameengine/GameLogic/CMakeLists.txt
index bd417165337..9a57de60517 100644
--- a/source/gameengine/GameLogic/CMakeLists.txt
+++ b/source/gameengine/GameLogic/CMakeLists.txt
@@ -131,8 +131,8 @@ if(WITH_SDL)
list(APPEND INC_SYS
${SDL_INCLUDE_DIR}
)
-else()
- add_definitions(-DDISABLE_SDL)
+
+ add_definitions(-DWITH_SDL)
endif()
blender_add_lib(ge_logic "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
index 48ba09e67d2..0547d97285d 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
+++ b/source/gameengine/GameLogic/Joystick/SCA_Joystick.cpp
@@ -29,8 +29,8 @@
* \ingroup gamelogic
*/
-#ifndef DISABLE_SDL
-#include <SDL.h>
+#ifdef WITH_SDL
+# include <SDL.h>
#endif
#include <stdio.h>
@@ -57,7 +57,7 @@ SCA_Joystick::SCA_Joystick(short int index)
for(int i=0; i<JOYHAT_MAX; i++)
m_hat_array[i]= 0;
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
m_private = new PrivateData();
#endif
}
@@ -66,7 +66,7 @@ SCA_Joystick::SCA_Joystick(short int index)
SCA_Joystick::~SCA_Joystick()
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
delete m_private;
#endif
}
@@ -77,9 +77,9 @@ int SCA_Joystick::m_refCount = 0;
SCA_Joystick *SCA_Joystick::GetInstance( short int joyindex )
{
-#ifdef DISABLE_SDL
+#ifndef WITH_SDL
return NULL;
-#else
+#else /* WITH_SDL */
if (joyindex < 0 || joyindex >= JOYINDEX_MAX) {
echo("Error-invalid joystick index: " << joyindex);
return NULL;
@@ -107,14 +107,14 @@ SCA_Joystick *SCA_Joystick::GetInstance( short int joyindex )
m_refCount++;
}
return m_instance[joyindex];
-#endif
+#endif /* WITH_SDL */
}
void SCA_Joystick::ReleaseInstance()
{
if (--m_refCount == 0)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
int i;
for (i=0; i<JOYINDEX_MAX; i++) {
if (m_instance[i]) {
@@ -125,7 +125,7 @@ void SCA_Joystick::ReleaseInstance()
}
SDL_QuitSubSystem(SDL_INIT_JOYSTICK | SDL_INIT_VIDEO);
-#endif
+#endif /* WITH_SDL */
}
}
@@ -163,7 +163,7 @@ bool SCA_Joystick::aAxisIsPositive(int axis_single)
bool SCA_Joystick::aAnyButtonPressIsPositive(void)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
/* this is needed for the "all events" option
* so we know if there are no buttons pressed */
for (int i=0; i<m_buttonmax; i++)
@@ -175,7 +175,7 @@ bool SCA_Joystick::aAnyButtonPressIsPositive(void)
bool SCA_Joystick::aButtonPressIsPositive(int button)
{
-#ifdef DISABLE_SDL
+#ifndef WITH_SDL
return false;
#else
bool result;
@@ -187,7 +187,7 @@ bool SCA_Joystick::aButtonPressIsPositive(int button)
bool SCA_Joystick::aButtonReleaseIsPositive(int button)
{
-#ifdef DISABLE_SDL
+#ifndef WITH_SDL
return false;
#else
bool result;
@@ -221,11 +221,11 @@ int SCA_Joystick::GetNumberOfHats()
bool SCA_Joystick::CreateJoystickDevice(void)
{
-#ifdef DISABLE_SDL
+#ifndef WITH_SDL
m_isinit = true;
m_axismax = m_buttonmax = m_hatmax = 0;
return false;
-#else
+#else /* WITH_SDL */
if(m_isinit == false){
if (m_joyindex>=m_joynum) {
// don't print a message, because this is done anyway
@@ -257,13 +257,13 @@ bool SCA_Joystick::CreateJoystickDevice(void)
}
return true;
-#endif
+#endif /* WITH_SDL */
}
void SCA_Joystick::DestroyJoystickDevice(void)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
if (m_isinit){
if(SDL_JoystickOpened(m_joyindex)){
echo("Closing-joystick " << m_joyindex);
@@ -271,12 +271,12 @@ void SCA_Joystick::DestroyJoystickDevice(void)
}
m_isinit = false;
}
-#endif
+#endif /* WITH_SDL */
}
int SCA_Joystick::Connected(void)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
if (m_isinit && SDL_JoystickOpened(m_joyindex))
return 1;
#endif
@@ -285,7 +285,7 @@ int SCA_Joystick::Connected(void)
int SCA_Joystick::pGetAxis(int axisnum, int udlr)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
return m_axis_array[(axisnum*2)+udlr];
#endif
return 0;
@@ -293,7 +293,7 @@ int SCA_Joystick::pGetAxis(int axisnum, int udlr)
int SCA_Joystick::pAxisTest(int axisnum)
{
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
short i1= m_axis_array[(axisnum*2)];
short i2= m_axis_array[(axisnum*2)+1];
@@ -304,7 +304,7 @@ int SCA_Joystick::pAxisTest(int axisnum)
if (i2 < 0) i2 = -i2;
if (i1 <i2) return i2;
else return i1;
-#else
+#else /* WITH_SDL */
return 0;
-#endif
+#endif /* WITH_SDL */
}
diff --git a/source/gameengine/GameLogic/Joystick/SCA_Joystick.h b/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
index f371955ffc6..4e3e3ef656d 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
+++ b/source/gameengine/GameLogic/Joystick/SCA_Joystick.h
@@ -33,8 +33,8 @@
#define _SCA_JOYSTICK_H_
#include "SCA_JoystickDefines.h"
-#ifndef DISABLE_SDL
-#include "SDL.h"
+#ifdef WITH_SDL
+# include "SDL.h"
#endif
/**
@@ -52,7 +52,7 @@ class SCA_Joystick
static int m_refCount;
class PrivateData;
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
PrivateData *m_private;
#endif
int m_joyindex;
@@ -89,7 +89,7 @@ class SCA_Joystick
bool m_istrig_button;
bool m_istrig_hat;
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
/**
* event callbacks
*/
@@ -102,7 +102,7 @@ class SCA_Joystick
void OnBallMotion(SDL_Event *sdl_event){}
#endif
-#endif
+#endif /* WITH_SDL */
/**
* Open the joystick
*/
@@ -193,7 +193,7 @@ public:
*/
int Connected(void);
};
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
void Joystick_HandleEvents( void );
#endif
diff --git a/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp b/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
index b6e313aa6c2..e1ab364ae67 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
+++ b/source/gameengine/GameLogic/Joystick/SCA_JoystickEvents.cpp
@@ -29,15 +29,15 @@
* \ingroup gamelogic
*/
-#ifndef DISABLE_SDL
-#include <SDL.h>
+#ifdef WITH_SDL
+# include <SDL.h>
#endif
#include "SCA_Joystick.h"
#include "SCA_JoystickPrivate.h"
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
void SCA_Joystick::OnAxisMotion(SDL_Event* sdl_event)
{
if(sdl_event->jaxis.axis >= JOYAXIS_MAX)
@@ -125,4 +125,4 @@ void SCA_Joystick::HandleEvents(void)
}
}
}
-#endif
+#endif /* WITH_SDL */
diff --git a/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h b/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h
index 02dd8145bb7..472a7353190 100644
--- a/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h
+++ b/source/gameengine/GameLogic/Joystick/SCA_JoystickPrivate.h
@@ -33,7 +33,7 @@
#define __SCA_JOYSTICKPRIVATE_H__
#include "SCA_Joystick.h"
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
class SCA_Joystick::PrivateData
{
public:
@@ -47,6 +47,6 @@ public:
{
}
};
-#endif
+#endif /* WITH_SDL */
#endif
diff --git a/source/gameengine/GameLogic/SCA_JoystickManager.cpp b/source/gameengine/GameLogic/SCA_JoystickManager.cpp
index b61e4f4edca..2942384055b 100644
--- a/source/gameengine/GameLogic/SCA_JoystickManager.cpp
+++ b/source/gameengine/GameLogic/SCA_JoystickManager.cpp
@@ -65,7 +65,7 @@ void SCA_JoystickManager::NextFrame(double curtime,double deltatime)
}
else {
;
-#ifndef DISABLE_SDL
+#ifdef WITH_SDL
SCA_Joystick::HandleEvents(); /* Handle all SDL Joystick events */
#endif
SG_DList::iterator<SCA_JoystickSensor> it(m_sensors);
diff --git a/source/gameengine/GameLogic/SConscript b/source/gameengine/GameLogic/SConscript
index d6323882267..62bdbc29544 100644
--- a/source/gameengine/GameLogic/SConscript
+++ b/source/gameengine/GameLogic/SConscript
@@ -10,9 +10,8 @@ incs += ' #/source/gameengine/Rasterizer #/source/gameengine/SceneGraph'
defs = []
if env['WITH_BF_SDL']:
+ defs.append('WITH_SDL')
incs += ' ' + env['BF_SDL_INC']
-else:
- defs.append('DISABLE_SDL')
if env['WITH_BF_PYTHON']:
incs += ' ' + env['BF_PYTHON_INC']
diff --git a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
index f5bd3a91c26..ea17b9adcfd 100644
--- a/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
+++ b/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
@@ -309,7 +309,7 @@ static void get_filename(int argc, char **argv, char *filename)
#endif // !_APPLE
}
-static BlendFileData *load_game_data(char *progname, char *filename = NULL, char *relativename = NULL)
+static BlendFileData *load_game_data(const char *progname, char *filename = NULL, char *relativename = NULL)
{
ReportList reports;
BlendFileData *bfd = NULL;
@@ -321,7 +321,7 @@ static BlendFileData *load_game_data(char *progname, char *filename = NULL, char
bfd= BLO_read_runtime(progname, &reports);
if (bfd) {
bfd->type= BLENFILETYPE_RUNTIME;
- strcpy(bfd->main->name, progname);
+ BLI_strncpy(bfd->main->name, progname, sizeof(bfd->main->name));
}
} else {
bfd= BLO_read_from_file(progname, &reports);
@@ -766,7 +766,7 @@ int main(int argc, char** argv)
char basedpath[240];
// base the actuator filename relative to the last file
- strcpy(basedpath, exitstring.Ptr());
+ BLI_strncpy(basedpath, exitstring.Ptr(), sizeof(basedpath));
BLI_path_abs(basedpath, pathname);
bfd = load_game_data(basedpath);
diff --git a/source/gameengine/Ketsji/BL_Action.cpp b/source/gameengine/Ketsji/BL_Action.cpp
index 08794042e37..9e8f53ad219 100644
--- a/source/gameengine/Ketsji/BL_Action.cpp
+++ b/source/gameengine/Ketsji/BL_Action.cpp
@@ -361,9 +361,6 @@ void BL_Action::Update(float curtime)
break;
}
-
- if (!m_done)
- InitIPO();
}
if (m_obj->GetGameObjectType() == SCA_IObject::OBJ_ARMATURE)
@@ -446,8 +443,6 @@ void BL_Action::Update(float curtime)
obj->SetActiveAction(NULL, 0, curtime);
}
-
- InitIPO();
m_obj->UpdateIPO(m_localtime, m_ipo_flags & ACT_IPOFLAG_CHILD);
}
}
diff --git a/source/gameengine/Ketsji/CMakeLists.txt b/source/gameengine/Ketsji/CMakeLists.txt
index 9d8b1781869..329ac890cd2 100644
--- a/source/gameengine/Ketsji/CMakeLists.txt
+++ b/source/gameengine/Ketsji/CMakeLists.txt
@@ -225,8 +225,7 @@ if(WITH_SDL)
list(APPEND INC_SYS
${SDL_INCLUDE_DIR}
)
-else()
- add_definitions(-DDISABLE_SDL)
+ add_definitions(-DWITH_SDL)
endif()
if(WITH_CODEC_FFMPEG)
diff --git a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
index a795a4eddc6..7e496136ce2 100644
--- a/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
+++ b/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.cpp
@@ -146,7 +146,7 @@ bool KX_NetworkMessageSensor::Evaluate()
// Return always true if a message was received otherwise we can loose messages
if (m_IsUp)
return true;
- // Is it usefull to return also true when the first frame without a message??
+ // Is it useful to return also true when the first frame without a message??
// This will cause a fast on/off cycle that seems useless!
return result;
}
diff --git a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
index 8e6126bb173..afc3bf2b53d 100644
--- a/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
+++ b/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
@@ -1400,8 +1400,14 @@ void KX_KetsjiEngine::PostProcessScene(KX_Scene* scene)
KX_Camera* activecam = NULL;
RAS_CameraData camdata = RAS_CameraData();
- if (override_camera) camdata.m_lens = m_overrideCamLens;
-
+ if (override_camera)
+ {
+ camdata.m_lens = m_overrideCamLens;
+ camdata.m_clipstart = m_overrideCamNear;
+ camdata.m_clipend = m_overrideCamFar;
+
+ camdata.m_perspective= !m_overrideCamUseOrtho;
+ }
activecam = new KX_Camera(scene,KX_Scene::m_callbacks,camdata);
activecam->SetName("__default__cam__");
diff --git a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
index 34f5c26415d..e1978263a12 100644
--- a/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
+++ b/source/gameengine/Ketsji/KX_MouseFocusSensor.cpp
@@ -240,29 +240,23 @@ bool KX_MouseFocusSensor::ParentObjectHasFocusCamera(KX_Camera *cam)
/* build the from and to point in normalized device coordinates
- * Looks like normailized device coordinates are [-1,1] in x [-1,1] in y
- * [0,-1] in z
+ * Normalized device coordinates are [-1,1] in x, y, z
*
* The actual z coordinates used don't have to be exact just infront and
* behind of the near and far clip planes.
*/
frompoint.setValue( (2 * (m_x-x_lb) / width) - 1.0,
1.0 - (2 * (m_y_inv - y_lb) / height),
- /*cam->GetCameraData()->m_perspective ? 0.0:cdata->m_clipstart,*/ /* real clipstart is scaled in ortho for some reason, zero is ok */
- 0.0, /* nearclip, see above comments */
+ -1.0,
1.0 );
topoint.setValue( (2 * (m_x-x_lb) / width) - 1.0,
1.0 - (2 * (m_y_inv-y_lb) / height),
- cam->GetCameraData()->m_perspective ? 1.0:cam->GetCameraData()->m_clipend, /* farclip, see above comments */
+ 1.0,
1.0 );
-
- /* camera to world */
- MT_Transform wcs_camcs_tranform = cam->GetWorldToCamera();
- MT_Transform cams_wcs_transform;
- cams_wcs_transform.invert(wcs_camcs_tranform);
- MT_Matrix4x4 camcs_wcs_matrix = MT_Matrix4x4(cams_wcs_transform);
+ /* camera to world */
+ MT_Matrix4x4 camcs_wcs_matrix = MT_Matrix4x4(cam->GetCameraToWorld());
/* badly defined, the first time round.... I wonder why... I might
* want to guard against floating point errors here.*/
@@ -272,6 +266,8 @@ bool KX_MouseFocusSensor::ParentObjectHasFocusCamera(KX_Camera *cam)
/* shoot-points: clip to cam to wcs . win to clip was already done.*/
frompoint = clip_camcs_matrix * frompoint;
topoint = clip_camcs_matrix * topoint;
+ /* clipstart = - (frompoint[2] / frompoint[3])
+ * clipend = - (topoint[2] / topoint[3]) */
frompoint = camcs_wcs_matrix * frompoint;
topoint = camcs_wcs_matrix * topoint;
diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp
index 62ca2910c60..e86831b9323 100644
--- a/source/gameengine/Ketsji/KX_PythonInit.cpp
+++ b/source/gameengine/Ketsji/KX_PythonInit.cpp
@@ -502,7 +502,7 @@ static PyObject* gPyGetBlendFileList(PyObject*, PyObject* args)
BLI_path_abs(cpath, gp_GamePythonPath);
} else {
/* Get the dir only */
- BLI_split_dirfile(gp_GamePythonPath, cpath, NULL);
+ BLI_split_dirfile(gp_GamePythonPath, cpath, NULL, sizeof(cpath), 0);
}
if((dp = opendir(cpath)) == NULL) {
@@ -1732,7 +1732,7 @@ static void initPySysObjects__append(PyObject *sys_path, char *filename)
PyObject *item;
char expanded[FILE_MAXDIR + FILE_MAXFILE];
- BLI_split_dirfile(filename, expanded, NULL); /* get the dir part of filename only */
+ BLI_split_dirfile(filename, expanded, NULL, sizeof(expanded), 0); /* get the dir part of filename only */
BLI_path_abs(expanded, gp_GamePythonPath); /* filename from lib->filename is (always?) absolute, so this may not be needed but it wont hurt */
BLI_cleanup_file(gp_GamePythonPath, expanded); /* Dont use BLI_cleanup_dir because it adds a slash - BREAKS WIN32 ONLY */
item= PyUnicode_DecodeFSDefault(expanded);
@@ -1816,7 +1816,7 @@ PyObject* initGamePlayerPythonScripting(const STR_String& progname, TPythonSecur
/* Yet another gotcha in the py api
* Cant run PySys_SetArgv more then once because this adds the
* binary dir to the sys.path each time.
- * Id have thaught python being totally restarted would make this ok but
+ * Id have thought python being totally restarted would make this ok but
* somehow it remembers the sys.path - Campbell
*/
static bool first_time = true;
diff --git a/source/gameengine/Ketsji/SConscript b/source/gameengine/Ketsji/SConscript
index 9b453ed76d5..064f09df9f3 100644
--- a/source/gameengine/Ketsji/SConscript
+++ b/source/gameengine/Ketsji/SConscript
@@ -27,8 +27,7 @@ incs += ' ' + env['BF_OPENGL_INC']
if env['WITH_BF_SDL']:
incs += ' ' + env['BF_SDL_INC']
-else:
- defs.append('DISABLE_SDL')
+ defs.append('WITH_SDL')
if env['WITH_BF_PYTHON']:
incs += ' ' + env['BF_PYTHON_INC']
diff --git a/source/gameengine/Rasterizer/RAS_FramingManager.cpp b/source/gameengine/Rasterizer/RAS_FramingManager.cpp
index edacd1dd0f1..6ca402691cb 100644
--- a/source/gameengine/Rasterizer/RAS_FramingManager.cpp
+++ b/source/gameengine/Rasterizer/RAS_FramingManager.cpp
@@ -99,7 +99,7 @@ ComputeDefaultOrtho(
frustum.x1 = -frustum.x2;
frustum.y2 = sizeY;
frustum.y1 = -frustum.y2;
- frustum.camnear = -camfar;
+ frustum.camnear = camnear;
frustum.camfar = camfar;
}