35 for (
const auto &
Option : Options)
43 if (idx >= Options.size())
return nullptr;
73 if (idx >= Parameters.size())
return nullptr;
74 return &Parameters[idx];
93 for (
const auto & Parameter : Parameters)
96 constant_name.
Format(
"SCENPAR_%s", Parameter.GetID());
97 int32_t constant_value = values.
GetValueByID(Parameter.GetID(), Parameter.GetDefault());
103 for (
const auto & Parameter : Parameters)
105 int32_t constant_value = values.
GetValueByID(Parameter.GetID(), Parameter.GetDefault());
120 for (
const auto & Parameter : other.Parameters)
122 auto j = Parameters.find(Parameter.first);
123 if (j != Parameters.end())
124 if (j->second >= Parameter.second)
127 Parameters[Parameter.first] = Parameter.second;
135 if (i != Parameters.end())
return i->second;
else return default_value;
143 if (i != Parameters.end())
144 if (i->second >= value)
162 for (
size_t i=0; i<name_count; ++i)
169 Parameters[sName] = v;
175 int32_t name_count=0;
176 pComp->
Value(name_count);
177 for (int32_t i=0; i<name_count; ++i)
182 Parameters[name] = v;
191 for (
auto & Parameter : Parameters)
197 int32_t name_count=Parameters.size();
198 pComp->
Value(name_count);
199 for (
auto & Parameter : Parameters)
202 pComp->
Value(Parameter.second);
212 StdStrBuf sResult, sSource(filename,
true), sPart;
#define C4CFN_ScenarioParameterDefs
C4AulScriptEngine ScriptEngine
C4Value C4VInt(int32_t i)
bool SEqual2NoCase(const char *szStr1, const char *szStr2, int iLen)
StdSTLContainerAdapt< C > mkSTLContainerAdapt(C &rTarget, StdCompiler::Sep eSep=StdCompiler::SEP_SEP)
StdParameterAdapt< T, P > mkParAdapt(T &&rObj, P &&rPar)
StdNamingAdapt< T > mkNamingAdapt(T &&rValue, const char *szName)
void RegisterGlobalConstant(const char *szName, const C4Value &rValue)
bool LoadEntryString(const char *entry_name, StdStrBuf *buffer)
void ReplaceStrings(StdStrBuf &rBuf)
static C4PropListStatic * NewStatic(C4PropList *prototype, const C4PropListStatic *parent, C4String *key)
const Option * GetOptionByValue(int32_t val) const
const Option * GetOptionByIndex(size_t idx) const
void CompileFunc(StdCompiler *pComp)
void RegisterScriptConstants(const class C4ScenarioParameters &values)
const C4ScenarioParameterDef * GetParameterDefByIndex(size_t idx) const
bool Load(C4Group &hGroup, class C4LangStringTable *pLang)
void CompileFunc(StdCompiler *pComp)
void CompileFunc(StdCompiler *pComp)
int32_t GetValueByID(const char *id, int32_t default_value) const
void SetValue(const char *id, int32_t value, bool only_if_larger)
static StdStrBuf AddFilename2ID(const char *filename, const char *id)
void Merge(const C4ScenarioParameters &other)
C4String * RegString(StdStrBuf String)
void Value(const T &rStruct)
virtual void NameEnd(bool fBreak=false)
void excNotFound(const char *szMessage,...)
virtual bool isDeserializer()
virtual int NameCount(const char *szName=nullptr)
virtual const char * GetNameByIndex(size_t idx) const
virtual bool Name(const char *szName)
const char * getData() const
void AppendChar(char cChar)
void Append(const char *pnData, size_t iChars)
int ReplaceChar(char cOld, char cNew)
const char * getPtr(size_t i) const
void Format(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O
StdCopyStrBuf Description
void CompileFunc(StdCompiler *pComp)