Changeset - r24453:1fb71b459fbc
[Not reviewed]
master
0 6 0
Pavel Stupnikov - 4 years ago 2020-12-16 20:56:32
dp@dpointer.org
Change: extend the allowed range for max loan setting (#8386)
6 files changed with 24 insertions and 18 deletions:
0 comments (0 inline, 0 general)
regression/regression/result.txt
Show inline comments
 
@@ -594,7 +594,7 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  GetBankBalance():                  100000
 
  GetName():                         (null : 0x00000000)
 
  GetLoanAmount():                   100000
 
  GetMaxLoanAmount():                500000
 
  GetMaxLoanAmount():                2000000000
 
  GetLoanInterval():                 10000
 
  SetLoanAmount(1):                  false
 
  SetLoanAmount(100):                false
 
@@ -606,8 +606,8 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  GetBankBalance():                  40000
 
  GetLoanAmount():                   40000
 
  SetLoanAmount(10000):              true
 
  GetBankBalance():                  500000
 
  GetLoanAmount():                   500000
 
  GetBankBalance():                  2000000000
 
  GetLoanAmount():                   2000000000
 
  GetCompanyHQ():                    -1
 
  BuildCompanyHQ():                  true
 
  GetCompanyHQ():                    33151
 
@@ -848,7 +848,7 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  GetAirportWidth(9):               -1
 
  GetAirportHeight(9):              -1
 
  GetAirportCoverageRadius(9):      -1
 
  GetBankBalance():     499790
 
  GetBankBalance():     1999999790
 
  GetPrice():           5400
 
  BuildAirport():       true
 
  IsHangarTile():       false
 
@@ -858,11 +858,11 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  IsHangarTile():       true
 
  IsAirportTile():      true
 
  GetAirportType():     0
 
  GetBankBalance():     489890
 
  GetBankBalance():     1999989890
 
  RemoveAirport():      true
 
  IsHangarTile():       false
 
  IsAirportTile():      false
 
  GetBankBalance():     489626
 
  GetBankBalance():     1999989626
 
  BuildAirport():       true
 

	
 
--Bridge--
 
@@ -7314,7 +7314,7 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  IsBuoyTile():         false
 
  IsLockTile():         false
 
  IsCanalTile():        false
 
  GetBankBalance():     479664
 
  GetBankBalance():     1999979664
 
  BuildWaterDepot():    true
 
  BuildDock():          true
 
  BuildBuoy():          true
 
@@ -7327,7 +7327,7 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  IsBuoyTile():         true
 
  IsLockTile():         true
 
  IsCanalTile():        true
 
  GetBankBalance():     465070
 
  GetBankBalance():     1999965070
 

	
 
--AIWaypointList(BUOY)--
 
  Count():             1
 
@@ -7346,7 +7346,7 @@ ERROR: IsEnd() is invalid as Begin() is 
 
  IsBuoyTile():         false
 
  IsLockTile():         false
 
  IsCanalTile():        false
 
  GetBankBalance():     459675
 
  GetBankBalance():     1999959675
 
  BuildWaterDepot():    true
 
  BuildDock():          true
 

	
src/company_cmd.cpp
Show inline comments
 
@@ -553,7 +553,7 @@ Company *DoStartupNewCompany(bool is_ai,
 
	ResetCompanyLivery(c);
 
	_company_colours[c->index] = (Colours)c->colour;
 

	
 
	c->money = c->current_loan = (100000ll * _economy.inflation_prices >> 16) / 50000 * 50000;
 
	c->money = c->current_loan = (min(INITIAL_LOAN, _economy.max_loan) * _economy.inflation_prices >> 16) / 50000 * 50000;
 

	
 
	c->share_owners[0] = c->share_owners[1] = c->share_owners[2] = c->share_owners[3] = INVALID_OWNER;
 

	
src/economy.cpp
Show inline comments
 
@@ -746,7 +746,7 @@ bool AddInflation(bool check_year)
 
void RecomputePrices()
 
{
 
	/* Setup maximum loan */
 
	_economy.max_loan = (_settings_game.difficulty.max_loan * _economy.inflation_prices >> 16) / 50000 * 50000;
 
	_economy.max_loan = ((uint64)_settings_game.difficulty.max_loan * _economy.inflation_prices >> 16) / 50000 * 50000;
 

	
 
	/* Setup price bases */
 
	for (Price i = PR_BEGIN; i < PR_END; i++) {
src/economy_type.h
Show inline comments
 
@@ -196,6 +196,8 @@ struct PriceBaseSpec {
 

	
 
/** The "steps" in loan size, in British Pounds! */
 
static const int LOAN_INTERVAL = 10000;
 
/** The size of loan for a new company, in British Pounds! */
 
static const int64 INITIAL_LOAN = 100000;
 

	
 
/**
 
 * Maximum inflation (including fractional part) without causing overflows in int64 price computations.
src/settings_gui.cpp
Show inline comments
 
@@ -2187,12 +2187,14 @@ struct GameSettingsWindow : Window {
 
		} else {
 
			/* Only open editbox if clicked for the second time, and only for types where it is sensible for. */
 
			if (this->last_clicked == pe && sd->desc.cmd != SDT_BOOLX && !(sd->desc.flags & SGF_MULTISTRING)) {
 
				int64 value64 = value;
 
				/* Show the correct currency-translated value */
 
				if (sd->desc.flags & SGF_CURRENCY) value *= _currency->rate;
 
				if (sd->desc.flags & SGF_CURRENCY) value64 *= _currency->rate;
 

	
 
				this->valuewindow_entry = pe;
 
				SetDParam(0, value);
 
				ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 10, this, CS_NUMERAL, QSF_ENABLE_DEFAULT);
 
				SetDParam(0, value64);
 
				/* Limit string length to 14 so that MAX_INT32 * max currency rate doesn't exceed MAX_INT64. */
 
				ShowQueryString(STR_JUST_INT, STR_CONFIG_SETTING_QUERY_CAPTION, 15, this, CS_NUMERAL, QSF_ENABLE_DEFAULT);
 
			}
 
			this->SetDisplayedHelpText(pe);
 
		}
 
@@ -2217,10 +2219,12 @@ struct GameSettingsWindow : Window {
 

	
 
		int32 value;
 
		if (!StrEmpty(str)) {
 
			value = atoi(str);
 
			long long llvalue = atoll(str);
 

	
 
			/* Save the correct currency-translated value */
 
			if (sd->desc.flags & SGF_CURRENCY) value /= _currency->rate;
 
			if (sd->desc.flags & SGF_CURRENCY) llvalue /= _currency->rate;
 

	
 
			value = (int32)ClampToI32(llvalue);
 
		} else {
 
			value = (int32)(size_t)sd->desc.def;
 
		}
src/table/settings.ini
Show inline comments
 
@@ -148,8 +148,8 @@ type     = SLE_UINT32
 
from     = SLV_97
 
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_CURRENCY
 
def      = 300000
 
min      = 100000
 
max      = 500000
 
min      = 0
 
max      = 2000000000
 
interval = 50000
 
str      = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN
 
strhelp  = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT
0 comments (0 inline, 0 general)