/*********************************************************************
*	System controler
*	HEADER FILE
*	Autor:	Michal Jirouš
*	Datum: 1.9.2008
*	Soubor: sys_controller.h
*	Popis: Modul pracuje s udalostmi, ktere posila prislusnym soucastem
*			podle toho, v jakem stavu se prave nachazi. Dale provadi
*			vykreslovani a volani funkce beh stejnym zpusobem.
**********************************************************************/

#ifndef __SYS_CONTROLLER_H__
#define __SYS_CONTROLLER_H__

#include "SDL/SDL.h"

namespace systemController
{
	const Uint32 GAME_DELAY = 30;
	const Uint32 RUNTIME_PERIOD = GAME_DELAY;
	const float RUNTIME_PERIOD_S = (float)RUNTIME_PERIOD / 1000.0f;
	const Uint32 DRAWTIME_PERIOD = GAME_DELAY;

	const float RUNTIME_PERIOD_MS = ((float)RUNTIME_PERIOD)/1000.0f;

	enum sys_states
	{
		LOADGAME = 1,
		CONSOLE,
		MAINMENU,
		LOADMAP,
		GAME,
		HUD_SET
	};

	void main();
	void setRunningLevel( int level, bool overwrite_last = true );
	float getTimeDelayMultiplicator();
	int getRunningLevel();
	void setLastRunningLevel();
	Uint32 getCurrentFps();
};

#endif

