From 2b113ad9ed0f0efc36dd25fd623e59c97ef138cb Mon Sep 17 00:00:00 2001 From: ViTeXFTW Date: Sun, 15 Feb 2026 19:41:35 +0100 Subject: [PATCH 1/3] bugfix(worldbuilder): fix optimized trees not being shown in object placer preview window --- GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp index 6bdee1e0e3f..c4922eb44aa 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp @@ -20,6 +20,7 @@ // #include "StdAfx.h" +#include "W3DDevice/GameClient/Module/W3DTreeDraw.h" #include "resource.h" #include "wwmath.h" #include "ww3d.h" @@ -1118,6 +1119,14 @@ AsciiString WbView3d::getBestModelName(const ThingTemplate* tt, const ModelCondi { return md->getBestModelNameForWB(c); } + + // TheSuperHackers @bugfix ViTeXFTW 15/02/2025 Fix tree objects not showing + // a preview in WB object placer. The W3DTreeDraw module stores its model name + // differently from W3DModelDraw. + const W3DTreeDrawModuleData* treeData = mdd ? mdd->getAsW3DTreeDrawModuleData() : nullptr; + if(treeData) { + return treeData->m_modelName; + } } } // removing this crash as sounds can (and should) have no model - jkmcd From 01e291e6e9270dfc1185946df8adaf31337b2bba Mon Sep 17 00:00:00 2001 From: ViTeXFTW Date: Mon, 16 Feb 2026 07:35:24 +0100 Subject: [PATCH 2/3] refactor: updated codestyle to adhere to review comments --- GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp index c4922eb44aa..1cc45d20804 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp @@ -20,7 +20,6 @@ // #include "StdAfx.h" -#include "W3DDevice/GameClient/Module/W3DTreeDraw.h" #include "resource.h" #include "wwmath.h" #include "ww3d.h" @@ -30,6 +29,7 @@ #include "intersec.h" #include "W3DDevice/GameClient/W3DAssetManager.h" #include "W3DDevice/GameClient/Module/W3DModelDraw.h" +#include "W3DDevice/GameClient/Module/W3DTreeDraw.h" #include "agg_def.h" #include "part_ldr.h" #include "hanim.h" @@ -1124,7 +1124,8 @@ AsciiString WbView3d::getBestModelName(const ThingTemplate* tt, const ModelCondi // a preview in WB object placer. The W3DTreeDraw module stores its model name // differently from W3DModelDraw. const W3DTreeDrawModuleData* treeData = mdd ? mdd->getAsW3DTreeDrawModuleData() : nullptr; - if(treeData) { + if (treeData) + { return treeData->m_modelName; } } From d91a333b83c9a58177672853d8f95188b3723704 Mon Sep 17 00:00:00 2001 From: ViTeXFTW Date: Mon, 16 Feb 2026 19:53:59 +0100 Subject: [PATCH 3/3] chore: address review comments --- GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp index 1cc45d20804..b7250c4c9be 100644 --- a/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp +++ b/GeneralsMD/Code/Tools/WorldBuilder/src/wbview3d.cpp @@ -1120,9 +1120,8 @@ AsciiString WbView3d::getBestModelName(const ThingTemplate* tt, const ModelCondi return md->getBestModelNameForWB(c); } - // TheSuperHackers @bugfix ViTeXFTW 15/02/2025 Fix tree objects not showing - // a preview in WB object placer. The W3DTreeDraw module stores its model name - // differently from W3DModelDraw. + // TheSuperHackers @bugfix ViTeXFTW 15/02/2025 Fix tree objects not showing a preview in + // WB object placer. The W3DTreeDraw module stores its model name differently from W3DModelDraw. const W3DTreeDrawModuleData* treeData = mdd ? mdd->getAsW3DTreeDrawModuleData() : nullptr; if (treeData) {