diff --git a/src/p_3dfloors.cpp b/src/p_3dfloors.cpp index 4d9984eaa..732866c5b 100644 --- a/src/p_3dfloors.cpp +++ b/src/p_3dfloors.cpp @@ -891,11 +891,6 @@ void P_Spawn3DFloors (void) line.special=0; line.args[0] = line.args[1] = line.args[2] = line.args[3] = line.args[4] = 0; } - // kg3D - do it in software - for (auto &sec : level.sectors) - { - P_Recalculate3DFloors(&sec); - } } diff --git a/src/p_setup.cpp b/src/p_setup.cpp index 8d502b42b..9b65e69e3 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -4116,6 +4116,12 @@ void P_SetupLevel(const char *lumpname, int position, bool newGame) // This must be done BEFORE the PolyObj Spawn!!! InitRenderInfo(); // create hardware independent renderer resources for the level. screen->mVertexData->CreateVBO(); + + for (auto &sec : level.sectors) + { + P_Recalculate3DFloors(&sec); + } + SWRenderer->SetColormap(); //The SW renderer needs to do some special setup for the level's default colormap. InitPortalGroups(); P_InitHealthGroups();