Fix stale player model persisting across logins by clearing character state on logout

This commit is contained in:
Kelsi 2026-02-06 20:49:17 -08:00
parent 836a629513
commit 12fb879e1a
2 changed files with 6 additions and 0 deletions

View file

@ -397,8 +397,13 @@ void Application::logoutToLogin() {
}
singlePlayerMode = false;
npcsSpawned = false;
playerCharacterSpawned = false;
world.reset();
if (renderer) {
// Remove old player model so it doesn't persist into next session
if (auto* charRenderer = renderer->getCharacterRenderer()) {
charRenderer->removeInstance(1);
}
if (auto* music = renderer->getMusicManager()) {
music->stopMusic(0.0f);
}

View file

@ -805,6 +805,7 @@ void GameHandler::disconnect() {
socket->disconnect();
socket.reset();
}
activeCharacterGuid_ = 0;
setState(WorldState::DISCONNECTED);
LOG_INFO("Disconnected from world server");
}