#include #include #include "CORE_general.h" #include "CORE_console.h" #include "CORE_turbo_keys.h" #include "CORE_ds2key_compat.h" #include "CORE_network.h" #include "CORE_fileio.h" #include "CORE_power.h" /* Set all default values */ void Env_init(void){ tmpEnv = NULL; // for good gui_config() purpose! Env.current_state = APP_SPLASH; // current application state Env.next_state = APP_SPLASH; // initial value doesn't matter... Env.pad_number = 1; // first player pad (Should never be 0) PA_SetBrightness(USCR, (Env.uscr_bright = -32)); // up screen brightness PA_SetBrightness(DSCR, (Env.dscr_bright = -32)); // down screen brightness Env.fat_enabled = fatInitDefault(); // init fat system and set corresponding flag #ifdef DEBUG if(Env.fat_enabled) PA_Print(USCR, "DLDI Init: SUCCESS\n"); else PA_Print(USCR, "DLDI Init: FAILED\n"); #endif Env.has_changed = 0; Env.tmp_has_changed = 0; Env.ds2key_compat = 0; // Env sub content. console_init(&(Env.console)); turbo_keys_init(&(Env.turbo)); ds2key_init(&(Env.ds2key)); network_init(&(Env.network)); power_init(&(Env.power)); // HERE read config file config_read(); } /* Set pad number */ void Env_SetPad(u8 pad){ Env.pad_number = pad; /* The server port trick! */ if(Env.ds2key_compat){ Env.network.serv_real_port = Env.network.serv_base_port; } else{ Env.network.serv_real_port = Env.network.serv_base_port + Env.pad_number - 1; } #ifdef DEBUG PA_Print(USCR, "Selected player %d\n", pad); if(Env.ds2key_compat) PA_Print(USCR, "DS2key mode is active\n"); #endif return; } /* Perform screen fade in/out Return 1 if in progress 0 if finished */ u8 fadein(u8 screen){ switch(screen){ case USCR: if(Env.uscr_bright < 0) PA_SetBrightness(screen, (Env.uscr_bright += 2)); return (Env.uscr_bright < 0); case DSCR: if(Env.dscr_bright < 0) PA_SetBrightness(screen, (Env.dscr_bright += 2)); return (Env.dscr_bright < 0); } /* should not happend */ return 0; } u8 fadeout(u8 screen){ switch(screen){ case USCR: if(Env.uscr_bright > -32) PA_SetBrightness(screen, (Env.uscr_bright -= 2)); return (Env.uscr_bright > -32); case DSCR: if(Env.dscr_bright > -32) PA_SetBrightness(screen, (Env.dscr_bright -= 2)); return (Env.dscr_bright > -32); } /* should not happend */ return 0; } /* Check power... */ void env_power_check(void){ if(PA_LidClosed()){ if(Env.current_state == APP_PLAY) network_disconnect(&(Env.network)); PA_SetLedBlink(1, 0); // slow blink PA_CheckLid(); if(Env.current_state == APP_PLAY) network_connect(&(Env.network)); } }