/** * menustate(void) * * @brief * @param void * @return void */ void menustate(void) { sbool run = TRUE; while(run){ if(widget_get_uip()->root->shown.count > 0 || widget_get_uip()->root->hidden.count > 0) widget_unload(widget_get_uip()->root); switch(menu_state){ case MENU_STATE_MAIN: init_main_menu();//initializes the first menu for use. main_menu();//Start the First Menu, Menu main loop. break; case MENU_STATE_CREDITS: init_credits(); credits(); break; case MENU_STATE_LOGIN: init_login(); login(); break; case MENU_STATE_CREATE: init_new_account(); new_account(); break; case MENU_STATE_INGAME: init_ingame(); ingame(); break; case MENU_STATE_STATUS: if(!statusloader) init_status("Log in successful."); else { init_status("Widget System Initialized."); statusloader = FALSE; } status(); break; case MENU_STATE_EXIT: run = FALSE; break; } } }
void widget_unload_system(void) { widget_unload(ui.root); free(ui.root); ui.root = NULL; }
void error_handler(int error_flag, const char *string) { switch(error_flag){ case DE_ERROR_MISC_ERROR: add_error_log(comb_2str("ERROR: Misc! ::",string)); break; case DE_ERROR_POINTER_IN_USE: add_error_log(comb_2str("ERROR: Pointer in use! ::",string)); break; case DE_ERROR_UNDEFINED_POINTER: add_error_log(comb_2str("ERROR: Undefined Pointer! ::",string)); break; case DE_ERROR_OUT_OF_MEMORY: add_error_log(comb_2str("ERROR: Server Out Of Memory! ::",string)); break; case DE_ERROR_IO_ERROR: add_error_log(comb_2str("ERROR: I/O Error! ::",string)); break; case DE_ERROR_FILE_ERROR: add_error_log(comb_2str("ERROR: File Error! ::",string)); break; case DE_ERROR_OVERFLOW_ERROR: add_error_log("ERROR: Overflow!\n"); break; case DE_ERROR_SOCKET_ADDR_ERROR: add_error_log("ERROR: Could not establish server address!\n"); break; case DE_ERROR_GLFWINIT_ERROR: add_error_log("ERROR: GLFW Did Not initialize!\n"); break; case DE_ERROR_GLFWWIN_ERROR: add_error_log("ERROR: GLFW Did Not Open Window!\n"); break; case DE_ERROR_IMAGELOADER_ERROR: add_error_log(comb_2str("ERROR: Image Did Not Load! ::",string)); break; case DE_ERROR_PATH_INCORRECT: add_error_log(comb_2str("ERROR: Could not establish Program_Path! ::",string)); break; case DE_ERROR_PATH_NULL: add_error_log(comb_2str("ERROR: Path is NULL. ::",string)); break; case DE_ERROR_GLEWINIT_ERROR: add_error_log("ERROR: GLEW Did Not initialize!\n"); break; case DE_ERROR_POINTER_NULL: add_error_log(comb_2str("ERROR: Pointer is NULL. ::",string)); break; case DE_ERROR_NONE_ACSII: add_error_log("MESSAGE: Does Not Support Unicode characters.\n"); return; case DE_ERROR_SOCKET_INIT: add_error_log("ERROR: Socket did not initialize.\n"); return; case DE_ERROR_SOCKET_WSASTARTUP: add_error_log("ERROR: windows socket startup error.\n"); return; case DE_ERROR_SOCKET_SEND_SIZE: add_error_log(comb_2str("MESSAGE: send size was incorrect. ::",string)); return; case DE_ERROR_SOCKET_CONNECTION_LOSS: add_error_log("MESSAGE: connection was lost\n"); return; case DE_ERROR_INVALID_PACKET_ID: add_error_log(comb_2str("MESSAGE: Packet ID is invalid. ::",string)); return; case DE_ERROR_INVALID_PACKET_OFFSET: add_error_log(comb_2str("MESSAGE: Packet offset equals zero. ::",string)); return; default: add_error_log("ERROR: Unknown Error!\n"); } widget_unload(widget_get_uip()->root); unload_functions(); }