diff --git a/Core/GameEngine/CMakeLists.txt b/Core/GameEngine/CMakeLists.txt
index 689e0004307..0c91e47cc5d 100644
--- a/Core/GameEngine/CMakeLists.txt
+++ b/Core/GameEngine/CMakeLists.txt
@@ -224,11 +224,11 @@ set(GAMEENGINE_SRC
# Include/GameClient/Statistics.h
# Include/GameClient/TerrainRoads.h
# Include/GameClient/TerrainVisual.h
-# Include/GameClient/VideoPlayer.h
+ Include/GameClient/VideoPlayer.h
# Include/GameClient/View.h
# Include/GameClient/Water.h
# Include/GameClient/WindowLayout.h
-# Include/GameClient/WindowVideoManager.h
+ Include/GameClient/WindowVideoManager.h
# Include/GameClient/WindowXlat.h
# Include/GameClient/WinInstanceData.h
# Include/GameLogic/AI.h
@@ -597,7 +597,7 @@ set(GAMEENGINE_SRC
# Source/Common/INI/INITerrainBridge.cpp
# Source/Common/INI/INITerrainRoad.cpp
# Source/Common/INI/INIUpgrade.cpp
-# Source/Common/INI/INIVideo.cpp
+ Source/Common/INI/INIVideo.cpp
# Source/Common/INI/INIWater.cpp
# Source/Common/INI/INIWeapon.cpp
# Source/Common/INI/INIWebpageURL.cpp
@@ -791,7 +791,7 @@ set(GAMEENGINE_SRC
# Source/GameClient/GUI/Shell/Shell.cpp
# Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
# Source/GameClient/GUI/WindowLayout.cpp
-# Source/GameClient/GUI/WindowVideoManager.cpp
+ Source/GameClient/GUI/WindowVideoManager.cpp
# Source/GameClient/GUI/WinInstanceData.cpp
# Source/GameClient/InGameUI.cpp
# Source/GameClient/Input/Keyboard.cpp
@@ -823,8 +823,8 @@ set(GAMEENGINE_SRC
# Source/GameClient/System/Smudge.cpp
# Source/GameClient/Terrain/TerrainRoads.cpp
# Source/GameClient/Terrain/TerrainVisual.cpp
-# Source/GameClient/VideoPlayer.cpp
-# Source/GameClient/VideoStream.cpp
+ Source/GameClient/VideoPlayer.cpp
+ Source/GameClient/VideoStream.cpp
# Source/GameClient/View.cpp
# Source/GameClient/Water.cpp
# Source/GameLogic/AI/AI.cpp
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/VideoPlayer.h b/Core/GameEngine/Include/GameClient/VideoPlayer.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/VideoPlayer.h
rename to Core/GameEngine/Include/GameClient/VideoPlayer.h
diff --git a/GeneralsMD/Code/GameEngine/Include/GameClient/WindowVideoManager.h b/Core/GameEngine/Include/GameClient/WindowVideoManager.h
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Include/GameClient/WindowVideoManager.h
rename to Core/GameEngine/Include/GameClient/WindowVideoManager.h
diff --git a/GeneralsMD/Code/GameEngine/Source/Common/INI/INIVideo.cpp b/Core/GameEngine/Source/Common/INI/INIVideo.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/Common/INI/INIVideo.cpp
rename to Core/GameEngine/Source/Common/INI/INIVideo.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/GUI/WindowVideoManager.cpp b/Core/GameEngine/Source/GameClient/GUI/WindowVideoManager.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/GUI/WindowVideoManager.cpp
rename to Core/GameEngine/Source/GameClient/GUI/WindowVideoManager.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/VideoPlayer.cpp b/Core/GameEngine/Source/GameClient/VideoPlayer.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/VideoPlayer.cpp
rename to Core/GameEngine/Source/GameClient/VideoPlayer.cpp
diff --git a/GeneralsMD/Code/GameEngine/Source/GameClient/VideoStream.cpp b/Core/GameEngine/Source/GameClient/VideoStream.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngine/Source/GameClient/VideoStream.cpp
rename to Core/GameEngine/Source/GameClient/VideoStream.cpp
diff --git a/Core/GameEngineDevice/CMakeLists.txt b/Core/GameEngineDevice/CMakeLists.txt
index 9996b8a8eac..404c1eb60ec 100644
--- a/Core/GameEngineDevice/CMakeLists.txt
+++ b/Core/GameEngineDevice/CMakeLists.txt
@@ -1,6 +1,6 @@
set(GAMEENGINEDEVICE_SRC
Include/MilesAudioDevice/MilesAudioManager.h
-# Include/VideoDevice/Bink/BinkVideoPlayer.h
+ Include/VideoDevice/Bink/BinkVideoPlayer.h
# Include/W3DDevice/Common/W3DConvert.h
# Include/W3DDevice/Common/W3DFunctionLexicon.h
# Include/W3DDevice/Common/W3DModuleFactory.h
@@ -70,7 +70,7 @@ set(GAMEENGINEDEVICE_SRC
# Include/W3DDevice/GameClient/W3DTerrainTracks.h
# Include/W3DDevice/GameClient/W3DTerrainVisual.h
# Include/W3DDevice/GameClient/W3DTreeBuffer.h
-# Include/W3DDevice/GameClient/W3DVideobuffer.h
+ Include/W3DDevice/GameClient/W3DVideoBuffer.h
# Include/W3DDevice/GameClient/W3DView.h
# Include/W3DDevice/GameClient/W3DVolumetricShadow.h
# Include/W3DDevice/GameClient/W3DWater.h
@@ -91,7 +91,7 @@ set(GAMEENGINEDEVICE_SRC
# Include/Win32Device/GameClient/Win32DIMouse.h
# Include/Win32Device/GameClient/Win32Mouse.h
Source/MilesAudioDevice/MilesAudioManager.cpp
-# Source/VideoDevice/Bink/BinkVideoPlayer.cpp
+ Source/VideoDevice/Bink/BinkVideoPlayer.cpp
# Source/W3DDevice/Common/System/W3DFunctionLexicon.cpp
# Source/W3DDevice/Common/System/W3DRadar.cpp
# Source/W3DDevice/Common/Thing/W3DModuleFactory.cpp
@@ -172,7 +172,7 @@ set(GAMEENGINEDEVICE_SRC
# Source/W3DDevice/GameClient/W3DTerrainTracks.cpp
# Source/W3DDevice/GameClient/W3DTerrainVisual.cpp
# Source/W3DDevice/GameClient/W3DTreeBuffer.cpp
-# Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
+ Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
# Source/W3DDevice/GameClient/W3DView.cpp
# Source/W3DDevice/GameClient/W3dWaypointBuffer.cpp
# Source/W3DDevice/GameClient/W3DWebBrowser.cpp
@@ -229,20 +229,19 @@ target_link_libraries(corei_gameenginedevice_public INTERFACE
milesstub
)
-#if(RTS_BUILD_OPTION_FFMPEG)
-# find_package(FFMPEG REQUIRED)
-#
-# if(FFMPEG_FOUND)
-# target_sources(z_gameenginedevice PRIVATE
-# Include/VideoDevice/FFmpeg/FFmpegFile.h
-# Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h
-# Source/VideoDevice/FFmpeg/FFmpegFile.cpp
-# Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp
-# )
-#
-# target_include_directories(z_gameenginedevice PRIVATE ${FFMPEG_INCLUDE_DIRS})
-# target_link_directories(z_gameenginedevice PRIVATE ${FFMPEG_LIBRARY_DIRS})
-# target_link_libraries(z_gameenginedevice PRIVATE ${FFMPEG_LIBRARIES})
-# target_compile_definitions(z_gameenginedevice PUBLIC RTS_HAS_FFMPEG)
-# endif()
-#endif()
+if(RTS_BUILD_OPTION_FFMPEG)
+ find_package(FFMPEG REQUIRED)
+
+ if(FFMPEG_FOUND)
+ target_sources(corei_gameenginedevice_private INTERFACE
+ Include/VideoDevice/FFmpeg/FFmpegFile.h
+ Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h
+ Source/VideoDevice/FFmpeg/FFmpegFile.cpp
+ Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp
+ )
+ target_include_directories(corei_gameenginedevice_private INTERFACE ${FFMPEG_INCLUDE_DIRS})
+ target_link_directories(corei_gameenginedevice_private INTERFACE ${FFMPEG_LIBRARY_DIRS})
+ target_link_libraries(corei_gameenginedevice_private INTERFACE ${FFMPEG_LIBRARIES})
+ target_compile_definitions(corei_gameenginedevice_public INTERFACE RTS_HAS_FFMPEG)
+ endif()
+endif()
diff --git a/GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/Bink/BinkVideoPlayer.h b/Core/GameEngineDevice/Include/VideoDevice/Bink/BinkVideoPlayer.h
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/Bink/BinkVideoPlayer.h
rename to Core/GameEngineDevice/Include/VideoDevice/Bink/BinkVideoPlayer.h
diff --git a/GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h b/Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h
rename to Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegFile.h
diff --git a/GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h b/Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h
rename to Core/GameEngineDevice/Include/VideoDevice/FFmpeg/FFmpegVideoPlayer.h
diff --git a/GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DVideobuffer.h b/Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DVideoBuffer.h
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Include/W3DDevice/GameClient/W3DVideobuffer.h
rename to Core/GameEngineDevice/Include/W3DDevice/GameClient/W3DVideoBuffer.h
diff --git a/GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp b/Core/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
similarity index 99%
rename from GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
rename to Core/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
index 9cd7f34dee7..819d1e1dbe4 100644
--- a/GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
+++ b/Core/GameEngineDevice/Source/VideoDevice/Bink/BinkVideoPlayer.cpp
@@ -225,7 +225,7 @@ VideoStreamInterface* BinkVideoPlayer::open( AsciiString movieTitle )
const Video* pVideo = getVideo(movieTitle);
if (pVideo) {
DEBUG_LOG(("BinkVideoPlayer::createStream() - About to open bink file"));
-
+
if (TheGlobalData->m_modDir.isNotEmpty())
{
char filePath[ _MAX_PATH ];
diff --git a/GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegFile.cpp b/Core/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegFile.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegFile.cpp
rename to Core/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegFile.cpp
diff --git a/GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp b/Core/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp
similarity index 100%
rename from GeneralsMD/Code/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp
rename to Core/GameEngineDevice/Source/VideoDevice/FFmpeg/FFmpegVideoPlayer.cpp
diff --git a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp b/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
similarity index 99%
rename from GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
rename to Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
index 8ff77192ef2..e71dbf9ef75 100644
--- a/GeneralsMD/Code/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
+++ b/Core/GameEngineDevice/Source/W3DDevice/GameClient/W3DVideoBuffer.cpp
@@ -48,7 +48,7 @@
#include "Common/GameMemory.h"
#include "WW3D2/texture.h"
#include "WW3D2/textureloader.h"
-#include "W3DDevice/GameClient/W3DVideobuffer.h"
+#include "W3DDevice/GameClient/W3DVideoBuffer.h"
//----------------------------------------------------------------------------
// Externals
diff --git a/Generals/Code/GameEngine/CMakeLists.txt b/Generals/Code/GameEngine/CMakeLists.txt
index 1bb7173ff51..41fd59b68b8 100644
--- a/Generals/Code/GameEngine/CMakeLists.txt
+++ b/Generals/Code/GameEngine/CMakeLists.txt
@@ -213,11 +213,11 @@ set(GAMEENGINE_SRC
Include/GameClient/Statistics.h
Include/GameClient/TerrainRoads.h
Include/GameClient/TerrainVisual.h
- Include/GameClient/VideoPlayer.h
+# Include/GameClient/VideoPlayer.h
Include/GameClient/View.h
Include/GameClient/Water.h
Include/GameClient/WindowLayout.h
- Include/GameClient/WindowVideoManager.h
+# Include/GameClient/WindowVideoManager.h
Include/GameClient/WindowXlat.h
Include/GameClient/WinInstanceData.h
Include/GameLogic/AI.h
@@ -556,7 +556,7 @@ set(GAMEENGINE_SRC
Source/Common/INI/INITerrainBridge.cpp
Source/Common/INI/INITerrainRoad.cpp
Source/Common/INI/INIUpgrade.cpp
- Source/Common/INI/INIVideo.cpp
+# Source/Common/INI/INIVideo.cpp
Source/Common/INI/INIWater.cpp
Source/Common/INI/INIWeapon.cpp
Source/Common/INI/INIWebpageURL.cpp
@@ -746,7 +746,7 @@ set(GAMEENGINE_SRC
Source/GameClient/GUI/Shell/Shell.cpp
Source/GameClient/GUI/Shell/ShellMenuScheme.cpp
Source/GameClient/GUI/WindowLayout.cpp
- Source/GameClient/GUI/WindowVideoManager.cpp
+# Source/GameClient/GUI/WindowVideoManager.cpp
Source/GameClient/GUI/WinInstanceData.cpp
Source/GameClient/InGameUI.cpp
Source/GameClient/Input/Keyboard.cpp
@@ -775,7 +775,7 @@ set(GAMEENGINE_SRC
Source/GameClient/System/RayEffect.cpp
Source/GameClient/Terrain/TerrainRoads.cpp
Source/GameClient/Terrain/TerrainVisual.cpp
- Source/GameClient/VideoPlayer.cpp
+# Source/GameClient/VideoPlayer.cpp
Source/GameClient/View.cpp
Source/GameClient/Water.cpp
Source/GameLogic/AI/AI.cpp
diff --git a/Generals/Code/GameEngine/Include/GameClient/VideoPlayer.h b/Generals/Code/GameEngine/Include/GameClient/VideoPlayer.h
deleted file mode 100644
index 1d9a365a133..00000000000
--- a/Generals/Code/GameEngine/Include/GameClient/VideoPlayer.h
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
-** Command & Conquer Generals(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 .
-*/
-
-////////////////////////////////////////////////////////////////////////////////
-// //
-// (c) 2001-2003 Electronic Arts Inc. //
-// //
-////////////////////////////////////////////////////////////////////////////////
-
-//----------------------------------------------------------------------------
-//
-// Westwood Studios Pacific.
-//
-// Confidential Information
-// Copyright (C) 2001 - All Rights Reserved
-//
-//----------------------------------------------------------------------------
-//
-// Project: Generals
-//
-// File name: GameClient/VideoPlayer.h
-//
-// Created: 10/22/01
-//
-//----------------------------------------------------------------------------
-
-#pragma once
-
-#ifndef __GAMECLIENT_VIDEOPLAYER_H_
-#define __GAMECLIENT_VIDEOPLAYER_H_
-
-
-//----------------------------------------------------------------------------
-// Includes
-//----------------------------------------------------------------------------
-
-#include
-#include "WWMath/rect.h"
-#include "Common/SubsystemInterface.h"
-#include "Common/AsciiString.h"
-#include "Common/INI.h"
-#include "Common/STLTypedefs.h"
-
-//----------------------------------------------------------------------------
-// Forward References
-//----------------------------------------------------------------------------
-
-struct Video;
-class VideoPlayer;
-
-//----------------------------------------------------------------------------
-// Type Defines
-//----------------------------------------------------------------------------
-typedef std::vector