69 lines
1.7 KiB
C
69 lines
1.7 KiB
C
// Emacs style mode select -*- C++ -*-
|
|
//-----------------------------------------------------------------------------
|
|
//
|
|
// $Id:$
|
|
//
|
|
// Copyright (C) 1993-1996 by id Software, Inc.
|
|
//
|
|
// This source is available for distribution and/or modification
|
|
// only under the terms of the DOOM Source Code License as
|
|
// published by id Software. All rights reserved.
|
|
//
|
|
// The source is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// FITNESS FOR A PARTICULAR PURPOSE. See the DOOM Source Code License
|
|
// for more details.
|
|
//
|
|
// $Log:$
|
|
//
|
|
// DESCRIPTION:
|
|
// Main program, simply calls D_DoomMain high level loop.
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
static const char
|
|
rcsid[] = "$Id: i_main.c,v 1.4 1997/02/03 22:45:10 b1 Exp $";
|
|
|
|
|
|
|
|
#include "doomdef.h"
|
|
|
|
#include "m_argv.h"
|
|
#include "d_main.h"
|
|
|
|
int app_proc_thread()
|
|
{
|
|
return app_run( app_proc, 0, 0, 0, 0 );
|
|
}
|
|
|
|
int
|
|
main
|
|
( int argc,
|
|
char** argv )
|
|
{
|
|
myargc = argc;
|
|
myargv = argv;
|
|
|
|
#ifndef __wasm__
|
|
#if defined( __TINYC__ )
|
|
HMODULE kernel = LoadLibrary( "kernel32" );
|
|
InitializeConditionVariable = GetProcAddress( kernel, "InitializeConditionVariable");
|
|
WakeConditionVariable = GetProcAddress( kernel, "WakeConditionVariable");
|
|
SleepConditionVariableCS = GetProcAddress( kernel, "SleepConditionVariableCS");
|
|
#endif
|
|
thread_signal_init( &vblank_signal );
|
|
thread_mutex_init( &mus_mutex );
|
|
#endif
|
|
|
|
thread_atomic_int_store( &app_running, 1 );
|
|
#ifdef _WIN32
|
|
thread_create( app_proc_thread, 0, THREAD_STACK_SIZE_DEFAULT );
|
|
thread_signal_wait( &vblank_signal, THREAD_SIGNAL_WAIT_INFINITE );
|
|
D_DoomMain ();
|
|
#else
|
|
app_run( app_proc, 0, 0, 0, 0 );
|
|
#endif
|
|
|
|
return 0;
|
|
}
|