mirror of https://github.com/OpenTTD/OpenTTD
Codechange: Move GetAvailableMoneyForCommand to company_cmd.cpp and add GetAvailableMoney
The function belongs better in company_cmd.cpp along with the similar CheckCompanyHasMoney and SubtractMoneyFromCompany. The generalised function GetAvailableMoney is added which allows finding the money of any company, not just the current one. This will be useful in the next commit.pull/11902/head
parent
cb0d4ab97b
commit
44c83ccb4c
|
@ -161,21 +161,6 @@ bool IsCommandAllowedWhilePaused(Commands cmd)
|
|||
return _game_mode == GM_EDITOR || command_type_lookup[_command_proc_table[cmd].type] <= _settings_game.construction.command_pause_level;
|
||||
}
|
||||
|
||||
/*!
|
||||
* This functions returns the money which can be used to execute a command.
|
||||
* This is either the money of the current company or INT64_MAX if there
|
||||
* is no such a company "at the moment" like the server itself.
|
||||
*
|
||||
* @return The available money of a company or INT64_MAX
|
||||
*/
|
||||
Money GetAvailableMoneyForCommand()
|
||||
{
|
||||
CompanyID company = _current_company;
|
||||
if (!Company::IsValidID(company)) return INT64_MAX;
|
||||
return Company::Get(company)->money;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prepare for calling a command proc.
|
||||
* @param top_level Top level of command execution, i.e. command from a command.
|
||||
|
|
|
@ -42,7 +42,6 @@ void NetworkSendCommand(Commands cmd, StringID err_message, CommandCallback *cal
|
|||
bool IsValidCommand(Commands cmd);
|
||||
CommandFlags GetCommandFlags(Commands cmd);
|
||||
const char *GetCommandName(Commands cmd);
|
||||
Money GetAvailableMoneyForCommand();
|
||||
bool IsCommandAllowedWhilePaused(Commands cmd);
|
||||
|
||||
template <Commands Tcmd>
|
||||
|
|
|
@ -193,6 +193,31 @@ void InvalidateCompanyWindows(const Company *company)
|
|||
SetWindowDirty(WC_FINANCES, cid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the amount of money that a company has available, or INT64_MAX
|
||||
* if there is no such valid company.
|
||||
*
|
||||
* @param company Company to check
|
||||
* @return The available money of the company or INT64_MAX
|
||||
*/
|
||||
Money GetAvailableMoney(CompanyID company)
|
||||
{
|
||||
if (!Company::IsValidID(company)) return INT64_MAX;
|
||||
return Company::Get(company)->money;
|
||||
}
|
||||
|
||||
/**
|
||||
* This functions returns the money which can be used to execute a command.
|
||||
* This is either the money of the current company or INT64_MAX if there
|
||||
* is no such a company "at the moment" like the server itself.
|
||||
*
|
||||
* @return The available money of the current company or INT64_MAX
|
||||
*/
|
||||
Money GetAvailableMoneyForCommand()
|
||||
{
|
||||
return GetAvailableMoney(_current_company);
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify whether the company can pay the bill.
|
||||
* @param[in,out] cost Money to pay, is changed to an error if the company does not have enough money.
|
||||
|
|
|
@ -26,6 +26,8 @@ void CompanyAdminBankrupt(CompanyID company_id);
|
|||
void UpdateLandscapingLimits();
|
||||
void UpdateCompanyLiveries(Company *c);
|
||||
|
||||
Money GetAvailableMoney(CompanyID company);
|
||||
Money GetAvailableMoneyForCommand();
|
||||
bool CheckCompanyHasMoney(CommandCost &cost);
|
||||
void SubtractMoneyFromCompany(const CommandCost &cost);
|
||||
void SubtractMoneyFromCompanyFract(CompanyID company, const CommandCost &cost);
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "stdafx.h"
|
||||
#include "landscape.h"
|
||||
#include "command_func.h"
|
||||
#include "company_func.h"
|
||||
#include "viewport_func.h"
|
||||
#include "company_base.h"
|
||||
#include "town.h"
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
#include "road_internal.h"
|
||||
#include "viewport_func.h"
|
||||
#include "command_func.h"
|
||||
#include "company_func.h"
|
||||
#include "pathfinder/yapf/yapf_cache.h"
|
||||
#include "depot_base.h"
|
||||
#include "newgrf.h"
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#include "viewport_func.h"
|
||||
#include "viewport_kdtree.h"
|
||||
#include "command_func.h"
|
||||
#include "company_func.h"
|
||||
#include "industry.h"
|
||||
#include "station_base.h"
|
||||
#include "waypoint_base.h"
|
||||
|
|
Loading…
Reference in New Issue