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
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2009-06-01 16:36:22 +0400
committerCampbell Barton <ideasman42@gmail.com>2009-06-01 16:36:22 +0400
commit617b45256ad9b6fca2e7fa2ff0a016b73ce31c7a (patch)
tree57ac81adefc9e60f9e48ce21d64204b02b219662 /source
parent358ec00256bd91f29e14620f1c898f7e9e8e8305 (diff)
BGE Blendfile path bug (use for loading and saving the GameLogic.globalDict)
the original blendfile path wasn't reset when loading new blendfiles. blenderplayer was ok, but running the BGE from blender would set the blendfile original path and never reset it on loading other blend files.
Diffstat (limited to 'source')
-rw-r--r--source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp1
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.cpp7
-rw-r--r--source/gameengine/Ketsji/KX_PythonInit.h1
3 files changed, 9 insertions, 0 deletions
diff --git a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
index 0e0377a7cb9..c3ff923b8fb 100644
--- a/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
+++ b/source/gameengine/BlenderRoutines/BL_KetsjiEmbedStart.cpp
@@ -118,6 +118,7 @@ extern "C" void StartKetsjiShell(struct ScrArea *area,
BLI_strncpy(pathname, blenderdata->name, sizeof(pathname));
BLI_strncpy(oldsce, G.sce, sizeof(oldsce));
+ resetGamePythonPath(); // need this so running a second time wont use an old blendfiles path
setGamePythonPath(G.sce);
// Acquire Python's GIL (global interpreter lock)
diff --git a/source/gameengine/Ketsji/KX_PythonInit.cpp b/source/gameengine/Ketsji/KX_PythonInit.cpp
index 3294789249d..20009b7b846 100644
--- a/source/gameengine/Ketsji/KX_PythonInit.cpp
+++ b/source/gameengine/Ketsji/KX_PythonInit.cpp
@@ -2093,3 +2093,10 @@ void setGamePythonPath(char *path)
BLI_strncpy(gp_GamePythonPathOrig, path, sizeof(gp_GamePythonPathOrig));
}
+// we need this so while blender is open (not blenderplayer)
+// loading new blendfiles will reset this on starting the
+// engine but loading blend files within the BGE wont overwrite gp_GamePythonPathOrig
+void resetGamePythonPath()
+{
+ gp_GamePythonPathOrig[0] == '\0';
+}
diff --git a/source/gameengine/Ketsji/KX_PythonInit.h b/source/gameengine/Ketsji/KX_PythonInit.h
index 3253ac8f711..8f102d13a18 100644
--- a/source/gameengine/Ketsji/KX_PythonInit.h
+++ b/source/gameengine/Ketsji/KX_PythonInit.h
@@ -53,6 +53,7 @@ PyObject* initGamePythonScripting(const STR_String& progname, TPythonSecurityLev
void exitGamePythonScripting();
void setGamePythonPath(char *path);
+void resetGamePythonPath();
void pathGamePythonConfig( char *path );
int saveGamePythonConfig( char **marshal_buffer);
int loadGamePythonConfig(char *marshal_buffer, int marshal_length);