From dee9e14ea7a8ac6c0e68e82079367a549512a973 Mon Sep 17 00:00:00 2001 From: johns <> Date: Mon, 12 Mar 2001 21:27:04 +0000 Subject: [PATCH] Fixed bug: Upgrade to didn't work with new orders. --- src/action/action_upgradeto.cpp | 2 +- src/action/command.cpp | 2 +- src/include/unit.h | 1 - src/ui/mainscr.cpp | 18 ++++++++---------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/action/action_upgradeto.cpp b/src/action/action_upgradeto.cpp index f9a2c9701..d0b062d6c 100644 --- a/src/action/action_upgradeto.cpp +++ b/src/action/action_upgradeto.cpp @@ -54,7 +54,7 @@ global void HandleActionUpgradeTo(Unit* unit) unit->Data.UpgradeTo.Ticks=0; unit->SubAction=1; } - type=unit->Data.UpgradeTo.What; + type=unit->Orders[0].Type; stats=&type->Stats[player->Player]; // FIXME: Should count down here diff --git a/src/action/command.cpp b/src/action/command.cpp index 630950ef8..b7a7ba9fc 100644 --- a/src/action/command.cpp +++ b/src/action/command.cpp @@ -1531,7 +1531,7 @@ global void CommandCancelUpgradeTo(Unit* unit) if( unit->Orders[0].Action == UnitActionUpgradeTo ) { PlayerAddCostsFactor(unit->Player, - unit->Data.UpgradeTo.What->Stats->Costs, + unit->Orders[0].Type->Stats->Costs, CancelUpgradeCostsFactor); unit->Orders[0].Action=UnitActionStill; diff --git a/src/include/unit.h b/src/include/unit.h index 82c71d341..816e9e97c 100644 --- a/src/include/unit.h +++ b/src/include/unit.h @@ -314,7 +314,6 @@ struct _unit_ { } Research; /// Research action struct _order_upgradeto_ { unsigned Ticks; /// Ticks to complete - UnitType* What; /// Unit upgraded to } UpgradeTo; /// Upgrade to action struct _order_train_ { unsigned Ticks; /// Ticks to complete diff --git a/src/ui/mainscr.cpp b/src/ui/mainscr.cpp index 8be4cec71..abf1b2070 100644 --- a/src/ui/mainscr.cpp +++ b/src/ui/mainscr.cpp @@ -232,7 +232,7 @@ global void DrawUnitInfo(const Unit* unit) DrawCompleted( unit->Data.Train.What[0] - ->Stats[ThisPlayer->Player].Costs[TimeCost] + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Data.Train.Ticks); } else { DrawTextCentered(x+114,y+8+29,GameFont,"Training..."); @@ -247,7 +247,7 @@ global void DrawUnitInfo(const Unit* unit) DrawCompleted( unit->Data.Train.What[0] - ->Stats[ThisPlayer->Player].Costs[TimeCost] + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Data.Train.Ticks); } return; @@ -258,13 +258,11 @@ global void DrawUnitInfo(const Unit* unit) // if( unit->Orders[0].Action==UnitActionUpgradeTo ) { DrawText(x+29,y+8+78,GameFont,"Upgrading:"); - DrawUnitIcon(unit->Player - ,unit->Data.UpgradeTo.What->Icon.Icon + DrawUnitIcon(unit->Player,unit->Orders[0].Type->Icon.Icon ,0,x+107,y+8+70); - DrawCompleted( - unit->Data.UpgradeTo.What - ->Stats[ThisPlayer->Player].Costs[TimeCost] + DrawCompleted(unit->Orders[0].Type + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Data.UpgradeTo.Ticks); return; } @@ -300,7 +298,7 @@ global void DrawUnitInfo(const Unit* unit) DrawCompleted( unit->Command.Data.Train.What[0] - ->Stats[ThisPlayer->Player].Costs[TimeCost] + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Command.Data.Train.Ticks); } else { DrawTextCentered(x+114,y+8+29,GameFont,"Training..."); @@ -315,7 +313,7 @@ global void DrawUnitInfo(const Unit* unit) DrawCompleted( unit->Command.Data.Train.What[0] - ->Stats[ThisPlayer->Player].Costs[TimeCost] + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Command.Data.Train.Ticks); } return; @@ -328,7 +326,7 @@ global void DrawUnitInfo(const Unit* unit) DrawCompleted( unit->Command.Data.UpgradeTo.What - ->Stats[ThisPlayer->Player].Costs[TimeCost] + ->Stats[unit->Player->Player].Costs[TimeCost] ,unit->Command.Data.UpgradeTo.Ticks); return; }