diff --git a/DX11GraphicsAPI/DX11GraphicsAPI.cpp b/DX11GraphicsAPI/DX11GraphicsAPI.cpp
index 33efe3e5..55c08692 100644
--- a/DX11GraphicsAPI/DX11GraphicsAPI.cpp
+++ b/DX11GraphicsAPI/DX11GraphicsAPI.cpp
@@ -1000,7 +1000,7 @@ namespace dooms
DOOMS_ENGINE_GRAPHICS_API unsigned int DeinitializeGraphicsAPI()
{
dx11::CleanupDevice();
- return 0;
+ return 1;
}
DOOMS_ENGINE_GRAPHICS_API unsigned int GetDrawCall()
diff --git a/Doom3/DoomsEngine_D3D11.bat b/Doom3/DoomsEngine_D3D11.bat
new file mode 100644
index 00000000..52b30b52
--- /dev/null
+++ b/Doom3/DoomsEngine_D3D11.bat
@@ -0,0 +1,2 @@
+start DoomsEngine.exe DIRECTX
+exit
\ No newline at end of file
diff --git a/Doom3/DoomsEngine_OPENGL.bat b/Doom3/DoomsEngine_OPENGL.bat
new file mode 100644
index 00000000..124e49ee
--- /dev/null
+++ b/Doom3/DoomsEngine_OPENGL.bat
@@ -0,0 +1,2 @@
+start DoomsEngine.exe OPENGL
+exit
\ No newline at end of file
diff --git a/Doom3/Source/Core/Game/AssetManager/AssetManager.cpp b/Doom3/Source/Core/Game/AssetManager/AssetManager.cpp
index 6367f9b7..730ea4e0 100644
--- a/Doom3/Source/Core/Game/AssetManager/AssetManager.cpp
+++ b/Doom3/Source/Core/Game/AssetManager/AssetManager.cpp
@@ -197,7 +197,7 @@ void AssetManager::OnSetPendingKill()
DestroyAllAssets();
}
-void dooms::assetImporter::AssetManager::Init()
+void dooms::assetImporter::AssetManager::Init(const int argc, char* const* const argv)
{
AddToRootObjectList();
diff --git a/Doom3/Source/Core/Game/AssetManager/AssetManager.h b/Doom3/Source/Core/Game/AssetManager/AssetManager.h
index 375ee68a..d06937d4 100644
--- a/Doom3/Source/Core/Game/AssetManager/AssetManager.h
+++ b/Doom3/Source/Core/Game/AssetManager/AssetManager.h
@@ -70,7 +70,7 @@ namespace dooms
virtual void OnSetPendingKill() override;
- virtual void Init() final;
+ virtual void Init(const int argc, char* const* const argv) final;
virtual void Update() final;
virtual void OnEndOfFrame() final;
diff --git a/Doom3/Source/Core/Game/GameCore.cpp b/Doom3/Source/Core/Game/GameCore.cpp
index 3ab3390d..4fa31fd0 100644
--- a/Doom3/Source/Core/Game/GameCore.cpp
+++ b/Doom3/Source/Core/Game/GameCore.cpp
@@ -50,18 +50,47 @@ void dooms::GameCore::UpdateGameCore()
}
+void dooms::GameCore::InitializeGraphicsAPI(const int argc, char* const* const argv)
+{
+ graphics::GraphicsAPI::eGraphicsAPIType targetGraphicsAPI = graphics::GraphicsAPI::eGraphicsAPIType::GraphicsAPIType_NONE;
+
+ for(size_t i = 0 ; i < argc ; i++)
+ {
+ if(_stricmp(argv[i], "OPENGL") == 0)
+ {
+ targetGraphicsAPI = graphics::GraphicsAPI::eGraphicsAPIType::OpenGL;
+ }
+ else if
+ (
+ (_stricmp(argv[i], "DX11") == 0) ||
+ (_stricmp(argv[i], "DX11_10") == 0) ||
+ (_stricmp(argv[i], "DIRECTX") == 0) ||
+ (_stricmp(argv[i], "DIRECTX11") == 0) ||
+ (_stricmp(argv[i], "DIRECTX11_10") == 0)
+ )
+ {
+ targetGraphicsAPI = graphics::GraphicsAPI::eGraphicsAPIType::DX11_10;
+ }
+ }
+
+ D_START_PROFILING(LoadGraphisAPI, eProfileLayers::CPU);
+ mGraphics_Server.InitializeGraphicsAPI(targetGraphicsAPI);
+ D_END_PROFILING(LoadGraphisAPI);
+
+}
+
dooms::GameCore::~GameCore()
{
mCurrentScene->SetIsPendingKill();
}
-void dooms::GameCore::Init()
+void dooms::GameCore::Init(const int argc, char* const* const argv)
{
D_START_PROFILING(InitGameSetting, eProfileLayers::CPU);
InitGameSetting();
D_END_PROFILING(InitGameSetting);
- InitServers();
+ InitServers(argc, argv);
LateInit();
mCurrentScene = CreateNewScene();
@@ -74,42 +103,40 @@ void dooms::GameCore::Init()
dooms::gc::GarbageCollectorManager::ResetElapsedTime();
}
-void dooms::GameCore::InitServers()
+void dooms::GameCore::InitServers(const int argc, char* const* const argv)
{
- mMemoryManager.Init();
+ mMemoryManager.Init(argc, argv);
D_START_PROFILING(Init_ReflectionManager, eProfileLayers::CPU);
mReflectionManager.Initialize();
D_END_PROFILING(Init_ReflectionManager);
- D_START_PROFILING(LoadGraphisAPI, eProfileLayers::CPU);
- mGraphics_Server.InitializeGraphicsAPI();
- D_END_PROFILING(LoadGraphisAPI);
+ InitializeGraphicsAPI(argc, argv);
D_START_PROFILING(mJobSystem_Init, eProfileLayers::CPU);
- mJobSystem.Init();
+ mJobSystem.Init(argc, argv);
D_END_PROFILING(mJobSystem_Init);
D_START_PROFILING(mTime_Server_Init, eProfileLayers::CPU);
- mTime_Server.Init();
+ mTime_Server.Init(argc, argv);
D_END_PROFILING(mTime_Server_Init);
//
//Read This : https://docs.unity3d.com/Manual/class-TimeManager.html
D_START_PROFILING(Init_Physics_Server, eProfileLayers::CPU);
- mPhysics_Server.Init();
+ mPhysics_Server.Init(argc, argv);
D_END_PROFILING(Init_Physics_Server);
D_START_PROFILING(Init_Graphics_Server, eProfileLayers::Rendering);
- mGraphics_Server.Init();
+ mGraphics_Server.Init(argc, argv);
D_END_PROFILING(Init_Graphics_Server);
D_START_PROFILING(Init_UserInput_Server, eProfileLayers::CPU);
- mUserImput_Server.Init();
+ mUserImput_Server.Init(argc, argv);
D_END_PROFILING(Init_UserInput_Server);
D_START_PROFILING(Init_AssetManager, eProfileLayers::CPU);
- mAssetManager.Init();
+ mAssetManager.Init(argc, argv);
D_END_PROFILING(Init_AssetManager);
diff --git a/Doom3/Source/Core/Game/GameCore.h b/Doom3/Source/Core/Game/GameCore.h
index f7cff6a8..ba7e7c6c 100644
--- a/Doom3/Source/Core/Game/GameCore.h
+++ b/Doom3/Source/Core/Game/GameCore.h
@@ -88,6 +88,8 @@ namespace dooms
void InitGameSetting();
void UpdateGameCore();
+
+ void InitializeGraphicsAPI(const int argc, char* const* const argv);
public:
@@ -101,8 +103,8 @@ namespace dooms
GameCore& operator=(GameCore&&) = delete;
~GameCore();
- virtual void Init() final;
- void InitServers();
+ virtual void Init(const int argc, char* const* const argv) final;
+ void InitServers(const int argc, char* const* const argv);
virtual void LateInit() final;
///
diff --git a/Doom3/Source/Core/Game/IGameFlow.h b/Doom3/Source/Core/Game/IGameFlow.h
index 22480614..c30bea90 100644
--- a/Doom3/Source/Core/Game/IGameFlow.h
+++ b/Doom3/Source/Core/Game/IGameFlow.h
@@ -25,7 +25,7 @@ namespace dooms
/// Don't put virtual
///
void Init_Internal() {}
- virtual void Init() = 0;
+ virtual void Init(const int argc, char* const* const argv) = 0;
virtual void LateInit() {}
///
diff --git a/Doom3/Source/Core/GameEngineEntryPoint.h b/Doom3/Source/Core/GameEngineEntryPoint.h
index c5196f06..d5576ece 100644
--- a/Doom3/Source/Core/GameEngineEntryPoint.h
+++ b/Doom3/Source/Core/GameEngineEntryPoint.h
@@ -15,7 +15,7 @@
namespace dooms
{
- int GameEngineEntryPoint()
+ int GameEngineEntryPoint(int argc, char* argv[])
{
{
{
@@ -24,7 +24,7 @@ namespace dooms
dooms::GameCore gameCore{};
D_START_PROFILING(Init_Game, dooms::profiler::eProfileLayers::CPU);
- gameCore.Init();
+ gameCore.Init(argc, argv);
D_END_PROFILING(Init_Game);
while (gameCore.Tick())
diff --git a/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPILoader.cpp b/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPILoader.cpp
index 5f0a39f6..fbc2f65c 100644
--- a/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPILoader.cpp
+++ b/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPILoader.cpp
@@ -42,7 +42,7 @@ void dooms::graphics::GraphicsAPILoader::FetchExportedFunctionAddress()
//D_ASSERT(dooms::graphics::GraphicsAPI::AttachRenderBufferToFrameBuffer != nullptr);
dooms::graphics::GraphicsAPI::AttachShaderToMaterial = (GraphicsAPI::GRAPHICS_ATTACHSHADERTOMATERIAL)GetProcAddress(hModule, "AttachShaderToMaterial");
//D_ASSERT(dooms::graphics::GraphicsAPI::AttachShaderToMaterial != nullptr);
- dooms::graphics::GraphicsAPI::DetachShaderFromMaterial = (GraphicsAPI::GRAPHICS_DETACHSHADERFROMMATERIAL)GetProcAddress(hModule, "DetachShaderToMaterial");
+ dooms::graphics::GraphicsAPI::DetachShaderFromMaterial = (GraphicsAPI::GRAPHICS_DETACHSHADERFROMMATERIAL)GetProcAddress(hModule, "DetachShaderFromMaterial");
//D_ASSERT(dooms::graphics::GraphicsAPI::DetachShaderToMaterial != nullptr);
dooms::graphics::GraphicsAPI::BindVertexDataBuffer = (GraphicsAPI::GRAPHICS_BINDVERTEXDATABUFFER)GetProcAddress(hModule, "BindVertexDataBuffer");
//D_ASSERT(dooms::graphics::GraphicsAPI::BindVertexDataBuffer != nullptr);
diff --git a/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPIManager.cpp b/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPIManager.cpp
index 5b521180..a2756722 100644
--- a/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPIManager.cpp
+++ b/Doom3/Source/Core/Graphics/GraphicsAPI/Manager/GraphicsAPIManager.cpp
@@ -5,7 +5,7 @@
#include "../graphicsAPISetting.h"
#include "../Input/GraphicsAPIInput.h"
#include "Game/ConfigData.h"
-
+#include
dooms::graphics::GraphicsAPILoader dooms::graphics::GraphicsAPIManager::mGraphicsAPILoader{};
void dooms::graphics::GraphicsAPIManager::LoadGraphicsAPI(const GraphicsAPI::eGraphicsAPIType graphicsAPIType)
@@ -67,21 +67,41 @@ void dooms::graphics::GraphicsAPIManager::GraphisAPIDebugCallBack(const char* co
bool dooms::graphics::GraphicsAPIManager::Initialize(const GraphicsAPI::eGraphicsAPIType graphicsAPIType)
{
- LoadGraphicsAPI(graphicsAPIType);
- if(GraphicsAPI::SetDebugFunction != nullptr)
+ if(graphicsAPIType != GraphicsAPI::eGraphicsAPIType::GraphicsAPIType_NONE)
{
- GraphicsAPI::SetDebugFunction(dooms::graphics::GraphicsAPIManager::GraphisAPIDebugCallBack);
+ LoadGraphicsAPI(graphicsAPIType);
+ if (GraphicsAPI::SetDebugFunction != nullptr)
+ {
+ GraphicsAPI::SetDebugFunction(dooms::graphics::GraphicsAPIManager::GraphisAPIDebugCallBack);
+ }
+
+ switch (graphicsAPIType)
+ {
+ case GraphicsAPI::eGraphicsAPIType::OpenGL:
+ dooms::ui::PrintText("Initilize OPENGL");
+ break;
+ case GraphicsAPI::eGraphicsAPIType::DX11_10:
+ dooms::ui::PrintText("Initilize DIRECTX 11");
+ break;
+ default:
+ D_ASSERT(false);
+ return false;
+ }
+
+ unsigned int result = 1;
+ result &= GraphicsAPI::InitializeGraphicsAPI(graphicsAPISetting::GetScreenWidth(), graphicsAPISetting::GetScreenHeight(), graphicsAPISetting::GetMultiSamplingNum());
+ D_ASSERT_LOG(result == 1, "Fail to GraphicsAPI::InitializeGraphisAPIInput ( Error Code : %u )", result);
+
+ SetDefaultSettingOfAPI();
+ result &= input::GraphicsAPIInput::InitializeGraphisAPIInput(dooms::graphics::GraphicsAPI::GetPlatformWindow());
+ D_ASSERT(result == 1);
+
+ return result == 1;
+ }
+ else
+ {
+ return false;
}
-
- unsigned int result = 1;
- result &= GraphicsAPI::InitializeGraphicsAPI(graphicsAPISetting::GetScreenWidth(), graphicsAPISetting::GetScreenHeight(), graphicsAPISetting::GetMultiSamplingNum());
- D_ASSERT_LOG(result == 1, "Fail to GraphicsAPI::InitializeGraphisAPIInput ( Error Code : %u )", result);
-
- SetDefaultSettingOfAPI();
- result &= input::GraphicsAPIInput::InitializeGraphisAPIInput(dooms::graphics::GraphicsAPI::GetPlatformWindow());
- D_ASSERT(result == 1);
-
- return result == 1;
}
bool dooms::graphics::GraphicsAPIManager::DeInitialize()
diff --git a/Doom3/Source/Core/Graphics/Graphics_Server.cpp b/Doom3/Source/Core/Graphics/Graphics_Server.cpp
index 71695578..07d20aab 100644
--- a/Doom3/Source/Core/Graphics/Graphics_Server.cpp
+++ b/Doom3/Source/Core/Graphics/Graphics_Server.cpp
@@ -34,31 +34,54 @@
#include "Acceleration/LinearData_ViewFrustumCulling/CullingModule/MaskedSWOcclusionCulling/MaskedSWOcclusionCulling.h"
-bool dooms::graphics::Graphics_Server::InitializeGraphicsAPI()
+
+bool dooms::graphics::Graphics_Server::InitializeGraphicsAPI(GraphicsAPI::eGraphicsAPIType graphicsAPIType)
{
dooms::graphics::graphicsSetting::LoadData();
dooms::graphics::graphicsAPISetting::LoadData();
bool isSuccess = false;
- const std::string targetGraphicsAPI = ConfigData::GetSingleton()->GetConfigData().GetValue("Graphics", "GRAPHICS_API");
- if (targetGraphicsAPI == "OPENGL")
+ if(graphicsAPIType == GraphicsAPI::eGraphicsAPIType::GraphicsAPIType_NONE)
{
- isSuccess = GraphicsAPIManager::Initialize(GraphicsAPI::eGraphicsAPIType::OpenGL);
+ dooms::ui::PrintText("Read Target Graphics API from Config.ini file");
+
+ const std::string targetGraphicsAPI = ConfigData::GetSingleton()->GetConfigData().GetValue("Graphics", "GRAPHICS_API");
+ if (targetGraphicsAPI == "OPENGL")
+ {
+ graphicsAPIType = GraphicsAPI::eGraphicsAPIType::OpenGL;
+ }
+ else if (targetGraphicsAPI == "DX11_10" || targetGraphicsAPI == "DX11")
+ {
+ graphicsAPIType = GraphicsAPI::eGraphicsAPIType::DX11_10;
+ }
+ else
+ {
+ D_ASSERT(false);
+ }
}
- else if (targetGraphicsAPI == "DX11_10" || targetGraphicsAPI == "DX11")
+
+
+ switch (graphicsAPIType)
{
+ case GraphicsAPI::eGraphicsAPIType::OpenGL:
+ isSuccess = GraphicsAPIManager::Initialize(GraphicsAPI::eGraphicsAPIType::OpenGL);
+ break;
+ case GraphicsAPI::eGraphicsAPIType::DX11_10:
isSuccess = GraphicsAPIManager::Initialize(GraphicsAPI::eGraphicsAPIType::DX11_10);
- }
- else
- {
+ break;
+ default:
+ dooms::ui::PrintText("Graphics API isn't chosen. Default Graphics API OPENGL is chosen.");
+ isSuccess = GraphicsAPIManager::Initialize(GraphicsAPI::eGraphicsAPIType::OpenGL); // If any specific api type isn't passed, just use opengl....
D_ASSERT(false);
}
+
D_ASSERT(isSuccess == true);
+
return isSuccess;
}
-void dooms::graphics::Graphics_Server::Init()
+void dooms::graphics::Graphics_Server::Init(const int argc, char* const* const argv)
{
diff --git a/Doom3/Source/Core/Graphics/Graphics_Server.h b/Doom3/Source/Core/Graphics/Graphics_Server.h
index 3ced848e..36069dc3 100644
--- a/Doom3/Source/Core/Graphics/Graphics_Server.h
+++ b/Doom3/Source/Core/Graphics/Graphics_Server.h
@@ -93,10 +93,10 @@ namespace dooms
BVHAABB3D mRendererColliderBVH{ RENDERER_BVH_MAX_NODE_COUNT };
std::unique_ptr mCullingSystem;
+
+ bool InitializeGraphicsAPI(GraphicsAPI::eGraphicsAPIType graphicsAPIType);
- bool InitializeGraphicsAPI();
-
- virtual void Init() final;
+ virtual void Init(const int argc, char* const* const argv) final;
virtual void LateInit() final;
virtual void Update() final;
virtual void OnEndOfFrame() final;
diff --git a/Doom3/Source/Core/Graphics/Material/Material.cpp b/Doom3/Source/Core/Graphics/Material/Material.cpp
index 486a0c4f..1e1e4065 100644
--- a/Doom3/Source/Core/Graphics/Material/Material.cpp
+++ b/Doom3/Source/Core/Graphics/Material/Material.cpp
@@ -244,7 +244,12 @@ void dooms::graphics::Material::DestroyShaderFromMaterial(const dooms::graphics:
{
if(mPipeLineShaderView[shaderType].IsValid())
{
- GraphicsAPI::DetachShaderFromMaterial(mPipeLineShaderView[shaderType], mProgramIDForOpenGL, mShaderAsset[shaderType]->GetShaderObject(shaderType));
+ GraphicsAPI::DetachShaderFromMaterial
+ (
+ mPipeLineShaderView[shaderType],
+ mProgramIDForOpenGL,
+ (IsValid(mShaderAsset[shaderType]) == true) ? static_cast(mShaderAsset[shaderType]->GetShaderObject(shaderType)) : static_cast(0)
+ );
mPipeLineShaderView[shaderType].Reset();
}
}
diff --git a/Doom3/Source/Core/Graphics/Texture/TextureView.cpp b/Doom3/Source/Core/Graphics/Texture/TextureView.cpp
index 2ff5a1f6..9ef66365 100644
--- a/Doom3/Source/Core/Graphics/Texture/TextureView.cpp
+++ b/Doom3/Source/Core/Graphics/Texture/TextureView.cpp
@@ -52,6 +52,7 @@ void TextureView::DestroyTextureViewObject()
if(mTextureViewObject.IsValid())
{
GraphicsAPI::DestroyTextureViewObject(mTextureViewObject);
+ mTextureViewObject.Reset();
}
}
diff --git a/Doom3/Source/Core/IO/UserInput_Server.cpp b/Doom3/Source/Core/IO/UserInput_Server.cpp
index 4cc47264..c1b2d166 100644
--- a/Doom3/Source/Core/IO/UserInput_Server.cpp
+++ b/Doom3/Source/Core/IO/UserInput_Server.cpp
@@ -164,7 +164,7 @@ void dooms::userinput::UserInput_Server::UpdateCurrentCursorScreenPosition()
void UserInput_Server::Update()
{}
-void UserInput_Server::Init()
+void UserInput_Server::Init(const int argc, char* const* const argv)
{
UserInput_Server::SetIsCursorVisible(ConfigData::GetSingleton()->GetConfigData().GetValue("USERINPUT", "CURSOR_IS_VISIBLE"));
UserInput_Server::SetIsCursorLockedInScreen(ConfigData::GetSingleton()->GetConfigData().GetValue("USERINPUT", "CURSOR_LOCKED_IN_SCREEN"));
diff --git a/Doom3/Source/Core/IO/UserInput_Server.h b/Doom3/Source/Core/IO/UserInput_Server.h
index 0950c796..a9d5d55e 100644
--- a/Doom3/Source/Core/IO/UserInput_Server.h
+++ b/Doom3/Source/Core/IO/UserInput_Server.h
@@ -100,7 +100,7 @@ namespace dooms
UserInput_Server();
- virtual void Init() final;
+ virtual void Init(const int argc, char* const* const argv) final;
virtual void Update() final;
virtual void UpdateInput() final;
virtual void OnEndOfFrame() final;
diff --git a/Doom3/Source/Core/Memory/MemoryManager.cpp b/Doom3/Source/Core/Memory/MemoryManager.cpp
index ef8929d8..43741150 100644
--- a/Doom3/Source/Core/Memory/MemoryManager.cpp
+++ b/Doom3/Source/Core/Memory/MemoryManager.cpp
@@ -18,7 +18,7 @@ void dooms::memory::MemoryManager::CheckIsIntelTBBLoaded() const
}
}
-void dooms::memory::MemoryManager::Init()
+void dooms::memory::MemoryManager::Init(const int argc, char* const* const argv)
{
CheckIsIntelTBBLoaded();
}
diff --git a/Doom3/Source/Core/Memory/MemoryManager.h b/Doom3/Source/Core/Memory/MemoryManager.h
index 2e76aa89..6af98958 100644
--- a/Doom3/Source/Core/Memory/MemoryManager.h
+++ b/Doom3/Source/Core/Memory/MemoryManager.h
@@ -17,7 +17,7 @@ namespace dooms
public:
- void Init() override;
+ void Init(const int argc, char* const* const argv) override;
void Update() override;
void OnEndOfFrame() override;
};
diff --git a/Doom3/Source/Core/Physics/Physics_Server.cpp b/Doom3/Source/Core/Physics/Physics_Server.cpp
index 1914b2eb..6ef9b7fd 100644
--- a/Doom3/Source/Core/Physics/Physics_Server.cpp
+++ b/Doom3/Source/Core/Physics/Physics_Server.cpp
@@ -28,7 +28,7 @@ dooms::physics::Physics_Server::~Physics_Server()
dooms::StaticContainer::ClearContainer();
}
-void dooms::physics::Physics_Server::Init()
+void dooms::physics::Physics_Server::Init(const int argc, char* const* const argv)
{
LoadPhysicsSetting();
diff --git a/Doom3/Source/Core/Physics/Physics_Server.h b/Doom3/Source/Core/Physics/Physics_Server.h
index 1d74db3f..c7834631 100644
--- a/Doom3/Source/Core/Physics/Physics_Server.h
+++ b/Doom3/Source/Core/Physics/Physics_Server.h
@@ -34,7 +34,7 @@ namespace dooms
~Physics_Server();
- virtual void Init() final;
+ virtual void Init(const int argc, char* const* const argv) final;
virtual void Update() final;
virtual void FixedUpdate() final;
void FixedUpdateCollision();
diff --git a/Doom3/Source/Core/Time/Time_Server.cpp b/Doom3/Source/Core/Time/Time_Server.cpp
index a7eb4c91..5f334a7e 100644
--- a/Doom3/Source/Core/Time/Time_Server.cpp
+++ b/Doom3/Source/Core/Time/Time_Server.cpp
@@ -2,7 +2,7 @@
#include "MainTimer.h"
-void dooms::time::Time_Server::Init() noexcept
+void dooms::time::Time_Server::Init(const int argc, char* const* const argv) noexcept
{
mMainTimer.InitTimer();
}
diff --git a/Doom3/Source/Core/Time/Time_Server.h b/Doom3/Source/Core/Time/Time_Server.h
index fedfa3aa..16bd4971 100644
--- a/Doom3/Source/Core/Time/Time_Server.h
+++ b/Doom3/Source/Core/Time/Time_Server.h
@@ -21,7 +21,7 @@ namespace dooms
MainTimer mMainTimer;
- void Init() noexcept override;
+ void Init(const int argc, char* const* const argv) noexcept override;
void Update() noexcept override;
void OnEndOfFrame() noexcept override;
diff --git a/Doom3/main.cpp b/Doom3/main.cpp
index 44413569..9af6b309 100644
--- a/Doom3/main.cpp
+++ b/Doom3/main.cpp
@@ -1,7 +1,7 @@
#include
-int main()
+int main(int argc, char* argv[])
{
- return dooms::GameEngineEntryPoint();
+ return dooms::GameEngineEntryPoint(argc, argv);
}