//Windows процедура
dword   WndProc(dword hWnd,msg,wPar,lPar)
{

        switch(msg){
               //Обработка нажатий на клавиши
               CASE  WM_KEYDOWN:

                     EAX=#Keys;
                     EAX+=wPar;
                     DSBYTE[EAX]=char 1;

                     $xor eax, eax
                     break;

               CASE WM_KEYUP:

                     EAX=#Keys;
                     EAX+=wPar;
                     DSBYTE[EAX]=char 0;

                     $xor eax, eax
                     break;


               CASE  WM_SETFOCUS:

                      $xor eax, eax
                      break;

             	CASE WM_PAINT:

                     ProcKey();     //обрабока нажатий на клавиши
             	     Flip();        //Рендер Анимации md2
		     ViewFPS(hWnd); //Демонстрация FPS

                     $xor eax, eax
                     BREAK;


               CASE WM_SIZE:


	       GetClientRect(hWnd,#rcGL);
	       glViewport(0,0,rcGL.right,rcGL.bottom);
	       InvalidateRect(hWnd,NULL,FALSE);
	       $xor eax,eax
               BREAK;


		case WM_COMMAND:         //Когда юзер пользует пункты меню
			SWITCH(wPar)
                        {




                                 //Выбираем в меню выход
                                 case ID_EXIT:
					SendMessageA(hWnd,WM_CLOSE,0,0);

			                EAX=0;
			                BREAK;


				default:
			                EAX=0;
					break;

			}



               case WM_DESTROY:
//                    COMETHOD(lpdsbuffer,#IDirectSoundBuffer.Stop);

                        PostQuitMessage(0);
                        EAX=0;
                        BREAK;


                default:
                        DefWindowProcA(hWnd,msg,wPar,lPar);

        }


}
