From 46650c54b6a13ef5980eadb24995481f1fd83712 Mon Sep 17 00:00:00 2001 From: rubidium Date: Wed, 9 Jan 2008 16:55:48 +0000 Subject: (svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114). --- src/command.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/command.cpp') diff --git a/src/command.cpp b/src/command.cpp index fdd595a28..40161688b 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -441,7 +441,7 @@ CommandCost DoCommand(TileIndex tile, uint32 p1, uint32 p2, uint32 flags, uint32 } /* Execute the command here. All cost-relevant functions set the expenses type - * themselves with "SET_EXPENSES_TYPE(...);" at the beginning of the function */ + * themselves to the cost object at some point */ res = proc(tile, flags, p1, p2); if (CmdFailed(res)) { res.SetGlobalErrorMessage(); @@ -622,7 +622,6 @@ bool DoCommandP(TileIndex tile, uint32 p1, uint32 p2, CommandCallback *callback, /* Actually try and execute the command. If no cost-type is given * use the construction one */ - _yearly_expenses_type = EXPENSES_CONSTRUCTION; res2 = proc(tile, flags | DC_EXEC, p1, p2); /* If notest is on, it means the result of the test can be different than @@ -697,6 +696,11 @@ Money CommandCost::GetCost() const return this->cost; } +ExpensesType CommandCost::GetExpensesType() const +{ + return this->expense_type; +} + void CommandCost::SetGlobalErrorMessage() const { extern StringID _error_message; -- cgit v1.2.3-54-g00ecf