#define __MAIN_FILE__ #include // PAlib include #include "gfx/all_gfx.c" #include "gfx/all_gfx.h" #include "CORE_general.h" #include "CORE_console.h" #include "CORE_turbo_keys.h" #include "CORE_network.h" #include "GUI_splash.h" #include "GUI_main.h" #include "GUI_config.h" #include "GUI_connect.h" #include "GUI_play.h" int main(void) { // PAlib Inits PA_Init(); PA_InitVBL(); PA_InitSound(); #ifdef DEBUG PA_InitText(USCR, 1); PA_SetTextCol(USCR, 0, 31, 0); PA_Print(USCR, "********************************"); PA_Print(USCR, "* DSPad Client v0.2 *"); PA_Print(USCR, "* NeoFlash Spring Contest 07 *"); PA_Print(USCR, "* By Cedric : *"); PA_Print(USCR, "* bong.ds@gmail.com *"); PA_Print(USCR, "********************************\n"); #endif /* Init DSPad environment */ Env_init(); PA_InitText(DSCR, 0); PA_SetTextCol(DSCR, 0, 0, 0); //black text while(1){ // Refresh PAlib Internals PA_WaitForVBL(); // GUI Stuff: switch(Env.current_state){ case APP_SPLASH: gui_splash(); break; case APP_MAIN: gui_main(); break; case APP_CONNECT: gui_connect(); break; case APP_PLAY: gui_play(); break; case APP_CONFIG: gui_config(); break; case APP_CREDITS: gui_splash(); break; // TODO: real credits case APP_SAVE: /* NOP */ break; case APP_CONNECT_MORE: gui_connect_more(); break; case APP_CONFIG_POWER: gui_config_power(); break; case APP_CONFIG_KEYS: gui_config_keys(); break; case APP_CONFIG_NET: gui_config_net(); break; case APP_CONFIG_NET_LOCALPORT: gui_config_net_local_port(); break; case APP_CONFIG_NET_SERVPORT: gui_config_net_serv_port(); break; case APP_CONFIG_NET_SERVIP: gui_config_net_serv_ip(); break; } // CORE stuff (net, pause, power, etc...) env_power_check(); if(!Env.ds2key_compat){ // normal DSPad mode console_process_input(&(Env.console)); turbo_keys_process_input(&(Env.turbo), &(Env.console)); network_send_msg(&(Env.network), &(Env.console), sizeof(console_t)); } else{ ds2key_process_input(&(Env.ds2key)); ds2key_send_msg(&(Env.network), &(Env.ds2key)); } } return 0; }