forked from Mirrors/openclonk
Move Game.ScriptEngine to ::ScriptEngine
parent
33eb6079ab
commit
0cbfee4e4a
|
@ -580,4 +580,5 @@ class C4AulScriptEngine : public C4AulScript
|
|||
friend class C4AulParseState;
|
||||
};
|
||||
|
||||
extern C4AulScriptEngine ScriptEngine;
|
||||
#endif
|
||||
|
|
|
@ -107,7 +107,6 @@ class C4Game
|
|||
C4ComponentHost Title;
|
||||
C4ComponentHost Names;
|
||||
C4ComponentHost GameText;
|
||||
C4AulScriptEngine ScriptEngine;
|
||||
C4GameScriptHost Script;
|
||||
C4LangStringTable MainSysLangStringTable, ScenarioLangStringTable, ScenarioSysLangStringTable;
|
||||
C4MassMoverSet MassMover;
|
||||
|
|
|
@ -613,3 +613,5 @@ void C4AulFuncMap::Remove(C4AulFunc * func)
|
|||
*pFunc = (*pFunc)->MapNext;
|
||||
--FuncCnt;
|
||||
}
|
||||
|
||||
C4AulScriptEngine ScriptEngine;
|
||||
|
|
|
@ -375,10 +375,10 @@ C4Value C4AulExec::Exec(C4AulBCC *pCPos, bool fPassErrors)
|
|||
break;
|
||||
|
||||
case AB_GLOBALN_R:
|
||||
PushValueRef(*Game.ScriptEngine.GlobalNamed.GetItem(pCPos->Par.i));
|
||||
PushValueRef(*::ScriptEngine.GlobalNamed.GetItem(pCPos->Par.i));
|
||||
break;
|
||||
case AB_GLOBALN_V:
|
||||
PushValue(*Game.ScriptEngine.GlobalNamed.GetItem(pCPos->Par.i));
|
||||
PushValue(*::ScriptEngine.GlobalNamed.GetItem(pCPos->Par.i));
|
||||
break;
|
||||
// prefix
|
||||
case AB_Inc1: // ++
|
||||
|
|
|
@ -211,7 +211,7 @@ void C4AulScript::Warn(const char *pMsg, const char *pIdtf)
|
|||
// display it
|
||||
warning.show();
|
||||
// count warnings
|
||||
++Game.ScriptEngine.warnCnt;
|
||||
++::ScriptEngine.warnCnt;
|
||||
}
|
||||
|
||||
void C4AulParseState::Warn(const char *pMsg, const char *pIdtf)
|
||||
|
@ -220,7 +220,7 @@ void C4AulParseState::Warn(const char *pMsg, const char *pIdtf)
|
|||
if (Fn && !Fn->Owner->Def && Fn->Owner->Appends) return;
|
||||
// script doesn't own function -> skip
|
||||
// (exception: global functions)
|
||||
//if(pFunc) if(pFunc->pOrgScript != pScript && pScript != (C4AulScript *)&Game.ScriptEngine) return;
|
||||
//if(pFunc) if(pFunc->pOrgScript != pScript && pScript != (C4AulScript *)&::ScriptEngine) return;
|
||||
// display error
|
||||
|
||||
C4AulParseError warning(this, pMsg, pIdtf, TRUE);
|
||||
|
@ -229,7 +229,7 @@ void C4AulParseState::Warn(const char *pMsg, const char *pIdtf)
|
|||
if (Fn && Fn->pOrgScript != a)
|
||||
DebugLogF(" (as #appendto/#include to %s)", Fn->Owner->ScriptName.getData());
|
||||
// count warnings
|
||||
++Game.ScriptEngine.warnCnt;
|
||||
++::ScriptEngine.warnCnt;
|
||||
}
|
||||
|
||||
void C4AulParseState::StrictError(const char *pMsg, const char *pIdtf)
|
||||
|
@ -1890,7 +1890,7 @@ void C4AulParseState::Parse_Statement()
|
|||
else if(a->LocalNamed.GetItemNr(Idtf) != -1)
|
||||
{
|
||||
// global func?
|
||||
if(Fn->Owner == &Game.ScriptEngine)
|
||||
if(Fn->Owner == &::ScriptEngine)
|
||||
throw new C4AulParseError(this, "using local variable in global function!");
|
||||
// insert variable by id
|
||||
Parse_Expression();
|
||||
|
@ -2096,7 +2096,7 @@ void C4AulParseState::Parse_Statement()
|
|||
FoundFn = Fn->OwnerOverloaded;
|
||||
else
|
||||
// get regular function
|
||||
if(Fn->Owner == &Game.ScriptEngine)
|
||||
if(Fn->Owner == &::ScriptEngine)
|
||||
FoundFn = a->Owner->GetFuncRecursive(Idtf);
|
||||
else
|
||||
FoundFn = a->GetFuncRecursive(Idtf);
|
||||
|
@ -2524,7 +2524,7 @@ void C4AulParseState::Parse_Expression(int iParentPrio)
|
|||
else if(a->LocalNamed.GetItemNr(Idtf) != -1)
|
||||
{
|
||||
// global func?
|
||||
if(Fn->Owner == &Game.ScriptEngine)
|
||||
if(Fn->Owner == &::ScriptEngine)
|
||||
throw new C4AulParseError(this, "using local variable in global function!");
|
||||
// insert variable by id
|
||||
AddBCC(AB_LOCALN_R, a->LocalNamed.GetItemNr(Idtf));
|
||||
|
@ -2608,7 +2608,7 @@ void C4AulParseState::Parse_Expression(int iParentPrio)
|
|||
{
|
||||
C4AulFunc *FoundFn;
|
||||
// get regular function
|
||||
if(Fn->Owner == &Game.ScriptEngine)
|
||||
if(Fn->Owner == &::ScriptEngine)
|
||||
FoundFn = Fn->Owner->GetFuncRecursive(Idtf);
|
||||
else
|
||||
FoundFn = a->GetFuncRecursive(Idtf);
|
||||
|
@ -2909,7 +2909,7 @@ void C4AulParseState::Parse_Expression2(int iParentPrio)
|
|||
}
|
||||
if (Type == PARSER)
|
||||
{
|
||||
pName = Game.ScriptEngine.Strings.RegString(Idtf);
|
||||
pName = ::ScriptEngine.Strings.RegString(Idtf);
|
||||
}
|
||||
// add call chunk
|
||||
Shift();
|
||||
|
@ -3164,7 +3164,7 @@ BOOL C4AulScript::Parse()
|
|||
if (Fn->pOrgScript != this)
|
||||
DebugLogF(" (as #appendto/#include to %s)", Fn->Owner->ScriptName.getData());
|
||||
// and count (visible only ;) )
|
||||
++Game.ScriptEngine.errCnt;
|
||||
++::ScriptEngine.errCnt;
|
||||
}
|
||||
delete err;
|
||||
// make all jumps that don't have their destination yet jump here
|
||||
|
|
|
@ -2298,7 +2298,7 @@ void C4Command::CompileFunc(StdCompiler *pComp)
|
|||
if(TextBuf == "0")
|
||||
{ Text = NULL; }
|
||||
else
|
||||
{ Text = Game.ScriptEngine.Strings.RegString(TextBuf); Text->IncRef(); }
|
||||
{ Text = ::ScriptEngine.Strings.RegString(TextBuf); Text->IncRef(); }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1339,7 +1339,7 @@ void C4Console::EditScript()
|
|||
{
|
||||
if (::Network.isEnabled()) return;
|
||||
Game.Script.Open();
|
||||
Game.ScriptEngine.ReLink(&Game.Defs);
|
||||
::ScriptEngine.ReLink(&Game.Defs);
|
||||
}
|
||||
|
||||
void C4Console::EditInfo()
|
||||
|
@ -1380,7 +1380,7 @@ void C4Console::UpdateInputCtrl()
|
|||
gtk_list_store_clear(store);
|
||||
#endif // WITH_DEVELOPER_MODE / _WIN32
|
||||
// add global and standard functions
|
||||
for (C4AulFunc *pFn = Game.ScriptEngine.GetFirstFunc(); pFn; pFn = Game.ScriptEngine.GetNextFunc(pFn))
|
||||
for (C4AulFunc *pFn = ::ScriptEngine.GetFirstFunc(); pFn; pFn = ::ScriptEngine.GetNextFunc(pFn))
|
||||
if (pFn->GetPublic())
|
||||
{
|
||||
#ifdef _WIN32
|
||||
|
|
|
@ -270,12 +270,12 @@ void C4ControlScript::Execute() const
|
|||
if (iTargetObj == SCOPE_Console)
|
||||
pScript = &Game.Script;
|
||||
else if (iTargetObj == SCOPE_Global)
|
||||
pScript = &Game.ScriptEngine;
|
||||
pScript = &::ScriptEngine;
|
||||
else if (pObj = Game.Objects.SafeObjectPointer(iTargetObj))
|
||||
pScript = &(pObj->Def->Script);
|
||||
else
|
||||
// default: Fallback to global context
|
||||
pScript = &Game.ScriptEngine;
|
||||
pScript = &::ScriptEngine;
|
||||
C4Value rVal(pScript->DirectExec(pObj, szScript, "console script"));
|
||||
// show messages
|
||||
if (!fInternal)
|
||||
|
|
|
@ -704,7 +704,7 @@ BOOL C4Def::Load(C4Group &hGroup,
|
|||
if (dwLoadWhat & C4D_Load_Script)
|
||||
{
|
||||
// reg script to engine
|
||||
Script.Reg2List(&Game.ScriptEngine, &Game.ScriptEngine);
|
||||
Script.Reg2List(&::ScriptEngine, &::ScriptEngine);
|
||||
// Load script - loads string table as well, because that must be done after script load
|
||||
// for downwards compatibility with packing order
|
||||
Script.Load("Script", hGroup, C4CFN_Script, szLanguage, this, &StringTable, true);
|
||||
|
@ -1058,7 +1058,7 @@ int32_t C4DefList::Load(C4Group &hGroup, DWORD dwLoadWhat,
|
|||
{
|
||||
// host will be destroyed by script engine, so drop the references
|
||||
C4ScriptHost *scr = new C4ScriptHost();
|
||||
scr->Reg2List(&Game.ScriptEngine, &Game.ScriptEngine);
|
||||
scr->Reg2List(&::ScriptEngine, &::ScriptEngine);
|
||||
scr->Load(NULL, SysGroup, fn, Config.General.LanguageEx, NULL, &SysGroupString);
|
||||
}
|
||||
// if it's a physical group: watch out for changes
|
||||
|
@ -1507,7 +1507,7 @@ BOOL C4DefList::Reload(C4Def *pDef, DWORD dwLoadWhat, const char *szLanguage, C4
|
|||
BuildTable();
|
||||
#ifdef C4ENGINE
|
||||
// update script engine - this will also do include callbacks
|
||||
Game.ScriptEngine.ReLink(this);
|
||||
::ScriptEngine.ReLink(this);
|
||||
#endif
|
||||
#ifdef C4ENGINE
|
||||
// update definition pointers
|
||||
|
|
|
@ -57,7 +57,7 @@ C4AulScript *C4Effect::GetCallbackScript()
|
|||
else if (idCommandTarget && (pDef=Game.Defs.ID2Def(idCommandTarget)))
|
||||
pSrcScript = &pDef->Script;
|
||||
else
|
||||
pSrcScript = &Game.ScriptEngine;
|
||||
pSrcScript = &::ScriptEngine;
|
||||
return pSrcScript;
|
||||
}
|
||||
|
||||
|
@ -429,7 +429,7 @@ C4Value C4Effect::DoCall(C4Object *pObj, const char *szFn, C4Value &rVal1, C4Val
|
|||
else if (idCommandTarget && (pDef=Game.Defs.ID2Def(idCommandTarget)))
|
||||
pSrcScript = &pDef->Script;
|
||||
else
|
||||
pSrcScript = &Game.ScriptEngine;
|
||||
pSrcScript = &::ScriptEngine;
|
||||
// compose function name
|
||||
char fn[C4AUL_MAX_Identifier+1];
|
||||
sprintf(fn, PSF_FxCustom, Name, szFn);
|
||||
|
@ -775,7 +775,7 @@ int32_t FnFxFireStop(C4AulContext *ctx, C4Object *pObj, int32_t iNumber, int32_t
|
|||
|
||||
C4String *FnFxFireInfo(C4AulContext *ctx, C4Object *pObj, int32_t iNumber)
|
||||
{
|
||||
return Game.ScriptEngine.Strings.RegString(LoadResStr("IDS_OBJ_BURNS"));
|
||||
return ::ScriptEngine.Strings.RegString(LoadResStr("IDS_OBJ_BURNS"));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -88,7 +88,7 @@ void C4MaterialReaction::ResolveScriptFuncs(const char *szMatName)
|
|||
{
|
||||
// get script func for script-defined behaviour
|
||||
if (pFunc == &C4MaterialMap::mrfScript)
|
||||
pScriptFunc = Game.ScriptEngine.GetSFuncWarn(this->ScriptFunc.getData(), AA_PROTECTED, FormatString("Material reaction of \"%s\"", szMatName).getData());
|
||||
pScriptFunc = ::ScriptEngine.GetSFuncWarn(this->ScriptFunc.getData(), AA_PROTECTED, FormatString("Material reaction of \"%s\"", szMatName).getData());
|
||||
else
|
||||
pScriptFunc = NULL;
|
||||
}
|
||||
|
|
|
@ -934,7 +934,7 @@ BOOL C4Object::ExecLife()
|
|||
{
|
||||
// do energy transfer via script, so it can be overloaded by No-Magic-Energy-rule
|
||||
// always use global func instead of local to save double search
|
||||
C4AulFunc *pMagicEnergyFn = Game.ScriptEngine.GetFuncRecursive(PSF_DoMagicEnergy);
|
||||
C4AulFunc *pMagicEnergyFn = ::ScriptEngine.GetFuncRecursive(PSF_DoMagicEnergy);
|
||||
if (pMagicEnergyFn) // should always be true
|
||||
{
|
||||
C4AulParSet pars(C4VInt(-transfer), C4VObj(Contained));
|
||||
|
|
|
@ -354,7 +354,7 @@ void C4PropertyDlg::UpdateInputCtrl(C4Object *pObj)
|
|||
#endif // _WIN32
|
||||
|
||||
// add global and standard functions
|
||||
for (C4AulFunc *pFn = Game.ScriptEngine.GetFirstFunc(); pFn; pFn = Game.ScriptEngine.GetNextFunc(pFn))
|
||||
for (C4AulFunc *pFn = ::ScriptEngine.GetFirstFunc(); pFn; pFn = ::ScriptEngine.GetNextFunc(pFn))
|
||||
if (pFn->GetPublic())
|
||||
{
|
||||
#ifdef _WIN32
|
||||
|
|
|
@ -55,7 +55,7 @@ inline const static char *FnStringPar(C4String *pString)
|
|||
}
|
||||
inline C4String *String(const char * str)
|
||||
{
|
||||
return str ? Game.ScriptEngine.Strings.RegString(str) : NULL;
|
||||
return str ? ::ScriptEngine.Strings.RegString(str) : NULL;
|
||||
}
|
||||
|
||||
static StdStrBuf FnStringFormat(C4AulContext *cthr, const char *szFormatPar, C4Value * Par0=0, C4Value * Par1=0, C4Value * Par2=0, C4Value * Par3=0,
|
||||
|
@ -3485,13 +3485,13 @@ static C4Value FnVar_C4V(C4AulContext *cthr, C4Value* iVarIndex)
|
|||
|
||||
static C4Value FnSetGlobal_C4V(C4AulContext *cthr, C4Value* iVarIndex, C4Value* iValue)
|
||||
{
|
||||
Game.ScriptEngine.Global[iVarIndex->getInt()]=*iValue;
|
||||
::ScriptEngine.Global[iVarIndex->getInt()]=*iValue;
|
||||
return *iValue;
|
||||
}
|
||||
|
||||
static C4Value FnGlobal_C4V(C4AulContext *cthr, C4Value* iVarIndex)
|
||||
{
|
||||
return Game.ScriptEngine.Global[iVarIndex->getInt()].GetRef();
|
||||
return ::ScriptEngine.Global[iVarIndex->getInt()].GetRef();
|
||||
}
|
||||
|
||||
static C4Value FnSetLocal_C4V(C4AulContext *cthr, C4Value* iVarIndex, C4Value* iValue, C4Value* pObj_C4V)
|
||||
|
@ -4751,7 +4751,7 @@ static C4Value FnGlobalN(C4AulContext* cthr, C4Value* strName_C4V)
|
|||
const char* strName = FnStringPar(strName_C4V->getStr());
|
||||
|
||||
// find variable
|
||||
C4Value* pVarN = Game.ScriptEngine.GlobalNamed.GetItem(strName);
|
||||
C4Value* pVarN = ::ScriptEngine.GlobalNamed.GetItem(strName);
|
||||
|
||||
if(!pVarN) return C4Value();
|
||||
|
||||
|
@ -6228,7 +6228,7 @@ static bool FnStartScriptProfiler(C4AulContext *ctx, C4ID idScript)
|
|||
pScript = &pDef->Script;
|
||||
}
|
||||
else
|
||||
pScript = &Game.ScriptEngine;
|
||||
pScript = &::ScriptEngine;
|
||||
// profile it
|
||||
C4AulProfiler::StartProfiling(pScript);
|
||||
return true;
|
||||
|
@ -6459,7 +6459,7 @@ void InitFunctionMap(C4AulScriptEngine *pEngine)
|
|||
{
|
||||
// add all def constants (all Int)
|
||||
for (C4ScriptConstDef *pCDef = &C4ScriptConstMap[0]; pCDef->Identifier; pCDef++)
|
||||
Game.ScriptEngine.RegisterGlobalConstant(pCDef->Identifier, C4Value(pCDef->Data, pCDef->ValType));
|
||||
::ScriptEngine.RegisterGlobalConstant(pCDef->Identifier, C4Value(pCDef->Data, pCDef->ValType));
|
||||
|
||||
// add all def script funcs
|
||||
for (C4ScriptFnDef *pDef = &C4ScriptFnMap[0]; pDef->Identifier; pDef++)
|
||||
|
|
|
@ -273,7 +273,7 @@ C4V_Type C4Value::GuessType()
|
|||
}
|
||||
|
||||
// string?
|
||||
if (Game.ScriptEngine.Strings.FindString(Data.Str))
|
||||
if (::ScriptEngine.Strings.FindString(Data.Str))
|
||||
{
|
||||
Type = C4V_String;
|
||||
// see above
|
||||
|
@ -571,7 +571,7 @@ C4Value C4VString(const char *strString)
|
|||
#ifdef C4ENGINE
|
||||
// safety
|
||||
if(!strString) return C4Value();
|
||||
return C4Value(Game.ScriptEngine.Strings.RegString(strString));
|
||||
return C4Value(::ScriptEngine.Strings.RegString(strString));
|
||||
#else
|
||||
return C4Value();
|
||||
#endif
|
||||
|
@ -582,7 +582,7 @@ C4Value C4VString(StdStrBuf Str)
|
|||
#ifdef C4ENGINE
|
||||
// safety
|
||||
if(Str.isNull()) return C4Value();
|
||||
return C4Value(Game.ScriptEngine.Strings.RegString(Str));
|
||||
return C4Value(::ScriptEngine.Strings.RegString(Str));
|
||||
#else
|
||||
return C4Value();
|
||||
#endif
|
||||
|
@ -659,7 +659,7 @@ void C4Value::CompileFunc(StdCompiler *pComp)
|
|||
int32_t iTmp;
|
||||
pComp->Value(iTmp);
|
||||
// search
|
||||
C4String *pString = Game.ScriptEngine.Strings.FindString(iTmp);
|
||||
C4String *pString = ::ScriptEngine.Strings.FindString(iTmp);
|
||||
if(pString)
|
||||
{
|
||||
Data.Str = pString;
|
||||
|
@ -718,7 +718,7 @@ void C4Value::CompileFunc(StdCompiler *pComp)
|
|||
pComp->Value(s);
|
||||
if(fCompiler)
|
||||
{
|
||||
C4String *pString = Game.ScriptEngine.Strings.RegString(s);
|
||||
C4String *pString = ::ScriptEngine.Strings.RegString(s);
|
||||
if(pString)
|
||||
{
|
||||
Data.Str = pString;
|
||||
|
|
Loading…
Reference in New Issue