Patric Stout
07730584d7
Codechange: make explicit when a TileIndex is cast to its basetype ( #11190 )
...
This prevents people accidentially assigning a TileIndex to a Date
or any other type they shouldn't.
11 months ago
Patric Stout
299570b2c1
Codechange: make TimerGameCalendar Date and Year types strongly typed ( #10761 )
11 months ago
Jonathan G Rennison
6a048bc168
Fix #11164 : Duplicate town names when using the many random towns function
11 months ago
Rubidium
eaae0bb5e7
Codechange: automatic adding of _t to (u)int types, and WChar to char32_t
...
for i in `find src -type f|grep -v 3rdparty/fmt|grep -v 3rdparty/catch2|grep -v 3rdparty/opengl|grep -v stdafx.h`; do sed 's/uint16& /uint16 \&/g;s/int8\([ >*),;[]\)/int8_t\1/g;s/int16\([ >*),;[]\)/int16_t\1/g;s/int32\([ >*),;[]\)/int32_t\1/g;s/int64\([ >*),;[]\)/int64_t\1/g;s/ uint32(/ uint32_t(/g;s/_uint8_t/_uint8/;s/Uint8_t/Uint8/;s/ft_int64_t/ft_int64/g;s/uint64$/uint64_t/;s/WChar/char32_t/g;s/char32_t char32_t/char32_t WChar/' -i $i; done
12 months ago
Björn Wärmedal
7de37e07b6
Change: make Exclusive Transport Rights more exclusive ( #11076 )
...
Now, exclusive transport rights can only be bought if no company
currently owns them. A successful bribe will void any exclusive
transport rights that any *other* company currently has in the town.
12 months ago
Rubidium
f86500df92
Codechange: remove need for SetDParamX
1 year ago
rubidium42
921f5afc4d
Codechange: Apply suggestions from code review
1 year ago
Rubidium
2dd2b698d2
Codechange: convert C-style GetTownName API to std::string returning API
1 year ago
Peter Nelson
76516d7f70
Codechange: Use IsValidCargoID/IsValidCargoType.
...
IsValidCargoType() is used only for unmapped IDs.
1 year ago
Peter Nelson
c38df2d589
Codechange: Use std::map instead of custom SmallMap.
1 year ago
Tyler Trahan
98d809c33b
Codechange: Don't use macros for DAYS_TILL and friends ( #10746 )
1 year ago
Rubidium
19ec4e8beb
Codechange: replace ClampToI32/U16 with ClampTo<int32_t/uint16_t>
1 year ago
Patric Stout
31ad990831
Codechange: move tick-counter into TimerGameTick ( #10712 )
1 year ago
Patric Stout
7aa2b9ab0a
Codechange: move all date-related variables inside the timer ( #10706 )
1 year ago
Peter Nelson
087654501b
Codechange: Initialise specs with std::fill/std::copy instead of memset/memcpy.
1 year ago
PeterN
e97bf271dc
Codechange: Make SpriteType, CargoSortType, SourceType and ScriptType enum classes. ( #10663 )
...
This avoids a (soft) namespace conflict between the four ST_* enums.
1 year ago
Patric Stout
3ebc7ad16e
Codechange: migrate all game-time-related timers to the new framework
1 year ago
PeterN
ff55bfb787
Fix #10343 : Don't extend town-disallowed roadtypes. ( #10347 )
...
Towns currently don't build disallowed roadtypes, however they should
also not extend disallowed roadtypes as well.
If the roadtype that cannot be extended happens to be the roadtype that
the town was going to build then this restriction is ignored.
1 year ago
Rubidium
e8af8daa68
Codechange: pass "ground vehicle" to GetTileSlopeZ since for tunnel/bridges there are two states
...
Previously it checked the position in non-driving direction to "guess" whether
a ground vehicle was using the function, so on tunnels/bridges it could either
return the Z of the (virtual) ground compared to the Z of the path the vehicle
would take.
1 year ago
rubidium42
6ba55e663e
Codechange: do not hide variables with other variables
1 year ago
Rubidium
fe2bcd2a58
Codechange: migrate size related functions to Map structure
1 year ago
Rubidium
3373128233
Codechange: pass the randomizer directly to the town name generation
1 year ago
PeterN
c8cc61d889
Fix #10150 : Force FS_SMALL for small viewport signs. ( #10283 )
...
* Fix #10150 : Force FS_SMALL for small viewport signs.
This is a workaround for string widths being different with mixed
font-sizes.
* Fix: Flag small sign shadow as small text.
(This method of drawing shadows is hilarious and needs replacing, but
this is a quick fix.)
2 years ago
Joel-Milligan
59645c6733
Change: Remove scrollbar from town authority actions panel ( #9928 )
2 years ago
Tyler Trahan
47a998fb0c
Feature: Towns don't build parallel, redundant bridges
2 years ago
Tyler Trahan
fa562ba041
Fix #9712 : Cap town bridge length at original 11-tile limit ( #9890 )
2 years ago
Tyler Trahan
f92cf38ab5
Feature: Allow disabling local authority control of company actions
2 years ago
J0anJosep
d9a37c915f
Cleanup #9725 : Replace cmd_helper related functions and remove cmd_helper.h.
2 years ago
Joan Josep
e890e7db76
Cleanup #9725 : Clean up Doxygen docs and fix typo. ( #9753 )
3 years ago
Michael Lutz
c521b965bd
Codechange: Don't use a global for the terrforming error tile.
3 years ago
Michael Lutz
2e39637db2
Codechange: Don't use a global for the 'not enough cash' message.
3 years ago
Michael Lutz
57b82e2e99
Codechange: Don't use globals for story/goal/sign/group command proc return values.
3 years ago
Michael Lutz
c6d7b98808
Codechange: Un-bitstuff landscape commands.
3 years ago
Michael Lutz
1a42a8a5d5
Codechange: Un-bitstuff town-related commands.
3 years ago
Michael Lutz
46bd2f1ced
Codechange: Un-bitstuff remaining transport infrastructure commands.
3 years ago
Michael Lutz
e740c24eb7
Codechange: Template DoCommand to automagically reflect the parameters of the command proc.
...
When finished, this will allow each command handler to take individually
different parameters, obliviating the need for bit-packing.
3 years ago
Michael Lutz
7048e1522f
Codechange: Move flags in CommandProc in front of the command arguments.
3 years ago
Michael Lutz
33ca4f2b99
Codechange: Let the compile generate the master command table out of templated command traits.
...
This is using a non-intrusive type-traits like templated system, which
allows compile-time validation that the command table and the command
enum match up.
3 years ago
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
3 years ago
Patric Stout
2c05412d72
Fix #9407 : desync when founding a town nearby a station ( #9526 )
...
"stations_near" wasn't updated when founding a town near
a station. As this variable is not saved, any client joining
after the town is founded has a different value for
"stations_near", potentially causing desyncs.
As the intention of this if() statement was to skip an expensive
calculation when there are clearly no stations, better to move
that check inside the function, so other places also enjoy
the speedup.
3 years ago
rubidium42
9a7750f14e
Codechange: use the constructor for CompanyNewsItem to fill the data instead of a separate function
3 years ago
rubidium42
aa9818db90
Codechange: create a type for the "free_data" of NewsItems and (de)allocate it with new and delete
3 years ago
Patric Stout
28e90769f7
Codechange: use "[[maybe_unused]]" instead of a wide variety of other ways we had
...
While at it, replace OTTD_ASSERT with WITH_ASSERT, as this
is always set if assert() is valid. No matter if NDEBUG is set
or not.
3 years ago
rubidium42
4613ababd3
Fix #9316 , 64eddaeb: at about 250.000 inhabitants the bridge length limit check overflows
3 years ago
glx22
5799402f7a
Codechange: Rename window related DeleteXXX to match new behaviour
3 years ago
rubidium42
2e136285e1
Codechange: move from C-string to std::string for DoCommand
3 years ago
rubidium42
661728558e
Codechange: let IsUnique.* functions accept std::string
3 years ago
rubidium42
b791ffc6de
Fix: do not hide parameter by local variable with the same name
3 years ago
Rubidium
296194ad36
Fix: memory leak due to assigning result of strdup to a std::string
3 years ago
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
3 years ago