diff --git a/api/updater.php b/api/updater.php index f263a13..f59e4f3 100644 --- a/api/updater.php +++ b/api/updater.php @@ -6,13 +6,14 @@ $files_and_dirs = array("init.lua", "data", "modules", "layouts"); $checksum_file = "checksums.txt"; $checksum_update_interval = 60; // seconds $binaries = array( - "WIN32-WGL" => "otclient_dx.exe", - "WIN32-EGL" => "otclient_gl.exe", - "WIN32-WGL-GCC" => "otclient_gcc_dx.exe", - "WIN32-EGL-GCC" => "otclient_gcc_gl.exe", + "WIN32-WGL" => "otclient_gl.exe", + "WIN32-EGL" => "otclient_dx.exe", + "WIN32-WGL-GCC" => "otclient_gcc_gl.exe", + "WIN32-EGL-GCC" => "otclient_gcc_dx.exe", "X11-GLX" => "otclient_linux", "X11-EGL" => "otclient_linux", - "ANDROID-EGL" => "" // we can't update android binary + "ANDROID-EGL" => "", // we can't update android binary + "ANDROID64-EGL" => "" // we can't update android binary ); // CONFIG END diff --git a/api/updater_advanced.php b/api/updater_advanced.php index 788e091..62a3710 100644 --- a/api/updater_advanced.php +++ b/api/updater_advanced.php @@ -2,17 +2,18 @@ // CONFIG $files_dir = "/var/www/otclient/files"; $files_url = "http://otclient.ovh/files"; -$files_and_dirs = array("data", "modules", "layouts", "init.lua"); +$files_and_dirs = array("init.lua", "data", "modules", "layouts"); $checksum_file = "checksums.txt"; -$checksum_update_interval = 5; // seconds +$checksum_update_interval = 60; // seconds $binaries = array( - "WIN32-WGL" => "otclient_dx.exe", - "WIN32-EGL" => "otclient_gl.exe", - "WIN32-WGL-GCC" => "otclient_gcc_dx.exe", - "WIN32-EGL-GCC" => "otclient_gcc_gl.exe", + "WIN32-WGL" => "otclient_gl.exe", + "WIN32-EGL" => "otclient_dx.exe", + "WIN32-WGL-GCC" => "otclient_gcc_gl.exe", + "WIN32-EGL-GCC" => "otclient_gcc_dx.exe", "X11-GLX" => "otclient_linux", "X11-EGL" => "otclient_linux", - "ANDROID-EGL" => "" // we can't update android binary + "ANDROID-EGL" => "", // we can't update android binary + "ANDROID64-EGL" => "" // we can't update android binary ); // CONFIG END diff --git a/lua_functions/luafunctions.cpp b/lua_functions/luafunctions.cpp deleted file mode 100644 index 2aa8b01..0000000 --- a/lua_functions/luafunctions.cpp +++ /dev/null @@ -1,992 +0,0 @@ -/* - * Copyright (c) 2010-2017 OTClient - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef FW_SOUND -#include -#include -#include -#include -#include -#endif - -#ifdef FW_GRAPHICS -#include -#include -#include -#include -#include -#include -#endif - -#ifdef FW_NET -#include -#include -#ifdef FW_PROXY -#include -#endif -#endif - -#ifdef FW_SQL -#include -#endif - -#include - -#include - - -void Application::registerLuaFunctions() -{ - // conversion globals - g_lua.bindGlobalFunction("torect", [](const std::string& v) { return stdext::from_string(v); }); - g_lua.bindGlobalFunction("topoint", [](const std::string& v) { return stdext::from_string(v); }); - g_lua.bindGlobalFunction("tocolor", [](const std::string& v) { return stdext::from_string(v); }); - g_lua.bindGlobalFunction("tosize", [](const std::string& v) { return stdext::from_string(v); }); - g_lua.bindGlobalFunction("recttostring", [](const Rect& v) { return stdext::to_string(v); }); - g_lua.bindGlobalFunction("pointtostring", [](const Point& v) { return stdext::to_string(v); }); - g_lua.bindGlobalFunction("colortostring", [](const Color& v) { return stdext::to_string(v); }); - g_lua.bindGlobalFunction("sizetostring", [](const Size& v) { return stdext::to_string(v); }); - g_lua.bindGlobalFunction("iptostring", [](uint32 v) { return stdext::ip_to_string(v); }); - g_lua.bindGlobalFunction("stringtoip", [](const std::string& v) { return stdext::string_to_ip(v); }); - g_lua.bindGlobalFunction("listSubnetAddresses", [](uint32 a, uint8 b) { return stdext::listSubnetAddresses(a, b); }); - g_lua.bindGlobalFunction("ucwords", [](std::string s) { return stdext::ucwords(s); }); - g_lua.bindGlobalFunction("regexMatch", [](std::string s, const std::string& exp) { - int limit = 10000; - std::vector> ret; - if (s.empty() || exp.empty()) - return ret; - try { - std::smatch m; - std::regex e(exp, std::regex::ECMAScript); - while (std::regex_search (s,m,e)) { - ret.push_back(std::vector()); - for (auto x:m) - ret[ret.size() - 1].push_back(x); - s = m.suffix().str(); - if (--limit == 0) - return ret; - } - } catch (...) { - } - return ret; - }); - - // Platform - g_lua.registerSingletonClass("g_platform"); - g_lua.bindSingletonFunction("g_platform", "spawnProcess", &Platform::spawnProcess, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getProcessId", &Platform::getProcessId, &g_platform); - g_lua.bindSingletonFunction("g_platform", "isProcessRunning", &Platform::isProcessRunning, &g_platform); - g_lua.bindSingletonFunction("g_platform", "copyFile", &Platform::copyFile, &g_platform); - g_lua.bindSingletonFunction("g_platform", "fileExists", &Platform::fileExists, &g_platform); - g_lua.bindSingletonFunction("g_platform", "removeFile", &Platform::removeFile, &g_platform); - g_lua.bindSingletonFunction("g_platform", "killProcess", &Platform::killProcess, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getTempPath", &Platform::getTempPath, &g_platform); - g_lua.bindSingletonFunction("g_platform", "openUrl", &Platform::openUrl, &g_platform); - g_lua.bindSingletonFunction("g_platform", "openDir", &Platform::openDir, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getCPUName", &Platform::getCPUName, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getTotalSystemMemory", &Platform::getTotalSystemMemory, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getMemoryUsage", &Platform::getMemoryUsage, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getOSName", &Platform::getOSName, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getFileModificationTime", &Platform::getFileModificationTime, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getMacAddresses", &Platform::getMacAddresses, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getUserName", &Platform::getUserName, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getDlls", &Platform::getDlls, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getProcesses", &Platform::getProcesses, &g_platform); - g_lua.bindSingletonFunction("g_platform", "getWindows", &Platform::getWindows, &g_platform); - - // Application - g_lua.registerSingletonClass("g_app"); - g_lua.bindSingletonFunction("g_app", "setName", &Application::setName, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "setCompactName", &Application::setCompactName, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "setVersion", &Application::setVersion, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "isRunning", &Application::isRunning, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "isStopping", &Application::isStopping, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getName", &Application::getName, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getCompactName", &Application::getCompactName, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getVersion", &Application::getVersion, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildCompiler", &Application::getBuildCompiler, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildDate", &Application::getBuildDate, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildRevision", &Application::getBuildRevision, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildCommit", &Application::getBuildCommit, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildType", &Application::getBuildType, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getBuildArch", &Application::getBuildArch, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getAuthor", &Application::getAuthor, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getOs", &Application::getOs, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "getStartupOptions", &Application::getStartupOptions, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "exit", &Application::exit, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "quick_exit", &Application::quick_exit, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "isMobile", &Application::isMobile, static_cast(&g_app)); - g_lua.bindSingletonFunction("g_app", "restart", &Application::restart, static_cast(&g_app)); - - // Crypt - g_lua.registerSingletonClass("g_crypt"); - g_lua.bindSingletonFunction("g_crypt", "genUUID", &Crypt::genUUID, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "setMachineUUID", &Crypt::setMachineUUID, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "getMachineUUID", &Crypt::getMachineUUID, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "encrypt", &Crypt::encrypt, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "decrypt", &Crypt::decrypt, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "sha1Encode", &Crypt::sha1Encode, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "md5Encode", &Crypt::md5Encode, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "crc32", &Crypt::crc32, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "rsaGenerateKey", &Crypt::rsaGenerateKey, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "rsaSetPublicKey", &Crypt::rsaSetPublicKey, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "rsaSetPrivateKey", &Crypt::rsaSetPrivateKey, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "rsaCheckKey", &Crypt::rsaCheckKey, &g_crypt); - g_lua.bindSingletonFunction("g_crypt", "rsaGetSize", &Crypt::rsaGetSize, &g_crypt); - - // Clock - g_lua.registerSingletonClass("g_clock"); - g_lua.bindSingletonFunction("g_clock", "micros", &Clock::micros, &g_clock); - g_lua.bindSingletonFunction("g_clock", "millis", &Clock::millis, &g_clock); - g_lua.bindSingletonFunction("g_clock", "seconds", &Clock::seconds, &g_clock); - g_lua.bindSingletonFunction("g_clock", "realMillis", &Clock::realMillis, &g_clock); - g_lua.bindSingletonFunction("g_clock", "realMicros", &Clock::realMicros, &g_clock); - - // ConfigManager - g_lua.registerSingletonClass("g_configs"); - g_lua.bindSingletonFunction("g_configs", "getSettings", &ConfigManager::getSettings, &g_configs); - g_lua.bindSingletonFunction("g_configs", "get", &ConfigManager::get, &g_configs); - g_lua.bindSingletonFunction("g_configs", "loadSettings", &ConfigManager::loadSettings, &g_configs); - g_lua.bindSingletonFunction("g_configs", "load", &ConfigManager::load, &g_configs); - g_lua.bindSingletonFunction("g_configs", "unload", &ConfigManager::unload, &g_configs); - g_lua.bindSingletonFunction("g_configs", "create", &ConfigManager::create, &g_configs); - - // Logger - g_lua.registerSingletonClass("g_logger"); - g_lua.bindSingletonFunction("g_logger", "log", &Logger::log, &g_logger); - g_lua.bindSingletonFunction("g_logger", "fireOldMessages", &Logger::fireOldMessages, &g_logger); - g_lua.bindSingletonFunction("g_logger", "setLogFile", &Logger::setLogFile, &g_logger); - g_lua.bindSingletonFunction("g_logger", "setOnLog", &Logger::setOnLog, &g_logger); - g_lua.bindSingletonFunction("g_logger", "debug", &Logger::debug, &g_logger); - g_lua.bindSingletonFunction("g_logger", "info", &Logger::info, &g_logger); - g_lua.bindSingletonFunction("g_logger", "warning", &Logger::warning, &g_logger); - g_lua.bindSingletonFunction("g_logger", "error", &Logger::error, &g_logger); - g_lua.bindSingletonFunction("g_logger", "fatal", &Logger::fatal, &g_logger); - g_lua.bindSingletonFunction("g_logger", "getLastLog", &Logger::getLastLog, &g_logger); - - // Lua stats - g_lua.registerSingletonClass("g_stats"); - g_lua.bindSingletonFunction("g_stats", "types", &Stats::types, &g_stats); - g_lua.bindSingletonFunction("g_stats", "get", &Stats::get, &g_stats); - g_lua.bindSingletonFunction("g_stats", "clear", &Stats::clear, &g_stats); - g_lua.bindSingletonFunction("g_stats", "clearAll", &Stats::clearAll, &g_stats); - g_lua.bindSingletonFunction("g_stats", "getSlow", &Stats::getSlow, &g_stats); - g_lua.bindSingletonFunction("g_stats", "clearSlow", &Stats::clearSlow, &g_stats); - g_lua.bindSingletonFunction("g_stats", "getSleepTime", &Stats::getSleepTime, &g_stats); - g_lua.bindSingletonFunction("g_stats", "resetSleepTime", &Stats::resetSleepTime, &g_stats); - g_lua.bindSingletonFunction("g_stats", "getWidgetsInfo", &Stats::getWidgetsInfo, &g_stats); - - g_lua.registerSingletonClass("g_extras"); - g_lua.bindSingletonFunction("g_extras", "set", &Extras::set, &g_extras); - g_lua.bindSingletonFunction("g_extras", "get", &Extras::get, &g_extras); - g_lua.bindSingletonFunction("g_extras", "getDescription", &Extras::getDescription, &g_extras); - g_lua.bindSingletonFunction("g_extras", "getAll", &Extras::getAll, &g_extras); - - g_lua.registerSingletonClass("g_http"); - g_lua.bindSingletonFunction("g_http", "get", &Http::get, &g_http); - g_lua.bindSingletonFunction("g_http", "post", &Http::post, &g_http); - g_lua.bindSingletonFunction("g_http", "download", &Http::download, &g_http); - g_lua.bindSingletonFunction("g_http", "ws", &Http::ws, &g_http); - g_lua.bindSingletonFunction("g_http", "wsSend", &Http::wsSend, &g_http); - g_lua.bindSingletonFunction("g_http", "wsClose", &Http::wsClose, &g_http); - g_lua.bindSingletonFunction("g_http", "cancel", &Http::cancel, &g_http); - - g_lua.registerSingletonClass("g_atlas"); - g_lua.bindSingletonFunction("g_atlas", "getStats", &Atlas::getStats, &g_atlas); - - // ModuleManager - g_lua.registerSingletonClass("g_modules"); - g_lua.bindSingletonFunction("g_modules", "discoverModules", &ModuleManager::discoverModules, &g_modules); - g_lua.bindSingletonFunction("g_modules", "autoLoadModules", &ModuleManager::autoLoadModules, &g_modules); - g_lua.bindSingletonFunction("g_modules", "discoverModule", &ModuleManager::discoverModule, &g_modules); - g_lua.bindSingletonFunction("g_modules", "ensureModuleLoaded", &ModuleManager::ensureModuleLoaded, &g_modules); - g_lua.bindSingletonFunction("g_modules", "unloadModules", &ModuleManager::unloadModules, &g_modules); - g_lua.bindSingletonFunction("g_modules", "reloadModules", &ModuleManager::reloadModules, &g_modules); - g_lua.bindSingletonFunction("g_modules", "getModule", &ModuleManager::getModule, &g_modules); - g_lua.bindSingletonFunction("g_modules", "getModules", &ModuleManager::getModules, &g_modules); - - // EventDispatcher - g_lua.registerSingletonClass("g_dispatcher"); - g_lua.bindSingletonFunction("g_dispatcher", "addEvent", &EventDispatcher::addEventEx, &g_dispatcher); - g_lua.bindSingletonFunction("g_dispatcher", "scheduleEvent", &EventDispatcher::scheduleEventEx, &g_dispatcher); - g_lua.bindSingletonFunction("g_dispatcher", "cycleEvent", &EventDispatcher::cycleEventEx, &g_dispatcher); - - // ResourceManager - g_lua.registerSingletonClass("g_resources"); - g_lua.bindSingletonFunction("g_resources", "fileExists", &ResourceManager::fileExists, &g_resources); - g_lua.bindSingletonFunction("g_resources", "directoryExists", &ResourceManager::directoryExists, &g_resources); - g_lua.bindSingletonFunction("g_resources", "getWorkDir", &ResourceManager::getWorkDir, &g_resources); - g_lua.bindSingletonFunction("g_resources", "getWriteDir", &ResourceManager::getWriteDir, &g_resources); - g_lua.bindSingletonFunction("g_resources", "getBinaryName", &ResourceManager::getBinaryName, &g_resources); - g_lua.bindSingletonFunction("g_resources", "listDirectoryFiles", &ResourceManager::listDirectoryFiles, &g_resources); - g_lua.bindSingletonFunction("g_resources", "isFileType", &ResourceManager::isFileType, &g_resources); - g_lua.bindSingletonFunction("g_resources", "readFileContents", &ResourceManager::readFileContentsSafe, &g_resources); - g_lua.bindSingletonFunction("g_resources", "writeFileContents", &ResourceManager::writeFileContents, &g_resources); - g_lua.bindSingletonFunction("g_resources", "guessFilePath", &ResourceManager::guessFilePath, &g_resources); - g_lua.bindSingletonFunction("g_resources", "makeDir", &ResourceManager::makeDir, &g_resources); - g_lua.bindSingletonFunction("g_resources", "deleteFile", &ResourceManager::deleteFile, &g_resources); - g_lua.bindSingletonFunction("g_resources", "readCrashLog", [] { return std::string(); }); - g_lua.bindSingletonFunction("g_resources", "deleteCrashLog", [] { return std::string(); }); - - g_lua.bindSingletonFunction("g_resources", "resolvePath", &ResourceManager::resolvePath, &g_resources); - g_lua.bindSingletonFunction("g_resources", "isLoadedFromMemory", &ResourceManager::isLoadedFromMemory, &g_resources); - g_lua.bindSingletonFunction("g_resources", "isLoadedFromArchive", &ResourceManager::isLoadedFromArchive, &g_resources); - g_lua.bindSingletonFunction("g_resources", "listUpdateableFiles", [] { return std::list(); } ); - g_lua.bindSingletonFunction("g_resources", "fileChecksum", &ResourceManager::fileChecksum, &g_resources); - g_lua.bindSingletonFunction("g_resources", "filesChecksums", &ResourceManager::filesChecksums, &g_resources); - g_lua.bindSingletonFunction("g_resources", "selfChecksum", &ResourceManager::selfChecksum, &g_resources); - g_lua.bindSingletonFunction("g_resources", "updateData", &ResourceManager::updateData, &g_resources); - g_lua.bindSingletonFunction("g_resources", "updateExecutable", &ResourceManager::updateExecutable, &g_resources); - g_lua.bindSingletonFunction("g_resources", "setLayout", &ResourceManager::setLayout, &g_resources); - g_lua.bindSingletonFunction("g_resources", "getLayout", &ResourceManager::getLayout, &g_resources); - - // Config - g_lua.registerClass(); - g_lua.bindClassMemberFunction("save", &Config::save); - g_lua.bindClassMemberFunction("setValue", &Config::setValue); - g_lua.bindClassMemberFunction("setList", &Config::setList); - g_lua.bindClassMemberFunction("getValue", &Config::getValue); - g_lua.bindClassMemberFunction("getList", &Config::getList); - g_lua.bindClassMemberFunction("exists", &Config::exists); - g_lua.bindClassMemberFunction("remove", &Config::remove); - g_lua.bindClassMemberFunction("setNode", &Config::setNode); - g_lua.bindClassMemberFunction("getNode", &Config::getNode); - g_lua.bindClassMemberFunction("mergeNode", &Config::mergeNode); - g_lua.bindClassMemberFunction("getFileName", &Config::getFileName); - - // Module - g_lua.registerClass(); - g_lua.bindClassMemberFunction("load", &Module::load); - g_lua.bindClassMemberFunction("unload", &Module::unload); - g_lua.bindClassMemberFunction("reload", &Module::reload); - g_lua.bindClassMemberFunction("canReload", &Module::canReload); - g_lua.bindClassMemberFunction("canUnload", &Module::canUnload); - g_lua.bindClassMemberFunction("isLoaded", &Module::isLoaded); - g_lua.bindClassMemberFunction("isReloadble", &Module::isReloadable); - g_lua.bindClassMemberFunction("isSandboxed", &Module::isSandboxed); - g_lua.bindClassMemberFunction("getDescription", &Module::getDescription); - g_lua.bindClassMemberFunction("getName", &Module::getName); - g_lua.bindClassMemberFunction("getAuthor", &Module::getAuthor); - g_lua.bindClassMemberFunction("getWebsite", &Module::getWebsite); - g_lua.bindClassMemberFunction("getVersion", &Module::getVersion); - g_lua.bindClassMemberFunction("getSandbox", &Module::getSandbox); - g_lua.bindClassMemberFunction("isAutoLoad", &Module::isAutoLoad); - g_lua.bindClassMemberFunction("getAutoLoadPriority", &Module::getAutoLoadPriority); - - // Event - g_lua.registerClass(); - g_lua.bindClassMemberFunction("cancel", &Event::cancel); - g_lua.bindClassMemberFunction("execute", &Event::execute); - g_lua.bindClassMemberFunction("isCanceled", &Event::isCanceled); - g_lua.bindClassMemberFunction("isExecuted", &Event::isExecuted); - - // ScheduledEvent - g_lua.registerClass(); - g_lua.bindClassMemberFunction("nextCycle", &ScheduledEvent::nextCycle); - g_lua.bindClassMemberFunction("ticks", &ScheduledEvent::ticks); - g_lua.bindClassMemberFunction("remainingTicks", &ScheduledEvent::remainingTicks); - g_lua.bindClassMemberFunction("delay", &ScheduledEvent::delay); - g_lua.bindClassMemberFunction("cyclesExecuted", &ScheduledEvent::cyclesExecuted); - g_lua.bindClassMemberFunction("maxCycles", &ScheduledEvent::maxCycles); - -#ifdef FW_GRAPHICS - // GraphicalApplication - g_lua.bindSingletonFunction("g_app", "setMaxFps", &GraphicalApplication::setMaxFps, &g_app); - g_lua.bindSingletonFunction("g_app", "getMaxFps", &GraphicalApplication::getMaxFps, &g_app); - g_lua.bindSingletonFunction("g_app", "getFps", &GraphicalApplication::getFps, &g_app); - g_lua.bindSingletonFunction("g_app", "getGraphicsFps", &GraphicalApplication::getGraphicsFps, &g_app); - g_lua.bindSingletonFunction("g_app", "getProcessingFps", &GraphicalApplication::getProcessingFps, &g_app); - g_lua.bindSingletonFunction("g_app", "isOnInputEvent", &GraphicalApplication::isOnInputEvent, &g_app); - g_lua.bindSingletonFunction("g_app", "doScreenshot", &GraphicalApplication::doScreenshot, &g_app); - g_lua.bindSingletonFunction("g_app", "scaleDown", &GraphicalApplication::scaleDown, &g_app); - g_lua.bindSingletonFunction("g_app", "scaleUp", &GraphicalApplication::scaleUp, &g_app); - g_lua.bindSingletonFunction("g_app", "scale", &GraphicalApplication::scale, &g_app); - - // AdaptiveRenderer - g_lua.registerSingletonClass("g_adaptiveRenderer"); - g_lua.bindSingletonFunction("g_adaptiveRenderer", "getLevel", &AdaptiveRenderer::getLevel, &g_adaptiveRenderer); - g_lua.bindSingletonFunction("g_adaptiveRenderer", "setLevel", &AdaptiveRenderer::setForcedLevel, &g_adaptiveRenderer); - g_lua.bindSingletonFunction("g_adaptiveRenderer", "getDebugInfo", &AdaptiveRenderer::getDebugInfo, &g_adaptiveRenderer); - - // PlatformWindow - g_lua.registerSingletonClass("g_window"); - g_lua.bindSingletonFunction("g_window", "move", &PlatformWindow::move, &g_window); - g_lua.bindSingletonFunction("g_window", "resize", &PlatformWindow::resize, &g_window); - g_lua.bindSingletonFunction("g_window", "show", &PlatformWindow::show, &g_window); - g_lua.bindSingletonFunction("g_window", "hide", &PlatformWindow::hide, &g_window); - g_lua.bindSingletonFunction("g_window", "poll", [] {}); // for backward compability - g_lua.bindSingletonFunction("g_window", "maximize", &PlatformWindow::maximize, &g_window); - g_lua.bindSingletonFunction("g_window", "restoreMouseCursor", &PlatformWindow::restoreMouseCursor, &g_window); - g_lua.bindSingletonFunction("g_window", "showMouse", &PlatformWindow::showMouse, &g_window); - g_lua.bindSingletonFunction("g_window", "hideMouse", &PlatformWindow::hideMouse, &g_window); - g_lua.bindSingletonFunction("g_window", "setTitle", &PlatformWindow::setTitle, &g_window); - g_lua.bindSingletonFunction("g_window", "setMouseCursor", &PlatformWindow::setMouseCursor, &g_window); - g_lua.bindSingletonFunction("g_window", "setMinimumSize", &PlatformWindow::setMinimumSize, &g_window); - g_lua.bindSingletonFunction("g_window", "setFullscreen", &PlatformWindow::setFullscreen, &g_window); - g_lua.bindSingletonFunction("g_window", "setVerticalSync", &PlatformWindow::setVerticalSync, &g_window); - g_lua.bindSingletonFunction("g_window", "setIcon", &PlatformWindow::setIcon, &g_window); - g_lua.bindSingletonFunction("g_window", "setClipboardText", &PlatformWindow::setClipboardText, &g_window); - g_lua.bindSingletonFunction("g_window", "getDisplaySize", &PlatformWindow::getDisplaySize, &g_window); - g_lua.bindSingletonFunction("g_window", "getClipboardText", &PlatformWindow::getClipboardText, &g_window); - g_lua.bindSingletonFunction("g_window", "getPlatformType", &PlatformWindow::getPlatformType, &g_window); - g_lua.bindSingletonFunction("g_window", "getDisplayWidth", &PlatformWindow::getDisplayWidth, &g_window); - g_lua.bindSingletonFunction("g_window", "getDisplayHeight", &PlatformWindow::getDisplayHeight, &g_window); - g_lua.bindSingletonFunction("g_window", "getUnmaximizedSize", &PlatformWindow::getUnmaximizedSize, &g_window); - g_lua.bindSingletonFunction("g_window", "getSize", &PlatformWindow::getSize, &g_window); - g_lua.bindSingletonFunction("g_window", "getWidth", &PlatformWindow::getWidth, &g_window); - g_lua.bindSingletonFunction("g_window", "getHeight", &PlatformWindow::getHeight, &g_window); - g_lua.bindSingletonFunction("g_window", "getUnmaximizedPos", &PlatformWindow::getUnmaximizedPos, &g_window); - g_lua.bindSingletonFunction("g_window", "getPosition", &PlatformWindow::getPosition, &g_window); - g_lua.bindSingletonFunction("g_window", "getX", &PlatformWindow::getX, &g_window); - g_lua.bindSingletonFunction("g_window", "getY", &PlatformWindow::getY, &g_window); - g_lua.bindSingletonFunction("g_window", "getMousePosition", &PlatformWindow::getMousePosition, &g_window); - g_lua.bindSingletonFunction("g_window", "getKeyboardModifiers", &PlatformWindow::getKeyboardModifiers, &g_window); - g_lua.bindSingletonFunction("g_window", "isKeyPressed", &PlatformWindow::isKeyPressed, &g_window); - g_lua.bindSingletonFunction("g_window", "isMouseButtonPressed", &PlatformWindow::isMouseButtonPressed, &g_window); - g_lua.bindSingletonFunction("g_window", "isVisible", &PlatformWindow::isVisible, &g_window); - g_lua.bindSingletonFunction("g_window", "isFullscreen", &PlatformWindow::isFullscreen, &g_window); - g_lua.bindSingletonFunction("g_window", "isMaximized", &PlatformWindow::isMaximized, &g_window); - g_lua.bindSingletonFunction("g_window", "hasFocus", &PlatformWindow::hasFocus, &g_window); - g_lua.bindSingletonFunction("g_window", "showTextEditor", &PlatformWindow::showTextEditor, &g_window); - - // Input - g_lua.registerSingletonClass("g_mouse"); - g_lua.bindSingletonFunction("g_mouse", "loadCursors", &Mouse::loadCursors, &g_mouse); - g_lua.bindSingletonFunction("g_mouse", "addCursor", &Mouse::addCursor, &g_mouse); - g_lua.bindSingletonFunction("g_mouse", "pushCursor", &Mouse::pushCursor, &g_mouse); - g_lua.bindSingletonFunction("g_mouse", "popCursor", &Mouse::popCursor, &g_mouse); - g_lua.bindSingletonFunction("g_mouse", "isCursorChanged", &Mouse::isCursorChanged, &g_mouse); - g_lua.bindSingletonFunction("g_mouse", "isPressed", &Mouse::isPressed, &g_mouse); - - // Graphics - g_lua.registerSingletonClass("g_graphics"); - g_lua.bindSingletonFunction("g_graphics", "getVendor", &Graphics::getVendor, &g_graphics); - g_lua.bindSingletonFunction("g_graphics", "getRenderer", &Graphics::getRenderer, &g_graphics); - g_lua.bindSingletonFunction("g_graphics", "getVersion", &Graphics::getVersion, &g_graphics); - g_lua.bindSingletonFunction("g_graphics", "getExtensions", &Graphics::getExtensions, &g_graphics); - - // Textures - g_lua.registerSingletonClass("g_textures"); - g_lua.bindSingletonFunction("g_textures", "preload", &TextureManager::preload, &g_textures); - g_lua.bindSingletonFunction("g_textures", "clearCache", &TextureManager::clearCache, &g_textures); - g_lua.bindSingletonFunction("g_textures", "reload", &TextureManager::reload, &g_textures); - - // UI - g_lua.registerSingletonClass("g_ui"); - g_lua.bindSingletonFunction("g_ui", "clearStyles", &UIManager::clearStyles, &g_ui); - g_lua.bindSingletonFunction("g_ui", "importStyle", &UIManager::importStyle, &g_ui); - g_lua.bindSingletonFunction("g_ui", "importStyleFromString", &UIManager::importStyleFromString, &g_ui); - g_lua.bindSingletonFunction("g_ui", "getStyle", &UIManager::getStyle, &g_ui); - g_lua.bindSingletonFunction("g_ui", "getStyleClass", &UIManager::getStyleClass, &g_ui); - g_lua.bindSingletonFunction("g_ui", "loadUI", &UIManager::loadUI, &g_ui); - g_lua.bindSingletonFunction("g_ui", "loadUIFromString", &UIManager::loadUIFromString, &g_ui); - g_lua.bindSingletonFunction("g_ui", "displayUI", &UIManager::displayUI, &g_ui); - g_lua.bindSingletonFunction("g_ui", "createWidget", &UIManager::createWidget, &g_ui); - g_lua.bindSingletonFunction("g_ui", "createWidgetFromOTML", &UIManager::createWidgetFromOTML, &g_ui); - g_lua.bindSingletonFunction("g_ui", "getRootWidget", &UIManager::getRootWidget, &g_ui); - g_lua.bindSingletonFunction("g_ui", "getDraggingWidget", &UIManager::getDraggingWidget, &g_ui); - g_lua.bindSingletonFunction("g_ui", "getPressedWidget", &UIManager::getPressedWidget, &g_ui); - g_lua.bindSingletonFunction("g_ui", "setDebugBoxesDrawing", &UIManager::setDebugBoxesDrawing, &g_ui); - g_lua.bindSingletonFunction("g_ui", "isDrawingDebugBoxes", &UIManager::isDrawingDebugBoxes, &g_ui); - g_lua.bindSingletonFunction("g_ui", "isMouseGrabbed", &UIManager::isMouseGrabbed, &g_ui); - g_lua.bindSingletonFunction("g_ui", "isKeyboardGrabbed", &UIManager::isKeyboardGrabbed, &g_ui); - - // FontManager - g_lua.registerSingletonClass("g_fonts"); - g_lua.bindSingletonFunction("g_fonts", "clearFonts", &FontManager::clearFonts, &g_fonts); - g_lua.bindSingletonFunction("g_fonts", "importFont", &FontManager::importFont, &g_fonts); - g_lua.bindSingletonFunction("g_fonts", "fontExists", &FontManager::fontExists, &g_fonts); - g_lua.bindSingletonFunction("g_fonts", "setDefaultFont", &FontManager::setDefaultFont, &g_fonts); - - // Particles, for backward compability - g_lua.registerSingletonClass("g_particles"); - g_lua.bindSingletonFunction("g_particles", "importParticle", [](const std::string& v) {}); - - // UIWidget - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UIWidgetPtr(new UIWidget); }); - g_lua.bindClassMemberFunction("addChild", &UIWidget::addChild); - g_lua.bindClassMemberFunction("insertChild", &UIWidget::insertChild); - g_lua.bindClassMemberFunction("removeChild", &UIWidget::removeChild); - g_lua.bindClassMemberFunction("focusChild", &UIWidget::focusChild); - g_lua.bindClassMemberFunction("focusNextChild", &UIWidget::focusNextChild); - g_lua.bindClassMemberFunction("focusPreviousChild", &UIWidget::focusPreviousChild); - g_lua.bindClassMemberFunction("lowerChild", &UIWidget::lowerChild); - g_lua.bindClassMemberFunction("raiseChild", &UIWidget::raiseChild); - g_lua.bindClassMemberFunction("moveChildToIndex", &UIWidget::moveChildToIndex); - g_lua.bindClassMemberFunction("reorderChildren", &UIWidget::reorderChildren); - g_lua.bindClassMemberFunction("lockChild", &UIWidget::lockChild); - g_lua.bindClassMemberFunction("unlockChild", &UIWidget::unlockChild); - g_lua.bindClassMemberFunction("mergeStyle", &UIWidget::mergeStyle); - g_lua.bindClassMemberFunction("applyStyle", &UIWidget::applyStyle); - g_lua.bindClassMemberFunction("addAnchor", &UIWidget::addAnchor); - g_lua.bindClassMemberFunction("removeAnchor", &UIWidget::removeAnchor); - g_lua.bindClassMemberFunction("fill", &UIWidget::fill); - g_lua.bindClassMemberFunction("centerIn", &UIWidget::centerIn); - g_lua.bindClassMemberFunction("breakAnchors", &UIWidget::breakAnchors); - g_lua.bindClassMemberFunction("updateParentLayout", &UIWidget::updateParentLayout); - g_lua.bindClassMemberFunction("updateLayout", &UIWidget::updateLayout); - g_lua.bindClassMemberFunction("lock", &UIWidget::lock); - g_lua.bindClassMemberFunction("unlock", &UIWidget::unlock); - g_lua.bindClassMemberFunction("focus", &UIWidget::focus); - g_lua.bindClassMemberFunction("lower", &UIWidget::lower); - g_lua.bindClassMemberFunction("raise", &UIWidget::raise); - g_lua.bindClassMemberFunction("grabMouse", &UIWidget::grabMouse); - g_lua.bindClassMemberFunction("ungrabMouse", &UIWidget::ungrabMouse); - g_lua.bindClassMemberFunction("grabKeyboard", &UIWidget::grabKeyboard); - g_lua.bindClassMemberFunction("ungrabKeyboard", &UIWidget::ungrabKeyboard); - g_lua.bindClassMemberFunction("bindRectToParent", &UIWidget::bindRectToParent); - g_lua.bindClassMemberFunction("destroy", &UIWidget::destroy); - g_lua.bindClassMemberFunction("destroyChildren", &UIWidget::destroyChildren); - g_lua.bindClassMemberFunction("setId", &UIWidget::setId); - g_lua.bindClassMemberFunction("setParent", &UIWidget::setParent); - g_lua.bindClassMemberFunction("setLayout", &UIWidget::setLayout); - g_lua.bindClassMemberFunction("setRect", &UIWidget::setRect); - g_lua.bindClassMemberFunction("setStyle", &UIWidget::setStyle); - g_lua.bindClassMemberFunction("setStyleFromNode", &UIWidget::setStyleFromNode); - g_lua.bindClassMemberFunction("setEnabled", &UIWidget::setEnabled); - g_lua.bindClassMemberFunction("setVisible", &UIWidget::setVisible); - g_lua.bindClassMemberFunction("setOn", &UIWidget::setOn); - g_lua.bindClassMemberFunction("setChecked", &UIWidget::setChecked); - g_lua.bindClassMemberFunction("setFocusable", &UIWidget::setFocusable); - g_lua.bindClassMemberFunction("setPhantom", &UIWidget::setPhantom); - g_lua.bindClassMemberFunction("setDraggable", &UIWidget::setDraggable); - g_lua.bindClassMemberFunction("setFixedSize", &UIWidget::setFixedSize); - g_lua.bindClassMemberFunction("setClipping", &UIWidget::setClipping); - g_lua.bindClassMemberFunction("setLastFocusReason", &UIWidget::setLastFocusReason); - g_lua.bindClassMemberFunction("setAutoFocusPolicy", &UIWidget::setAutoFocusPolicy); - g_lua.bindClassMemberFunction("setAutoRepeatDelay", &UIWidget::setAutoRepeatDelay); - g_lua.bindClassMemberFunction("setVirtualOffset", &UIWidget::setVirtualOffset); - g_lua.bindClassMemberFunction("isVisible", &UIWidget::isVisible); - g_lua.bindClassMemberFunction("isChildLocked", &UIWidget::isChildLocked); - g_lua.bindClassMemberFunction("hasChild", &UIWidget::hasChild); - g_lua.bindClassMemberFunction("getChildIndex", &UIWidget::getChildIndex); - g_lua.bindClassMemberFunction("getMarginRect", &UIWidget::getMarginRect); - g_lua.bindClassMemberFunction("getPaddingRect", &UIWidget::getPaddingRect); - g_lua.bindClassMemberFunction("getChildrenRect", &UIWidget::getChildrenRect); - g_lua.bindClassMemberFunction("getAnchoredLayout", &UIWidget::getAnchoredLayout); - g_lua.bindClassMemberFunction("getRootParent", &UIWidget::getRootParent); - g_lua.bindClassMemberFunction("getChildAfter", &UIWidget::getChildAfter); - g_lua.bindClassMemberFunction("getChildBefore", &UIWidget::getChildBefore); - g_lua.bindClassMemberFunction("getChildById", &UIWidget::getChildById); - g_lua.bindClassMemberFunction("getChildByPos", &UIWidget::getChildByPos); - g_lua.bindClassMemberFunction("getChildByIndex", &UIWidget::getChildByIndex); - g_lua.bindClassMemberFunction("recursiveGetChildById", &UIWidget::recursiveGetChildById); - g_lua.bindClassMemberFunction("recursiveGetChildByPos", &UIWidget::recursiveGetChildByPos); - g_lua.bindClassMemberFunction("recursiveGetChildren", &UIWidget::recursiveGetChildren); - g_lua.bindClassMemberFunction("recursiveGetChildrenByPos", &UIWidget::recursiveGetChildrenByPos); - g_lua.bindClassMemberFunction("recursiveGetChildrenByMarginPos", &UIWidget::recursiveGetChildrenByMarginPos); - g_lua.bindClassMemberFunction("backwardsGetWidgetById", &UIWidget::backwardsGetWidgetById); - g_lua.bindClassMemberFunction("resize", &UIWidget::resize); - g_lua.bindClassMemberFunction("move", &UIWidget::move); - g_lua.bindClassMemberFunction("hide", &UIWidget::hide); - g_lua.bindClassMemberFunction("show", &UIWidget::show); - g_lua.bindClassMemberFunction("disable", &UIWidget::disable); - g_lua.bindClassMemberFunction("enable", &UIWidget::enable); - g_lua.bindClassMemberFunction("isActive", &UIWidget::isActive); - g_lua.bindClassMemberFunction("isEnabled", &UIWidget::isEnabled); - g_lua.bindClassMemberFunction("isDisabled", &UIWidget::isDisabled); - g_lua.bindClassMemberFunction("isFocused", &UIWidget::isFocused); - g_lua.bindClassMemberFunction("isHovered", &UIWidget::isHovered); - g_lua.bindClassMemberFunction("isPressed", &UIWidget::isPressed); - g_lua.bindClassMemberFunction("isFirst", &UIWidget::isFirst); - g_lua.bindClassMemberFunction("isMiddle", &UIWidget::isMiddle); - g_lua.bindClassMemberFunction("isLast", &UIWidget::isLast); - g_lua.bindClassMemberFunction("isAlternate", &UIWidget::isAlternate); - g_lua.bindClassMemberFunction("isChecked", &UIWidget::isChecked); - g_lua.bindClassMemberFunction("isOn", &UIWidget::isOn); - g_lua.bindClassMemberFunction("isDragging", &UIWidget::isDragging); - g_lua.bindClassMemberFunction("isHidden", &UIWidget::isHidden); - g_lua.bindClassMemberFunction("isExplicitlyEnabled", &UIWidget::isExplicitlyEnabled); - g_lua.bindClassMemberFunction("isExplicitlyVisible", &UIWidget::isExplicitlyVisible); - g_lua.bindClassMemberFunction("isFocusable", &UIWidget::isFocusable); - g_lua.bindClassMemberFunction("isPhantom", &UIWidget::isPhantom); - g_lua.bindClassMemberFunction("isDraggable", &UIWidget::isDraggable); - g_lua.bindClassMemberFunction("isFixedSize", &UIWidget::isFixedSize); - g_lua.bindClassMemberFunction("isClipping", &UIWidget::isClipping); - g_lua.bindClassMemberFunction("isDestroyed", &UIWidget::isDestroyed); - g_lua.bindClassMemberFunction("hasChildren", &UIWidget::hasChildren); - g_lua.bindClassMemberFunction("containsMarginPoint", &UIWidget::containsMarginPoint); - g_lua.bindClassMemberFunction("containsPaddingPoint", &UIWidget::containsPaddingPoint); - g_lua.bindClassMemberFunction("containsPoint", &UIWidget::containsPoint); - g_lua.bindClassMemberFunction("getId", &UIWidget::getId); - g_lua.bindClassMemberFunction("getSource", &UIWidget::getSource); - g_lua.bindClassMemberFunction("getParent", &UIWidget::getParent); - g_lua.bindClassMemberFunction("getFocusedChild", &UIWidget::getFocusedChild); - g_lua.bindClassMemberFunction("getChildren", &UIWidget::getChildren); - g_lua.bindClassMemberFunction("getFirstChild", &UIWidget::getFirstChild); - g_lua.bindClassMemberFunction("getLastChild", &UIWidget::getLastChild); - g_lua.bindClassMemberFunction("getLayout", &UIWidget::getLayout); - g_lua.bindClassMemberFunction("getStyle", &UIWidget::getStyle); - g_lua.bindClassMemberFunction("getChildCount", &UIWidget::getChildCount); - g_lua.bindClassMemberFunction("getLastFocusReason", &UIWidget::getLastFocusReason); - g_lua.bindClassMemberFunction("getAutoFocusPolicy", &UIWidget::getAutoFocusPolicy); - g_lua.bindClassMemberFunction("getAutoRepeatDelay", &UIWidget::getAutoRepeatDelay); - g_lua.bindClassMemberFunction("getVirtualOffset", &UIWidget::getVirtualOffset); - g_lua.bindClassMemberFunction("getStyleName", &UIWidget::getStyleName); - g_lua.bindClassMemberFunction("getLastClickPosition", &UIWidget::getLastClickPosition); - g_lua.bindClassMemberFunction("setX", &UIWidget::setX); - g_lua.bindClassMemberFunction("setY", &UIWidget::setY); - g_lua.bindClassMemberFunction("setWidth", &UIWidget::setWidth); - g_lua.bindClassMemberFunction("setHeight", &UIWidget::setHeight); - g_lua.bindClassMemberFunction("setSize", &UIWidget::setSize); - g_lua.bindClassMemberFunction("setPosition", &UIWidget::setPosition); - g_lua.bindClassMemberFunction("setColor", &UIWidget::setColor); - g_lua.bindClassMemberFunction("setBackgroundColor", &UIWidget::setBackgroundColor); - g_lua.bindClassMemberFunction("setBackgroundOffsetX", &UIWidget::setBackgroundOffsetX); - g_lua.bindClassMemberFunction("setBackgroundOffsetY", &UIWidget::setBackgroundOffsetY); - g_lua.bindClassMemberFunction("setBackgroundOffset", &UIWidget::setBackgroundOffset); - g_lua.bindClassMemberFunction("setBackgroundWidth", &UIWidget::setBackgroundWidth); - g_lua.bindClassMemberFunction("setBackgroundHeight", &UIWidget::setBackgroundHeight); - g_lua.bindClassMemberFunction("setBackgroundSize", &UIWidget::setBackgroundSize); - g_lua.bindClassMemberFunction("setBackgroundRect", &UIWidget::setBackgroundRect); - g_lua.bindClassMemberFunction("setIcon", &UIWidget::setIcon); - g_lua.bindClassMemberFunction("setIconColor", &UIWidget::setIconColor); - g_lua.bindClassMemberFunction("setIconOffsetX", &UIWidget::setIconOffsetX); - g_lua.bindClassMemberFunction("setIconOffsetY", &UIWidget::setIconOffsetY); - g_lua.bindClassMemberFunction("setIconOffset", &UIWidget::setIconOffset); - g_lua.bindClassMemberFunction("setIconWidth", &UIWidget::setIconWidth); - g_lua.bindClassMemberFunction("setIconHeight", &UIWidget::setIconHeight); - g_lua.bindClassMemberFunction("setIconSize", &UIWidget::setIconSize); - g_lua.bindClassMemberFunction("setIconRect", &UIWidget::setIconRect); - g_lua.bindClassMemberFunction("setIconClip", &UIWidget::setIconClip); - g_lua.bindClassMemberFunction("setIconAlign", &UIWidget::setIconAlign); - g_lua.bindClassMemberFunction("setBorderWidth", &UIWidget::setBorderWidth); - g_lua.bindClassMemberFunction("setBorderWidthTop", &UIWidget::setBorderWidthTop); - g_lua.bindClassMemberFunction("setBorderWidthRight", &UIWidget::setBorderWidthRight); - g_lua.bindClassMemberFunction("setBorderWidthBottom", &UIWidget::setBorderWidthBottom); - g_lua.bindClassMemberFunction("setBorderWidthLeft", &UIWidget::setBorderWidthLeft); - g_lua.bindClassMemberFunction("setBorderColor", &UIWidget::setBorderColor); - g_lua.bindClassMemberFunction("setBorderColorTop", &UIWidget::setBorderColorTop); - g_lua.bindClassMemberFunction("setBorderColorRight", &UIWidget::setBorderColorRight); - g_lua.bindClassMemberFunction("setBorderColorBottom", &UIWidget::setBorderColorBottom); - g_lua.bindClassMemberFunction("setBorderColorLeft", &UIWidget::setBorderColorLeft); - g_lua.bindClassMemberFunction("setMargin", &UIWidget::setMargin); - g_lua.bindClassMemberFunction("setMarginHorizontal", &UIWidget::setMarginHorizontal); - g_lua.bindClassMemberFunction("setMarginVertical", &UIWidget::setMarginVertical); - g_lua.bindClassMemberFunction("setMarginTop", &UIWidget::setMarginTop); - g_lua.bindClassMemberFunction("setMarginRight", &UIWidget::setMarginRight); - g_lua.bindClassMemberFunction("setMarginBottom", &UIWidget::setMarginBottom); - g_lua.bindClassMemberFunction("setMarginLeft", &UIWidget::setMarginLeft); - g_lua.bindClassMemberFunction("setPadding", &UIWidget::setPadding); - g_lua.bindClassMemberFunction("setPaddingHorizontal", &UIWidget::setPaddingHorizontal); - g_lua.bindClassMemberFunction("setPaddingVertical", &UIWidget::setPaddingVertical); - g_lua.bindClassMemberFunction("setPaddingTop", &UIWidget::setPaddingTop); - g_lua.bindClassMemberFunction("setPaddingRight", &UIWidget::setPaddingRight); - g_lua.bindClassMemberFunction("setPaddingBottom", &UIWidget::setPaddingBottom); - g_lua.bindClassMemberFunction("setPaddingLeft", &UIWidget::setPaddingLeft); - g_lua.bindClassMemberFunction("setOpacity", &UIWidget::setOpacity); - g_lua.bindClassMemberFunction("setRotation", &UIWidget::setRotation); - g_lua.bindClassMemberFunction("getX", &UIWidget::getX); - g_lua.bindClassMemberFunction("getY", &UIWidget::getY); - g_lua.bindClassMemberFunction("getPosition", &UIWidget::getPosition); - g_lua.bindClassMemberFunction("getWidth", &UIWidget::getWidth); - g_lua.bindClassMemberFunction("getHeight", &UIWidget::getHeight); - g_lua.bindClassMemberFunction("getSize", &UIWidget::getSize); - g_lua.bindClassMemberFunction("getRect", &UIWidget::getRect); - g_lua.bindClassMemberFunction("getColor", &UIWidget::getColor); - g_lua.bindClassMemberFunction("getBackgroundColor", &UIWidget::getBackgroundColor); - g_lua.bindClassMemberFunction("getBackgroundOffsetX", &UIWidget::getBackgroundOffsetX); - g_lua.bindClassMemberFunction("getBackgroundOffsetY", &UIWidget::getBackgroundOffsetY); - g_lua.bindClassMemberFunction("getBackgroundOffset", &UIWidget::getBackgroundOffset); - g_lua.bindClassMemberFunction("getBackgroundWidth", &UIWidget::getBackgroundWidth); - g_lua.bindClassMemberFunction("getBackgroundHeight", &UIWidget::getBackgroundHeight); - g_lua.bindClassMemberFunction("getBackgroundSize", &UIWidget::getBackgroundSize); - g_lua.bindClassMemberFunction("getBackgroundRect", &UIWidget::getBackgroundRect); - g_lua.bindClassMemberFunction("getIconColor", &UIWidget::getIconColor); - g_lua.bindClassMemberFunction("getIconOffsetX", &UIWidget::getIconOffsetX); - g_lua.bindClassMemberFunction("getIconOffsetY", &UIWidget::getIconOffsetY); - g_lua.bindClassMemberFunction("getIconOffset", &UIWidget::getIconOffset); - g_lua.bindClassMemberFunction("getIconWidth", &UIWidget::getIconWidth); - g_lua.bindClassMemberFunction("getIconHeight", &UIWidget::getIconHeight); - g_lua.bindClassMemberFunction("getIconSize", &UIWidget::getIconSize); - g_lua.bindClassMemberFunction("getIconRect", &UIWidget::getIconRect); - g_lua.bindClassMemberFunction("getIconClip", &UIWidget::getIconClip); - g_lua.bindClassMemberFunction("getIconAlign", &UIWidget::getIconAlign); - g_lua.bindClassMemberFunction("getBorderTopColor", &UIWidget::getBorderTopColor); - g_lua.bindClassMemberFunction("getBorderRightColor", &UIWidget::getBorderRightColor); - g_lua.bindClassMemberFunction("getBorderBottomColor", &UIWidget::getBorderBottomColor); - g_lua.bindClassMemberFunction("getBorderLeftColor", &UIWidget::getBorderLeftColor); - g_lua.bindClassMemberFunction("getBorderTopWidth", &UIWidget::getBorderTopWidth); - g_lua.bindClassMemberFunction("getBorderRightWidth", &UIWidget::getBorderRightWidth); - g_lua.bindClassMemberFunction("getBorderBottomWidth", &UIWidget::getBorderBottomWidth); - g_lua.bindClassMemberFunction("getBorderLeftWidth", &UIWidget::getBorderLeftWidth); - g_lua.bindClassMemberFunction("getMarginTop", &UIWidget::getMarginTop); - g_lua.bindClassMemberFunction("getMarginRight", &UIWidget::getMarginRight); - g_lua.bindClassMemberFunction("getMarginBottom", &UIWidget::getMarginBottom); - g_lua.bindClassMemberFunction("getMarginLeft", &UIWidget::getMarginLeft); - g_lua.bindClassMemberFunction("getPaddingTop", &UIWidget::getPaddingTop); - g_lua.bindClassMemberFunction("getPaddingRight", &UIWidget::getPaddingRight); - g_lua.bindClassMemberFunction("getPaddingBottom", &UIWidget::getPaddingBottom); - g_lua.bindClassMemberFunction("getPaddingLeft", &UIWidget::getPaddingLeft); - g_lua.bindClassMemberFunction("getOpacity", &UIWidget::getOpacity); - g_lua.bindClassMemberFunction("getRotation", &UIWidget::getRotation); - g_lua.bindClassMemberFunction("setQRCode", &UIWidget::setQRCode); - g_lua.bindClassMemberFunction("setImageSource", &UIWidget::setImageSource); - g_lua.bindClassMemberFunction("setImageSourceBase64", &UIWidget::setImageSourceBase64); - g_lua.bindClassMemberFunction("setImageClip", &UIWidget::setImageClip); - g_lua.bindClassMemberFunction("setImageOffsetX", &UIWidget::setImageOffsetX); - g_lua.bindClassMemberFunction("setImageOffsetY", &UIWidget::setImageOffsetY); - g_lua.bindClassMemberFunction("setImageOffset", &UIWidget::setImageOffset); - g_lua.bindClassMemberFunction("setImageWidth", &UIWidget::setImageWidth); - g_lua.bindClassMemberFunction("setImageHeight", &UIWidget::setImageHeight); - g_lua.bindClassMemberFunction("setImageSize", &UIWidget::setImageSize); - g_lua.bindClassMemberFunction("setImageRect", &UIWidget::setImageRect); - g_lua.bindClassMemberFunction("setImageColor", &UIWidget::setImageColor); - g_lua.bindClassMemberFunction("setImageFixedRatio", &UIWidget::setImageFixedRatio); - g_lua.bindClassMemberFunction("setImageRepeated", &UIWidget::setImageRepeated); - g_lua.bindClassMemberFunction("setImageSmooth", &UIWidget::setImageSmooth); - g_lua.bindClassMemberFunction("setImageAutoResize", &UIWidget::setImageAutoResize); - g_lua.bindClassMemberFunction("setImageBorderTop", &UIWidget::setImageBorderTop); - g_lua.bindClassMemberFunction("setImageBorderRight", &UIWidget::setImageBorderRight); - g_lua.bindClassMemberFunction("setImageBorderBottom", &UIWidget::setImageBorderBottom); - g_lua.bindClassMemberFunction("setImageBorderLeft", &UIWidget::setImageBorderLeft); - g_lua.bindClassMemberFunction("setImageBorder", &UIWidget::setImageBorder); - g_lua.bindClassMemberFunction("getImageClip", &UIWidget::getImageClip); - g_lua.bindClassMemberFunction("getImageOffsetX", &UIWidget::getImageOffsetX); - g_lua.bindClassMemberFunction("getImageOffsetY", &UIWidget::getImageOffsetY); - g_lua.bindClassMemberFunction("getImageOffset", &UIWidget::getImageOffset); - g_lua.bindClassMemberFunction("getImageWidth", &UIWidget::getImageWidth); - g_lua.bindClassMemberFunction("getImageHeight", &UIWidget::getImageHeight); - g_lua.bindClassMemberFunction("getImageSize", &UIWidget::getImageSize); - g_lua.bindClassMemberFunction("getImageRect", &UIWidget::getImageRect); - g_lua.bindClassMemberFunction("getImageColor", &UIWidget::getImageColor); - g_lua.bindClassMemberFunction("isImageFixedRatio", &UIWidget::isImageFixedRatio); - g_lua.bindClassMemberFunction("isImageSmooth", &UIWidget::isImageSmooth); - g_lua.bindClassMemberFunction("isImageAutoResize", &UIWidget::isImageAutoResize); - g_lua.bindClassMemberFunction("getImageBorderTop", &UIWidget::getImageBorderTop); - g_lua.bindClassMemberFunction("getImageBorderRight", &UIWidget::getImageBorderRight); - g_lua.bindClassMemberFunction("getImageBorderBottom", &UIWidget::getImageBorderBottom); - g_lua.bindClassMemberFunction("getImageBorderLeft", &UIWidget::getImageBorderLeft); - g_lua.bindClassMemberFunction("getImageTextureWidth", &UIWidget::getImageTextureWidth); - g_lua.bindClassMemberFunction("getImageTextureHeight", &UIWidget::getImageTextureHeight); - g_lua.bindClassMemberFunction("resizeToText", &UIWidget::resizeToText); - g_lua.bindClassMemberFunction("clearText", &UIWidget::clearText); - g_lua.bindClassMemberFunction("setText", &UIWidget::setText); - g_lua.bindClassMemberFunction("setColoredText", &UIWidget::setColoredText); - g_lua.bindClassMemberFunction("setTextAlign", &UIWidget::setTextAlign); - g_lua.bindClassMemberFunction("setTextOffset", &UIWidget::setTextOffset); - g_lua.bindClassMemberFunction("setTextWrap", &UIWidget::setTextWrap); - g_lua.bindClassMemberFunction("setTextAutoResize", &UIWidget::setTextAutoResize); - g_lua.bindClassMemberFunction("setTextVerticalAutoResize", &UIWidget::setTextVerticalAutoResize); - g_lua.bindClassMemberFunction("setTextHorizontalAutoResize", &UIWidget::setTextHorizontalAutoResize); - g_lua.bindClassMemberFunction("setFont", &UIWidget::setFont); - g_lua.bindClassMemberFunction("getText", &UIWidget::getText); - g_lua.bindClassMemberFunction("getDrawText", &UIWidget::getDrawText); - g_lua.bindClassMemberFunction("getTextAlign", &UIWidget::getTextAlign); - g_lua.bindClassMemberFunction("getTextOffset", &UIWidget::getTextOffset); - g_lua.bindClassMemberFunction("getTextWrap", &UIWidget::getTextWrap); - g_lua.bindClassMemberFunction("getFont", &UIWidget::getFont); - g_lua.bindClassMemberFunction("getTextSize", &UIWidget::getTextSize); - g_lua.bindClassMemberFunction("getUseCount", &UIWidget::getUseCount); - - // UILayout - g_lua.registerClass(); - g_lua.bindClassMemberFunction("update", &UILayout::update); - g_lua.bindClassMemberFunction("updateLater", &UILayout::updateLater); - g_lua.bindClassMemberFunction("applyStyle", &UILayout::applyStyle); - g_lua.bindClassMemberFunction("addWidget", &UILayout::addWidget); - g_lua.bindClassMemberFunction("removeWidget", &UILayout::removeWidget); - g_lua.bindClassMemberFunction("disableUpdates", &UILayout::disableUpdates); - g_lua.bindClassMemberFunction("enableUpdates", &UILayout::enableUpdates); - g_lua.bindClassMemberFunction("setParent", &UILayout::setParent); - g_lua.bindClassMemberFunction("getParentWidget", &UILayout::getParentWidget); - g_lua.bindClassMemberFunction("isUpdateDisabled", &UILayout::isUpdateDisabled); - g_lua.bindClassMemberFunction("isUpdating", &UILayout::isUpdating); - g_lua.bindClassMemberFunction("isUIAnchorLayout", &UILayout::isUIAnchorLayout); - g_lua.bindClassMemberFunction("isUIBoxLayout", &UILayout::isUIBoxLayout); - g_lua.bindClassMemberFunction("isUIHorizontalLayout", &UILayout::isUIHorizontalLayout); - g_lua.bindClassMemberFunction("isUIVerticalLayout", &UILayout::isUIVerticalLayout); - g_lua.bindClassMemberFunction("isUIGridLayout", &UILayout::isUIGridLayout); - - // UIBoxLayout - g_lua.registerClass(); - g_lua.bindClassMemberFunction("setSpacing", &UIBoxLayout::setSpacing); - g_lua.bindClassMemberFunction("setFitChildren", &UIBoxLayout::setFitChildren); - - // UIVerticalLayout - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", [](UIWidgetPtr parent){ return UIVerticalLayoutPtr(new UIVerticalLayout(parent)); } ); - g_lua.bindClassMemberFunction("setAlignBottom", &UIVerticalLayout::setAlignBottom); - g_lua.bindClassMemberFunction("isAlignBottom", &UIVerticalLayout::isAlignBottom); - - // UIHorizontalLayout - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", [](UIWidgetPtr parent){ return UIHorizontalLayoutPtr(new UIHorizontalLayout(parent)); } ); - g_lua.bindClassMemberFunction("setAlignRight", &UIHorizontalLayout::setAlignRight); - - // UIGridLayout - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", [](UIWidgetPtr parent){ return UIGridLayoutPtr(new UIGridLayout(parent)); }); - g_lua.bindClassMemberFunction("setCellSize", &UIGridLayout::setCellSize); - g_lua.bindClassMemberFunction("setCellWidth", &UIGridLayout::setCellWidth); - g_lua.bindClassMemberFunction("setCellHeight", &UIGridLayout::setCellHeight); - g_lua.bindClassMemberFunction("setCellSpacing", &UIGridLayout::setCellSpacing); - g_lua.bindClassMemberFunction("setFlow", &UIGridLayout::setFlow); - g_lua.bindClassMemberFunction("setNumColumns", &UIGridLayout::setNumColumns); - g_lua.bindClassMemberFunction("setNumLines", &UIGridLayout::setNumLines); - g_lua.bindClassMemberFunction("getNumColumns", &UIGridLayout::getNumColumns); - g_lua.bindClassMemberFunction("getNumLines", &UIGridLayout::getNumLines); - g_lua.bindClassMemberFunction("getCellSize", &UIGridLayout::getCellSize); - g_lua.bindClassMemberFunction("getCellSpacing", &UIGridLayout::getCellSpacing); - g_lua.bindClassMemberFunction("isUIGridLayout", &UIGridLayout::isUIGridLayout); - - // UIAnchorLayout - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", [](UIWidgetPtr parent){ return UIAnchorLayoutPtr(new UIAnchorLayout(parent)); } ); - g_lua.bindClassMemberFunction("removeAnchors", &UIAnchorLayout::removeAnchors); - g_lua.bindClassMemberFunction("centerIn", &UIAnchorLayout::centerIn); - g_lua.bindClassMemberFunction("fill", &UIAnchorLayout::fill); - - // UITextEdit - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UITextEditPtr(new UITextEdit); } ); - g_lua.bindClassMemberFunction("setCursorPos", &UITextEdit::setCursorPos); - g_lua.bindClassMemberFunction("setSelection", &UITextEdit::setSelection); - g_lua.bindClassMemberFunction("setCursorVisible", &UITextEdit::setCursorVisible); - g_lua.bindClassMemberFunction("setChangeCursorImage", &UITextEdit::setChangeCursorImage); - g_lua.bindClassMemberFunction("setTextHidden", &UITextEdit::setTextHidden); - g_lua.bindClassMemberFunction("setValidCharacters", &UITextEdit::setValidCharacters); - g_lua.bindClassMemberFunction("setShiftNavigation", &UITextEdit::setShiftNavigation); - g_lua.bindClassMemberFunction("setMultiline", &UITextEdit::setMultiline); - g_lua.bindClassMemberFunction("setEditable", &UITextEdit::setEditable); - g_lua.bindClassMemberFunction("setSelectable", &UITextEdit::setSelectable); - g_lua.bindClassMemberFunction("setSelectionColor", &UITextEdit::setSelectionColor); - g_lua.bindClassMemberFunction("setSelectionBackgroundColor", &UITextEdit::setSelectionBackgroundColor); - g_lua.bindClassMemberFunction("setMaxLength", &UITextEdit::setMaxLength); - g_lua.bindClassMemberFunction("setTextVirtualOffset", &UITextEdit::setTextVirtualOffset); - g_lua.bindClassMemberFunction("getTextVirtualOffset", &UITextEdit::getTextVirtualOffset); - g_lua.bindClassMemberFunction("getTextVirtualSize", &UITextEdit::getTextVirtualSize); - g_lua.bindClassMemberFunction("getTextTotalSize", &UITextEdit::getTextTotalSize); - g_lua.bindClassMemberFunction("moveCursorHorizontally", &UITextEdit::moveCursorHorizontally); - g_lua.bindClassMemberFunction("moveCursorVertically", &UITextEdit::moveCursorVertically); - g_lua.bindClassMemberFunction("appendText", &UITextEdit::appendText); - g_lua.bindClassMemberFunction("wrapText", &UITextEdit::wrapText); - g_lua.bindClassMemberFunction("removeCharacter", &UITextEdit::removeCharacter); - g_lua.bindClassMemberFunction("blinkCursor", &UITextEdit::blinkCursor); - g_lua.bindClassMemberFunction("del", &UITextEdit::del); - g_lua.bindClassMemberFunction("paste", &UITextEdit::paste); - g_lua.bindClassMemberFunction("copy", &UITextEdit::copy); - g_lua.bindClassMemberFunction("cut", &UITextEdit::cut); - g_lua.bindClassMemberFunction("selectAll", &UITextEdit::selectAll); - g_lua.bindClassMemberFunction("clearSelection", &UITextEdit::clearSelection); - g_lua.bindClassMemberFunction("getDisplayedText", &UITextEdit::getDisplayedText); - g_lua.bindClassMemberFunction("getSelection", &UITextEdit::getSelection); - g_lua.bindClassMemberFunction("getTextPos", &UITextEdit::getTextPos); - g_lua.bindClassMemberFunction("getCursorPos", &UITextEdit::getCursorPos); - g_lua.bindClassMemberFunction("getMaxLength", &UITextEdit::getMaxLength); - g_lua.bindClassMemberFunction("getSelectionStart", &UITextEdit::getSelectionStart); - g_lua.bindClassMemberFunction("getSelectionEnd", &UITextEdit::getSelectionEnd); - g_lua.bindClassMemberFunction("getSelectionColor", &UITextEdit::getSelectionColor); - g_lua.bindClassMemberFunction("getSelectionBackgroundColor", &UITextEdit::getSelectionBackgroundColor); - g_lua.bindClassMemberFunction("hasSelection", &UITextEdit::hasSelection); - g_lua.bindClassMemberFunction("isEditable", &UITextEdit::isEditable); - g_lua.bindClassMemberFunction("isSelectable", &UITextEdit::isSelectable); - g_lua.bindClassMemberFunction("isCursorVisible", &UITextEdit::isCursorVisible); - g_lua.bindClassMemberFunction("isChangingCursorImage", &UITextEdit::isChangingCursorImage); - g_lua.bindClassMemberFunction("isTextHidden", &UITextEdit::isTextHidden); - g_lua.bindClassMemberFunction("isShiftNavigation", &UITextEdit::isShiftNavigation); - g_lua.bindClassMemberFunction("isMultiline", &UITextEdit::isMultiline); - - g_lua.registerClass(); - g_lua.registerClass(); - g_lua.bindClassMemberFunction("addMultiTexture", &PainterShaderProgram::addMultiTexture); -#endif - -#ifdef FW_NET - // Server - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", &Server::create); - g_lua.bindClassMemberFunction("close", &Server::close); - g_lua.bindClassMemberFunction("isOpen", &Server::isOpen); - g_lua.bindClassMemberFunction("acceptNext", &Server::acceptNext); - - // Connection - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getIp", &Connection::getIp); - - // Protocol - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return ProtocolPtr(new Protocol); }); - g_lua.bindClassMemberFunction("connect", &Protocol::connect); - g_lua.bindClassMemberFunction("disconnect", &Protocol::disconnect); - g_lua.bindClassMemberFunction("isConnected", &Protocol::isConnected); - g_lua.bindClassMemberFunction("isConnecting", &Protocol::isConnecting); - g_lua.bindClassMemberFunction("getConnection", &Protocol::getConnection); - g_lua.bindClassMemberFunction("setConnection", &Protocol::setConnection); - g_lua.bindClassMemberFunction("send", &Protocol::send); - g_lua.bindClassMemberFunction("recv", &Protocol::recv); - g_lua.bindClassMemberFunction("setXteaKey", &Protocol::setXteaKey); - g_lua.bindClassMemberFunction("getXteaKey", &Protocol::getXteaKey); - g_lua.bindClassMemberFunction("generateXteaKey", &Protocol::generateXteaKey); - g_lua.bindClassMemberFunction("enableXteaEncryption", &Protocol::enableXteaEncryption); - g_lua.bindClassMemberFunction("enableChecksum", &Protocol::enableChecksum); - g_lua.bindClassMemberFunction("enableBigPackets", &Protocol::enableBigPackets); - - // InputMessage - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return InputMessagePtr(new InputMessage); }); - g_lua.bindClassMemberFunction("setBuffer", &InputMessage::setBuffer); - g_lua.bindClassMemberFunction("getBuffer", &InputMessage::getBuffer); - g_lua.bindClassMemberFunction("skipBytes", &InputMessage::skipBytes); - g_lua.bindClassMemberFunction("getU8", &InputMessage::getU8); - g_lua.bindClassMemberFunction("getU16", &InputMessage::getU16); - g_lua.bindClassMemberFunction("getU32", &InputMessage::getU32); - g_lua.bindClassMemberFunction("getU64", &InputMessage::getU64); - g_lua.bindClassMemberFunction("getString", &InputMessage::getString); - g_lua.bindClassMemberFunction("peekU8", &InputMessage::peekU8); - g_lua.bindClassMemberFunction("peekU16", &InputMessage::peekU16); - g_lua.bindClassMemberFunction("peekU32", &InputMessage::peekU32); - g_lua.bindClassMemberFunction("peekU64", &InputMessage::peekU64); - g_lua.bindClassMemberFunction("decryptRsa", &InputMessage::decryptRsa); - g_lua.bindClassMemberFunction("getReadSize", &InputMessage::getReadSize); - g_lua.bindClassMemberFunction("getUnreadSize", &InputMessage::getUnreadSize); - g_lua.bindClassMemberFunction("getMessageSize", &InputMessage::getMessageSize); - g_lua.bindClassMemberFunction("eof", &InputMessage::eof); - - // OutputMessage - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return OutputMessagePtr(new OutputMessage); }); - g_lua.bindClassMemberFunction("setBuffer", &OutputMessage::setBuffer); - g_lua.bindClassMemberFunction("getBuffer", &OutputMessage::getBuffer); - g_lua.bindClassMemberFunction("reset", &OutputMessage::reset); - g_lua.bindClassMemberFunction("addU8", &OutputMessage::addU8); - g_lua.bindClassMemberFunction("addU16", &OutputMessage::addU16); - g_lua.bindClassMemberFunction("addU32", &OutputMessage::addU32); - g_lua.bindClassMemberFunction("addU64", &OutputMessage::addU64); - g_lua.bindClassMemberFunction("addString", &OutputMessage::addString); - g_lua.bindClassMemberFunction("addPaddingBytes", &OutputMessage::addPaddingBytes); - g_lua.bindClassMemberFunction("encryptRsa", &OutputMessage::encryptRsa); - g_lua.bindClassMemberFunction("getMessageSize", &OutputMessage::getMessageSize); - g_lua.bindClassMemberFunction("setMessageSize", &OutputMessage::setMessageSize); - g_lua.bindClassMemberFunction("getWritePos", &OutputMessage::getWritePos); - g_lua.bindClassMemberFunction("setWritePos", &OutputMessage::setWritePos); - -#ifdef FW_PROXY - g_lua.registerSingletonClass("g_proxy"); - g_lua.bindSingletonFunction("g_proxy", "addProxy", &ProxyManager::addProxy, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "removeProxy", &ProxyManager::removeProxy, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "clear", &ProxyManager::clear, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "setMaxActiveProxies", &ProxyManager::setMaxActiveProxies, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "getProxies", &ProxyManager::getProxies, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "getProxiesDebugInfo", &ProxyManager::getProxiesDebugInfo, &g_proxy); - g_lua.bindSingletonFunction("g_proxy", "getPing", &ProxyManager::getPing, &g_proxy); -#endif - -#endif - -#ifdef FW_SOUND - // SoundManager - g_lua.registerSingletonClass("g_sounds"); - g_lua.bindSingletonFunction("g_sounds", "preload", &SoundManager::preload, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "play", &SoundManager::play, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "getChannel", &SoundManager::getChannel, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "stopAll", &SoundManager::stopAll, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "enableAudio", &SoundManager::enableAudio, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "disableAudio", &SoundManager::disableAudio, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "setAudioEnabled", &SoundManager::setAudioEnabled, &g_sounds); - g_lua.bindSingletonFunction("g_sounds", "isAudioEnabled", &SoundManager::isAudioEnabled, &g_sounds); - - g_lua.registerClass(); - g_lua.registerClass(); - g_lua.registerClass(); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("play", &SoundChannel::play); - g_lua.bindClassMemberFunction("stop", &SoundChannel::stop); - g_lua.bindClassMemberFunction("enqueue", &SoundChannel::enqueue); - g_lua.bindClassMemberFunction("enable", &SoundChannel::enable); - g_lua.bindClassMemberFunction("disable", &SoundChannel::disable); - g_lua.bindClassMemberFunction("setGain", &SoundChannel::setGain); - g_lua.bindClassMemberFunction("getGain", &SoundChannel::getGain); - g_lua.bindClassMemberFunction("setEnabled", &SoundChannel::setEnabled); - g_lua.bindClassMemberFunction("isEnabled", &SoundChannel::isEnabled); - g_lua.bindClassMemberFunction("getId", &SoundChannel::getId); -#endif - -#ifdef FW_SQL - // Database - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getDatabaseEngine", &Database::getDatabaseEngine); - g_lua.bindClassMemberFunction("isConnected", &Database::isConnected); - g_lua.bindClassMemberFunction("getStringComparer", &Database::getStringComparer); - g_lua.bindClassMemberFunction("getUpdateLimiter", &Database::getUpdateLimiter); - g_lua.bindClassMemberFunction("getLastInsertedRowID", &Database::getLastInsertedRowID); - g_lua.bindClassMemberFunction("escapeString", &Database::escapeString); - //g_lua.bindClassMemberFunction("escapeBlob", &Database::escapeBlob); // need to write a cast for this type to work (if needed) - - // DBQuery - /* (not sure if this class will work as a luafunction) - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return DBQuery(); }); - g_lua.bindClassMemberFunction("append", &DBQuery::append); - g_lua.bindClassMemberFunction("set", &DBQuery::set); - */ - - // DBResult - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getDataInt", &DBResult::getDataInt); - g_lua.bindClassMemberFunction("getDataLong", &DBResult::getDataLong); - g_lua.bindClassMemberFunction("getDataString", &DBResult::getDataString); - //g_lua.bindClassMemberFunction("getDataStream", &DBResult::getDataStream); // need to write a cast for this type to work (if needed) - g_lua.bindClassMemberFunction("getRowCount", &DBResult::getRowCount); - g_lua.bindClassMemberFunction("free", &DBResult::free); - g_lua.bindClassMemberFunction("next", &DBResult::next); - - // MySQL - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return DatabaseMySQLPtr(new DatabaseMySQL); }); - g_lua.bindClassMemberFunction("connect", &DatabaseMySQL::connect); - g_lua.bindClassMemberFunction("beginTransaction", &DatabaseMySQL::beginTransaction); - g_lua.bindClassMemberFunction("rollback", &DatabaseMySQL::rollback); - g_lua.bindClassMemberFunction("commit", &DatabaseMySQL::commit); - g_lua.bindClassMemberFunction("executeQuery", &DatabaseMySQL::executeQuery); - g_lua.bindClassMemberFunction("storeQuery", &DatabaseMySQL::storeQuery); - - // MySQLResult - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getDataInt", &MySQLResult::getDataInt); - g_lua.bindClassMemberFunction("getDataLong", &MySQLResult::getDataLong); - g_lua.bindClassMemberFunction("getDataString", &MySQLResult::getDataString); - //g_lua.bindClassMemberFunction("getDataStream", &MySQLResult::getDataStream); // need to write a cast for this type to work (if needed) - g_lua.bindClassMemberFunction("getRowCount", &MySQLResult::getRowCount); - g_lua.bindClassMemberFunction("free", &MySQLResult::free); - g_lua.bindClassMemberFunction("next", &MySQLResult::next); -#endif -} diff --git a/lua_functions/luafunctions_client.cpp b/lua_functions/luafunctions_client.cpp deleted file mode 100644 index 7290a21..0000000 --- a/lua_functions/luafunctions_client.cpp +++ /dev/null @@ -1,921 +0,0 @@ -/* - * Copyright (c) 2010-2017 OTClient - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - */ - -#include "client.h" -#include "luavaluecasts_client.h" -#include "game.h" -#include "tile.h" -#include "houses.h" -#include "towns.h" -#include "container.h" -#include "item.h" -#include "effect.h" -#include "missile.h" -#include "statictext.h" -#include "animatedtext.h" -#include "creature.h" -#include "player.h" -#include "localplayer.h" -#include "map.h" -#include "minimap.h" -#include "thingtypemanager.h" -#include "spritemanager.h" -#include "shadermanager.h" -#include "protocolgame.h" -#include "uiitem.h" -#include "uicreature.h" -#include "uimap.h" -#include "uiminimap.h" -#include "uimapanchorlayout.h" -#include "uiprogressrect.h" -#include "uisprite.h" -#include "outfit.h" - -#include - -void Client::registerLuaFunctions() -{ - g_lua.registerSingletonClass("g_things"); - g_lua.bindSingletonFunction("g_things", "loadDat", &ThingTypeManager::loadDat, &g_things); -#ifdef WITH_ENCRYPTION - g_lua.bindSingletonFunction("g_things", "saveDat", &ThingTypeManager::saveDat, &g_things); - g_lua.bindSingletonFunction("g_things", "dumpTextures", &ThingTypeManager::dumpTextures, &g_things); - g_lua.bindSingletonFunction("g_things", "replaceTextures", &ThingTypeManager::replaceTextures, &g_things); -#endif - g_lua.bindSingletonFunction("g_things", "loadOtb", &ThingTypeManager::loadOtb, &g_things); - g_lua.bindSingletonFunction("g_things", "loadXml", &ThingTypeManager::loadXml, &g_things); - g_lua.bindSingletonFunction("g_things", "loadOtml", &ThingTypeManager::loadOtml, &g_things); - g_lua.bindSingletonFunction("g_things", "isDatLoaded", &ThingTypeManager::isDatLoaded, &g_things); - g_lua.bindSingletonFunction("g_things", "isOtbLoaded", &ThingTypeManager::isOtbLoaded, &g_things); - g_lua.bindSingletonFunction("g_things", "getDatSignature", &ThingTypeManager::getDatSignature, &g_things); - g_lua.bindSingletonFunction("g_things", "getContentRevision", &ThingTypeManager::getContentRevision, &g_things); - g_lua.bindSingletonFunction("g_things", "getThingType", &ThingTypeManager::getThingType, &g_things); - g_lua.bindSingletonFunction("g_things", "getItemType", &ThingTypeManager::getItemType, &g_things); - g_lua.bindSingletonFunction("g_things", "getThingTypes", &ThingTypeManager::getThingTypes, &g_things); - g_lua.bindSingletonFunction("g_things", "findItemTypeByClientId", &ThingTypeManager::findItemTypeByClientId, &g_things); - g_lua.bindSingletonFunction("g_things", "findItemTypeByName", &ThingTypeManager::findItemTypeByName, &g_things); - g_lua.bindSingletonFunction("g_things", "findItemTypesByName", &ThingTypeManager::findItemTypesByName, &g_things); - g_lua.bindSingletonFunction("g_things", "findItemTypesByString", &ThingTypeManager::findItemTypesByString, &g_things); - g_lua.bindSingletonFunction("g_things", "findItemTypeByCategory", &ThingTypeManager::findItemTypeByCategory, &g_things); - g_lua.bindSingletonFunction("g_things", "findThingTypeByAttr", &ThingTypeManager::findThingTypeByAttr, &g_things); - g_lua.bindSingletonFunction("g_things", "getMarketCategories", &ThingTypeManager::getMarketCategories, &g_things); - - g_lua.registerSingletonClass("g_houses"); - g_lua.bindSingletonFunction("g_houses", "clear", &HouseManager::clear, &g_houses); - g_lua.bindSingletonFunction("g_houses", "load", &HouseManager::load, &g_houses); - g_lua.bindSingletonFunction("g_houses", "save", &HouseManager::save, &g_houses); - g_lua.bindSingletonFunction("g_houses", "getHouse", &HouseManager::getHouse, &g_houses); - g_lua.bindSingletonFunction("g_houses", "getHouseByName", &HouseManager::getHouseByName, &g_houses); - g_lua.bindSingletonFunction("g_houses", "addHouse", &HouseManager::addHouse, &g_houses); - g_lua.bindSingletonFunction("g_houses", "removeHouse", &HouseManager::removeHouse, &g_houses); - g_lua.bindSingletonFunction("g_houses", "getHouseList", &HouseManager::getHouseList, &g_houses); - g_lua.bindSingletonFunction("g_houses", "filterHouses", &HouseManager::filterHouses, &g_houses); - g_lua.bindSingletonFunction("g_houses", "sort", &HouseManager::sort, &g_houses); - - g_lua.registerSingletonClass("g_towns"); - g_lua.bindSingletonFunction("g_towns", "getTown", &TownManager::getTown, &g_towns); - g_lua.bindSingletonFunction("g_towns", "getTownByName",&TownManager::getTownByName,&g_towns); - g_lua.bindSingletonFunction("g_towns", "addTown", &TownManager::addTown, &g_towns); - g_lua.bindSingletonFunction("g_towns", "removeTown", &TownManager::removeTown, &g_towns); - g_lua.bindSingletonFunction("g_towns", "getTowns", &TownManager::getTowns, &g_towns); - g_lua.bindSingletonFunction("g_towns", "sort", &TownManager::sort, &g_towns); - - g_lua.registerSingletonClass("g_sprites"); - g_lua.bindSingletonFunction("g_sprites", "loadSpr", &SpriteManager::loadSpr, &g_sprites); -#ifdef WITH_ENCRYPTION - g_lua.bindSingletonFunction("g_sprites", "saveSpr", &SpriteManager::saveSpr, &g_sprites); - g_lua.bindSingletonFunction("g_sprites", "dumpSprites", &SpriteManager::dumpSprites, &g_sprites); - g_lua.bindSingletonFunction("g_sprites", "encryptSprites", &SpriteManager::encryptSprites, &g_sprites); -#endif - g_lua.bindSingletonFunction("g_sprites", "unload", &SpriteManager::unload, &g_sprites); - g_lua.bindSingletonFunction("g_sprites", "isLoaded", &SpriteManager::isLoaded, &g_sprites); - g_lua.bindSingletonFunction("g_sprites", "getSprSignature", &SpriteManager::getSignature, &g_sprites); - g_lua.bindSingletonFunction("g_sprites", "getSpritesCount", &SpriteManager::getSpritesCount, &g_sprites); - - g_lua.registerSingletonClass("g_map"); - g_lua.bindSingletonFunction("g_map", "isLookPossible", &Map::isLookPossible, &g_map); - g_lua.bindSingletonFunction("g_map", "isCovered", &Map::isCovered, &g_map); - g_lua.bindSingletonFunction("g_map", "isCompletelyCovered", &Map::isCompletelyCovered, &g_map); - g_lua.bindSingletonFunction("g_map", "addThing", &Map::addThing, &g_map); - g_lua.bindSingletonFunction("g_map", "getThing", &Map::getThing, &g_map); - g_lua.bindSingletonFunction("g_map", "removeThingByPos", &Map::removeThingByPos, &g_map); - g_lua.bindSingletonFunction("g_map", "removeThing", &Map::removeThing, &g_map); - g_lua.bindSingletonFunction("g_map", "colorizeThing", &Map::colorizeThing, &g_map); - g_lua.bindSingletonFunction("g_map", "removeThingColor", &Map::removeThingColor, &g_map); - g_lua.bindSingletonFunction("g_map", "clean", &Map::clean, &g_map); - g_lua.bindSingletonFunction("g_map", "cleanTile", &Map::cleanTile, &g_map); - g_lua.bindSingletonFunction("g_map", "cleanTexts", &Map::cleanTexts, &g_map); - g_lua.bindSingletonFunction("g_map", "getTile", &Map::getTile, &g_map); - g_lua.bindSingletonFunction("g_map", "getOrCreateTile", &Map::getOrCreateTile, &g_map); - g_lua.bindSingletonFunction("g_map", "getTiles", &Map::getTiles, &g_map); - g_lua.bindSingletonFunction("g_map", "setCentralPosition", &Map::setCentralPosition, &g_map); - g_lua.bindSingletonFunction("g_map", "getCentralPosition", &Map::getCentralPosition, &g_map); - g_lua.bindSingletonFunction("g_map", "getCreatureById", &Map::getCreatureById, &g_map); - g_lua.bindSingletonFunction("g_map", "removeCreatureById", &Map::removeCreatureById, &g_map); - g_lua.bindSingletonFunction("g_map", "getSpectators", &Map::getSpectators, &g_map); - g_lua.bindSingletonFunction("g_map", "getSpectatorsInRange", &Map::getSpectatorsInRange, &g_map); - g_lua.bindSingletonFunction("g_map", "getSpectatorsInRangeEx", &Map::getSpectatorsInRangeEx, &g_map); - g_lua.bindSingletonFunction("g_map", "findPath", &Map::findPath, &g_map); - g_lua.bindSingletonFunction("g_map", "loadOtbm", &Map::loadOtbm, &g_map); - g_lua.bindSingletonFunction("g_map", "saveOtbm", &Map::saveOtbm, &g_map); - g_lua.bindSingletonFunction("g_map", "loadOtcm", &Map::loadOtcm, &g_map); - g_lua.bindSingletonFunction("g_map", "saveOtcm", &Map::saveOtcm, &g_map); - g_lua.bindSingletonFunction("g_map", "getHouseFile", &Map::getHouseFile, &g_map); - g_lua.bindSingletonFunction("g_map", "setHouseFile", &Map::setHouseFile, &g_map); - g_lua.bindSingletonFunction("g_map", "getSpawnFile", &Map::getSpawnFile, &g_map); - g_lua.bindSingletonFunction("g_map", "setSpawnFile", &Map::setSpawnFile, &g_map); - g_lua.bindSingletonFunction("g_map", "createTile", &Map::createTile, &g_map); - g_lua.bindSingletonFunction("g_map", "setWidth", &Map::setWidth, &g_map); - g_lua.bindSingletonFunction("g_map", "setHeight", &Map::setHeight, &g_map); - g_lua.bindSingletonFunction("g_map", "getSize", &Map::getSize, &g_map); - g_lua.bindSingletonFunction("g_map", "setDescription", &Map::setDescription, &g_map); - g_lua.bindSingletonFunction("g_map", "getDescriptions", &Map::getDescriptions, &g_map); - g_lua.bindSingletonFunction("g_map", "clearDescriptions", &Map::clearDescriptions, &g_map); - g_lua.bindSingletonFunction("g_map", "setShowZone", &Map::setShowZone, &g_map); - g_lua.bindSingletonFunction("g_map", "setShowZones", &Map::setShowZones, &g_map); - g_lua.bindSingletonFunction("g_map", "setZoneColor", &Map::setZoneColor, &g_map); - g_lua.bindSingletonFunction("g_map", "setZoneOpacity", &Map::setZoneOpacity, &g_map); - g_lua.bindSingletonFunction("g_map", "getZoneOpacity", &Map::getZoneOpacity, &g_map); - g_lua.bindSingletonFunction("g_map", "getZoneColor", &Map::getZoneColor, &g_map); - g_lua.bindSingletonFunction("g_map", "showZones", &Map::showZones, &g_map); - g_lua.bindSingletonFunction("g_map", "showZone", &Map::showZone, &g_map); - g_lua.bindSingletonFunction("g_map", "setForceShowAnimations", &Map::setForceShowAnimations, &g_map); - g_lua.bindSingletonFunction("g_map", "isForcingAnimations", &Map::isForcingAnimations, &g_map); - g_lua.bindSingletonFunction("g_map", "isShowingAnimations", &Map::isShowingAnimations, &g_map); - g_lua.bindSingletonFunction("g_map", "setShowAnimations", &Map::setShowAnimations, &g_map); - g_lua.bindSingletonFunction("g_map", "findItemsById", &Map::findItemsById, &g_map); - g_lua.bindSingletonFunction("g_map", "getAwareRange", &Map::getAwareRangeAsSize, &g_map); - g_lua.bindSingletonFunction("g_map", "findEveryPath", &Map::findEveryPath, &g_map); - g_lua.bindSingletonFunction("g_map", "getMinimapColor", &Map::getMinimapColor, &g_map); - g_lua.bindSingletonFunction("g_map", "isPatchable", &Map::isPatchable, &g_map); - g_lua.bindSingletonFunction("g_map", "isWalkable", &Map::isWalkable, &g_map); - - g_lua.registerSingletonClass("g_minimap"); - g_lua.bindSingletonFunction("g_minimap", "clean", &Minimap::clean, &g_minimap); - g_lua.bindSingletonFunction("g_minimap", "loadImage", &Minimap::loadImage, &g_minimap); - g_lua.bindSingletonFunction("g_minimap", "saveImage", &Minimap::saveImage, &g_minimap); - g_lua.bindSingletonFunction("g_minimap", "loadOtmm", &Minimap::loadOtmm, &g_minimap); - g_lua.bindSingletonFunction("g_minimap", "saveOtmm", &Minimap::saveOtmm, &g_minimap); - - g_lua.registerSingletonClass("g_creatures"); - g_lua.bindSingletonFunction("g_creatures", "getCreatures", &CreatureManager::getCreatures, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "getCreatureByName", &CreatureManager::getCreatureByName, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "getCreatureByLook", &CreatureManager::getCreatureByLook, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "getSpawn", &CreatureManager::getSpawn, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "getSpawnForPlacePos", &CreatureManager::getSpawnForPlacePos, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "addSpawn", &CreatureManager::addSpawn, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "loadMonsters", &CreatureManager::loadMonsters, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "loadNpcs", &CreatureManager::loadNpcs, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "loadSingleCreature", &CreatureManager::loadSingleCreature, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "loadSpawns", &CreatureManager::loadSpawns, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "saveSpawns", &CreatureManager::saveSpawns, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "isLoaded", &CreatureManager::isLoaded, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "isSpawnLoaded", &CreatureManager::isSpawnLoaded, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "clear", &CreatureManager::clear, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "clearSpawns", &CreatureManager::clearSpawns, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "getSpawns", &CreatureManager::getSpawns, &g_creatures); - g_lua.bindSingletonFunction("g_creatures", "deleteSpawn", &CreatureManager::deleteSpawn, &g_creatures); - - g_lua.registerSingletonClass("g_game"); - g_lua.bindSingletonFunction("g_game", "loginWorld", &Game::loginWorld, &g_game); - g_lua.bindSingletonFunction("g_game", "cancelLogin", &Game::cancelLogin, &g_game); - g_lua.bindSingletonFunction("g_game", "forceLogout", &Game::forceLogout, &g_game); - g_lua.bindSingletonFunction("g_game", "safeLogout", &Game::safeLogout, &g_game); - g_lua.bindSingletonFunction("g_game", "walk", &Game::walk, &g_game); - g_lua.bindSingletonFunction("g_game", "autoWalk", &Game::autoWalk, &g_game); - g_lua.bindSingletonFunction("g_game", "turn", &Game::turn, &g_game); - g_lua.bindSingletonFunction("g_game", "stop", &Game::stop, &g_game); - g_lua.bindSingletonFunction("g_game", "look", &Game::look, &g_game); - g_lua.bindSingletonFunction("g_game", "move", &Game::move, &g_game); - g_lua.bindSingletonFunction("g_game", "moveRaw", &Game::moveRaw, &g_game); - g_lua.bindSingletonFunction("g_game", "moveToParentContainer", &Game::moveToParentContainer, &g_game); - g_lua.bindSingletonFunction("g_game", "rotate", &Game::rotate, &g_game); - g_lua.bindSingletonFunction("g_game", "wrap", &Game::wrap, &g_game); - g_lua.bindSingletonFunction("g_game", "use", &Game::use, &g_game); - g_lua.bindSingletonFunction("g_game", "useWith", &Game::useWith, &g_game); - g_lua.bindSingletonFunction("g_game", "useInventoryItem", &Game::useInventoryItem, &g_game); - g_lua.bindSingletonFunction("g_game", "useInventoryItemWith", &Game::useInventoryItemWith, &g_game); - g_lua.bindSingletonFunction("g_game", "findItemInContainers", &Game::findItemInContainers, &g_game); - g_lua.bindSingletonFunction("g_game", "open", &Game::open, &g_game); - g_lua.bindSingletonFunction("g_game", "openParent", &Game::openParent, &g_game); - g_lua.bindSingletonFunction("g_game", "close", &Game::close, &g_game); - g_lua.bindSingletonFunction("g_game", "refreshContainer", &Game::refreshContainer, &g_game); - g_lua.bindSingletonFunction("g_game", "attack", &Game::attack, &g_game); - g_lua.bindSingletonFunction("g_game", "cancelAttack", &Game::cancelAttack, &g_game); - g_lua.bindSingletonFunction("g_game", "follow", &Game::follow, &g_game); - g_lua.bindSingletonFunction("g_game", "cancelFollow", &Game::cancelFollow, &g_game); - g_lua.bindSingletonFunction("g_game", "cancelAttackAndFollow", &Game::cancelAttackAndFollow, &g_game); - g_lua.bindSingletonFunction("g_game", "talk", &Game::talk, &g_game); - g_lua.bindSingletonFunction("g_game", "talkChannel", &Game::talkChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "talkPrivate", &Game::talkPrivate, &g_game); - g_lua.bindSingletonFunction("g_game", "openPrivateChannel", &Game::openPrivateChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "requestChannels", &Game::requestChannels, &g_game); - g_lua.bindSingletonFunction("g_game", "joinChannel", &Game::joinChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "leaveChannel", &Game::leaveChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "closeNpcChannel", &Game::closeNpcChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "openOwnChannel", &Game::openOwnChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "inviteToOwnChannel", &Game::inviteToOwnChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "excludeFromOwnChannel", &Game::excludeFromOwnChannel, &g_game); - g_lua.bindSingletonFunction("g_game", "partyInvite", &Game::partyInvite, &g_game); - g_lua.bindSingletonFunction("g_game", "partyJoin", &Game::partyJoin, &g_game); - g_lua.bindSingletonFunction("g_game", "partyRevokeInvitation", &Game::partyRevokeInvitation, &g_game); - g_lua.bindSingletonFunction("g_game", "partyPassLeadership", &Game::partyPassLeadership, &g_game); - g_lua.bindSingletonFunction("g_game", "partyLeave", &Game::partyLeave, &g_game); - g_lua.bindSingletonFunction("g_game", "partyShareExperience", &Game::partyShareExperience, &g_game); - g_lua.bindSingletonFunction("g_game", "requestOutfit", &Game::requestOutfit, &g_game); - g_lua.bindSingletonFunction("g_game", "changeOutfit", &Game::changeOutfit, &g_game); - g_lua.bindSingletonFunction("g_game", "addVip", &Game::addVip, &g_game); - g_lua.bindSingletonFunction("g_game", "removeVip", &Game::removeVip, &g_game); - g_lua.bindSingletonFunction("g_game", "editVip", &Game::editVip, &g_game); - g_lua.bindSingletonFunction("g_game", "setChaseMode", &Game::setChaseMode, &g_game); - g_lua.bindSingletonFunction("g_game", "setFightMode", &Game::setFightMode, &g_game); - g_lua.bindSingletonFunction("g_game", "setPVPMode", &Game::setPVPMode, &g_game); - g_lua.bindSingletonFunction("g_game", "setSafeFight", &Game::setSafeFight, &g_game); - g_lua.bindSingletonFunction("g_game", "getChaseMode", &Game::getChaseMode, &g_game); - g_lua.bindSingletonFunction("g_game", "getFightMode", &Game::getFightMode, &g_game); - g_lua.bindSingletonFunction("g_game", "getPVPMode", &Game::getPVPMode, &g_game); - g_lua.bindSingletonFunction("g_game", "getUnjustifiedPoints", &Game::getUnjustifiedPoints, &g_game); - g_lua.bindSingletonFunction("g_game", "getOpenPvpSituations", &Game::getOpenPvpSituations, &g_game); - g_lua.bindSingletonFunction("g_game", "isSafeFight", &Game::isSafeFight, &g_game); - g_lua.bindSingletonFunction("g_game", "inspectNpcTrade", &Game::inspectNpcTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "buyItem", &Game::buyItem, &g_game); - g_lua.bindSingletonFunction("g_game", "sellItem", &Game::sellItem, &g_game); - g_lua.bindSingletonFunction("g_game", "closeNpcTrade", &Game::closeNpcTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "requestTrade", &Game::requestTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "inspectTrade", &Game::inspectTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "acceptTrade", &Game::acceptTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "rejectTrade", &Game::rejectTrade, &g_game); - g_lua.bindSingletonFunction("g_game", "openRuleViolation", &Game::openRuleViolation, &g_game); - g_lua.bindSingletonFunction("g_game", "closeRuleViolation", &Game::closeRuleViolation, &g_game); - g_lua.bindSingletonFunction("g_game", "cancelRuleViolation", &Game::cancelRuleViolation, &g_game); - g_lua.bindSingletonFunction("g_game", "reportBug", &Game::reportBug, &g_game); - g_lua.bindSingletonFunction("g_game", "reportRuleViolation", &Game::reportRuleViolation, &g_game); - g_lua.bindSingletonFunction("g_game", "debugReport", &Game::debugReport, &g_game); - g_lua.bindSingletonFunction("g_game", "editText", &Game::editText, &g_game); - g_lua.bindSingletonFunction("g_game", "editList", &Game::editList, &g_game); - g_lua.bindSingletonFunction("g_game", "requestQuestLog", &Game::requestQuestLog, &g_game); - g_lua.bindSingletonFunction("g_game", "requestQuestLine", &Game::requestQuestLine, &g_game); - g_lua.bindSingletonFunction("g_game", "equipItem", &Game::equipItem, &g_game); - g_lua.bindSingletonFunction("g_game", "mount", &Game::mount, &g_game); - g_lua.bindSingletonFunction("g_game", "requestItemInfo", &Game::requestItemInfo, &g_game); - g_lua.bindSingletonFunction("g_game", "ping", &Game::ping, &g_game); - g_lua.bindSingletonFunction("g_game", "setPingDelay", &Game::setPingDelay, &g_game); - g_lua.bindSingletonFunction("g_game", "changeMapAwareRange", &Game::changeMapAwareRange, &g_game); - g_lua.bindSingletonFunction("g_game", "canPerformGameAction", &Game::canPerformGameAction, &g_game); - g_lua.bindSingletonFunction("g_game", "canReportBugs", &Game::canReportBugs, &g_game); - g_lua.bindSingletonFunction("g_game", "checkBotProtection", &Game::checkBotProtection, &g_game); - g_lua.bindSingletonFunction("g_game", "isOnline", &Game::isOnline, &g_game); - g_lua.bindSingletonFunction("g_game", "isLogging", &Game::isLogging, &g_game); - g_lua.bindSingletonFunction("g_game", "isDead", &Game::isDead, &g_game); - g_lua.bindSingletonFunction("g_game", "isAttacking", &Game::isAttacking, &g_game); - g_lua.bindSingletonFunction("g_game", "isFollowing", &Game::isFollowing, &g_game); - g_lua.bindSingletonFunction("g_game", "isConnectionOk", &Game::isConnectionOk, &g_game); - g_lua.bindSingletonFunction("g_game", "getPing", &Game::getPing, &g_game); - g_lua.bindSingletonFunction("g_game", "getContainer", &Game::getContainer, &g_game); - g_lua.bindSingletonFunction("g_game", "getContainers", &Game::getContainers, &g_game); - g_lua.bindSingletonFunction("g_game", "getVips", &Game::getVips, &g_game); - g_lua.bindSingletonFunction("g_game", "getAttackingCreature", &Game::getAttackingCreature, &g_game); - g_lua.bindSingletonFunction("g_game", "getFollowingCreature", &Game::getFollowingCreature, &g_game); - g_lua.bindSingletonFunction("g_game", "getServerBeat", &Game::getServerBeat, &g_game); - g_lua.bindSingletonFunction("g_game", "getLocalPlayer", &Game::getLocalPlayer, &g_game); - g_lua.bindSingletonFunction("g_game", "getProtocolGame", &Game::getProtocolGame, &g_game); - g_lua.bindSingletonFunction("g_game", "getProtocolVersion", &Game::getProtocolVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "setProtocolVersion", &Game::setProtocolVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "getCustomProtocolVersion", &Game::getCustomProtocolVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "setCustomProtocolVersion", &Game::setCustomProtocolVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "getClientVersion", &Game::getClientVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "setClientVersion", &Game::setClientVersion, &g_game); - g_lua.bindSingletonFunction("g_game", "setCustomOs", &Game::setCustomOs, &g_game); - g_lua.bindSingletonFunction("g_game", "getOs", &Game::getOs, &g_game); - g_lua.bindSingletonFunction("g_game", "getCharacterName", &Game::getCharacterName, &g_game); - g_lua.bindSingletonFunction("g_game", "getWorldName", &Game::getWorldName, &g_game); - g_lua.bindSingletonFunction("g_game", "getGMActions", &Game::getGMActions, &g_game); - g_lua.bindSingletonFunction("g_game", "getFeature", &Game::getFeature, &g_game); - g_lua.bindSingletonFunction("g_game", "setFeature", &Game::setFeature, &g_game); - g_lua.bindSingletonFunction("g_game", "enableFeature", &Game::enableFeature, &g_game); - g_lua.bindSingletonFunction("g_game", "disableFeature", &Game::disableFeature, &g_game); - g_lua.bindSingletonFunction("g_game", "resetFeatures", &Game::resetFeatures, &g_game); - g_lua.bindSingletonFunction("g_game", "isGM", &Game::isGM, &g_game); - g_lua.bindSingletonFunction("g_game", "answerModalDialog", &Game::answerModalDialog, &g_game); - g_lua.bindSingletonFunction("g_game", "browseField", &Game::browseField, &g_game); - g_lua.bindSingletonFunction("g_game", "seekInContainer", &Game::seekInContainer, &g_game); - g_lua.bindSingletonFunction("g_game", "getLastWalkDir", &Game::getLastWalkDir, &g_game); - g_lua.bindSingletonFunction("g_game", "buyStoreOffer", &Game::buyStoreOffer, &g_game); - g_lua.bindSingletonFunction("g_game", "requestTransactionHistory", &Game::requestTransactionHistory, &g_game); - g_lua.bindSingletonFunction("g_game", "requestStoreOffers", &Game::requestStoreOffers, &g_game); - g_lua.bindSingletonFunction("g_game", "openStore", &Game::openStore, &g_game); - g_lua.bindSingletonFunction("g_game", "transferCoins", &Game::transferCoins, &g_game); - g_lua.bindSingletonFunction("g_game", "openTransactionHistory", &Game::openTransactionHistory, &g_game); - g_lua.bindSingletonFunction("g_game", "preyAction", &Game::preyAction, &g_game); - g_lua.bindSingletonFunction("g_game", "preyRequest", &Game::preyRequest, &g_game); - g_lua.bindSingletonFunction("g_game", "applyImbuement", &Game::applyImbuement, &g_game); - g_lua.bindSingletonFunction("g_game", "clearImbuement", &Game::clearImbuement, &g_game); - g_lua.bindSingletonFunction("g_game", "closeImbuingWindow", &Game::closeImbuingWindow, &g_game); - g_lua.bindSingletonFunction("g_game", "setTibiaCoins", &Game::setTibiaCoins, &g_game); - g_lua.bindSingletonFunction("g_game", "getTibiaCoins", &Game::getTibiaCoins, &g_game); - g_lua.bindSingletonFunction("g_game", "getTransferableTibiaCoins", &Game::getTransferableTibiaCoins, &g_game); - - g_lua.bindSingletonFunction("g_game", "getMaxPreWalkingSteps", &Game::getMaxPreWalkingSteps, &g_game); - g_lua.bindSingletonFunction("g_game", "setMaxPreWalkingSteps", &Game::setMaxPreWalkingSteps, &g_game); - g_lua.bindSingletonFunction("g_game", "ignoreServerDirection", &Game::ignoreServerDirection, &g_game); - g_lua.bindSingletonFunction("g_game", "showRealDirection", &Game::showRealDirection, &g_game); - g_lua.bindSingletonFunction("g_game", "enableTileThingLuaCallback", &Game::enableTileThingLuaCallback, &g_game); - g_lua.bindSingletonFunction("g_game", "isTileThingLuaCallbackEnabled", &Game::isTileThingLuaCallbackEnabled, &g_game); - g_lua.bindSingletonFunction("g_game", "getRecivedPacketsCount", &Game::getRecivedPacketsCount, &g_game); - g_lua.bindSingletonFunction("g_game", "getRecivedPacketsSize", &Game::getRecivedPacketsSize, &g_game); - - /* g_lua.registerSingletonClass("g_shaders"); - g_lua.bindSingletonFunction("g_shaders", "createShader", &ShaderManager::createShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "createFragmentShader", &ShaderManager::createFragmentShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "createFragmentShaderFromCode", &ShaderManager::createFragmentShaderFromCode, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "createItemShader", &ShaderManager::createItemShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "createMapShader", &ShaderManager::createMapShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "getDefaultItemShader", &ShaderManager::getDefaultItemShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "getDefaultMapShader", &ShaderManager::getDefaultMapShader, &g_shaders); - g_lua.bindSingletonFunction("g_shaders", "getShader", &ShaderManager::getShader, &g_shaders); */ - - g_lua.bindGlobalFunction("getOutfitColor", Outfit::getColor); - g_lua.bindGlobalFunction("getAngleFromPos", Position::getAngleFromPositions); - g_lua.bindGlobalFunction("getDirectionFromPos", Position::getDirectionFromPositions); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return ProtocolGamePtr(new ProtocolGame); }); - g_lua.bindClassMemberFunction("login", &ProtocolGame::login); - g_lua.bindClassMemberFunction("sendExtendedOpcode", &ProtocolGame::sendExtendedOpcode); - g_lua.bindClassMemberFunction("addPosition", &ProtocolGame::addPosition); - g_lua.bindClassMemberFunction("setMapDescription", &ProtocolGame::setMapDescription); - g_lua.bindClassMemberFunction("setFloorDescription", &ProtocolGame::setFloorDescription); - g_lua.bindClassMemberFunction("setTileDescription", &ProtocolGame::setTileDescription); - g_lua.bindClassMemberFunction("getOutfit", &ProtocolGame::getOutfit); - g_lua.bindClassMemberFunction("getThing", &ProtocolGame::getThing); - g_lua.bindClassMemberFunction("getCreature", &ProtocolGame::getCreature); - g_lua.bindClassMemberFunction("getItem", &ProtocolGame::getItem); - g_lua.bindClassMemberFunction("getPosition", &ProtocolGame::getPosition); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getItem", &Container::getItem); - g_lua.bindClassMemberFunction("getItems", &Container::getItems); - g_lua.bindClassMemberFunction("getItemsCount", &Container::getItemsCount); - g_lua.bindClassMemberFunction("getSlotPosition", &Container::getSlotPosition); - g_lua.bindClassMemberFunction("getName", &Container::getName); - g_lua.bindClassMemberFunction("getId", &Container::getId); - g_lua.bindClassMemberFunction("getCapacity", &Container::getCapacity); - g_lua.bindClassMemberFunction("getContainerItem", &Container::getContainerItem); - g_lua.bindClassMemberFunction("hasParent", &Container::hasParent); - g_lua.bindClassMemberFunction("isClosed", &Container::isClosed); - g_lua.bindClassMemberFunction("isUnlocked", &Container::isUnlocked); - g_lua.bindClassMemberFunction("hasPages", &Container::hasPages); - g_lua.bindClassMemberFunction("getSize", &Container::getSize); - g_lua.bindClassMemberFunction("getFirstIndex", &Container::getFirstIndex); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("setId", &Thing::setId); - g_lua.bindClassMemberFunction("setPosition", &Thing::setPosition); - g_lua.bindClassMemberFunction("getId", &Thing::getId); - g_lua.bindClassMemberFunction("getPosition", &Thing::getPosition); - g_lua.bindClassMemberFunction("getStackPriority", &Thing::getStackPriority); - g_lua.bindClassMemberFunction("getStackPos", &Thing::getStackPos); - g_lua.bindClassMemberFunction("getAnimationPhases", &Thing::getAnimationPhases); - g_lua.bindClassMemberFunction("getTile", &Thing::getTile); - g_lua.bindClassMemberFunction("setMarked", &Thing::setMarked); - g_lua.bindClassMemberFunction("isItem", &Thing::isItem); - g_lua.bindClassMemberFunction("isMonster", &Thing::isMonster); - g_lua.bindClassMemberFunction("isNpc", &Thing::isNpc); - g_lua.bindClassMemberFunction("isCreature", &Thing::isCreature); - g_lua.bindClassMemberFunction("isEffect", &Thing::isEffect); - g_lua.bindClassMemberFunction("isMissile", &Thing::isMissile); - g_lua.bindClassMemberFunction("isPlayer", &Thing::isPlayer); - g_lua.bindClassMemberFunction("isLocalPlayer", &Thing::isLocalPlayer); - g_lua.bindClassMemberFunction("isAnimatedText", &Thing::isAnimatedText); - g_lua.bindClassMemberFunction("isStaticText", &Thing::isStaticText); - g_lua.bindClassMemberFunction("isGround", &Thing::isGround); - g_lua.bindClassMemberFunction("isGroundBorder", &Thing::isGroundBorder); - g_lua.bindClassMemberFunction("isOnBottom", &Thing::isOnBottom); - g_lua.bindClassMemberFunction("isOnTop", &Thing::isOnTop); - g_lua.bindClassMemberFunction("isContainer", &Thing::isContainer); - g_lua.bindClassMemberFunction("isForceUse", &Thing::isForceUse); - g_lua.bindClassMemberFunction("isMultiUse", &Thing::isMultiUse); - g_lua.bindClassMemberFunction("isRotateable", &Thing::isRotateable); - g_lua.bindClassMemberFunction("isNotMoveable", &Thing::isNotMoveable); - g_lua.bindClassMemberFunction("isPickupable", &Thing::isPickupable); - g_lua.bindClassMemberFunction("isIgnoreLook", &Thing::isIgnoreLook); - g_lua.bindClassMemberFunction("isStackable", &Thing::isStackable); - g_lua.bindClassMemberFunction("isHookSouth", &Thing::isHookSouth); - g_lua.bindClassMemberFunction("isTranslucent", &Thing::isTranslucent); - g_lua.bindClassMemberFunction("isFullGround", &Thing::isFullGround); - g_lua.bindClassMemberFunction("isMarketable", &Thing::isMarketable); - g_lua.bindClassMemberFunction("getMarketData", &Thing::getMarketData); - g_lua.bindClassMemberFunction("isUsable", &Thing::isUsable); - g_lua.bindClassMemberFunction("isWrapable", &Thing::isWrapable); - g_lua.bindClassMemberFunction("isUnwrapable", &Thing::isUnwrapable); - g_lua.bindClassMemberFunction("isTopEffect", &Thing::isTopEffect); - g_lua.bindClassMemberFunction("isLyingCorpse", &Thing::isLyingCorpse); - g_lua.bindClassMemberFunction("getParentContainer", &Thing::getParentContainer); - g_lua.bindClassMemberFunction("hide", &Thing::hide); - g_lua.bindClassMemberFunction("show", &Thing::show); - g_lua.bindClassMemberFunction("setHidden", &Thing::setHidden); - g_lua.bindClassMemberFunction("isHidden", &Thing::isHidden); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return HousePtr(new House); }); - g_lua.bindClassMemberFunction("setId", &House::setId); - g_lua.bindClassMemberFunction("getId", &House::getId); - g_lua.bindClassMemberFunction("setName", &House::setName); - g_lua.bindClassMemberFunction("getName", &House::getName); - g_lua.bindClassMemberFunction("setTownId", &House::setTownId); - g_lua.bindClassMemberFunction("getTownId", &House::getTownId); - g_lua.bindClassMemberFunction("setTile", &House::setTile); - g_lua.bindClassMemberFunction("getTile", &House::getTile); - g_lua.bindClassMemberFunction("setEntry", &House::setEntry); - g_lua.bindClassMemberFunction("getEntry", &House::getEntry); - g_lua.bindClassMemberFunction("addDoor", &House::addDoor); - g_lua.bindClassMemberFunction("removeDoor", &House::removeDoor); - g_lua.bindClassMemberFunction("removeDoorById", &House::removeDoorById); - g_lua.bindClassMemberFunction("setSize", &House::setSize); - g_lua.bindClassMemberFunction("getSize", &House::getSize); - g_lua.bindClassMemberFunction("setRent", &House::setRent); - g_lua.bindClassMemberFunction("getRent", &House::getRent); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return SpawnPtr(new Spawn); }); - g_lua.bindClassMemberFunction("setRadius", &Spawn::setRadius); - g_lua.bindClassMemberFunction("getRadius", &Spawn::getRadius); - g_lua.bindClassMemberFunction("setCenterPos", &Spawn::setCenterPos); - g_lua.bindClassMemberFunction("getCenterPos", &Spawn::getCenterPos); - g_lua.bindClassMemberFunction("addCreature", &Spawn::addCreature); - g_lua.bindClassMemberFunction("removeCreature", &Spawn::removeCreature); - g_lua.bindClassMemberFunction("getCreatures", &Spawn::getCreatures); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return TownPtr(new Town); }); - g_lua.bindClassMemberFunction("setId", &Town::setId); - g_lua.bindClassMemberFunction("setName", &Town::setName); - g_lua.bindClassMemberFunction("setPos", &Town::setPos); - g_lua.bindClassMemberFunction("setTemplePos", &Town::setPos); // alternative method - g_lua.bindClassMemberFunction("getId", &Town::getId); - g_lua.bindClassMemberFunction("getName", &Town::getName); - g_lua.bindClassMemberFunction("getPos", &Town::getPos); - g_lua.bindClassMemberFunction("getTemplePos", &Town::getPos); // alternative method - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return CreatureTypePtr(new CreatureType); }); - g_lua.bindClassMemberFunction("setName", &CreatureType::setName); - g_lua.bindClassMemberFunction("setOutfit", &CreatureType::setOutfit); - g_lua.bindClassMemberFunction("setSpawnTime", &CreatureType::setSpawnTime); - g_lua.bindClassMemberFunction("getName", &CreatureType::getName); - g_lua.bindClassMemberFunction("getOutfit", &CreatureType::getOutfit); - g_lua.bindClassMemberFunction("getSpawnTime", &CreatureType::getSpawnTime); - g_lua.bindClassMemberFunction("cast", &CreatureType::cast); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return CreaturePtr(new Creature); }); - g_lua.bindClassMemberFunction("getId", &Creature::getId); - g_lua.bindClassMemberFunction("getName", &Creature::getName); - g_lua.bindClassMemberFunction("setManaPercent", &LocalPlayer::setManaPercent); - g_lua.bindClassMemberFunction("getManaPercent", &LocalPlayer::getManaPercent); - g_lua.bindClassMemberFunction("getHealthPercent", &Creature::getHealthPercent); - g_lua.bindClassMemberFunction("getSpeed", &Creature::getSpeed); - g_lua.bindClassMemberFunction("setSpeed", &Creature::setSpeed); - g_lua.bindClassMemberFunction("getBaseSpeed", &Creature::getBaseSpeed); - g_lua.bindClassMemberFunction("setBaseSpeed", &Creature::setBaseSpeed); - g_lua.bindClassMemberFunction("getSkull", &Creature::getSkull); - g_lua.bindClassMemberFunction("getShield", &Creature::getShield); - g_lua.bindClassMemberFunction("getEmblem", &Creature::getEmblem); - g_lua.bindClassMemberFunction("setSkull", &Creature::setSkull); - g_lua.bindClassMemberFunction("setShield", &Creature::setShield); - g_lua.bindClassMemberFunction("setEmblem", &Creature::setEmblem); - g_lua.bindClassMemberFunction("getType", &Creature::getType); - g_lua.bindClassMemberFunction("getIcon", &Creature::getIcon); - g_lua.bindClassMemberFunction("setOutfit", &Creature::setOutfit); - g_lua.bindClassMemberFunction("getOutfit", &Creature::getOutfit); - g_lua.bindClassMemberFunction("setOutfitColor", &Creature::setOutfitColor); - g_lua.bindClassMemberFunction("getDirection", &Creature::getDirection); - g_lua.bindClassMemberFunction("getWalkDirection", &Creature::getWalkDirection); - g_lua.bindClassMemberFunction("getStepDuration", &Creature::getStepDuration); - g_lua.bindClassMemberFunction("getStepProgress", &Creature::getStepProgress); - g_lua.bindClassMemberFunction("getWalkTicksElapsed", &Creature::getWalkTicksElapsed); - g_lua.bindClassMemberFunction("getStepTicksLeft", &Creature::getStepTicksLeft); - g_lua.bindClassMemberFunction("setDirection", &Creature::setDirection); - g_lua.bindClassMemberFunction("setSkullTexture", &Creature::setSkullTexture); - g_lua.bindClassMemberFunction("setShieldTexture", &Creature::setShieldTexture); - g_lua.bindClassMemberFunction("setEmblemTexture", &Creature::setEmblemTexture); - g_lua.bindClassMemberFunction("setTypeTexture", &Creature::setTypeTexture); - g_lua.bindClassMemberFunction("setIconTexture", &Creature::setIconTexture); - g_lua.bindClassMemberFunction("showStaticSquare", &Creature::showStaticSquare); - g_lua.bindClassMemberFunction("hideStaticSquare", &Creature::hideStaticSquare); - g_lua.bindClassMemberFunction("isWalking", &Creature::isWalking); - g_lua.bindClassMemberFunction("isInvisible", &Creature::isInvisible); - g_lua.bindClassMemberFunction("isDead", &Creature::isDead); - g_lua.bindClassMemberFunction("isRemoved", &Creature::isRemoved); - g_lua.bindClassMemberFunction("canBeSeen", &Creature::canBeSeen); - g_lua.bindClassMemberFunction("jump", &Creature::jump); - g_lua.bindClassMemberFunction("getPrewalkingPosition", &Creature::getPrewalkingPosition); - g_lua.bindClassMemberFunction("setInformationColor", &Creature::setInformationColor); - g_lua.bindClassMemberFunction("resetInformationColor", &Creature::resetInformationColor); - g_lua.bindClassMemberFunction("setInformationOffset", &Creature::setInformationOffset); - g_lua.bindClassMemberFunction("getInformationOffset", &Creature::getInformationOffset); - g_lua.bindClassMemberFunction("setText", &Creature::setText); - g_lua.bindClassMemberFunction("getText", &Creature::getText); - g_lua.bindClassMemberFunction("clearText", &Creature::clearText); - - // widgets - g_lua.bindClassMemberFunction("addTopWidget", &Creature::addTopWidget); - g_lua.bindClassMemberFunction("addBottomWidget", &Creature::addBottomWidget); - g_lua.bindClassMemberFunction("addDirectionalWidget", &Creature::addDirectionalWidget); - g_lua.bindClassMemberFunction("removeTopWidget", &Creature::removeTopWidget); - g_lua.bindClassMemberFunction("removeBottomWidget", &Creature::removeBottomWidget); - g_lua.bindClassMemberFunction("removeDirectionalWidget", &Creature::removeDirectionalWidget); - g_lua.bindClassMemberFunction("getTopWidgets", &Creature::getTopWidgets); - g_lua.bindClassMemberFunction("getBottomWidgets", &Creature::getBottomWidgets); - g_lua.bindClassMemberFunction("getDirectionalWdigets", &Creature::getDirectionalWdigets); - g_lua.bindClassMemberFunction("clearWidgets", &Creature::clearWidgets); - g_lua.bindClassMemberFunction("clearTopWidgets", &Creature::clearTopWidgets); - g_lua.bindClassMemberFunction("clearBottomWidgets", &Creature::clearBottomWidgets); - g_lua.bindClassMemberFunction("clearDirectionalWidgets", &Creature::clearDirectionalWidgets); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getServerId", &ItemType::getServerId); - g_lua.bindClassMemberFunction("getClientId", &ItemType::getClientId); - g_lua.bindClassMemberFunction("isWritable", &ItemType::isWritable); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return ThingTypePtr(new ThingType); }); - g_lua.bindClassMemberFunction("getId", &ThingType::getId); - g_lua.bindClassMemberFunction("getClothSlot", &ThingType::getClothSlot); - g_lua.bindClassMemberFunction("getCategory", &ThingType::getCategory); - g_lua.bindClassMemberFunction("getSize", &ThingType::getSize); - g_lua.bindClassMemberFunction("getWidth", &ThingType::getWidth); - g_lua.bindClassMemberFunction("getHeight", &ThingType::getHeight); - g_lua.bindClassMemberFunction("getDisplacement", &ThingType::getDisplacement); - g_lua.bindClassMemberFunction("getDisplacementX", &ThingType::getDisplacementX); - g_lua.bindClassMemberFunction("getDisplacementY", &ThingType::getDisplacementY); - g_lua.bindClassMemberFunction("getExactSize", &ThingType::getExactSize); - g_lua.bindClassMemberFunction("getRealSize", &ThingType::getRealSize); - g_lua.bindClassMemberFunction("getLayers", &ThingType::getLayers); - g_lua.bindClassMemberFunction("getNumPatternX", &ThingType::getNumPatternX); - g_lua.bindClassMemberFunction("getNumPatternY", &ThingType::getNumPatternY); - g_lua.bindClassMemberFunction("getNumPatternZ", &ThingType::getNumPatternZ); - g_lua.bindClassMemberFunction("getAnimationPhases", &ThingType::getAnimationPhases); - g_lua.bindClassMemberFunction("getGroundSpeed", &ThingType::getGroundSpeed); - g_lua.bindClassMemberFunction("getMaxTextLength", &ThingType::getMaxTextLength); - g_lua.bindClassMemberFunction("getLight", &ThingType::getLight); - g_lua.bindClassMemberFunction("getMinimapColor", &ThingType::getMinimapColor); - g_lua.bindClassMemberFunction("getLensHelp", &ThingType::getLensHelp); - g_lua.bindClassMemberFunction("getClothSlot", &ThingType::getClothSlot); - g_lua.bindClassMemberFunction("getElevation", &ThingType::getElevation); - g_lua.bindClassMemberFunction("isGround", &ThingType::isGround); - g_lua.bindClassMemberFunction("isGroundBorder", &ThingType::isGroundBorder); - g_lua.bindClassMemberFunction("isOnBottom", &ThingType::isOnBottom); - g_lua.bindClassMemberFunction("isOnTop", &ThingType::isOnTop); - g_lua.bindClassMemberFunction("isContainer", &ThingType::isContainer); - g_lua.bindClassMemberFunction("isStackable", &ThingType::isStackable); - g_lua.bindClassMemberFunction("isForceUse", &ThingType::isForceUse); - g_lua.bindClassMemberFunction("isMultiUse", &ThingType::isMultiUse); - g_lua.bindClassMemberFunction("isWritable", &ThingType::isWritable); - g_lua.bindClassMemberFunction("isChargeable", &ThingType::isChargeable); - g_lua.bindClassMemberFunction("isWritableOnce", &ThingType::isWritableOnce); - g_lua.bindClassMemberFunction("isFluidContainer", &ThingType::isFluidContainer); - g_lua.bindClassMemberFunction("isSplash", &ThingType::isSplash); - g_lua.bindClassMemberFunction("isNotWalkable", &ThingType::isNotWalkable); - g_lua.bindClassMemberFunction("isNotMoveable", &ThingType::isNotMoveable); - g_lua.bindClassMemberFunction("blockProjectile", &ThingType::blockProjectile); - g_lua.bindClassMemberFunction("isNotPathable", &ThingType::isNotPathable); - g_lua.bindClassMemberFunction("setPathable", &ThingType::setPathable); - g_lua.bindClassMemberFunction("isPickupable", &ThingType::isPickupable); - g_lua.bindClassMemberFunction("isHangable", &ThingType::isHangable); - g_lua.bindClassMemberFunction("isHookSouth", &ThingType::isHookSouth); - g_lua.bindClassMemberFunction("isHookEast", &ThingType::isHookEast); - g_lua.bindClassMemberFunction("isRotateable", &ThingType::isRotateable); - g_lua.bindClassMemberFunction("hasLight", &ThingType::hasLight); - g_lua.bindClassMemberFunction("isDontHide", &ThingType::isDontHide); - g_lua.bindClassMemberFunction("isTranslucent", &ThingType::isTranslucent); - g_lua.bindClassMemberFunction("hasDisplacement", &ThingType::hasDisplacement); - g_lua.bindClassMemberFunction("hasElevation", &ThingType::hasElevation); - g_lua.bindClassMemberFunction("isLyingCorpse", &ThingType::isLyingCorpse); - g_lua.bindClassMemberFunction("isAnimateAlways", &ThingType::isAnimateAlways); - g_lua.bindClassMemberFunction("hasMiniMapColor", &ThingType::hasMiniMapColor); - g_lua.bindClassMemberFunction("hasLensHelp", &ThingType::hasLensHelp); - g_lua.bindClassMemberFunction("isFullGround", &ThingType::isFullGround); - g_lua.bindClassMemberFunction("isIgnoreLook", &ThingType::isIgnoreLook); - g_lua.bindClassMemberFunction("isCloth", &ThingType::isCloth); - g_lua.bindClassMemberFunction("isMarketable", &ThingType::isMarketable); - g_lua.bindClassMemberFunction("getMarketData", &ThingType::getMarketData); - g_lua.bindClassMemberFunction("isUsable", &ThingType::isUsable); - g_lua.bindClassMemberFunction("isWrapable", &ThingType::isWrapable); - g_lua.bindClassMemberFunction("isUnwrapable", &ThingType::isUnwrapable); - g_lua.bindClassMemberFunction("isTopEffect", &ThingType::isTopEffect); - g_lua.bindClassMemberFunction("getSprites", &ThingType::getSprites); - g_lua.bindClassMemberFunction("hasAttribute", &ThingType::hasAttr); - g_lua.bindClassMemberFunction("exportImage", &ThingType::exportImage); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", &Item::create); - g_lua.bindClassStaticFunction("createOtb", &Item::createFromOtb); - g_lua.bindClassMemberFunction("clone", &Item::clone); - g_lua.bindClassMemberFunction("getContainerItems", &Item::getContainerItems); - g_lua.bindClassMemberFunction("getContainerItem", &Item::getContainerItem); - g_lua.bindClassMemberFunction("addContainerItem", &Item::addContainerItem); - g_lua.bindClassMemberFunction("addContainerItemIndexed", &Item::addContainerItemIndexed); - g_lua.bindClassMemberFunction("removeContainerItem", &Item::removeContainerItem); - g_lua.bindClassMemberFunction("clearContainerItems", &Item::clearContainerItems); - g_lua.bindClassMemberFunction("getContainerItem", &Item::getContainerItem); - g_lua.bindClassMemberFunction("setCount", &Item::setCount); - g_lua.bindClassMemberFunction("getCount", &Item::getCount); - g_lua.bindClassMemberFunction("getSubType", &Item::getSubType); - g_lua.bindClassMemberFunction("getCountOrSubType", &Item::getCountOrSubType); - g_lua.bindClassMemberFunction("getId", &Item::getId); - g_lua.bindClassMemberFunction("getServerId", &Item::getServerId); - g_lua.bindClassMemberFunction("getName", &Item::getName); - g_lua.bindClassMemberFunction("getDescription", &Item::getDescription); - g_lua.bindClassMemberFunction("getText", &Item::getText); - g_lua.bindClassMemberFunction("setDescription", &Item::setDescription); - g_lua.bindClassMemberFunction("setText", &Item::setText); - g_lua.bindClassMemberFunction("getUniqueId", &Item::getUniqueId); - g_lua.bindClassMemberFunction("getActionId", &Item::getActionId); - g_lua.bindClassMemberFunction("setUniqueId", &Item::setUniqueId); - g_lua.bindClassMemberFunction("setActionId", &Item::setActionId); - g_lua.bindClassMemberFunction("getTeleportDestination", &Item::getTeleportDestination); - g_lua.bindClassMemberFunction("setTeleportDestination", &Item::setTeleportDestination); - g_lua.bindClassMemberFunction("isStackable", &Item::isStackable); - g_lua.bindClassMemberFunction("isMarketable", &Item::isMarketable); - g_lua.bindClassMemberFunction("isFluidContainer", &Item::isFluidContainer); - g_lua.bindClassMemberFunction("getMarketData", &Item::getMarketData); - g_lua.bindClassMemberFunction("getClothSlot", &Item::getClothSlot); - g_lua.bindClassMemberFunction("getTooltip", &Item::getTooltip); - g_lua.bindClassMemberFunction("setTooltip", &Item::setTooltip); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return EffectPtr(new Effect); }); - g_lua.bindClassMemberFunction("setId", &Effect::setId); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return MissilePtr(new Missile); }); - g_lua.bindClassMemberFunction("setId", &Missile::setId); - g_lua.bindClassMemberFunction("getId", &Missile::getId); - g_lua.bindClassMemberFunction("getSource", &Missile::getSource); - g_lua.bindClassMemberFunction("getDestination", &Missile::getDestination); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return StaticTextPtr(new StaticText); }); - g_lua.bindClassMemberFunction("addMessage", &StaticText::addMessage); - g_lua.bindClassMemberFunction("addColoredMessage", &StaticText::addColoredMessage); - g_lua.bindClassMemberFunction("setText", &StaticText::setText); - g_lua.bindClassMemberFunction("setFont", &StaticText::setFont); - g_lua.bindClassMemberFunction("setColor", &StaticText::setColor); - g_lua.bindClassMemberFunction("getColor", &StaticText::getColor); - g_lua.bindClassMemberFunction("getText", &StaticText::getText); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("getText", &AnimatedText::getText); - g_lua.bindClassMemberFunction("getOffset", &AnimatedText::getOffset); - g_lua.bindClassMemberFunction("getColor", &AnimatedText::getColor); - - g_lua.registerClass(); - g_lua.registerClass(); - g_lua.registerClass(); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("unlockWalk", &LocalPlayer::unlockWalk); - g_lua.bindClassMemberFunction("lockWalk", &LocalPlayer::lockWalk); - g_lua.bindClassMemberFunction("isWalkLocked", &LocalPlayer::isWalkLocked); - g_lua.bindClassMemberFunction("canWalk", &LocalPlayer::canWalk); - g_lua.bindClassMemberFunction("setStates", &LocalPlayer::setStates); - g_lua.bindClassMemberFunction("setSkill", &LocalPlayer::setSkill); - g_lua.bindClassMemberFunction("setHealth", &LocalPlayer::setHealth); - g_lua.bindClassMemberFunction("setTotalCapacity", &LocalPlayer::setTotalCapacity); - g_lua.bindClassMemberFunction("setFreeCapacity", &LocalPlayer::setFreeCapacity); - g_lua.bindClassMemberFunction("setExperience", &LocalPlayer::setExperience); - g_lua.bindClassMemberFunction("setLevel", &LocalPlayer::setLevel); - g_lua.bindClassMemberFunction("setMana", &LocalPlayer::setMana); - g_lua.bindClassMemberFunction("setMagicLevel", &LocalPlayer::setMagicLevel); - g_lua.bindClassMemberFunction("setSoul", &LocalPlayer::setSoul); - g_lua.bindClassMemberFunction("setStamina", &LocalPlayer::setStamina); - g_lua.bindClassMemberFunction("setKnown", &LocalPlayer::setKnown); - g_lua.bindClassMemberFunction("setInventoryItem", &LocalPlayer::setInventoryItem); - g_lua.bindClassMemberFunction("getStates", &LocalPlayer::getStates); - g_lua.bindClassMemberFunction("getSkillLevel", &LocalPlayer::getSkillLevel); - g_lua.bindClassMemberFunction("getSkillBaseLevel", &LocalPlayer::getSkillBaseLevel); - g_lua.bindClassMemberFunction("getSkillLevelPercent", &LocalPlayer::getSkillLevelPercent); - g_lua.bindClassMemberFunction("getHealth", &LocalPlayer::getHealth); - g_lua.bindClassMemberFunction("getMaxHealth", &LocalPlayer::getMaxHealth); - g_lua.bindClassMemberFunction("getFreeCapacity", &LocalPlayer::getFreeCapacity); - g_lua.bindClassMemberFunction("getExperience", &LocalPlayer::getExperience); - g_lua.bindClassMemberFunction("getLevel", &LocalPlayer::getLevel); - g_lua.bindClassMemberFunction("getLevelPercent", &LocalPlayer::getLevelPercent); - g_lua.bindClassMemberFunction("getMana", &LocalPlayer::getMana); - g_lua.bindClassMemberFunction("getMaxMana", &LocalPlayer::getMaxMana); - g_lua.bindClassMemberFunction("getMagicLevel", &LocalPlayer::getMagicLevel); - g_lua.bindClassMemberFunction("getMagicLevelPercent", &LocalPlayer::getMagicLevelPercent); - g_lua.bindClassMemberFunction("getSoul", &LocalPlayer::getSoul); - g_lua.bindClassMemberFunction("getStamina", &LocalPlayer::getStamina); - g_lua.bindClassMemberFunction("getOfflineTrainingTime", &LocalPlayer::getOfflineTrainingTime); - g_lua.bindClassMemberFunction("getRegenerationTime", &LocalPlayer::getRegenerationTime); - g_lua.bindClassMemberFunction("getBaseMagicLevel", &LocalPlayer::getBaseMagicLevel); - g_lua.bindClassMemberFunction("getTotalCapacity", &LocalPlayer::getTotalCapacity); - g_lua.bindClassMemberFunction("getInventoryItem", &LocalPlayer::getInventoryItem); - g_lua.bindClassMemberFunction("getVocation", &LocalPlayer::getVocation); - g_lua.bindClassMemberFunction("getBlessings", &LocalPlayer::getBlessings); - g_lua.bindClassMemberFunction("isPremium", &LocalPlayer::isPremium); - g_lua.bindClassMemberFunction("isKnown", &LocalPlayer::isKnown); - g_lua.bindClassMemberFunction("isPreWalking", &LocalPlayer::isPreWalking); - g_lua.bindClassMemberFunction("hasSight", &LocalPlayer::hasSight); - g_lua.bindClassMemberFunction("isAutoWalking", &LocalPlayer::isAutoWalking); - g_lua.bindClassMemberFunction("isServerWalking", &LocalPlayer::isServerWalking); - g_lua.bindClassMemberFunction("stopAutoWalk", &LocalPlayer::stopAutoWalk); - g_lua.bindClassMemberFunction("autoWalk", &LocalPlayer::autoWalk); - g_lua.bindClassMemberFunction("preWalk", &LocalPlayer::preWalk); - g_lua.bindClassMemberFunction("dumpWalkMatrix", &LocalPlayer::dumpWalkMatrix); - g_lua.bindClassMemberFunction("startServerWalking", &LocalPlayer::startServerWalking); - g_lua.bindClassMemberFunction("finishServerWalking", &LocalPlayer::finishServerWalking); - - g_lua.registerClass(); - g_lua.bindClassMemberFunction("clean", &Tile::clean); - g_lua.bindClassMemberFunction("addThing", &Tile::addThing); - g_lua.bindClassMemberFunction("getThing", &Tile::getThing); - g_lua.bindClassMemberFunction("getThings", &Tile::getThings); - g_lua.bindClassMemberFunction("getEffect", &Tile::getEffect); - g_lua.bindClassMemberFunction("getEffects", &Tile::getEffects); - g_lua.bindClassMemberFunction("getItems", &Tile::getItems); - g_lua.bindClassMemberFunction("getThingStackPos", &Tile::getThingStackPos); - g_lua.bindClassMemberFunction("getThingCount", &Tile::getThingCount); - g_lua.bindClassMemberFunction("getTopThing", &Tile::getTopThing); - g_lua.bindClassMemberFunction("removeThing", &Tile::removeThing); - g_lua.bindClassMemberFunction("getTopLookThing", &Tile::getTopLookThing); - g_lua.bindClassMemberFunction("getTopLookThingEx", &Tile::getTopLookThingEx); - g_lua.bindClassMemberFunction("getTopUseThing", &Tile::getTopUseThing); - g_lua.bindClassMemberFunction("getTopCreature", &Tile::getTopCreature); - g_lua.bindClassMemberFunction("getTopCreatureEx", &Tile::getTopCreatureEx); - g_lua.bindClassMemberFunction("getTopMoveThing", &Tile::getTopMoveThing); - g_lua.bindClassMemberFunction("getTopMultiUseThing", &Tile::getTopMultiUseThing); - g_lua.bindClassMemberFunction("getTopMultiUseThingEx", &Tile::getTopMultiUseThingEx); - g_lua.bindClassMemberFunction("getPosition", &Tile::getPosition); - g_lua.bindClassMemberFunction("getDrawElevation", &Tile::getDrawElevation); - g_lua.bindClassMemberFunction("getCreatures", &Tile::getCreatures); - g_lua.bindClassMemberFunction("getGround", &Tile::getGround); - g_lua.bindClassMemberFunction("isWalkable", &Tile::isWalkable); - g_lua.bindClassMemberFunction("isHouseTile", &Tile::isHouseTile); - g_lua.bindClassMemberFunction("isFullGround", &Tile::isFullGround); - g_lua.bindClassMemberFunction("isFullyOpaque", &Tile::isFullyOpaque); - g_lua.bindClassMemberFunction("isLookPossible", &Tile::isLookPossible); - g_lua.bindClassMemberFunction("hasCreature", &Tile::hasCreature); - g_lua.bindClassMemberFunction("hasBlockingCreature", &Tile::hasBlockingCreature); - g_lua.bindClassMemberFunction("isEmpty", &Tile::isEmpty); - g_lua.bindClassMemberFunction("isClickable", &Tile::isClickable); - g_lua.bindClassMemberFunction("isPathable", &Tile::isPathable); - g_lua.bindClassMemberFunction("overwriteMinimapColor", &Tile::overwriteMinimapColor); - g_lua.bindClassMemberFunction("select", &Tile::select); - g_lua.bindClassMemberFunction("unselect", &Tile::unselect); - g_lua.bindClassMemberFunction("isSelected", &Tile::isSelected); - g_lua.bindClassMemberFunction("remFlag", &Tile::remFlag); - g_lua.bindClassMemberFunction("setFlag", &Tile::setFlag); - g_lua.bindClassMemberFunction("setFlags", &Tile::setFlags); - g_lua.bindClassMemberFunction("getFlags", &Tile::getFlags); - g_lua.bindClassMemberFunction("hasFlag", &Tile::hasFlag); - g_lua.bindClassMemberFunction("getElevation", &Tile::getElevation); - g_lua.bindClassMemberFunction("hasElevation", &Tile::hasElevation); - g_lua.bindClassMemberFunction("isBlocking", &Tile::isBlocking); - // for bot - g_lua.bindClassMemberFunction("setText", &Tile::setText); - g_lua.bindClassMemberFunction("getText", &Tile::getText); - g_lua.bindClassMemberFunction("setTimer", &Tile::setTimer); - g_lua.bindClassMemberFunction("getTimer", &Tile::getTimer); - g_lua.bindClassMemberFunction("setFill", &Tile::setFill); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UIItemPtr(new UIItem); }); - g_lua.bindClassMemberFunction("setItemId", &UIItem::setItemId); - g_lua.bindClassMemberFunction("setItemCount", &UIItem::setItemCount); - g_lua.bindClassMemberFunction("setItemSubType", &UIItem::setItemSubType); - g_lua.bindClassMemberFunction("setItemVisible", &UIItem::setItemVisible); - g_lua.bindClassMemberFunction("setItem", &UIItem::setItem); - g_lua.bindClassMemberFunction("setVirtual", &UIItem::setVirtual); - g_lua.bindClassMemberFunction("setShowCount", &UIItem::setShowCount); - g_lua.bindClassMemberFunction("clearItem", &UIItem::clearItem); - g_lua.bindClassMemberFunction("getItemId", &UIItem::getItemId); - g_lua.bindClassMemberFunction("getItemCount", &UIItem::getItemCount); - g_lua.bindClassMemberFunction("getItemSubType", &UIItem::getItemSubType); - g_lua.bindClassMemberFunction("getItemCountOrSubType", &UIItem::getItemCountOrSubType); - g_lua.bindClassMemberFunction("getItem", &UIItem::getItem); - g_lua.bindClassMemberFunction("isVirtual", &UIItem::isVirtual); - g_lua.bindClassMemberFunction("isItemVisible", &UIItem::isItemVisible); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UISpritePtr(new UISprite); }); - g_lua.bindClassMemberFunction("setSpriteId", &UISprite::setSpriteId); - g_lua.bindClassMemberFunction("clearSprite", &UISprite::clearSprite); - g_lua.bindClassMemberFunction("getSpriteId", &UISprite::getSpriteId); - g_lua.bindClassMemberFunction("setSpriteColor", &UISprite::setSpriteColor); - g_lua.bindClassMemberFunction("hasSprite", &UISprite::hasSprite); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UICreaturePtr(new UICreature); } ); - g_lua.bindClassMemberFunction("setCreature", &UICreature::setCreature); - g_lua.bindClassMemberFunction("setOutfit", &UICreature::setOutfit); - g_lua.bindClassMemberFunction("setFixedCreatureSize", &UICreature::setFixedCreatureSize); - g_lua.bindClassMemberFunction("getCreature", &UICreature::getCreature); - g_lua.bindClassMemberFunction("isFixedCreatureSize", &UICreature::isFixedCreatureSize); - g_lua.bindClassMemberFunction("setAutoRotating", &UICreature::setAutoRotating); - g_lua.bindClassMemberFunction("setDirection", &UICreature::setDirection); - g_lua.bindClassMemberFunction("setScale", &UICreature::setScale); - g_lua.bindClassMemberFunction("getScale", &UICreature::getScale); - g_lua.bindClassMemberFunction("setOptimized", &UICreature::setOptimized); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UIMapPtr(new UIMap); }); - g_lua.bindClassMemberFunction("drawSelf", &UIMap::drawSelf); - g_lua.bindClassMemberFunction("movePixels", &UIMap::movePixels); - g_lua.bindClassMemberFunction("setZoom", &UIMap::setZoom); - g_lua.bindClassMemberFunction("zoomIn", &UIMap::zoomIn); - g_lua.bindClassMemberFunction("zoomOut", &UIMap::zoomOut); - g_lua.bindClassMemberFunction("followCreature", &UIMap::followCreature); - g_lua.bindClassMemberFunction("setCameraPosition", &UIMap::setCameraPosition); - g_lua.bindClassMemberFunction("setMaxZoomIn", &UIMap::setMaxZoomIn); - g_lua.bindClassMemberFunction("setMaxZoomOut", &UIMap::setMaxZoomOut); - g_lua.bindClassMemberFunction("setMultifloor", &UIMap::setMultifloor); - g_lua.bindClassMemberFunction("lockVisibleFloor", &UIMap::lockVisibleFloor); - g_lua.bindClassMemberFunction("unlockVisibleFloor", &UIMap::unlockVisibleFloor); - g_lua.bindClassMemberFunction("setVisibleDimension", &UIMap::setVisibleDimension); - g_lua.bindClassMemberFunction("setDrawFlags", &UIMap::setDrawFlags); - g_lua.bindClassMemberFunction("setDrawTexts", &UIMap::setDrawTexts); - g_lua.bindClassMemberFunction("setDrawNames", &UIMap::setDrawNames); - g_lua.bindClassMemberFunction("setDrawHealthBars", &UIMap::setDrawHealthBars); - g_lua.bindClassMemberFunction("setDrawHealthBarsOnTop", &UIMap::setDrawHealthBarsOnTop); - g_lua.bindClassMemberFunction("setDrawLights", &UIMap::setDrawLights); - g_lua.bindClassMemberFunction("setDrawManaBar", &UIMap::setDrawManaBar); - g_lua.bindClassMemberFunction("setDrawPlayerBars", &UIMap::setDrawPlayerBars); - g_lua.bindClassMemberFunction("setAnimated", &UIMap::setAnimated); - g_lua.bindClassMemberFunction("setKeepAspectRatio", &UIMap::setKeepAspectRatio); - g_lua.bindClassMemberFunction("setMinimumAmbientLight", &UIMap::setMinimumAmbientLight); - g_lua.bindClassMemberFunction("setLimitVisibleRange", &UIMap::setLimitVisibleRange); - g_lua.bindClassMemberFunction("setFloorFading", &UIMap::setFloorFading); - g_lua.bindClassMemberFunction("setCrosshair", &UIMap::setCrosshair); - g_lua.bindClassMemberFunction("isMultifloor", &UIMap::isMultifloor); - g_lua.bindClassMemberFunction("isDrawingTexts", &UIMap::isDrawingTexts); - g_lua.bindClassMemberFunction("isDrawingNames", &UIMap::isDrawingNames); - g_lua.bindClassMemberFunction("isDrawingHealthBars", &UIMap::isDrawingHealthBars); - g_lua.bindClassMemberFunction("isDrawingHealthBarsOnTop", &UIMap::isDrawingHealthBarsOnTop); - g_lua.bindClassMemberFunction("isDrawingLights", &UIMap::isDrawingLights); - g_lua.bindClassMemberFunction("isDrawingManaBar", &UIMap::isDrawingManaBar); - g_lua.bindClassMemberFunction("isLimitVisibleRangeEnabled", &UIMap::isLimitVisibleRangeEnabled); - g_lua.bindClassMemberFunction("isAnimating", &UIMap::isAnimating); - g_lua.bindClassMemberFunction("isKeepAspectRatioEnabled", &UIMap::isKeepAspectRatioEnabled); - g_lua.bindClassMemberFunction("getVisibleDimension", &UIMap::getVisibleDimension); - g_lua.bindClassMemberFunction("getFollowingCreature", &UIMap::getFollowingCreature); - g_lua.bindClassMemberFunction("getDrawFlags", &UIMap::getDrawFlags); - g_lua.bindClassMemberFunction("getCameraPosition", &UIMap::getCameraPosition); - g_lua.bindClassMemberFunction("getPosition", &UIMap::getPosition); - g_lua.bindClassMemberFunction("getPositionOffset", &UIMap::getPositionOffset); - g_lua.bindClassMemberFunction("getTile", &UIMap::getTile); - g_lua.bindClassMemberFunction("getMaxZoomIn", &UIMap::getMaxZoomIn); - g_lua.bindClassMemberFunction("getMaxZoomOut", &UIMap::getMaxZoomOut); - g_lua.bindClassMemberFunction("getZoom", &UIMap::getZoom); - g_lua.bindClassMemberFunction("getMinimumAmbientLight", &UIMap::getMinimumAmbientLight); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UIMinimapPtr(new UIMinimap); }); - g_lua.bindClassMemberFunction("zoomIn", &UIMinimap::zoomIn); - g_lua.bindClassMemberFunction("zoomOut", &UIMinimap::zoomOut); - g_lua.bindClassMemberFunction("setZoom", &UIMinimap::setZoom); - g_lua.bindClassMemberFunction("setMixZoom", &UIMinimap::setMinZoom); - g_lua.bindClassMemberFunction("setMaxZoom", &UIMinimap::setMaxZoom); - g_lua.bindClassMemberFunction("setCameraPosition", &UIMinimap::setCameraPosition); - g_lua.bindClassMemberFunction("floorUp", &UIMinimap::floorUp); - g_lua.bindClassMemberFunction("floorDown", &UIMinimap::floorDown); - g_lua.bindClassMemberFunction("getTilePoint", &UIMinimap::getTilePoint); - g_lua.bindClassMemberFunction("getTilePosition", &UIMinimap::getTilePosition); - g_lua.bindClassMemberFunction("getTileRect", &UIMinimap::getTileRect); - g_lua.bindClassMemberFunction("getCameraPosition", &UIMinimap::getCameraPosition); - g_lua.bindClassMemberFunction("getMinZoom", &UIMinimap::getMinZoom); - g_lua.bindClassMemberFunction("getMaxZoom", &UIMinimap::getMaxZoom); - g_lua.bindClassMemberFunction("getZoom", &UIMinimap::getZoom); - g_lua.bindClassMemberFunction("getScale", &UIMinimap::getScale); - g_lua.bindClassMemberFunction("anchorPosition", &UIMinimap::anchorPosition); - g_lua.bindClassMemberFunction("fillPosition", &UIMinimap::fillPosition); - g_lua.bindClassMemberFunction("centerInPosition", &UIMinimap::centerInPosition); - - g_lua.registerClass(); - g_lua.bindClassStaticFunction("create", []{ return UIProgressRectPtr(new UIProgressRect); } ); - g_lua.bindClassMemberFunction("setPercent", &UIProgressRect::setPercent); - g_lua.bindClassMemberFunction("getPercent", &UIProgressRect::getPercent); - - g_lua.registerClass(); -} diff --git a/modules/game_actionbar/actionbar.lua b/modules/game_actionbar/actionbar.lua index b166208..955ba20 100644 --- a/modules/game_actionbar/actionbar.lua +++ b/modules/game_actionbar/actionbar.lua @@ -131,10 +131,10 @@ function setupActionPanel(index, panel) end panel.nextButton.onClick = function() - panel.tabBar:moveChildToIndex(panel.tabBar:getLastChild(), 1) + panel.tabBar:moveChildToIndex(panel.tabBar:getFirstChild(), panel.tabBar:getChildCount()) end panel.prevButton.onClick = function() - panel.tabBar:moveChildToIndex(panel.tabBar:getFirstChild(), panel.tabBar:getChildCount()) + panel.tabBar:moveChildToIndex(panel.tabBar:getLastChild(), 1) end end diff --git a/modules/game_bot/default_configs/cavebot_1.2/main.lua b/modules/game_bot/default_configs/cavebot_1.2/main.lua index e87ccd2..fe8aca5 100644 --- a/modules/game_bot/default_configs/cavebot_1.2/main.lua +++ b/modules/game_bot/default_configs/cavebot_1.2/main.lua @@ -14,7 +14,7 @@ UI.Button("Discord", function() end) UI.Button("Forum", function() - g_platform.openUrl("https://otclient.net/") + g_platform.openUrl("http://otclient.net") end) UI.Button("Help & Tutorials", function() diff --git a/modules/updater/updater.lua b/modules/updater/updater.lua index 2a80ccb..5e9aa9e 100644 --- a/modules/updater/updater.lua +++ b/modules/updater/updater.lua @@ -62,6 +62,7 @@ local function loadModules() end local function downloadFiles(url, files, index, retries, doneCallback) + if not updaterWindow then return end local entry = files[index] if not entry then -- finished return doneCallback() @@ -101,6 +102,7 @@ local function downloadFiles(url, files, index, retries, doneCallback) end local function updateFiles(data, keepCurrentFiles) + if not updaterWindow then return end if type(data) ~= "table" then return Updater.error("Invalid data from updater api (not table)") end diff --git a/otclient_dx.exe b/otclient_dx.exe index 2ff9eb2..e7ef2f2 100644 Binary files a/otclient_dx.exe and b/otclient_dx.exe differ diff --git a/otclient_gl.exe b/otclient_gl.exe index 142587e..a63aeeb 100644 Binary files a/otclient_gl.exe and b/otclient_gl.exe differ diff --git a/otclient_linux b/otclient_linux index 3583833..bec8b4c 100644 Binary files a/otclient_linux and b/otclient_linux differ diff --git a/otclientv8.apk b/otclientv8.apk index 1d91d7d..97342a9 100644 Binary files a/otclientv8.apk and b/otclientv8.apk differ diff --git a/pdb/pdb.7z b/pdb/pdb.7z index ae99456..1a98e53 100644 Binary files a/pdb/pdb.7z and b/pdb/pdb.7z differ