Michael Lutz
a38bbefe1b
Codechange: Untangle command code, flags and error string for DoCommand*.
3 years ago
Michael Lutz
549caca39c
Codechange: Move command arguments to the back of the networked command function calls.
3 years ago
Michael Lutz
b6933a2ebd
Codechange: Move command arguments to the back of the DoCommand function call.
3 years ago
Rubidium
d83647f9a7
Fix #9440 : negative cargo payments not being handled right
...
Cargo payments were stored as unsigned integer, but cast to int64 during
application of inflation. However, then being multiplied with a uint64
making the result uint64. So in the end the payment that should have been
negative becomes hugely positive.
3 years ago
glx22
a543a4b7bb
Codechange: Remove FOR_EACH_SET_CARGO_ID
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
ef25afd55a
Fix #9348 , 4d74e51: don't try to sell shares of spectators ( #9349 )
...
"new_owner" can be INVALID_OWNER, and as INVALID_OWNER ==
COMPANY_SPECTATORS, we could end up trying to sell shares of
nobody.
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
Patric Stout
4d74e51907
Fix #9281 : acquire a company uses special bookkeeping to make you rich ( #9300 )
...
When you buy-out a company, you got your shares back. This is
based on company-value, which includes values for the vehicles etc.
In other words, you not only got the vehicles, but you also got
paid to get them back.
Additionally, you also got the loan of the company, but not the
money for the loan (as that is subtracted from the company-value).
Solve this by changing the rules of a buy-out: don't sell your
shares, get the loan AND the balance and get the infrastructure.
3 years ago
rubidium42
44ca7d9377
Change: Use gender-neutral pronouns
3 years ago
William Davis
881e1da51d
Change: Use gender-neutral pronouns in console command messages (and comments) ( #9203 )
3 years ago
glx22
9a8756d7ed
Codechange: Replace FOR_ALL_CARGOSPECS with range-based for loops
3 years ago
glx22
6b8ad5a9b1
Change: Apply some consistency to singleplayer related comments
4 years ago
Charles Pigott
9b800a96ed
Codechange: Remove min/max functions in favour of STL variants ( #8502 )
4 years ago
Charles Pigott
860c270c73
Codechange: Replace assert_compile macro with static_assert
4 years ago
Michael Lutz
79cb9efa7f
Change: Always apply inflation from 1920 to 2090, no matter the game start year. ( #7589 )
4 years ago
Pavel Stupnikov
9a45a0f535
Feature: Set exclusive access to industry from GS ( #8115 )
4 years ago
Pavel Stupnikov
b2895dfcd0
Change: extend the allowed range for max loan setting ( #8386 )
4 years ago
Jonathan G Rennison
2fee030a26
Change: Algorithm for transfer feeder payments
...
The original algorithm pays intermediate legs in feeder systems based
on the start and end stations of that particular leg.
This tends to result in large negative payments on the final leg for
journeys with many feeder legs, as the overall feeder payment increases
with the number of legs, and the final leg is penalised for discrepancies
between the previous leg payments and the actual payment for delivery
from the source to the destination.
The feeder share setting is a partial mitigation, however it is difficult
to tune as a suitable value depends on the number of legs and the network
topology, which are often not the same for all vehicles.
The new incremental algorithm pays the cargo payment from the source
station to the end station of the current leg, minus any previous
transfer feeder payments for each leg.
This prevents unbounded increase of feeder payments and therefore avoids
the issue of excessive negative payments on the final leg.
Feeder payments may be negative, e.g. in the case of poorly performing
or highly indirect legs. This is better than penalising the final leg.
This mode reduces the need to tune the feeder shares setting to the
current network.
The feeder share setting applies in the existing way.
5 years ago
Mingwei Samuel
26ce4eb45d
Fix #7430 : when train visits station, only reset time_since_pickup if has room to load
5 years ago
glx
ee7a8eebca
Codechange: Replace FOR_ALL_TOWNS with range-based for loops
5 years ago
glx
0b489f9924
Codechange: Replace FOR_ALL_SUBSIDIES with range-based for loops
5 years ago
glx
847e5f33d4
Codechange: Replace story related FOR_ALL with range-based for loops
5 years ago
glx
869581eb23
Codechange: Replace FOR_ALL_SIGNS with range-based for loops
5 years ago
glx
d8a1be48cd
Codechange: Replace vehicle related FOR_ALL with range-based for loops
5 years ago
glx
4ae829cb27
Codechange: Replace FOR_ALL_GROUPS with range-based for loops
5 years ago
glx
f58ce3db19
Codechange: Replace FOR_ALL_GOALS with range-based for loops
5 years ago
glx
ddabfed1cd
Codechange: Replace station related FOR_ALL with range-based for loops
5 years ago
glx
3a14cea068
Codechange: Replace FOR_ALL_COMPANIES with range-based for loops
5 years ago
S. D. Cloudt
13cc8a0cee
Cleanup: Removed SVN headers
5 years ago
Jack Baron
7c9dedb94f
Feature: Configure minimum share trading years
5 years ago
JMcKiern
04f659e768
Fix: Some typos found using codespell
5 years ago
peter1138
c02ef3e456
Feature: Add NotRoadTypes (NRT)
5 years ago
Charles Pigott
5b34c8019f
Codechange: Remove Company/OwnerByte types
6 years ago
peter1138
0130f3be45
Fix #7491 : Send company update admin message when bankruptcy counter changes.
6 years ago
Henry Wilson
7c8e7c6b6e
Codechange: Use null pointer literal instead of the NULL macro
6 years ago
glx22
a1e492d0d8
Fix #7439 : don't overwrite CompanyRemoveReason with ClientID ( #7465 )
6 years ago
Henry Wilson
c01a2e2a81
Codechange: Removed SmallVector completely
6 years ago
Henry Wilson
ab711e6942
Codechange: Replaced SmallVector::[Begin|End]() with std alternatives
6 years ago
Henry Wilson
297fd3dda3
Codechange: Replaced SmallVector::Include() with include()
6 years ago
Henry Wilson
bfd79e59dc
Codechange: Replace SmallVector::Clear() with std::vector::clear()
6 years ago
Patric Stout
e3c639a09f
Remove: ENABLE_NETWORK switch
...
This switch has been a pain for years. Often disabling broke
compilation, as no developer compiles OpenTTD without, neither do
any of our official binaries.
Additionaly, it has grown so hugely in our codebase, that it
clearly shows that the current solution was a poor one. 350+
instances of "#ifdef ENABLE_NETWORK" were in the code, of which
only ~30 in the networking code itself. The rest were all around
the code to do the right thing, from GUI to NewGRF.
A more proper solution would be to stub all the functions, and
make sure the rest of the code can simply assume network is
available. This was also partially done, and most variables were
correct if networking was disabled. Despite that, often the #ifdefs
were still used.
With the recent removal of DOS, there is also no platform anymore
which we support where networking isn't working out-of-the-box.
All in all, it is time to remove the ENABLE_NETWORK switch. No
replacement is planned, but if you feel we really need this option,
we welcome any Pull Request which implements this in a way that
doesn't crawl through the code like this diff shows we used to.
6 years ago
stormcone
43caef2968
Fix f58fa80e: Wrong company performance rating when money exceeds INT_MAX. ( #7382 )
...
Company performance rating calculation does not take into account the companies' money when those exceeds INT_MAX.
6 years ago
Peter Nelson
8b1b3fd0f9
Feature: Non-rectangular sparse station catchment area.
6 years ago
peter1138
94b40fd530
Codechange: Convert IndustryVector to a std::set.
6 years ago
PeterN
dd20ccee88
Feature: Industries with neutral stations (e.g. Oil Rig) only supply/accept cargo to/from their neutral station. ( #7234 )
...
This change is a controlled by a game setting, located under Environment ->
Industries which allows toggling the behaviour. It defaults to enabled.
"Company stations can serve industries with attached neutral stations"
When enabled, industries with attached neutral station (such as Oil Rigs) may
also be served by company-owned stations built nearby. This is the traditional
behaviour.
When disabled, these industries may only be served by their neutral station.
Any nearby company-owned stations won't be able to serve them, nor will the
neutral station serve anything else other than the industry.
6 years ago
Samu
780593ae60
Fix #6633 : Cargo monitor industry delivery now accounts for which IndustryID the cargo was delivered to
6 years ago
SamuXarick
456e67ac1c
Change: Owner of vehicle with exclusive transport rights may now load cargo from neutral stations ( #7256 )
6 years ago
glx
8e7fe3973f
Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions
6 years ago
Peter Nelson
48fb575502
Fix 11ab3c4ea2f: Vehicles could not be refitted to cargo IDs higher than 32.
6 years ago
Niels Martin Hansen
810887af30
Fix #6498 : Use int64 for all company rating calculations
6 years ago
Niels Martin Hansen
e66cec8f86
Add: NewGRF support for 16-in-16-out industries
6 years ago
Niels Martin Hansen
8859381d30
Add: Industries can produce and accept up to 16 different cargoes
6 years ago
Charles Pigott
f5b1115039
Doc: Lots and lots of doxymentation fixes
6 years ago
Charles Pigott
5f86e1a390
Codechange: Silence -Wclass-memaccess warnings with GCC8
6 years ago
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. ( #6790 )
6 years ago
frosch
db54db00df
(svn r27981) -Change [FS#6679]: Check companies for bankruptcy before subtracting reoccuring monthly costs. (Samu)
7 years ago
frosch
b4b98e5165
(svn r27893) -Codechange: Use fallthrough attribute. (LordAro)
7 years ago
peter1138
d31f9a83e7
(svn r27788) -Fix [FS#6536]: Get vehicle load amount after executing new cargo trigger.
8 years ago
frosch
b0c56f3432
(svn r27585) -Fix [FS#6437]: Enforce a non-zero load amount for all vehicles, so that vehicles can process their cargo reservations.
8 years ago
frosch
dac94c7cbc
(svn r27584) -Codechange: Add some assertions about Vehicle::cargo_payment.
8 years ago
frosch
32cb62a242
(svn r27282) -Fix [FS#6254]: Enforce the company's default service intervals when purchasing another company. (Johnnei)
10 years ago
frosch
e686add63a
(svn r27281) -Codechange: Do not shadow local variables with other local variables in sub-scopes.
10 years ago
fonsinchen
75cb16a7d7
(svn r26918) -Fix [FS#6110]: Reserve cargo only after unloading finished or if the vehicle has the desired cargo already
10 years ago
fonsinchen
d6fc217136
(svn r26917) -Revert (r26857): It broke improved loading.
10 years ago
fonsinchen
c4902c4150
(svn r26857) -Fix [FS#6110]: Reserve cargo after refitting and only if necessary.
10 years ago
fonsinchen
dfbcd8869d
(svn r26847) -Fix [FS#6110]: Don't assign a next hop when returning cargo
10 years ago
fonsinchen
3648e95265
(svn r26586) -Fix [FS#5995]: Consider multiheaded trains in station refits (and clean up a bit)
11 years ago
rubidium
b590a64718
(svn r26581) -Fix [FS#5989]: transfering cargo to a station doesn't give that station a rating and thus the cargo does not decay... until the first pickup happens
...
For cargo drops from industries/houses, the station gets a rating too so why not when cargo is dropped at the station from a train?
11 years ago
rubidium
89c25b955e
(svn r26580) -Codechange: s/GES_PICKUP/GES_RATING/ (it has nothing to do with actual pickup), s/acceptance_pickup/status/ (the enum isn't called GoodEntryStatus for a reason; it's not only acceptance and pickup anymore)
11 years ago
fonsinchen
11d98f043e
(svn r26549) -Change: better estimation for link capacities during full load
11 years ago
fonsinchen
b5566ae6ec
(svn r26548) -Codechange: move updating of load_unload_ticks out of LoadUnloadVehicle
11 years ago
fonsinchen
3ee31a8f89
(svn r26547) -Codechange: Collect order travel and wait times independent of timetables
11 years ago
fonsinchen
c915d9fa55
(svn r26546) -Codechange: Make order wait_time, travel_time and max_speed private
11 years ago
fonsinchen
49f27eb247
(svn r26483) -Fix: Allow single-vehicle consists to station-refit in a meaningful way.
11 years ago
rubidium
0463dbdc9e
(svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values
11 years ago
fonsinchen
88787412b6
(svn r26327) -Fix [FS#5901]: Take care of next_station when reassigning from MTA_DELIVER to MTA_TRANSFER.
11 years ago
fonsinchen
9ad173c9cc
(svn r26236) -Fix: Don't overreserve after autorefit, but do reserve mail for aircraft
11 years ago
fonsinchen
ecdd796a86
(svn r26188) -Codechange: Move station refitting to a separate function.
11 years ago
fonsinchen
63b43ed914
(svn r26187) -Fix: allow refitting at station if cargo has already been reserved.
11 years ago
fonsinchen
6e1cc80926
(svn r25903) -Codechange: Refactor RefreshNextHopsStats into an own class LinkRefresher.
11 years ago
fonsinchen
54db96be43
(svn r25891) -Feature: Use smallstack to allow for multiple next hops when loading and unloading.
11 years ago
fonsinchen
b09c4043ec
(svn r25565) -Codechange: Rewrite order prediction logic to introduce proper refit prediction
11 years ago
frosch
934f4decba
(svn r25497) -Fix (r25479): byte is not unit
11 years ago
frosch
7c9f0545b4
(svn r25479) -Fix (r23861): [NewGRF] When cargo NewGRF define a mulitplier to modify vehicle capacities, use the same multiplier to modify loading speed.
11 years ago
fonsinchen
04e3eb6fab
(svn r25361) -Feature: distribute cargo according to plan given by linkgraph
11 years ago
zuu
9aa1bf0264
(svn r25342) -Add: StoryPage data structures and GS API
11 years ago
fonsinchen
478fcadd21
(svn r25330) -Fix [FS#5583]: return some reserved cargo if vehicle is overloaded by station stopping acceptance for cargo scheduled to be delivered
11 years ago
rubidium
3947453277
(svn r25259) -Codechange: track capacities and usage of links
12 years ago
frosch
5eddbb338b
(svn r25185) -Fix [FS#5508]: Remove ambivalent functions CargoList::Empty() and Count(), and replace them with VehicleCargoList::StoredCount(), TotalCount(), StationCargoList::AvailableCount() and TotalCount(). (fonsinchen)
12 years ago
rubidium
2b6669a7ff
(svn r25156) -Fix [FS#5495, FS#5497]: if a vehicle had some cargo, and it would try to unload without actually unloading, the vehicle would just not load any cargo at the station (fonsinchen)
12 years ago
frosch
22bb015f3d
(svn r25041) -Remove [FS#3764-ish]: ordered refit with subtypes, since the cases where it worked were corner cases rather than the general case.
12 years ago
rubidium
cdb0a76958
(svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load improved loading) instead of calculating if for every cycle
12 years ago
rubidium
446d50f658
(svn r25011) -Codechange: allow vehicle transfer and profit text effects to be shown at the same time (fonsinchen)
12 years ago
rubidium
71bbc130fc
(svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce duplicated code (fonsinchen)
12 years ago
zuu
b1016f66ba
(svn r24986) -Change: Cleanup goals and cargo monitors of companies when they go bankrupt or are taken over.
12 years ago
rubidium
99a08e1e8c
(svn r24968) -Fix [FS#5379]: company window was not updated when shared were enabled/disabled
12 years ago
rubidium
968b41fa3f
(svn r24963) -Fix [FS#5435]: Do not stop loading if there are reservations left (fonsinchen)
12 years ago