mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
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:
parent
804b947203
commit
a559d5944b
14 changed files with 489 additions and 146 deletions
|
|
@ -726,31 +726,38 @@ bool Renderer::initialize(core::Window* win) {
|
|||
}
|
||||
|
||||
void Renderer::shutdown() {
|
||||
LOG_WARNING("Renderer::shutdown - terrainManager stopWorkers...");
|
||||
if (terrainManager) {
|
||||
terrainManager->unloadAll();
|
||||
terrainManager->stopWorkers();
|
||||
LOG_WARNING("Renderer::shutdown - terrainManager reset...");
|
||||
terrainManager.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - terrainRenderer...");
|
||||
if (terrainRenderer) {
|
||||
terrainRenderer->shutdown();
|
||||
terrainRenderer.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - waterRenderer...");
|
||||
if (waterRenderer) {
|
||||
waterRenderer->shutdown();
|
||||
waterRenderer.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - minimap...");
|
||||
if (minimap) {
|
||||
minimap->shutdown();
|
||||
minimap.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - worldMap...");
|
||||
if (worldMap) {
|
||||
worldMap->shutdown();
|
||||
worldMap.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - skySystem...");
|
||||
if (skySystem) {
|
||||
skySystem->shutdown();
|
||||
skySystem.reset();
|
||||
|
|
@ -772,34 +779,41 @@ void Renderer::shutdown() {
|
|||
swimEffects.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - characterRenderer...");
|
||||
if (characterRenderer) {
|
||||
characterRenderer->shutdown();
|
||||
characterRenderer.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - wmoRenderer...");
|
||||
if (wmoRenderer) {
|
||||
wmoRenderer->shutdown();
|
||||
wmoRenderer.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - m2Renderer...");
|
||||
if (m2Renderer) {
|
||||
m2Renderer->shutdown();
|
||||
m2Renderer.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - musicManager...");
|
||||
if (musicManager) {
|
||||
musicManager->shutdown();
|
||||
musicManager.reset();
|
||||
}
|
||||
LOG_WARNING("Renderer::shutdown - footstepManager...");
|
||||
if (footstepManager) {
|
||||
footstepManager->shutdown();
|
||||
footstepManager.reset();
|
||||
}
|
||||
LOG_WARNING("Renderer::shutdown - activitySoundManager...");
|
||||
if (activitySoundManager) {
|
||||
activitySoundManager->shutdown();
|
||||
activitySoundManager.reset();
|
||||
}
|
||||
|
||||
LOG_WARNING("Renderer::shutdown - AudioEngine...");
|
||||
// Shutdown AudioEngine singleton
|
||||
audio::AudioEngine::instance().shutdown();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue