diff --git a/Core/Tools/CMakeLists.txt b/Core/Tools/CMakeLists.txt
index 0175ddaf1c7..074136d4c0b 100644
--- a/Core/Tools/CMakeLists.txt
+++ b/Core/Tools/CMakeLists.txt
@@ -27,6 +27,7 @@ if(RTS_BUILD_GENERALS_TOOLS OR RTS_BUILD_ZEROHOUR_TOOLS)
add_subdirectory(ImagePacker)
add_subdirectory(MapCacheBuilder)
add_subdirectory(W3DView)
+ add_subdirectory(WorldBuilder)
endif()
# Add library interfaces here
diff --git a/Core/Tools/WorldBuilder/CMakeLists.txt b/Core/Tools/WorldBuilder/CMakeLists.txt
new file mode 100644
index 00000000000..4140258957e
--- /dev/null
+++ b/Core/Tools/WorldBuilder/CMakeLists.txt
@@ -0,0 +1,231 @@
+set(WORLDBUILDER_SRC
+ "src/addplayerdialog.cpp"
+ "src/AutoEdgeOutTool.cpp"
+ "src/BaseBuildProps.cpp"
+ "src/BlendEdgeTool.cpp"
+ "src/BlendMaterial.cpp"
+ "src/BorderTool.cpp"
+ "src/brushoptions.cpp"
+ "src/BrushTool.cpp"
+ "src/BuildList.cpp"
+ "src/BuildListTool.cpp"
+ "src/CameraOptions.cpp"
+ "src/CButtonShowColor.cpp"
+ "src/CellWidth.cpp"
+ "src/CFixTeamOwnerDialog.cpp"
+ "src/ContourOptions.cpp"
+ "src/CUndoable.cpp"
+ "src/DrawObject.cpp"
+ "src/EditAction.cpp"
+ "src/EditCondition.cpp"
+ "src/EditCoordParameter.cpp"
+ "src/EditGroup.cpp"
+ "src/EditObjectParameter.cpp"
+ "src/EditParameter.cpp"
+ "src/ExportScriptsOptions.cpp"
+ "src/EyedropperTool.cpp"
+ "src/FeatherOptions.cpp"
+ "src/FeatherTool.cpp"
+ "src/FenceOptions.cpp"
+ "src/FenceTool.cpp"
+ "src/FloodFillTool.cpp"
+ "src/GlobalLightOptions.cpp"
+ "src/GroveOptions.cpp"
+ "src/GroveTool.cpp"
+ "src/HandScrollTool.cpp"
+ "src/ImpassableOptions.cpp"
+ "src/LayersList.cpp"
+ "src/LightOptions.cpp"
+ "src/MainFrm.cpp"
+ "src/mapobjectprops.cpp"
+ "src/MapPreview.cpp"
+ "src/MapSettings.cpp"
+ "src/MeshMoldOptions.cpp"
+ "src/MeshMoldTool.cpp"
+ "src/MoundOptions.cpp"
+ "src/MoundTool.cpp"
+ "src/MyToolbar.cpp"
+ "src/NewHeightMap.cpp"
+ "src/ObjectOptions.cpp"
+ "src/ObjectPreview.cpp"
+ "src/ObjectTool.cpp"
+ "src/OpenMap.cpp"
+ "src/OptionsPanel.cpp"
+ "src/PickUnitDialog.cpp"
+ "src/playerlistdlg.cpp"
+ "src/PointerTool.cpp"
+ "src/PolygonTool.cpp"
+ "src/propedit.cpp"
+ "src/RampOptions.cpp"
+ "src/RampTool.cpp"
+ "src/RoadOptions.cpp"
+ "src/RoadTool.cpp"
+ "src/RulerOptions.cpp"
+ "src/RulerTool.cpp"
+ "src/SaveMap.cpp"
+ "src/ScorchOptions.cpp"
+ "src/ScorchTool.cpp"
+ "src/ScriptActionsFalse.cpp"
+ "src/ScriptActionsTrue.cpp"
+ "src/ScriptConditions.cpp"
+ "src/ScriptDialog.cpp"
+ "src/ScriptProperties.cpp"
+ "src/SelectMacrotexture.cpp"
+ "src/ShadowOptions.cpp"
+ "src/SplashScreen.cpp"
+ "src/StdAfx.cpp"
+ "src/TeamBehavior.cpp"
+ "src/TeamGeneric.cpp"
+ "src/TeamIdentity.cpp"
+ "src/TeamObjectProperties.cpp"
+ "src/TeamReinforcement.cpp"
+ "src/teamsdialog.cpp"
+ "src/TerrainMaterial.cpp"
+ "src/TerrainModal.cpp"
+ "src/TerrainSwatches.cpp"
+ "src/TileTool.cpp"
+ "src/Tool.cpp"
+ "src/WaterOptions.cpp"
+ "src/WaterTool.cpp"
+ "src/WaypointOptions.cpp"
+ "src/WaypointTool.cpp"
+ "src/WBFrameWnd.cpp"
+ "src/WBHeightMap.cpp"
+ "src/WBPopupSlider.cpp"
+ "src/wbview.cpp"
+ "src/wbview3d.cpp"
+ "src/WHeightMapEdit.cpp"
+ "src/WorldBuilder.cpp"
+ "src/WorldBuilderDoc.cpp"
+ "src/WorldBuilderView.cpp"
+ "include/addplayerdialog.h"
+ "include/AutoEdgeOutTool.h"
+ "include/BaseBuildProps.h"
+ "include/BlendEdgeTool.h"
+ "include/BlendMaterial.h"
+ "include/BorderTool.h"
+ "include/brushoptions.h"
+ "include/BrushTool.h"
+ "include/BuildList.h"
+ "include/BuildListTool.h"
+ "include/CameraOptions.h"
+ "include/CButtonShowColor.h"
+ "include/CellWidth.h"
+ "include/CFixTeamOwnerDialog.h"
+ "include/ContourOptions.h"
+ "include/CUndoable.h"
+ "include/DrawObject.h"
+ "include/EditAction.h"
+ "include/EditCondition.h"
+ "include/EditCoordParameter.h"
+ "include/EditGroup.h"
+ "include/EditObjectParameter.h"
+ "include/EditParameter.h"
+ "include/ExportScriptsOptions.h"
+ "include/EyedropperTool.h"
+ "include/FeatherOptions.h"
+ "include/FeatherTool.h"
+ "include/FenceOptions.h"
+ "include/FenceTool.h"
+ "include/FloodFillTool.h"
+ "include/GlobalLightOptions.h"
+ "include/GroveOptions.h"
+ "include/GroveTool.h"
+ "include/HandScrollTool.h"
+ "include/ImpassableOptions.h"
+ "include/LayersList.h"
+ "include/LightOptions.h"
+ "include/MainFrm.h"
+ "include/mapobjectprops.h"
+ "include/MapPreview.h"
+ "include/MapSettings.h"
+ "include/MeshMoldOptions.h"
+ "include/MeshMoldTool.h"
+ "include/MoundOptions.h"
+ "include/MoundTool.h"
+ "include/MyToolbar.h"
+ "include/NewHeightMap.h"
+ "include/ObjectOptions.h"
+ "include/ObjectPreview.h"
+ "include/ObjectTool.h"
+ "include/OpenMap.h"
+ "include/OptionsPanel.h"
+ "include/PickUnitDialog.h"
+ "include/playerlistdlg.h"
+ "include/PointerTool.h"
+ "include/PolygonTool.h"
+ "include/propedit.h"
+ "include/RampOptions.h"
+ "include/RampTool.h"
+ "include/RoadOptions.h"
+ "include/RoadTool.h"
+ "include/RulerOptions.h"
+ "include/RulerTool.h"
+ "include/SaveMap.h"
+ "include/ScorchOptions.h"
+ "include/ScorchTool.h"
+ "include/ScriptActionsFalse.h"
+ "include/ScriptActionsTrue.h"
+ "include/ScriptConditions.h"
+ "include/ScriptDialog.h"
+ "include/ScriptProperties.h"
+ "include/SelectMacrotexture.h"
+ "include/ShadowOptions.h"
+ "include/SplashScreen.h"
+ "include/StdAfx.h"
+ "include/TeamBehavior.h"
+ "include/TeamGeneric.h"
+ "include/TeamIdentity.h"
+ "include/TeamObjectProperties.h"
+ "include/TeamReinforcement.h"
+ "include/teamsdialog.h"
+ "include/TerrainMaterial.h"
+ "include/TerrainModal.h"
+ "include/TerrainSwatches.h"
+ "include/TileTool.h"
+ "include/Tool.h"
+ "include/WaterOptions.h"
+ "include/WaterTool.h"
+ "include/WaypointOptions.h"
+ "include/WaypointTool.h"
+ "include/WBFrameWnd.h"
+ "include/WBHeightMap.h"
+ "include/WBPopupSlider.h"
+ "include/wbview.h"
+ "include/wbview3d.h"
+ "include/WHeightMapEdit.h"
+ "include/WorldBuilder.h"
+ "include/WorldBuilderDoc.h"
+ "include/WorldBuilderView.h"
+)
+
+add_library(corei_worldbuilder INTERFACE)
+
+target_sources(corei_worldbuilder INTERFACE ${WORLDBUILDER_SRC})
+
+target_include_directories(corei_worldbuilder INTERFACE
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ include
+ res
+)
+
+target_precompile_headers(corei_worldbuilder INTERFACE
+ [["Utility/CppMacros.h"]] # Must be first, to be removed when abandoning VC6
+ [["WWLib/always.h"]]
+ [["Common/STLTypedefs.h"]]
+ [["StdAfx.h"]]
+ [["WWLib/WWCommon.h"]]
+)
+
+target_link_libraries(corei_worldbuilder INTERFACE
+ core_browserdispatch
+ d3d8lib
+ imm32
+ vfw32
+ winmm
+)
+
+if(WIN32 OR "${CMAKE_SYSTEM}" MATCHES "Windows")
+ target_link_options(corei_worldbuilder INTERFACE /NODEFAULTLIB:libci.lib /NODEFAULTLIB:libc.lib)
+ target_sources(corei_worldbuilder INTERFACE res/WorldBuilder.rc)
+endif()
diff --git a/Generals/Code/Tools/WorldBuilder/include/AutoEdgeOutTool.h b/Core/Tools/WorldBuilder/include/AutoEdgeOutTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/AutoEdgeOutTool.h
rename to Core/Tools/WorldBuilder/include/AutoEdgeOutTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BaseBuildProps.h b/Core/Tools/WorldBuilder/include/BaseBuildProps.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BaseBuildProps.h
rename to Core/Tools/WorldBuilder/include/BaseBuildProps.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BlendEdgeTool.h b/Core/Tools/WorldBuilder/include/BlendEdgeTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BlendEdgeTool.h
rename to Core/Tools/WorldBuilder/include/BlendEdgeTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BlendMaterial.h b/Core/Tools/WorldBuilder/include/BlendMaterial.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BlendMaterial.h
rename to Core/Tools/WorldBuilder/include/BlendMaterial.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BorderTool.h b/Core/Tools/WorldBuilder/include/BorderTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BorderTool.h
rename to Core/Tools/WorldBuilder/include/BorderTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BrushTool.h b/Core/Tools/WorldBuilder/include/BrushTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BrushTool.h
rename to Core/Tools/WorldBuilder/include/BrushTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BuildList.h b/Core/Tools/WorldBuilder/include/BuildList.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BuildList.h
rename to Core/Tools/WorldBuilder/include/BuildList.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/BuildListTool.h b/Core/Tools/WorldBuilder/include/BuildListTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/BuildListTool.h
rename to Core/Tools/WorldBuilder/include/BuildListTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/CButtonShowColor.h b/Core/Tools/WorldBuilder/include/CButtonShowColor.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/CButtonShowColor.h
rename to Core/Tools/WorldBuilder/include/CButtonShowColor.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h b/Core/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h
rename to Core/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/CUndoable.h b/Core/Tools/WorldBuilder/include/CUndoable.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/CUndoable.h
rename to Core/Tools/WorldBuilder/include/CUndoable.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/CameraOptions.h b/Core/Tools/WorldBuilder/include/CameraOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/CameraOptions.h
rename to Core/Tools/WorldBuilder/include/CameraOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/CellWidth.h b/Core/Tools/WorldBuilder/include/CellWidth.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/CellWidth.h
rename to Core/Tools/WorldBuilder/include/CellWidth.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ContourOptions.h b/Core/Tools/WorldBuilder/include/ContourOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ContourOptions.h
rename to Core/Tools/WorldBuilder/include/ContourOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/DrawObject.h b/Core/Tools/WorldBuilder/include/DrawObject.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/DrawObject.h
rename to Core/Tools/WorldBuilder/include/DrawObject.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditAction.h b/Core/Tools/WorldBuilder/include/EditAction.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditAction.h
rename to Core/Tools/WorldBuilder/include/EditAction.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditCondition.h b/Core/Tools/WorldBuilder/include/EditCondition.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditCondition.h
rename to Core/Tools/WorldBuilder/include/EditCondition.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditCoordParameter.h b/Core/Tools/WorldBuilder/include/EditCoordParameter.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditCoordParameter.h
rename to Core/Tools/WorldBuilder/include/EditCoordParameter.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditGroup.h b/Core/Tools/WorldBuilder/include/EditGroup.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditGroup.h
rename to Core/Tools/WorldBuilder/include/EditGroup.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditObjectParameter.h b/Core/Tools/WorldBuilder/include/EditObjectParameter.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditObjectParameter.h
rename to Core/Tools/WorldBuilder/include/EditObjectParameter.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EditParameter.h b/Core/Tools/WorldBuilder/include/EditParameter.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EditParameter.h
rename to Core/Tools/WorldBuilder/include/EditParameter.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ExportScriptsOptions.h b/Core/Tools/WorldBuilder/include/ExportScriptsOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ExportScriptsOptions.h
rename to Core/Tools/WorldBuilder/include/ExportScriptsOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/EyedropperTool.h b/Core/Tools/WorldBuilder/include/EyedropperTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/EyedropperTool.h
rename to Core/Tools/WorldBuilder/include/EyedropperTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/FeatherOptions.h b/Core/Tools/WorldBuilder/include/FeatherOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/FeatherOptions.h
rename to Core/Tools/WorldBuilder/include/FeatherOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/FeatherTool.h b/Core/Tools/WorldBuilder/include/FeatherTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/FeatherTool.h
rename to Core/Tools/WorldBuilder/include/FeatherTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/FenceOptions.h b/Core/Tools/WorldBuilder/include/FenceOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/FenceOptions.h
rename to Core/Tools/WorldBuilder/include/FenceOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/FenceTool.h b/Core/Tools/WorldBuilder/include/FenceTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/FenceTool.h
rename to Core/Tools/WorldBuilder/include/FenceTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/FloodFillTool.h b/Core/Tools/WorldBuilder/include/FloodFillTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/FloodFillTool.h
rename to Core/Tools/WorldBuilder/include/FloodFillTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/GlobalLightOptions.h b/Core/Tools/WorldBuilder/include/GlobalLightOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/GlobalLightOptions.h
rename to Core/Tools/WorldBuilder/include/GlobalLightOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/GroveOptions.h b/Core/Tools/WorldBuilder/include/GroveOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/GroveOptions.h
rename to Core/Tools/WorldBuilder/include/GroveOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/GroveTool.h b/Core/Tools/WorldBuilder/include/GroveTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/GroveTool.h
rename to Core/Tools/WorldBuilder/include/GroveTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/HandScrollTool.h b/Core/Tools/WorldBuilder/include/HandScrollTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/HandScrollTool.h
rename to Core/Tools/WorldBuilder/include/HandScrollTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ImpassableOptions.h b/Core/Tools/WorldBuilder/include/ImpassableOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ImpassableOptions.h
rename to Core/Tools/WorldBuilder/include/ImpassableOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/LayersList.h b/Core/Tools/WorldBuilder/include/LayersList.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/LayersList.h
rename to Core/Tools/WorldBuilder/include/LayersList.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/LightOptions.h b/Core/Tools/WorldBuilder/include/LightOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/LightOptions.h
rename to Core/Tools/WorldBuilder/include/LightOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MainFrm.h b/Core/Tools/WorldBuilder/include/MainFrm.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MainFrm.h
rename to Core/Tools/WorldBuilder/include/MainFrm.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MapPreview.h b/Core/Tools/WorldBuilder/include/MapPreview.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MapPreview.h
rename to Core/Tools/WorldBuilder/include/MapPreview.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MapSettings.h b/Core/Tools/WorldBuilder/include/MapSettings.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MapSettings.h
rename to Core/Tools/WorldBuilder/include/MapSettings.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MeshMoldOptions.h b/Core/Tools/WorldBuilder/include/MeshMoldOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MeshMoldOptions.h
rename to Core/Tools/WorldBuilder/include/MeshMoldOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MeshMoldTool.h b/Core/Tools/WorldBuilder/include/MeshMoldTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MeshMoldTool.h
rename to Core/Tools/WorldBuilder/include/MeshMoldTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MoundOptions.h b/Core/Tools/WorldBuilder/include/MoundOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MoundOptions.h
rename to Core/Tools/WorldBuilder/include/MoundOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MoundTool.h b/Core/Tools/WorldBuilder/include/MoundTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MoundTool.h
rename to Core/Tools/WorldBuilder/include/MoundTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/MyToolbar.h b/Core/Tools/WorldBuilder/include/MyToolbar.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/MyToolbar.h
rename to Core/Tools/WorldBuilder/include/MyToolbar.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/NewHeightMap.h b/Core/Tools/WorldBuilder/include/NewHeightMap.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/NewHeightMap.h
rename to Core/Tools/WorldBuilder/include/NewHeightMap.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ObjectOptions.h b/Core/Tools/WorldBuilder/include/ObjectOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ObjectOptions.h
rename to Core/Tools/WorldBuilder/include/ObjectOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ObjectPreview.h b/Core/Tools/WorldBuilder/include/ObjectPreview.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ObjectPreview.h
rename to Core/Tools/WorldBuilder/include/ObjectPreview.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ObjectTool.h b/Core/Tools/WorldBuilder/include/ObjectTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ObjectTool.h
rename to Core/Tools/WorldBuilder/include/ObjectTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/OpenMap.h b/Core/Tools/WorldBuilder/include/OpenMap.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/OpenMap.h
rename to Core/Tools/WorldBuilder/include/OpenMap.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/OptionsPanel.h b/Core/Tools/WorldBuilder/include/OptionsPanel.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/OptionsPanel.h
rename to Core/Tools/WorldBuilder/include/OptionsPanel.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/PickUnitDialog.h b/Core/Tools/WorldBuilder/include/PickUnitDialog.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/PickUnitDialog.h
rename to Core/Tools/WorldBuilder/include/PickUnitDialog.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/PointerTool.h b/Core/Tools/WorldBuilder/include/PointerTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/PointerTool.h
rename to Core/Tools/WorldBuilder/include/PointerTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/PolygonTool.h b/Core/Tools/WorldBuilder/include/PolygonTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/PolygonTool.h
rename to Core/Tools/WorldBuilder/include/PolygonTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RampOptions.h b/Core/Tools/WorldBuilder/include/RampOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RampOptions.h
rename to Core/Tools/WorldBuilder/include/RampOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RampTool.h b/Core/Tools/WorldBuilder/include/RampTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RampTool.h
rename to Core/Tools/WorldBuilder/include/RampTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RoadOptions.h b/Core/Tools/WorldBuilder/include/RoadOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RoadOptions.h
rename to Core/Tools/WorldBuilder/include/RoadOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RoadTool.h b/Core/Tools/WorldBuilder/include/RoadTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RoadTool.h
rename to Core/Tools/WorldBuilder/include/RoadTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RulerOptions.h b/Core/Tools/WorldBuilder/include/RulerOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RulerOptions.h
rename to Core/Tools/WorldBuilder/include/RulerOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/RulerTool.h b/Core/Tools/WorldBuilder/include/RulerTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/RulerTool.h
rename to Core/Tools/WorldBuilder/include/RulerTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/SaveMap.h b/Core/Tools/WorldBuilder/include/SaveMap.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/SaveMap.h
rename to Core/Tools/WorldBuilder/include/SaveMap.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScorchOptions.h b/Core/Tools/WorldBuilder/include/ScorchOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScorchOptions.h
rename to Core/Tools/WorldBuilder/include/ScorchOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScorchTool.h b/Core/Tools/WorldBuilder/include/ScorchTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScorchTool.h
rename to Core/Tools/WorldBuilder/include/ScorchTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScriptActionsFalse.h b/Core/Tools/WorldBuilder/include/ScriptActionsFalse.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScriptActionsFalse.h
rename to Core/Tools/WorldBuilder/include/ScriptActionsFalse.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScriptActionsTrue.h b/Core/Tools/WorldBuilder/include/ScriptActionsTrue.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScriptActionsTrue.h
rename to Core/Tools/WorldBuilder/include/ScriptActionsTrue.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScriptConditions.h b/Core/Tools/WorldBuilder/include/ScriptConditions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScriptConditions.h
rename to Core/Tools/WorldBuilder/include/ScriptConditions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScriptDialog.h b/Core/Tools/WorldBuilder/include/ScriptDialog.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScriptDialog.h
rename to Core/Tools/WorldBuilder/include/ScriptDialog.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ScriptProperties.h b/Core/Tools/WorldBuilder/include/ScriptProperties.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ScriptProperties.h
rename to Core/Tools/WorldBuilder/include/ScriptProperties.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/SelectMacrotexture.h b/Core/Tools/WorldBuilder/include/SelectMacrotexture.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/SelectMacrotexture.h
rename to Core/Tools/WorldBuilder/include/SelectMacrotexture.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/ShadowOptions.h b/Core/Tools/WorldBuilder/include/ShadowOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/ShadowOptions.h
rename to Core/Tools/WorldBuilder/include/ShadowOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/SplashScreen.h b/Core/Tools/WorldBuilder/include/SplashScreen.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/SplashScreen.h
rename to Core/Tools/WorldBuilder/include/SplashScreen.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/StdAfx.h b/Core/Tools/WorldBuilder/include/StdAfx.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/StdAfx.h
rename to Core/Tools/WorldBuilder/include/StdAfx.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TeamBehavior.h b/Core/Tools/WorldBuilder/include/TeamBehavior.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TeamBehavior.h
rename to Core/Tools/WorldBuilder/include/TeamBehavior.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TeamGeneric.h b/Core/Tools/WorldBuilder/include/TeamGeneric.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TeamGeneric.h
rename to Core/Tools/WorldBuilder/include/TeamGeneric.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TeamIdentity.h b/Core/Tools/WorldBuilder/include/TeamIdentity.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TeamIdentity.h
rename to Core/Tools/WorldBuilder/include/TeamIdentity.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TeamObjectProperties.h b/Core/Tools/WorldBuilder/include/TeamObjectProperties.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TeamObjectProperties.h
rename to Core/Tools/WorldBuilder/include/TeamObjectProperties.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TeamReinforcement.h b/Core/Tools/WorldBuilder/include/TeamReinforcement.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TeamReinforcement.h
rename to Core/Tools/WorldBuilder/include/TeamReinforcement.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TerrainMaterial.h b/Core/Tools/WorldBuilder/include/TerrainMaterial.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TerrainMaterial.h
rename to Core/Tools/WorldBuilder/include/TerrainMaterial.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TerrainModal.h b/Core/Tools/WorldBuilder/include/TerrainModal.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TerrainModal.h
rename to Core/Tools/WorldBuilder/include/TerrainModal.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TerrainSwatches.h b/Core/Tools/WorldBuilder/include/TerrainSwatches.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TerrainSwatches.h
rename to Core/Tools/WorldBuilder/include/TerrainSwatches.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/TileTool.h b/Core/Tools/WorldBuilder/include/TileTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/TileTool.h
rename to Core/Tools/WorldBuilder/include/TileTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/Tool.h b/Core/Tools/WorldBuilder/include/Tool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/Tool.h
rename to Core/Tools/WorldBuilder/include/Tool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WBFrameWnd.h b/Core/Tools/WorldBuilder/include/WBFrameWnd.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WBFrameWnd.h
rename to Core/Tools/WorldBuilder/include/WBFrameWnd.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WBHeightMap.h b/Core/Tools/WorldBuilder/include/WBHeightMap.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WBHeightMap.h
rename to Core/Tools/WorldBuilder/include/WBHeightMap.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WBPopupSlider.h b/Core/Tools/WorldBuilder/include/WBPopupSlider.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WBPopupSlider.h
rename to Core/Tools/WorldBuilder/include/WBPopupSlider.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WHeightMapEdit.h b/Core/Tools/WorldBuilder/include/WHeightMapEdit.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WHeightMapEdit.h
rename to Core/Tools/WorldBuilder/include/WHeightMapEdit.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WaterOptions.h b/Core/Tools/WorldBuilder/include/WaterOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WaterOptions.h
rename to Core/Tools/WorldBuilder/include/WaterOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WaterTool.h b/Core/Tools/WorldBuilder/include/WaterTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WaterTool.h
rename to Core/Tools/WorldBuilder/include/WaterTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WaypointOptions.h b/Core/Tools/WorldBuilder/include/WaypointOptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WaypointOptions.h
rename to Core/Tools/WorldBuilder/include/WaypointOptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WaypointTool.h b/Core/Tools/WorldBuilder/include/WaypointTool.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WaypointTool.h
rename to Core/Tools/WorldBuilder/include/WaypointTool.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WorldBuilder.h b/Core/Tools/WorldBuilder/include/WorldBuilder.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WorldBuilder.h
rename to Core/Tools/WorldBuilder/include/WorldBuilder.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WorldBuilderDoc.h b/Core/Tools/WorldBuilder/include/WorldBuilderDoc.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WorldBuilderDoc.h
rename to Core/Tools/WorldBuilder/include/WorldBuilderDoc.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/WorldBuilderView.h b/Core/Tools/WorldBuilder/include/WorldBuilderView.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/WorldBuilderView.h
rename to Core/Tools/WorldBuilder/include/WorldBuilderView.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/addplayerdialog.h b/Core/Tools/WorldBuilder/include/addplayerdialog.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/addplayerdialog.h
rename to Core/Tools/WorldBuilder/include/addplayerdialog.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/brushoptions.h b/Core/Tools/WorldBuilder/include/brushoptions.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/brushoptions.h
rename to Core/Tools/WorldBuilder/include/brushoptions.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/mapobjectprops.h b/Core/Tools/WorldBuilder/include/mapobjectprops.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/mapobjectprops.h
rename to Core/Tools/WorldBuilder/include/mapobjectprops.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/playerlistdlg.h b/Core/Tools/WorldBuilder/include/playerlistdlg.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/playerlistdlg.h
rename to Core/Tools/WorldBuilder/include/playerlistdlg.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/propedit.h b/Core/Tools/WorldBuilder/include/propedit.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/propedit.h
rename to Core/Tools/WorldBuilder/include/propedit.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/teamsdialog.h b/Core/Tools/WorldBuilder/include/teamsdialog.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/teamsdialog.h
rename to Core/Tools/WorldBuilder/include/teamsdialog.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/wbview.h b/Core/Tools/WorldBuilder/include/wbview.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/wbview.h
rename to Core/Tools/WorldBuilder/include/wbview.h
diff --git a/Generals/Code/Tools/WorldBuilder/include/wbview3d.h b/Core/Tools/WorldBuilder/include/wbview3d.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/include/wbview3d.h
rename to Core/Tools/WorldBuilder/include/wbview3d.h
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDB_DownArrow.bmp b/Core/Tools/WorldBuilder/res/IDB_DownArrow.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDB_DownArrow.bmp
rename to Core/Tools/WorldBuilder/res/IDB_DownArrow.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDB_ROAD_CORNERS.bmp b/Core/Tools/WorldBuilder/res/IDB_ROAD_CORNERS.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDB_ROAD_CORNERS.bmp
rename to Core/Tools/WorldBuilder/res/IDB_ROAD_CORNERS.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_AUTO_EDGE_OUT.cur b/Core/Tools/WorldBuilder/res/IDC_AUTO_EDGE_OUT.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_AUTO_EDGE_OUT.cur
rename to Core/Tools/WorldBuilder/res/IDC_AUTO_EDGE_OUT.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_BLEND_EDGE.cur b/Core/Tools/WorldBuilder/res/IDC_BLEND_EDGE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_BLEND_EDGE.cur
rename to Core/Tools/WorldBuilder/res/IDC_BLEND_EDGE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_LIST_TOOL.cur b/Core/Tools/WorldBuilder/res/IDC_BUILD_LIST_TOOL.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_LIST_TOOL.cur
rename to Core/Tools/WorldBuilder/res/IDC_BUILD_LIST_TOOL.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_MOVE.cur b/Core/Tools/WorldBuilder/res/IDC_BUILD_MOVE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_MOVE.cur
rename to Core/Tools/WorldBuilder/res/IDC_BUILD_MOVE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_POINTER.cur b/Core/Tools/WorldBuilder/res/IDC_BUILD_POINTER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_POINTER.cur
rename to Core/Tools/WorldBuilder/res/IDC_BUILD_POINTER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_ROTATE.cur b/Core/Tools/WorldBuilder/res/IDC_BUILD_ROTATE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_BUILD_ROTATE.cur
rename to Core/Tools/WorldBuilder/res/IDC_BUILD_ROTATE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_CLIFF.cur b/Core/Tools/WorldBuilder/res/IDC_CLIFF.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_CLIFF.cur
rename to Core/Tools/WorldBuilder/res/IDC_CLIFF.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_EYEDROPPER.cur b/Core/Tools/WorldBuilder/res/IDC_EYEDROPPER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_EYEDROPPER.cur
rename to Core/Tools/WorldBuilder/res/IDC_EYEDROPPER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_FENCE.cur b/Core/Tools/WorldBuilder/res/IDC_FENCE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_FENCE.cur
rename to Core/Tools/WorldBuilder/res/IDC_FENCE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_FLOOD_FILL.cur b/Core/Tools/WorldBuilder/res/IDC_FLOOD_FILL.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_FLOOD_FILL.cur
rename to Core/Tools/WorldBuilder/res/IDC_FLOOD_FILL.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_GROVE.cur b/Core/Tools/WorldBuilder/res/IDC_GROVE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_GROVE.cur
rename to Core/Tools/WorldBuilder/res/IDC_GROVE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_HAND_SCROLL.cur b/Core/Tools/WorldBuilder/res/IDC_HAND_SCROLL.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_HAND_SCROLL.cur
rename to Core/Tools/WorldBuilder/res/IDC_HAND_SCROLL.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_MOLD_POINTER.cur b/Core/Tools/WorldBuilder/res/IDC_MOLD_POINTER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_MOLD_POINTER.cur
rename to Core/Tools/WorldBuilder/res/IDC_MOLD_POINTER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_MOVE_POINTER.cur b/Core/Tools/WorldBuilder/res/IDC_MOVE_POINTER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_MOVE_POINTER.cur
rename to Core/Tools/WorldBuilder/res/IDC_MOVE_POINTER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_PLACE_OBJECT.cur b/Core/Tools/WorldBuilder/res/IDC_PLACE_OBJECT.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_PLACE_OBJECT.cur
rename to Core/Tools/WorldBuilder/res/IDC_PLACE_OBJECT.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_POINTER.cur b/Core/Tools/WorldBuilder/res/IDC_POINTER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_POINTER.cur
rename to Core/Tools/WorldBuilder/res/IDC_POINTER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON.cur b/Core/Tools/WorldBuilder/res/IDC_POLYGON.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON.cur
rename to Core/Tools/WorldBuilder/res/IDC_POLYGON.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON_MOVE.cur b/Core/Tools/WorldBuilder/res/IDC_POLYGON_MOVE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON_MOVE.cur
rename to Core/Tools/WorldBuilder/res/IDC_POLYGON_MOVE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON_PLUS.cur b/Core/Tools/WorldBuilder/res/IDC_POLYGON_PLUS.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_POLYGON_PLUS.cur
rename to Core/Tools/WorldBuilder/res/IDC_POLYGON_PLUS.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_RAMP.cur b/Core/Tools/WorldBuilder/res/IDC_RAMP.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_RAMP.cur
rename to Core/Tools/WorldBuilder/res/IDC_RAMP.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_ROAD.cur b/Core/Tools/WorldBuilder/res/IDC_ROAD.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_ROAD.cur
rename to Core/Tools/WorldBuilder/res/IDC_ROAD.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_ROTATE.cur b/Core/Tools/WorldBuilder/res/IDC_ROTATE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_ROTATE.cur
rename to Core/Tools/WorldBuilder/res/IDC_ROTATE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_Scorch.cur b/Core/Tools/WorldBuilder/res/IDC_Scorch.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_Scorch.cur
rename to Core/Tools/WorldBuilder/res/IDC_Scorch.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_WATER.cur b/Core/Tools/WorldBuilder/res/IDC_WATER.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_WATER.cur
rename to Core/Tools/WorldBuilder/res/IDC_WATER.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_WATER_MOVE.cur b/Core/Tools/WorldBuilder/res/IDC_WATER_MOVE.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_WATER_MOVE.cur
rename to Core/Tools/WorldBuilder/res/IDC_WATER_MOVE.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_WATER_PLUS.cur b/Core/Tools/WorldBuilder/res/IDC_WATER_PLUS.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_WATER_PLUS.cur
rename to Core/Tools/WorldBuilder/res/IDC_WATER_PLUS.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDC_WAYPOINT.cur b/Core/Tools/WorldBuilder/res/IDC_WAYPOINT.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDC_WAYPOINT.cur
rename to Core/Tools/WorldBuilder/res/IDC_WAYPOINT.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDI_Hide.ico b/Core/Tools/WorldBuilder/res/IDI_Hide.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDI_Hide.ico
rename to Core/Tools/WorldBuilder/res/IDI_Hide.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDI_Show.ico b/Core/Tools/WorldBuilder/res/IDI_Show.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDI_Show.ico
rename to Core/Tools/WorldBuilder/res/IDI_Show.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/IDI_Thumb.ico b/Core/Tools/WorldBuilder/res/IDI_Thumb.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/IDI_Thumb.ico
rename to Core/Tools/WorldBuilder/res/IDI_Thumb.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/TileTool.cur b/Core/Tools/WorldBuilder/res/TileTool.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/TileTool.cur
rename to Core/Tools/WorldBuilder/res/TileTool.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/Toolbar.bmp b/Core/Tools/WorldBuilder/res/Toolbar.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/Toolbar.bmp
rename to Core/Tools/WorldBuilder/res/Toolbar.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/WorldBuilder.ico b/Core/Tools/WorldBuilder/res/WorldBuilder.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/WorldBuilder.ico
rename to Core/Tools/WorldBuilder/res/WorldBuilder.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/WorldBuilder.rc b/Core/Tools/WorldBuilder/res/WorldBuilder.rc
similarity index 99%
rename from Generals/Code/Tools/WorldBuilder/res/WorldBuilder.rc
rename to Core/Tools/WorldBuilder/res/WorldBuilder.rc
index 0918509c0ea..8f3155bfa40 100644
--- a/Generals/Code/Tools/WorldBuilder/res/WorldBuilder.rc
+++ b/Core/Tools/WorldBuilder/res/WorldBuilder.rc
@@ -84,7 +84,11 @@ IDB_DownArrow BITMAP DISCARDABLE "IDB_DownArrow.bmp"
IDB_FOLDER BITMAP DISCARDABLE "folder.bmp"
IDB_ROAD_CORNERS BITMAP DISCARDABLE "IDB_ROAD_CORNERS.bmp"
IDB_FOLDERSCRIPT BITMAP DISCARDABLE "foldersc.bmp"
-IDB_WORLDBUILDERSPLASH BITMAP DISCARDABLE "WorldBuilder.bmp"
+#if RTS_GENERALS
+IDB_WORLDBUILDERSPLASH BITMAP DISCARDABLE "WorldBuilderV.bmp"
+#elif RTS_ZEROHOUR
+IDB_WORLDBUILDERSPLASH BITMAP DISCARDABLE "WorldBuilderZH.bmp"
+#endif
/////////////////////////////////////////////////////////////////////////////
//
diff --git a/Generals/Code/Tools/WorldBuilder/res/WorldBuilder.rc2 b/Core/Tools/WorldBuilder/res/WorldBuilder.rc2
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/WorldBuilder.rc2
rename to Core/Tools/WorldBuilder/res/WorldBuilder.rc2
diff --git a/Generals/Code/Tools/WorldBuilder/res/WorldBuilderDoc.ico b/Core/Tools/WorldBuilder/res/WorldBuilderDoc.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/WorldBuilderDoc.ico
rename to Core/Tools/WorldBuilder/res/WorldBuilderDoc.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/WorldBuilder.bmp b/Core/Tools/WorldBuilder/res/WorldBuilderV.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/WorldBuilder.bmp
rename to Core/Tools/WorldBuilder/res/WorldBuilderV.bmp
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/res/WorldBuilder.bmp b/Core/Tools/WorldBuilder/res/WorldBuilderZH.bmp
similarity index 100%
rename from GeneralsMD/Code/Tools/WorldBuilder/res/WorldBuilder.bmp
rename to Core/Tools/WorldBuilder/res/WorldBuilderZH.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/cross.cur b/Core/Tools/WorldBuilder/res/cross.cur
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/cross.cur
rename to Core/Tools/WorldBuilder/res/cross.cur
diff --git a/Generals/Code/Tools/WorldBuilder/res/folder.bmp b/Core/Tools/WorldBuilder/res/folder.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/folder.bmp
rename to Core/Tools/WorldBuilder/res/folder.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/foldersc.bmp b/Core/Tools/WorldBuilder/res/foldersc.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/foldersc.bmp
rename to Core/Tools/WorldBuilder/res/foldersc.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/icon2.ico b/Core/Tools/WorldBuilder/res/icon2.ico
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/icon2.ico
rename to Core/Tools/WorldBuilder/res/icon2.ico
diff --git a/Generals/Code/Tools/WorldBuilder/res/resource.h b/Core/Tools/WorldBuilder/res/resource.h
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/resource.h
rename to Core/Tools/WorldBuilder/res/resource.h
diff --git a/Generals/Code/Tools/WorldBuilder/res/toolbar1.bmp b/Core/Tools/WorldBuilder/res/toolbar1.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/toolbar1.bmp
rename to Core/Tools/WorldBuilder/res/toolbar1.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/res/toolbar2.bmp b/Core/Tools/WorldBuilder/res/toolbar2.bmp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/res/toolbar2.bmp
rename to Core/Tools/WorldBuilder/res/toolbar2.bmp
diff --git a/Generals/Code/Tools/WorldBuilder/src/AutoEdgeOutTool.cpp b/Core/Tools/WorldBuilder/src/AutoEdgeOutTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/AutoEdgeOutTool.cpp
rename to Core/Tools/WorldBuilder/src/AutoEdgeOutTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BaseBuildProps.cpp b/Core/Tools/WorldBuilder/src/BaseBuildProps.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BaseBuildProps.cpp
rename to Core/Tools/WorldBuilder/src/BaseBuildProps.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BlendEdgeTool.cpp b/Core/Tools/WorldBuilder/src/BlendEdgeTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BlendEdgeTool.cpp
rename to Core/Tools/WorldBuilder/src/BlendEdgeTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BlendMaterial.cpp b/Core/Tools/WorldBuilder/src/BlendMaterial.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BlendMaterial.cpp
rename to Core/Tools/WorldBuilder/src/BlendMaterial.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BorderTool.cpp b/Core/Tools/WorldBuilder/src/BorderTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BorderTool.cpp
rename to Core/Tools/WorldBuilder/src/BorderTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BrushTool.cpp b/Core/Tools/WorldBuilder/src/BrushTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BrushTool.cpp
rename to Core/Tools/WorldBuilder/src/BrushTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BuildList.cpp b/Core/Tools/WorldBuilder/src/BuildList.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BuildList.cpp
rename to Core/Tools/WorldBuilder/src/BuildList.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/BuildListTool.cpp b/Core/Tools/WorldBuilder/src/BuildListTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/BuildListTool.cpp
rename to Core/Tools/WorldBuilder/src/BuildListTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/CButtonShowColor.cpp b/Core/Tools/WorldBuilder/src/CButtonShowColor.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/CButtonShowColor.cpp
rename to Core/Tools/WorldBuilder/src/CButtonShowColor.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/CFixTeamOwnerDialog.cpp b/Core/Tools/WorldBuilder/src/CFixTeamOwnerDialog.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/CFixTeamOwnerDialog.cpp
rename to Core/Tools/WorldBuilder/src/CFixTeamOwnerDialog.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/CUndoable.cpp b/Core/Tools/WorldBuilder/src/CUndoable.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/CUndoable.cpp
rename to Core/Tools/WorldBuilder/src/CUndoable.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/CameraOptions.cpp b/Core/Tools/WorldBuilder/src/CameraOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/CameraOptions.cpp
rename to Core/Tools/WorldBuilder/src/CameraOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/CellWidth.cpp b/Core/Tools/WorldBuilder/src/CellWidth.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/CellWidth.cpp
rename to Core/Tools/WorldBuilder/src/CellWidth.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ContourOptions.cpp b/Core/Tools/WorldBuilder/src/ContourOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ContourOptions.cpp
rename to Core/Tools/WorldBuilder/src/ContourOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/DrawObject.cpp b/Core/Tools/WorldBuilder/src/DrawObject.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/DrawObject.cpp
rename to Core/Tools/WorldBuilder/src/DrawObject.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditAction.cpp b/Core/Tools/WorldBuilder/src/EditAction.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditAction.cpp
rename to Core/Tools/WorldBuilder/src/EditAction.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditCondition.cpp b/Core/Tools/WorldBuilder/src/EditCondition.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditCondition.cpp
rename to Core/Tools/WorldBuilder/src/EditCondition.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditCoordParameter.cpp b/Core/Tools/WorldBuilder/src/EditCoordParameter.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditCoordParameter.cpp
rename to Core/Tools/WorldBuilder/src/EditCoordParameter.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditGroup.cpp b/Core/Tools/WorldBuilder/src/EditGroup.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditGroup.cpp
rename to Core/Tools/WorldBuilder/src/EditGroup.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditObjectParameter.cpp b/Core/Tools/WorldBuilder/src/EditObjectParameter.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditObjectParameter.cpp
rename to Core/Tools/WorldBuilder/src/EditObjectParameter.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EditParameter.cpp b/Core/Tools/WorldBuilder/src/EditParameter.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EditParameter.cpp
rename to Core/Tools/WorldBuilder/src/EditParameter.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ExportScriptsOptions.cpp b/Core/Tools/WorldBuilder/src/ExportScriptsOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ExportScriptsOptions.cpp
rename to Core/Tools/WorldBuilder/src/ExportScriptsOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/EyedropperTool.cpp b/Core/Tools/WorldBuilder/src/EyedropperTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/EyedropperTool.cpp
rename to Core/Tools/WorldBuilder/src/EyedropperTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/FeatherOptions.cpp b/Core/Tools/WorldBuilder/src/FeatherOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/FeatherOptions.cpp
rename to Core/Tools/WorldBuilder/src/FeatherOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/FeatherTool.cpp b/Core/Tools/WorldBuilder/src/FeatherTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/FeatherTool.cpp
rename to Core/Tools/WorldBuilder/src/FeatherTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/FenceOptions.cpp b/Core/Tools/WorldBuilder/src/FenceOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/FenceOptions.cpp
rename to Core/Tools/WorldBuilder/src/FenceOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/FenceTool.cpp b/Core/Tools/WorldBuilder/src/FenceTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/FenceTool.cpp
rename to Core/Tools/WorldBuilder/src/FenceTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/FloodFillTool.cpp b/Core/Tools/WorldBuilder/src/FloodFillTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/FloodFillTool.cpp
rename to Core/Tools/WorldBuilder/src/FloodFillTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/GlobalLightOptions.cpp b/Core/Tools/WorldBuilder/src/GlobalLightOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/GlobalLightOptions.cpp
rename to Core/Tools/WorldBuilder/src/GlobalLightOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/GroveOptions.cpp b/Core/Tools/WorldBuilder/src/GroveOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/GroveOptions.cpp
rename to Core/Tools/WorldBuilder/src/GroveOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/GroveTool.cpp b/Core/Tools/WorldBuilder/src/GroveTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/GroveTool.cpp
rename to Core/Tools/WorldBuilder/src/GroveTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/HandScrollTool.cpp b/Core/Tools/WorldBuilder/src/HandScrollTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/HandScrollTool.cpp
rename to Core/Tools/WorldBuilder/src/HandScrollTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ImpassableOptions.cpp b/Core/Tools/WorldBuilder/src/ImpassableOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ImpassableOptions.cpp
rename to Core/Tools/WorldBuilder/src/ImpassableOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/LayersList.cpp b/Core/Tools/WorldBuilder/src/LayersList.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/LayersList.cpp
rename to Core/Tools/WorldBuilder/src/LayersList.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/LightOptions.cpp b/Core/Tools/WorldBuilder/src/LightOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/LightOptions.cpp
rename to Core/Tools/WorldBuilder/src/LightOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MainFrm.cpp b/Core/Tools/WorldBuilder/src/MainFrm.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MainFrm.cpp
rename to Core/Tools/WorldBuilder/src/MainFrm.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MapPreview.cpp b/Core/Tools/WorldBuilder/src/MapPreview.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MapPreview.cpp
rename to Core/Tools/WorldBuilder/src/MapPreview.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MapSettings.cpp b/Core/Tools/WorldBuilder/src/MapSettings.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MapSettings.cpp
rename to Core/Tools/WorldBuilder/src/MapSettings.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MeshMoldOptions.cpp b/Core/Tools/WorldBuilder/src/MeshMoldOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MeshMoldOptions.cpp
rename to Core/Tools/WorldBuilder/src/MeshMoldOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MeshMoldTool.cpp b/Core/Tools/WorldBuilder/src/MeshMoldTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MeshMoldTool.cpp
rename to Core/Tools/WorldBuilder/src/MeshMoldTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MoundOptions.cpp b/Core/Tools/WorldBuilder/src/MoundOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MoundOptions.cpp
rename to Core/Tools/WorldBuilder/src/MoundOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MoundTool.cpp b/Core/Tools/WorldBuilder/src/MoundTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MoundTool.cpp
rename to Core/Tools/WorldBuilder/src/MoundTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/MyToolbar.cpp b/Core/Tools/WorldBuilder/src/MyToolbar.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/MyToolbar.cpp
rename to Core/Tools/WorldBuilder/src/MyToolbar.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/NewHeightMap.cpp b/Core/Tools/WorldBuilder/src/NewHeightMap.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/NewHeightMap.cpp
rename to Core/Tools/WorldBuilder/src/NewHeightMap.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ObjectOptions.cpp b/Core/Tools/WorldBuilder/src/ObjectOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ObjectOptions.cpp
rename to Core/Tools/WorldBuilder/src/ObjectOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ObjectPreview.cpp b/Core/Tools/WorldBuilder/src/ObjectPreview.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ObjectPreview.cpp
rename to Core/Tools/WorldBuilder/src/ObjectPreview.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ObjectTool.cpp b/Core/Tools/WorldBuilder/src/ObjectTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ObjectTool.cpp
rename to Core/Tools/WorldBuilder/src/ObjectTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/OpenMap.cpp b/Core/Tools/WorldBuilder/src/OpenMap.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/OpenMap.cpp
rename to Core/Tools/WorldBuilder/src/OpenMap.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/OptionsPanel.cpp b/Core/Tools/WorldBuilder/src/OptionsPanel.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/OptionsPanel.cpp
rename to Core/Tools/WorldBuilder/src/OptionsPanel.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/PickUnitDialog.cpp b/Core/Tools/WorldBuilder/src/PickUnitDialog.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/PickUnitDialog.cpp
rename to Core/Tools/WorldBuilder/src/PickUnitDialog.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/PointerTool.cpp b/Core/Tools/WorldBuilder/src/PointerTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/PointerTool.cpp
rename to Core/Tools/WorldBuilder/src/PointerTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/PolygonTool.cpp b/Core/Tools/WorldBuilder/src/PolygonTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/PolygonTool.cpp
rename to Core/Tools/WorldBuilder/src/PolygonTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RampOptions.cpp b/Core/Tools/WorldBuilder/src/RampOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RampOptions.cpp
rename to Core/Tools/WorldBuilder/src/RampOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RampTool.cpp b/Core/Tools/WorldBuilder/src/RampTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RampTool.cpp
rename to Core/Tools/WorldBuilder/src/RampTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RoadOptions.cpp b/Core/Tools/WorldBuilder/src/RoadOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RoadOptions.cpp
rename to Core/Tools/WorldBuilder/src/RoadOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RoadTool.cpp b/Core/Tools/WorldBuilder/src/RoadTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RoadTool.cpp
rename to Core/Tools/WorldBuilder/src/RoadTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RulerOptions.cpp b/Core/Tools/WorldBuilder/src/RulerOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RulerOptions.cpp
rename to Core/Tools/WorldBuilder/src/RulerOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/RulerTool.cpp b/Core/Tools/WorldBuilder/src/RulerTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/RulerTool.cpp
rename to Core/Tools/WorldBuilder/src/RulerTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/SaveMap.cpp b/Core/Tools/WorldBuilder/src/SaveMap.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/SaveMap.cpp
rename to Core/Tools/WorldBuilder/src/SaveMap.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScorchOptions.cpp b/Core/Tools/WorldBuilder/src/ScorchOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScorchOptions.cpp
rename to Core/Tools/WorldBuilder/src/ScorchOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScorchTool.cpp b/Core/Tools/WorldBuilder/src/ScorchTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScorchTool.cpp
rename to Core/Tools/WorldBuilder/src/ScorchTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptActionsFalse.cpp b/Core/Tools/WorldBuilder/src/ScriptActionsFalse.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScriptActionsFalse.cpp
rename to Core/Tools/WorldBuilder/src/ScriptActionsFalse.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptActionsTrue.cpp b/Core/Tools/WorldBuilder/src/ScriptActionsTrue.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScriptActionsTrue.cpp
rename to Core/Tools/WorldBuilder/src/ScriptActionsTrue.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptConditions.cpp b/Core/Tools/WorldBuilder/src/ScriptConditions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScriptConditions.cpp
rename to Core/Tools/WorldBuilder/src/ScriptConditions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp b/Core/Tools/WorldBuilder/src/ScriptDialog.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScriptDialog.cpp
rename to Core/Tools/WorldBuilder/src/ScriptDialog.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ScriptProperties.cpp b/Core/Tools/WorldBuilder/src/ScriptProperties.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ScriptProperties.cpp
rename to Core/Tools/WorldBuilder/src/ScriptProperties.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/SelectMacrotexture.cpp b/Core/Tools/WorldBuilder/src/SelectMacrotexture.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/SelectMacrotexture.cpp
rename to Core/Tools/WorldBuilder/src/SelectMacrotexture.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/ShadowOptions.cpp b/Core/Tools/WorldBuilder/src/ShadowOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/ShadowOptions.cpp
rename to Core/Tools/WorldBuilder/src/ShadowOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/SplashScreen.cpp b/Core/Tools/WorldBuilder/src/SplashScreen.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/SplashScreen.cpp
rename to Core/Tools/WorldBuilder/src/SplashScreen.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/StdAfx.cpp b/Core/Tools/WorldBuilder/src/StdAfx.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/StdAfx.cpp
rename to Core/Tools/WorldBuilder/src/StdAfx.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TeamBehavior.cpp b/Core/Tools/WorldBuilder/src/TeamBehavior.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TeamBehavior.cpp
rename to Core/Tools/WorldBuilder/src/TeamBehavior.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TeamGeneric.cpp b/Core/Tools/WorldBuilder/src/TeamGeneric.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TeamGeneric.cpp
rename to Core/Tools/WorldBuilder/src/TeamGeneric.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TeamIdentity.cpp b/Core/Tools/WorldBuilder/src/TeamIdentity.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TeamIdentity.cpp
rename to Core/Tools/WorldBuilder/src/TeamIdentity.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TeamObjectProperties.cpp b/Core/Tools/WorldBuilder/src/TeamObjectProperties.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TeamObjectProperties.cpp
rename to Core/Tools/WorldBuilder/src/TeamObjectProperties.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TeamReinforcement.cpp b/Core/Tools/WorldBuilder/src/TeamReinforcement.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TeamReinforcement.cpp
rename to Core/Tools/WorldBuilder/src/TeamReinforcement.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TerrainMaterial.cpp b/Core/Tools/WorldBuilder/src/TerrainMaterial.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TerrainMaterial.cpp
rename to Core/Tools/WorldBuilder/src/TerrainMaterial.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TerrainModal.cpp b/Core/Tools/WorldBuilder/src/TerrainModal.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TerrainModal.cpp
rename to Core/Tools/WorldBuilder/src/TerrainModal.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TerrainSwatches.cpp b/Core/Tools/WorldBuilder/src/TerrainSwatches.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TerrainSwatches.cpp
rename to Core/Tools/WorldBuilder/src/TerrainSwatches.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/TileTool.cpp b/Core/Tools/WorldBuilder/src/TileTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/TileTool.cpp
rename to Core/Tools/WorldBuilder/src/TileTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/Tool.cpp b/Core/Tools/WorldBuilder/src/Tool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/Tool.cpp
rename to Core/Tools/WorldBuilder/src/Tool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WBFrameWnd.cpp b/Core/Tools/WorldBuilder/src/WBFrameWnd.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WBFrameWnd.cpp
rename to Core/Tools/WorldBuilder/src/WBFrameWnd.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WBHeightMap.cpp b/Core/Tools/WorldBuilder/src/WBHeightMap.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WBHeightMap.cpp
rename to Core/Tools/WorldBuilder/src/WBHeightMap.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WBPopupSlider.cpp b/Core/Tools/WorldBuilder/src/WBPopupSlider.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WBPopupSlider.cpp
rename to Core/Tools/WorldBuilder/src/WBPopupSlider.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WHeightMapEdit.cpp b/Core/Tools/WorldBuilder/src/WHeightMapEdit.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WHeightMapEdit.cpp
rename to Core/Tools/WorldBuilder/src/WHeightMapEdit.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WaterOptions.cpp b/Core/Tools/WorldBuilder/src/WaterOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WaterOptions.cpp
rename to Core/Tools/WorldBuilder/src/WaterOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WaterTool.cpp b/Core/Tools/WorldBuilder/src/WaterTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WaterTool.cpp
rename to Core/Tools/WorldBuilder/src/WaterTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WaypointOptions.cpp b/Core/Tools/WorldBuilder/src/WaypointOptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WaypointOptions.cpp
rename to Core/Tools/WorldBuilder/src/WaypointOptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WaypointTool.cpp b/Core/Tools/WorldBuilder/src/WaypointTool.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WaypointTool.cpp
rename to Core/Tools/WorldBuilder/src/WaypointTool.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp b/Core/Tools/WorldBuilder/src/WorldBuilder.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WorldBuilder.cpp
rename to Core/Tools/WorldBuilder/src/WorldBuilder.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp b/Core/Tools/WorldBuilder/src/WorldBuilderDoc.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WorldBuilderDoc.cpp
rename to Core/Tools/WorldBuilder/src/WorldBuilderDoc.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/WorldBuilderView.cpp b/Core/Tools/WorldBuilder/src/WorldBuilderView.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/WorldBuilderView.cpp
rename to Core/Tools/WorldBuilder/src/WorldBuilderView.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/addplayerdialog.cpp b/Core/Tools/WorldBuilder/src/addplayerdialog.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/addplayerdialog.cpp
rename to Core/Tools/WorldBuilder/src/addplayerdialog.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/brushoptions.cpp b/Core/Tools/WorldBuilder/src/brushoptions.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/brushoptions.cpp
rename to Core/Tools/WorldBuilder/src/brushoptions.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/mapobjectprops.cpp b/Core/Tools/WorldBuilder/src/mapobjectprops.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/mapobjectprops.cpp
rename to Core/Tools/WorldBuilder/src/mapobjectprops.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/playerlistdlg.cpp b/Core/Tools/WorldBuilder/src/playerlistdlg.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/playerlistdlg.cpp
rename to Core/Tools/WorldBuilder/src/playerlistdlg.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/propedit.cpp b/Core/Tools/WorldBuilder/src/propedit.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/propedit.cpp
rename to Core/Tools/WorldBuilder/src/propedit.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/teamsdialog.cpp b/Core/Tools/WorldBuilder/src/teamsdialog.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/teamsdialog.cpp
rename to Core/Tools/WorldBuilder/src/teamsdialog.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/wbview.cpp b/Core/Tools/WorldBuilder/src/wbview.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/wbview.cpp
rename to Core/Tools/WorldBuilder/src/wbview.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/src/wbview3d.cpp b/Core/Tools/WorldBuilder/src/wbview3d.cpp
similarity index 100%
rename from Generals/Code/Tools/WorldBuilder/src/wbview3d.cpp
rename to Core/Tools/WorldBuilder/src/wbview3d.cpp
diff --git a/Generals/Code/Tools/WorldBuilder/CMakeLists.txt b/Generals/Code/Tools/WorldBuilder/CMakeLists.txt
index 24fbc8605a0..8b814756751 100644
--- a/Generals/Code/Tools/WorldBuilder/CMakeLists.txt
+++ b/Generals/Code/Tools/WorldBuilder/CMakeLists.txt
@@ -1,240 +1,15 @@
-set(WORLDBUILDER_SRC
- "src/addplayerdialog.cpp"
- "src/AutoEdgeOutTool.cpp"
- "src/BaseBuildProps.cpp"
- "src/BlendEdgeTool.cpp"
- "src/BlendMaterial.cpp"
- "src/BorderTool.cpp"
- "src/brushoptions.cpp"
- "src/BrushTool.cpp"
- "src/BuildList.cpp"
- "src/BuildListTool.cpp"
- "src/CameraOptions.cpp"
- "src/CButtonShowColor.cpp"
- "src/CellWidth.cpp"
- "src/CFixTeamOwnerDialog.cpp"
- "src/ContourOptions.cpp"
- "src/CUndoable.cpp"
- "src/DrawObject.cpp"
- "src/EditAction.cpp"
- "src/EditCondition.cpp"
- "src/EditCoordParameter.cpp"
- "src/EditGroup.cpp"
- "src/EditObjectParameter.cpp"
- "src/EditParameter.cpp"
- "src/ExportScriptsOptions.cpp"
- "src/EyedropperTool.cpp"
- "src/FeatherOptions.cpp"
- "src/FeatherTool.cpp"
- "src/FenceOptions.cpp"
- "src/FenceTool.cpp"
- "src/FloodFillTool.cpp"
- "src/GlobalLightOptions.cpp"
- "src/GroveOptions.cpp"
- "src/GroveTool.cpp"
- "src/HandScrollTool.cpp"
- "src/ImpassableOptions.cpp"
- "src/LayersList.cpp"
- "src/LightOptions.cpp"
- "src/MainFrm.cpp"
- "src/mapobjectprops.cpp"
- "src/MapPreview.cpp"
- "src/MapSettings.cpp"
- "src/MeshMoldOptions.cpp"
- "src/MeshMoldTool.cpp"
- "src/MoundOptions.cpp"
- "src/MoundTool.cpp"
- "src/MyToolbar.cpp"
- "src/NewHeightMap.cpp"
- "src/ObjectOptions.cpp"
- "src/ObjectPreview.cpp"
- "src/ObjectTool.cpp"
- "src/OpenMap.cpp"
- "src/OptionsPanel.cpp"
- "src/PickUnitDialog.cpp"
- "src/playerlistdlg.cpp"
- "src/PointerTool.cpp"
- "src/PolygonTool.cpp"
- "src/propedit.cpp"
- "src/RampOptions.cpp"
- "src/RampTool.cpp"
- "src/RoadOptions.cpp"
- "src/RoadTool.cpp"
- "src/RulerOptions.cpp"
- "src/RulerTool.cpp"
- "src/SaveMap.cpp"
- "src/ScorchOptions.cpp"
- "src/ScorchTool.cpp"
- "src/ScriptActionsFalse.cpp"
- "src/ScriptActionsTrue.cpp"
- "src/ScriptConditions.cpp"
- "src/ScriptDialog.cpp"
- "src/ScriptProperties.cpp"
- "src/SelectMacrotexture.cpp"
- "src/ShadowOptions.cpp"
- "src/SplashScreen.cpp"
- "src/StdAfx.cpp"
- "src/TeamBehavior.cpp"
- "src/TeamGeneric.cpp"
- "src/TeamIdentity.cpp"
- "src/TeamObjectProperties.cpp"
- "src/TeamReinforcement.cpp"
- "src/teamsdialog.cpp"
- "src/TerrainMaterial.cpp"
- "src/TerrainModal.cpp"
- "src/TerrainSwatches.cpp"
- "src/TileTool.cpp"
- "src/Tool.cpp"
- "src/WaterOptions.cpp"
- "src/WaterTool.cpp"
- "src/WaypointOptions.cpp"
- "src/WaypointTool.cpp"
- "src/WBFrameWnd.cpp"
- "src/WBHeightMap.cpp"
- "src/WBPopupSlider.cpp"
- "src/wbview.cpp"
- "src/wbview3d.cpp"
- "src/WHeightMapEdit.cpp"
- "src/WorldBuilder.cpp"
- "src/WorldBuilderDoc.cpp"
- "src/WorldBuilderView.cpp"
- "include/addplayerdialog.h"
- "include/AutoEdgeOutTool.h"
- "include/BaseBuildProps.h"
- "include/BlendEdgeTool.h"
- "include/BlendMaterial.h"
- "include/BorderTool.h"
- "include/brushoptions.h"
- "include/BrushTool.h"
- "include/BuildList.h"
- "include/BuildListTool.h"
- "include/CameraOptions.h"
- "include/CButtonShowColor.h"
- "include/CellWidth.h"
- "include/CFixTeamOwnerDialog.h"
- "include/ContourOptions.h"
- "include/CUndoable.h"
- "include/DrawObject.h"
- "include/EditAction.h"
- "include/EditCondition.h"
- "include/EditCoordParameter.h"
- "include/EditGroup.h"
- "include/EditObjectParameter.h"
- "include/EditParameter.h"
- "include/ExportScriptsOptions.h"
- "include/EyedropperTool.h"
- "include/FeatherOptions.h"
- "include/FeatherTool.h"
- "include/FenceOptions.h"
- "include/FenceTool.h"
- "include/FloodFillTool.h"
- "include/GlobalLightOptions.h"
- "include/GroveOptions.h"
- "include/GroveTool.h"
- "include/HandScrollTool.h"
- "include/ImpassableOptions.h"
- "include/LayersList.h"
- "include/LightOptions.h"
- "include/MainFrm.h"
- "include/mapobjectprops.h"
- "include/MapPreview.h"
- "include/MapSettings.h"
- "include/MeshMoldOptions.h"
- "include/MeshMoldTool.h"
- "include/MoundOptions.h"
- "include/MoundTool.h"
- "include/MyToolbar.h"
- "include/NewHeightMap.h"
- "include/ObjectOptions.h"
- "include/ObjectPreview.h"
- "include/ObjectTool.h"
- "include/OpenMap.h"
- "include/OptionsPanel.h"
- "include/PickUnitDialog.h"
- "include/playerlistdlg.h"
- "include/PointerTool.h"
- "include/PolygonTool.h"
- "include/propedit.h"
- "include/RampOptions.h"
- "include/RampTool.h"
- "include/RoadOptions.h"
- "include/RoadTool.h"
- "include/RulerOptions.h"
- "include/RulerTool.h"
- "include/SaveMap.h"
- "include/ScorchOptions.h"
- "include/ScorchTool.h"
- "include/ScriptActionsFalse.h"
- "include/ScriptActionsTrue.h"
- "include/ScriptConditions.h"
- "include/ScriptDialog.h"
- "include/ScriptProperties.h"
- "include/SelectMacrotexture.h"
- "include/ShadowOptions.h"
- "include/SplashScreen.h"
- "include/StdAfx.h"
- "include/TeamBehavior.h"
- "include/TeamGeneric.h"
- "include/TeamIdentity.h"
- "include/TeamObjectProperties.h"
- "include/TeamReinforcement.h"
- "include/teamsdialog.h"
- "include/TerrainMaterial.h"
- "include/TerrainModal.h"
- "include/TerrainSwatches.h"
- "include/TileTool.h"
- "include/Tool.h"
- "include/WaterOptions.h"
- "include/WaterTool.h"
- "include/WaypointOptions.h"
- "include/WaypointTool.h"
- "include/WBFrameWnd.h"
- "include/WBHeightMap.h"
- "include/WBPopupSlider.h"
- "include/wbview.h"
- "include/wbview3d.h"
- "include/WHeightMapEdit.h"
- "include/WorldBuilder.h"
- "include/WorldBuilderDoc.h"
- "include/WorldBuilderView.h"
-)
-
add_executable(g_worldbuilder WIN32)
-target_include_directories(g_worldbuilder PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
- include
- res
-)
-
-target_compile_definitions(g_worldbuilder PRIVATE _AFXDLL)
-
-target_precompile_headers(g_worldbuilder PRIVATE
- [["Utility/CppMacros.h"]] # Must be first, to be removed when abandoning VC6
- [["WWLib/always.h"]]
- [["Common/STLTypedefs.h"]]
- [["StdAfx.h"]]
- [["WWLib/WWCommon.h"]]
-)
-
target_link_libraries(g_worldbuilder PRIVATE
- d3d8lib
- core_browserdispatch
+ corei_worldbuilder
g_gameengine
g_gameenginedevice
gi_always
- imm32
- vfw32
- winmm
)
if(WIN32 OR "${CMAKE_SYSTEM}" MATCHES "Windows")
- target_link_options(g_worldbuilder PRIVATE /NODEFAULTLIB:libci.lib /NODEFAULTLIB:libc.lib)
-
- target_sources(g_worldbuilder PRIVATE res/WorldBuilder.rc)
+ target_compile_definitions(g_worldbuilder PRIVATE _AFXDLL)
set_target_properties(g_worldbuilder PROPERTIES OUTPUT_NAME "WorldBuilderV${RTS_BUILD_OUTPUT_SUFFIX}")
else()
set_target_properties(g_worldbuilder PROPERTIES OUTPUT_NAME "worldbuilderv${RTS_BUILD_OUTPUT_SUFFIX}")
endif()
-
-target_sources(g_worldbuilder PRIVATE ${WORLDBUILDER_SRC})
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/CMakeLists.txt b/GeneralsMD/Code/Tools/WorldBuilder/CMakeLists.txt
index 414a3ce89ad..df96569dc6d 100644
--- a/GeneralsMD/Code/Tools/WorldBuilder/CMakeLists.txt
+++ b/GeneralsMD/Code/Tools/WorldBuilder/CMakeLists.txt
@@ -1,239 +1,16 @@
-set(WORLDBUILDER_SRC
- "src/addplayerdialog.cpp"
- "src/AutoEdgeOutTool.cpp"
- "src/BaseBuildProps.cpp"
- "src/BlendEdgeTool.cpp"
- "src/BlendMaterial.cpp"
- "src/BorderTool.cpp"
- "src/brushoptions.cpp"
- "src/BrushTool.cpp"
- "src/BuildList.cpp"
- "src/BuildListTool.cpp"
- "src/CameraOptions.cpp"
- "src/CButtonShowColor.cpp"
- "src/CellWidth.cpp"
- "src/CFixTeamOwnerDialog.cpp"
- "src/ContourOptions.cpp"
- "src/CUndoable.cpp"
- "src/DrawObject.cpp"
- "src/EditAction.cpp"
- "src/EditCondition.cpp"
- "src/EditCoordParameter.cpp"
- "src/EditGroup.cpp"
- "src/EditObjectParameter.cpp"
- "src/EditParameter.cpp"
- "src/ExportScriptsOptions.cpp"
- "src/EyedropperTool.cpp"
- "src/FeatherOptions.cpp"
- "src/FeatherTool.cpp"
- "src/FenceOptions.cpp"
- "src/FenceTool.cpp"
- "src/FloodFillTool.cpp"
- "src/GlobalLightOptions.cpp"
- "src/GroveOptions.cpp"
- "src/GroveTool.cpp"
- "src/HandScrollTool.cpp"
- "src/ImpassableOptions.cpp"
- "src/LayersList.cpp"
- "src/LightOptions.cpp"
- "src/MainFrm.cpp"
- "src/mapobjectprops.cpp"
- "src/MapPreview.cpp"
- "src/MapSettings.cpp"
- "src/MeshMoldOptions.cpp"
- "src/MeshMoldTool.cpp"
- "src/MoundOptions.cpp"
- "src/MoundTool.cpp"
- "src/MyToolbar.cpp"
- "src/NewHeightMap.cpp"
- "src/ObjectOptions.cpp"
- "src/ObjectPreview.cpp"
- "src/ObjectTool.cpp"
- "src/OpenMap.cpp"
- "src/OptionsPanel.cpp"
- "src/PickUnitDialog.cpp"
- "src/playerlistdlg.cpp"
- "src/PointerTool.cpp"
- "src/PolygonTool.cpp"
- "src/propedit.cpp"
- "src/RampOptions.cpp"
- "src/RampTool.cpp"
- "src/RoadOptions.cpp"
- "src/RoadTool.cpp"
- "src/RulerOptions.cpp"
- "src/RulerTool.cpp"
- "src/SaveMap.cpp"
- "src/ScorchOptions.cpp"
- "src/ScorchTool.cpp"
- "src/ScriptActionsFalse.cpp"
- "src/ScriptActionsTrue.cpp"
- "src/ScriptConditions.cpp"
- "src/ScriptDialog.cpp"
- "src/ScriptProperties.cpp"
- "src/SelectMacrotexture.cpp"
- "src/ShadowOptions.cpp"
- "src/SplashScreen.cpp"
- "src/StdAfx.cpp"
- "src/TeamBehavior.cpp"
- "src/TeamGeneric.cpp"
- "src/TeamIdentity.cpp"
- "src/TeamObjectProperties.cpp"
- "src/TeamReinforcement.cpp"
- "src/teamsdialog.cpp"
- "src/TerrainMaterial.cpp"
- "src/TerrainModal.cpp"
- "src/TerrainSwatches.cpp"
- "src/TileTool.cpp"
- "src/Tool.cpp"
- "src/WaterOptions.cpp"
- "src/WaterTool.cpp"
- "src/WaypointOptions.cpp"
- "src/WaypointTool.cpp"
- "src/WBFrameWnd.cpp"
- "src/WBHeightMap.cpp"
- "src/WBPopupSlider.cpp"
- "src/wbview.cpp"
- "src/wbview3d.cpp"
- "src/WHeightMapEdit.cpp"
- "src/WorldBuilder.cpp"
- "src/WorldBuilderDoc.cpp"
- "src/WorldBuilderView.cpp"
- "include/addplayerdialog.h"
- "include/AutoEdgeOutTool.h"
- "include/BaseBuildProps.h"
- "include/BlendEdgeTool.h"
- "include/BlendMaterial.h"
- "include/BorderTool.h"
- "include/brushoptions.h"
- "include/BrushTool.h"
- "include/BuildList.h"
- "include/BuildListTool.h"
- "include/CameraOptions.h"
- "include/CButtonShowColor.h"
- "include/CellWidth.h"
- "include/CFixTeamOwnerDialog.h"
- "include/ContourOptions.h"
- "include/CUndoable.h"
- "include/DrawObject.h"
- "include/EditAction.h"
- "include/EditCondition.h"
- "include/EditCoordParameter.h"
- "include/EditGroup.h"
- "include/EditObjectParameter.h"
- "include/EditParameter.h"
- "include/ExportScriptsOptions.h"
- "include/EyedropperTool.h"
- "include/FeatherOptions.h"
- "include/FeatherTool.h"
- "include/FenceOptions.h"
- "include/FenceTool.h"
- "include/FloodFillTool.h"
- "include/GlobalLightOptions.h"
- "include/GroveOptions.h"
- "include/GroveTool.h"
- "include/HandScrollTool.h"
- "include/ImpassableOptions.h"
- "include/LayersList.h"
- "include/LightOptions.h"
- "include/MainFrm.h"
- "include/mapobjectprops.h"
- "include/MapPreview.h"
- "include/MapSettings.h"
- "include/MeshMoldOptions.h"
- "include/MeshMoldTool.h"
- "include/MoundOptions.h"
- "include/MoundTool.h"
- "include/MyToolbar.h"
- "include/NewHeightMap.h"
- "include/ObjectOptions.h"
- "include/ObjectPreview.h"
- "include/ObjectTool.h"
- "include/OpenMap.h"
- "include/OptionsPanel.h"
- "include/PickUnitDialog.h"
- "include/playerlistdlg.h"
- "include/PointerTool.h"
- "include/PolygonTool.h"
- "include/propedit.h"
- "include/RampOptions.h"
- "include/RampTool.h"
- "include/RoadOptions.h"
- "include/RoadTool.h"
- "include/RulerOptions.h"
- "include/RulerTool.h"
- "include/SaveMap.h"
- "include/ScorchOptions.h"
- "include/ScorchTool.h"
- "include/ScriptActionsFalse.h"
- "include/ScriptActionsTrue.h"
- "include/ScriptConditions.h"
- "include/ScriptDialog.h"
- "include/ScriptProperties.h"
- "include/SelectMacrotexture.h"
- "include/ShadowOptions.h"
- "include/SplashScreen.h"
- "include/StdAfx.h"
- "include/TeamBehavior.h"
- "include/TeamGeneric.h"
- "include/TeamIdentity.h"
- "include/TeamObjectProperties.h"
- "include/TeamReinforcement.h"
- "include/teamsdialog.h"
- "include/TerrainMaterial.h"
- "include/TerrainModal.h"
- "include/TerrainSwatches.h"
- "include/TileTool.h"
- "include/Tool.h"
- "include/WaterOptions.h"
- "include/WaterTool.h"
- "include/WaypointOptions.h"
- "include/WaypointTool.h"
- "include/WBFrameWnd.h"
- "include/WBHeightMap.h"
- "include/WBPopupSlider.h"
- "include/wbview.h"
- "include/wbview3d.h"
- "include/WHeightMapEdit.h"
- "include/WorldBuilder.h"
- "include/WorldBuilderDoc.h"
- "include/WorldBuilderView.h"
-)
-
add_executable(z_worldbuilder WIN32)
-target_sources(z_worldbuilder PRIVATE ${WORLDBUILDER_SRC})
-
-target_include_directories(z_worldbuilder PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
- include
- res
-)
-
-target_precompile_headers(z_worldbuilder PRIVATE
- [["Utility/CppMacros.h"]] # Must be first, to be removed when abandoning VC6
- [["WWLib/always.h"]]
- [["Common/STLTypedefs.h"]]
- [["StdAfx.h"]]
- [["WWLib/WWCommon.h"]]
-)
-
target_link_libraries(z_worldbuilder PRIVATE
core_debug
core_profile_legacy
- d3d8lib
- imm32
- vfw32
- winmm
- core_browserdispatch
+ corei_worldbuilder
z_gameengine
z_gameenginedevice
zi_always
)
if(WIN32 OR "${CMAKE_SYSTEM}" MATCHES "Windows")
- target_link_options(z_worldbuilder PRIVATE /NODEFAULTLIB:libci.lib /NODEFAULTLIB:libc.lib)
target_compile_definitions(z_worldbuilder PRIVATE _AFXDLL)
- target_sources(z_worldbuilder PRIVATE res/WorldBuilder.rc)
set_target_properties(z_worldbuilder PROPERTIES OUTPUT_NAME "WorldBuilderZH${RTS_BUILD_OUTPUT_SUFFIX}")
else()
set_target_properties(z_worldbuilder PROPERTIES OUTPUT_NAME "worldbuilderzh${RTS_BUILD_OUTPUT_SUFFIX}")
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/AutoEdgeOutTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/AutoEdgeOutTool.h
deleted file mode 100644
index c255f07878a..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/AutoEdgeOutTool.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// AutoEdgeOutTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/*************************************************************************/
-/** AutoEdgeOutTool
- Does the BlendEdgesOut tool operation.
-***************************************************************************/
-/// Blend edges out tool.
-class AutoEdgeOutTool : public Tool
-{
-public:
- AutoEdgeOutTool();
- virtual ~AutoEdgeOutTool() override;
-
-public:
- /// Perform tool on mouse down.
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void activate() override; ///< Become the current tool.
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BaseBuildProps.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BaseBuildProps.h
deleted file mode 100644
index 0837afac79d..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BaseBuildProps.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// BaseBuildProps.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// BaseBuildProps dialog
-
-class BaseBuildProps : public CDialog
-{
-// Construction
-public:
- BaseBuildProps(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(BaseBuildProps)
- enum { IDD = IDD_BASE_BUILDING_PROPS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(BaseBuildProps)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(BaseBuildProps)
- virtual BOOL OnInitDialog() override;
- virtual void OnOK() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-private:
- AsciiString m_name;
- AsciiString m_script;
- Int m_health;
- Bool m_unsellable;
-
-public:
- void setProps(AsciiString name, AsciiString script, Int health, Bool unsellable);
- AsciiString getName() {return m_name;}
- AsciiString getScript() {return m_script;}
- Int getHealth() {return m_health;}
- Bool getUnsellable() {return m_unsellable;}
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BlendEdgeTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BlendEdgeTool.h
deleted file mode 100644
index b6fc5d087cf..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BlendEdgeTool.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// BlendEdgeTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/*************************************************************************/
-/** BlendEdgeTool
- Does the BlendEdgesOut tool operation.
-***************************************************************************/
-/// Blend edges out tool.
-class BlendEdgeTool : public Tool
-{
-protected:
- Coord3D m_downPt;
-
-public:
- BlendEdgeTool();
- virtual ~BlendEdgeTool() override;
-
-public:
- /// Perform tool on mouse down.
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
-
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BlendMaterial.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BlendMaterial.h
deleted file mode 100644
index 963cd6d3c45..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BlendMaterial.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// BlendMaterial.h : header file
-//
-
-#include "WBPopupSlider.h"
-#include "TerrainSwatches.h"
-#include "OptionsPanel.h"
-class WorldHeightMapEdit;
-/////////////////////////////////////////////////////////////////////////////
-// BlendMaterial dialog
-
-class BlendMaterial : public COptionsPanel
-{
-// Construction
-public:
- BlendMaterial(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(BlendMaterial)
- enum { IDD = IDD_BLEND_MATERIAL };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(BlendMaterial)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual void OnOK() override {return;}; ///< Modeless dialogs don't OK, so eat this for modeless.
- virtual void OnCancel() override {return;}; ///< Modeless dialogs don't close on ESC, so eat this for modeless.
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) override;
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
- enum {MIN_TILE_SIZE=2, MAX_TILE_SIZE = 100};
- // Generated message map functions
- //{{AFX_MSG(BlendMaterial)
- virtual BOOL OnInitDialog() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-
-protected:
- static BlendMaterial *m_staticThis;
- Bool m_updating;
- static Int m_currentBlendTexture;
- CTreeCtrl m_terrainTreeView;
-
-protected:
- void updateTextures();
- void addTerrain(const char *pPath, Int terrainNdx, HTREEITEM parent);
- HTREEITEM findOrAdd(HTREEITEM parent, const char *pLabel);
-
-public:
- static Int getBlendTexClass() {return m_currentBlendTexture;}
-
- static void setBlendTexClass(Int texClass);
-
-public:
- Bool setTerrainTreeViewSelection(HTREEITEM parent, Int selection);
-
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BorderTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BorderTool.h
deleted file mode 100644
index 9a1e5c43631..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BorderTool.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-#include "Tool.h"
-
-class BorderTool : public Tool
-{
- protected:
- enum ModificationType { MOD_TYPE_INVALID, MOD_TYPE_UP, MOD_TYPE_FREE, MOD_TYPE_RIGHT };
- Bool m_mouseDown;
- Bool m_addingNewBorder;
- Int m_modifyBorderNdx;
- ModificationType m_modificationType;
-
-
- public:
- BorderTool();
- virtual ~BorderTool() override;
-
- Int getToolID() {return m_toolID;}
- virtual void setCursor() override;
-
- virtual void activate() override;
- virtual void deactivate() override;
-
- virtual Bool followsTerrain() override { return false; }
-
- virtual void mouseMoved(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h
deleted file mode 100644
index 1f028ca1fd3..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BrushTool.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// BrushTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/*************************************************************************/
-/** BrushTool
- Does the Height Brush tool operation.
-***************************************************************************/
-/// Height brush tool.
-class BrushTool : public Tool
-{
-protected:
- WorldHeightMapEdit *m_htMapEditCopy; ///< ref counted.
- WorldHeightMapEdit *m_htMapFeatherCopy; ///< ref counted.
-
- static Int m_brushWidth;
- static Int m_brushFeather;
- static Bool m_brushSquare;
- static Int m_brushHeight;
-
-public:
- BrushTool();
- virtual ~BrushTool() override;
-
-public:
- static Int getWidth() {return m_brushWidth;}; ///.
-*/
-
-#pragma once
-
-// BuildList.h : header file
-//
-
-#include "TerrainSwatches.h"
-#include "OptionsPanel.h"
-#include "WBPopupSlider.h"
-#include "Common/AsciiString.h"
-class WorldHeightMapEdit;
-class BuildListInfo;
-/////////////////////////////////////////////////////////////////////////////
-// BuildList dialog
-
-class BuildList : public COptionsPanel, public PopupSliderOwner
-{
-// Construction
-public:
- BuildList(CWnd* pParent = nullptr); ///< standard constructor
-
- virtual ~BuildList() override; ///< standard destructor
- enum { NAME_MAX_LEN = 64 };
-// Dialog Data
- //{{AFX_DATA(BuildList)
- enum { IDD = IDD_BUILD_LIST_PANEL };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(BuildList)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual void OnOK() override {return;}; ///< Modeless dialogs don't OK, so eat this for modeless.
- virtual void OnCancel() override {return;}; ///< Modeless dialogs don't close on ESC, so eat this for modeless.
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(BuildList)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnSelchangeSidesCombo();
- afx_msg void OnMoveUp();
- afx_msg void OnMoveDown();
- afx_msg void OnAddBuilding();
- afx_msg void OnSelchangeBuildList();
- afx_msg void OnAlreadyBuild();
- afx_msg void OnDeleteBuilding();
- afx_msg void OnSelendokRebuilds();
- afx_msg void OnEditchangeRebuilds();
- afx_msg void OnDblclkBuildList();
- afx_msg void OnChangeZOffset();
- afx_msg void OnChangeAngle();
- afx_msg void OnExport();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-
-protected:
- Int m_curSide;
- Int m_curBuildList;
- WBPopupSliderButton m_heightSlider;
- WBPopupSliderButton m_angleSlider;
- Real m_angle;
- Real m_height;
-
- static BuildList *m_staticThis;
- static Bool m_updating;
-
-protected:
- void loadSides();
- void updateCurSide();
-
-public:
- static void addBuilding(Coord3D loc, Real angle, AsciiString name);
- static void update() {if (m_staticThis) m_staticThis->loadSides();};
- static void setSelectedBuildList(BuildListInfo *pInfo);
-
- virtual void GetPopSliderInfo(const long sliderID, long *pMin, long *pMax, long *pLineSize, long *pInitial) override;
- virtual void PopSliderChanged(const long sliderID, long theVal) override;
- virtual void PopSliderFinished(const long sliderID, long theVal) override;
-
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/BuildListTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/BuildListTool.h
deleted file mode 100644
index 774cd5e7db4..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/BuildListTool.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// BuildListTool.h
-// Build list tool for worldbuilder.
-// Author: John Ahlquist, Nov 2001
-
-#pragma once
-
-#include "Tool.h"
-#include "Common/AsciiString.h"
-#include "PickUnitDialog.h"
-class WorldHeightMapEdit;
-class BuildListInfo;
-
-/*************************************************************************/
-/** BuildListTool
- Does the add item to build list tool operation.
-***************************************************************************/
-class BuildListTool : public Tool
-{
-protected:
- CPoint m_downPt2d;
- Coord3D m_downPt3d;
- Coord3D m_prevPt3d;
- BuildListInfo *m_curObject;
-
- Bool m_moving; ///< True if we are drag moving an object.
- Bool m_rotating; ///< True if we are rotating an object.
-
- Bool m_mouseUpRotate;///< True if we are over the "rotate" hotspot.
- HCURSOR m_rotateCursor;
- Bool m_mouseUpMove;///< True if we are over the "move" hotspot.
- HCURSOR m_moveCursor;
- HCURSOR m_pointerCursor;
- PickUnitDialog m_pickBuildingDlg;
- Bool m_created;
-
- static PickUnitDialog *m_static_pickBuildingDlg;
- static Bool m_isActive;
-
-public:
- BuildListTool();
- virtual ~BuildListTool() override;
-
-private:
- void createWindow();
- Bool isDoingAdd();
-
-public:
- static void addBuilding();
- static Bool isActive() {return m_isActive;};
-
-public:
- /// Perform tool on mouse down.
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseMoved(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void setCursor() override;
- virtual void activate() override; ///< Become the current tool.
- virtual void deactivate() override; ///< Become not the current tool.
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/CButtonShowColor.h b/GeneralsMD/Code/Tools/WorldBuilder/include/CButtonShowColor.h
deleted file mode 100644
index 689f82f18c1..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/CButtonShowColor.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-class CButtonShowColor : public CButton
-{
- protected:
- RGBColor m_color;
-
- public:
- const RGBColor& getColor() const { return m_color; }
- void setColor(Int color) { m_color.setFromInt(color); }
- void setColor(const RGBColor& color) { m_color = color; }
- virtual ~CButtonShowColor() override;
-
-
- static COLORREF RGBtoBGR(Int color);
- static Int BGRtoRGB(COLORREF color);
-
-
- protected:
- afx_msg void OnPaint();
-
- DECLARE_MESSAGE_MAP();
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h b/GeneralsMD/Code/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h
deleted file mode 100644
index b05d5383cbf..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/CFixTeamOwnerDialog.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-
-
-#include "Common/AsciiString.h"
-class TeamsInfo;
-class SidesList;
-
-#pragma once
-
-class CFixTeamOwnerDialog : public CDialog
-{
- public:
- enum { IDD = IDD_CHANGE_TEAM_OWNER };
- CFixTeamOwnerDialog( TeamsInfo *ti, SidesList *sideList, UINT nIDTemplate = CFixTeamOwnerDialog::IDD, CWnd* pParentWnd = nullptr );
- AsciiString getSelectedOwner();
- Bool pickedValidTeam() { return m_pickedValidTeam; }
-
- protected:
- virtual BOOL OnInitDialog() override;
- virtual afx_msg void OnOK() override;
- DECLARE_MESSAGE_MAP()
-
- protected:
- Bool m_pickedValidTeam;
- AsciiString m_selectedOwner;
- TeamsInfo *m_ti;
- SidesList *m_sl;
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/CUndoable.h b/GeneralsMD/Code/Tools/WorldBuilder/include/CUndoable.h
deleted file mode 100644
index 9aae72df161..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/CUndoable.h
+++ /dev/null
@@ -1,410 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// CUndoable.h
-// Class to handle undo/redo.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Lib/BaseType.h"
-#include "../../GameEngine/Include/Common/MapObject.h"
-#include "../../GameEngine/Include/Common/GameCommon.h"
-#include "../../GameEngine/Include/GameLogic/SidesList.h"
-#include
-
-class PolygonTrigger;
-class BuildListInfo;
-/*************************************************************************
-** Undoable
-***************************************************************************/
-/// Base command class for all undoable commands. Just the virtual shell.
-class Undoable : public RefCountClass
-{
-protected:
- Undoable *mNext;
-
-public:
- Undoable();
-
- virtual ~Undoable() override;
-
-public:
- virtual void Do()=0; ///< pure virtual.
- virtual void Undo()=0;///< pure virtual.
- virtual void Redo();
-
- void LinkNext(Undoable *pNext);
- Undoable *GetNext() {return mNext;};
-
-};
-
-class CWorldBuilderDoc;
-class WorldHeightMapEdit;
-class MapObject;
-/*************************************************************************
-** CWBDocUndoable
-***************************************************************************/
-/// Command that saves & restores entire height map.
-/** An undoable that actually undoes something. Saves and restores the
-entire height map. */
-class WBDocUndoable : public Undoable
-{
-protected:
- CWorldBuilderDoc *mPDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
- WorldHeightMapEdit *mPNewHeightMapData; ///< ref counted.
- WorldHeightMapEdit *mPOldHeightMapData; ///< ref counted.
- Bool m_offsetObjects; ///< If true, apply m_objOffset.
- Coord3D m_objOffset; ///< Offset to adjust all objects.
-
-
-public:
- WBDocUndoable(CWorldBuilderDoc *pDoc, WorldHeightMapEdit *pNewHtMap, Coord3D *pObjOffset = nullptr);
-
- // destructor.
- virtual ~WBDocUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
- virtual void Redo() override;
-
-};
-
-/// AddObjectUndoable
-/** An undoable that actually undoes something. Adds an object
-to the height map. If it is a linked list, adds all objects. */
-class AddObjectUndoable : public Undoable
-{
-protected:
- CWorldBuilderDoc *m_pDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
- MapObject *m_objectToAdd;
- Int m_numObjects;
- Bool m_addedToList;
-
-public:
- AddObjectUndoable(CWorldBuilderDoc *pDoc, MapObject *pObjectToAdd);
-
- // destructor.
- virtual ~AddObjectUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-
-/// ModifyObjectUndoable
-/** An undoable that actually undoes something. Modifies an object's
-location and angle. */
-// Helper class
-class MoveInfo
-{
-public:
- MoveInfo(MapObject *pObjToMove);
- ~MoveInfo();
- void DoMove(CWorldBuilderDoc *pDoc);
- void UndoMove(CWorldBuilderDoc *pDoc);
-
- void SetOffset(CWorldBuilderDoc *pDoc, Real x, Real y);
- void SetZOffset(CWorldBuilderDoc *pDoc, Real z);
- void RotateTo(CWorldBuilderDoc *pDoc, Real angle);
- void SetThingTemplate(CWorldBuilderDoc *pDoc, const ThingTemplate* thing);
- void SetName(CWorldBuilderDoc *pDoc, AsciiString name);
-
-public:
- MapObject *m_objectToModify;
- MoveInfo *m_next;
- Real m_newAngle;
- Real m_oldAngle;
- Coord3D m_newLocation;
- Coord3D m_oldLocation;
- const ThingTemplate* m_oldThing;
- const ThingTemplate* m_newThing;
- AsciiString m_oldName;
- AsciiString m_newName;
-};
-
-class ModifyObjectUndoable : public Undoable
-{
-protected:
- CWorldBuilderDoc* m_pDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
- MoveInfo* m_moveList;
- Bool m_inval;
-
-public:
- ModifyObjectUndoable(CWorldBuilderDoc *pDoc);
- // destructor.
- virtual ~ModifyObjectUndoable() override;
-
- virtual void Do() override;
- virtual void Undo() override;
- virtual void Redo() override;
-
- void SetOffset(Real x, Real y);
- void SetZOffset(Real z);
- void RotateTo(Real angle);
- void SetThingTemplate(const ThingTemplate* thing);
- void SetName(AsciiString name);
-};
-
-/// ModifyFlagsUndoable
-/** An undoable that actually undoes something. Modifies an object's
-flags. */
-// Helper class
-class FlagsInfo
-{
-public:
- FlagsInfo(MapObject *pObjToMove, Int flagMask, Int flagValue );
- ~FlagsInfo();
- void DoFlags(CWorldBuilderDoc *pDoc);
- void UndoFlags(CWorldBuilderDoc *pDoc);
-
-public:
- MapObject *m_objectToModify;
- FlagsInfo *m_next;
- Int m_flagMask;
- Int m_newValue;
- Int m_oldValue;
-};
-
-class ModifyFlagsUndoable : public Undoable
-{
-protected:
- CWorldBuilderDoc *m_pDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
- FlagsInfo *m_flagsList;
-
-public:
- ModifyFlagsUndoable(CWorldBuilderDoc *pDoc, Int flagMask, Int flagValue);
- // destructor.
- virtual ~ModifyFlagsUndoable() override;
-
- virtual void Do() override;
- virtual void Undo() override;
- virtual void Redo() override;
-
-};
-
-class SidesListUndoable : public Undoable
-{
-protected:
- SidesList m_old, m_new;
- CWorldBuilderDoc *m_pDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
-
-public:
-
- SidesListUndoable(const SidesList& newSL, CWorldBuilderDoc *pDoc);
- virtual ~SidesListUndoable() override;
-
- virtual void Do() override;
- virtual void Undo() override;
-
-};
-
-class DictItemUndoable : public Undoable
-{
-protected:
- Int m_numDictsToModify;
- std::vector m_dictToModify;
- std::vector m_oldDictData;
- Dict m_newDictData;
- CWorldBuilderDoc *m_pDoc;
- Bool m_inval;
- NameKeyType m_key;
-
-public:
-
- static Dict buildSingleItemDict(AsciiString k, Dict::DataType t, AsciiString v);
-
- // if you want to just add/modify/remove a single dict item, pass the item's key.
- // if you want to substitute the entire contents of the new dict, pass NAMEKEY_INVALID.
- DictItemUndoable(Dict **d, Dict data, NameKeyType key, Int dictsToModify = 1, CWorldBuilderDoc *pDoc = nullptr, Bool inval = false);
- // destructor.
- virtual ~DictItemUndoable() override;
-
- virtual void Do() override;
- virtual void Undo() override;
-
-};
-
-
-/// DeleteObjectUndoable
-/** An undoable that actually undoes something. Deletes an object. */
-// Helper class
-class DeleteInfo
-{
-public:
- DeleteInfo(MapObject *pObjToDelete);
- ~DeleteInfo();
- void DoDelete(WorldHeightMapEdit *pMap);
- void UndoDelete(WorldHeightMapEdit *pMap);
-
-public:
- Bool m_didDelete;
- MapObject *m_objectToDelete;
- MapObject *m_priorObject;
- DeleteInfo *m_next;
-};
-
-
-class DeleteObjectUndoable : public Undoable
-{
-protected:
- CWorldBuilderDoc *m_pDoc; ///< Not ref counted. This undoable should be in a list attached to the doc anyway.
- DeleteInfo *m_deleteList;
-public:
- DeleteObjectUndoable(CWorldBuilderDoc *pDoc);
-
- // destructor.
- virtual ~DeleteObjectUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// AddPolygonUndoable
-/** An undoable that actually undoes something. Adds a polygon. */
-class AddPolygonUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- Bool m_isTriggerInList;
-public:
- AddPolygonUndoable( PolygonTrigger *pTrig);
- // destructor.
- virtual ~AddPolygonUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// AddPolygonPointUndoable
-/** An undoable that actually undoes something. Adds a polygon. */
-class AddPolygonPointUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- ICoord3D m_point;
-public:
- AddPolygonPointUndoable(PolygonTrigger *pTrig, ICoord3D pt);
- // destructor.
- virtual ~AddPolygonPointUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// ModifyPolygonPointUndoable
-/** An undoable that actually undoes something. Modifys a polygon. */
-class ModifyPolygonPointUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- Int m_pointIndex;
- ICoord3D m_point;
- ICoord3D m_savPoint;
-public:
- ModifyPolygonPointUndoable(PolygonTrigger *pTrig, Int ndx);
- // destructor.
- virtual ~ModifyPolygonPointUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// MovePolygonUndoable
-/** An undoable that actually undoes something. Moves a polygon. */
-class MovePolygonUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- ICoord3D m_point;
- ICoord3D m_offset;
-public:
- MovePolygonUndoable(PolygonTrigger *pTrig);
- // destructor.
- virtual ~MovePolygonUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-
- void SetOffset(const ICoord3D &offset);
- PolygonTrigger *getTrigger() {return m_trigger;}
-};
-
-/// InsertPolygonPointUndoable
-/** An undoable that actually undoes something. Inserts a polygon point. */
-class InsertPolygonPointUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- Int m_pointIndex;
- ICoord3D m_point;
-public:
- InsertPolygonPointUndoable(PolygonTrigger *pTrig, ICoord3D pt, Int ndx);
- // destructor.
- virtual ~InsertPolygonPointUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// DeletePolygonPointUndoable
-/** An undoable that actually undoes something. Deletes a polygon point. */
-class DeletePolygonPointUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- Int m_pointIndex;
- ICoord3D m_point;
-public:
- DeletePolygonPointUndoable(PolygonTrigger *pTrig, Int ndx);
- // destructor.
- virtual ~DeletePolygonPointUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// DeletePolygonUndoable
-/** An undoable that actually undoes something. Deletes a polygon. */
-class DeletePolygonUndoable : public Undoable
-{
-protected:
- PolygonTrigger *m_trigger;
- Bool m_isTriggerInList;
-public:
- DeletePolygonUndoable(PolygonTrigger *pTrig);
- // destructor.
- virtual ~DeletePolygonUndoable() override;
- virtual void Do() override;
- virtual void Undo() override;
-};
-
-/// MultipleUndoable
-/**
- * An undoable that doesn't do anything; it just consolidates a number of other
- * Undoables in a single logical undo step.
- */
-class MultipleUndoable : public Undoable
-{
-protected:
- Undoable * m_undoableList; //< The head of the list of undoables, in the order they should be done. Reverse order for undoes
-public:
- MultipleUndoable();
- // destructor.
- virtual ~MultipleUndoable() override;
-
- /** Add other undoables in the order you would want them UNdone; e.g. in the reverse order you want them done
- * The MultipleUndoable object will then own the pointers.
- */
- void addUndoable( Undoable * undoable );
-
- virtual void Do() override;
- virtual void Undo() override;
- virtual void Redo() override;
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/CameraOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/CameraOptions.h
deleted file mode 100644
index db805549d6b..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/CameraOptions.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// CameraOptions.h : header file
-//
-
-#define CAMERA_OPTIONS_PANEL_SECTION "CameraOptionsWindow"
-#include "WBPopupSlider.h"
-
-/////////////////////////////////////////////////////////////////////////////
-// CameraOptions dialog
-
-class CameraOptions : public CDialog, public PopupSliderOwner
-{
-// Construction
-public:
- CameraOptions(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(CameraOptions)
- enum { IDD = IDD_CAMERA_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CameraOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(CameraOptions)
- afx_msg void OnCameraReset();
- afx_msg void OnDropWaypointButton();
- afx_msg void OnCenterOnSelectedButton();
- afx_msg void OnMove(int x, int y);
- virtual BOOL OnInitDialog() override;
- afx_msg void OnChangePitchEdit();
- afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-protected:
- void putInt( Int ctrlID, Int val );
- void putReal( Int ctrlID, Real val );
- void putAsciiString( Int ctrlID, AsciiString val );
- BOOL getReal( Int ctrlID, Real *rVal );
- void stuffValuesIntoFields();
- void applyCameraPitch( Real pitch );
-
- WBPopupSliderButton m_pitchPopup;
- Bool m_updating;
-
-public: // popup slider interface.
-
- virtual void GetPopSliderInfo(const long sliderID, long *pMin, long *pMax, long *pLineSize, long *pInitial) override;
- virtual void PopSliderChanged(const long sliderID, long theVal) override;
- virtual void PopSliderFinished(const long sliderID, long theVal) override;
-
-public:
- void update();
-
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/CellWidth.h b/GeneralsMD/Code/Tools/WorldBuilder/include/CellWidth.h
deleted file mode 100644
index ee16757e00b..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/CellWidth.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// CellWidth.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-/// CellWidth modal dialog to set the cell width.
-
-class CellWidth : public CDialog
-{
-// Construction
-public:
- CellWidth(int cellWidth, CWnd* pParent = nullptr); // standard constructor
-
- int GetCellWidth() {return mCellWidth;};
-// Dialog Data
- //{{AFX_DATA(CellWidth)
- enum { IDD = IDD_CellWidth };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(CellWidth)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual void OnOK() override;
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
- int mCellWidth;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(CellWidth)
- virtual BOOL OnInitDialog() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/ContourOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/ContourOptions.h
deleted file mode 100644
index 90f74267260..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/ContourOptions.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// ContourOptions.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-/// ContourOptions modeless (floating) dialog - allows entry and display of brush width and feather.
-
-class ContourOptions : public CDialog
-{
-// Construction
-public:
- enum {MIN_CONTOUR_STEP=1,
- MAX_CONTOUR_STEP=10,
- MIN_CONTOUR_OFFSET=-10,
- MAX_CONTOUR_OFFSET=+10,
- MIN_WIDTH=1,
- MAX_WIDTH=6};
-
- ContourOptions(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(ContourOptions)
- enum { IDD = IDD_CONTOUR_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(ContourOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(ContourOptions)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
- afx_msg void OnShowContours();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-protected:
- static Int m_contourStep; ///< current contour step in the ui.
- static Int m_contourOffset; ///< current contour offset in the ui.
- static Int m_contourWidth; ///< current contour offset in the ui.
-
- Bool m_updating; ///.
-*/
-
-#pragma once
-
-#include "WWLib/always.h"
-#include "WW3D2/rendobj.h"
-#include "WW3D2/w3d_file.h"
-#include "WW3D2/dx8vertexbuffer.h"
-#include "WW3D2/dx8indexbuffer.h"
-#include "WW3D2/shader.h"
-#include "WW3D2/vertmaterial.h"
-#include "Lib/BaseType.h"
-#include "Common/AsciiString.h"
-
-// The draw objects draw a circle of diameter 1.0 cells.
-#define THE_RADIUS (0.8f*MAP_XY_FACTOR)
-
-class MeshClass;
-class PolygonTrigger;
-class WaterRenderObjClass;
-class MapObject;
-class Render2DClass;
-//
-// DrawObject: Draws 3d feedback for tools & objects.
-//
-//
-class DrawObject : public RenderObjClass
-{
-
-public:
-
- DrawObject();
- DrawObject(const DrawObject & src);
- DrawObject & operator = (const DrawObject &);
- virtual ~DrawObject() override;
-
- /////////////////////////////////////////////////////////////////////////////
- // Render Object Interface
- /////////////////////////////////////////////////////////////////////////////
- virtual RenderObjClass * Clone() const override;
- virtual int Class_ID() const override;
- virtual void Render(RenderInfoClass & rinfo) override;
-// virtual void Special_Render(SpecialRenderInfoClass & rinfo);
-// virtual void Set_Transform(const Matrix3D &m);
-// virtual void Set_Position(const Vector3 &v);
-//TODO: MW: do these later - only needed for collision detection
- virtual Bool Cast_Ray(RayCollisionTestClass & raytest) override;
-// virtual Bool Cast_AABox(AABoxCollisionTestClass & boxtest);
-// virtual Bool Cast_OBBox(OBBoxCollisionTestClass & boxtest);
-// virtual Bool Intersect_AABox(AABoxIntersectionTestClass & boxtest);
-// virtual Bool Intersect_OBBox(OBBoxIntersectionTestClass & boxtest);
-
- virtual void Get_Obj_Space_Bounding_Sphere(SphereClass & sphere) const override;
- virtual void Get_Obj_Space_Bounding_Box(AABoxClass & aabox) const override;
-
-
-// virtual int Get_Num_Polys() const;
-// virtual const char * Get_Name() const;
-// virtual void Set_Name(const char * name);
-
-// unsigned int Get_Flags() { return Flags; }
-// void Set_Flags(unsigned int flags) { Flags = flags; }
-// void Set_Flag(unsigned int flag, Bool onoff) { Flags &= (~flag); if (onoff) Flags |= flag; }
-
- Int freeMapResources();
- int initData();
-
- void setDrawObjects(Bool val, Bool waypoints, Bool poly, Bool bounding, Bool sight, Bool weapon, Bool sound, Bool testart, Bool letterbox) { m_drawObjects = val; m_drawWaypoints=waypoints; m_drawPolygonAreas = poly; m_drawBoundingBoxes = bounding; m_drawSightRanges = sight; m_drawWeaponRanges = weapon; m_drawSoundRanges = sound; m_drawTestArtHighlight = testart, m_drawLetterbox = letterbox;}
- static void setDoBrushFeedback(Bool val) { m_toolWantsFeedback = val; m_meshFeedback=false;}
- static void setDoMeshFeedback(Bool val) { m_meshFeedback = val; }
- static void setDoRampFeedback(Bool val) { m_rampFeedback = val; }
- static void setDoBoundaryFeedback(Bool val) { m_boundaryFeedback = val; }
-
- static void setDoAmbientSoundFeedback(Bool val) { m_ambientSoundFeedback = val; }
-
- static void setBrushFeedbackParms(Bool square, Int width, Int featherWidth)
- { m_squareFeedback = square; m_brushWidth=width;
- m_meshFeedback = false; m_brushFeatherWidth = featherWidth;}
- static void disableFeedback() {m_disableFeedback = true;};
- static void enableFeedback() {m_disableFeedback = false;};
- static Bool isFeedbackEnabled() { return !m_disableFeedback;};
- static void setFeedbackPos(Coord3D pos);
-
- static void setWaypointDragFeedback(const Coord3D &start, const Coord3D &end);
- static void setRampFeedbackParms(const Coord3D *start, const Coord3D *end, Real rampWidth);
- static void stopWaypointDragFeedback();
-
-
-
-
- MeshClass *peekMesh() {return m_moldMesh;};
- void getMeshBounds(SphereClass *pSphere) {*pSphere = m_moldMeshBounds;};
-
-protected:
- enum {MAX_RADIUS = 50, NUM_FEEDBACK_VERTEX = 201*201, NUM_FEEDBACK_INDEX = 101*101*6};
- Int m_numTriangles; //dimensions of list
-
- DX8IndexBufferClass *m_indexBuffer; ///< indices defining a object icon
- ShaderClass m_shaderClass; ///< shader or rendering state for heightmap
- VertexMaterialClass *m_vertexMaterialClass;
- DX8VertexBufferClass *m_vertexBufferTile1; ///< First vertex buffer.
- DX8VertexBufferClass *m_vertexBufferTile2; ///< Second vertex buffer.
-
- DX8VertexBufferClass *m_vertexBufferWater; ///< Vertex buffer for the water plane.
- DX8IndexBufferClass *m_indexWater; ///< indices defining a triangle strip for the water on terrain
- Int m_waterVertexCount;
-
- WaterRenderObjClass *m_waterDrawObject;
-
- Bool m_drawObjects;
- Bool m_drawWaypoints;
- Bool m_drawPolygonAreas;
- Bool m_drawBoundingBoxes;
- Bool m_drawSightRanges;
- Bool m_drawWeaponRanges;
- Bool m_drawSoundRanges;
- Bool m_drawTestArtHighlight;
- Bool m_drawLetterbox;
-
- DX8VertexBufferClass *m_vertexFeedback; ///< Vertex buffer for brush feedback.
- DX8IndexBufferClass *m_indexFeedback; ///< indices defining a triangle strip for the feedback on terrain
- Int m_feedbackIndexCount;
- Int m_feedbackVertexCount;
-
- AsciiString m_curMeshModelName; ///< Model name of m_moldMesh.
-
- MeshClass *m_moldMesh; ///< W3D mesh model for the mold.
- SphereClass m_moldMeshBounds; ///< Bounding sphere for mold mesh.
- Render2DClass *m_lineRenderer; //< Used to render 2D lines for bounding boxes.
- CPoint m_winSize; //< Holds the size of the window.
-
-protected: // static state vars.
- static Bool m_squareFeedback; ///< True for square brush feedback, false for round.
- static Int m_brushWidth; ///< Width of brush feedback.
- static Int m_brushFeatherWidth; ///< Width of brush feathered feedback.
- static Bool m_toolWantsFeedback; ///< True to display brush feedback.
- static Bool m_disableFeedback; ///< True to disable feedback.
- static Coord3D m_feedbackPoint; ///< Current brush feedback location.
- static CPoint m_cellCenter; ///< Cell to show feedback from.
- static Bool m_meshFeedback;
- static Bool m_rampFeedback; ///< should we be showing feedback for the ramp tool?
- static Bool m_boundaryFeedback;
- static Bool m_ambientSoundFeedback;
-
- static Bool m_dragWaypointFeedback; ///< True for the waypoint tool dragging.
- static Coord3D m_dragWayStart;///< Start drag waypoint feedback.
- static Coord3D m_dragWayEnd; ///< End drag waypoint.
-
- static Coord3D m_rampStartPoint; ///< Beginning ramp point
- static Coord3D m_rampEndPoint; ///< End ramp point
- static Real m_rampWidth;
-
-protected:
- void addCircleToLineRenderer( const Coord3D & center, Real radius, Real width, unsigned long color, CameraClass* camera );
- Int updateVB(DX8VertexBufferClass *vertexBufferTile, Int color, Bool doArrow, Bool doDiamond);
- void updatePolygonVB(PolygonTrigger *pTrig, Bool selected, Bool isOpen);
- void updateFeedbackVB();
- void updateMeshVB();
- void updateRampVB();
- void updateWaypointVB();
- void updateForWater();
- void updateBoundaryVB();
- void updateAmbientSoundVB();
- void updateVBWithBoundingBox(MapObject *pMapObj, CameraClass* camera);
- void updateVBWithSightRange(MapObject *pMapObj, CameraClass* camera);
- void updateVBWithWeaponRange(MapObject *pMapObj, CameraClass* camera);
- void updateVBWithTestArtHighlight(MapObject *pMapObj, CameraClass* camera);
- void updateVBWithSoundRanges(MapObject *pMapObj, CameraClass* camera);
- bool worldToScreen(const Coord3D *w, ICoord2D *s, CameraClass* camera);
-
-};
-
-void BuildRectFromSegmentAndWidth(const Coord3D* b, const Coord3D* t, Real width,
- Coord3D* outBL, Coord3D* outTL, Coord3D* outBR, Coord3D* outTR);
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditAction.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditAction.h
deleted file mode 100644
index 2e64f151d05..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditAction.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditAction.h : header file
-//
-
-
-class ScriptAction;
-class SidesList;
-
-/////////////////////////////////////////////////////////////////////////////
-// EditAction dialog
-
-class EditAction : public CDialog
-{
-// Construction
-public:
- EditAction(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditAction)
- enum { IDD = IDD_ScriptAction };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditAction)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) override;
- //}}AFX_VIRTUAL
-
-// Implementation
-public:
- void setAction(ScriptAction *pAction) {m_action = pAction;}
-
-protected:
- void formatScriptActionText(Int parmNdx);
-protected:
- ScriptAction *m_action;
- Bool m_updating;
- Bool m_modifiedTextColor;
- CRichEditCtrl m_myEditCtrl;
- CHARRANGE m_curLinkChrg;
- Int m_curEditParameter;
- CTreeCtrl m_actionTreeView;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(EditAction)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnSelchangeScriptActionType();
- afx_msg void OnTimer(UINT nIDEvent);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditCondition.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditCondition.h
deleted file mode 100644
index 90da61f7733..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditCondition.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditCondition.h : header file
-//
-
-
-class Condition;
-class SidesList;
-
-class CMyTreeCtrl : public CTreeCtrl
-{
-public:
- virtual LRESULT WindowProc( UINT message, WPARAM wParam, LPARAM lParam ) override;
-};
-
-/////////////////////////////////////////////////////////////////////////////
-// EditCondition dialog
-
-class EditCondition : public CDialog
-{
-// Construction
-public:
- EditCondition(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditCondition)
- enum { IDD = IDD_ScriptCondition };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditCondition)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) override;
- //}}AFX_VIRTUAL
-
-// Implementation
-public:
- void setCondition(Condition *pCond) {m_condition = pCond;}
-
-protected:
- void formatConditionText(Int parmNdx);
-protected:
- Condition *m_condition;
- Bool m_updating;
- Bool m_modifiedTextColor;
- CRichEditCtrl m_myEditCtrl;
- CHARRANGE m_curLinkChrg;
- Int m_curEditParameter;
- CTreeCtrl m_conditionTreeView;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(EditCondition)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnSelchangeConditionType();
- afx_msg void OnTimer(UINT nIDEvent);
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditCoordParameter.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditCoordParameter.h
deleted file mode 100644
index 9959dd1a379..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditCoordParameter.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditCoordParameter.h : header file
-//
-#include "GameLogic/Scripts.h"
-class SidesList;
-/////////////////////////////////////////////////////////////////////////////
-// EditCoordParameter dialog
-
-class EditCoordParameter : public CDialog
-{
-friend class EditParameter;
-// Construction
-public:
- EditCoordParameter(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditCoordParameter)
- enum { IDD = IDD_EDIT_COORD_PARAMETER };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditCoordParameter)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-
-
-protected:
-
-protected:
- Parameter *m_parameter;
- Coord3D m_coord;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(EditCoordParameter)
- virtual BOOL OnInitDialog() override;
- virtual void OnOK() override;
- virtual void OnCancel() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditGroup.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditGroup.h
deleted file mode 100644
index c4cdeb5bd62..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditGroup.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditGroup.h : header file
-//
-
-class ScriptGroup;
-/////////////////////////////////////////////////////////////////////////////
-// EditGroup dialog
-
-class EditGroup : public CDialog
-{
-// Construction
-public:
- EditGroup(ScriptGroup *pGroup, CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditGroup)
- enum { IDD = IDD_EDIT_GROUP };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditGroup)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
- protected:
- ScriptGroup *m_scriptGroup;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(EditGroup)
- virtual void OnOK() override;
- virtual BOOL OnInitDialog() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditObjectParameter.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditObjectParameter.h
deleted file mode 100644
index da951f252e4..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditObjectParameter.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditObjectParameter.h : header file
-//
-#include "GameLogic/Scripts.h"
-class SidesList;
-/////////////////////////////////////////////////////////////////////////////
-// EditObjectParameter dialog
-
-class EditObjectParameter : public CDialog
-{
-friend class EditParameter;
-// Construction
-public:
- EditObjectParameter(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditObjectParameter)
- enum { IDD = IDD_EDIT_OBJECT_PARAMETER };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditObjectParameter)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) override;
- //}}AFX_VIRTUAL
-
-// Implementation
-
-
-protected:
- HTREEITEM findOrAdd(HTREEITEM parent, const char *pLabel);
- void addObject( const ThingTemplate *thingTemplate );
- void addObjectLists( );
-
-protected:
- Parameter *m_parameter;
- CTreeCtrl m_objectTreeView;
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(EditObjectParameter)
- virtual BOOL OnInitDialog() override;
- virtual void OnOK() override;
- virtual void OnCancel() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EditParameter.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EditParameter.h
deleted file mode 100644
index 3220d9a1862..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EditParameter.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// EditParameter.h : header file
-//
-#include "GameLogic/Scripts.h"
-#include "Common/SubsystemInterface.h"
-
-class SidesList;
-/////////////////////////////////////////////////////////////////////////////
-// EditParameter dialog
-
-class EditParameter : public CDialog
-{
-// Construction
-public:
- EditParameter(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(EditParameter)
- enum { IDD = IDD_EDIT_PARAMETER };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(EditParameter)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-
-public:
- static Int edit( Parameter *pParm, Int keyPressed, AsciiString unitName = AsciiString::TheEmptyString );
- static AsciiString getWarningText(Parameter *pParm, Bool isAction);
- static AsciiString getInfoText(Parameter *pParm);
- static void setCurSidesList(SidesList *sidesListP) {m_sidesListP = sidesListP;};
- static Bool loadScripts(CComboBox *pCombo, Bool subr, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadWaypoints(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadTransports(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadObjectTypeList(CComboBox *pCombo, std::vector *strings = nullptr, AsciiString match = AsciiString::TheEmptyString);
-
-protected:
- static Bool loadSides(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadTriggerAreas(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadCommandButtons(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadFontNames(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static void readFontFile( const char *filename );
- static Bool loadTeams(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadTeamOrUnit(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadUnits(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadBridges(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadObjectType(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadAudioType(Parameter::ParameterType comboType, CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadMovies(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool getMovieComment(AsciiString match, AsciiString& outCommentFromINI);
- static Bool loadSpecialPowers(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadSciences(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadScienceAvailabilities(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadUpgrades(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadAbilities( CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString );
- static Bool loadAllAbilities( CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString );
- static Bool loadWaypointPaths(CComboBox *pCombo, AsciiString match= AsciiString::TheEmptyString);
- static Bool loadObjectFlags(CComboBox *pCombo, AsciiString match= AsciiString::TheEmptyString);
-
- static Bool loadAttackPrioritySets(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static AsciiString loadLocalizedText(CComboBox *pCombo, AsciiString isStringInTable = AsciiString::TheEmptyString);
- static Bool loadAttackSetParameter(Script *pScr, CComboBox *pCombo, AsciiString match);
- static Bool loadCreateUnitParameter(Script *pScr, CComboBox *pCombo, AsciiString match);
- static Bool loadCreateObjectListsParameter(Script *pScr, CComboBox *pCombo, std::vector *strings, AsciiString match);
- static Bool loadRevealNames(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static Bool loadRevealNamesParameter(Script *pScr, CComboBox *pCombo, AsciiString match);
-
- static Bool loadEmoticons( CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString );
- static AsciiString getCreatedUnitTemplateName(AsciiString unitName);
-
- static Bool loadCounters(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
- static void loadConditionParameter(Script *pScr, Parameter::ParameterType type, CComboBox *pCombo);
- static Bool loadActionParameter(Script *pScr, Parameter::ParameterType type, CComboBox *pCombo, AsciiString match);
- static Bool loadFlags(CComboBox *pCombo, AsciiString match = AsciiString::TheEmptyString);
-
-
-protected:
- Parameter *m_parameter;
- static AsciiString m_unitName; //This is the name of the unit that this script command is dedicated to (if applicable).
- AsciiString m_string;
- Int m_int;
- Real m_real;
-
- Int m_key; // key pressed to invoke the edit parameter dialog.
-
- static SidesList *m_sidesListP;
- static AsciiString m_selectedLocalizedString;
-
-protected:
- Bool scanReal(CEdit *pEdit, Real scale);
-
-protected:
- // Generated message map functions
- //{{AFX_MSG(EditParameter)
- afx_msg void OnChangeEdit();
- afx_msg void OnEditchangeCombo();
- virtual BOOL OnInitDialog() override;
- virtual void OnOK() override;
- virtual void OnCancel() override;
- afx_msg void OnPreviewSound();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/ExportScriptsOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/ExportScriptsOptions.h
deleted file mode 100644
index 06377f25507..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/ExportScriptsOptions.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// ExportScriptsOptions.h : header file
-//
-
-/////////////////////////////////////////////////////////////////////////////
-// ExportScriptsOptions dialog
-
-class ExportScriptsOptions : public CDialog
-{
-// Construction
-public:
- ExportScriptsOptions(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(ExportScriptsOptions)
- enum { IDD = IDD_EXPORT_SCRIPTS_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(ExportScriptsOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
- static Bool m_units;
- static Bool m_waypoints;
- static Bool m_triggers;
- static Bool m_allScripts;
- static Bool m_sides;
-
-public:
- Bool getDoUnits() {return m_units;}
- Bool getDoWaypoints() {return m_waypoints;}
- Bool getDoTriggers() {return m_triggers;}
- Bool getDoAllScripts() {return m_allScripts;}
- Bool getDoSides() {return m_sides;}
-
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(ExportScriptsOptions)
- virtual void OnOK() override;
- virtual BOOL OnInitDialog() override;
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/EyedropperTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/EyedropperTool.h
deleted file mode 100644
index 8138b416ede..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/EyedropperTool.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// EyedropperTool.h
-// Texture selection tool for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/*************************************************************************/
-/** EyedropperTool
- Does the select tile from drawing window tool operation.
-***************************************************************************/
-/// Select tile tool.
-class EyedropperTool : public Tool
-{
-public:
- EyedropperTool();
- virtual ~EyedropperTool() override;
-
-public:
- /// Perform tool on mouse down.
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void activate() override; ///< Become the current tool.
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/FeatherOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/FeatherOptions.h
deleted file mode 100644
index f50ccc3a3fe..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/FeatherOptions.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// brushoptions.h : header file
-//
-
-#include "WBPopupSlider.h"
-#include "OptionsPanel.h"
-/////////////////////////////////////////////////////////////////////////////
-/// FeatherOptions modeless (floating) dialog - allows entry and display of brush width and feather.
-
-class FeatherOptions : public COptionsPanel , public PopupSliderOwner
-{
-// Construction
-public:
- enum {MIN_FEATHER_SIZE=2,
- MAX_FEATHER_SIZE=51,
- MIN_RATE=1,
- MAX_RATE=10,
- MIN_RADIUS=1,
- MAX_RADIUS=5};
-
- FeatherOptions(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(FeatherOptions)
- enum { IDD = IDD_FEATHER_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(FeatherOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual void OnOK() override {return;}; //!< Modeless dialogs don't OK, so eat this for modeless.
- virtual void OnCancel() override {return;}; //!< Modeless dialogs don't close on ESC, so eat this for modeless.
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(FeatherOptions)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnChangeSizeEdit();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-protected:
- static FeatherOptions *m_staticThis; ///< Reference to the floating panel so SetWidth and SetFeather can be static.
- static Int m_currentFeather; ///< current brush width in the ui.
- static Int m_currentRadius; ///< current smoothing radius value.
- static Int m_currentRate; ///< current smoothing rate.
-
- Bool m_updating; ///.
-*/
-
-// FeatherTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/**************************************************************************/
-/** FeatherTool
- Does the smooth height map tool operation.
-***************************************************************************/
-/// smooth height map tool.
-class FeatherTool : public Tool
-{
-protected:
- WorldHeightMapEdit *m_htMapEditCopy; //< ref counted.
- WorldHeightMapEdit *m_htMapFeatherCopy; //< ref counted.
- WorldHeightMapEdit *m_htMapRateCopy; //< ref counted.
-
- static Int m_feather;
- static Int m_rate;
- static Int m_radius;
-public:
- FeatherTool();
- virtual ~FeatherTool() override;
-
- static void setFeather(Int feather);
- static void setRate(Int rate);
- static void setRadius(Int Radius);
-public:
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseMoved(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual WorldHeightMapEdit *getHeightMap() override {return m_htMapEditCopy;};
- virtual void activate() override; ///< Become the current tool.
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/FenceOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/FenceOptions.h
deleted file mode 100644
index baa7c259422..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/FenceOptions.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// FenceOptions.h : header file
-//
-
-#include "TerrainSwatches.h"
-#include "OptionsPanel.h"
-#include "Common/AsciiString.h"
-class WorldHeightMapEdit;
-class MapObject;
-/////////////////////////////////////////////////////////////////////////////
-// FenceOptions dialog
-
-class FenceOptions : public COptionsPanel
-{
-// Construction
-public:
- FenceOptions(CWnd* pParent = nullptr); ///< standard constructor
-
- virtual ~FenceOptions() override; ///< standard destructor
- enum { NAME_MAX_LEN = 64 };
-// Dialog Data
- //{{AFX_DATA(FenceOptions)
- enum { IDD = IDD_FENCE_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(FenceOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- virtual void OnOK() override {return;}; ///< Modeless dialogs don't OK, so eat this for modeless.
- virtual void OnCancel() override {return;}; ///< Modeless dialogs don't close on ESC, so eat this for modeless.
- virtual BOOL OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) override;
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(FenceOptions)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnChangeFenceSpacingEdit();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-
-protected:
- static FenceOptions *m_staticThis;
- static Bool m_updating;
- static Int m_currentObjectIndex;
- static Real m_fenceSpacing;
- static Real m_fenceOffset;
-
- CTreeCtrl m_objectTreeView;
- MapObject *m_objectsList;
- Bool m_customSpacing;
-
-protected:
- void addObject( MapObject *mapObject, const char *pPath, const char *name,
- Int objectNdx, HTREEITEM parent );
- HTREEITEM findOrAdd(HTREEITEM parent, const char *pLabel);
- Bool setObjectTreeViewSelection(HTREEITEM parent, Int selection);
- void updateObjectOptions();
-
-public:
- static void update();
- static Bool hasSelectedObject();
- static Real getFenceSpacing() {return m_fenceSpacing;}
- static Real getFenceOffset() {return m_fenceOffset;}
-};
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/FenceTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/FenceTool.h
deleted file mode 100644
index 1418c84b361..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/FenceTool.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// FenceTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-class MapObject;
-class Vector3;
-/*************************************************************************/
-/** FenceTool
- Does the fence tool operation.
-***************************************************************************/
-class FenceTool : public Tool
-{
-protected:
- CPoint m_downPt2d;
- Coord3D m_downPt3d;
- MapObject *m_mapObjectList;
- Real m_curObjectWidth;
- Real m_curObjectOffset;
- Int m_objectCount;
-
-public:
- FenceTool();
- virtual ~FenceTool() override;
-
-protected:
- void updateMapObjectList(Coord3D downPt, Coord3D curPt, WbView* pView, CWorldBuilderDoc *pDoc, Bool checkPlayers);
-
-public:
- virtual void mouseDown(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void mouseMoved(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void activate() override; ///< Become the current tool.
- virtual void deactivate() override; ///< Become not the current tool.
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/FloodFillTool.h b/GeneralsMD/Code/Tools/WorldBuilder/include/FloodFillTool.h
deleted file mode 100644
index fd49b3b83e0..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/FloodFillTool.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-// FloodFillTool.h
-// Texture tiling tools for worldbuilder.
-// Author: John Ahlquist, April 2001
-
-#pragma once
-
-#include "Tool.h"
-class WorldHeightMapEdit;
-/**************************************************************************
- FloodFillTool
-***************************************************************************/
-/// Fill area with texture tool.
-class FloodFillTool : public Tool
-{
-public:
- FloodFillTool();
- virtual ~FloodFillTool() override;
-
-protected:
- Int m_textureClassToDraw; ///< The texture to fill with. Foreground for mousedDown, background for mouseDownRt.
- HCURSOR m_cliffCursor;
- static Bool m_adjustCliffTextures;
-
-public:
- virtual void mouseUp(TTrackingMode m, CPoint viewPt, WbView* pView, CWorldBuilderDoc *pDoc) override;
- virtual void activate() override; ///< Become the current tool.
- virtual void setCursor() override;
-
- Bool getAdjustCliffs() {return m_adjustCliffTextures;}
- void setAdjustCliffs(Bool val) {m_adjustCliffTextures = val;}
-
-};
diff --git a/GeneralsMD/Code/Tools/WorldBuilder/include/GlobalLightOptions.h b/GeneralsMD/Code/Tools/WorldBuilder/include/GlobalLightOptions.h
deleted file mode 100644
index 9b4a8871f2a..00000000000
--- a/GeneralsMD/Code/Tools/WorldBuilder/include/GlobalLightOptions.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
-** Command & Conquer Generals Zero Hour(tm)
-** Copyright 2025 Electronic Arts Inc.
-**
-** This program is free software: you can redistribute it and/or modify
-** it under the terms of the GNU General Public License as published by
-** the Free Software Foundation, either version 3 of the License, or
-** (at your option) any later version.
-**
-** This program is distributed in the hope that it will be useful,
-** but WITHOUT ANY WARRANTY; without even the implied warranty of
-** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-** GNU General Public License for more details.
-**
-** You should have received a copy of the GNU General Public License
-** along with this program. If not, see .
-*/
-
-#pragma once
-
-// GLOBALLIGHTOPTIONS.h : header file
-//
-
-#include "WBPopupSlider.h"
-#include "resource.h"
-#include "CButtonShowColor.h"
-/////////////////////////////////////////////////////////////////////////////
-/// GlobalLightOptions modeless (floating) dialog - allows entry and display of brush width and feather.
-
-#define GLOBALLIGHT_OPTIONS_PANEL_SECTION "LightOptionsWindow"
-
-class GlobalLightOptions : public CDialog , public PopupSliderOwner
-{
-// Construction
-public:
- enum {K_TERRAIN=1, K_OBJECTS=2, K_BOTH=3};
- enum {K_SUN=0, K_ACCENT1=1, K_ACCENT2=2};
- int kUIRedIDs[3];// = {IDC_RD_EDIT, IDC_RD_EDIT1, IDC_RD_EDIT2};
- int kUIGreenIDs[3];// = {IDC_GD_EDIT, IDC_GD_EDIT1, IDC_GD_EDIT2};
- int kUIBlueIDs[3];// = {IDC_BD_EDIT, IDC_BD_EDIT1, IDC_BD_EDIT2};
- CButtonShowColor m_colorButton;
-
- GlobalLightOptions(CWnd* pParent = nullptr); // standard constructor
-
-// Dialog Data
- //{{AFX_DATA(GlobalLightOptions)
- enum { IDD = IDD_GLOBAL_LIGHT_OPTIONS };
- // NOTE: the ClassWizard will add data members here
- //}}AFX_DATA
-
-
-// Overrides
- // ClassWizard generated virtual function overrides
- //{{AFX_VIRTUAL(GlobalLightOptions)
- protected:
- virtual void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
- //}}AFX_VIRTUAL
-
-// Implementation
-protected:
-
- // Generated message map functions
- //{{AFX_MSG(GlobalLightOptions)
- virtual BOOL OnInitDialog() override;
- afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
- afx_msg void OnMove(int x, int y);
- afx_msg void OnChangeFrontBackEdit();
- afx_msg void OnChangeLeftRightEdit();
- afx_msg void OnChangeColorEdit();
- afx_msg void OnRadioEverything();
- afx_msg void OnRadioObjects();
- afx_msg void OnRadioTerrain();
- afx_msg void OnColorPress();
- afx_msg void OnResetLights();
- afx_msg void OnClose();
- virtual void OnOK() override {return;}; //!< Modeless dialogs don't OK, so eat this for modeless.
- virtual void OnCancel() override {return;}; //!< Modeless dialogs don't close on ESC, so eat this for modeless.
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP()
-
-private:
- Real ComponentToPercent(Int component)
- {
- Real percent;
- if (component >= 255) {
- return 1.0;
- }
- if (component <= 0) {
- return 0.0;
- }
- percent = (Real)component/255.0;
- return percent;
- }
- Int PercentToComponent(Real percent)
- {
- Int component;
- if (percent >= 1.0) {
- return 255;
- }
- if (percent <= 0.0) {
- return 0;
- }
- component = (percent * 255.0);
- return component;
- };
- BOOL GetInt(Int ctrlID, Int *rVal);
- void PutInt(Int ctrlID, Int val);
-
-protected:
-
- Bool m_updating; ///.
-*/
-
-#pragma once
-
-#include