From 1b01f591c98ea0ca73cb38a3803d7db69ffddb14 Mon Sep 17 00:00:00 2001 From: res Date: Wed, 5 Dec 2007 23:21:08 +0000 Subject: [PATCH] Changed Win32 code to also support compilation of the executable for the console subsystem. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7764 d7cf8633-e32d-0410-b094-e92efae38249 --- sys_win.c | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) diff --git a/sys_win.c b/sys_win.c index 6a336625..0da7f236 100644 --- a/sys_win.c +++ b/sys_win.c @@ -106,7 +106,8 @@ void Sys_PrintToTerminal(const char *text) { DWORD dummy; extern HANDLE houtput; - if (cls.state == ca_dedicated) + + if ((houtput != 0) && (houtput != INVALID_HANDLE_VALUE)) WriteFile(houtput, text, (DWORD) strlen(text), &dummy, NULL); } @@ -307,15 +308,21 @@ void Sys_InitConsole (void) if (!tevent) Sys_Error ("Couldn't create event"); + houtput = GetStdHandle (STD_OUTPUT_HANDLE); + if ((houtput == 0) || (houtput == INVALID_HANDLE_VALUE)) + { + AllocConsole (); + houtput = GetStdHandle (STD_OUTPUT_HANDLE); + } + hinput = GetStdHandle (STD_INPUT_HANDLE); + // LordHavoc: can't check cls.state because it hasn't been initialized yet // if (cls.state == ca_dedicated) if (COM_CheckParm("-dedicated")) { - if (!AllocConsole ()) + if ((houtput == 0) || (houtput == INVALID_HANDLE_VALUE)) Sys_Error ("Couldn't create dedicated server console"); - hinput = GetStdHandle (STD_INPUT_HANDLE); - houtput = GetStdHandle (STD_OUTPUT_HANDLE); #ifdef _WIN64 #define atoi _atoi64 @@ -428,3 +435,23 @@ int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLin /* return success of application */ return true; } + +int main (int argc, const char* argv[]) +{ + MEMORYSTATUS lpBuffer; + + global_hInstance = GetModuleHandle (0); + + lpBuffer.dwLength = sizeof(MEMORYSTATUS); + GlobalMemoryStatus (&lpBuffer); + + program_name[sizeof(program_name)-1] = 0; + GetModuleFileNameA(NULL, program_name, sizeof(program_name) - 1); + + com_argc = argc; + com_argv = argv; + + Host_Main(); + + return true; +} -- 2.39.2