Fix shutdown hangs, bank bag icons/drag-drop, loading screen progress, and login spawn

- Fix shutdown hang: skip vmaDestroyAllocator (walked thousands of allocations),
  replace unsafe pthread_timedjoin_np with plain join + early-exit checks in workers
- Bank window: full icon rendering, click-and-hold pickup (0.10s), drag-drop for
  all bank slots including bank bag equip slots, same-slot drop detection
- Loading screen: process one tile per frame for live progress updates
- Camera reset: trust server position in online mode to avoid spawning under WMOs
- Fix PLAYER_BYTES/PLAYER_BYTES_2 field indices, preserve purchasedBankBagSlots
  across inventory rebuilds, fix bank slot purchase result codes
This commit is contained in:
Kelsi 2026-02-26 13:38:29 -08:00
parent 804b947203
commit a559d5944b
14 changed files with 489 additions and 146 deletions

View file

@ -94,19 +94,22 @@ bool Window::initialize() {
}
void Window::shutdown() {
LOG_WARNING("Window::shutdown - vkContext...");
if (vkContext) {
vkContext->shutdown();
vkContext.reset();
}
LOG_WARNING("Window::shutdown - SDL_DestroyWindow...");
if (window) {
SDL_DestroyWindow(window);
window = nullptr;
}
LOG_WARNING("Window::shutdown - SDL_Quit...");
SDL_Vulkan_UnloadLibrary();
SDL_Quit();
LOG_INFO("Window shutdown complete");
LOG_WARNING("Window shutdown complete");
}
void Window::pollEvents() {