int main(int argc, char **argv) { bool fullScreen; int windowW, windowH; srand(time(0)); allegro_init(); install_keyboard(); install_mouse(); install_timer(); install_joystick(JOY_TYPE_AUTODETECT); set_color_depth(32); CheckMIDIs(); set_config_file("trog.cfg"); CfgLoad(); set_gfx_mode(cfgFull ? GFX_AUTODETECT_FULLSCREEN : GFX_AUTODETECT_WINDOWED, std::atoi(cfgW), std::atoi(cfgH), 0, 0); install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, 0); set_window_title("The Revenge of Gregorius"); set_display_switch_mode(SWITCH_BACKGROUND); set_display_switch_callback(SWITCH_OUT, &SwitchOut); LoadSoundVolumes("sounds.cfg"); game.Init(); bool notQuit = true; while(notQuit) { int ret = MainMenu(); switch(ret) { case 0: game.zoomMode = cfgZoom; game.Start(-1); break; case 1: DoConfiguration(); break; case 2: notQuit = false; break; } } return 0; }
void handleCfgCmd(rfTrcvPacket_t* packet) { switch (packet->packet.data[0]) { case 1: CfgSave(); break; case 2: CfgLoad(); break; case 3: packet->packet.size = 2; packet->packet.data[1] = CfgParameterCount; break; case 4: packet->packet.size = 3; packet->packet.data[1] = cfgRam.checksum >> 8; packet->packet.data[2] = cfgRam.checksum & 0xFF; break; } }