From ce4c070ee3921dc8077ab87a444ce6c8c79dc272 Mon Sep 17 00:00:00 2001 From: johns <> Date: Mon, 26 Feb 2001 17:22:52 +0000 Subject: [PATCH] Prepared NEW_ORDERS. --- src/ui/mainscr.cpp | 97 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 93 insertions(+), 4 deletions(-) diff --git a/src/ui/mainscr.cpp b/src/ui/mainscr.cpp index 2db7cd305..23e98ef04 100644 --- a/src/ui/mainscr.cpp +++ b/src/ui/mainscr.cpp @@ -44,6 +44,10 @@ -- Defines ----------------------------------------------------------------------------*/ +#ifdef NEW_ORDERS +#define Command Orders[0] +#endif + // FIXME: should become global configurable #define OriginalTraining 0 /// 1 for the original training display @@ -203,8 +207,84 @@ global void DrawUnitInfo(const Unit* unit) } // - // Show progress for buildings only if they are selected. + // Show progress for buildings only, if they are selected. // +#ifdef NEW_ORDERS + if( type->Building && NumSelected==1 && Selected[0]==unit ) { + // + // Building under constuction. + // + if( unit->Orders[0].Action==UnitActionBuilded ) { + // FIXME: not correct must use build time!! + DrawCompleted(stats->HitPoints,unit->HP); + return; + } + + // + // Building training units. + // + if( unit->Orders[0].Action==UnitActionTrain ) { + if( OriginalTraining || unit->Data.Train.Count==1 ) { + DrawText(x+37,y+8+78,GameFont,"Training:"); + DrawUnitIcon(unit->Player + ,unit->Data.Train.What[0]->Icon.Icon + ,0,x+107,y+8+70); + + DrawCompleted( + unit->Data.Train.What[0] + ->Stats[ThisPlayer->Player].Costs[TimeCost] + ,unit->Data.Train.Ticks); + } else { + DrawTextCentered(x+114,y+8+29,GameFont,"Training..."); + + for( i = 0; i < unit->Data.Train.Count; i++ ) { + DrawUnitIcon(unit->Player + ,unit->Data.Train.What[i]->Icon.Icon + ,(ButtonUnderCursor==i+4) + ? (IconActive|(MouseButtons&LeftButton)) : 0 + ,TheUI.Buttons2[i].X,TheUI.Buttons2[i].Y); + } + + DrawCompleted( + unit->Data.Train.What[0] + ->Stats[ThisPlayer->Player].Costs[TimeCost] + ,unit->Data.Train.Ticks); + } + return; + } + + // + // Building upgrading to better type. + // + if( unit->Orders[0].Action==UnitActionUpgradeTo ) { + DrawText(x+29,y+8+78,GameFont,"Upgrading:"); + DrawUnitIcon(unit->Player + ,unit->Data.UpgradeTo.What->Icon.Icon + ,0,x+107,y+8+70); + + DrawCompleted( + unit->Data.UpgradeTo.What + ->Stats[ThisPlayer->Player].Costs[TimeCost] + ,unit->Data.UpgradeTo.Ticks); + return; + } + + // + // Building research new technologie. + // + if( unit->Orders[0].Action==UnitActionResearch ) { + DrawText(16,y+8+78,GameFont,"Researching:"); + DrawUnitIcon(unit->Player + ,unit->Data.Research.Upgrade->Icon + ,0,x+107,y+8+70); + + DrawCompleted( + unit->Data.Research.Upgrade->Costs[TimeCost] + ,unit->Data.Research.Ticks); + return; + } + } +#else if( type->Building && NumSelected==1 && Selected[0]==unit ) { if( unit->Command.Action==UnitActionBuilded ) { // FIXME: not correct must use build time!! @@ -264,6 +344,7 @@ global void DrawUnitInfo(const Unit* unit) return; } } +#endif if( type->StoresWood ) { DrawText(x+20,y+8+78,GameFont,"Production"); @@ -883,11 +964,19 @@ global void DrawInfoPanel(void) } else { // FIXME: not correct for enemies units if( Selected[0]->Type->Building +#ifdef NEW_ORDERS + && (Selected[0]->Orders[0].Action==UnitActionBuilded + || Selected[0]->Orders[0].Action==UnitActionResearch + || Selected[0]->Orders[0].Action==UnitActionUpgradeTo + /* || Selected[0]->Orders[0].Action==UnitActionUpgrade */ + || Selected[0]->Orders[0].Action==UnitActionTrain) ) { +#else && (Selected[0]->Command.Action==UnitActionBuilded - || Selected[0]->Command.Action==UnitActionResearch - || Selected[0]->Command.Action==UnitActionUpgradeTo + || Selected[0]->Command.Action==UnitActionResearch + || Selected[0]->Command.Action==UnitActionUpgradeTo /* || Selected[0]->Command.Action==UnitActionUpgrade */ - || Selected[0]->Command.Action==UnitActionTrain) ) { + || Selected[0]->Command.Action==UnitActionTrain) ) { +#endif i=3; } else if( Selected[0]->Type->Magic ) { i=2;