void Engine_destroy() { Input_destroy(); Logic_destroy(); Physics_destroy(); Timer_destroy(); Graphics_destroy(); }
void Menu_destroy(Menu * menu) { if (menu) { free(menu->rect); SDL_FreeSurface(menu->surface); Node* actual = menu->buttons->begin; Node * aux = NULL; while (actual != NULL) { aux = actual->next; if (actual->value != NULL) { Button_destroy((Button *) actual->value); } actual = aux; } actual = menu->inputs->begin; aux = NULL; while (actual != NULL) { aux = actual->next; if (actual->value != NULL) { Input_destroy((Input *) actual->value); } actual = aux; } Menu_destroy_labels(menu); List_destroy(menu->buttons); List_destroy(menu->inputs); List_destroy(menu->labels); menu = NULL; } }