Index: gui/colors.cc =================================================================== --- gui/colors.cc (リビジョン 4050) +++ gui/colors.cc (作業コピー) @@ -149,7 +149,7 @@ buttons[17].set_typ(button_t::square_state); buttons[17].set_text("show grid"); - buttons[18].set_pos( koord(10,SHOW_STATION_SIGNS) ); + buttons[18].set_pos( koord(26,SHOW_STATION_SIGNS) ); buttons[18].set_typ(button_t::arrowright); buttons[18].set_tooltip("show station names"); /* buttons[18].set_text("show station names"); @@ -165,6 +165,11 @@ buttons[20].set_typ(button_t::square_state); buttons[20].set_text("sliced underground mode"); + buttons[21].set_pos( koord(10,SHOW_STATION_SIGNS) ); + buttons[21].set_typ(button_t::square_state); +// buttons[21].set_text("show station names"); + buttons[21].pressed = umgebung_t::show_names&1; + inp_underground_level.set_pos(koord(NUMBER_INP, SLICE) ); inp_underground_level.set_groesse( koord(50,12)); inp_underground_level.set_limits(welt->get_grundwasser()-10, 32); @@ -247,17 +252,11 @@ } else if((buttons+17)==komp) { grund_t::toggle_grid(); } else if((buttons+18)==komp) { - if( umgebung_t::show_names&1 ) { - if( (umgebung_t::show_names>>2) == 2 ) { - umgebung_t::show_names &= 2; - } - else { - umgebung_t::show_names += 4; - } + if( umgebung_t::show_names&8 ) { + umgebung_t::show_names &= 3; } else { - umgebung_t::show_names &= 2; - umgebung_t::show_names |= 1; + umgebung_t::show_names += 4; } } else if((buttons+19)==komp) { umgebung_t::show_names ^= 2; @@ -269,6 +268,8 @@ welt->update_map(); // renew toolbar werkzeug_t::update_toolbars(welt); + } else if((buttons+21)==komp) { + umgebung_t::show_names ^= 1; } else if (komp == &inp_underground_level) { if(grund_t::underground_mode==grund_t::ugm_level) { grund_t::underground_level = inp_underground_level.get_value(); @@ -299,26 +300,25 @@ //buttons[18].pressed = umgebung_t::show_names&1; buttons[19].pressed = (umgebung_t::show_names&2)!=0; buttons[20].pressed = grund_t::underground_mode == grund_t::ugm_level; + buttons[21].pressed = umgebung_t::show_names&1; gui_frame_t::zeichnen(pos, gr); // draw the lable stype - if( umgebung_t::show_names&1 ) { - PLAYER_COLOR_VAL pc = welt->get_active_player() ? welt->get_active_player()->get_player_color1()+4 : COL_ORANGE; - const char *text = translator::translate("show station names"); - switch( umgebung_t::show_names >> 2 ) { - case 0: - display_ddd_proportional_clip( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y+(LINESPACE/2), proportional_string_width(text)+7, 0, pc, COL_BLACK, text, 1 ); - break; - case 1: - display_outline_proportional( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y, pc+1, COL_BLACK, text, 1 ); - break; - case 2: - display_outline_proportional( 16+x+buttons[18].get_pos().x+16, y+buttons[18].get_pos().y, COL_YELLOW, COL_BLACK, text, 1 ); - display_ddd_box_clip( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y, LINESPACE, LINESPACE, pc-2, pc+2 ); - display_fillbox_wh( 16+x+buttons[18].get_pos().x+1, y+buttons[18].get_pos().y+1, LINESPACE-2, LINESPACE-2, pc, 1 ); - break; - } + PLAYER_COLOR_VAL pc = welt->get_active_player() ? welt->get_active_player()->get_player_color1()+4 : COL_ORANGE; + const char *text = translator::translate("show station names"); + switch( umgebung_t::show_names >> 2 ) { + case 0: + display_ddd_proportional_clip( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y+(LINESPACE/2), proportional_string_width(text)+7, 0, pc, COL_BLACK, text, 1 ); + break; + case 1: + display_outline_proportional( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y, pc+1, COL_BLACK, text, 1 ); + break; + case 2: + display_outline_proportional( 16+x+buttons[18].get_pos().x+16, y+buttons[18].get_pos().y, COL_YELLOW, COL_BLACK, text, 1 ); + display_ddd_box_clip( 16+x+buttons[18].get_pos().x, y+buttons[18].get_pos().y, LINESPACE, LINESPACE, pc-2, pc+2 ); + display_fillbox_wh( 16+x+buttons[18].get_pos().x+1, y+buttons[18].get_pos().y+1, LINESPACE-2, LINESPACE-2, pc, 1 ); + break; } // seperator Index: gui/colors.h =================================================================== --- gui/colors.h (リビジョン 4050) +++ gui/colors.h (作業コピー) @@ -5,7 +5,7 @@ #include "components/gui_button.h" #include "components/gui_numberinput.h" -#define COLORS_MAX_BUTTONS (21) +#define COLORS_MAX_BUTTONS (22) /** * Men zur トnderung der Anzeigeeinstellungen. Index: gui/settings_stats.cc =================================================================== --- gui/settings_stats.cc (リビジョン 4050) +++ gui/settings_stats.cc (作業コピー) @@ -69,7 +69,7 @@ INIT_NUM( "fast_forward", umgebung_t::max_acceleration, 1, 1000, gui_numberinput_t::AUTOLINEAR, false ); SEPERATOR INIT_BOOL( "numbered_stations", sets->get_numbered_stations() ); - INIT_NUM( "show_names", umgebung_t::show_names, 0, 3, gui_numberinput_t::AUTOLINEAR, true ); + INIT_NUM( "show_names", umgebung_t::show_names, 0, 11, gui_numberinput_t::AUTOLINEAR, true ); INIT_NUM( "show_month", umgebung_t::show_month, 0, 7, gui_numberinput_t::AUTOLINEAR, true ); INIT_BOOL( "add_player_name_to_message", umgebung_t::add_player_name_to_message ); SEPERATOR Index: simwerkz.h =================================================================== --- simwerkz.h (リビジョン 4050) +++ simwerkz.h (作業コピー) @@ -677,27 +677,11 @@ wkz_show_name_t() : werkzeug_t() { id = WKZ_SHOW_NAMES | SIMPLE_TOOL; } const char *get_tooltip(spieler_t *) { return translator::translate( - (umgebung_t::show_names>>2)==2 ? "hide station names" : + (umgebung_t::show_names&3)==3 ? "hide station names" : (umgebung_t::show_names&1) ? "show waiting bars" : "show station names"); } bool init( karte_t *welt, spieler_t * ) { - if( umgebung_t::show_names>=11 ) { - if( (umgebung_t::show_names&3)==3 ) { - umgebung_t::show_names = 0; - } - else { - umgebung_t::show_names = 2; - } - } - else if( umgebung_t::show_names==2 ) { - umgebung_t::show_names = 3; - } - else if( umgebung_t::show_names==0 ) { - umgebung_t::show_names = 1; - } - else { - umgebung_t::show_names += 4; - } + umgebung_t::show_names = (umgebung_t::show_names & 12) | ((umgebung_t::show_names+1) & 3); welt->set_dirty(); return false; }