MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / init

Method init

ogsr_engine/COMMON_AI/script_engine.cpp:120–156  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

118}
119
120void CScriptEngine::init()
121{
122 // Msg("[CScriptEngine::init] Starting LuaJIT!");
123 lua_State* LSVM = luaL_newstate(); //Запускаем LuaJIT. Память себе он выделит сам.
124 R_ASSERT2(LSVM, "! ERROR : Cannot initialize LUA VM!");
125 reinit(LSVM);
126 luabind::open(LSVM); //Запуск луабинда
127
128 tracy::LuaRegister(LSVM);
129
130 //--------------Установка калбеков------------------//
131#ifdef LUABIND_NO_EXCEPTIONS
132 luabind::set_error_callback(lua_error);
133 luabind::set_cast_failed_callback(lua_cast_failed);
134#endif
135 luabind::set_pcall_callback(lua_pcall_failed); // KRodin: НЕ ЗАКОММЕНТИРОВАТЬ НИ В КОЕМ СЛУЧАЕ!!!
136 lua_atpanic(LSVM, lua_panic);
137 //-----------------------------------------------------//
138 extern void export_classes(lua_State * L);
139 export_classes(LSVM); //Тут регистрируются все движковые функции, импортированные в скрипты
140 luaL_openlibs(LSVM); //Инициализация функций LuaJIT
141 setup_auto_load(); //Построение метатаблицы
142 bool save = m_reload_modules;
143 m_reload_modules = true;
144 process_file_if_exists(GlobalNamespace, false); //Компиляция _G.script
145 m_reload_modules = save;
146
147 m_stack_level = lua_gettop(LSVM); //?
148
149 register_script_classes(); //Походу, запуск class_registrator.script
150 object_factory().register_script(); //Регистрация классов
151
152 lua_gc(ai().script_engine().lua(), LUA_GCSETSTEPMUL, 500);
153 lua_gc(ai().script_engine().lua(), LUA_GCSETPAUSE, 100);
154
155 // Msg("[CScriptEngine::init] LuaJIT Started!");
156}
157
158void CScriptEngine::parse_script_namespace(const char* name, char* ns, u32 nsSize, char* func, u32 funcSize)
159{

Callers 4

server_objectMethod · 0.45
server_objectMethod · 0.45
server_objectMethod · 0.45

Calls 12

openFunction · 0.85
LuaRegisterFunction · 0.85
set_error_callbackFunction · 0.85
set_cast_failed_callbackFunction · 0.85
set_pcall_callbackFunction · 0.85
export_classesFunction · 0.85
lua_gcFunction · 0.85
register_scriptMethod · 0.80
luaL_newstateFunction · 0.50
lua_atpanicFunction · 0.50
luaL_openlibsFunction · 0.50
lua_gettopFunction · 0.50

Tested by

no test coverage detected