From dbff7e371b0a0261bf6d3680843d389cd92249bb Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 11 Mar 2022 22:03:03 +0100 Subject: Moved part of Init to GameWinDX9 --- Stars45/GameWinDX9.cpp | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) (limited to 'Stars45/GameWinDX9.cpp') diff --git a/Stars45/GameWinDX9.cpp b/Stars45/GameWinDX9.cpp index 19fe60d..2cd4fbe 100644 --- a/Stars45/GameWinDX9.cpp +++ b/Stars45/GameWinDX9.cpp @@ -7,6 +7,9 @@ #include "GameWinDX9.h" #include "Game.h" +#include "MachineInfo.h" +#include "Panic.h" +#include "Types.h" GameWinDX9::GameWinDX9() @@ -17,3 +20,55 @@ GameWinDX9::GameWinDX9() GameWinDX9::~GameWinDX9() { } + + +bool +GameWinDX9::Init(HINSTANCE hi, HINSTANCE hpi, LPSTR cmdline, int nCmdShow) +{ + status = OK; + hInst = hi; + + Print(" Initializing Game\n"); + + stats.Clear(); + + if (!InitApplication(hInst)) { // Initialize shared things + Panic::Panic("Could not initialize the application."); + status = INIT_FAILED; + } + + if (status == OK && !video_settings) { + Panic::Panic("No video settings specified"); + status = INIT_FAILED; + } + + if (status == OK) { + static int os_version = MachineInfo::GetPlatform(); + + if (os_version == MachineInfo::OS_WIN95 || os_version == MachineInfo::OS_WIN98) { + Panic::Panic(" Windows 95 and 98 are no longer supported. Please update to Windows XP or higher."); + status = INIT_FAILED; + } else if (os_version == MachineInfo::OS_WINNT) { + Panic::Panic(" D3D not available under WinNT 4"); + status = INIT_FAILED; + } else if (MachineInfo::GetDirectXVersion() < MachineInfo::DX_9) { + Panic::Panic(" Insufficient DirectX detected (Dx9 IS REQUIRED)"); + status = INIT_FAILED; + } + + Print(" Gamma Level = %d\n", gamma); + } + + if (status == OK) { + Print("\n Initializing instance...\n"); + // Perform initializations that apply to a specific instance + if (!InitInstance(hInst, nCmdShow)) { + Panic::Panic("Could not initialize the instance."); + status = INIT_FAILED; + } + } + + if (status != OK) + return false; + return Game::Init(hi, hpi, cmdline, nCmdShow); +} -- cgit v1.1