Maintenance: Linkage preludes, part 2 (resubmit of 17276): the 17 units whose explicit-template declarations name game types. Their e

Batch #17281 by ragnarok-clanker: no function's compiled code changes; checked with 17 compiled unit(s), including every includer of Source/Linkage/Source/Client/Browser/BrowserFactory.cpp.h, Source/Linkage/Source/Client/Browser/BrowserRegistry.cpp.h, Source/Linkage/Source/Client/Session/Session.cpp.h, Source/Linkage/Source/Contents/Actors/ActorNameCache.cpp.h, Source/Linkage/Source/Contents/Actors/ActorNameDirectory.cpp.h, Source/Linkage/Source/Contents/Actors/ActorNameRequests.cpp.h, Source/Linkage/Source/Contents/Actors/RenderObject.cpp.h, Source/Linkage/Source/Contents/AdventureGuide/AdventureGuideMgr.cpp.h, Source/Linkage/Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp.h, Source/Linkage/Source/Contents/Items/ClientItemLists.cpp.h, Source/Linkage/Source/Contents/Messenger/ClientMessenger.cpp.h, Source/Linkage/Source/Contents/Skills/PlayerSkillBundle.cpp.h, Source/Linkage/Source/UI/AdventureGuide/UIAdventureGuide.cpp.h, Source/Linkage/Source/UI/Quest/UIRenewQuestUI.cpp.h, Source/Linkage/Source/UI/Quest/UIRenewQuestWnd.cpp.h, Source/Linkage/Source/UI/Window/UIWindowMgr.cpp.h, Source/Linkage/Source/UI/Window/WindowMgrState.cpp.h.
This commit is contained in:
ragnarok-clanker 2026-11-11 20:19:09 +00:00
commit ba683b3b8d
34 changed files with 668 additions and 147 deletions

View file

@ -8,8 +8,6 @@
#include <new>
extern template std::pair<std::map<HWND, CWebBrowser*>::iterator, bool> std::map<HWND, CWebBrowser*>::insert<std::pair<HWND, CWebBrowser*>>(std::pair<HWND, CWebBrowser*>&&);
namespace {
constexpr unsigned maximumBrowserCount = 5;
}

View file

