#include <stdio.h>
#include <allegro5/allegro5.h>
#include <allegro5/allegro_font.h>

void init_all(ALLEGRO_TIMER* timer, ALLEGRO_EVENT_QUEUE* queue, ALLEGRO_DISPLAY* disp, ALLEGRO_FONT* font)
{
	if (!al_init())
	{
		printf("couldn't initialize allegro\n");
		exit(1);
	}

	if (!al_install_keyboard())
	{
		printf("couldn't initialize keyboard\n");
		exit(1);
	}

	timer = al_create_timer(1.0 / 60.0);
	if (!timer)
	{
		printf("couldn't initialize timer\n");
		exit(1);
	}

	queue = al_create_event_queue();
	if (!queue)
	{
		printf("couldn't initialize queue\n");
		exit(1);
	}

	disp = al_create_display(800, 600);
	if (!disp)
	{
		printf("couldn't initialize display\n");
		exit(1);
	}

	font = al_create_builtin_font();
	if (!font)
	{
		printf("couldn't initialize font\n");
		exit(1);
	}

	al_register_event_source(queue, al_get_keyboard_event_source());
	al_register_event_source(queue, al_get_display_event_source(disp));
	al_register_event_source(queue, al_get_timer_event_source(timer));
}
