From 222dc883d784230704f05c09438aac66217b4ee9 Mon Sep 17 00:00:00 2001 From: johns <> Date: Mon, 26 Feb 2001 17:09:27 +0000 Subject: [PATCH] Prepared NEW_ORDERS. --- src/ui/botpanel.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/src/ui/botpanel.cpp b/src/ui/botpanel.cpp index cc826697f..e3d67a4aa 100644 --- a/src/ui/botpanel.cpp +++ b/src/ui/botpanel.cpp @@ -244,6 +244,47 @@ global void DrawButtonPanel(void) // with the buttons. // if( NumSelected==1 ) { +#ifdef NEW_ORDERS + switch( buttons[i].Action ) { + case B_Stop: + if( Selected[0]->Orders[0].Action==UnitActionStill ) { + v=IconSelected; + } + break; + case B_StandGround: + if( Selected[0]->Orders[0].Action + ==UnitActionStandGround ) { + v=IconSelected; + } + break; + case B_Move: + if( Selected[0]->Orders[0].Action==UnitActionMove ) { + v=IconSelected; + } + break; + case B_Attack: + if( Selected[0]->Orders[0].Action==UnitActionAttack ) { + v=IconSelected; + } + break; + case B_Demolish: + if( Selected[0]->Orders[0].Action==UnitActionDemolish ) { + v=IconSelected; + } + break; + case B_AttackGround: + if( Selected[0]->Orders[0].Action + ==UnitActionAttackGround ) { + v=IconSelected; + } + break; + + // FIXME: must handle more actions + + default: + break; + } +#else switch( buttons[i].Action ) { case B_Stop: if( Selected[0]->Command.Action==UnitActionStill ) { @@ -283,6 +324,7 @@ global void DrawButtonPanel(void) default: break; } +#endif } DrawUnitIcon(ThisPlayer,buttons[i].Icon.Icon @@ -484,6 +526,20 @@ global void UpdateButtonPanel(void) strcpy(unit_ident,",cancel-build,"); // FIXME: johns: my ->Constructed didn't seem ok. if (unit->Constructed) } else */ +#ifdef NEW_ORDERS + if( unit->Orders[0].Action==UnitActionBuilded ) { + // Trick 17 to get the cancel-build button + strcpy(unit_ident,",cancel-build,"); + } else if( unit->Orders[0].Action==UnitActionUpgradeTo ) { + // Trick 17 to get the cancel-upgrade button + strcpy(unit_ident,",cancel-upgrade,"); + } else if( unit->Orders[0].Action==UnitActionResearch ) { + // Trick 17 to get the cancel-upgrade button + strcpy(unit_ident,",cancel-upgrade,"); + } else { + sprintf(unit_ident, ",%s,", unit->Type->Ident); + } +#else if( unit->Command.Action==UnitActionBuilded ) { // Trick 17 to get the cancel-build button strcpy(unit_ident,",cancel-build,"); @@ -496,6 +552,7 @@ global void UpdateButtonPanel(void) } else { sprintf(unit_ident, ",%s,", unit->Type->Ident); } +#endif for( z = 0; z < UnitButtonCount; z++ ) { //FIXME: we have to check and if these unit buttons are available @@ -655,11 +712,19 @@ global void DoButtonButtonClicked(int button) case B_Cancel: if ( NumSelected==1 && Selected[0]->Type->Building ) { +#ifdef NEW_ORDERS + if( Selected[0]->Orders[0].Action==UnitActionUpgradeTo ) { + SendCommandCancelUpgradeTo(Selected[0]); + } else if( Selected[0]->Orders[0].Action==UnitActionResearch ) { + SendCommandCancelResearch(Selected[0]); + } +#else if( Selected[0]->Command.Action == UnitActionUpgradeTo ) { SendCommandCancelUpgradeTo(Selected[0]); } else if( Selected[0]->Command.Action == UnitActionResearch ) { SendCommandCancelResearch(Selected[0]); } +#endif } ClearStatusLine(); ClearCosts(); @@ -672,8 +737,13 @@ global void DoButtonButtonClicked(int button) break; case B_CancelTrain: +#ifdef NEW_ORDERS + DebugCheck( Selected[0]->Orders[0].Action!=UnitActionTrain + || !Selected[0]->Data.Train.Count ); +#else DebugCheck( Selected[0]->Command.Action!=UnitActionTrain || !Selected[0]->Command.Data.Train.Count ); +#endif SendCommandCancelTraining(Selected[0],0); ClearStatusLine(); ClearCosts(); @@ -712,7 +782,7 @@ global void DoButtonButtonClicked(int button) // FIXME: enough resources are available. // FIXME: training queue full check is not correct for network. #ifdef NEW_ORDERS - if( Selected[0]->Command.Action==UnitActionTrain + if( Selected[0]->Orders[0].Action==UnitActionTrain && Selected[0]->Data.Train.Count==MAX_UNIT_TRAIN ) { #else if( Selected[0]->Command.Action==UnitActionTrain