#pragma once namespace codsrc { void Scr_VM_Init(game::scriptInstance_t inst); void Scr_Init(game::scriptInstance_t inst); void Scr_Shutdown(game::scriptInstance_t inst); void Scr_ErrorInternal(game::scriptInstance_t inst); void Scr_ClearOutParams(game::scriptInstance_t inst); unsigned int GetDummyObject(game::scriptInstance_t inst); unsigned int GetDummyFieldValue(game::scriptInstance_t inst); unsigned int VM_ExecuteInternal(game::scriptInstance_t inst); void VM_CancelNotifyInternal(game::scriptInstance_t inst, unsigned int notifyListOwnerId, unsigned int startLocalId, unsigned int notifyListId, unsigned int notifyNameListId, unsigned int stringValue); void VM_CancelNotify(game::scriptInstance_t inst, unsigned int a2, unsigned int a3); game::VariableStackBuffer* VM_ArchiveStack(game::scriptInstance_t inst); int Scr_AddLocalVars(game::scriptInstance_t inst, unsigned int a2); void VM_UnarchiveStack(game::scriptInstance_t inst, unsigned int startLocalId, game::VariableStackBuffer* stackValue); void VM_TerminateStack(game::scriptInstance_t inst, unsigned int a2, unsigned int a3, game::VariableStackBuffer* name); void VM_TrimStack(game::scriptInstance_t inst, unsigned int parentId, game::VariableStackBuffer* a3, int fromEndon); void Scr_TerminateRunningThread(game::scriptInstance_t inst, unsigned int a2); void Scr_TerminateWaitThread(game::scriptInstance_t inst, unsigned int a2, unsigned int a3); void Scr_CancelWaittill(game::scriptInstance_t inst, unsigned int startLocalId); void Scr_TerminateWaittillThread(game::scriptInstance_t inst, unsigned int a2, unsigned int a3); void Scr_TerminateThread(unsigned int a2, game::scriptInstance_t inst); void VM_Notify(game::scriptInstance_t inst, int notifyListOwnerId, unsigned int stringValue, game::VariableValue* top); void Scr_NotifyNum_Internal(game::scriptInstance_t inst, int entNum, unsigned int entClass, unsigned int notifStr, unsigned int numParams); void Scr_CancelNotifyList(unsigned int notifyListOwnerId, game::scriptInstance_t inst); void VM_TerminateTime(game::scriptInstance_t inst, unsigned int parentId); void VM_Resume(game::scriptInstance_t inst, unsigned int timeId); unsigned int VM_Execute(game::scriptInstance_t inst, unsigned int localId, const char* pos, unsigned int paramcount); unsigned short Scr_ExecThread(game::scriptInstance_t inst, unsigned int handle, unsigned int paramCount); unsigned short Scr_ExecEntThreadNum(game::scriptInstance_t inst, int entNum, unsigned int handle, int numParams, unsigned int entClass); void Scr_AddExecThread(game::scriptInstance_t inst, unsigned int handle); void VM_SetTime(game::scriptInstance_t inst); void Scr_InitSystem(game::scriptInstance_t inst); void Scr_ShutdownSystem(game::scriptInstance_t inst, int bComplete); bool Scr_IsSystemActive(); int Scr_GetInt(game::scriptInstance_t inst, unsigned int index); game::scr_anim_s Scr_GetAnim(unsigned int index, game::XAnimTree_s* anims); game::scr_animtree_t Scr_GetAnimTree(); float Scr_GetFloat(game::scriptInstance_t inst, unsigned int index); unsigned int Scr_GetConstString(game::scriptInstance_t inst, unsigned int index); unsigned int Scr_GetConstLowercaseString(game::scriptInstance_t inst, unsigned int index); const char* Scr_GetString(unsigned int index, game::scriptInstance_t inst); unsigned int Scr_GetConstStringIncludeNull(game::scriptInstance_t inst); char* Scr_GetDebugString(game::scriptInstance_t inst, unsigned int index); unsigned int Scr_GetConstIString(unsigned int index); void Scr_GetVector(game::scriptInstance_t inst, float* vectorValue, unsigned int index); unsigned int Scr_GetFunc(); game::scr_entref_t* Scr_GetEntityRef(game::scriptInstance_t inst, game::scr_entref_t* retstr, unsigned int index); game::VariableUnion Scr_GetObject(game::scriptInstance_t inst); game::VariableType Scr_GetType(game::scriptInstance_t inst, unsigned int index); const char* Scr_GetTypeName(game::scriptInstance_t inst); game::VariableType Scr_GetPointerType(game::scriptInstance_t inst, unsigned int index); void Scr_AddInt(game::scriptInstance_t inst, int value); void Scr_AddFloat(game::scriptInstance_t inst, float value); void Scr_AddAnim(game::scr_anim_s value); void Scr_AddUndefined(game::scriptInstance_t inst); void Scr_AddObject(game::scriptInstance_t inst, unsigned int entid); void Scr_AddString(game::scriptInstance_t inst, const char* string); void Scr_AddIString(const char* string); void Scr_AddConstString(game::scriptInstance_t inst, unsigned int id); void Scr_AddVector(game::scriptInstance_t inst, float* value); void Scr_MakeArray(game::scriptInstance_t inst); void Scr_AddArray(game::scriptInstance_t inst); void Scr_AddArrayStringIndexed(unsigned int id, game::scriptInstance_t inst); void Scr_Error(const char* error, game::scriptInstance_t inst, int is_terminal); void Scr_TerminalError(game::scriptInstance_t inst, const char* error); void Scr_ParamError(unsigned int index, game::scriptInstance_t inst, const char* error); void Scr_ObjectError(game::scriptInstance_t inst, const char* error); bool SetEntityFieldValue(game::scriptInstance_t inst, int offset, int entnum, game::classNum_e classnum, int clientNum, game::VariableValue* value); game::VariableValue GetEntityFieldValue(int offset, int entnum, game::scriptInstance_t inst, game::classNum_e classnum, int clientNum); void Scr_SetStructField(unsigned int structId, unsigned int index, game::scriptInstance_t inst); void Scr_IncTime(game::scriptInstance_t inst); void Scr_RunCurrentThreads(game::scriptInstance_t inst); void Scr_ResetTimeout(game::scriptInstance_t inst); void SetVariableFieldValue(game::scriptInstance_t inst, unsigned int id, game::VariableValue* value); void SetNewVariableValue(game::scriptInstance_t inst, unsigned int id, game::VariableValue* value); void Scr_ClearErrorMessage(game::scriptInstance_t inst); void VM_Shutdown(game::scriptInstance_t inst); void Scr_ShutdownVariables(game::scriptInstance_t inst); void ClearVariableValue(game::scriptInstance_t inst, unsigned int id); unsigned int Scr_GetThreadNotifyName(game::scriptInstance_t inst, unsigned int startLocalId); void Scr_RemoveThreadNotifyName(game::scriptInstance_t inst, unsigned int startLocalId); unsigned int GetArraySize(game::scriptInstance_t inst, unsigned int id); void IncInParam(game::scriptInstance_t inst); unsigned int GetParentLocalId(game::scriptInstance_t inst, unsigned int threadId); void Scr_ClearWaitTime(game::scriptInstance_t inst, unsigned int startLocalId); void Scr_SetThreadWaitTime(game::scriptInstance_t inst, unsigned int startLocalId, unsigned int waitTime); void Scr_SetThreadNotifyName(game::scriptInstance_t inst, unsigned int startLocalId, unsigned int stringValue); void Scr_DebugTerminateThread(game::scriptInstance_t inst, int topThread); unsigned int Scr_GetThreadWaitTime(game::scriptInstance_t inst, unsigned int startLocalId); const char* Scr_GetStackThreadPos(game::scriptInstance_t inst, unsigned int endLocalId, game::VariableStackBuffer* stackValue, bool killThread); unsigned int Scr_GetSelf(game::scriptInstance_t inst, unsigned int threadId); unsigned int GetVariableKeyObject(game::scriptInstance_t inst, unsigned int id); int MT_Realloc(game::scriptInstance_t inst, int oldNumBytes, int newNumbytes); void CScr_GetObjectField(game::classNum_e classnum, int entnum, int clientNum, int offset); int CScr_SetObjectField(game::classNum_e classnum, int entnum, int clientNum, int offset); void Scr_SetErrorMessage(game::scriptInstance_t inst, const char* error); bool Scr_IsStackClear(game::scriptInstance_t inst); void SL_CheckExists(game::scriptInstance_t inst, unsigned int stringValue); const char* Scr_ReadCodePos(game::scriptInstance_t inst, const char** pos); unsigned int Scr_ReadUnsignedInt(game::scriptInstance_t inst, const char** pos); unsigned short Scr_ReadUnsignedShort(game::scriptInstance_t inst, const char** pos); unsigned char Scr_ReadUnsignedByte(game::scriptInstance_t inst, const char** pos); float Scr_ReadFloat(game::scriptInstance_t inst, const char** pos); const float* Scr_ReadVector(game::scriptInstance_t inst, const char** pos); BOOL IsFieldObject(game::scriptInstance_t inst, unsigned int id); void RemoveVariableValue(game::scriptInstance_t inst, unsigned int parentId, unsigned int index); game::VariableStackBuffer* GetRefVariableStackBuffer(game::scriptInstance_t inst, int id); unsigned int GetNewObjectVariableReverse(game::scriptInstance_t inst, unsigned int parentId, unsigned int id); unsigned int GetNewVariableIndexReverseInternal(game::scriptInstance_t inst, unsigned int parentId, unsigned int name); unsigned int Scr_GetLocalVar(game::scriptInstance_t inst, int pos); void Scr_EvalBoolNot(game::scriptInstance_t inst, game::VariableValue* value); unsigned int GetInternalVariableIndex(game::scriptInstance_t inst, unsigned int unsignedValue); const char* Scr_ReadData(game::scriptInstance_t inst, const char** pos, unsigned int count); void Scr_NotifyNum(int entnum, game::classNum_e classnum, unsigned int stringValue, unsigned int paramcount); }