From: Laszlo T. <ave...@us...> - 2010-07-31 20:11:51
|
gemrb: Infinity Engine emulator The branch master has been updated via dea539b0d2d52879da56da2900d1e63e4205660c (commit) Summary of changes: gemrb/GUIScripts/include.py | 2 ++ gemrb/plugins/GUIScript/GUIScript.cpp | 28 +++++++++++++++++++++++++++- 2 files changed, 29 insertions(+), 1 deletions(-) create mode 100644 gemrb/GUIScripts/include.py from 0098e3044dcb3b7eda8d2b7ca44fca83aa1984b8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://gemrb.git.sourceforge.net/git/gitweb.cgi?p=gemrb/gemrb;a=commitdiff;h=dea539b0d2d52879da56da2900d1e63e4205660c commit dea539b0d2d52879da56da2900d1e63e4205660c Author: Avenger <ave...@so...> Date: Sat Jul 31 22:10:07 2010 +0200 added an include file to be executed before every console command now you can use console commands like: SetPlayerStat(1,IE_XP,1000) diff --git a/gemrb/GUIScripts/include.py b/gemrb/GUIScripts/include.py new file mode 100644 index 0000000..b1b2017 --- /dev/null +++ b/gemrb/GUIScripts/include.py @@ -0,0 +1,2 @@ +#this file is executed before every Console command +from ie_stats import * diff --git a/gemrb/plugins/GUIScript/GUIScript.cpp b/gemrb/plugins/GUIScript/GUIScript.cpp index 2f69721..00e4163 100644 --- a/gemrb/plugins/GUIScript/GUIScript.cpp +++ b/gemrb/plugins/GUIScript/GUIScript.cpp @@ -9785,7 +9785,33 @@ bool GUIScript::RunFunction(const char *ModuleName, const char* FunctionName, bo /** Exec a single String */ void GUIScript::ExecString(const char* string) { - if (PyRun_SimpleString( (char *) string ) == -1) { + char *buffer; + char include[_MAX_PATH]; + FileStream fs; + + PathJoin(include, core->GUIScriptsPath, "GUIScripts/include.py", NULL); + + int len1 = 0; + int len2 = strlen(string)+1; + if (fs.Open( include, true )) { + len1 = fs.Remains(); + if (len1<0) len1=0; + } + + buffer = (char *) malloc(len1+len2); + if (!buffer) { + return; + } + + if (len1) { + len1 = fs.Read(buffer, len1); + if (len1==GEM_ERROR) len1=0; + } + memcpy(buffer+len1, string, len2); + + int ret = PyRun_SimpleString( (char *) buffer ); + free(buffer); + if (ret == -1) { if (PyErr_Occurred()) { PyErr_Print(); } ----------------------------------------------------------------------- This is an automated email from the git hooks/post-receive script. -- gemrb: Infinity Engine emulator |