← index
Old.DirectX.Programs/apps/r00t-b33r/mastermain.cpp
Source: Old.DirectX.Programs/apps/r00t-b33r/mastermain.cpp
// master principal



#include "thehead.h"



MasterXHWND   mxhwnd;// masterX hwnd object

//HFONT mfont = MakeFont("Arial",14); // font

klosed klosed;
intro intro;

game game;



// mastermain

int XSTD MasterMain(HINSTANCE hInst,LPSTR line)
{
	srand(time(NULL));

	// init masterX

	if(mxhwnd.CreateMasterX("Deslock",800,600,COLOR_DEFAULT,MasterProc,hInst,LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON1)),NULL),LoadCursor(NULL,IDC_ARROW))//LoadIcon(hInst,MAKEINTRESOURCE(IDI_ICON1)),NULL))

	{
		
		mxhwnd.InitTimer(1,1);
		
		klosed.load();
		intro.load();
		game.load();
	

		mxhwnd.SetScreen(ID_KLOSED);
		mxhwnd.HideCursor();
		
		//playgamesound(0);

		return mxhwnd.InitLoop(update);
	}
	
	return 0;
}






// masterproc callback proccess

long XSTD MasterProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
	case WM_ACTIVATEAPP:
		mxhwnd.activeapp = wParam; 
		break; 
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	case WM_KEYDOWN:
		{
			
		
			
				switch(mxhwnd.GetScreen())
				{
				
				case ID_KLOSED:
					mxhwnd.SetScreen(ID_INTRO);
					break;
				case ID_INTRO:
					mxhwnd.SetScreen(ID_GAME);
					break;
				case ID_GAME:
					if(mxhwnd.KeyCheck(DIK_ESCAPE) )
					{
		
					  mxhwnd.Kill();

					}
					
					
					
					break;
				//case ID_GAMEOVER:

				//	gameover.keypress(wParam);

				//	break;

				}
		
			
		
		}

	
	
	
	case WM_TIMER:
		{
			mxhwnd.ChangeTime();
		}
		break;
	default: return DefWindowProc(hwnd,msg,wParam,lParam);
	}
	
	return 0;
}


// update

void update(MASTERSCREEN screen)
{
	mxhwnd.SetTimeFlag();
	
	switch(screen)
	{
	case ID_KLOSED:
		klosed.update();
		break;
	case ID_INTRO:
		intro.intro_update();
		break;
	
	case ID_OPTIONS:
		//options_update();

		break;
	case ID_GAME:
		
		game.update();
	
		break;
	case ID_GAMEOVER:
		//gameover_update();

		break;
	}
	
}