From 47038ac9734ae2a0747a999ffd971008418978e0 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 01:54:46 -0400 Subject: [PATCH 01/12] prevent memory leak --- src/framework/luaengine/luavaluecasts.h | 4 ++-- src/framework/ui/uianchorlayout.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/framework/luaengine/luavaluecasts.h b/src/framework/luaengine/luavaluecasts.h index 2769829d14..cbc4889c23 100644 --- a/src/framework/luaengine/luavaluecasts.h +++ b/src/framework/luaengine/luavaluecasts.h @@ -307,7 +307,7 @@ bool luavalue_cast(int index, std::function& func) "did you forget to hold a reference for that function?", 0); } } catch (const LuaException& e) { - g_logger.error(stdext::format("lua function callback failed: %s", e.what())); + g_logger.fatal(stdext::format("lua function callback failed: %s", e.what())); } }; return true; @@ -341,7 +341,7 @@ luavalue_cast(int index, std::function& func) throw LuaException("attempt to call an expired lua function from C++," "did you forget to hold a reference for that function?", 0); } catch (const LuaException& e) { - g_logger.error(stdext::format("lua function callback failed: %s", e.what())); + g_logger.fatal(stdext::format("lua function callback failed: %s", e.what())); } return Ret(); }; diff --git a/src/framework/ui/uianchorlayout.cpp b/src/framework/ui/uianchorlayout.cpp index 065aae81b7..a012aad571 100644 --- a/src/framework/ui/uianchorlayout.cpp +++ b/src/framework/ui/uianchorlayout.cpp @@ -165,7 +165,7 @@ bool UIAnchorLayout::updateWidget(const UIWidgetPtr& widget, const UIAnchorGroup return false; if (first == widget) { - g_logger.error(stdext::format("child '%s' of parent widget '%s' is recursively anchored to itself, please fix this", widget->getId(), parentWidget->getId())); + g_logger.fatal(stdext::format("child '%s' of parent widget '%s' is recursively anchored to itself, please fix this", widget->getId(), parentWidget->getId())); return false; } From e07e65828e20ece3280fc17d2daabc94a6240b91 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 01:55:21 -0400 Subject: [PATCH 02/12] blessing blessing controller / html css --- modules/game_blessing/blessing.html | 102 ++++++++++++++ modules/game_blessing/blessing.lua | 129 ++++++++++++++++++ modules/game_blessing/blessing.otmod | 9 ++ modules/game_blessing/images/1.png | Bin 0 -> 8026 bytes modules/game_blessing/images/1_on.png | Bin 0 -> 8980 bytes modules/game_blessing/images/2.png | Bin 0 -> 7564 bytes modules/game_blessing/images/2_on.png | Bin 0 -> 8994 bytes modules/game_blessing/images/3.png | Bin 0 -> 8155 bytes modules/game_blessing/images/3_on.png | Bin 0 -> 9190 bytes modules/game_blessing/images/4.png | Bin 0 -> 8235 bytes modules/game_blessing/images/4_on.png | Bin 0 -> 9125 bytes modules/game_blessing/images/5.png | Bin 0 -> 8358 bytes modules/game_blessing/images/5_on.png | Bin 0 -> 9462 bytes modules/game_blessing/images/6.png | Bin 0 -> 6869 bytes modules/game_blessing/images/6_on.png | Bin 0 -> 7795 bytes modules/game_blessing/images/7.png | Bin 0 -> 7088 bytes modules/game_blessing/images/7_on.png | Bin 0 -> 8004 bytes modules/game_blessing/images/8.png | Bin 0 -> 3824 bytes modules/game_blessing/images/8_on.png | Bin 0 -> 8141 bytes .../images/blessingContainer.png | Bin 0 -> 1380 bytes modules/game_blessing/images/getpremium.png | Bin 0 -> 34800 bytes modules/game_blessing/style.otui | 72 ++++++++++ modules/game_interface/interface.otmod | 1 + modules/game_inventory/inventory.otui | 4 +- src/client/game.cpp | 8 ++ src/client/game.h | 32 ++++- src/client/luafunctions.cpp | 1 + src/client/luavaluecasts_client.cpp | 65 ++++++++- src/client/luavaluecasts_client.h | 5 + src/client/protocolcodes.h | 1 + src/client/protocolgame.h | 1 + src/client/protocolgameparse.cpp | 61 +++++---- src/client/protocolgamesend.cpp | 7 + 33 files changed, 464 insertions(+), 34 deletions(-) create mode 100644 modules/game_blessing/blessing.html create mode 100644 modules/game_blessing/blessing.lua create mode 100644 modules/game_blessing/blessing.otmod create mode 100644 modules/game_blessing/images/1.png create mode 100644 modules/game_blessing/images/1_on.png create mode 100644 modules/game_blessing/images/2.png create mode 100644 modules/game_blessing/images/2_on.png create mode 100644 modules/game_blessing/images/3.png create mode 100644 modules/game_blessing/images/3_on.png create mode 100644 modules/game_blessing/images/4.png create mode 100644 modules/game_blessing/images/4_on.png create mode 100644 modules/game_blessing/images/5.png create mode 100644 modules/game_blessing/images/5_on.png create mode 100644 modules/game_blessing/images/6.png create mode 100644 modules/game_blessing/images/6_on.png create mode 100644 modules/game_blessing/images/7.png create mode 100644 modules/game_blessing/images/7_on.png create mode 100644 modules/game_blessing/images/8.png create mode 100644 modules/game_blessing/images/8_on.png create mode 100644 modules/game_blessing/images/blessingContainer.png create mode 100644 modules/game_blessing/images/getpremium.png create mode 100644 modules/game_blessing/style.otui diff --git a/modules/game_blessing/blessing.html b/modules/game_blessing/blessing.html new file mode 100644 index 0000000000..121d11f617 --- /dev/null +++ b/modules/game_blessing/blessing.html @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua new file mode 100644 index 0000000000..799bb61694 --- /dev/null +++ b/modules/game_blessing/blessing.lua @@ -0,0 +1,129 @@ +BlessingController = Controller:new() + +function BlessingController:onInit() +end + +function BlessingController:onTerminate() + self:findWidget("#main"):destroy() +end + +function BlessingController:onGameStart() + g_ui.importStyle("style.otui") + self:loadHtml('blessing.html') + + BlessingController:registerEvents(g_game, { + onUpdateBlessDialog = onUpdateBlessDialog + }) + BlessingController.ui:hide() +end + +function BlessingController:onGameEnd() + if BlessingController.ui:isVisible() then + BlessingController.ui:hide() + end +end + +function BlessingController:close() + hide() +end + +function BlessingController:showHistory() + if BlessingController.ui.blessingHistory:isVisible() then + setBlessing() + else + setHistory() + end +end + +function setHistory() + local ui = BlessingController.ui + ui.test:hide() + ui.promotionStatus2:hide() + ui.promotionStatus:hide() + ui.blessingHistory:show() + ui.historyButton:setText("Back") +end + +function setBlessing() + local ui = BlessingController.ui + ui.test:show() + ui.promotionStatus2:show() + ui.promotionStatus:show() + ui.blessingHistory:hide() + ui.historyButton:setText("History") +end +function toggle() + if not BlessingController.ui then + return + end + + if BlessingController.ui:isVisible() then + return hide() + end + show() +end + +function hide() + if not BlessingController.ui then + return + end + BlessingController.ui:hide() +end + +function show() + if not BlessingController.ui then + return + end + g_game.requestBless() + BlessingController.ui:show() + BlessingController.ui:raise() + BlessingController.ui:focus() + setBlessing() +end + +function onUpdateBlessDialog(data) + + BlessingController.ui.test:destroyChildren() + + for i, entry in ipairs(data.blesses) do + local label = g_ui.createWidget("blessingTEST", BlessingController.ui.test) + local totalCount = entry.playerBlessCount + entry.store + label.text:setText(entry.playerBlessCount .. " (" .. entry.store .. ")") + if totalCount >= 1 then + label.enabled:setImageSource("images/" .. i .. "_on") + end + end + + if (data.promotion ~= 0) then + BlessingController.ui.promotionStatus2.rank:setColoredText( + "Your character is promoted and your account has Premium\nstatus. As a result, your XP loss is reduced by {30%, #f75f5f}.") + else + BlessingController.ui.promotionStatus2.rank:setColoredText( + "Your character is promoted and your account has Premium\nstatus. As a result, your XP loss is reduced by {0%, #f75f5f}.") + end + + BlessingController.ui.promotionStatus.fightRules:setColoredText( + "- Depending on the fair fight rules, you will lose between {" .. data.pvpMinXpLoss .. ", #f75f5f} and {" .. + data.pvpMaxXpLoss .. "%, #f75f5f} less XP and skill\npoints upon your next PvP death.") + + BlessingController.ui.promotionStatus.expLoss:setColoredText( + "- You will lose {" .. data.pveExpLoss .. "%, #f75f5f}% less XP and skill points upon your next PvE death.") + + BlessingController.ui.promotionStatus.containerLoss:setColoredText( + "- There is a {" .. data.equipPvpLoss .. + "%, #f75f5f} chance that you will lose your equipped container on your next\ndeath.") + + BlessingController.ui.promotionStatus.equipmentLoss:setColoredText( + "- There is a {" .. data.equipPveLoss .. "%, #f75f5f} chance that you will lose items upon your next death.") + + BlessingController.ui.blessingHistory.data:destroyChildren() + + for index, entry in ipairs(data.logs) do + local row = g_ui.createWidget("historyData", BlessingController.ui.blessingHistory.data) + local date = os.date("%Y-%m-%d, %H:%M:%S", entry.timestam) + row:setBackgroundColor(index % 2 == 0 and "#ffffff12" or "#00000012") + row.rank:setText(date) + row.name:setText(entry.historyMessage) + end + +end diff --git a/modules/game_blessing/blessing.otmod b/modules/game_blessing/blessing.otmod new file mode 100644 index 0000000000..a5b55cbeef --- /dev/null +++ b/modules/game_blessing/blessing.otmod @@ -0,0 +1,9 @@ +Module + name: game_blessing + description: game_blessing + author: game_blessing + website: game_blessing + scripts: [ blessing.lua ] + sandboxed: true + @onLoad: BlessingController:init() + @onUnload: BlessingController:terminate() \ No newline at end of file diff --git a/modules/game_blessing/images/1.png b/modules/game_blessing/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..5e65bf2648685dabca385e9e7b533caf53705988 GIT binary patch literal 8026 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 literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/1_on.png b/modules/game_blessing/images/1_on.png new file mode 100644 index 0000000000000000000000000000000000000000..6bba7a551e5de911bca09b7225b48d548334272e GIT binary patch literal 8980 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 IM6N<$g7%+vmjD0& literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/3.png b/modules/game_blessing/images/3.png new file mode 100644 index 0000000000000000000000000000000000000000..5163bf7f6047fea15da841bf14e6291045933da8 GIT binary patch literal 8155 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 B+)w}j literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/3_on.png b/modules/game_blessing/images/3_on.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fc6e5e53c460a0e8aa63d2406f871672daa919 GIT binary patch literal 9190 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 literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/4.png b/modules/game_blessing/images/4.png new file mode 100644 index 0000000000000000000000000000000000000000..ac0c7d30cc917b5fdd0c0679c85af987b83d9fa6 GIT binary patch literal 8235 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 literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/5.png b/modules/game_blessing/images/5.png new file mode 100644 index 0000000000000000000000000000000000000000..a08dc9eb9121d85b389c30597c740620c97bdc96 GIT binary patch literal 8358 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 P00000NkvXXu0mjfBZr$h literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/6_on.png b/modules/game_blessing/images/6_on.png new file mode 100644 index 0000000000000000000000000000000000000000..34c4f076516905095cccda5a2f2ba62624cb4741 GIT binary patch literal 7795 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 FV1jV$fCK;l literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/7.png b/modules/game_blessing/images/7.png new file mode 100644 index 0000000000000000000000000000000000000000..37ebb68538bdc7d3d98c3be9665a5e1bcf8c6f0d GIT binary patch literal 7088 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 mCU@3FQln^^jIijFB>4}R^U2HL5g!u(0000z0`S literal 0 HcmV?d00001 diff --git a/modules/game_blessing/images/getpremium.png b/modules/game_blessing/images/getpremium.png new file mode 100644 index 0000000000000000000000000000000000000000..14566df04590ceb2b3ed59b8efb55b005f4cd6c5 GIT binary patch literal 34800 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 eay>UU*Zvo{jP#(EXFM(d0000sendImbuementDurations(isOpen); } + +void Game::requestBless() +{ + if (!canPerformGameAction()) + return; + + m_protocolGame->sendRequestBless(); +} diff --git a/src/client/game.h b/src/client/game.h index 3263a0e19e..8dfd93f9b5 100644 --- a/src/client/game.h +++ b/src/client/game.h @@ -53,6 +53,36 @@ struct UnjustifiedPoints uint8_t skullTime; }; +struct BlessData +{ + uint16_t blessBitwise; + uint8_t playerBlessCount; + uint8_t store; +}; + +struct LogData +{ + uint32_t timestamp; + uint8_t colorMessage; + std::string_view historyMessage; +}; + +struct BlessDialogData +{ + uint8_t totalBless; + std::vector blesses; + uint8_t premium; + uint8_t promotion; + uint8_t pvpMinXpLoss; + uint8_t pvpMaxXpLoss; + uint8_t pveExpLoss; + uint8_t equipPvpLoss; + uint8_t equipPveLoss; + uint8_t skull; + uint8_t aol; + std::vector logs; +}; + using Vip = std::tuple; //@bindsingleton g_game @@ -394,7 +424,7 @@ class Game const std::vector>& highscores, uint32_t entriesTs); void imbuementDurations(bool isOpen = false); - + void requestBless(); protected: void enableBotCall() { m_denyBotCall = false; } void disableBotCall() { m_denyBotCall = true; } diff --git a/src/client/luafunctions.cpp b/src/client/luafunctions.cpp index b356e59005..ac64f690e0 100644 --- a/src/client/luafunctions.cpp +++ b/src/client/luafunctions.cpp @@ -362,6 +362,7 @@ void Client::registerLuaFunctions() g_lua.bindSingletonFunction("g_game", "stashWithdraw", &Game::stashWithdraw, &g_game); g_lua.bindSingletonFunction("g_game", "requestHighscore", &Game::requestHighscore, &g_game); g_lua.bindSingletonFunction("g_game", "imbuementDurations", &Game::imbuementDurations, &g_game); + g_lua.bindSingletonFunction("g_game", "requestBless", &Game::requestBless, &g_game); g_lua.registerSingletonClass("g_gameConfig"); g_lua.bindSingletonFunction("g_gameConfig", "loadFonts", &GameConfig::loadFonts, &g_gameConfig); diff --git a/src/client/luavaluecasts_client.cpp b/src/client/luavaluecasts_client.cpp index 90aea34136..815b9ec152 100644 --- a/src/client/luavaluecasts_client.cpp +++ b/src/client/luavaluecasts_client.cpp @@ -287,4 +287,67 @@ bool luavalue_cast(int index, UnjustifiedPoints& unjustifiedPoints) g_lua.getField("skullTime", index); unjustifiedPoints.skullTime = g_lua.popInteger(); return true; -} \ No newline at end of file +} + +int push_luavalue(const BlessData& bless) { + g_lua.createTable(0, 3); + g_lua.pushInteger(bless.blessBitwise); + g_lua.setField("blessBitwise"); + g_lua.pushInteger(bless.playerBlessCount); + g_lua.setField("playerBlessCount"); + g_lua.pushInteger(bless.store); + g_lua.setField("store"); + return 1; +} + +int push_luavalue(const LogData& log) { + g_lua.createTable(0, 3); + g_lua.pushInteger(log.timestamp); + g_lua.setField("timestamp"); + g_lua.pushInteger(log.colorMessage); + g_lua.setField("colorMessage"); + g_lua.pushString(log.historyMessage); + g_lua.setField("historyMessage"); + return 1; +} + +int push_luavalue(const BlessDialogData& data) { + g_lua.createTable(0, 11); + g_lua.pushInteger(data.totalBless); + g_lua.setField("totalBless"); + + g_lua.createTable(data.blesses.size(), 0); + for (size_t i = 0; i < data.blesses.size(); ++i) { + push_luavalue(data.blesses[i]); + g_lua.rawSeti(i + 1); + } + g_lua.setField("blesses"); + + g_lua.pushInteger(data.premium); + g_lua.setField("premium"); + g_lua.pushInteger(data.promotion); + g_lua.setField("promotion"); + g_lua.pushInteger(data.pvpMinXpLoss); + g_lua.setField("pvpMinXpLoss"); + g_lua.pushInteger(data.pvpMaxXpLoss); + g_lua.setField("pvpMaxXpLoss"); + g_lua.pushInteger(data.pveExpLoss); + g_lua.setField("pveExpLoss"); + g_lua.pushInteger(data.equipPvpLoss); + g_lua.setField("equipPvpLoss"); + g_lua.pushInteger(data.equipPveLoss); + g_lua.setField("equipPveLoss"); + g_lua.pushInteger(data.skull); + g_lua.setField("skull"); + g_lua.pushInteger(data.aol); + g_lua.setField("aol"); + + g_lua.createTable(data.logs.size(), 0); + for (size_t i = 0; i < data.logs.size(); ++i) { + push_luavalue(data.logs[i]); + g_lua.rawSeti(i + 1); + } + g_lua.setField("logs"); + + return 1; +} diff --git a/src/client/luavaluecasts_client.h b/src/client/luavaluecasts_client.h index 9b178f5e4d..554e5b5a9f 100644 --- a/src/client/luavaluecasts_client.h +++ b/src/client/luavaluecasts_client.h @@ -48,3 +48,8 @@ bool luavalue_cast(int index, UnjustifiedPoints& unjustifiedPoints); // imbuement int push_luavalue(const Imbuement& i); int push_luavalue(const ImbuementTrackerItem& i); + +// Bless +int push_luavalue(const BlessData& bless); +int push_luavalue(const LogData& log); +int push_luavalue(const BlessDialogData& data); diff --git a/src/client/protocolcodes.h b/src/client/protocolcodes.h index 6fceffe808..0f90cd8a58 100644 --- a/src/client/protocolcodes.h +++ b/src/client/protocolcodes.h @@ -298,6 +298,7 @@ namespace Proto ClientRefreshContainer = 202, ClientBrowseField = 203, ClientSeekInContainer = 204, + ClientRequestBless = 207, ClientRequestOutfit = 210, ClientChangeOutfit = 211, ClientMount = 212, // 870 diff --git a/src/client/protocolgame.h b/src/client/protocolgame.h index c87b4cbf9d..901844bad7 100644 --- a/src/client/protocolgame.h +++ b/src/client/protocolgame.h @@ -97,6 +97,7 @@ class ProtocolGame : public Protocol void sendExcludeFromOwnChannel(const std::string_view name); void sendCancelAttackAndFollow(); void sendRefreshContainer(int containerId); + void sendRequestBless(); void sendRequestOutfit(); void sendChangeOutfit(const Outfit& outfit); void sendTyping(bool typing); diff --git a/src/client/protocolgameparse.cpp b/src/client/protocolgameparse.cpp index 33b26aaf4a..5c6e729948 100644 --- a/src/client/protocolgameparse.cpp +++ b/src/client/protocolgameparse.cpp @@ -3474,36 +3474,37 @@ void ProtocolGame::parseGameNews(const InputMessagePtr& msg) void ProtocolGame::parseBlessDialog(const InputMessagePtr& msg) { - // parse bless amount - const uint8_t totalBless = msg->getU8(); // total bless - - // parse each bless - for (auto i = 0; i < totalBless; ++i) { - msg->getU16(); // bless bit wise - msg->getU8(); // player bless count - msg->getU8(); // store? - } - - // parse general info - msg->getU8(); // premium - msg->getU8(); // promotion - msg->getU8(); // pvp min xp loss - msg->getU8(); // pvp max xp loss - msg->getU8(); // pve exp loss - msg->getU8(); // equip pvp loss - msg->getU8(); // equip pve loss - msg->getU8(); // skull - msg->getU8(); // aol - - // parse log - const uint8_t logCount = msg->getU8(); // log count - for (auto i = 0; i < logCount; ++i) { - msg->getU32(); // timestamp - msg->getU8(); // color message (0 = white loss, 1 = red) - msg->getString(); // history message - } - - // TODO: implement bless dialog usage + BlessDialogData data; + data.totalBless = msg->getU8(); + + for (uint8_t i = 0; i < data.totalBless; ++i) { + BlessData bless; + bless.blessBitwise = msg->getU16(); + bless.playerBlessCount = msg->getU8(); + bless.store = msg->getU8(); + data.blesses.emplace_back(bless); + } + + data.premium = msg->getU8(); + data.promotion = msg->getU8(); + data.pvpMinXpLoss = msg->getU8(); + data.pvpMaxXpLoss = msg->getU8(); + data.pveExpLoss = msg->getU8(); + data.equipPvpLoss = msg->getU8(); + data.equipPveLoss = msg->getU8(); + data.skull = msg->getU8(); + data.aol = msg->getU8(); + + uint8_t logCount = msg->getU8(); + for (uint8_t i = 0; i < logCount; ++i) { + LogData log; + log.timestamp = msg->getU32(); + log.colorMessage = msg->getU8(); + log.historyMessage = msg->getString(); + data.logs.emplace_back(log); + } + + g_lua.callGlobalField("g_game", "onUpdateBlessDialog", data); } void ProtocolGame::parseRestingAreaState(const InputMessagePtr& msg) diff --git a/src/client/protocolgamesend.cpp b/src/client/protocolgamesend.cpp index a99940da97..643a748536 100644 --- a/src/client/protocolgamesend.cpp +++ b/src/client/protocolgamesend.cpp @@ -725,6 +725,13 @@ void ProtocolGame::sendRefreshContainer(int containerId) send(msg); } +void ProtocolGame::sendRequestBless() +{ + const auto& msg = std::make_shared(); + msg->addU8(Proto::ClientRequestBless); + send(msg); +} + void ProtocolGame::sendRequestOutfit() { const auto& msg = std::make_shared(); From 6da216bb80f26cb6b0818b1b3a26a644f0034cfc Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:46:47 -0400 Subject: [PATCH 03/12] fix:buttom --- modules/game_blessing/blessing.lua | 2 ++ modules/game_blessing/style.otui | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua index 799bb61694..a49f125619 100644 --- a/modules/game_blessing/blessing.lua +++ b/modules/game_blessing/blessing.lua @@ -95,11 +95,13 @@ function onUpdateBlessDialog(data) end if (data.promotion ~= 0) then + BlessingController.ui.promotionStatus2.premium_only:setOn(false) BlessingController.ui.promotionStatus2.rank:setColoredText( "Your character is promoted and your account has Premium\nstatus. As a result, your XP loss is reduced by {30%, #f75f5f}.") else BlessingController.ui.promotionStatus2.rank:setColoredText( "Your character is promoted and your account has Premium\nstatus. As a result, your XP loss is reduced by {0%, #f75f5f}.") + BlessingController.ui.promotionStatus2.premium_only:setOn(true) end BlessingController.ui.promotionStatus.fightRules:setColoredText( diff --git a/modules/game_blessing/style.otui b/modules/game_blessing/style.otui index 0cd5757111..c54029bed8 100644 --- a/modules/game_blessing/style.otui +++ b/modules/game_blessing/style.otui @@ -60,11 +60,12 @@ BlessingButton < UIButton image-source: /game_blessing/images/getpremium image-clip: 0 0 128 37 image-border: 3 + @onClick: modules.game_shop.toggle() $pressed: image-clip: 0 37 128 37 - $disabled: + $!on: image-clip: 0 74 128 37 $disabled: color: #dfdfdf88 From 5b27d1e2efc169f6f05bdc272f2c1349ed7f58a7 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:49:57 -0400 Subject: [PATCH 04/12] Revert "prevent memory leak" This reverts commit 47038ac9734ae2a0747a999ffd971008418978e0. --- src/framework/luaengine/luavaluecasts.h | 4 ++-- src/framework/ui/uianchorlayout.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/framework/luaengine/luavaluecasts.h b/src/framework/luaengine/luavaluecasts.h index cbc4889c23..2769829d14 100644 --- a/src/framework/luaengine/luavaluecasts.h +++ b/src/framework/luaengine/luavaluecasts.h @@ -307,7 +307,7 @@ bool luavalue_cast(int index, std::function& func) "did you forget to hold a reference for that function?", 0); } } catch (const LuaException& e) { - g_logger.fatal(stdext::format("lua function callback failed: %s", e.what())); + g_logger.error(stdext::format("lua function callback failed: %s", e.what())); } }; return true; @@ -341,7 +341,7 @@ luavalue_cast(int index, std::function& func) throw LuaException("attempt to call an expired lua function from C++," "did you forget to hold a reference for that function?", 0); } catch (const LuaException& e) { - g_logger.fatal(stdext::format("lua function callback failed: %s", e.what())); + g_logger.error(stdext::format("lua function callback failed: %s", e.what())); } return Ret(); }; diff --git a/src/framework/ui/uianchorlayout.cpp b/src/framework/ui/uianchorlayout.cpp index a012aad571..065aae81b7 100644 --- a/src/framework/ui/uianchorlayout.cpp +++ b/src/framework/ui/uianchorlayout.cpp @@ -165,7 +165,7 @@ bool UIAnchorLayout::updateWidget(const UIWidgetPtr& widget, const UIAnchorGroup return false; if (first == widget) { - g_logger.fatal(stdext::format("child '%s' of parent widget '%s' is recursively anchored to itself, please fix this", widget->getId(), parentWidget->getId())); + g_logger.error(stdext::format("child '%s' of parent widget '%s' is recursively anchored to itself, please fix this", widget->getId(), parentWidget->getId())); return false; } From 5a411db78d79d7b2447ceaaef21666895e2b7534 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 19:37:33 -0400 Subject: [PATCH 05/12] fix \n --- modules/game_blessing/blessing.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua index a49f125619..86405ea8e5 100644 --- a/modules/game_blessing/blessing.lua +++ b/modules/game_blessing/blessing.lua @@ -106,14 +106,14 @@ function onUpdateBlessDialog(data) BlessingController.ui.promotionStatus.fightRules:setColoredText( "- Depending on the fair fight rules, you will lose between {" .. data.pvpMinXpLoss .. ", #f75f5f} and {" .. - data.pvpMaxXpLoss .. "%, #f75f5f} less XP and skill\npoints upon your next PvP death.") + data.pvpMaxXpLoss .. "%, #f75f5f} less XP and skill points \nupon your next PvP death.") BlessingController.ui.promotionStatus.expLoss:setColoredText( "- You will lose {" .. data.pveExpLoss .. "%, #f75f5f}% less XP and skill points upon your next PvE death.") BlessingController.ui.promotionStatus.containerLoss:setColoredText( "- There is a {" .. data.equipPvpLoss .. - "%, #f75f5f} chance that you will lose your equipped container on your next\ndeath.") + "%, #f75f5f} chance that you will lose your equipped container on your next death.") BlessingController.ui.promotionStatus.equipmentLoss:setColoredText( "- There is a {" .. data.equipPveLoss .. "%, #f75f5f} chance that you will lose items upon your next death.") From b6b21a19342cf8ac3baf51b954a9b5c99881ac6a Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 19:46:18 -0400 Subject: [PATCH 06/12] fix --- modules/game_blessing/blessing.lua | 12 ++++++++++-- modules/game_blessing/style.otui | 10 +--------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua index 86405ea8e5..f114652338 100644 --- a/modules/game_blessing/blessing.lua +++ b/modules/game_blessing/blessing.lua @@ -52,6 +52,7 @@ function setBlessing() ui.blessingHistory:hide() ui.historyButton:setText("History") end + function toggle() if not BlessingController.ui then return @@ -118,10 +119,17 @@ function onUpdateBlessDialog(data) BlessingController.ui.promotionStatus.equipmentLoss:setColoredText( "- There is a {" .. data.equipPveLoss .. "%, #f75f5f} chance that you will lose items upon your next death.") - BlessingController.ui.blessingHistory.data:destroyChildren() + BlessingController.ui.blessingHistory:destroyChildren() + + local row2 = g_ui.createWidget("historyData", BlessingController.ui.blessingHistory) + row2:setBackgroundColor("#363636") + row2.rank:setText("date") + row2.name:setText("Event") + row2.rank:setColor("#c0c0c0") + row2.name:setColor("#c0c0c0") for index, entry in ipairs(data.logs) do - local row = g_ui.createWidget("historyData", BlessingController.ui.blessingHistory.data) + local row = g_ui.createWidget("historyData", BlessingController.ui.blessingHistory) local date = os.date("%Y-%m-%d, %H:%M:%S", entry.timestam) row:setBackgroundColor(index % 2 == 0 and "#ffffff12" or "#00000012") row.rank:setText(date) diff --git a/modules/game_blessing/style.otui b/modules/game_blessing/style.otui index c54029bed8..8639dccc5b 100644 --- a/modules/game_blessing/style.otui +++ b/modules/game_blessing/style.otui @@ -1,7 +1,5 @@ - historyData < UIWidget height: 16 - Label anchors.top: parent.top anchors.left: parent.left @@ -26,23 +24,18 @@ historyData < UIWidget phantom: true margin-left: 5 - - blessingTEST < UIWidget background-color: alpha height: 62 width: 70 focusable: true - text-align: left - UIWidget id: enabled anchors.left: parent.left anchors.verticalCenter: parent.verticalCenter margin-top: -10 margin-left: 3 - Label id: text !text: tr('loooooong text') @@ -61,10 +54,9 @@ BlessingButton < UIButton image-clip: 0 0 128 37 image-border: 3 @onClick: modules.game_shop.toggle() - + $pressed: image-clip: 0 37 128 37 - $!on: image-clip: 0 74 128 37 $disabled: From bd58b2b7a2dc9aafb57726d1fac912e65196078c Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Sun, 21 Jul 2024 19:52:54 -0400 Subject: [PATCH 07/12] trying to fix the miniwindows title . fail --- modules/game_blessing/blessing.html | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/modules/game_blessing/blessing.html b/modules/game_blessing/blessing.html index 121d11f617..e53503795f 100644 --- a/modules/game_blessing/blessing.html +++ b/modules/game_blessing/blessing.html @@ -38,6 +38,7 @@ .contenedor { width: 580; display: block; + font: verdana-11px-antialised; } .record-blessing { @@ -45,6 +46,7 @@ height: 120; display: block; } + .mini-panel { width: 580; height: 300; @@ -57,6 +59,7 @@ .data-panel { size: 60 20; display: flex; + text:History; image-clip: 0 0 22 23; image-border: 3; focusable: false; @@ -68,12 +71,7 @@ - - - - - Date: Sun, 21 Jul 2024 19:59:25 -0400 Subject: [PATCH 08/12] fix --- modules/game_blessing/blessing.lua | 2 +- src/client/game.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua index f114652338..1047eac3f5 100644 --- a/modules/game_blessing/blessing.lua +++ b/modules/game_blessing/blessing.lua @@ -130,7 +130,7 @@ function onUpdateBlessDialog(data) for index, entry in ipairs(data.logs) do local row = g_ui.createWidget("historyData", BlessingController.ui.blessingHistory) - local date = os.date("%Y-%m-%d, %H:%M:%S", entry.timestam) + local date = os.date("%Y-%m-%d, %H:%M:%S", entry.timestamp) row:setBackgroundColor(index % 2 == 0 and "#ffffff12" or "#00000012") row.rank:setText(date) row.name:setText(entry.historyMessage) diff --git a/src/client/game.h b/src/client/game.h index 8dfd93f9b5..66905da28f 100644 --- a/src/client/game.h +++ b/src/client/game.h @@ -425,6 +425,7 @@ class Game void imbuementDurations(bool isOpen = false); void requestBless(); + protected: void enableBotCall() { m_denyBotCall = false; } void disableBotCall() { m_denyBotCall = true; } From bb21fe3af3e05d33475c60e786eb4d93960ab920 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Wed, 24 Jul 2024 12:26:08 -0400 Subject: [PATCH 09/12] fail try VerticalScrollBar --- modules/game_blessing/blessing.html | 23 ++++++++++------------- modules/game_blessing/blessing.lua | 11 +++++------ modules/game_blessing/style.otui | 9 +++++++++ 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/modules/game_blessing/blessing.html b/modules/game_blessing/blessing.html index e53503795f..688a6b3e18 100644 --- a/modules/game_blessing/blessing.html +++ b/modules/game_blessing/blessing.html @@ -50,28 +50,25 @@ .mini-panel { width: 580; height: 300; - background-color: #333333; - color: #ffffff; + background-color: #404040; + margin-bottom: 10; display: block; } - .data-panel { - size: 60 20; - display: flex; - text:History; - image-clip: 0 0 22 23; - image-border: 3; - focusable: false; - text-offset: 35 0; - image-source: /images/ui/button; - } + - + + + + Date: Thu, 8 Aug 2024 17:30:07 -0400 Subject: [PATCH 10/12] Update src/client/protocolgameparse.cpp Co-authored-by: Luan Luciano --- src/client/protocolgameparse.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/client/protocolgameparse.cpp b/src/client/protocolgameparse.cpp index 5c6e729948..8526b21882 100644 --- a/src/client/protocolgameparse.cpp +++ b/src/client/protocolgameparse.cpp @@ -3495,8 +3495,8 @@ void ProtocolGame::parseBlessDialog(const InputMessagePtr& msg) data.skull = msg->getU8(); data.aol = msg->getU8(); - uint8_t logCount = msg->getU8(); - for (uint8_t i = 0; i < logCount; ++i) { + const uint8_t logCount = msg->getU8(); + for (auto i = 0; i < logCount; ++i) { LogData log; log.timestamp = msg->getU32(); log.colorMessage = msg->getU8(); From 98035ff9d3130de6e1336304a1844141b8fd20e7 Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:30:18 -0400 Subject: [PATCH 11/12] Update src/client/protocolgameparse.cpp Co-authored-by: Luan Luciano --- src/client/protocolgameparse.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/protocolgameparse.cpp b/src/client/protocolgameparse.cpp index 8526b21882..38740df0d1 100644 --- a/src/client/protocolgameparse.cpp +++ b/src/client/protocolgameparse.cpp @@ -3477,7 +3477,7 @@ void ProtocolGame::parseBlessDialog(const InputMessagePtr& msg) BlessDialogData data; data.totalBless = msg->getU8(); - for (uint8_t i = 0; i < data.totalBless; ++i) { + for (auto i = 0; i < data.totalBless; ++i) { BlessData bless; bless.blessBitwise = msg->getU16(); bless.playerBlessCount = msg->getU8(); From b48027dede0724ff33509738060e1a5b11ac11de Mon Sep 17 00:00:00 2001 From: kokekanon <114332266+kokekanon@users.noreply.github.com> Date: Thu, 8 Aug 2024 17:32:57 -0400 Subject: [PATCH 12/12] review luan --- modules/game_blessing/blessing.lua | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/game_blessing/blessing.lua b/modules/game_blessing/blessing.lua index b5182c14cd..788d18250a 100644 --- a/modules/game_blessing/blessing.lua +++ b/modules/game_blessing/blessing.lua @@ -83,7 +83,6 @@ function show() end function onUpdateBlessDialog(data) - BlessingController.ui.test:destroyChildren() for i, entry in ipairs(data.blesses) do @@ -134,5 +133,4 @@ function onUpdateBlessDialog(data) row.rank:setText(date) row.name:setText(entry.historyMessage) end - end