//--------- Begin of function FirmBase::put_info ---------// // void FirmBase::put_info(int refreshFlag) { disp_basic_info(INFO_Y1, refreshFlag); if( !should_show_info() ) return; disp_base_info(INFO_Y1+54, refreshFlag); disp_worker_list(INFO_Y1+104, refreshFlag); disp_worker_info(INFO_Y1+168, refreshFlag); disp_god_info(INFO_Y1+226, refreshFlag); //------ display button -------// int x, y=INFO_Y1+279; if( own_firm() ) { if( refreshFlag==INFO_REPAINT ) { button_invoke.paint( INFO_X1, y, 'A', "INVOKE" ); button_reward.paint( INFO_X1 + BUTTON_ACTION_WIDTH, y, 'A', "REWARDSP" ); button_vacate_firm.paint(INFO_X1 + BUTTON_ACTION_WIDTH * 2, y, 'A', "RECRUIT"); button_vacate_firm.set_help_code("MOBILIZE"); } if( can_invoke() ) button_invoke.enable(); else button_invoke.disable(); if( nation_array[nation_recno]->cash >= REWARD_COST && ( (overseer_recno && unit_array[overseer_recno]->rank_id != RANK_KING) || selected_worker_id ) ) { button_reward.enable(); } else { button_reward.disable(); } if( have_own_workers() ) button_vacate_firm.enable(); else button_vacate_firm.disable(); x=INFO_X1+BUTTON_ACTION_WIDTH * 3; } else x=INFO_X1; disp_spy_button(x, y, refreshFlag); }
//--------- Begin of function FirmCamp::put_info ---------// // void FirmCamp::put_info(int refreshFlag) { disp_basic_info(INFO_Y1, refreshFlag); if( !should_show_info() ) return; disp_camp_info(INFO_Y1+54, refreshFlag); disp_worker_list(INFO_Y1+104, refreshFlag); disp_worker_info(INFO_Y1+168, refreshFlag); //------ display button -------// int x; if( own_firm() ) { if( refreshFlag==INFO_REPAINT ) { button_patrol.paint( INFO_X1, INFO_Y1+242, 'A', "PATROL" ); button_reward.paint( INFO_X1+BUTTON_ACTION_WIDTH, INFO_Y1+242, 'A', "REWARDCB" ); button_defense.paint( INFO_X2-BUTTON_ACTION_WIDTH, INFO_Y1+242, 'A', defense_flag ? (char*)"DEFENSE1" : (char*)"DEFENSE0" ); } if( overseer_recno || worker_count ) button_patrol.enable(); else button_patrol.disable(); if( nation_array[nation_recno]->cash >= REWARD_COST && ( (overseer_recno && unit_array[overseer_recno]->rank_id != RANK_KING) || selected_worker_id ) ) { button_reward.enable(); } else { button_reward.disable(); } x=INFO_X1+BUTTON_ACTION_WIDTH*2; } else x=INFO_X1; disp_spy_button(x, INFO_Y1+242, refreshFlag); #ifdef DEBUG if( sys.testing_session || sys.debug_session ) disp_debug_info(this, refreshFlag); #endif }
//--------- Begin of function FirmMine::put_info ---------// // void FirmMine::put_info(int refreshFlag) { disp_basic_info(INFO_Y1, refreshFlag); if( !should_show_info() ) return; disp_mine_info(INFO_Y1+52, refreshFlag); disp_worker_list(INFO_Y1+127, refreshFlag); disp_worker_info(INFO_Y1+191, refreshFlag); //---------- display spy button ----------// disp_spy_button(INFO_X1, INFO_Y1+249, refreshFlag); }
void FirmWork::put_info(int refreshFlag) { // vga.active_buf->put_bitmap( INFO_X1, INFO_Y1, image_gameif.read("MIFABASE") ); if( !should_show_info() ) return; disp_worker_list(INFO_Y1, refreshFlag); disp_firm_info(INFO_Y1, refreshFlag); if( selected_worker_id > worker_count ) selected_worker_id = worker_count; if( selected_worker_id ) disp_worker_info(INFO_Y1, refreshFlag); }
//--------- Begin of function FirmResearch::disp_main_menu ---------// // void FirmResearch::disp_main_menu(int refreshFlag) { disp_basic_info(INFO_Y1, refreshFlag); if( !should_show_info() ) return; disp_research_info(INFO_Y1+54, refreshFlag); disp_worker_list(INFO_Y1+107, refreshFlag); disp_worker_info(INFO_Y1+171, refreshFlag); if( own_firm() ) { if( refreshFlag==INFO_REPAINT ) button_select_research.paint( INFO_X1, INFO_Y1+235, 'A', "RESEARCH" ); } disp_spy_button( INFO_X1+BUTTON_ACTION_WIDTH, INFO_Y1+235, refreshFlag ); }
//--------- Begin of function FirmFactory::detect_info ---------// // void FirmFactory::detect_info() { //-------- detect basic info -----------// if( detect_basic_info() ) return; //-------- detect workers ----------// if( detect_worker_list() ) // detect this when: it's the player's firm or the player has spies in this firm { disp_worker_list(INFO_Y1+126, INFO_UPDATE); disp_worker_info(INFO_Y1+190, INFO_UPDATE); } //-------- detect spy button ----------// detect_spy_button(); if( !own_firm() ) return; //---- detect change production button -----// if( button_change_production.detect() ) { change_production(); disp_factory_info(INFO_Y1+54, INFO_UPDATE); // ##### begin Gilbert 25/9 ######// se_ctrl.immediate_sound("TURN_ON"); // ##### end Gilbert 25/9 ######// } //-------- detect mobilize button ----------// if (button_vacate_firm.detect()) { mobilize_all_workers(COMMAND_PLAYER); } }
//--------- Begin of function FirmFactory::put_info ---------// // void FirmFactory::put_info(int refreshFlag) { //---------- display info ------------// disp_basic_info(INFO_Y1, refreshFlag); if( !should_show_info() ) return; disp_factory_info(INFO_Y1+54, refreshFlag); disp_worker_list(INFO_Y1+126, refreshFlag); disp_worker_info(INFO_Y1+190, refreshFlag); //------ display mobilize button -------// int x = INFO_X1; if(own_firm()) { if (refreshFlag == INFO_REPAINT) { button_change_production.paint(INFO_X1, INFO_Y1 + 248, 'A', "CHGPROD"); button_vacate_firm.paint(INFO_X1 + BUTTON_ACTION_WIDTH, INFO_Y1 + 248, 'A', "RECRUIT"); button_vacate_firm.set_help_code("MOBILIZE"); } if (worker_count) button_vacate_firm.enable(); else button_vacate_firm.disable(); x += (BUTTON_ACTION_WIDTH * 2); } //---------- display spy button ----------// disp_spy_button(x, INFO_Y1+248, refreshFlag); }
//--------- Begin of function FirmBase::detect_info ---------// // void FirmBase::detect_info() { if( detect_basic_info() ) return; if( !should_show_info() ) return; //------ detect the overseer button -----// int rc = mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, LEFT_BUTTON) ? 1 : mouse.any_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, RIGHT_BUTTON) ? 2 : 0; if( rc==1 ) // display this overseer's info { selected_worker_id = 0; disp_base_info(INFO_Y1+54, INFO_UPDATE); disp_worker_list(INFO_Y1+104, INFO_UPDATE); disp_worker_info(INFO_Y1+168, INFO_UPDATE); } //--------- detect soldier info ---------// if( detect_worker_list() ) { disp_base_info(INFO_Y1+54, INFO_UPDATE); disp_worker_list(INFO_Y1+104, INFO_UPDATE); disp_worker_info(INFO_Y1+168, INFO_UPDATE); } //---------- detect spy button ----------// detect_spy_button(); if( !own_firm() ) return; //------ detect the overseer button -----// if( rc==2 ) { if(remote.is_enable()) { // packet structure : <firm recno> short *shortPtr=(short *)remote.new_send_queue_msg(MSG_FIRM_MOBL_OVERSEER, sizeof(short)); shortPtr[0] = firm_recno; } else { assign_overseer(0); // the overseer quits the camp } } //----------- detect invoke -----------// if( button_invoke.detect() ) { if(remote.is_enable()) { // ##### begin Gilbert 14/10 #######// // packet structure : <firm recno> short *shortPtr=(short *)remote.new_send_queue_msg(MSG_F_BASE_INVOKE_GOD, sizeof(short)); shortPtr[0] = firm_recno; // ##### end Gilbert 14/10 #######// } else { invoke_god(); } } //----------- detect reward -----------// if( button_reward.detect() ) { reward(selected_worker_id, COMMAND_PLAYER); // ##### begin Gilbert 26/9 ########// se_ctrl.immediate_sound("TURN_ON"); // ##### end Gilbert 26/9 ########// } }
//--------- Begin of function FirmCamp::detect_info ---------// // void FirmCamp::detect_info() { if( detect_basic_info() ) return; if( !should_show_info() ) return; //------ detect the overseer button -----// int rc = mouse.single_click(INFO_X1+6, INFO_Y1+58, INFO_X1+5+UNIT_LARGE_ICON_WIDTH, INFO_Y1+57+UNIT_LARGE_ICON_HEIGHT, 2 ); if( rc==1 ) // display this overseer's info { selected_worker_id = 0; disp_camp_info(INFO_Y1+54, INFO_UPDATE); disp_worker_list(INFO_Y1+104, INFO_UPDATE); disp_worker_info(INFO_Y1+168, INFO_UPDATE); } //--------- detect soldier info ---------// if( detect_worker_list() ) { disp_camp_info(INFO_Y1+54, INFO_UPDATE); disp_worker_list(INFO_Y1+104, INFO_UPDATE); disp_worker_info(INFO_Y1+168, INFO_UPDATE); } //---------- detect spy button ----------// detect_spy_button(); if( !own_firm() ) return; //------ detect the overseer button -----// if( rc==2 ) { if(remote.is_enable()) { // packet structure : <firm recno> short *shortPtr=(short *)remote.new_send_queue_msg(MSG_FIRM_MOBL_OVERSEER, sizeof(short)); shortPtr[0] = firm_recno; } else { assign_overseer(0); // the overseer quits the camp } } //----------- detect patrol -----------// if( button_patrol.detect() ) { if(remote.is_enable()) { // packet structure : <firm recno> short *shortPtr=(short *)remote.new_send_queue_msg(MSG_F_CAMP_PATROL, sizeof(short)); shortPtr[0] = firm_recno; } else { patrol(); } } //----------- detect reward -----------// if( button_reward.detect() ) { reward(selected_worker_id, COMMAND_PLAYER); // ##### begin Gilbert 25/9 ######// se_ctrl.immediate_sound("TURN_ON"); // ##### end Gilbert 25/9 ######// } //----- detect defense mode button -------// if( button_defense.detect() ) { // ##### begin Gilbert 25/9 ######// se_ctrl.immediate_sound( !defense_flag?(char*)"TURN_ON":(char*)"TURN_OFF"); // ##### end Gilbert 25/9 ######// if( !remote.is_enable() ) { // update RemoteMsg::toggle_camp_patrol() defense_flag = !defense_flag; } else { // packet structure : <firm recno> <defense_flag> short *shortPtr=(short *)remote.new_send_queue_msg(MSG_F_CAMP_TOGGLE_PATROL, 2*sizeof(short)); shortPtr[0] = firm_recno; shortPtr[1] = !defense_flag; } button_defense.update_bitmap( defense_flag ? (char*)"DEFENSE1" : (char*)"DEFENSE0" ); } }