void set_preference_display_settings() { set_grid(grid()); set_turbo(turbo()); set_turbo_speed(turbo_speed()); set_color_cursors(preferences::get("color_cursors", true)); }
void game_display::float_label(const map_location& loc, const std::string& text, const SDL_Color& color) { if(preferences::show_floating_labels() == false || fogged(loc)) { return; } font::floating_label flabel(text); flabel.set_font_size(font::SIZE_XLARGE); flabel.set_color(color); flabel.set_position(get_location_x(loc)+zoom_/2, get_location_y(loc)); flabel.set_move(0, -2 * turbo_speed()); flabel.set_lifetime(60/turbo_speed()); flabel.set_scroll_mode(font::ANCHOR_LABEL_MAP); font::add_floating_label(flabel); }
display_manager::display_manager(display* d) { disp = d; load_hotkeys(); set_grid(grid()); set_turbo(turbo()); set_turbo_speed(turbo_speed()); set_scroll_to_action(scroll_to_action()); set_color_cursors(preferences::get("color_cursors", false)); }
void game_display::new_turn() { const time_of_day& tod = tod_manager_.get_time_of_day(); if( !first_turn_) { const time_of_day& old_tod = tod_manager_.get_previous_time_of_day(); if(old_tod.image_mask != tod.image_mask) { const surface old_mask(image::get_image(old_tod.image_mask,image::SCALED_TO_HEX)); const surface new_mask(image::get_image(tod.image_mask,image::SCALED_TO_HEX)); const int niterations = static_cast<int>(10/turbo_speed()); const int frame_time = 30; const int starting_ticks = SDL_GetTicks(); for(int i = 0; i != niterations; ++i) { if(old_mask != NULL) { const fixed_t proportion = ftofxp(1.0) - fxpdiv(i,niterations); tod_hex_mask1.assign(adjust_surface_alpha(old_mask,proportion)); } if(new_mask != NULL) { const fixed_t proportion = fxpdiv(i,niterations); tod_hex_mask2.assign(adjust_surface_alpha(new_mask,proportion)); } invalidate_all(); draw(); const int cur_ticks = SDL_GetTicks(); const int wanted_ticks = starting_ticks + i*frame_time; if(cur_ticks < wanted_ticks) { SDL_Delay(wanted_ticks - cur_ticks); } } } tod_hex_mask1.assign(NULL); tod_hex_mask2.assign(NULL); } first_turn_ = false; display::update_tod(); invalidate_all(); draw(); }