← index
Old.Learning.Projects/MasterX_Example_Character_Animation/MasterMain.cpp
Source: Old.Learning.Projects/MasterX_Example_Character_Animation/MasterMain.cpp
// the main file

// written by jared bruni

// for planetsourcecode


#include "thehead.h"


MasterXHWND mxhwnd;// masterX hwnd object

Intro  intro; //  intro object

Game   game; // game object




// mastermain entry point

int _stdcall MasterMain(HINSTANCE hInst,LPSTR cmdline)
{

	// create MasterX

	if(mxhwnd.CreateMasterX("CharANI",640,480,COLOR_DEFAULT,MasterProc,hInst,LoadIcon(NULL,IDI_APPLICATION),LoadCursor(NULL,IDC_ARROW)))
	{
		intro.init(&mxhwnd);
		game.init(&mxhwnd);
		intro.load();
		game.load();
		mxhwnd.SetScreen(INTRO);
		ShowCursor(false);
		return mxhwnd.InitLoop(update);// initlize program loop

	}

	return 0;
}


// master proc windows message process

long _stdcall MasterProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
{
	switch(msg)
	{
	case WM_DESTROY:
		PostQuitMessage(0);
		break;

	case WM_ACTIVATEAPP:
		mxhwnd.activeapp = wParam;
		break;

	case WM_KEYDOWN:
		{
			switch(wParam)
			{
			case VK_ESCAPE:
				mxhwnd.Kill(); // kill program (exit)

				break;
			}
		}
		break;
	default: return DefWindowProc(hwnd,msg,wParam,lParam);
	}

	return 0;
}

// update callback function

void update(MASTERSCREEN screen)
{
	switch(screen)
	{
	case INTRO:
		intro.update();
		break;
	case GAME:
		game.update();
		break;
	}
}