forked from Mirrors/openclonk
Move script string table to C4ScriptHost
The string table in C4AulScriptEngine was never loaded.liquid_container
parent
d3890f8c99
commit
a6020197d7
|
@ -82,22 +82,6 @@ void C4AulScript::Reg2List(C4AulScriptEngine *pEngine)
|
|||
Next = NULL;
|
||||
}
|
||||
|
||||
std::string C4AulScript::Translate(const std::string &text) const
|
||||
{
|
||||
try
|
||||
{
|
||||
if (stringTable)
|
||||
return stringTable->Translate(text);
|
||||
}
|
||||
catch (C4LangStringTable::NoSuchTranslation &)
|
||||
{
|
||||
// Ignore, soldier on
|
||||
}
|
||||
if (Engine && Engine != this)
|
||||
return Engine->Translate(text);
|
||||
throw C4LangStringTable::NoSuchTranslation(text);
|
||||
}
|
||||
|
||||
/*--- C4AulScriptEngine ---*/
|
||||
|
||||
C4AulScriptEngine::C4AulScriptEngine():
|
||||
|
|
|
@ -142,12 +142,7 @@ public:
|
|||
|
||||
friend class C4AulScriptEngine;
|
||||
friend class C4AulDebug;
|
||||
// Translate a string using the script's lang table
|
||||
std::string Translate(const std::string &text) const;
|
||||
|
||||
protected:
|
||||
C4LangStringTable *stringTable;
|
||||
|
||||
C4AulScriptEngine *Engine; //owning engine
|
||||
C4AulScript *Prev, *Next; // tree structure
|
||||
|
||||
|
|
|
@ -140,12 +140,13 @@ bool C4ScriptHost::ReloadScript(const char *szPath, const char *szLanguage)
|
|||
return false;
|
||||
}
|
||||
|
||||
void C4ScriptHost::SetError(const char *szMessage)
|
||||
std::string C4ScriptHost::Translate(const std::string &text) const
|
||||
{
|
||||
|
||||
if (stringTable)
|
||||
return stringTable->Translate(text);
|
||||
throw C4LangStringTable::NoSuchTranslation(text);
|
||||
}
|
||||
|
||||
|
||||
/*--- C4ExtraScriptHost ---*/
|
||||
|
||||
C4ExtraScriptHost::C4ExtraScriptHost(C4String *parent_key_name):
|
||||
|
|
|
@ -45,11 +45,12 @@ public:
|
|||
virtual bool LoadData(const char *szFilename, const char *szData, class C4LangStringTable *pLocalTable);
|
||||
const char *GetScript() const { return Script.getData(); }
|
||||
bool IsReady() { return State == ASS_PARSED; } // whether script calls may be done
|
||||
// Translate a string using the script's lang table
|
||||
std::string Translate(const std::string &text) const;
|
||||
virtual C4ScriptHost * GetScriptHost() { return this; }
|
||||
std::list<C4ScriptHost *> SourceScripts;
|
||||
protected:
|
||||
C4ScriptHost();
|
||||
void SetError(const char *szMessage);
|
||||
void MakeScript();
|
||||
bool ReloadScript(const char *szPath, const char *szLanguage);
|
||||
C4ComponentHost ComponentHost;
|
||||
|
@ -70,6 +71,7 @@ protected:
|
|||
bool IncludesResolved;
|
||||
|
||||
StdStrBuf Script; // script
|
||||
C4LangStringTable *stringTable;
|
||||
C4ValueMapNames LocalNamed;
|
||||
C4Set<C4Property> LocalValues;
|
||||
C4AulScriptState State; // script state
|
||||
|
|
Loading…
Reference in New Issue