diff --git a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp index 1709417b..289b8f63 100644 --- a/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp +++ b/Source/UI/Acceptance/UIChooseSellBuyWnd.cpp @@ -206,8 +206,8 @@ void UIChatHisBox::Configure(int x, int y, int width, int height, unsigned char) // OFFSET: 0x008C73C0 // FUNCTION: fn_11930 -UIChooseSellBuyWnd::UIChooseSellBuyWnd(UIAcceptanceContext& acceptance) - : UIFrameWnd(0), identity(0), m_acceptance(&acceptance) { +UIChooseSellBuyWnd::UIChooseSellBuyWnd() + : UIFrameWnd(0), identity(0) { } // OFFSET: 0x008C6FA0 @@ -3578,7 +3578,7 @@ int UIChooseSellBuyWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, offset += 6; if (kind == 20851) { - this->m_acceptance->replayShopState = 1; + static_cast(g_modeMgr.GetGameMode())->unknown_024C = 1; this->SendMsg(nullptr, 28, 0, 0, 0, 0); g_windowMgr.CloseWindow(22); g_windowMgr.CloseWindow(23); @@ -6080,14 +6080,14 @@ UIAutoMessageWnd::UIAutoMessageWnd() // OFFSET: 0x008C6E80 // FUNCTION: fn_11924 -UIBabyAcceptWnd2::UIBabyAcceptWnd2(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIBabyAcceptWnd2::UIBabyAcceptWnd2() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C6F10 // FUNCTION: fn_11925 -UIBabyAcceptWnd::UIBabyAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIBabyAcceptWnd::UIBabyAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C7630 @@ -6336,20 +6336,20 @@ UISkillNameChangeWnd::UISkillNameChangeWnd() // OFFSET: 0x008C7710 // FUNCTION: fn_11937 -UICoupleAcceptWnd::UICoupleAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UICoupleAcceptWnd::UICoupleAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C8120 // FUNCTION: fn_11948 -UIJoinFriendAcceptWnd::UIJoinFriendAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIJoinFriendAcceptWnd::UIJoinFriendAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C81B0 // FUNCTION: fn_11949 -UIJoinGuildAcceptWnd::UIJoinGuildAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIJoinGuildAcceptWnd::UIJoinGuildAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008FE310 @@ -6425,20 +6425,20 @@ int UIJoinGuildAcceptWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a // OFFSET: 0x008C8510 // FUNCTION: fn_11955 -UIMixAcceptWnd::UIMixAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIMixAcceptWnd::UIMixAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C9160 // FUNCTION: fn_11977 -UIStarPlaceAcceptWnd::UIStarPlaceAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIStarPlaceAcceptWnd::UIStarPlaceAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C97F0 // FUNCTION: fn_11985 -UIYourItemWnd::UIYourItemWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIYourItemWnd::UIYourItemWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008C8C70 diff --git a/Source/UI/Acceptance/UIExchangeAcceptWnd.cpp b/Source/UI/Acceptance/UIExchangeAcceptWnd.cpp index fba483e0..ea916bd3 100644 --- a/Source/UI/Acceptance/UIExchangeAcceptWnd.cpp +++ b/Source/UI/Acceptance/UIExchangeAcceptWnd.cpp @@ -1,4 +1,8 @@ #include "Client/Mode/CMode.h" +#include "Client/Mode/CGameMode.h" +#include "Client/Mode/ModeMgr.h" +#include "Render/Renderer.h" +#include "Contents/Configuration/ServiceConfiguration.h" #include "Contents/MessageTable.h" #include "Client/Mode/ModeEvents.h" #include "Client/ReplayPacketRecorder.h" @@ -14,8 +18,8 @@ // OFFSET: 0x008C7AA0 // FUNCTION: fn_11941 -UIExchangeAcceptWnd::UIExchangeAcceptWnd(UIAcceptanceContext& acceptance) - : UIChooseSellBuyWnd(acceptance), saved(nullptr) { +UIExchangeAcceptWnd::UIExchangeAcceptWnd() + : UIChooseSellBuyWnd(), saved(nullptr) { } // OFFSET: 0x008CC9C0 @@ -36,8 +40,6 @@ void UIExchangeAcceptWnd::Slot15(int width, int height) { // OFFSET: 0x008FA8C0 // FUNCTION: fn_12343 int UIExchangeAcceptWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) { - auto& owner = *this->m_acceptance; - if (message == 6) { const int response = static_cast(a); this->RecordResponse(response, b, c, d); @@ -53,8 +55,8 @@ int UIExchangeAcceptWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, if (message == 34) { this->saved = reinterpret_cast(a); - if (this->saved->width != 280 || this->saved->height != 120 || this->saved->x < 0 || this->saved->x > owner.screenWidth - 280 || this->saved->y < 0 || - this->saved->y > owner.screenHeight - 120) { + if (this->saved->width != 280 || this->saved->height != 120 || this->saved->x < 0 || this->saved->x > g_renderer->viewport.width - 280 || this->saved->y < 0 || + this->saved->y > g_renderer->viewport.height - 120) { this->saved->x = 200; this->saved->y = 200; this->saved->width = 280; @@ -75,7 +77,7 @@ int UIExchangeAcceptWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, text = "C-Code : "; text += ShortcutFilename(static_cast(b)); text += " "; - text += owner.service == 12 ? "Nv." : "Lv."; + text += g_serviceType == 12 ? "Nv." : "Lv."; text += std::to_string(static_cast(c)); this->viewer->SendMsg(nullptr, 29, reinterpret_cast(text.c_str()), 138, 0, 0); @@ -105,7 +107,7 @@ int UIExchangeAcceptWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::memcpy(text, bytes + offset, size); offset += size; this->SendMsg(nullptr, 50, reinterpret_cast(text), 0, 0, 0); - owner.replayExchangeName = text; + static_cast(g_modeMgr.GetGameMode())->exchangeName = text; } else { offset += size; } diff --git a/Source/UI/Acceptance/UIJoinPartyAcceptWnd.cpp b/Source/UI/Acceptance/UIJoinPartyAcceptWnd.cpp index c36b9b68..98a2173d 100644 --- a/Source/UI/Acceptance/UIJoinPartyAcceptWnd.cpp +++ b/Source/UI/Acceptance/UIJoinPartyAcceptWnd.cpp @@ -12,8 +12,8 @@ // OFFSET: 0x008C8240 // FUNCTION: fn_11950 -UIJoinPartyAcceptWnd::UIJoinPartyAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIJoinPartyAcceptWnd::UIJoinPartyAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008CCEE0 diff --git a/Source/UI/Acceptance/UIJoinPartyAcceptWnd.h b/Source/UI/Acceptance/UIJoinPartyAcceptWnd.h index 1f6aada0..1449b947 100644 --- a/Source/UI/Acceptance/UIJoinPartyAcceptWnd.h +++ b/Source/UI/Acceptance/UIJoinPartyAcceptWnd.h @@ -7,21 +7,9 @@ class UITextViewer; struct NormalItemSlotWindow; -struct UIAcceptanceContext { - void* unknown_text; - const int& screenWidth; - const int& screenHeight; - const int& service; - std::list& firstShopItems; - std::list& secondShopItems; - std::list& thirdShopItems; - int& replayShopState; - std::string& replayExchangeName; -}; - class UIChooseSellBuyWnd : public UIFrameWnd { public: - UIChooseSellBuyWnd(UIAcceptanceContext& acceptance); + UIChooseSellBuyWnd(); ~UIChooseSellBuyWnd() override; void Slot15(int width, int height) override; void Paint() override; @@ -32,14 +20,13 @@ public: /* 00B8 */ UITextViewer* viewer; protected: - UIAcceptanceContext* m_acceptance; void AddChoice(const char* name, int id, int x, int y); void CreateViewer(int width, int height); }; class UIExchangeAcceptWnd : public UIChooseSellBuyWnd { public: - UIExchangeAcceptWnd(UIAcceptanceContext& acceptance); + UIExchangeAcceptWnd(); ~UIExchangeAcceptWnd() override; void Slot15(int width, int height) override; int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; @@ -51,7 +38,7 @@ public: class UIJoinPartyAcceptWnd : public UIExchangeAcceptWnd { public: - UIJoinPartyAcceptWnd(UIAcceptanceContext& acceptance); + UIJoinPartyAcceptWnd(); ~UIJoinPartyAcceptWnd() override; int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; @@ -59,33 +46,33 @@ public: class UIAllyGuildAcceptWnd : public UIExchangeAcceptWnd { public: - UIAllyGuildAcceptWnd(UIAcceptanceContext& acceptance); + UIAllyGuildAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; }; class UIBabyAcceptWnd2 : public UIExchangeAcceptWnd { public: - UIBabyAcceptWnd2(UIAcceptanceContext& acceptance); + UIBabyAcceptWnd2(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; }; class UIBabyAcceptWnd : public UIExchangeAcceptWnd { public: - UIBabyAcceptWnd(UIAcceptanceContext& acceptance); + UIBabyAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; }; class UICoupleAcceptWnd : public UIExchangeAcceptWnd { public: - UICoupleAcceptWnd(UIAcceptanceContext& acceptance); + UICoupleAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; }; class UIJoinFriendAcceptWnd : public UIExchangeAcceptWnd { public: - UIJoinFriendAcceptWnd(UIAcceptanceContext& acceptance); + UIJoinFriendAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; @@ -95,14 +82,14 @@ public: class UIJoinGuildAcceptWnd : public UIExchangeAcceptWnd { public: - UIJoinGuildAcceptWnd(UIAcceptanceContext& acceptance); + UIJoinGuildAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; }; class UIMixAcceptWnd : public UIExchangeAcceptWnd { public: - UIMixAcceptWnd(UIAcceptanceContext& acceptance); + UIMixAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; /* 00C0 */ unsigned char m_kind; @@ -110,7 +97,7 @@ public: class UIStarPlaceAcceptWnd : public UIExchangeAcceptWnd { public: - UIStarPlaceAcceptWnd(UIAcceptanceContext& acceptance); + UIStarPlaceAcceptWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; std::vector Slot44() override; @@ -119,7 +106,7 @@ public: class UIYourItemWnd : public UIExchangeAcceptWnd { public: - UIYourItemWnd(UIAcceptanceContext& acceptance); + UIYourItemWnd(); int SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intptr_t b, std::intptr_t c, std::intptr_t d) override; /* 00C0 */ int m_index; @@ -127,9 +114,9 @@ public: }; #if defined(_WIN32) && !defined(_WIN64) -static_assert(sizeof(UIChooseSellBuyWnd) == 200); -static_assert(sizeof(UIExchangeAcceptWnd) == 204); -static_assert(sizeof(UIJoinPartyAcceptWnd) == 204); +static_assert(sizeof(UIChooseSellBuyWnd) == 196); +static_assert(sizeof(UIExchangeAcceptWnd) == 200); +static_assert(sizeof(UIJoinPartyAcceptWnd) == 200); #endif #endif diff --git a/Source/UI/Window/UIFrameWnd.cpp b/Source/UI/Window/UIFrameWnd.cpp index b4e041e1..2ce367de 100644 --- a/Source/UI/Window/UIFrameWnd.cpp +++ b/Source/UI/Window/UIFrameWnd.cpp @@ -608,8 +608,8 @@ int UICntWnd::SendMsg(UIWindow* sender, int message, std::intptr_t a, std::intpt // OFFSET: 0x008A34B0 // FUNCTION: fn_11653 -UIAllyGuildAcceptWnd::UIAllyGuildAcceptWnd(UIAcceptanceContext& acceptance) - : UIExchangeAcceptWnd(acceptance) { +UIAllyGuildAcceptWnd::UIAllyGuildAcceptWnd() + : UIExchangeAcceptWnd() { } // OFFSET: 0x008A3510