NewGRF: Add town variables for uncapped house count, population and zone radii
Add feature name
This commit is contained in:
@@ -63,6 +63,7 @@ extern const GRFFeatureInfo _grf_feature_list[] = {
|
||||
GRFFeatureInfo("more_objects_per_grf", 1, GFTOF_MORE_OBJECTS_PER_GRF),
|
||||
GRFFeatureInfo("more_action2_ids", 1, GFTOF_MORE_ACTION2_IDS),
|
||||
GRFFeatureInfo("town_feature", 1),
|
||||
GRFFeatureInfo("town_uncapped_variables", 1),
|
||||
GRFFeatureInfo(),
|
||||
};
|
||||
|
||||
@@ -167,6 +168,13 @@ extern const GRFVariableMapDefinition _grf_action2_remappable_variables[] = {
|
||||
GRFVariableMapDefinition(GSF_SIGNALS, A2VRI_SIGNALS_SIGNAL_CONTEXT, "signals_signal_context"),
|
||||
GRFVariableMapDefinition(GSF_SIGNALS, A2VRI_SIGNALS_SIGNAL_STYLE, "signals_signal_style"),
|
||||
GRFVariableMapDefinition(GSF_SIGNALS, A2VRI_SIGNALS_SIGNAL_SIDE, "signals_signal_side"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_TOWNS_HOUSE_COUNT, "town_house_count"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_TOWNS_POPULATION, "town_population"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_ZONE_0, "town_zone_0_radius_square"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_ZONE_1, "town_zone_1_radius_square"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_ZONE_2, "town_zone_2_radius_square"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_ZONE_3, "town_zone_3_radius_square"),
|
||||
GRFVariableMapDefinition(GSF_FAKE_TOWNS, A2VRI_ZONE_4, "town_zone_4_radius_square"),
|
||||
GRFVariableMapDefinition(GSF_NEWLANDSCAPE, 0x40, "newlandscape_terrain_type"),
|
||||
GRFVariableMapDefinition(GSF_NEWLANDSCAPE, 0x41, "newlandscape_tile_slope"),
|
||||
GRFVariableMapDefinition(GSF_NEWLANDSCAPE, 0x42, "newlandscape_tile_height"),
|
||||
|
@@ -87,6 +87,13 @@ enum Action2VariableRemapIds {
|
||||
A2VRI_SIGNALS_SIGNAL_CONTEXT,
|
||||
A2VRI_SIGNALS_SIGNAL_STYLE,
|
||||
A2VRI_SIGNALS_SIGNAL_SIDE,
|
||||
A2VRI_TOWNS_HOUSE_COUNT,
|
||||
A2VRI_TOWNS_POPULATION,
|
||||
A2VRI_ZONE_0,
|
||||
A2VRI_ZONE_1,
|
||||
A2VRI_ZONE_2,
|
||||
A2VRI_ZONE_3,
|
||||
A2VRI_ZONE_4,
|
||||
};
|
||||
|
||||
enum GRFFeatureTestObservationFlag : uint8 {
|
||||
|
@@ -109,6 +109,15 @@
|
||||
case 0xD3: return GB(this->t->received[TE_WATER].old_act, 8, 8);
|
||||
case 0xD4: return this->t->road_build_months;
|
||||
case 0xD5: return this->t->fund_buildings_months;
|
||||
case A2VRI_TOWNS_HOUSE_COUNT: return this->t->cache.num_houses;
|
||||
case A2VRI_TOWNS_POPULATION: return this->t->cache.population;
|
||||
|
||||
case A2VRI_ZONE_0:
|
||||
case A2VRI_ZONE_1:
|
||||
case A2VRI_ZONE_2:
|
||||
case A2VRI_ZONE_3:
|
||||
case A2VRI_ZONE_4:
|
||||
return this->t->cache.squared_town_zone_radius[variable - A2VRI_ZONE_0];
|
||||
}
|
||||
|
||||
DEBUG(grf, 1, "Unhandled town variable 0x%X", variable);
|
||||
@@ -163,6 +172,13 @@
|
||||
case 0xC3: case 0xC4: case 0xC5: case 0xC6: case 0xC7: case 0xC8: case 0xC9: case 0xCA:
|
||||
case 0xCB: case 0xCC: case 0xCD: case 0xCE: case 0xCF: case 0xD0: case 0xD1: case 0xD2:
|
||||
case 0xD3: case 0xD4: case 0xD5:
|
||||
case A2VRI_TOWNS_HOUSE_COUNT:
|
||||
case A2VRI_TOWNS_POPULATION:
|
||||
case A2VRI_ZONE_0:
|
||||
case A2VRI_ZONE_1:
|
||||
case A2VRI_ZONE_2:
|
||||
case A2VRI_ZONE_3:
|
||||
case A2VRI_ZONE_4:
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -1581,6 +1581,13 @@ static const NIVariable _niv_towns[] = {
|
||||
NIV(0x9A, "zone radius 3"),
|
||||
NIV(0x9C, "zone radius 4"),
|
||||
NIV(0xB6, "number of buildings"),
|
||||
NIV(A2VRI_TOWNS_HOUSE_COUNT, "number of buildings (uncapped)"),
|
||||
NIV(A2VRI_TOWNS_POPULATION, "population (uncapped)"),
|
||||
NIV(A2VRI_ZONE_0, "zone radius 0 (uncapped)"),
|
||||
NIV(A2VRI_ZONE_1, "zone radius 1 (uncapped)"),
|
||||
NIV(A2VRI_ZONE_2, "zone radius 2 (uncapped)"),
|
||||
NIV(A2VRI_ZONE_3, "zone radius 3 (uncapped)"),
|
||||
NIV(A2VRI_ZONE_4, "zone radius 4 (uncapped)"),
|
||||
NIV_END()
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user