/*
** Command & Conquer Red Alert(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 O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
**********************************************************************************************
* *
* Project Name : VQAVIEW *
* *
* File Name : MAIN.CPP *
* *
* Programmer : Mike Grayford *
* *
* Start Date : November 14, 1995 *
* *
* Last Update : November 20, 1995 [MG] *
* *
*--------------------------------------------------------------------------------------------*
* Functions: *
* WinMain -- Program entry point *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
//---------------------------------------------------------------------------------------------
// INCLUDES
//---------------------------------------------------------------------------------------------
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
extern void VQA_Test( char *filename );
//==========================================================================
// Public data
//==========================================================================
GraphicBufferClass *Screen_Buffer = NULL;
int ScreenWidth = VIDEO_MODE_WIDTH;
BOOL GameInFocus = TRUE;
void Block_Mouse(GraphicBufferClass*){}
void Unblock_Mouse(GraphicBufferClass*){}
/***********************************************************************************************
* WinMain -- Program entry point *
* *
* *
* *
* INPUT: Standard Windows startup parameters *
* *
* OUTPUT: wParam of the message queue *
* *
* WARNINGS: None *
* *
* HISTORY: *
* 11/15/95 1:28PM ST : Created *
*=============================================================================================*/
int WINAPI WinMain (
Handle instance_handle,
Handle prev_instance_handle,
String command_line_string,
int show_window_command )
{
if (!prev_instance_handle){
//
// If the program is already running, bail.
//
if ( prev_instance_handle ) {
return( 0 );
}
//
// Create the main window.
//
Main_Window.Create_Main_Window( instance_handle );
//
// Show the window.
//
Main_Window.Display_Window();
//
// Create the GraphicBufferClass that will be the screen buffer
//
Screen_Buffer = new GraphicBufferClass ( VIDEO_MODE_WIDTH, VIDEO_MODE_HEIGHT, (GBC_Enum)(GBC_VIDEOMEM | GBC_VISIBLE) );
//
// Initialize Movie system.
//
Initialize_Movie_System();
if (*command_line_string){
VQA_Test(command_line_string);
}else{
//
// Windows message loop
//
while ( Main_Window.Update_Windows_Messages() ) ;
}
//
// Free the Movie system.
//
Free_Movie_System();
return( Main_Window.Get_Message_Queue_wParam() );
}else{
return (-1);
}
}