#include "LiteLoader/include/liteloader/Config.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "LiteLoader/include/llapi/LoggerAPI.h" #include "LiteLoader/include/liteloader/Version.h" #include #include #include using namespace std; // Global vars ::Logger logger("LiteLoader"); extern void LoadDepends(); extern void LoadMain(); extern void BindAPIs(ScriptEngine* engine); extern void LoadDebugEngine(); void entry() { // Enable thread SEH protection if (!LL::isDebugMode()) _set_se_translator(seh_exception::TranslateSEHtoCE); // Register myself LL::registerPlugin(LLSE_LOADER_NAME, LLSE_LOADER_DESCRIPTION, LITELOADER_VERSION, {{"GitHub", "github.com/LiteLDev/LiteLoaderBDS"}}); // Load i18n files Translation::loadFromImpl(GetCurrentModule(), LL::getLoaderHandle()); // Init global share data InitLocalShareData(); InitGlobalShareData(); InitSafeGuardRecord(); // Welcome if (localShareData->isFirstInstance) { logger.info("ScriptEngine initializing..."); } // Init builtin economy system if (LL::globalConfig.enableEconomyCore) { EconomySystem::init(); } // Pre-load depending libs LoadDepends(); // Load plugins LoadMain(); // Register real-time debug LoadDebugEngine(); // Register basic event listeners InitBasicEventListeners(); // Init message system InitMessageSystem(); }