#include "mungal4.h"
#pragma hdrstop

#include "..\munga\style.h"

char GlobalEggFileName[80];

int
	main()
{
	#if defined(TEST_CLASS)
	Start_Registering();

	//
	//------------------
	// Test time manager
	//------------------
	//
	#if 0
      Time::TestClass();
	#endif

	//
	//-------------------------------------------------
	// Test gauges and gauge manager
	//-------------------------------------------------
	//
	#if 0
	{
		L4Gauge::TestClass();

		cout << "Gauge test...\n" << flush;
		VGA320x200x8	*display;
		display = new VGA320x200x8;
		Check(display);
		Register_Object(display);

		GraphicsPort *port;
		port = new GraphicsPort(display);
		Check(port);
		Register_Object(port);

		Scalar
			value(-1.0f);

		Scalar
			direction(0.002f);

		BarGraphVerticalScalar *bar;
		bar = new
			BarGraphVerticalScalar(
				NULL,
				0,
				port,
				20,20,30,180,
				1, 2,
				(Scalar) -1,
				(Scalar) 1,
				&value
			);
		Check(bar);
		Register_Object(bar);

		while (!kbhit())
		{
			value += direction;
			if (value >= 1.0f)
			{
				value = 1.0f;
				direction = - direction;
			}
			else if (value <= -1.0f)
			{
				value = -1.0f;
				direction = - direction;
			}
			bar->UpdateParameters();
			bar->Execute();
			display->Update(0);
		}
		getch();

		Check(bar);
		Unregister_Object(bar);
		delete bar;

		Check(port);
		Unregister_Object(port);
		delete port;

		Check(display);
		Unregister_Object(display);
		delete display;
	}
	#endif

	//
	//-------------------------------------------------
	// Test Audio Hardware
	//-------------------------------------------------
	//
	#if 0
	{
		char *blaster1, *blaster2;

		blaster1 = getenv(FRONT_CARD_ENV_VAR);
		blaster2 = getenv(REAR_CARD_ENV_VAR);

		//cout << "Audio test...\n" << flush;

		Check_Pointer(blaster1);
		Check_Pointer(blaster2);

		AudioHardware::TestClass();
		// AudioHardware::ProfileClass();
	}
	#endif

	//
	//--------------------------------------------
	// Stop registering, and tell us about its use
	//--------------------------------------------
	//
	Stop_Registering();
	Tell("Exiting\n");
	#endif

	return 0;
}
