diff --git a/Source/Contents/NavigationRoute.cpp b/Source/Contents/NavigationRoute.cpp index 13f57802..cc94cfbd 100644 --- a/Source/Contents/NavigationRoute.cpp +++ b/Source/Contents/NavigationRoute.cpp @@ -17,6 +17,7 @@ #include "UI/Navigation/UINavigationV4Wnd.h" #include "UI/Window/UINavigationWnd.h" #include "UI/Window/UIWindowMgr.h" +#include "UI/Window/WindowOrdering.h" #include "UI/Window/UIPayConfirmWnd.h" #include "UI/Window/WindowDialogs.h" #include "Utility/RegistryKey.h" @@ -733,6 +734,34 @@ bool CNavigationManager::sub_B99030(std::string name, int type, unsigned char mo return true; } +// OFFSET: 0x00B995D0 +// FUNCTION: fn_19612 +bool CNavigationManager::sub_B995D0(std::string name, int type, bool flag) { + if (static_cast(type) > 4) { + return false; + } + + this->unknown_1264 = name; + this->unknown_1248 = flag; + this->unknown_1260 = type; + g_navigationManager.UpdateSearchResults(); + + if (!this->unknown_1248) { + if (g_navigationWindow == nullptr) { + g_windowMgr.EnsureWindow(203); + } else { + g_navigationWindow->SendMsg(nullptr, 6, 200, 0, 0, 0); + if (g_windowMgr.modal != nullptr) { + static_cast(g_windowMgr.modal)->RefreshWorldMapLevels(); + } + } + + reinterpret_cast(g_windowMgr).Promote(g_navigationWindow); + } + + return true; +} + // OFFSET: 0x00B996D0 // FUNCTION: fn_19613 void CNavigationManager::LoadSettings() {