Peter Nelson
40aeedeade
Codechange: Use EnumBitSet for callback masks.
2025-01-31 17:08:24 +00:00
Peter Nelson
917d5cc75d
Codechange: Use EnumBitSet for RoadTypeFlags and RailTypeFlags. ( #13415 )
2025-01-30 22:08:51 +00:00
Rubidium
e894a5880c
Codechange: rename CargoID to CargoType and amend related variables/comments
2025-01-26 18:07:10 +01:00
Michael Ostapenko
c4494faf10
Fix #12968 , d20df82: Added back ability to create unremovable houses
2025-01-25 14:40:51 +01:00
Iris-Persephone
a589793e27
Fix #12987 : Historical houses now always spawn completed ( #13332 )
...
Co-authored-by: Anonymous <anonymous@openttd.org >
2025-01-19 23:58:05 +00:00
Rubidium
0aa9faf187
Codechange: use INVALID_TOWN instead of 0 to denote 'not applicable'
2025-01-19 16:54:42 +01:00
Peter Nelson
810dc23215
Codechange: Replace viewport StringID specialisation with flags. ( #13237 )
...
When drawing viewport strings, the StringID is used to determine how to draw the sign. Instead, allow the behaviour to be set by the caller with flags. This means that some of the viewport-specific strings are no longer necessary.
ViewportAddString() now returns a pointer to a string as it may not actually add the string, in which case preparing the string parameters in advance is a waste of time.
2025-01-02 20:47:12 +00:00
Peter Nelson
2d372fa516
Codechange: NewGRF strings are not StringIDs.
...
Add GRFStringID type and use it when dealing with GRF-local string IDs.
2025-01-02 20:03:40 +00:00
Rubidium
3956ed086a
Codechange: use Date/Year constructor explicitly
2025-01-01 16:25:32 +01:00
Peter Nelson
1cf3a2a726
Codechange: No need to call DeleteAnimatedTile and DoClearSquare. ( #13191 )
...
DoClearSquare calls DeleteAnimatedTile itself so this is effectively a duplicate call.
2024-12-23 19:08:03 +00:00
SamuXarick
8e948af3bc
Codefix: Ensure assertions are properly encapsulated within WITH_ASSERT directive
2024-12-22 14:02:13 +01:00
Peter Nelson
1e77fd0b61
Codechange: Remove unnecessary 'return_cmd_error` macro. ( #13160 )
...
This macro is a leftover from when errors used to be packed into a single int32_t.
`return CommandCost` is clearer, and doesn't need a macro.
2024-12-08 18:02:30 +00:00
SamuXarick
10e2d1ca36
Codechange: Use Map::Iterate() to iterate tiles
2024-12-06 10:33:11 +10:00
Peter Nelson
e73d6fcaac
Codechange: Store grfid with entity grfprops.
...
This allows using the grfid without having to dereference the grffile pointer.
Uses no extra storage as it fits within otherwise wasted padding space.
2024-12-05 18:17:58 +00:00
Peter Nelson
6f8e30c55d
Codechange: Use unique_ptr throughout instead of new raw pointer for company news data. ( #13148 )
...
The pointer was already captured and converted to a unqiue_ptr, but hidden within the call stack.
This now makes it clearer that the object passed to Add.*NewsItem will become owned by the news item.
2024-12-04 12:18:34 +00:00
Peter Nelson
2ede94bc40
Codechange: Adapt functions to get accepted cargo of prototype house.
2024-12-02 00:48:46 +00:00
Peter Nelson
b730f8783e
Fix d450d4743: Division by zero when larger_towns is set to 0. ( #13104 )
...
Universe ended.
2024-11-20 00:09:02 +00:00
Peter Nelson
fc8685d618
Codechange: Use functor for Kdtree's XYFunc. ( #13074 )
...
Kdtree uses a function pointer and incorrectly calls it a functor. The function pointer needs to be passed on instantiaton.
Instead, use an actual functor. This simplifies instantiation.
2024-11-19 20:29:56 +00:00
Loïc Guilloux
9dae626237
Codefix: restore _generating_world and nearest town cache when failing to fund a random town ( #13042 )
2024-10-29 19:56:15 +01:00
Rubidium
c9819f8957
Codechange: split GetRoadDir as bays have DiagDir and drive throughs have Axis
2024-10-24 20:40:32 +02:00
Rubidium
a6b7593a52
Codechange: use TileDiffXY(0, 0) over magic 0
2024-10-20 15:49:32 +02:00
Rubidium
3b0fcf442f
Codefix: use actual type instead of int for TileIndexDiff
2024-10-20 15:49:32 +02:00
Peter Nelson
446db2c826
Codechange: Remove redundant NewsStringData data. ( #12983 )
...
Since SetDParamStr() always owns a copy of the string, there is no need to make another copy of it to keep it around while the news item exists.
This also fixes a leak in `CmdIndustrySetProduction` as the allocated data wasn't passed to AddIndustryNewsItem.
2024-10-08 19:48:55 +01:00
Peter Nelson
d450d4743e
Fix #12957 : 1-in-X proportion of towns being cities is unnecessarily random. ( #12960 )
...
Using an actual random chance to generate cities means that there may be far less or far more than 'expected' towns being made as cities.
While this is the point of randomness, the wording of the setting is "Proporation of towns that will become cities: 1 in X" and does not mention randomness at all.
2024-09-22 14:42:01 +01:00
Tyler Trahan
ad020759c7
Feature: Import town data from JSON file ( #10409 )
2024-09-16 09:29:10 -04:00
Peter Nelson
0f0f3d74ca
Codefix: Delete PersistentStorage when a town is deleted. ( #12903 )
2024-08-19 08:18:01 +01:00
Peter Nelson
8754846901
Codechange: Allow adding to animated tile list without marking dirty.
...
This avoids redundant tile refreshes when the caller has already marked a tile dirty, or knows it does not need refreshing.
Loosely backported from JGRPP.
2024-08-13 20:04:44 +01:00
Peter Nelson
93eb27d8df
Codechange: Use reference for always_accepted output parameter of AddAcceptedCargo. ( #12854 )
...
This parameter should always present (see tile_cmd.h:186), so use a reference to ensure it is.
2024-07-10 12:30:14 +01:00
Tyler Trahan
5ed2fcfb53
Change: Don't use house construction states in Scenario Editor
2024-06-26 16:27:02 -04:00
Tyler Trahan
06bd47af4f
Revert d8771b3: Construction stage wrong for all houses
2024-06-26 16:27:02 -04:00
Jonathan G Rennison
9c84e5df3f
Add: Road waypoint functionality
2024-06-24 22:12:08 +02:00
Björn Wärmedal
e0bcb54a4b
Change: Allow bribing local authority when other company has exclusive rights ( #12763 )
2024-06-22 07:51:03 -04:00
Tyler Trahan
d8771b3f68
Change: Don't use house construction states in Scenario Editor ( #12730 )
2024-06-15 17:11:00 -04:00
Peter Nelson
6d2424c0ef
Codechange: Update each town label dimensions once during map gen. ( #12742 )
...
This avoids re-layouting the label for each change in population as the town is grown.
2024-06-01 16:57:17 +01:00
Peter Nelson
d1b7619822
Change: Ignore min/max years for manual house placer. ( #12687 )
2024-05-15 23:17:58 +01:00
Peter Nelson
ed67aedabf
Feature: Allow manually placing town buildings in scenario editor.
...
House picker is accessed from the Landscaping toolbar as there is no town toolbar.
Once placed these houses behave like any other and can be removed by players and towns.
Uses the unified picker system, so also supports used/saved favourites. As town building don't have class labels, town zones are use to imitate them.
2024-05-14 21:11:48 +01:00
Peter Nelson
d99c1337a2
Add: Command to build an individual house on a specific tile.
2024-05-14 21:11:48 +01:00
Peter Nelson
f901722066
Codechange: Rename BuildTownHouse to TryBuildTownHouse.
2024-05-14 21:11:48 +01:00
Peter Nelson
40fa45a76a
Codechange: Emplace std::pair into vectors.
...
This creates the pair in the vector, instead of creating it then copying it in.
2024-04-20 10:25:20 +01:00
Peter Nelson
fe7bd3a266
Codechange: Use std::array for cached town zone radius.
2024-04-18 22:13:55 +01:00
Peter Nelson
48eb9b8bc9
Add: Check that towns can build roads before generating map. ( #12503 )
2024-04-16 15:25:07 +00:00
Rubidium
4e6d4fcf32
Codechange: replace for loops with endof with range-based for loops
2024-04-08 07:00:55 +02:00
Peter Nelson
9854553e10
Codechange: ZOOM_LVL_SHIFT/BASE are not actually ZOOM_LVLs.
...
Rename to ZOOM_BASE_SHIFT and ZOOM_BASE respectively, and derive from ZOOM_LVL instead of numeric value.
2024-04-04 22:27:03 +01:00
Peter Nelson
e16b982b6a
Codechange: Use iteration when dealing with all HouseSpecs.
2024-03-28 23:23:00 +01:00
Peter Nelson
3e83dcedfd
Codechange: Allocate houses dynamically instead of from a fixed array.
...
This uses vectors for HouseSpecs and global/town building counts.
2024-03-28 23:23:00 +01:00
Patric Stout
a3cfd23cf9
Codechange: rename byte to uint8_t ( #12308 )
2024-03-16 23:59:32 +01:00
Rubidium
27eadc13ec
Codechange: rename TILE_ADD(XY) to TileAdd(XY)
2024-03-10 15:50:24 +01:00
Rubidium
bab5a8a787
Codechange: use std::source_location over __FILE__ and __LINE__ for Backup
2024-03-10 10:14:20 +01:00
Michael Lutz
8dda387f82
Codechange: Use std::tuple for slope functions with two return values
2024-03-08 18:08:55 +01:00
Peter Nelson
2fd9096070
Change: Decouple and remove landscape-dependent cargo types. ( #11719 )
...
Cargo types of default engines, industries and houses are now specified in terms of label.
2024-02-04 10:16:08 +00:00