iw4x-client/src/Components/Modules/Script.hpp
2017-01-20 14:37:52 +01:00

39 lines
920 B
C++

#pragma once
namespace Components
{
class Script : public Component
{
public:
Script();
~Script();
#if defined(DEBUG) || defined(FORCE_UNIT_TESTS)
const char* getName() override { return "Script"; };
#endif
static int LoadScriptAndLabel(std::string script, std::string label);
private:
static std::string ScriptName;
static std::vector<int> ScriptHandles;
static std::vector<std::string> ScriptNameStack;
static unsigned short FunctionName;
static void CompileError(unsigned int offset, const char* message, ...);
static void PrintSourcePos(const char* filename, unsigned int offset);
static void FunctionError();
static void StoreFunctionNameStub();
static void StoreScriptName(const char* name);
static void StoreScriptNameStub();
static void RestoreScriptName();
static void RestoreScriptNameStub();
static void LoadGameType();
static void LoadGameTypeScript();
};
}