Fix MSAA crash by deferring change to between frames, fix M2 GO orientation

MSAA change was called mid-frame from settings UI, destroying the render pass
and framebuffers while the command buffer was still recording. Now deferred
via pendingMsaaSamples_ flag, applied in beginFrame() before any GPU state.

Also add +180° to M2 game object orientation to fix facing direction.
This commit is contained in:
Kelsi 2026-02-22 03:37:47 -08:00
parent 325254dfcb
commit ebd0084c22
3 changed files with 21 additions and 1 deletions

View file

@ -5505,6 +5505,7 @@ void Application::spawnOnlineGameObject(uint64_t guid, uint32_t entry, uint32_t
glm::vec3 renderPos = core::coords::canonicalToRender(glm::vec3(x, y, z));
const float renderYawWmo = orientation;
const float renderYawM2go = orientation + glm::radians(180.0f);
bool loadedAsWmo = false;
if (isWmo) {
@ -5670,7 +5671,7 @@ void Application::spawnOnlineGameObject(uint64_t guid, uint32_t entry, uint32_t
}
uint32_t instanceId = m2Renderer->createInstance(modelId, renderPos,
glm::vec3(0.0f, 0.0f, renderYawWmo), 1.0f);
glm::vec3(0.0f, 0.0f, renderYawM2go), 1.0f);
if (instanceId == 0) {
LOG_WARNING("Failed to create gameobject instance for guid 0x", std::hex, guid, std::dec);
return;