From 4d12de45e442cbf6ac8cc9ede7bf3dd95efaf482 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Fri, 1 Sep 2023 00:25:09 +0200 Subject: [PATCH] Fix null pointer crash --- src/rendering/hwrenderer/doom_levelmesh.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/rendering/hwrenderer/doom_levelmesh.cpp b/src/rendering/hwrenderer/doom_levelmesh.cpp index 2cc960ac4..f27b6231d 100644 --- a/src/rendering/hwrenderer/doom_levelmesh.cpp +++ b/src/rendering/hwrenderer/doom_levelmesh.cpp @@ -84,6 +84,8 @@ DoomLevelMesh::DoomLevelMesh(FLevelLocals &doomMap) } } + // To do: these functions still broken. + SetupLightmapUvs(); BindLightmapSurfacesToGeometry(doomMap); Collision = std::make_unique(MeshVertices.Data(), MeshVertices.Size(), MeshElements.Data(), MeshElements.Size()); @@ -124,7 +126,7 @@ void DoomLevelMesh::BindLightmapSurfacesToGeometry(FLevelLocals& doomMap) // Copy and build properties size_t index = 0; - for (auto& surface : doomMap.levelMesh->Surfaces) + for (auto& surface : Surfaces) { LightmapSurface l; memset(&l, 0, sizeof(LightmapSurface)); @@ -133,7 +135,7 @@ void DoomLevelMesh::BindLightmapSurfacesToGeometry(FLevelLocals& doomMap) l.Type = surface.type; l.LightmapNum = 0; - l.TexCoords = (float*)&doomMap.levelMesh->LightmapUvs[surface.startUvIndex]; + l.TexCoords = (float*)&LightmapUvs[surface.startUvIndex]; l.LightmapNum = surface.atlasPageIndex;