Add compiler decomp

This commit is contained in:
ineed bots
2023-09-15 16:35:58 -06:00
parent bd25b6429b
commit 15309fc2c0
8 changed files with 5813 additions and 2 deletions

View File

@ -262,4 +262,51 @@ namespace game
void EmitInclude(scriptInstance_t inst, sval_u val, void* call_addr = EmitInclude_ADDR());
inline void* ScriptCompile_ADDR() { return CALL_ADDR(0x0, 0x688E70); }
void ScriptCompile(scriptInstance_t inst, sval_u val, unsigned int filePosId, unsigned int fileCountId, unsigned int scriptId, PrecacheEntry* entries, int entriesCount, void* call_addr = ScriptCompile_ADDR());
void EmitFloat(scriptInstance_t inst, float value);
void EmitCanonicalStringConst(scriptInstance_t inst, unsigned int stringValue);
int Scr_FindLocalVar(scr_block_s* block, int startIndex, unsigned int name);
void Scr_CheckLocalVarsCount(int localVarsCount);
void EmitGetUndefined(scriptInstance_t inst, sval_u sourcePos);
void EmitPrimitiveExpression(scriptInstance_t inst, sval_u expr, scr_block_s* block);
void Scr_EmitAnimation(scriptInstance_t inst, char* pos, unsigned int animName, unsigned int sourcePos);
void EmitEvalArray(scriptInstance_t inst, sval_u sourcePos, sval_u indexSourcePos);
void EmitEvalArrayRef(scriptInstance_t inst, sval_u sourcePos, sval_u indexSourcePos);
unsigned int Scr_GetBuiltin(scriptInstance_t inst, sval_u func_name);
int Scr_GetUncacheType(int type);
int Scr_GetCacheType(int type);
BuiltinFunction Scr_GetFunction(const char** pName, int* type);
BuiltinFunction GetFunction(scriptInstance_t inst, const char** pName, int* type);
BuiltinMethod GetMethod(scriptInstance_t inst, const char** pName, int* type);
unsigned int GetVariableName(scriptInstance_t inst, unsigned int id);
int GetExpressionCount(sval_u exprlist);
sval_u* GetSingleParameter(sval_u exprlist);
void EmitExpressionFieldObject(scriptInstance_t inst, sval_u expr, sval_u sourcePos, scr_block_s* block);
void EvalInteger(int value, sval_u sourcePos, VariableCompileValue* constValue);
void EvalFloat(float value, sval_u sourcePos, VariableCompileValue* constValue);
void EvalString(unsigned int value, sval_u sourcePos, VariableCompileValue* constValue);
void EvalIString(unsigned int value, sval_u sourcePos, VariableCompileValue* constValue);
void EvalUndefined(sval_u sourcePos, VariableCompileValue* constValue);
void Scr_PopValue(scriptInstance_t inst);
void EmitSetVariableField(scriptInstance_t inst, sval_u sourcePos);
void EmitFieldVariableRef(scriptInstance_t inst, sval_u expr, sval_u field, sval_u sourcePos, scr_block_s* block);
void Scr_CalcLocalVarsArrayPrimitiveExpressionRef(sval_u expr, scr_block_s* block);
BOOL IsUndefinedPrimitiveExpression(sval_u expr);
bool IsUndefinedExpression(sval_u expr);
void Scr_CopyBlock(scr_block_s* from, scr_block_s** to);
void Scr_CheckMaxSwitchCases(int count);
void Scr_CalcLocalVarsSafeSetVariableField(sval_u expr, sval_u sourcePos, scr_block_s* block);
void EmitFormalWaittillParameterListRefInternal(scriptInstance_t inst, sval_u* node, scr_block_s* block);
void EmitDefaultStatement(scriptInstance_t inst, sval_u sourcePos);
char Scr_IsLastStatement(scriptInstance_t inst, sval_u* node);
void EmitEndStatement(scriptInstance_t inst, sval_u sourcePos, scr_block_s* block);
void EmitProfBeginStatement(scriptInstance_t inst, sval_u profileName, sval_u sourcePos);
void EmitProfEndStatement(scriptInstance_t inst, sval_u profileName, sval_u sourcePos);
void Scr_CalcLocalVarsIncStatement(sval_u expr, scr_block_s *block);
void Scr_CalcLocalVarsWaittillStatement(sval_u exprlist, scr_block_s* block);
void EmitFormalParameterListInternal(scriptInstance_t inst, sval_u* node, scr_block_s* block);
unsigned int SpecifyThreadPosition(scriptInstance_t inst, unsigned int posId, unsigned int name, unsigned int sourcePos, int type);
void Scr_CalcLocalVarsFormalParameterList(sval_u exprlist, scr_block_s* block);
void SetThreadPosition(scriptInstance_t inst, unsigned int posId);
void EmitIncludeList(scriptInstance_t inst, sval_u val);
}