#include #include #include #include #include #include #include #include #include "common.h" #include "message.h" void cl_load_allegro_resources() { show_message_error(al_init(), "Failed to initialize Allegro"); show_message_error(al_init_primitives_addon(), "Failed to initialize addon primitives"); show_message_error(al_init_image_addon(), "Failed to initialize addon image"); show_message_error(al_install_keyboard(), "Failed to install keyboard"); show_message_error(al_install_mouse(), "Failed to install mouse"); show_message_error(al_init_font_addon(), "Failed to initialize addon font"); show_message_error(al_init_ttf_addon(), "Failed to initialize addon ttf"); show_message_error(al_install_audio(), "Failed to install audio"); show_message_error(al_init_acodec_addon(), "Failed to initialize addon acodec"); al_reserve_samples(20); } CLIENT_RESOURCE* cl_create_resource(CLIENT_RESOURCE* res, CLIENT_PARAMETRS parametrs) { if(!res) { res = (CLIENT_RESOURCE*)malloc(sizeof(CLIENT_RESOURCE)); show_message_error(res, "Failed to allocate space for CLIENT_RESOURCE"); } cl_create_screen(&res->screen, parametrs.scale_factor, parametrs.fullscreen, parametrs.resolution, parametrs.width, parametrs.height, parametrs.FPS, parametrs.num_adapter); cl_create_timer(&res->timer, parametrs.FPS); cl_create_event(&res->event, &res->timer, &res->screen); cl_create_media(&res->media, parametrs.bitmaps_size, parametrs.fonts_size, parametrs.samples_size); cl_create_pairing(&res->pairing, parametrs.pairing_size); cl_create_sound(&res->sound, parametrs.sound_size); return res; } void cl_destroy_resource(CLIENT_RESOURCE* res) { cl_destroy_media(&res->media); cl_destroy_event(&res->event); cl_destroy_timer(&res->timer); cl_destroy_screen(&res->screen); cl_destroy_pairing(&res->pairing); cl_destroy_sound(&res->sound); free(res); }