#include "common.h" #include "message.h" CLIENT_DATA* cl_create_data(CLIENT_DATA* data, CLIENT_PARAMETRS parametrs) { if(!data) { data = (CLIENT_DATA*)malloc(sizeof(CLIENT_DATA)); show_message_error(data, "Failed to allocate space for CLIENT_DATA"); } cl_create_screen(&data->screen, parametrs.scale_factor, parametrs.fullscreen, parametrs.resolution, parametrs.width, parametrs.height, parametrs.FPS, parametrs.num_adapter); cl_create_timer(&data->timer, parametrs.FPS); cl_create_event(&data->event, &data->timer, &data->screen); cl_create_media(&data->media, parametrs.bitmaps_size, parametrs.fonts_size, parametrs.samples_size); cl_create_pairing(&data->pairing, parametrs.pairing_size); cl_create_sound(&data->sound, parametrs.sound_size); for(int i = 0; i < 7; i++) { data->keys[i] = false; } data->pause = false; data->done = false; data->render = false; data->state = 0; data->enet.port = parametrs.enet_port; strncpy(data->enet.host, parametrs.enet_host, 20); data->settings.effects_gain = parametrs.effects_gain; data->settings.music_gain = parametrs.music_gain; return data; } void cl_destroy_data(CLIENT_DATA* data) { cl_destroy_media(&data->media); cl_destroy_event(&data->event); cl_destroy_timer(&data->timer); cl_destroy_screen(&data->screen); cl_destroy_pairing(&data->pairing); cl_destroy_sound(&data->sound); free(data); }