TbScreenMode switch_to_next_video_mode(void) { TbScreenMode scrmode; scrmode = get_next_vidmode(lbDisplay.ScreenMode); if ( setup_screen_mode(scrmode) ) { settings.video_scrnmode = scrmode; } else { SYNCLOG("Can't enter %s (mode %d), falling to failsafe mode", get_vidmode_name(scrmode),(int)scrmode); scrmode = get_failsafe_vidmode(); if ( !setup_screen_mode(scrmode) ) { FatalError = 1; exit_keeper = 1; return Lb_SCREEN_MODE_INVALID; } settings.video_scrnmode = scrmode; } SYNCLOG("Switched video to %s (mode %d)", get_vidmode_name(scrmode),(int)scrmode); save_settings(); if (game.numfield_C & 0x20) setup_engine_window(status_panel_width, 0, MyScreenWidth, MyScreenHeight); else setup_engine_window(0, 0, MyScreenWidth, MyScreenHeight); // reinit_all_menus(); return scrmode; }
void set_player_mode(struct PlayerInfo *player, long nview) { long i; if (player->view_type == nview) return; player->view_type = nview; player->allocflags &= ~PlaF_Unknown8; if (is_my_player(player)) { game.numfield_D &= ~numfield_D_08; game.numfield_D |= numfield_D_01; if (is_my_player(player)) stop_all_things_playing_samples(); } switch (player->view_type) { case PVT_DungeonTop: i = PVM_IsometricView; if (player->view_mode_restore == PVM_FrontView) { set_engine_view(player, PVM_IsometricView); i = PVM_FrontView; } set_engine_view(player, i); if (is_my_player(player)) toggle_status_menu((game.status_flags & Status_ShowStatusMenu)); if ((game.status_flags & Status_ShowGui) != 0) setup_engine_window(status_panel_width, 0, MyScreenWidth, MyScreenHeight); else setup_engine_window(0, 0, MyScreenWidth, MyScreenHeight); break; case PVT_CreatureContrl: case PVT_CreaturePasngr: set_engine_view(player, PVM_CreatureView); if (is_my_player(player)) game.numfield_D &= ~numfield_D_01; setup_engine_window(0, 0, MyScreenWidth, MyScreenHeight); break; case PVT_MapScreen: player->continue_work_state = player->work_state; set_engine_view(player, PVM_ParchmentView); break; case PVT_MapFadeIn: set_player_instance(player, PI_MapFadeTo, 0); break; case PVT_MapFadeOut: set_player_instance(player, PI_MapFadeFrom, 0); break; } }