secured exec context for mdl's cfgs (and pre package auto-downloader work ?)
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6631 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
@@ -87,7 +87,7 @@ enum // function signatures for script functions, see command.cpp
|
||||
ARG_VARI
|
||||
};
|
||||
|
||||
enum { IEXC_CORE = 0, IEXC_CFG, IEXC_PROMPT, IEXC_MAPCFG, IEXC_NUM }; // script execution context
|
||||
enum { IEXC_CORE = 0, IEXC_CFG, IEXC_PROMPT, IEXC_MAPCFG, IEXC_MDLCFG, IEXC_NUM }; // script execution context
|
||||
|
||||
// nasty macros for registering script functions, abuses globals to avoid excessive infrastructure
|
||||
#define COMMANDN(name, fun, nargs) static bool __dummy_##fun = addcommand(#name, (void (*)())fun, nargs)
|
||||
|
||||
@@ -116,6 +116,7 @@ model *loadmodel(const char *name, int i)
|
||||
if(mm) m = *mm;
|
||||
else
|
||||
{
|
||||
pushscontext(IEXC_MDLCFG);
|
||||
m = new md2(name);
|
||||
loadingmodel = m;
|
||||
if(!m->load())
|
||||
@@ -127,9 +128,10 @@ model *loadmodel(const char *name, int i)
|
||||
{
|
||||
delete m;
|
||||
loadingmodel = NULL;
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
popscontext();
|
||||
if(!loadingmodel) return NULL;
|
||||
loadingmodel = NULL;
|
||||
mdllookup.access(m->name(), m);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user