/** * @brief Generates error dialogues used by several landing tabs. * @param name Name of the ship, outfit or commodity being acted upon. * @param type Type of action. */ int land_errDialogue( char* name, char* type ) { errorlist_ptr = NULL; if (strcmp(type,"tradeShip")==0) shipyard_canTrade( name ); else if (strcmp(type,"buyShip")==0) shipyard_canBuy( name, land_planet ); else if (strcmp(type,"swapEquipment")==0) can_swapEquipment( name ); else if (strcmp(type,"swap")==0) can_swap( name ); else if (strcmp(type,"sellShip")==0) can_sell( name ); else if (strcmp(type,"buyOutfit")==0) outfit_canBuy( name, land_planet ); else if (strcmp(type,"sellOutfit")==0) outfit_canSell( name ); else if (strcmp(type,"buyCommodity")==0) commodity_canBuy( name ); else if (strcmp(type,"sellCommodity")==0) commodity_canSell( name ); if (errorlist_ptr != NULL) { dialogue_alert( "%s", errorlist ); return 1; } return 0; }
//------- Begin of function Firm::ai_del_firm -----------// // // Delete the firm no matter what status this firm is in. // void Firm::ai_del_firm() { if( under_construction ) { cancel_construction(COMMAND_PLAYER); } else { if( can_sell() ) sell_firm(COMMAND_AI); else destruct_firm(COMMAND_AI); } }
/** * @brief Generates error dialogues used by several landing tabs. * @param shipname Ship being acted upon. * @param type Type of action. */ int land_errDialogue( char* shipname, char* type ) { errorlist_ptr = NULL; if (strcmp(type,"trade")==0) shipyard_canTrade( shipname ); else if (strcmp(type,"buy")==0) shipyard_canBuy( shipname ); else if (strcmp(type,"swapEquipment")==0) can_swapEquipment( shipname ); else if (strcmp(type,"swap")==0) can_swap( shipname ); else if (strcmp(type,"sell")==0) can_sell( shipname ); if (errorlist_ptr != NULL) { dialogue_alert( "%s", errorlist ); return 1; } return 0; }
//--------- Begin of function Firm::disp_basic_info ---------// // void Firm::disp_basic_info(int dispY1, int refreshFlag) { //------- display the name of the firm --------// if( refreshFlag == INFO_REPAINT ) { vga_util.d3_panel_up( INFO_X1, dispY1, INFO_X2, dispY1+21 ); if( nation_recno ) { font_san.center_put( INFO_X1+21, dispY1, INFO_X2-2, dispY1+21, firm_name() ); char *nationPict = image_button.get_ptr("V_COLCOD"); vga_front.put_bitmap_remap(INFO_X1+3, dispY1+2, nationPict, game.get_color_remap_table(nation_recno, 0) ); } else { font_san.center_put( INFO_X1, dispY1, INFO_X2-2, dispY1+21, firm_name() ); } } dispY1+=23; //------- display hit points and buttons -------// int sliderX1, sliderX2; if( under_construction ) sliderX1 = INFO_X1+34; // there is only one button in the contruction mode, so the slider is longer else sliderX1 = INFO_X1+64; sliderX2 = INFO_X2-64; int showRepairIcon = builder_recno && !under_construction && should_show_info(); if( refreshFlag == INFO_REPAINT ) { button_sell.reset(); button_destruct.reset(); vga_util.d3_panel_up( INFO_X1, dispY1, INFO_X2, dispY1+26 ); if( nation_array.player_recno && nation_recno == nation_array.player_recno ) { if( under_construction || !can_sell() ) { button_destruct.paint( INFO_X1+4, dispY1+1, "V_DEM-U", "V_DEM-D" ); // Destruct if( under_construction ) button_destruct.set_help_code( "CANCELBLD" ); else button_destruct.set_help_code( "DESTFIRM" ); } if( !under_construction && can_sell() ) { button_sell.paint( INFO_X1+4, dispY1+1, "V_SEL-U", "V_SEL-D" ); // Sell button_sell.set_help_code( "SELLFIRM" ); } } if( showRepairIcon ) { button_builder.paint( INFO_X1+30, dispY1+1, "REPAIRU", "REPAIRD" ); // Builder button_builder.set_help_code( "REPAIR" ); } } else //--------- INFO_UPDATE --------// { if( showRepairIcon != button_builder.enable_flag ) { if( showRepairIcon ) { button_builder.paint( INFO_X1+30, dispY1+1, "REPAIRU", "REPAIRD" ); // Builder button_builder.set_help_code( "REPAIR" ); } else button_builder.hide(); } } disp_hit_point(dispY1); }