mirror of https://github.com/OpenTTD/OpenTTD
(svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
parent
b73cd3c12d
commit
8a74b2ebe1
|
@ -672,8 +672,8 @@ static bool AiCheckIfRouteIsGood(Player *p, FoundRoute *fr, byte bitmask)
|
||||||
const Industry* i = (const Industry*)fr->from;
|
const Industry* i = (const Industry*)fr->from;
|
||||||
const IndustrySpec *indsp = GetIndustrySpec(i->type);
|
const IndustrySpec *indsp = GetIndustrySpec(i->type);
|
||||||
|
|
||||||
if (i->pct_transported[fr->cargo != indsp->produced_cargo[0]] > 0x99 ||
|
if (i->last_month_pct_transported[fr->cargo != indsp->produced_cargo[0]] > 0x99 ||
|
||||||
i->total_production[fr->cargo != indsp->produced_cargo[0]] == 0) {
|
i->last_month_production[fr->cargo != indsp->produced_cargo[0]] == 0) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -280,9 +280,9 @@ static bool AiNew_Check_City_or_Industry(Player *p, int ic, byte type)
|
||||||
|
|
||||||
// No limits on delevering stations!
|
// No limits on delevering stations!
|
||||||
// Or for industry that does not give anything yet
|
// Or for industry that does not give anything yet
|
||||||
if (indsp->produced_cargo[0] == CT_INVALID || i->total_production[0] == 0) return true;
|
if (indsp->produced_cargo[0] == CT_INVALID || i->last_month_production[0] == 0) return true;
|
||||||
|
|
||||||
if (i->total_production[0] - i->total_transported[0] < AI_CHECKCITY_NEEDED_CARGO) return false;
|
if (i->last_month_production[0] - i->last_month_transported[0] < AI_CHECKCITY_NEEDED_CARGO) return false;
|
||||||
|
|
||||||
// Check if we have build a station in this town the last 6 months
|
// Check if we have build a station in this town the last 6 months
|
||||||
// else we don't do it. This is done, because stat updates can be slow
|
// else we don't do it. This is done, because stat updates can be slow
|
||||||
|
@ -322,7 +322,7 @@ static bool AiNew_Check_City_or_Industry(Player *p, int ic, byte type)
|
||||||
// We are about to add one...
|
// We are about to add one...
|
||||||
count++;
|
count++;
|
||||||
// Check if we the city can provide enough cargo for this amount of stations..
|
// Check if we the city can provide enough cargo for this amount of stations..
|
||||||
if (count * AI_CHECKCITY_CARGO_PER_STATION > i->total_production[0]) return false;
|
if (count * AI_CHECKCITY_CARGO_PER_STATION > i->last_month_production[0]) return false;
|
||||||
|
|
||||||
// All check are okay, so we can build here!
|
// All check are okay, so we can build here!
|
||||||
return true;
|
return true;
|
||||||
|
@ -468,12 +468,12 @@ static void AiNew_State_LocateRoute(Player *p)
|
||||||
|
|
||||||
// TODO: in max_cargo, also check other cargo (beside [0])
|
// TODO: in max_cargo, also check other cargo (beside [0])
|
||||||
// First we check if the from_ic produces cargo that this ic accepts
|
// First we check if the from_ic produces cargo that this ic accepts
|
||||||
if (indsp_from->produced_cargo[0] != CT_INVALID && ind_from->total_production[0] != 0) {
|
if (indsp_from->produced_cargo[0] != CT_INVALID && ind_from->last_month_production[0] != 0) {
|
||||||
for (i = 0; i < lengthof(indsp_temp->accepts_cargo); i++) {
|
for (i = 0; i < lengthof(indsp_temp->accepts_cargo); i++) {
|
||||||
if (indsp_temp->accepts_cargo[i] == CT_INVALID) break;
|
if (indsp_temp->accepts_cargo[i] == CT_INVALID) break;
|
||||||
if (indsp_from->produced_cargo[0] == indsp_temp->accepts_cargo[i]) {
|
if (indsp_from->produced_cargo[0] == indsp_temp->accepts_cargo[i]) {
|
||||||
// Found a compatible industry
|
// Found a compatible industry
|
||||||
max_cargo = ind_from->total_production[0] - ind_from->total_transported[0];
|
max_cargo = ind_from->last_month_production[0] - ind_from->last_month_transported[0];
|
||||||
found = true;
|
found = true;
|
||||||
p->ainew.from_deliver = true;
|
p->ainew.from_deliver = true;
|
||||||
p->ainew.to_deliver = false;
|
p->ainew.to_deliver = false;
|
||||||
|
@ -481,14 +481,14 @@ static void AiNew_State_LocateRoute(Player *p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found && indsp_temp->produced_cargo[0] != CT_INVALID && ind_temp->total_production[0] != 0) {
|
if (!found && indsp_temp->produced_cargo[0] != CT_INVALID && ind_temp->last_month_production[0] != 0) {
|
||||||
// If not check if the current ic produces cargo that the from_ic accepts
|
// If not check if the current ic produces cargo that the from_ic accepts
|
||||||
for (i = 0; i < lengthof(indsp_from->accepts_cargo); i++) {
|
for (i = 0; i < lengthof(indsp_from->accepts_cargo); i++) {
|
||||||
if (indsp_from->accepts_cargo[i] == CT_INVALID) break;
|
if (indsp_from->accepts_cargo[i] == CT_INVALID) break;
|
||||||
if (indsp_from->produced_cargo[0] == indsp_from->accepts_cargo[i]) {
|
if (indsp_from->produced_cargo[0] == indsp_from->accepts_cargo[i]) {
|
||||||
// Found a compatbiel industry
|
// Found a compatbiel industry
|
||||||
found = true;
|
found = true;
|
||||||
max_cargo = ind_temp->total_production[0] - ind_temp->total_transported[0];
|
max_cargo = ind_temp->last_month_production[0] - ind_temp->last_month_transported[0];
|
||||||
p->ainew.from_deliver = false;
|
p->ainew.from_deliver = false;
|
||||||
p->ainew.to_deliver = true;
|
p->ainew.to_deliver = true;
|
||||||
break;
|
break;
|
||||||
|
@ -898,9 +898,9 @@ static int AiNew_HowManyVehicles(Player *p)
|
||||||
// Calculating tiles a day a vehicle moves is not easy.. this is how it must be done!
|
// Calculating tiles a day a vehicle moves is not easy.. this is how it must be done!
|
||||||
tiles_a_day = RoadVehInfo(i)->max_speed * DAY_TICKS / 256 / 16;
|
tiles_a_day = RoadVehInfo(i)->max_speed * DAY_TICKS / 256 / 16;
|
||||||
if (p->ainew.from_deliver) {
|
if (p->ainew.from_deliver) {
|
||||||
max_cargo = GetIndustry(p->ainew.from_ic)->total_production[0];
|
max_cargo = GetIndustry(p->ainew.from_ic)->last_month_production[0];
|
||||||
} else {
|
} else {
|
||||||
max_cargo = GetIndustry(p->ainew.to_ic)->total_production[0];
|
max_cargo = GetIndustry(p->ainew.to_ic)->last_month_production[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is because moving 60% is more than we can dream of!
|
// This is because moving 60% is more than we can dream of!
|
||||||
|
|
|
@ -969,12 +969,12 @@ static void FindSubsidyCargoRoute(FoundRoute *fr)
|
||||||
/* Randomize cargo type */
|
/* Randomize cargo type */
|
||||||
if (HASBIT(Random(), 0) && ind->produced_cargo[1] != CT_INVALID) {
|
if (HASBIT(Random(), 0) && ind->produced_cargo[1] != CT_INVALID) {
|
||||||
cargo = ind->produced_cargo[1];
|
cargo = ind->produced_cargo[1];
|
||||||
trans = i->pct_transported[1];
|
trans = i->last_month_pct_transported[1];
|
||||||
total = i->total_production[1];
|
total = i->last_month_production[1];
|
||||||
} else {
|
} else {
|
||||||
cargo = ind->produced_cargo[0];
|
cargo = ind->produced_cargo[0];
|
||||||
trans = i->pct_transported[0];
|
trans = i->last_month_pct_transported[0];
|
||||||
total = i->total_production[0];
|
total = i->last_month_production[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Quit if no production in this industry
|
/* Quit if no production in this industry
|
||||||
|
|
|
@ -73,27 +73,27 @@ DECLARE_ENUM_AS_BIT_SET(IndustyBehaviour);
|
||||||
* Defines the internal data of a functionnal industry
|
* Defines the internal data of a functionnal industry
|
||||||
*/
|
*/
|
||||||
struct Industry {
|
struct Industry {
|
||||||
TileIndex xy; ///< coordinates of the primary tile the industry is built one
|
TileIndex xy; ///< coordinates of the primary tile the industry is built one
|
||||||
byte width;
|
byte width;
|
||||||
byte height;
|
byte height;
|
||||||
const Town* town; ///< Nearest town
|
const Town *town; ///< Nearest town
|
||||||
uint16 cargo_waiting[2]; ///< amount of cargo produced per cargo
|
uint16 cargo_waiting[2]; ///< amount of cargo produced per cargo
|
||||||
byte production_rate[2]; ///< production rate for each cargo
|
byte production_rate[2]; ///< production rate for each cargo
|
||||||
byte prod_level; ///< general production level
|
byte prod_level; ///< general production level
|
||||||
uint16 last_mo_production[2]; ///< stats of last month production per cargo
|
uint16 this_month_production[2]; ///< stats of this month's production per cargo
|
||||||
uint16 last_mo_transported[2]; ///< stats of last month transport per cargo
|
uint16 this_month_transported[2]; ///< stats of this month's transport per cargo
|
||||||
byte pct_transported[2]; ///< percentage transported per cargo
|
byte last_month_pct_transported[2]; ///< percentage transported per cargo in the last full month
|
||||||
uint16 total_production[2]; ///< total units produced per cargo
|
uint16 last_month_production[2]; ///< total units produced per cargo in the last full month
|
||||||
uint16 total_transported[2]; ///< total units transported per cargo
|
uint16 last_month_transported[2]; ///< total units transported per cargo in the last full month
|
||||||
uint16 counter; ///< used for animation and/or production (if available cargo)
|
uint16 counter; ///< used for animation and/or production (if available cargo)
|
||||||
|
|
||||||
IndustryType type; ///< type of industry. see IT_COAL_MINE and others
|
IndustryType type; ///< type of industry. see IT_COAL_MINE and others
|
||||||
OwnerByte owner; ///< owner of the industry. Which SHOULD always be (imho) OWNER_NONE
|
OwnerByte owner; ///< owner of the industry. Which SHOULD always be (imho) OWNER_NONE
|
||||||
byte random_color; ///< randomized colour of the industry, for display purpose
|
byte random_color; ///< randomized colour of the industry, for display purpose
|
||||||
Year last_prod_year; ///< last year of production
|
Year last_prod_year; ///< last year of production
|
||||||
byte was_cargo_delivered; ///< flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry
|
byte was_cargo_delivered; ///< flag that indicate this has been the closest industry chosen for cargo delivery by a station. see DeliverGoodsToIndustry
|
||||||
|
|
||||||
IndustryID index; ///< index of the industry in the pool of industries
|
IndustryID index; ///< index of the industry in the pool of industries
|
||||||
};
|
};
|
||||||
|
|
||||||
struct IndustryTileTable {
|
struct IndustryTileTable {
|
||||||
|
|
|
@ -361,10 +361,10 @@ static void TransportIndustryGoods(TileIndex tile)
|
||||||
/* fluctuating economy? */
|
/* fluctuating economy? */
|
||||||
if (_economy.fluct <= 0) cw = (cw + 1) / 2;
|
if (_economy.fluct <= 0) cw = (cw + 1) / 2;
|
||||||
|
|
||||||
i->last_mo_production[0] += cw;
|
i->this_month_production[0] += cw;
|
||||||
|
|
||||||
am = MoveGoodsToStation(i->xy, i->width, i->height, indspec->produced_cargo[0], cw);
|
am = MoveGoodsToStation(i->xy, i->width, i->height, indspec->produced_cargo[0], cw);
|
||||||
i->last_mo_transported[0] += am;
|
i->this_month_transported[0] += am;
|
||||||
if (am != 0) {
|
if (am != 0) {
|
||||||
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production;
|
||||||
|
|
||||||
|
@ -383,10 +383,10 @@ static void TransportIndustryGoods(TileIndex tile)
|
||||||
|
|
||||||
if (_economy.fluct <= 0) cw = (cw + 1) / 2;
|
if (_economy.fluct <= 0) cw = (cw + 1) / 2;
|
||||||
|
|
||||||
i->last_mo_production[1] += cw;
|
i->this_month_production[1] += cw;
|
||||||
|
|
||||||
am = MoveGoodsToStation(i->xy, i->width, i->height, indspec->produced_cargo[1], cw);
|
am = MoveGoodsToStation(i->xy, i->width, i->height, indspec->produced_cargo[1], cw);
|
||||||
i->last_mo_transported[1] += am;
|
i->this_month_transported[1] += am;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1368,20 +1368,20 @@ static void DoCreateNewIndustry(Industry *i, TileIndex tile, int type, const Ind
|
||||||
i->counter = GB(r, 0, 12);
|
i->counter = GB(r, 0, 12);
|
||||||
i->cargo_waiting[0] = 0;
|
i->cargo_waiting[0] = 0;
|
||||||
i->cargo_waiting[1] = 0;
|
i->cargo_waiting[1] = 0;
|
||||||
i->last_mo_production[0] = 0;
|
i->this_month_production[0] = 0;
|
||||||
i->last_mo_production[1] = 0;
|
i->this_month_production[1] = 0;
|
||||||
i->last_mo_transported[0] = 0;
|
i->this_month_transported[0] = 0;
|
||||||
i->last_mo_transported[1] = 0;
|
i->this_month_transported[1] = 0;
|
||||||
i->pct_transported[0] = 0;
|
i->last_month_pct_transported[0] = 0;
|
||||||
i->pct_transported[1] = 0;
|
i->last_month_pct_transported[1] = 0;
|
||||||
i->total_transported[0] = 0;
|
i->last_month_transported[0] = 0;
|
||||||
i->total_transported[1] = 0;
|
i->last_month_transported[1] = 0;
|
||||||
i->was_cargo_delivered = false;
|
i->was_cargo_delivered = false;
|
||||||
i->last_prod_year = _cur_year;
|
i->last_prod_year = _cur_year;
|
||||||
i->total_production[0] = i->production_rate[0] * 8;
|
i->last_month_production[0] = i->production_rate[0] * 8;
|
||||||
i->total_production[1] = i->production_rate[1] * 8;
|
i->last_month_production[1] = i->production_rate[1] * 8;
|
||||||
|
|
||||||
if (!_generating_world) i->total_production[0] = i->total_production[1] = 0;
|
if (!_generating_world) i->last_month_production[0] = i->last_month_production[1] = 0;
|
||||||
|
|
||||||
i->prod_level = 0x10;
|
i->prod_level = 0x10;
|
||||||
|
|
||||||
|
@ -1615,7 +1615,7 @@ static void ExtChangeIndustryProduction(Industry *i)
|
||||||
new_prod = old_prod = i->production_rate[j];
|
new_prod = old_prod = i->production_rate[j];
|
||||||
if (CHANCE16I(20, 1024, r))
|
if (CHANCE16I(20, 1024, r))
|
||||||
new_prod -= ((RandomRange(50) + 10) * old_prod) >> 8;
|
new_prod -= ((RandomRange(50) + 10) * old_prod) >> 8;
|
||||||
if (CHANCE16I(20 + (i->pct_transported[j] * 20 >> 8), 1024, r >> 16))
|
if (CHANCE16I(20 + (i->last_month_pct_transported[j] * 20 >> 8), 1024, r >> 16))
|
||||||
new_prod += ((RandomRange(50) + 10) * old_prod) >> 8;
|
new_prod += ((RandomRange(50) + 10) * old_prod) >> 8;
|
||||||
|
|
||||||
new_prod = clamp(new_prod, 0, 255);
|
new_prod = clamp(new_prod, 0, 255);
|
||||||
|
@ -1667,17 +1667,17 @@ static void UpdateIndustryStatistics(Industry *i)
|
||||||
for (byte j = 0; j < lengthof(indsp->produced_cargo); j++) {
|
for (byte j = 0; j < lengthof(indsp->produced_cargo); j++) {
|
||||||
if (indsp->produced_cargo[j] != CT_INVALID) {
|
if (indsp->produced_cargo[j] != CT_INVALID) {
|
||||||
pct = 0;
|
pct = 0;
|
||||||
if (i->last_mo_production[j] != 0) {
|
if (i->this_month_production[j] != 0) {
|
||||||
i->last_prod_year = _cur_year;
|
i->last_prod_year = _cur_year;
|
||||||
pct = min(i->last_mo_transported[j] * 256 / i->last_mo_production[j], 255);
|
pct = min(i->this_month_transported[j] * 256 / i->this_month_production[j], 255);
|
||||||
}
|
}
|
||||||
i->pct_transported[j] = pct;
|
i->last_month_pct_transported[j] = pct;
|
||||||
|
|
||||||
i->total_production[j] = i->last_mo_production[j];
|
i->last_month_production[j] = i->this_month_production[j];
|
||||||
i->last_mo_production[j] = 0;
|
i->this_month_production[j] = 0;
|
||||||
|
|
||||||
i->total_transported[j] = i->last_mo_transported[j];
|
i->last_month_transported[j] = i->this_month_transported[j];
|
||||||
i->last_mo_transported[j] = 0;
|
i->this_month_transported[j] = 0;
|
||||||
refresh = true;
|
refresh = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1767,7 +1767,7 @@ static void ChangeIndustryProduction(Industry *i)
|
||||||
|
|
||||||
if (only_decrease || CHANCE16(1, 3)) {
|
if (only_decrease || CHANCE16(1, 3)) {
|
||||||
/* If you transport > 60%, 66% chance we increase, else 33% chance we increase */
|
/* If you transport > 60%, 66% chance we increase, else 33% chance we increase */
|
||||||
if (!only_decrease && (i->pct_transported[0] > 153) != CHANCE16(1, 3)) {
|
if (!only_decrease && (i->last_month_pct_transported[0] > 153) != CHANCE16(1, 3)) {
|
||||||
/* Increase production */
|
/* Increase production */
|
||||||
if (i->prod_level != 0x80) {
|
if (i->prod_level != 0x80) {
|
||||||
byte b;
|
byte b;
|
||||||
|
@ -1870,30 +1870,30 @@ extern const TileTypeProcs _tile_type_industry_procs = {
|
||||||
};
|
};
|
||||||
|
|
||||||
static const SaveLoad _industry_desc[] = {
|
static const SaveLoad _industry_desc[] = {
|
||||||
SLE_CONDVAR(Industry, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
SLE_CONDVAR(Industry, xy, SLE_FILE_U16 | SLE_VAR_U32, 0, 5),
|
||||||
SLE_CONDVAR(Industry, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
SLE_CONDVAR(Industry, xy, SLE_UINT32, 6, SL_MAX_VERSION),
|
||||||
SLE_VAR(Industry, width, SLE_UINT8),
|
SLE_VAR(Industry, width, SLE_UINT8),
|
||||||
SLE_VAR(Industry, height, SLE_UINT8),
|
SLE_VAR(Industry, height, SLE_UINT8),
|
||||||
SLE_REF(Industry, town, REF_TOWN),
|
SLE_REF(Industry, town, REF_TOWN),
|
||||||
SLE_CONDNULL( 2, 2, 60), ///< used to be industry's produced_cargo
|
SLE_CONDNULL( 2, 2, 60), ///< used to be industry's produced_cargo
|
||||||
SLE_ARR(Industry, cargo_waiting, SLE_UINT16, 2),
|
SLE_ARR(Industry, cargo_waiting, SLE_UINT16, 2),
|
||||||
SLE_ARR(Industry, production_rate, SLE_UINT8, 2),
|
SLE_ARR(Industry, production_rate, SLE_UINT8, 2),
|
||||||
SLE_CONDNULL( 3, 2, 60), ///< used to be industry's accepts_cargo
|
SLE_CONDNULL( 3, 2, 60), ///< used to be industry's accepts_cargo
|
||||||
SLE_VAR(Industry, prod_level, SLE_UINT8),
|
SLE_VAR(Industry, prod_level, SLE_UINT8),
|
||||||
SLE_ARR(Industry, last_mo_production, SLE_UINT16, 2),
|
SLE_ARR(Industry, this_month_production, SLE_UINT16, 2),
|
||||||
SLE_ARR(Industry, last_mo_transported, SLE_UINT16, 2),
|
SLE_ARR(Industry, this_month_transported, SLE_UINT16, 2),
|
||||||
SLE_ARR(Industry, pct_transported, SLE_UINT8, 2),
|
SLE_ARR(Industry, last_month_pct_transported, SLE_UINT8, 2),
|
||||||
SLE_ARR(Industry, total_production, SLE_UINT16, 2),
|
SLE_ARR(Industry, last_month_production, SLE_UINT16, 2),
|
||||||
SLE_ARR(Industry, total_transported, SLE_UINT16, 2),
|
SLE_ARR(Industry, last_month_transported, SLE_UINT16, 2),
|
||||||
|
|
||||||
SLE_VAR(Industry, counter, SLE_UINT16),
|
SLE_VAR(Industry, counter, SLE_UINT16),
|
||||||
|
|
||||||
SLE_VAR(Industry, type, SLE_UINT8),
|
SLE_VAR(Industry, type, SLE_UINT8),
|
||||||
SLE_VAR(Industry, owner, SLE_UINT8),
|
SLE_VAR(Industry, owner, SLE_UINT8),
|
||||||
SLE_VAR(Industry, random_color, SLE_UINT8),
|
SLE_VAR(Industry, random_color, SLE_UINT8),
|
||||||
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
SLE_CONDVAR(Industry, last_prod_year, SLE_FILE_U8 | SLE_VAR_I32, 0, 30),
|
||||||
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, 31, SL_MAX_VERSION),
|
SLE_CONDVAR(Industry, last_prod_year, SLE_INT32, 31, SL_MAX_VERSION),
|
||||||
SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
|
SLE_VAR(Industry, was_cargo_delivered, SLE_UINT8),
|
||||||
|
|
||||||
/* reserve extra space in savegame here. (currently 32 bytes) */
|
/* reserve extra space in savegame here. (currently 32 bytes) */
|
||||||
SLE_CONDNULL(32, 2, SL_MAX_VERSION),
|
SLE_CONDNULL(32, 2, SL_MAX_VERSION),
|
||||||
|
|
|
@ -326,9 +326,9 @@ static void IndustryViewWndProc(Window *w, WindowEvent *e)
|
||||||
DrawString(2, 117, STR_482A_PRODUCTION_LAST_MONTH, 0);
|
DrawString(2, 117, STR_482A_PRODUCTION_LAST_MONTH, 0);
|
||||||
|
|
||||||
SetDParam(0, ind->produced_cargo[0]);
|
SetDParam(0, ind->produced_cargo[0]);
|
||||||
SetDParam(1, i->total_production[0]);
|
SetDParam(1, i->last_month_production[0]);
|
||||||
|
|
||||||
SetDParam(2, i->pct_transported[0] * 100 >> 8);
|
SetDParam(2, i->last_month_pct_transported[0] * 100 >> 8);
|
||||||
DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), 127, STR_482B_TRANSPORTED, 0);
|
DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), 127, STR_482B_TRANSPORTED, 0);
|
||||||
/* Let's put out those buttons.. */
|
/* Let's put out those buttons.. */
|
||||||
if (IsProductionAlterable(i)) {
|
if (IsProductionAlterable(i)) {
|
||||||
|
@ -338,8 +338,8 @@ static void IndustryViewWndProc(Window *w, WindowEvent *e)
|
||||||
|
|
||||||
if (ind->produced_cargo[1] != CT_INVALID) {
|
if (ind->produced_cargo[1] != CT_INVALID) {
|
||||||
SetDParam(0, ind->produced_cargo[1]);
|
SetDParam(0, ind->produced_cargo[1]);
|
||||||
SetDParam(1, i->total_production[1]);
|
SetDParam(1, i->last_month_production[1]);
|
||||||
SetDParam(2, i->pct_transported[1] * 100 >> 8);
|
SetDParam(2, i->last_month_pct_transported[1] * 100 >> 8);
|
||||||
DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), 137, STR_482B_TRANSPORTED, 0);
|
DrawString(4 + (IsProductionAlterable(i) ? 30 : 0), 137, STR_482B_TRANSPORTED, 0);
|
||||||
/* Let's put out those buttons.. */
|
/* Let's put out those buttons.. */
|
||||||
if (IsProductionAlterable(i)) {
|
if (IsProductionAlterable(i)) {
|
||||||
|
@ -423,7 +423,7 @@ static void UpdateIndustryProduction(Industry *i)
|
||||||
|
|
||||||
for (byte j = 0; j < lengthof(ind->produced_cargo); j++) {
|
for (byte j = 0; j < lengthof(ind->produced_cargo); j++) {
|
||||||
if (ind->produced_cargo[j] != CT_INVALID) {
|
if (ind->produced_cargo[j] != CT_INVALID) {
|
||||||
i->total_production[j] = 8 * i->production_rate[j];
|
i->last_month_production[j] = 8 * i->production_rate[j];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -509,8 +509,8 @@ static int CDECL GeneralIndustrySorter(const void *a, const void *b)
|
||||||
r = 1;
|
r = 1;
|
||||||
} else {
|
} else {
|
||||||
r =
|
r =
|
||||||
(i->total_production[0] + i->total_production[1]) -
|
(i->last_month_production[0] + i->last_month_production[1]) -
|
||||||
(j->total_production[0] + j->total_production[1]);
|
(j->last_month_production[0] + j->last_month_production[1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -525,15 +525,15 @@ static int CDECL GeneralIndustrySorter(const void *a, const void *b)
|
||||||
int pi;
|
int pi;
|
||||||
int pj;
|
int pj;
|
||||||
|
|
||||||
pi = i->pct_transported[0] * 100 >> 8;
|
pi = i->last_month_pct_transported[0] * 100 >> 8;
|
||||||
if (ind_i->produced_cargo[1] != CT_INVALID) {
|
if (ind_i->produced_cargo[1] != CT_INVALID) {
|
||||||
int p = i->pct_transported[1] * 100 >> 8;
|
int p = i->last_month_pct_transported[1] * 100 >> 8;
|
||||||
if (p < pi) pi = p;
|
if (p < pi) pi = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
pj = j->pct_transported[0] * 100 >> 8;
|
pj = j->last_month_pct_transported[0] * 100 >> 8;
|
||||||
if (ind_j->produced_cargo[1] != CT_INVALID) {
|
if (ind_j->produced_cargo[1] != CT_INVALID) {
|
||||||
int p = j->pct_transported[1] * 100 >> 8;
|
int p = j->last_month_pct_transported[1] * 100 >> 8;
|
||||||
if (p < pj) pj = p;
|
if (p < pj) pj = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -618,16 +618,16 @@ static void IndustryDirectoryWndProc(Window *w, WindowEvent *e)
|
||||||
SetDParam(0, i->index);
|
SetDParam(0, i->index);
|
||||||
if (ind->produced_cargo[0] != CT_INVALID) {
|
if (ind->produced_cargo[0] != CT_INVALID) {
|
||||||
SetDParam(1, ind->produced_cargo[0]);
|
SetDParam(1, ind->produced_cargo[0]);
|
||||||
SetDParam(2, i->total_production[0]);
|
SetDParam(2, i->last_month_production[0]);
|
||||||
|
|
||||||
if (ind->produced_cargo[1] != CT_INVALID) {
|
if (ind->produced_cargo[1] != CT_INVALID) {
|
||||||
SetDParam(3, ind->produced_cargo[1]);
|
SetDParam(3, ind->produced_cargo[1]);
|
||||||
SetDParam(4, i->total_production[1]);
|
SetDParam(4, i->last_month_production[1]);
|
||||||
SetDParam(5, i->pct_transported[0] * 100 >> 8);
|
SetDParam(5, i->last_month_pct_transported[0] * 100 >> 8);
|
||||||
SetDParam(6, i->pct_transported[1] * 100 >> 8);
|
SetDParam(6, i->last_month_pct_transported[1] * 100 >> 8);
|
||||||
DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_TWO, 0);
|
DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM_TWO, 0);
|
||||||
} else {
|
} else {
|
||||||
SetDParam(3, i->pct_transported[0] * 100 >> 8);
|
SetDParam(3, i->last_month_pct_transported[0] * 100 >> 8);
|
||||||
DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM, 0);
|
DrawString(4, 28 + n * 10, STR_INDUSTRYDIR_ITEM, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -663,18 +663,18 @@ static const OldChunks industry_chunk[] = {
|
||||||
|
|
||||||
OCL_SVAR( OC_UINT8, Industry, prod_level ),
|
OCL_SVAR( OC_UINT8, Industry, prod_level ),
|
||||||
|
|
||||||
OCL_SVAR( OC_UINT16, Industry, last_mo_production[0] ),
|
OCL_SVAR( OC_UINT16, Industry, this_month_production[0] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, last_mo_production[1] ),
|
OCL_SVAR( OC_UINT16, Industry, this_month_production[1] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, last_mo_transported[0] ),
|
OCL_SVAR( OC_UINT16, Industry, this_month_transported[0] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, last_mo_transported[1] ),
|
OCL_SVAR( OC_UINT16, Industry, this_month_transported[1] ),
|
||||||
|
|
||||||
OCL_SVAR( OC_UINT8, Industry, pct_transported[0] ),
|
OCL_SVAR( OC_UINT8, Industry, last_month_pct_transported[0] ),
|
||||||
OCL_SVAR( OC_UINT8, Industry, pct_transported[1] ),
|
OCL_SVAR( OC_UINT8, Industry, last_month_pct_transported[1] ),
|
||||||
|
|
||||||
OCL_SVAR( OC_UINT16, Industry, total_production[0] ),
|
OCL_SVAR( OC_UINT16, Industry, last_month_production[0] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, total_production[1] ),
|
OCL_SVAR( OC_UINT16, Industry, last_month_production[1] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, total_transported[0] ),
|
OCL_SVAR( OC_UINT16, Industry, last_month_transported[0] ),
|
||||||
OCL_SVAR( OC_UINT16, Industry, total_transported[1] ),
|
OCL_SVAR( OC_UINT16, Industry, last_month_transported[1] ),
|
||||||
|
|
||||||
OCL_SVAR( OC_UINT8, Industry, type ),
|
OCL_SVAR( OC_UINT8, Industry, type ),
|
||||||
OCL_SVAR( OC_UINT8, Industry, owner ),
|
OCL_SVAR( OC_UINT8, Industry, owner ),
|
||||||
|
|
Loading…
Reference in New Issue