diff --git a/Source/Client/Mode/GameMode.cpp b/Source/Client/Mode/GameMode.cpp index b49531f37..f4a01dcd5 100644 --- a/Source/Client/Mode/GameMode.cpp +++ b/Source/Client/Mode/GameMode.cpp @@ -9112,7 +9112,6 @@ void CGameMode::UpdateHoverNameBalloon() { #include #include #include -#include "Utility/StdStringCompare.h" #pragma pack(push, 1) struct TalkWhisperSettingPacket { diff --git a/Source/Client/Mode/GameModeHandlers.cpp b/Source/Client/Mode/GameModeHandlers.cpp index 218183bda..cbdfe95da 100644 --- a/Source/Client/Mode/GameModeHandlers.cpp +++ b/Source/Client/Mode/GameModeHandlers.cpp @@ -370,7 +370,6 @@ struct GroundSkillArgumentData { static_assert(sizeof(GroundSkillExtendedData) == 0x20); static_assert(sizeof(GroundSkillArgumentData) == 0x24); - // OFFSET: 0x00D66230 // FUNCTION: fn_22010 void CGameMode::ReceivePartyRoster(const unsigned char* packet) { @@ -489,7 +488,6 @@ void CGameMode::SpawnGroundSkill(std::uint32_t aid, std::uint32_t owner, int val skill->SendMsg(nullptr, AM_SKILLSTANDENTRY, 0, address, address >> 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); } - int CountItemRandomOptions(const unsigned char* entries); struct GameOptionEntry { @@ -1245,8 +1243,6 @@ void CGameMode::ReceiveBillingInfo(const unsigned char* packet) { g_windowMgr.SendNotice(UIM_PUSHINTOCHATHISTORY, reinterpret_cast(text), 0xFFFFFF, 0, 0, 0); } -extern template std::uint32_t& std::map::operator[](const std::uint32_t&); - struct ActorMessage32 { /* 0000 */ std::string text; /* 0018 */ std::string extra; @@ -1928,16 +1924,11 @@ void CGameMode::ReceiveRuneRewardSteps(const unsigned char* data) { ++entry; } - UIWindow* window = g_windowMgr.LookupWindow(WID_RUNESYSTEMWND); if (window) { window->SendMsg(window, UM_REFRESH, 0, 0, 0, 0); } } -using RodexMailTree = std::_Tree, std::allocator>, false>>; -extern template std::_Tree_find_result, void*>*> -RodexMailTree::_Find_lower_bound(const std::int64_t&) const; // OFFSET: 0x00D66B10 // FUNCTION: fn_22021 @@ -2126,7 +2117,6 @@ void CGameMode::ReceiveGameOptionResult(int command, int result, int enabled) { } } - // OFFSET: 0x00D678E0 // FUNCTION: fn_22035 void CGameMode::ReceiveServiceRequest(unsigned char type, int value) { @@ -2501,9 +2491,6 @@ void CGameMode::ReceiveDdukddakBoxTest(const unsigned char* packet) { #include "UI/Text/UIBroadcastBalloon.h" -extern template decltype(auto) std::list::emplace_back(std::string&, std::uint32_t&); -extern template std::list::~list(); - #include // OFFSET: 0x00D3C9B0 @@ -2663,7 +2650,6 @@ void CGameMode::Zc_Skill_Entry(const unsigned char* record) { data.level = 0; packet.visible = 1; - CSkill* skill = static_cast(this->scene->GetSkillByAID(data.aid)); if (data.owner != g_session.m_aid && !data.visible) { diff --git a/Source/Linkage/Source/Client/Mode/GameMode.cpp.h b/Source/Linkage/Source/Client/Mode/GameMode.cpp.h new file mode 100644 index 000000000..465178542 --- /dev/null +++ b/Source/Linkage/Source/Client/Mode/GameMode.cpp.h @@ -0,0 +1,106 @@ +#pragma once + +#include "Contents/Actors/ActorEnums.h" +#include "UI/Window/WindowId.h" +#include "Client/Mode/CGameMode.h" +#include "UI/Window/UIEnums.h" +#include "Client/Mode/ModeMessage.h" +#include "Client/Mode/GameModeEnums.h" +#include "Contents/Items/ItemId.h" +#include "Contents/Jobs/JobId.h" +#include "Contents/Skills/SkillId.h" +#include "Contents/Skills/SkillUnitId.h" +#include "UI/GameSettings/TalkType.h" +#include "Client/Mode/CLoginMode.h" +#include "Client/Mode/ModeMgr.h" +#include "Client/Replay/Replay.h" +#include "Client/Input/InputCharset.h" +#include "Client/Session/Session.h" +#include "Contents/Actors/Npc.h" +#include "Contents/Actors/Pc.h" +#include "Contents/Camera/Camera.h" +#include "Contents/Configuration/ServiceConfiguration.h" +#include "Contents/Configuration/ServiceOptions.h" +#include "Contents/Effects/Core/DummyEffectLauncher.h" +#include "Contents/Effects/Core/EffectLists.h" +#include "Contents/Effects/Skills/SkillEffects.h" +#include "Contents/Effects/Core/RagEffect.h" +#include "Contents/Ground/GroundGeometry.h" +#include "Contents/Jobs/JobInheritance.h" +#include "Contents/Guild/GuildInfo.h" +#include "Contents/Guild/GuildMgr.h" +#include "Contents/Tables/MessageTable.h" +#include "Contents/Actors/MousePointer.h" +#include "Contents/Actors/RenderObject.h" +#include "Contents/Items/ItemInfo.h" +#include "Contents/Actors/PlayerNameDictionary.h" +#include "Contents/Skills/ClientSkills.h" +#include "Contents/Skills/SkillInfo.h" +#include "Contents/Sound/SoundMgr.h" +#include "Contents/World/World.h" +#include "Network/Connection/Connection.h" +#include "Network/Packets/PacketLengths.h" +#include "Network/Packets/PacketId.h" +#include "Render/Renderer.h" +#include "Resource/World/TerrainResource.h" +#include "Script/LuaScript.h" +#include "UI/Text/UIBroadcastBalloon.h" +#include "UI/Chat/UINewChatWnd.h" +#include "UI/Window/UIWindow.h" +#include "UI/Window/UIWindowMgr.h" +#include "UI/Edit/UIEditCtrl.h" +#include "Contents/Actors/GrannyGameActor.h" +#include "Utility/Text/FormatString.h" +#include "Utility/Text/TextTokens.h" +#include "Client/Application/Launcher.h" +#include "UI/Navigation/NavigationLink.h" +#include "Contents/Quest/RenewQuestMgr.h" +#include "Contents/Party/AdventurerAgencyMgr.h" +#include "Contents/Skills/AutomaticSkills.h" +#include "UI/Shortcuts/UIShortCutWnd.h" +#include "Contents/Map/MapInfoMgr.h" +#include +#include "File/File.h" +#include "Client/Stove/StoveMgr.h" +#include "Contents/Events/ShowRankingScheduler.h" +#include "Render/Primitives/TextureQuad.h" +#include "UI/Cooldowns/CooldownOwner.h" +#include "Utility/Text/HexString.h" +#include "Client/Application/Timer.h" +#include "Contents/Map/MapSkyMgr.h" +#include "Contents/Messenger/WhisperBlockMgr.h" +#include "Contents/Tables/ForbiddenWords.h" +#include "Contents/Items/BarterMarketItemMgr.h" +#include "Client/Input/Language.h" +#include "UI/Chat/UIChatRoomMakeWnd.h" +#include "UI/Gauges/UIPcGage.h" +#include "Render/Projection/ScreenGeometry.h" +#include "UI/Shop/UIMerchantShopMakeWnd.h" +#include "UI/Items/UIRefiningWnd.h" +#include "UI/Items/UIGradeEnchantWnd.h" +#include "UI/Items/UISwapEquipmentWnd.h" +#include "UI/Monster/UIMonsterInfoWnd.h" +#include "Contents/Clan/ClanInfo.h" +#include "Contents/Actors/ActorStateFlags.h" +#include "Contents/Items/SelectPackageItemMgr.h" +#include "Contents/Jobs/JobNames.h" +#include "Contents/Navigation/NavigationManager.h" +#include "UI/Guild/UIGuildWnd.h" +#include "Contents/CashEmotion/CashEmotionMgr.h" +#include "Contents/Tables/SimpleStringMgr.h" +#include "File/ShortcutFilename.h" +#include "UI/Dialogs/UICntWnd.h" +#include "UI/Dialogs/UINormalMB.h" +#include +#include +#include +#include +#include +#include "Client/Application/ApplicationWindow.h" +#include "UI/Login/UINewSelectCharWnd.h" +#include "Network/TextEncoding.h" +#include "Resource/MSGSTRINGID.h" +#include "Utility/Cipher/LocalEncryptedName.h" +#include "Utility/Cipher/CryptName.h" + +extern template int std::_Traits_compare>(const char*, std::size_t, const char*, std::size_t) noexcept; diff --git a/Source/Linkage/Source/Client/Mode/GameModeHandlers.cpp.h b/Source/Linkage/Source/Client/Mode/GameModeHandlers.cpp.h new file mode 100644 index 000000000..b6516efdd --- /dev/null +++ b/Source/Linkage/Source/Client/Mode/GameModeHandlers.cpp.h @@ -0,0 +1,83 @@ +#pragma once + +#include "Client/Mode/CGameMode.h" +#include "UI/Window/WindowId.h" +#include "UI/Window/UIEnums.h" +#include "Contents/Actors/ActorEnums.h" +#include "Network/Packets/NoticeEnums.h" +#include "Contents/Skills/SkillUnitId.h" +#include "Network/Packets/ModeResultEnums.h" +#include "Client/Mode/CLoginMode.h" +#include "Client/Mode/ModeMgr.h" +#include "Client/Application/Launcher.h" +#include "Client/Input/InputCharset.h" +#include "Client/Session/Session.h" +#include "Client/Replay/Replay.h" +#include "Contents/Achievement/AchievementMgr.h" +#include "Contents/CashEmotion/CashEmotionMgr.h" +#include "Contents/Clan/ClanInfo.h" +#include "Contents/Actors/Pc.h" +#include "Contents/Actors/Skill.h" +#include "Contents/Skills/GraffiSkill.h" +#include "Contents/Actors/RenderObject.h" +#include "Contents/Configuration/ServiceConfiguration.h" +#include "Contents/Configuration/ServiceOptions.h" +#include "Contents/Effects/Core/Effect.h" +#include "Contents/Effects/Core/EffectLists.h" +#include "Contents/Effects/Skills/MonsterSkillEffects.h" +#include "Contents/Tables/ForbiddenWords.h" +#include "Contents/Ground/TerrainHeight.h" +#include "Contents/Guild/GuildMgr.h" +#include "Contents/Items/ItemDescription.h" +#include "Contents/Items/ItemInfo.h" +#include "Contents/RuneSystem/RuneSystem.h" +#include "Contents/Tables/MessageTable.h" +#include "Contents/Rodex/RodexMailStore.h" +#include "Contents/Quest/RenewQuestMgr.h" +#include "Contents/Sound/SoundMgr.h" +#include "Contents/World/World.h" +#include "File/File.h" +#include "File/FileCreation.h" +#include "Script/LuaScript.h" +#include "Network/Connection/Connection.h" +#include "Network/Packets/PacketLengths.h" +#include "Render/Renderer.h" +#include "Resource/World/TerrainResource.h" +#include "UI/Dialogs/UITipboxWnd.h" +#include "UI/GameSettings/GameSettingsUI.h" +#include "UI/Rodex/UIRodexInboxWnd.h" +#include "UI/Text/UITransBalloonText.h" +#include "UI/Gauges/UIBarGraph.h" +#include "UI/Items/UIGradeEnchantWnd.h" +#include "UI/Status/UIHomunInfoWnd.h" +#include "UI/Party/UISeekPartyWnd.h" +#include "UI/Window/UIWindow.h" +#include "UI/Window/UIWindowMgr.h" +#include "Utility/Math/Vector3d.h" +#include "Utility/Text/FormatString.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "Resource/MSGSTRINGID.h" +#include "Network/Packets/PacketId.h" +#include "UI/Text/UIBroadcastBalloon.h" + +extern template std::uint32_t& std::map::operator[](const std::uint32_t&); +using RodexMailTree = std::_Tree, std::allocator>, false>>; +extern template std::_Tree_find_result, void*>*> +RodexMailTree::_Find_lower_bound(const std::int64_t&) const; +extern template decltype(auto) std::list::emplace_back(std::string&, std::uint32_t&); +extern template std::list::~list(); diff --git a/Source/Linkage/Source/Render/Text/FontCache.cpp.h b/Source/Linkage/Source/Render/Text/FontCache.cpp.h new file mode 100644 index 000000000..f6673d409 --- /dev/null +++ b/Source/Linkage/Source/Render/Text/FontCache.cpp.h @@ -0,0 +1,11 @@ +#pragma once + +#include "Render/Text/FontCache.h" +#include +#include +#include +#include +#include +#include + +extern template bool std::_Traits_equal>(const char*, std::size_t, const char*, std::size_t) noexcept; diff --git a/Source/Linkage/Source/UI/Buttons/UITextButton.cpp.h b/Source/Linkage/Source/UI/Buttons/UITextButton.cpp.h new file mode 100644 index 000000000..87d50fdc4 --- /dev/null +++ b/Source/Linkage/Source/UI/Buttons/UITextButton.cpp.h @@ -0,0 +1,81 @@ +#pragma once + +#include "Client/Input/InputCharset.h" +#include "Client/Mode/ModeMessage.h" +#include "UI/Window/UIEnums.h" +#include "UI/Window/WindowId.h" +#include "UI/Window/UIEnums.h" +#include "Client/Mode/CMode.h" +#include "Client/Mode/ModeMgr.h" +#include "Render/Renderer.h" +#include "UI/Login/UINewSelectCharWnd.h" +#include "Client/Replay/Replay.h" +#include "UI/Window/WindowPolicy.h" +#include "Render/Text/FontCache.h" +#include "Render/DeviceContext/DeviceContext.h" +#include "UI/Gauges/UIBarGraph.h" +#include "UI/Buttons/UIBmpRadioBtn.h" +#include "Render/Text/TextContext.h" +#include "UI/Window/UIWindowMgr.h" +#include "UI/Buttons/UIItemTagButton.h" +#include "UI/Items/UIItemMoveInfo.h" +#include "UI/Buttons/UITextButton.h" +#include "UI/Lists/UIImgMenu.h" +#include "UI/Lists/UITabControl.h" +#include "UI/Lists/UITreeView.h" +#include "UI/Buttons/UIStaticItem.h" +#include "Client/Session/Session.h" +#include "Contents/Hotkeys/HotkeyInfo.h" +#include "Contents/Items/ItemNaming.h" +#include "Contents/Tables/MessageTable.h" +#include "Contents/Skills/ClientSkills.h" +#include "UI/Window/UIBasicCtrl.h" +#include "Utility/Text/FormatString.h" +#include "UI/Lists/UIMemberListBox.h" +#include "UI/Buttons/UIBitmapButton2.h" +#include "UI/Buttons/UISlotBmpButton.h" +#include "UI/Buttons/UIStaticBitmap.h" +#include "UI/Buttons/UITVBitmapButton.h" +#include "UI/Buttons/UITVTextButton.h" +#include "UI/Lists/UIComboBox.h" +#include "UI/Lists/UIComboBoxV2Wnd.h" +#include "UI/Items/UIItemStoreComboBox.h" +#include "UI/SelectPackageItemBox/UIPackageBoxNameList.h" +#include "UI/Lists/UIListBoxEx.h" +#include "UI/Lists/UIListBoxID.h" +#include "UI/Lists/UIScrollBarVariants.h" +#include "UI/Lists/TableBox.h" +#include "UI/Text/UITransBalloonText.h" +#include "UI/Text/UIString.h" +#include "UI/Edit/UIEditCtrl_Currency.h" +#include "Client/Input/Language.h" +#include "Utility/Text/GroupedInteger.h" +#include "Client/Input/Mouse.h" +#include "Contents/Items/ItemDescription.h" +#include "Resource/Bitmap/BitmapResource.h" +#include "Resource/ResourceMgr.h" +#include "Resource/Bitmap/TextureNames.h" +#include "UI/Edit/UIEditCtrl.h" +#include "UI/Navigation/UIListBoxNavi.h" +#include "UI/Text/ColoredText.h" +#include "UI/Window/WindowBorder.h" +#include "Resource/Bitmap/SkinPalette.h" +#include +#include +#include +#include "Resource/MSGSTRINGID.h" +#include + +extern template std::_List_node* std::list::_Emplace(std::_List_node* const, UIWindow* const&); +using IntIntTree = std::_Tree, std::allocator>, false>>; +extern template std::_Tree_find_result, void*>*> +IntIntTree::_Find_lower_bound(const int&) const; +using IdListLineTree = std::_Tree, std::allocator>, false>>; +extern template std::_Tree_find_result, void*>*> +IdListLineTree::_Find_lower_bound(const int&) const; +using ExtendedListLineTree = std::_Tree, std::allocator>, false>>; +extern template std::_Tree_find_result, void*>*> +ExtendedListLineTree::_Find_lower_bound(const int&) const; +extern template UITextButton** std::allocator::allocate(const std::size_t); +extern template std::string std::format(const std::_Fmt_string, const std::string&); +extern template std::string::basic_string(std::_String_constructor_concat_tag, const std::string&, const char*, std::size_t, const char*, std::size_t); diff --git a/Source/Linkage/Source/UI/Edit/UIEditVariants.cpp.h b/Source/Linkage/Source/UI/Edit/UIEditVariants.cpp.h new file mode 100644 index 000000000..32951b4ae --- /dev/null +++ b/Source/Linkage/Source/UI/Edit/UIEditVariants.cpp.h @@ -0,0 +1,30 @@ +#pragma once + +#include "UI/Window/UIEnums.h" +#include "Client/Input/InputCharset.h" +#include "UI/Window/UIEnums.h" +#include "Client/Input/Language.h" +#include "Contents/Skin/SkinMgr.h" +#include "Render/Text/FontCache.h" +#include "Render/Text/TextContext.h" +#include "Resource/Bitmap/BitmapResource.h" +#include "Resource/ResourceMgr.h" +#include "Resource/Bitmap/SkinPalette.h" +#include "Resource/Bitmap/TextureNames.h" +#include "UI/Buttons/UIButton.h" +#include "UI/Buttons/UIItemTagButton.h" +#include "UI/Window/InputFocus.h" +#include "UI/Window/UIWindowMgr.h" +#include "UI/Chat/UINewChatWnd.h" +#include "UI/Edit/UIEditCtrl.h" +#include "UI/Lists/UIScrollBar.h" +#include "UI/Lists/UIScrollBarVariants.h" +#include "Network/TextEncoding.h" +#include "Utility/Text/FormatString.h" +#include "Utility/Text/StringUtil.h" +#include +#include +#include + +extern template void std::vector::_Tidy() noexcept; +extern template std::size_t std::_Traits_find>(const char* const, const std::size_t, const std::size_t, const char* const, const std::size_t) noexcept; diff --git a/Source/Render/Text/FontCache.cpp b/Source/Render/Text/FontCache.cpp index 8d2ef9321..4a7f43975 100644 --- a/Source/Render/Text/FontCache.cpp +++ b/Source/Render/Text/FontCache.cpp @@ -256,8 +256,6 @@ HFONT FontCache::Get(int family, int height, unsigned charset, unsigned char bol return entry.font; } -#include "Utility/StdTraitsEqual.h" - // OFFSET: 0x0054F830 // FUNCTION: fn_01959 int FallbackFontIndex(const std::string& name) { diff --git a/Source/UI/Buttons/UITextButton.cpp b/Source/UI/Buttons/UITextButton.cpp index f5be07fd2..1ebdc95fe 100644 --- a/Source/UI/Buttons/UITextButton.cpp +++ b/Source/UI/Buttons/UITextButton.cpp @@ -63,19 +63,6 @@ #include #include "Resource/MSGSTRINGID.h" -#include "Utility/StdWindowListEmplace.h" - -using IntIntTree = std::_Tree, std::allocator>, false>>; -extern template std::_Tree_find_result, void*>*> -IntIntTree::_Find_lower_bound(const int&) const; -using IdListLineTree = std::_Tree, std::allocator>, false>>; -extern template std::_Tree_find_result, void*>*> -IdListLineTree::_Find_lower_bound(const int&) const; -using ExtendedListLineTree = std::_Tree, std::allocator>, false>>; -extern template std::_Tree_find_result, void*>*> -ExtendedListLineTree::_Find_lower_bound(const int&) const; -extern template UITextButton** std::allocator::allocate(const std::size_t); - // OFFSET: 0x0086EEB0 // FUNCTION: fn_11085 UITextButton::UITextButton() : UIButton() { @@ -180,8 +167,6 @@ void UITextButton::OnMouseMove(int x, int y) { } } - - // OFFSET: 0x00892000 // FUNCTION: fn_11461 void UITextButton::OnMouseHover(int x, int y) { @@ -432,9 +417,6 @@ void UIBarGraph4::OnMouseHover(int, int) { this->ToScreen(screenX, screenY); - - - char text[260]; std::memset(text, 0, sizeof(text)); const int permille = static_cast(static_cast(*this->m_current) / static_cast(*this->m_maximum) * 1000.0f); @@ -453,9 +435,6 @@ void UIINT64BarGraph::OnMouseHover(int, int) { this->ToScreen(screenX, screenY); - - - char text[260]; std::memset(text, 0, sizeof(text)); const int permille = static_cast(static_cast(this->m_current) / static_cast(this->m_maximum) * 1000.0); @@ -539,9 +518,6 @@ void UIBasicItemCtrl::OnMouseHover(int, int) { this->ToScreen(screenX, screenY); - - - if (!text.empty()) { g_modeMgr.gameMode->ShowTooltip(text.c_str(), screenX, screenY, -1, false, true); } @@ -558,9 +534,6 @@ void UIBasicSkillCtrl::OnMouseHover(int, int) { this->ToScreen(screenX, screenY); - - - LuaScript& script = *g_session.m_hotkeyScript; CSkillInfo skill = g_session.LookupSkill(static_cast(this->m_skillId)); const int sp = skill.UseSpAmount(script, skill.level); @@ -654,9 +627,6 @@ void UIStaticItem::OnMouseHover(int, int) { this->ToScreen(screenX, screenY); - - - g_modeMgr.gameMode->ShowTooltip(text, screenX, screenY, -1, false, true); } @@ -2815,8 +2785,6 @@ void UIScrollBar_Custom::SetThumbBitmaps(std::string top, std::string middle, st #include -extern template std::string std::format(const std::_Fmt_string, const std::string&); - // OFFSET: 0x00884720 // FUNCTION: fn_11310 void UIItemTagOnChat::PlaceTagButton(UIWindow* button, const std::string& name, const int& x, int) { @@ -3556,9 +3524,6 @@ int UISlotBmpButton::SendMsg(UIWindow* sender, int message, std::intptr_t argume #include "Client/Mode/CMode.h" #include "Client/Mode/CLoginMode.h" -#include "Utility/StdStringConcat.h" - - // OFFSET: 0x0088EBC0 // FUNCTION: fn_11385 void UISlotBmpButton::Paint() { @@ -3635,4 +3600,3 @@ UIItemTagButton::UIItemTagButton() { this->tipId = 0; } - diff --git a/Source/UI/Edit/UIEditVariants.cpp b/Source/UI/Edit/UIEditVariants.cpp index 6da2d76f0..37e0cd1ba 100644 --- a/Source/UI/Edit/UIEditVariants.cpp +++ b/Source/UI/Edit/UIEditVariants.cpp @@ -1195,9 +1195,6 @@ UIShowAndEditTimeCtrl::UIShowAndEditTimeCtrl() : UIWindow(0) { #include "UI/Edit/UIItemTagCtrl.h" #include "UI/Edit/UIEditPaint.inl" -extern template void std::vector::_Tidy() noexcept; -#include "Utility/StdTraitsFind.h" - // OFFSET: 0x0085C4F0 // FUNCTION: fn_10801 void UIChatEditCtrl::Paint() {