From cc937302964a04aa8e7cdc0e6796503559efaa69 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Sun, 13 Jun 2021 21:20:25 +0500 Subject: Improved RmlUi integration --- src/Plugin.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index 83e9bdd..d7a9820 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -214,6 +214,10 @@ void PluginSystem::Init() { apiTable["RegisterDimension"] = PluginApi::RegisterDimension; } +lua_State* PluginSystem::GetLuaState() { + return lua.lua_state(); +} + void PluginSystem::Execute(const std::string &luaCode, bool except) { OPTICK_EVENT(); try { -- cgit v1.2.3 From 94b3b6b32bc8b996c9689fb89a381cf216353641 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Thu, 17 Jun 2021 01:56:25 +0500 Subject: Implemented main menu in Rml and improved RmlUi support --- src/Plugin.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index d7a9820..13045e1 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -74,6 +74,27 @@ namespace PluginApi { void RegisterDimension(int dimId, Dimension dim) { RegisterNewDimension(dimId, dim); } + + void ConnectToServer(std::string host, std::string username) { + size_t index = host.find_last_of(':'); + unsigned short port; + if (index == std::string::npos) + port = 25565; + else { + try { + port = std::stoi(host.substr(index + 1)); + } + catch (std::exception& e) { + port = 25565; + LOG(WARNING) << "Incorrect host format: " << host; + } + } + PUSH_EVENT("ConnectToServer", std::make_tuple(host.substr(0, index), port, username)); + } + + void Exit() { + PUSH_EVENT("Exit", 0); + } } int LoadFileRequire(lua_State* L) { @@ -212,6 +233,8 @@ void PluginSystem::Init() { apiTable["GetGameState"] = PluginApi::GetGameState; apiTable["RegisterBlock"] = PluginApi::RegisterBlock; apiTable["RegisterDimension"] = PluginApi::RegisterDimension; + apiTable["ConnectToServer"] = PluginApi::ConnectToServer; + apiTable["Exit"] = PluginApi::Exit; } lua_State* PluginSystem::GetLuaState() { -- cgit v1.2.3 From 8c033fff3d82d5f0e4c5d2eb3c5d10efc60ee851 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Fri, 18 Jun 2021 17:14:19 +0500 Subject: Implemented RmlFileInterface --- src/Plugin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index 13045e1..776ba8d 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -42,8 +42,8 @@ namespace PluginApi { plugin["onRequestBlockInfo"].get_or(std::function()), }; plugins.push_back(nativePlugin); + LOG(INFO)<<"Loading plugin " << (!nativePlugin.displayName.empty() ? nativePlugin.displayName : nativePlugin.name); nativePlugin.onLoad(); - LOG(INFO) << "Loaded plugin " << (!nativePlugin.displayName.empty() ? nativePlugin.displayName : nativePlugin.name); } -- cgit v1.2.3 From d8710c9c252f49bf442590d47e8b79a9c1231ead Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Sun, 20 Jun 2021 01:04:53 +0500 Subject: Added game menus --- src/Plugin.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index 776ba8d..f518957 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -95,6 +95,14 @@ namespace PluginApi { void Exit() { PUSH_EVENT("Exit", 0); } + + void Disconnect() { + PUSH_EVENT("Disconnect", std::string("Disconnected by user")); + } + + void SetStatePlaying() { + SetState(State::Playing); + } } int LoadFileRequire(lua_State* L) { @@ -235,6 +243,8 @@ void PluginSystem::Init() { apiTable["RegisterDimension"] = PluginApi::RegisterDimension; apiTable["ConnectToServer"] = PluginApi::ConnectToServer; apiTable["Exit"] = PluginApi::Exit; + apiTable["Disconnect"] = PluginApi::Disconnect; + apiTable["SetStatePlaying"] = PluginApi::SetStatePlaying; } lua_State* PluginSystem::GetLuaState() { -- cgit v1.2.3 From 14939a87010ab17425d73b53829aa22c17c96d79 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Tue, 22 Jun 2021 03:38:08 +0500 Subject: Added Settings UI --- src/Plugin.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index f518957..e3188e6 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -10,6 +10,7 @@ #include "Game.hpp" #include "Event.hpp" #include "AssetManager.hpp" +#include "Settings.hpp" struct Plugin { @@ -103,6 +104,10 @@ namespace PluginApi { void SetStatePlaying() { SetState(State::Playing); } + + void SettingsUpdate() { + PUSH_EVENT("SettingsUpdate", 0); + } } int LoadFileRequire(lua_State* L) { @@ -233,6 +238,7 @@ void PluginSystem::Init() { "skylight", &Dimension::skylight); sol::table apiTable = lua["AC"].get_or_create(); + sol::table apiSettings = lua["AC"]["Settings"].get_or_create(); apiTable["RegisterPlugin"] = PluginApi::RegisterPlugin; apiTable["LogWarning"] = PluginApi::LogWarning; @@ -245,6 +251,17 @@ void PluginSystem::Init() { apiTable["Exit"] = PluginApi::Exit; apiTable["Disconnect"] = PluginApi::Disconnect; apiTable["SetStatePlaying"] = PluginApi::SetStatePlaying; + apiSettings["Load"] = Settings::Load; + apiSettings["Save"] = Settings::Save; + apiSettings["Read"] = Settings::Read; + apiSettings["Write"] = Settings::Write; + apiSettings["ReadBool"] = Settings::ReadBool; + apiSettings["WriteBool"] = Settings::WriteBool; + apiSettings["ReaIntd"] = Settings::ReadInt; + apiSettings["WriteInt"] = Settings::WriteInt; + apiSettings["ReadDouble"] = Settings::ReadDouble; + apiSettings["WriteDouble"] = Settings::WriteDouble; + apiTable["SettingsUpdate"] = PluginApi::SettingsUpdate; } lua_State* PluginSystem::GetLuaState() { -- cgit v1.2.3 From 0d2b4783824730ba2208f5caaef27c5c61a56fa5 Mon Sep 17 00:00:00 2001 From: LaG1924 Date: Tue, 22 Jun 2021 04:40:04 +0500 Subject: Minor changes to Ui scripts --- src/Plugin.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/Plugin.cpp') diff --git a/src/Plugin.cpp b/src/Plugin.cpp index e3188e6..5134aa6 100644 --- a/src/Plugin.cpp +++ b/src/Plugin.cpp @@ -237,6 +237,11 @@ void PluginSystem::Init() { "name", &Dimension::name, "skylight", &Dimension::skylight); + lua.new_usertype("LoopExecutionTimeController", + "GetIterations", &LoopExecutionTimeController::GetIterations, + "GetDeltaS", &LoopExecutionTimeController::GetDeltaS, + "GetRealDeltaS", &LoopExecutionTimeController::GetRealDeltaS); + sol::table apiTable = lua["AC"].get_or_create(); sol::table apiSettings = lua["AC"]["Settings"].get_or_create(); @@ -262,6 +267,7 @@ void PluginSystem::Init() { apiSettings["ReadDouble"] = Settings::ReadDouble; apiSettings["WriteDouble"] = Settings::WriteDouble; apiTable["SettingsUpdate"] = PluginApi::SettingsUpdate; + apiTable["GetTime"] = GetTime; } lua_State* PluginSystem::GetLuaState() { -- cgit v1.2.3