@ -5,11 +5,6 @@
#include <new>
using BrowserTree = std::_Tree<std::_Tmap_traits<HWND, CWebBrowser*, std::less<HWND>, std::allocator<std::pair<HWND const, CWebBrowser*>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<HWND const, CWebBrowser*>, void*>*>
BrowserTree::_Find_lower_bound<HWND>(HWND const&) const;
extern template std::pair<std::map<HWND, CWebBrowser*>::iterator, bool> std::map<HWND, CWebBrowser*>::insert<std::pair<HWND, CWebBrowser*>>(std::pair<HWND, CWebBrowser*>&&);
// OFFSET: 0x00A91990
// FUNCTION: fn_17167
CWebBrowser* UIWindowMgr::FindBrowser(HWND window) {

View file

@ -74,39 +74,9 @@
#include <vector>
#include <windows.h>
#include <timeapi.h>
#include "Utility/StdStringCompare.h"
#include "Utility/Math/AffineMatrix.h"
#include "Utility/Cipher/CryptName.h"
using SessionShopTree = std::_Tree<std::_Tmap_traits<
int, SessionShop, std::less<int>, std::allocator<std::pair<const int, SessionShop>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, SessionShop>, void*>*>
SessionShopTree::_Find_lower_bound<int>(const int&) const;
using NameToIdTree = std::_Tree<std::_Tmap_traits<
std::string, int, std::less<std::string>, std::allocator<std::pair<const std::string, int>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::string, int>, void*>*>
NameToIdTree::_Find_lower_bound<std::string>(const std::string&) const;
using ShopEntryTree = std::_Tree<std::_Tmap_traits<
int, std::pair<int, int>, std::less<int>, std::allocator<std::pair<const int, std::pair<int, int>>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, std::pair<int, int>>, void*>*>
ShopEntryTree::_Find_lower_bound<int>(const int&) const;
using ActorIdTree = std::_Tree<std::_Tset_traits<
std::uint32_t, std::less<std::uint32_t>, std::allocator<std::uint32_t>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::uint32_t, void*>*>
ActorIdTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
extern template void std::vector<std::string>::resize(size_type, const std::string&);
extern template void std::vector<unsigned char>::_Tidy() noexcept;
#include "Utility/StdStringMoveAssign.h"
using PendingActorNameTree = std::_Tree<std::_Tset_traits<
std::uint32_t, std::less<std::uint32_t>, std::allocator<std::uint32_t>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::uint32_t, void*>*>
PendingActorNameTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
// STATIC: 0x01732638
// GLOBAL: gl_24474
CSession g_session;
@ -130,7 +100,6 @@ public:
// GLOBAL: gl_25445
int g_sessionTableLoadCount;
namespace EquipmentProperties {
class CEquipmentPropertiesMgr {
public:

View file

@ -2,12 +2,6 @@
#include <cstring>
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
// OFFSET: 0x005BFA60
// FUNCTION: fn_03499
std::size_t CActorNameCardHolder::Save(std::vector<char>& output) {

View file

@ -2,14 +2,6 @@
#include <algorithm>
#include "Utility/StdTraitsEqual.h"
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
// OFFSET: 0x005BF870
// FUNCTION: fn_03497
std::size_t CActorNameCardHolder::Erase(std::uint32_t id) {

View file

@ -7,12 +7,6 @@
#include <windows.h>
#include <timeapi.h>
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
#pragma pack(push, 1)
struct PACKET_CZ_REQNAME2 {
/* 0000 */ std::int16_t packetType;

View file

@ -75,12 +75,6 @@
#include "Utility/Cipher/LocalEncryptedName.h"
#include "Utility/Cipher/CryptName.h"
using InstantValueTree = std::_Tree<std::_Tmap_traits<
int, std::int64_t, std::less<int>, std::allocator<std::pair<const int, std::int64_t>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, std::int64_t>, void*>*>
InstantValueTree::_Find_lower_bound<int>(const int&) const;
extern template void std::list<CRenderObject*>::push_back(CRenderObject*&&);
// GLOBAL: gl_25173
int g_playerPoisoned;

View file

@ -11,8 +11,6 @@
#include <optional>
#include <windows.h>
extern template bool std::string_view::_Equal(std::string_view) const noexcept;
// GLOBAL: gl_24502
CAdventureGuideMgr* g_adventureGuideMgr;
@ -478,7 +476,6 @@ int InsertQuestSubMenu(lua_State* state) {
return 2;
}
// OFFSET: 0x0066AF10
// FUNCTION: fn_05284
int InsertQuestContents(lua_State* state) {
@ -574,7 +571,6 @@ int InsertQuestReward(lua_State* state) {
return 2;
}
// OFFSET: 0x00668EA0
// FUNCTION: fn_05270
int InsertDungeon(lua_State* state) {
@ -834,7 +830,6 @@ int InsertWeaponSubMenu(lua_State* state) {
return 2;
}
// OFFSET: 0x0066B810
// FUNCTION: fn_05288
int InsertWeaponContents(lua_State* state) {
@ -907,7 +902,6 @@ int InsertWeaponContents(lua_State* state) {
return 2;
}
// OFFSET: 0x0066BB10
// FUNCTION: fn_05289
int InsertWeaponObtainGuide(lua_State* state) {
@ -938,7 +932,6 @@ int InsertWeaponObtainGuide(lua_State* state) {
return 2;
}
// OFFSET: 0x00668550
// FUNCTION: fn_05266
int InsertArmor(lua_State* state) {

View file

@ -16,21 +16,6 @@
#include <utility>
#include <new>
extern template void std::deque<CAccountLinkedUserDataLoadAsyncWork*>::push_back(CAccountLinkedUserDataLoadAsyncWork*&&);
extern template void std::deque<CAccountLinkedUserDataSaveAsyncWork*>::push_back(CAccountLinkedUserDataSaveAsyncWork*&&);
extern template void std::deque<CChangePartyMasterAsyncWork*>::push_back(CChangePartyMasterAsyncWork*&&);
extern template void std::deque<CCharacterLinkedUserDataLoadAsyncWork*>::push_back(CCharacterLinkedUserDataLoadAsyncWork*&&);
extern template void std::deque<CCharacterLinkedUserDataSaveAsyncWork*>::push_back(CCharacterLinkedUserDataSaveAsyncWork*&&);
extern template void std::deque<CEmblemDataDownloadAsyncWork*>::push_back(CEmblemDataDownloadAsyncWork*&&);
extern template void std::deque<CEmblemDataUploadAsyncWork*>::push_back(CEmblemDataUploadAsyncWork*&&);
extern template void std::deque<CLoadMyPartyAsyncWork*>::push_back(CLoadMyPartyAsyncWork*&&);
extern template void std::deque<CLoadPartyInfoAsyncWork*>::push_back(CLoadPartyInfoAsyncWork*&&);
extern template void std::deque<CLoadPartyListAsyncWork*>::push_back(CLoadPartyListAsyncWork*&&);
extern template void std::deque<CMCStoreInfoBackupSaveAsyncWork*>::push_back(CMCStoreInfoBackupSaveAsyncWork*&&);
extern template void std::deque<CMCStoreInfoBackupLoadAsyncWork*>::push_back(CMCStoreInfoBackupLoadAsyncWork*&&);
extern template void std::deque<CRegisterPartyAsyncWork*>::push_back(CRegisterPartyAsyncWork*&&);
extern template void std::deque<CStopRecruitingAsyncWork*>::push_back(CStopRecruitingAsyncWork*&&);
// OFFSET: 0x00576660
// FUNCTION: fn_02531
CAsyncWorkRecycleObjectPoolMgr::CAsyncWorkRecycleObjectPoolMgr() : m_registered(false) {

View file

@ -38,8 +38,6 @@
#include <utility>
#include <vector>
extern template std::list<ITEM_INFO>::iterator std::list<ITEM_INFO>::erase(std::list<ITEM_INFO>::const_iterator) noexcept;
extern template void std::_List_node<MessengerMember, void*>::_Free_non_head(std::allocator<std::_List_node<MessengerMember, void*>>&, std::_List_node<MessengerMember, void*>*) noexcept;
template __declspec(noinline) bool std::_Traits_equal<std::char_traits<char>>(const char*, std::size_t, const char*, std::size_t) noexcept;
namespace {
@ -190,7 +188,6 @@ static_assert(sizeof(ItemAddGradePacket) == 0x3A);
static_assert(sizeof(ItemListRecord) == 0x22);
#endif
int GetEquipLocationIndex(const int& mask);
namespace EquipmentProperties {

View file

@ -61,21 +61,9 @@
extern "C" {
#include <lualib.h>
}
#include "Utility/StdStringCompare.h"
void __fastcall RefreshItemWindows(UIWindowMgr* mgr);
using SessionShopTree = std::_Tree<std::_Tmap_traits<
int, SessionShop, std::less<int>, std::allocator<std::pair<const int, SessionShop>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, SessionShop>, void*>*>
SessionShopTree::_Find_lower_bound<int>(const int&) const;
extern template void std::list<CSkillInfo>::clear() noexcept;
using NameToIdTree = std::_Tree<std::_Tmap_traits<
std::string, int, std::less<std::string>, std::allocator<std::pair<const std::string, int>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::string, int>, void*>*>
NameToIdTree::_Find_lower_bound<std::string>(const std::string&) const;
namespace EquipmentProperties {
class CEquipmentProperties;
}

View file

@ -10,10 +10,6 @@
bool IsIndexedSkill(int id);
using SkillGroupTreeValue = std::_Tree_val<std::_Tree_simple_types<std::pair<const int, std::list<CSkillInfo>>>>;
extern template std::_Tree_unchecked_const_iterator<SkillGroupTreeValue, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<SkillGroupTreeValue, std::_Iterator_base0>::operator++() noexcept;
// INLINED
std::size_t SkillIdHash::operator()(std::uint32_t id) const {
return std::hash<std::uint32_t>()(id);

View file

@ -0,0 +1,12 @@
#pragma once
#include "UI/Window/UIEnums.h"
#include "Client/Application/ApplicationWindow.h"
#include "Client/Application/Launcher.h"
#include "Client/Browser/WebBrowser.h"
#include "Contents/Tables/MessageTable.h"
#include "Resource/MSGSTRINGID.h"
#include "UI/Window/UIWindowMgr.h"
#include <new>
extern template std::pair<std::map<HWND, CWebBrowser*>::iterator, bool> std::map<HWND, CWebBrowser*>::insert<std::pair<HWND, CWebBrowser*>>(std::pair<HWND, CWebBrowser*>&&);

View file

@ -0,0 +1,12 @@
#pragma once
#include "Client/Application/ApplicationWindow.h"
#include "Client/Application/Launcher.h"
#include "Client/Browser/WebBrowser.h"
#include "UI/Window/UIWindowMgr.h"
#include <new>
using BrowserTree = std::_Tree<std::_Tmap_traits<HWND, CWebBrowser*, std::less<HWND>, std::allocator<std::pair<HWND const, CWebBrowser*>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<HWND const, CWebBrowser*>, void*>*>
BrowserTree::_Find_lower_bound<HWND>(HWND const&) const;
extern template std::pair<std::map<HWND, CWebBrowser*>::iterator, bool> std::map<HWND, CWebBrowser*>::insert<std::pair<HWND, CWebBrowser*>>(std::pair<HWND, CWebBrowser*>&&);

View file

@ -0,0 +1,103 @@
#pragma once
#include "Client/Session/Session.h"
#include "Client/Mode/ModeMessage.h"
#include "Contents/Actors/ActorEnums.h"
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Contents/CombatTypes.h"
#include "Utility/Cipher/EncryptedName.h"
#include "Client/Mode/CGameMode.h"
#include "Contents/Actors/RenderObject.h"
#include "Contents/Effects/Core/EffectActor.h"
#include "Contents/Actors/Resources/EquipmentResourceMgr.h"
#include "Contents/Guild/GuildInfo.h"
#include "Contents/Guild/GuildMgr.h"
#include "Client/Mode/ModeMgr.h"
#include "Contents/Jobs/JobId.h"
#include "Contents/Skills/SkillId.h"
#include "Contents/World/World.h"
#include "Contents/Actors/GameActor.h"
#include "Contents/Actors/Pc.h"
#include "Contents/Effects/Core/RagEffect.h"
#include "Contents/Skills/ClientSkills.h"
#include "UI/Login/UINewSelectCharWnd.h"
#include "Contents/Messenger/ClientMessenger.h"
#include "File/File.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketId.h"
#include "Network/TextEncoding.h"
#include "Contents/Sound/SoundMgr.h"
#include "Contents/Jobs/JobInheritance.h"
#include "UI/Status/UIBasicInfoWnd.h"
#include "UI/Window/UIWindowMgr.h"
#include "UI/Window/UIWindow.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Client/Application/ErrorDialog.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Actors/PlayerNameDictionary.h"
#include "Utility/Text/FormatString.h"
#include "Utility/Cipher/XorBytes.h"
#include "Script/LuaScript.h"
#include "Contents/Map/MapPropertyMgr.h"
#include "Contents/Tables/ForbiddenWords.h"
#include "Contents/Items/ItemNaming.h"
#include "Contents/Skills/SkillInfo.h"
#include "Client/Application/ApplicationWindow.h"
#include "Contents/CashEmotion/CashEmotionMgr.h"
#include "Contents/Jobs/JobInheritance.h"
#include "Contents/Jobs/JobNames.h"
#include "Contents/Tables/SimpleStringMgr.h"
#include "File/CommonObject.h"
#include "Contents/World/WorldViewData.h"
#include "UI/Navigation/UIRoMapWnd.h"
#include "Contents/Achievement/AchievementMgr.h"
#include "Contents/Events/CheckAttendanceMgr.h"
#include "Contents/Items/BarterMarketItemMgr.h"
#include "Contents/Items/ChangeMaterialMgr.h"
#include "Contents/Items/ItemInfoMgr.h"
#include "Contents/RuneSystem/RuneSystem.h"
#include "Contents/Map/MapInfoMgr.h"
#include "Contents/Pet/PetEvolutionMgr.h"
#include "Contents/Map/PrivateAirplaneMgr.h"
#include "Contents/Events/SpecialPopupMgr.h"
#include "Resource/MSGSTRINGID.h"
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <initializer_list>
#include <mbstring.h>
#include <list>
#include <string>
#include <vector>
#include <windows.h>
#include <timeapi.h>
extern template int std::_Traits_compare<std::char_traits<char>>(const char*, std::size_t, const char*, std::size_t) noexcept;
using SessionShopTree = std::_Tree<std::_Tmap_traits<
int, SessionShop, std::less<int>, std::allocator<std::pair<const int, SessionShop>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, SessionShop>, void*>*>
SessionShopTree::_Find_lower_bound<int>(const int&) const;
using NameToIdTree = std::_Tree<std::_Tmap_traits<
std::string, int, std::less<std::string>, std::allocator<std::pair<const std::string, int>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::string, int>, void*>*>
NameToIdTree::_Find_lower_bound<std::string>(const std::string&) const;
using ShopEntryTree = std::_Tree<std::_Tmap_traits<
int, std::pair<int, int>, std::less<int>, std::allocator<std::pair<const int, std::pair<int, int>>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, std::pair<int, int>>, void*>*>
ShopEntryTree::_Find_lower_bound<int>(const int&) const;
using ActorIdTree = std::_Tree<std::_Tset_traits<
std::uint32_t, std::less<std::uint32_t>, std::allocator<std::uint32_t>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::uint32_t, void*>*>
ActorIdTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;
extern template void std::vector<std::string>::resize(size_type, const std::string&);
extern template void std::vector<unsigned char>::_Tidy() noexcept;
extern template std::string& std::string::operator=(std::string&&) noexcept;
using PendingActorNameTree = std::_Tree<std::_Tset_traits<
std::uint32_t, std::less<std::uint32_t>, std::allocator<std::uint32_t>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::uint32_t, void*>*>
PendingActorNameTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;

View file

@ -0,0 +1,10 @@
#pragma once
#include "Contents/Actors/ActorNameCard.h"
#include <cstring>
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;

View file

@ -0,0 +1,11 @@
#pragma once
#include "Contents/Actors/ActorNameCard.h"
#include <algorithm>
extern template bool std::_Traits_equal<std::char_traits<char>>(const char*, std::size_t, const char*, std::size_t) noexcept;
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;

View file

@ -0,0 +1,15 @@
#pragma once
#include "Contents/Actors/ActorNameCard.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketId.h"
#include <algorithm>
#include <cstdint>
#include <windows.h>
#include <timeapi.h>
using ActorNameCardTree = std::_Tree<std::_Tmap_traits<
std::uint32_t, CActorNameCard, std::less<std::uint32_t>,
std::allocator<std::pair<const std::uint32_t, CActorNameCard>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::uint32_t, CActorNameCard>, void*>*>
ActorNameCardTree::_Find_lower_bound<std::uint32_t>(const std::uint32_t&) const;

View file

@ -0,0 +1,84 @@
#pragma once
#include "Contents/Actors/Npc.h"
#include "Client/Mode/ModeMessage.h"
#include "Contents/Actors/ActorEnums.h"
#include "Contents/Actors/ActorEnums.h"
#include "Contents/CombatTypes.h"
#include "Contents/Skills/SkillId.h"
#include "Contents/Actors/GrannyGameActor.h"
#include "Contents/Actors/RenderObject.h"
#include "Contents/Actors/ActorPickNode.h"
#include "Contents/Effects/Core/MsgEffect.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Mode/CGameMode.h"
#include "Client/Session/Session.h"
#include "Client/Replay/Replay.h"
#include "Contents/Camera/Camera.h"
#include "Contents/Actors/ActorStateFlags.h"
#include "Contents/Actors/CharacterRender.h"
#include "Render/DX9/RendererDX9.h"
#include "Contents/Actors/GameActor.h"
#include "Contents/Actors/GroundScope.h"
#include "Contents/Actors/Pc.h"
#include "Contents/Actors/EffectActors.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Contents/Effects/Core/Effect.h"
#include "Contents/Effects/Core/EffectLists.h"
#include "Contents/Effects/Skills/EnergyOrbEffect.h"
#include "Contents/Effects/Core/RagEffect.h"
#include "Contents/Effects/Skills/TetraBallEffect.h"
#include "Contents/Guild/GuildMgr.h"
#include "Contents/Map/MapSkyMgr.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Jobs/JobId.h"
#include "Contents/Jobs/JobInheritance.h"
#include "Contents/Messenger/ClientMessenger.h"
#include "Contents/Skills/ClientSkills.h"
#include "Contents/Skills/SkillInfo.h"
#include "Contents/Sound/SoundMgr.h"
#include "Contents/World/World.h"
#include "Contents/Effects/Core/EffectTypes.h"
#include "Contents/Actors/Resources/EquipmentResourceMgr.h"
#include "Contents/World/WorldProximity.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketLengths.h"
#include "UI/Window/UIWindowMgr.h"
#include "Render/Primitives/LightmappedPrimitive.h"
#include "Render/Primitives/RenderPrimitive.h"
#include "Render/Renderer.h"
#include "Render/Primitives/SpriteQuad.h"
#include "Render/Primitives/TextureQuad.h"
#include "Render/Textures/Texture.h"
#include "Render/Textures/TextureCache.h"
#include "Resource/Models/GrannyModelResource.h"
#include "Resource/Bitmap/EmblemResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/Sprites/ActionResource.h"
#include "Resource/Sprites/SpriteResource.h"
#include "Resource/World/TerrainResource.h"
#include "Script/LuaScript.h"
#include "Utility/Math/AffineMatrix.h"
#include "Utility/Cipher/XorBytes.h"
#include "Utility/Math/ScalarConversion.h"
#include "Contents/Monster/ChampionMonsterMgr.h"
#include "Contents/Effects/Primitives/EffectPrim.h"
#include "Contents/Ground/TerrainHeight.h"
#include <algorithm>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <list>
#include <string>
#include <vector>
#include <windows.h>
#include <timeapi.h>
#include "Contents/Guild/GuildInfo.h"
#include "Utility/Cipher/LocalEncryptedName.h"
#include "Utility/Cipher/CryptName.h"
using InstantValueTree = std::_Tree<std::_Tmap_traits<
int, std::int64_t, std::less<int>, std::allocator<std::pair<const int, std::int64_t>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, std::int64_t>, void*>*>
InstantValueTree::_Find_lower_bound<int>(const int&) const;
extern template void std::list<CRenderObject*>::push_back(CRenderObject*&&);

View file

@ -0,0 +1,14 @@
#pragma once
#include "Contents/AdventureGuide/AdventureGuideMgr.h"
#include "Client/Session/Session.h"
#include "Contents/Items/JobCodeForItem.h"
#include "Script/LuaScript.h"
#include "Utility/Text/FormatString.h"
#include <algorithm>
#include <iterator>
#include <new>
#include <optional>
#include <windows.h>
extern template bool std::string_view::_Equal(std::string_view) const noexcept;

View file

@ -0,0 +1,33 @@
#pragma once
#include "Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h"
#include "Contents/UserData/AccountLinkedUserDataSaveAsyncWork.h"
#include "Contents/Async/AsyncWorkRecycleObjectPoolMgr.h"
#include "Contents/Party/ChangePartyMasterAsyncWork.h"
#include "Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.h"
#include "Contents/UserData/CharacterLinkedUserDataSaveAsyncWork.h"
#include "Contents/Emblems/EmblemDataDownloadAsyncWork.h"
#include "Contents/Emblems/EmblemDataUploadAsyncWork.h"
#include "Contents/Party/LoadMyPartyAsyncWork.h"
#include "Contents/Party/LoadPartyInfoAsyncWork.h"
#include "Contents/Party/LoadPartyListAsyncWork.h"
#include "Contents/Store/MCStoreInfoBackupAsyncWork.h"
#include "Contents/Party/RegisterPartyAsyncWork.h"
#include "Contents/Party/StopRecruitingAsyncWork.h"
#include <utility>
#include <new>
extern template void std::deque<CAccountLinkedUserDataLoadAsyncWork*>::push_back(CAccountLinkedUserDataLoadAsyncWork*&&);
extern template void std::deque<CAccountLinkedUserDataSaveAsyncWork*>::push_back(CAccountLinkedUserDataSaveAsyncWork*&&);
extern template void std::deque<CChangePartyMasterAsyncWork*>::push_back(CChangePartyMasterAsyncWork*&&);
extern template void std::deque<CCharacterLinkedUserDataLoadAsyncWork*>::push_back(CCharacterLinkedUserDataLoadAsyncWork*&&);
extern template void std::deque<CCharacterLinkedUserDataSaveAsyncWork*>::push_back(CCharacterLinkedUserDataSaveAsyncWork*&&);
extern template void std::deque<CEmblemDataDownloadAsyncWork*>::push_back(CEmblemDataDownloadAsyncWork*&&);
extern template void std::deque<CEmblemDataUploadAsyncWork*>::push_back(CEmblemDataUploadAsyncWork*&&);
extern template void std::deque<CLoadMyPartyAsyncWork*>::push_back(CLoadMyPartyAsyncWork*&&);
extern template void std::deque<CLoadPartyInfoAsyncWork*>::push_back(CLoadPartyInfoAsyncWork*&&);
extern template void std::deque<CLoadPartyListAsyncWork*>::push_back(CLoadPartyListAsyncWork*&&);
extern template void std::deque<CMCStoreInfoBackupSaveAsyncWork*>::push_back(CMCStoreInfoBackupSaveAsyncWork*&&);
extern template void std::deque<CMCStoreInfoBackupLoadAsyncWork*>::push_back(CMCStoreInfoBackupLoadAsyncWork*&&);
extern template void std::deque<CRegisterPartyAsyncWork*>::push_back(CRegisterPartyAsyncWork*&&);
extern template void std::deque<CStopRecruitingAsyncWork*>::push_back(CStopRecruitingAsyncWork*&&);

View file

@ -0,0 +1,44 @@
#pragma once
#include "Network/Packets/NoticeEnums.h"
#include "UI/Window/WindowId.h"
#include "UI/Window/UIEnums.h"
#include "Client/Mode/ModeMessage.h"
#include "Contents/Actors/ActorEnums.h"
#include "Client/Mode/CGameMode.h"
#include "Contents/CombatTypes.h"
#include "Contents/Items/InventoryType.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Replay/Replay.h"
#include "Client/Session/Session.h"
#include "Contents/Actors/Pc.h"
#include "Contents/ClientState.h"
#include "Contents/Effects/Core/EffectActor.h"
#include "Contents/Effects/Core/RagEffect.h"
#include "Contents/Guild/GuildInfo.h"
#include "Contents/Skills/ClientSkills.h"
#include "Contents/Items/ItemInfo.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Messenger/ClientMessenger.h"
#include "Contents/Messenger/MessengerMember.h"
#include "Contents/Pet/PetEvolutionMgr.h"
#include "Contents/World/World.h"
#include "UI/Items/UIEquipWnd.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/UIWindowMgr.h"
#include "Utility/Text/FormatString.h"
#include "Resource/MSGSTRINGID.h"
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <list>
#include <new>
#include <string>
#include <unordered_map>
#include <utility>
#include <vector>
extern template std::list<ITEM_INFO>::iterator std::list<ITEM_INFO>::erase(std::list<ITEM_INFO>::const_iterator) noexcept;
extern template void std::_List_node<MessengerMember, void*>::_Free_non_head(std::allocator<std::_List_node<MessengerMember, void*>>&, std::_List_node<MessengerMember, void*>*) noexcept;

View file

@ -0,0 +1,74 @@
#pragma once
#include "Network/Packets/NoticeEnums.h"
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Contents/Items/ItemType.h"
#include "Contents/CombatTypes.h"
#include "Contents/Messenger/ClientMessenger.h"
#include "Utility/Cipher/EncryptedName.h"
#include "Contents/Effects/Core/EffectActor.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Mode/CGameMode.h"
#include "Client/Session/Session.h"
#include "Contents/Actors/ActorStateFlags.h"
#include "Contents/Actors/GameActor.h"
#include "Contents/ClientState.h"
#include "Contents/Items/ItemInfo.h"
#include "Contents/Jobs/JobId.h"
#include "Script/LuaInstance.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/UIWindowMgr.h"
#include "UI/Buttons/UITextButton.h"
#include "Resource/World/TerrainResource.h"
#include "Contents/Actors/Pc.h"
#include "Client/Application/ErrorDialog.h"
#include "UI/CashShop/UIMileageWnd.h"
#include "Network/TextEncoding.h"
#include "Utility/Text/StringUtil.h"
#include "Contents/World/World.h"
#include "Contents/RuneSystem/RuneSystem.h"
#include "Contents/Skills/SkillInfo.h"
#include "Contents/Tables/SimpleStringMgr.h"
#include "Contents/Configuration/GameSettingsMgr.h"
#include "Contents/CashEmotion/CashEmotionMgr.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Contents/Items/ItemInfoMgr.h"
#include "Contents/Map/MapInfoMgr.h"
#include "Contents/Events/SpecialPopupMgr.h"
#include "Contents/Tables/TipBoxTitles.h"
#include "Render/Text/EmbedFont.h"
#include "Utility/Cipher/XorBytes.h"
#include "Utility/Cipher/CryptName.h"
#include <algorithm>
#include <array>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <cstdlib>
#include <ctime>
#include <format>
#include <list>
#include <map>
#include <new>
#include <set>
#include <string>
#include <string_view>
#include <unordered_map>
#include <utility>
#include <vector>
extern "C" {
#include <lualib.h>
}
extern template int std::_Traits_compare<std::char_traits<char>>(const char*, std::size_t, const char*, std::size_t) noexcept;
using SessionShopTree = std::_Tree<std::_Tmap_traits<
int, SessionShop, std::less<int>, std::allocator<std::pair<const int, SessionShop>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const int, SessionShop>, void*>*>
SessionShopTree::_Find_lower_bound<int>(const int&) const;
extern template void std::list<CSkillInfo>::clear() noexcept;
using NameToIdTree = std::_Tree<std::_Tmap_traits<
std::string, int, std::less<std::string>, std::allocator<std::pair<const std::string, int>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const std::string, int>, void*>*>
NameToIdTree::_Find_lower_bound<std::string>(const std::string&) const;

View file

@ -0,0 +1,14 @@
#pragma once
#include "Contents/Skills/PlayerSkillBundle.h"
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Contents/Skills/SkillId.h"
#include "Client/Session/Session.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/WindowManagerWindows.h"
#include <algorithm>
using SkillGroupTreeValue = std::_Tree_val<std::_Tree_simple_types<std::pair<const int, std::list<CSkillInfo>>>>;
extern template std::_Tree_unchecked_const_iterator<SkillGroupTreeValue, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<SkillGroupTreeValue, std::_Iterator_base0>::operator++() noexcept;

View file

@ -0,0 +1,43 @@
#pragma once
#include "Client/Session/Session.h"
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Contents/AdventureGuide/AdventureGuideMgr.h"
#include "Contents/Items/ItemInfo.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Navigation/NavigationManager.h"
#include "Contents/Quest/RenewQuestMgr.h"
#include "Contents/Tables/TipBoxTitles.h"
#include "Resource/ResourceMgr.h"
#include "Resource/Sprites/ActionResource.h"
#include "Resource/Sprites/SpriteResource.h"
#include "UI/AdventureGuide/UIAdventureGuide.h"
#include "UI/Lists/UIListBoxTemplate.h"
#include "Render/Renderer.h"
#include "UI/Lists/UIVScrollBar.h"
#include "UI/Text/UIStaticTextControl.h"
#include "UI/Text/UITextViewerControl.h"
#include "UI/Window/UIWindowMgr.h"
#include "Utility/Cipher/XorBytes.h"
#include "Utility/Text/FormatString.h"
#include "Utility/Text/StringUtil.h"
#include "Contents/Items/ItemDescription.h"
#include "UI/Window/UIRegisterMgr.h"
#include "Resource/MSGSTRINGID.h"
#include "Utility/Cipher/LocalEncryptedName.h"
#include "Utility/Cipher/CryptName.h"
#include <cstring>
#include <format>
#include <list>
#include <regex>
#include <utility>
using StatusRequestTree = std::_Tree<std::_Tset_traits<unsigned int, std::less<unsigned int>, std::allocator<unsigned int>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<unsigned int, void*>*>
StatusRequestTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
extern template AdventureGuide::CUIQuestInfo** std::allocator<AdventureGuide::CUIQuestInfo*>::allocate(std::size_t);
extern template void std::_List_node<AdventureGuide::CItemData, void*>::_Free_non_head(
std::allocator<std::_List_node<AdventureGuide::CItemData, void*>>&, std::_List_node<AdventureGuide::CItemData, void*>*) noexcept;
extern template void std::_List_node<AdventureGuide::CQuestInfo, void*>::_Free_non_head(
std::allocator<std::_List_node<AdventureGuide::CQuestInfo, void*>>&, std::_List_node<AdventureGuide::CQuestInfo, void*>*) noexcept;

View file

@ -0,0 +1,42 @@
#pragma once
#include "UI/Window/WindowId.h"
#include "UI/Window/UIEnums.h"
#include "UI/Quest/UIRenewQuestUI.h"
#include "UI/Window/UIEnums.h"
#include "Utility/Cipher/EncryptedName.h"
#include "Client/Replay/Replay.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Quest/RenewQuestMgr.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketLengths.h"
#include "Network/TextEncoding.h"
#include "Render/Renderer.h"
#include "Resource/ResourceMgr.h"
#include "Resource/Bitmap/TextureNames.h"
#include "UI/Buttons/UIRadioButton.h"
#include "UI/Edit/UIEditBoxEx.h"
#include "UI/Quest/UIOngoingQuestInfo.h"
#include "UI/Quest/UIRecommendedQuestInfo.h"
#include "UI/Text/UIStaticTextControl.h"
#include "UI/Window/UIWindowMgr.h"
#include "Utility/Cipher/XorBytes.h"
#include "UI/Window/UIRegisterMgr.h"
#include "Utility/Cipher/CryptName.h"
#include "Resource/MSGSTRINGID.h"
#include "Network/Packets/PacketId.h"
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <format>
using RenewQuestOngoingTree = std::_Tree<std::_Tmap_traits<
unsigned int, RenewQuestOngoingInfo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, RenewQuestOngoingInfo>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const unsigned int, RenewQuestOngoingInfo>, void*>*>
RenewQuestOngoingTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
using RenewQuestRecommendedTree = std::_Tree<std::_Tmap_traits<
unsigned int, RenewQuestRecommendedInfo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, RenewQuestRecommendedInfo>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const unsigned int, RenewQuestRecommendedInfo>, void*>*>
RenewQuestRecommendedTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
extern template std::function<void()>& std::function<void()>::operator=(const std::function<void()>&);

View file

@ -0,0 +1,47 @@
#pragma once
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Client/Mode/CMode.h"
#include "Client/Mode/ModeMgr.h"
#include "Render/DeviceContext/DCSurface.h"
#include "UI/Quest/UIRenewQuestWnd.h"
#include "Client/Application/ApplicationWindow.h"
#include "Client/Replay/Replay.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Items/ItemDescription.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Navigation/NavigationManager.h"
#include "Contents/Quest/RenewQuestMgr.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketLengths.h"
#include "Render/DeviceContext/DeviceContext.h"
#include "Render/Renderer.h"
#include "Render/Text/TextContext.h"
#include "Render/Textures/SpriteAtlas.h"
#include "Render/Textures/SpritePixels.h"
#include "Render/Textures/Texture.h"
#include "Render/Textures/TextureCache.h"
#include "Resource/Bitmap/BitmapResource.h"
#include "Resource/ResourceMgr.h"
#include "Resource/Sprites/ActionResource.h"
#include "Resource/Sprites/SpriteResource.h"
#include "Resource/Bitmap/TextureNames.h"
#include "UI/Buttons/UIBitmapButton.h"
#include "UI/Buttons/UIButton.h"
#include "UI/Buttons/UICheckBox.h"
#include "UI/Text/UIStaticText.h"
#include "UI/Text/UITagTextViewer.h"
#include "UI/Buttons/UIStaticBitmap.h"
#include "UI/Login/UINewSelectCharWnd.h"
#include "UI/Window/UITab.h"
#include "UI/Window/UIWindowMgr.h"
#include "Utility/Text/FormatString.h"
#include "Resource/MSGSTRINGID.h"
#include "Network/Packets/PacketId.h"
#include <cstddef>
#include <cstring>
extern template std::string::basic_string(std::_String_constructor_concat_tag, const std::string&, const char*, std::size_t, const char*, std::size_t);
extern template std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const unsigned int, RenewQuestOngoingInfo>>>, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const unsigned int, RenewQuestOngoingInfo>>>, std::_Iterator_base0>::operator++() noexcept;

View file

@ -0,0 +1,63 @@
#pragma once
#include "Contents/Actors/ActorEnums.h"
#include "Client/Mode/ModeMessage.h"
#include "UI/Window/UIEnums.h"
#include "Contents/Hotkeys/InterfaceHotkey.h"
#include "UI/Window/WindowId.h"
#include "UI/Window/WindowPolicy.h"
#include "Render/Renderer.h"
#include "UI/Chat/UISubChatHisWnd.h"
#include "Client/Browser/WebBrowser.h"
#include "Client/Input/Mouse.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Replay/Replay.h"
#include "Client/Session/Session.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Configuration/ServiceOptions.h"
#include "Network/Connection/Connection.h"
#include "Network/Packets/PacketId.h"
#include "Network/Packets/PacketLengths.h"
#include "Render/Primitives/TextureQuad.h"
#include "Render/Textures/Texture.h"
#include "Render/Textures/TextureCache.h"
#include "UI/Navigation/UIMemorialDunWnd.h"
#include "UI/Layout/SnapMgr.h"
#include "UI/Lists/UIDropDownBox.h"
#include "UI/Chat/UINewChatWnd.h"
#include "UI/Edit/UIEditCtrl.h"
#include "UI/Lists/UITabControl.h"
#include "UI/Party/MiniPartyWndAreaMgr.h"
#include "UI/Window/InputFocus.h"
#include "UI/Navigation/UINavigationWnd.h"
#include "UI/Navigation/UIRoMapWnd.h"
#include "UI/Navigation/UINavigationV4Wnd.h"
#include "Client/Mode/CLoginMode.h"
#include "Contents/Tables/MessageTable.h"
#include "Contents/Navigation/NavigationManager.h"
#include "Contents/World/WorldViewData.h"
#include "Resource/ResourceMgr.h"
#include "File/ShortcutFilename.h"
#include "Contents/Sound/SoundMgr.h"
#include "Contents/Skills/AutomaticSkills.h"
#include "UI/GameSettings/UIHotKeyWnd.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/UIWindowMgr.h"
#include "Client/Mode/CMode.h"
#include "Client/Mode/CGameMode.h"
#include "Contents/Actors/Pc.h"
#include "Contents/World/World.h"
#include "Contents/Events/RouletteMgr.h"
#include "UI/Items/UIItemStoreWnd.h"
#include "UI/Items/UIItemWnd.h"
#include "UI/Lists/UIComboBox.h"
#include "UI/Login/UINewSelectCharWnd.h"
#include "UI/Events/UIRoulletteWnd.h"
#include "Render/DeviceContext/DCSurface.h"
extern template int std::_Traits_compare<std::char_traits<char>>(const char*, std::size_t, const char*, std::size_t) noexcept;
using SnapRectangleTree = std::_Tree<std::_Tmap_traits<UIWindow*, SnapRectangle, std::less<UIWindow*>, std::allocator<std::pair<UIWindow* const, SnapRectangle>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<UIWindow* const, SnapRectangle>, void*>*>
SnapRectangleTree::_Find_lower_bound<UIWindow*>(UIWindow* const&) const;
extern template void std::vector<std::string>::push_back(std::string&&);
extern template std::string std::operator+(const std::string&, const char* const);

View file

@ -0,0 +1,47 @@
#pragma once
#include "Client/Mode/ModeMessage.h"
#include "UI/Window/UIEnums.h"
#include "UI/Window/WindowId.h"
#include "Client/Mode/CGameMode.h"
#include "Client/Mode/CLoginMode.h"
#include "Client/Mode/ModeDragState.h"
#include "Client/Mode/ModeMgr.h"
#include "Client/Application/Registry.h"
#include "Client/Replay/Replay.h"
#include "Client/Session/Session.h"
#include "Contents/Actors/Pc.h"
#include "Contents/Configuration/ServiceConfiguration.h"
#include "Contents/Messenger/ClientMessenger.h"
#include "Contents/Messenger/MessengerMember.h"
#include "Contents/Navigation/NavigationManager.h"
#include "Contents/UserData/NormalItemSlots.h"
#include "Contents/World/World.h"
#include "Render/DeviceContext/DCSurface.h"
#include "Render/Renderer.h"
#include "Render/Textures/Surface.h"
#include "Resource/Bitmap/BitmapResource.h"
#include "UI/Login/UIEmailAddressWnd.h"
#include "UI/Navigation/UIMemorialDunWnd.h"
#include "UI/Edit/UIEditCtrl.h"
#include "UI/GameSettings/GameSettingsUI.h"
#include "UI/Navigation/UINavigationV4Wnd.h"
#include "UI/Party/UIMiniPartyWnd.h"
#include "UI/Party/MiniPartyWndAreaMgr.h"
#include "UI/Dialogs/UIMessageBox.h"
#include "UI/Navigation/UINavigationWnd.h"
#include "UI/Login/UINewSelectCharWnd.h"
#include "UI/Events/UIRoulletteWnd.h"
#include "UI/Window/UIWindow.h"
#include "UI/Window/UIWindowMgr.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <cstdio>
#include <cstring>
#include <new>
#include <windows.h>
extern template std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const int, UIWindow*>>>, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const int, UIWindow*>>>, std::_Iterator_base0>::operator++() noexcept;
extern template std::_List_node<UIWindow*, void*>* std::list<UIWindow*>::_Emplace<UIWindow* const&>(std::_List_node<UIWindow*, void*>* const, UIWindow* const&);

View file

@ -31,15 +31,6 @@
#include <regex>
#include <utility>
using StatusRequestTree = std::_Tree<std::_Tset_traits<unsigned int, std::less<unsigned int>, std::allocator<unsigned int>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<unsigned int, void*>*>
StatusRequestTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
extern template AdventureGuide::CUIQuestInfo** std::allocator<AdventureGuide::CUIQuestInfo*>::allocate(std::size_t);
extern template void std::_List_node<AdventureGuide::CItemData, void*>::_Free_non_head(
std::allocator<std::_List_node<AdventureGuide::CItemData, void*>>&, std::_List_node<AdventureGuide::CItemData, void*>*) noexcept;
extern template void std::_List_node<AdventureGuide::CQuestInfo, void*>::_Free_non_head(
std::allocator<std::_List_node<AdventureGuide::CQuestInfo, void*>>&, std::_List_node<AdventureGuide::CQuestInfo, void*>*) noexcept;
template void CUIListBoxEx<AdventureGuide::CUIMonsterInfo, AdventureGuide::CMonsterData>::UpdateScrollBar();
template void CUIListBox<AdventureGuide::CUITab>::UpdateScrollBar();
template void CUIListBox<AdventureGuide::CUISubTab>::UpdateScrollBar();

View file

@ -30,22 +30,9 @@
#include <cstring>
#include <format>
using RenewQuestOngoingTree = std::_Tree<std::_Tmap_traits<
unsigned int, RenewQuestOngoingInfo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, RenewQuestOngoingInfo>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const unsigned int, RenewQuestOngoingInfo>, void*>*>
RenewQuestOngoingTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
using RenewQuestRecommendedTree = std::_Tree<std::_Tmap_traits<
unsigned int, RenewQuestRecommendedInfo, std::less<unsigned int>, std::allocator<std::pair<const unsigned int, RenewQuestRecommendedInfo>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<const unsigned int, RenewQuestRecommendedInfo>, void*>*>
RenewQuestRecommendedTree::_Find_lower_bound<unsigned int>(const unsigned int&) const;
extern template std::function<void()>& std::function<void()>::operator=(const std::function<void()>&);
// GLOBAL: gl_25249
static bool s_recommendedTabFirstSelect = true;
// INLINED
template <std::uint64_t Key, std::size_t Length>
const char* DecryptName(const char (&source)[Length]) {

View file

@ -42,10 +42,6 @@
#include <cstddef>
#include <cstring>
#include "Utility/StdStringConcat.h"
extern template std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const unsigned int, RenewQuestOngoingInfo>>>, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const unsigned int, RenewQuestOngoingInfo>>>, std::_Iterator_base0>::operator++() noexcept;
#pragma pack(push, 1)
struct PACKET_CZ_ACTIVE_QUEST {
short packetType;

View file

@ -52,7 +52,6 @@
#include "UI/Login/UINewSelectCharWnd.h"
#include "UI/Events/UIRoulletteWnd.h"
#include "Render/DeviceContext/DCSurface.h"
#include "Utility/StdStringCompare.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
@ -252,11 +251,6 @@
#include "Resource/MSGSTRINGID.h"
#include <cstdlib>
using SnapRectangleTree = std::_Tree<std::_Tmap_traits<UIWindow*, SnapRectangle, std::less<UIWindow*>, std::allocator<std::pair<UIWindow* const, SnapRectangle>>, false>>;
extern template std::_Tree_find_result<std::_Tree_node<std::pair<UIWindow* const, SnapRectangle>, void*>*>
SnapRectangleTree::_Find_lower_bound<UIWindow*>(UIWindow* const&) const;
extern template void std::vector<std::string>::push_back(std::string&&);
extern template std::string std::operator+(const std::string&, const char* const);
using BrowserTree = std::_Tree<std::_Tmap_traits<HWND, CWebBrowser*, std::less<HWND>, std::allocator<std::pair<HWND const, CWebBrowser*>>, false>>;
template std::_Tree_find_result<std::_Tree_node<std::pair<HWND const, CWebBrowser*>, void*>*>
BrowserTree::_Find_lower_bound<HWND>(HWND const&) const;
@ -301,7 +295,6 @@ static_assert(sizeof(AddFriendPacket) == 26);
static_assert(offsetof(AddFriendPacket, name) == 2);
}
// GLOBAL: gl_24525
CMiniPartyWndAreaMgr* g_miniPartyWndAreaMgr = nullptr;
@ -311,8 +304,6 @@ UIWindowMgr g_windowMgr;
// GLOBAL: gl_25159
bool g_windowToggleFlag;
// GLOBAL: gl_24683
int g_windowCloseValue;
@ -655,7 +646,6 @@ UIWindow* UIWindowMgr::LookupWindow(int id) {
}
}
// OFFSET: 0x00AA1800
// FUNCTION: fn_17209
void UIWindowMgr::ResetWindows() {
@ -4207,7 +4197,6 @@ void UIWindowMgr::ShowWaitDBSaveWindow() {
this->waitDBSaveWnd->Show(1);
}
// OFFSET: 0x00AA35F0
// FUNCTION: fn_17221
bool UIWindowMgr::ProcessShortcutKey(int action) {

View file

@ -40,17 +40,12 @@
#include <new>
#include <windows.h>
extern template std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const int, UIWindow*>>>, std::_Iterator_base0>&
std::_Tree_unchecked_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const int, UIWindow*>>>, std::_Iterator_base0>::operator++() noexcept;
#include "Utility/StdWindowListEmplace.h"
// GLOBAL: gl_24986
const char* g_uiRectInfoKeySuffix = "\\UIRectInfo";
// GLOBAL: gl_24987
const char* g_shortcutItemKeySuffix = "\\ShortcutItem";
// OFFSET: 0x00A911E0
// FUNCTION: fn_17156
void UIWindowMgr::NotifyHoverWindow() {