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.
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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';
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user