#include "D:\hge181\include\hge.h"

HGE *hge=0;

hgeQuad quad;

float x = 100;

bool FrameFunc()
{
    quad.v[0].x = x; quad.v[0].y=100;
	quad.v[1].x = x + 400; quad.v[1].y=100;
	quad.v[2].x = x + 400; quad.v[2].y=500;
	quad.v[3].x = x; quad.v[3].y=500;
    x += 10;
	return false;
}

bool RenderFunc()
{
	hge->Gfx_BeginScene();
	hge->Gfx_Clear(0);
	hge->Gfx_RenderQuad(&quad);
	hge->Gfx_EndScene();
	return false;
}


int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
	hge = hgeCreate(HGE_VERSION);

	hge->System_SetState(HGE_LOGFILE, "hge_tut02.log");
	hge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
	hge->System_SetState(HGE_RENDERFUNC, RenderFunc);
	hge->System_SetState(HGE_TITLE, "VV's prog!");

	hge->System_SetState(HGE_WINDOWED, true);
	hge->System_SetState(HGE_SCREENWIDTH, 800);
	hge->System_SetState(HGE_SCREENHEIGHT, 600);
	hge->System_SetState(HGE_SCREENBPP, 32);

	hge->System_Initiate();

	quad.tex=hge->Texture_Load("particles.png");

		quad.blend=BLEND_ALPHAADD | BLEND_COLORMUL | BLEND_ZWRITE;

		for(int i=0;i<4;i++)
		{
			quad.v[i].col=0xFFFFFFFF;
		}

		quad.v[0].tx=0; quad.v[0].ty=0;
		quad.v[1].tx=1; quad.v[1].ty=0;
		quad.v[2].tx=1; quad.v[2].ty=1;
		quad.v[3].tx=1; quad.v[3].ty=0;


		hge->System_Start();

        hge->System_Shutdown();
        hge->Release();

	return 0;
}
