Merge branch 'master' into enhanced_viewport_overlay
Notes on conflict resolution: * MarkTileDirtyByTile gained an extra param on both sides of the merge Move bridge level offset to be after zoom level param, as it's used less. * Add zoom level params to MarkBridgeDirty functions * Fix undefined behaviour in colour_index cycling in ViewportMapDraw Conflicts: src/clear_cmd.cpp src/pbs.cpp src/rail_cmd.cpp src/toolbar_gui.cpp src/train_cmd.cpp src/vehicle.cpp src/viewport.cpp src/viewport_func.h
This commit is contained in:
@@ -42,12 +42,12 @@
|
||||
|
||||
#include "table/strings.h"
|
||||
|
||||
#include <bitset>
|
||||
|
||||
#include "safeguards.h"
|
||||
|
||||
bool _ignore_restrictions;
|
||||
uint64 _displayed_industries; ///< Communication from the industry chain window to the smallmap window about what industries to display.
|
||||
|
||||
assert_compile(NUM_INDUSTRYTYPES <= 64); // Make sure all industry types fit in _displayed_industries.
|
||||
std::bitset<NUM_INDUSTRYTYPES> _displayed_industries; ///< Communication from the industry chain window to the smallmap window about what industries to display.
|
||||
|
||||
/** Cargo suffix type (for which window is it requested) */
|
||||
enum CargoSuffixType {
|
||||
@@ -229,7 +229,7 @@ class BuildIndustryWindow : public Window {
|
||||
* The tests performed after the enabled allow to load the industries
|
||||
* In the same way they are inserted by grf (if any)
|
||||
*/
|
||||
for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
IndustryType ind = _sorted_industry_types[i];
|
||||
const IndustrySpec *indsp = GetIndustrySpec(ind);
|
||||
if (indsp->enabled) {
|
||||
@@ -2303,7 +2303,8 @@ struct IndustryCargoesWindow : public Window {
|
||||
{
|
||||
this->GetWidget<NWidgetCore>(WID_IC_CAPTION)->widget_data = STR_INDUSTRY_CARGOES_INDUSTRY_CAPTION;
|
||||
this->ind_cargo = it;
|
||||
_displayed_industries = 1ULL << it;
|
||||
_displayed_industries.reset();
|
||||
_displayed_industries.set(it);
|
||||
|
||||
this->fields.Clear();
|
||||
CargoesRow *row = this->fields.Append();
|
||||
@@ -2347,12 +2348,12 @@ struct IndustryCargoesWindow : public Window {
|
||||
|
||||
if (HasCommonValidCargo(central_sp->accepts_cargo, lengthof(central_sp->accepts_cargo), indsp->produced_cargo, lengthof(indsp->produced_cargo))) {
|
||||
this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it);
|
||||
SetBit(_displayed_industries, it);
|
||||
_displayed_industries.set(it);
|
||||
supp_count++;
|
||||
}
|
||||
if (HasCommonValidCargo(central_sp->produced_cargo, lengthof(central_sp->produced_cargo), indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) {
|
||||
this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 4, it);
|
||||
SetBit(_displayed_industries, it);
|
||||
_displayed_industries.set(it);
|
||||
cust_count++;
|
||||
}
|
||||
}
|
||||
@@ -2381,7 +2382,7 @@ struct IndustryCargoesWindow : public Window {
|
||||
{
|
||||
this->GetWidget<NWidgetCore>(WID_IC_CAPTION)->widget_data = STR_INDUSTRY_CARGOES_CARGO_CAPTION;
|
||||
this->ind_cargo = cid + NUM_INDUSTRYTYPES;
|
||||
_displayed_industries = 0;
|
||||
_displayed_industries.reset();
|
||||
|
||||
this->fields.Clear();
|
||||
CargoesRow *row = this->fields.Append();
|
||||
@@ -2416,12 +2417,12 @@ struct IndustryCargoesWindow : public Window {
|
||||
|
||||
if (HasCommonValidCargo(&cid, 1, indsp->produced_cargo, lengthof(indsp->produced_cargo))) {
|
||||
this->PlaceIndustry(1 + supp_count * num_indrows / num_supp, 0, it);
|
||||
SetBit(_displayed_industries, it);
|
||||
_displayed_industries.set(it);
|
||||
supp_count++;
|
||||
}
|
||||
if (HasCommonValidCargo(&cid, 1, indsp->accepts_cargo, lengthof(indsp->accepts_cargo))) {
|
||||
this->PlaceIndustry(1 + cust_count * num_indrows / num_cust, 2, it);
|
||||
SetBit(_displayed_industries, it);
|
||||
_displayed_industries.set(it);
|
||||
cust_count++;
|
||||
}
|
||||
}
|
||||
@@ -2612,7 +2613,7 @@ struct IndustryCargoesWindow : public Window {
|
||||
|
||||
case WID_IC_IND_DROPDOWN: {
|
||||
DropDownList *lst = new DropDownList;
|
||||
for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
IndustryType ind = _sorted_industry_types[i];
|
||||
const IndustrySpec *indsp = GetIndustrySpec(ind);
|
||||
if (!indsp->enabled) continue;
|
||||
@@ -2699,7 +2700,7 @@ const int IndustryCargoesWindow::VERT_TEXT_PADDING = 5; ///< Vertical padding ar
|
||||
static void ShowIndustryCargoesWindow(IndustryType id)
|
||||
{
|
||||
if (id >= NUM_INDUSTRYTYPES) {
|
||||
for (uint8 i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
for (uint i = 0; i < NUM_INDUSTRYTYPES; i++) {
|
||||
const IndustrySpec *indsp = GetIndustrySpec(_sorted_industry_types[i]);
|
||||
if (indsp->enabled) {
|
||||
id = _sorted_industry_types[i];
|
||||
|
Reference in New Issue
Block a user