#include "Log.h"
#include "AssetLoader.h"
#include "AnimationState.h"
#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_image.h>
#include <iostream>

void debug()
{
	ALLEGRO_DISPLAY *display;
	ALLEGRO_DISPLAY_MODE   dispData;

	al_init();
	al_init_primitives_addon();
	al_init_image_addon();
	al_get_display_mode(al_get_num_display_modes() - 1, &dispData);
	al_set_new_bitmap_flags(ALLEGRO_VIDEO_BITMAP);
	display = al_create_display(dispData.width, dispData.height);
}


int main()
{
	Log::initLog("EngineLog");
	debug();
	AnimationPack* pack = AssetLoader::loadAsset("Actor");

	AnimationState stateD;
	AnimationState stateA;
	int dAnim = 5;
	int aAnim = 8;
	stateD.setDefaultNormal(pack->getAnimationPtr(dAnim));
	stateA.setActiveNormal(pack->getAnimationPtr(aAnim));
	Position objPos(100, 100, 75);
	Position camPos(100, 100, 90);
	
	float xScale = 0.5;
	float yScale = 0.5;
	ALLEGRO_COLOR white = al_map_rgb(255, 255, 255);
	while (true)
	{
		al_clear_to_color(white);
		if (stateA.active())
			stateA.draw(objPos,camPos);
		else 
			stateD.draw(objPos,camPos);
		al_flip_display();
	}
	
	delete pack;
	return 0;
}