//============================================================================= 
//Andrey Ch homepage http://pascal.vov.ru E-MAIL: sofandr@mail.ru
//
//Пример использования DirectDraw на C-- 
//компилируется в obj файл для windows
//после линкером от MASM собирается в исполняемый EXE файл
//для последующей сборки линковщиком
//
//=============================================================================
//
#pragma option w32     //создание Windows GUI EXE.
#pragma option J0      //не включать startup code.
#pragma option w       //Включить предупреждение.
//#pragma option OBJ     //Создание OBJ file


#define _ADVAPI_        TRUE
#define	_WINBASE_	TRUE   // для доступа к файлам через API windows
#define	_COMMCTRL_	TRUE
#define	_WINGDI_	TRUE
#define	_COMMDLG_	TRUE   // для понимания структуры OPENFILENAME

#include "Windows.h--"         // включаем заголовочный файл Windows
#include "INC/Variable.C"      //Глобальные переменные программы
#include "INC/anorms.h"



#include "MMSYSTEM.H--"        // Нужно для работы с WAV файлами и DirectSound
#define  GUID_DEFINED   TRUE
//#include "DirectX/GUIDDEF.H--"  //Описание типа GUID
#include "resurs.rc"            // Файл ресурса
#include "string32.h--"         // библиотека работы со строками
#include "INC/OpenGL/OPENGL.H--"  //OpenGL
#include "INC/OpenGL/DOUBLE.H--"

#include "INC/CWin.C"          //Процедура создания окна
#include "INC/wndP.C"          //процедура онка
#include "INC/SizeW.C"         //установка клиентской части экрана



#include "INC/LoadPCX.h"       //загрузка PCX файла.
#include "INC/strucMD2.h"
#include "INC/OpenGL/Anim.h"
#include "INC/DeInit.C"


//OpenGL
#include "INC/OpenGL/_gluPer.h"         //Установка преспективы
#include "INC/OpenGL/initGL.h"
#include "INC/OpenGL/Flip.h"
#include "INC/OpenGL/render.h"
#include "INC/OpenGL/TexInit.h"        //Инит текстуры
#include "INC/ProcKey.h"               //Обработка нажатий на клавиши
#include "INC/ViewFPS.h"               //показывает FPS

void main()
{
//static DWORD ZZZ;
//static float RRR;

//ZZZ=4;


//RRR=20/ZZZ;
//$FLD RRR;


//EAX=#avertexnormals;

q2_loadmodel();

//EAX=md2_model.texCoords;

InitFrame();

ReturnCurrentTime();



//------------
Pirost=1.0f;
//-----------


hWnd=CreateWindow();          //Создания окна              

//Изменяем параметры клиентской части c учетом меню
//под отладчиком OLLYDBG глючит
SizeMoveWindow(hWnd);


InitGL();
LoadPCX(#PCXname);        //В EAX вернулся адрес загруженой текстуры
TexInit(EAX);


 msg_loop:
	InvalidateRect(hWnd,NULL,FALSE);
        GetMessage(#message,NULL,0,0);
        $or eax,eax
	$jz end_loop
	TranslateMessage(#message);
	DispatchMessage(#message);
 $jmp	msg_loop
 end_loop:


DeInit();

        ExitProcess(message.wParam);

}
