Commit Graph

524 Commits

Author SHA1 Message Date
Jack Baron
7c9dedb94f Feature: Configure minimum share trading years 2019-10-19 20:31:44 +01:00
JMcKiern
04f659e768 Fix: Some typos found using codespell 2019-09-29 21:27:32 +01:00
peter1138
c02ef3e456 Feature: Add NotRoadTypes (NRT) 2019-05-01 21:36:27 +02:00
Charles Pigott
5b34c8019f Codechange: Remove Company/OwnerByte types 2019-04-29 17:40:22 +01:00
peter1138
0130f3be45 Fix #7491: Send company update admin message when bankruptcy counter changes. 2019-04-11 13:00:25 +01:00
Henry Wilson
7c8e7c6b6e Codechange: Use null pointer literal instead of the NULL macro 2019-04-10 23:22:20 +02:00
glx22
a1e492d0d8
Fix #7439: don't overwrite CompanyRemoveReason with ClientID (#7465) 2019-04-05 15:11:52 +02:00
Henry Wilson
c01a2e2a81 Codechange: Removed SmallVector completely 2019-03-26 20:15:57 +00:00
Henry Wilson
ab711e6942 Codechange: Replaced SmallVector::[Begin|End]() with std alternatives 2019-03-26 20:15:57 +00:00
Henry Wilson
297fd3dda3 Codechange: Replaced SmallVector::Include() with include() 2019-03-26 20:15:57 +00:00
Henry Wilson
bfd79e59dc Codechange: Replace SmallVector::Clear() with std::vector::clear() 2019-03-26 20:15:57 +00:00
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.
2019-03-20 19:24:55 +01:00
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.
2019-03-17 21:28:37 +01:00
Peter Nelson
8b1b3fd0f9 Feature: Non-rectangular sparse station catchment area. 2019-03-09 16:33:47 +00:00
peter1138
94b40fd530 Codechange: Convert IndustryVector to a std::set. 2019-03-09 16:33:47 +00:00
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.
2019-03-08 18:30:44 +00:00
Samu
780593ae60 Fix #6633: Cargo monitor industry delivery now accounts for which IndustryID the cargo was delivered to 2019-03-02 18:14:45 +01:00
SamuXarick
456e67ac1c Change: Owner of vehicle with exclusive transport rights may now load cargo from neutral stations (#7256) 2019-02-21 21:23:37 +00:00
glx
8e7fe3973f Add: CompanyCtrlAction enum for CMD_COMPANY_CTRL actions 2019-02-04 21:08:36 +01:00
Peter Nelson
48fb575502 Fix 11ab3c4ea2: Vehicles could not be refitted to cargo IDs higher than 32. 2019-01-29 17:57:28 +00:00
Niels Martin Hansen
810887af30 Fix #6498: Use int64 for all company rating calculations 2018-11-25 00:48:34 +01:00
Niels Martin Hansen
e66cec8f86 Add: NewGRF support for 16-in-16-out industries 2018-11-03 21:43:54 +01:00
Niels Martin Hansen
8859381d30 Add: Industries can produce and accept up to 16 different cargoes 2018-11-03 21:43:54 +01:00
Charles Pigott
f5b1115039 Doc: Lots and lots of doxymentation fixes 2018-10-31 12:35:54 +01:00
Charles Pigott
5f86e1a390 Codechange: Silence -Wclass-memaccess warnings with GCC8 2018-06-27 22:54:46 +02:00
PeterN
4cebebcf68
Change: Add CargoTypes type for cargo masks. (#6790) 2018-05-21 22:08:39 +01:00
frosch
db54db00df (svn r27981) -Change [FS#6679]: Check companies for bankruptcy before subtracting reoccuring monthly costs. (Samu) 2018-03-11 12:46:05 +00:00
frosch
b4b98e5165 (svn r27893) -Codechange: Use fallthrough attribute. (LordAro) 2017-08-13 18:38:42 +00:00
peter1138
d31f9a83e7 (svn r27788) -Fix [FS#6536]: Get vehicle load amount after executing new cargo trigger. 2017-03-13 07:37:05 +00:00
frosch
b0c56f3432 (svn r27585) -Fix [FS#6437]: Enforce a non-zero load amount for all vehicles, so that vehicles can process their cargo reservations. 2016-05-29 13:35:17 +00:00
frosch
dac94c7cbc (svn r27584) -Codechange: Add some assertions about Vehicle::cargo_payment. 2016-05-29 13:33:20 +00:00
frosch
32cb62a242 (svn r27282) -Fix [FS#6254]: Enforce the company's default service intervals when purchasing another company. (Johnnei) 2015-05-11 16:58:09 +00:00
frosch
e686add63a (svn r27281) -Codechange: Do not shadow local variables with other local variables in sub-scopes. 2015-05-11 16:53:05 +00:00
fonsinchen
75cb16a7d7 (svn r26918) -Fix [FS#6110]: Reserve cargo only after unloading finished or if the vehicle has the desired cargo already 2014-09-24 20:56:52 +00:00
fonsinchen
d6fc217136 (svn r26917) -Revert (r26857): It broke improved loading. 2014-09-24 20:55:47 +00:00
fonsinchen
c4902c4150 (svn r26857) -Fix [FS#6110]: Reserve cargo after refitting and only if necessary. 2014-09-20 09:41:25 +00:00
fonsinchen
dfbcd8869d (svn r26847) -Fix [FS#6110]: Don't assign a next hop when returning cargo 2014-09-18 17:49:19 +00:00
fonsinchen
3648e95265 (svn r26586) -Fix [FS#5995]: Consider multiheaded trains in station refits (and clean up a bit) 2014-05-13 19:16:04 +00:00
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?
2014-05-11 18:31:38 +00:00
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) 2014-05-11 18:02:11 +00:00
fonsinchen
11d98f043e (svn r26549) -Change: better estimation for link capacities during full load 2014-05-01 14:50:52 +00:00
fonsinchen
b5566ae6ec (svn r26548) -Codechange: move updating of load_unload_ticks out of LoadUnloadVehicle 2014-05-01 14:49:44 +00:00
fonsinchen
3ee31a8f89 (svn r26547) -Codechange: Collect order travel and wait times independent of timetables 2014-05-01 14:49:16 +00:00
fonsinchen
c915d9fa55 (svn r26546) -Codechange: Make order wait_time, travel_time and max_speed private 2014-05-01 14:48:44 +00:00
fonsinchen
49f27eb247 (svn r26483) -Fix: Allow single-vehicle consists to station-refit in a meaningful way. 2014-04-23 20:22:27 +00:00
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 2014-04-23 20:13:33 +00:00
fonsinchen
88787412b6 (svn r26327) -Fix [FS#5901]: Take care of next_station when reassigning from MTA_DELIVER to MTA_TRANSFER. 2014-02-09 21:10:25 +00:00
fonsinchen
9ad173c9cc (svn r26236) -Fix: Don't overreserve after autorefit, but do reserve mail for aircraft 2014-01-12 17:44:55 +00:00
fonsinchen
ecdd796a86 (svn r26188) -Codechange: Move station refitting to a separate function. 2013-12-30 14:50:45 +00:00
fonsinchen
63b43ed914 (svn r26187) -Fix: allow refitting at station if cargo has already been reserved. 2013-12-30 14:50:09 +00:00
fonsinchen
6e1cc80926 (svn r25903) -Codechange: Refactor RefreshNextHopsStats into an own class LinkRefresher. 2013-10-22 18:34:10 +00:00
fonsinchen
54db96be43 (svn r25891) -Feature: Use smallstack to allow for multiple next hops when loading and unloading. 2013-10-20 13:47:58 +00:00
fonsinchen
b09c4043ec (svn r25565) -Codechange: Rewrite order prediction logic to introduce proper refit prediction 2013-07-06 17:01:31 +00:00
frosch
934f4decba (svn r25497) -Fix (r25479): byte is not unit 2013-06-28 19:20:45 +00:00
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. 2013-06-26 20:38:32 +00:00
fonsinchen
04e3eb6fab (svn r25361) -Feature: distribute cargo according to plan given by linkgraph 2013-06-09 13:03:48 +00:00
zuu
9aa1bf0264 (svn r25342) -Add: StoryPage data structures and GS API 2013-06-09 12:19:09 +00:00
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 2013-06-07 22:22:52 +00:00
rubidium
3947453277 (svn r25259) -Codechange: track capacities and usage of links 2013-05-19 14:22:04 +00:00
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) 2013-04-13 13:42:08 +00:00
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) 2013-04-06 18:57:18 +00:00
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. 2013-02-24 16:41:51 +00:00
rubidium
cdb0a76958 (svn r25012) -Codechange: persistently keep 'reserved' cargo (for full-load improved loading) instead of calculating if for every cycle 2013-02-17 14:54:50 +00:00
rubidium
446d50f658 (svn r25011) -Codechange: allow vehicle transfer and profit text effects to be shown at the same time (fonsinchen) 2013-02-17 14:50:54 +00:00
rubidium
71bbc130fc (svn r25009) -Codechange: refactor bits of cargo packet (lists) to reduce duplicated code (fonsinchen) 2013-02-17 14:17:06 +00:00
zuu
b1016f66ba (svn r24986) -Change: Cleanup goals and cargo monitors of companies when they go bankrupt or are taken over. 2013-02-10 19:49:04 +00:00
rubidium
99a08e1e8c (svn r24968) -Fix [FS#5379]: company window was not updated when shared were enabled/disabled 2013-02-04 20:29:38 +00:00
rubidium
968b41fa3f (svn r24963) -Fix [FS#5435]: Do not stop loading if there are reservations left (fonsinchen) 2013-02-03 12:58:57 +00:00
rubidium
f790d70cd6 (svn r24962) -Fix [FS#5438]: Reserve all capacity while unloading to avoid 'stealing' cargo, i.e. loading cargo onto a second vehicle when the first can't be fully filled yet (fonsinchen) 2013-02-03 10:06:34 +00:00
planetmaker
f8fd13dea1 (svn r24927) -Cleanup [FS#5440]: No need to check a positive value to be larger than 0 2013-01-20 16:17:24 +00:00
peter1138
c00a400cc7 (svn r24905) -Feature(ish): Implement station randomisation triggers. 2013-01-11 07:39:25 +00:00
peter1138
4ebbfc3de4 (svn r24904) -Fix (r22746): "Train loads/unloads cargo" station animation triggers on individual platform 2013-01-10 22:56:49 +00:00
planetmaker
c24374f99c (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
rubidium
c749a02ac4 (svn r24883) -Fix: a completely emptied vehicle could trigger an assert 2013-01-03 18:18:32 +00:00
rubidium
0dd0bbc071 (svn r24882) -Fix: desync when NewGRF changes the stats related to acceleration (power, weight, tractive effort, etc) during service or 32 day triggers 2013-01-02 22:20:07 +00:00
frosch
883f9bec9b (svn r24718) -Codechange: Rename GoodsEntry::days_since_pickup to GoodsEntry::time_since_pickup. 2012-11-12 21:59:02 +00:00
frosch
56e63338ed (svn r24705) -Fix: Station rating might consider very old vehicles very young. 2012-11-12 18:10:21 +00:00
planetmaker
f2e94237fc (svn r24619) -Change: Check for bankruptcy on a monthly basis (ZxBioHazardZx) 2012-10-20 22:05:26 +00:00
planetmaker
b446780f01 (svn r24618) -Feature: Pay interest also on a negative cash value (ZxBioHazardZx) 2012-10-20 21:58:48 +00:00
planetmaker
4075b006a0 (svn r24617) -Change: Only bankrupt, if you have negative money considering you took max loan (ZxBiohazardZx) 2012-10-20 21:57:33 +00:00
frosch
adf1929f0a (svn r24566) -Codechange: Reorder some code more intuitively. (Juanjo) 2012-10-01 19:38:08 +00:00
frosch
0ba2ed7676 (svn r24565) -Fix: Stop both price and payment inflation if either of them has reached MAX_INFLATION. 2012-10-01 19:31:55 +00:00
frosch
7122602026 (svn r24564) -Fix [FS#5312] (r17433): Limiting the inflation did not quite work. 2012-10-01 19:29:31 +00:00
frosch
be150d3ad0 (svn r24497) -Feature [FS#5106]: When using autorefit only load/refit vehicles if other wagons cannot already take all cargo without refitting. This way the consist preserves its refit potential as long as possible, in case other cargo arrives at the station. 2012-08-25 14:26:14 +00:00
alberth
05aaf18d38 (svn r24405) -Add: Save and load of active cargo monitors. 2012-07-15 17:07:06 +00:00
alberth
1d11291071 (svn r24404) -Add: Data structures for cargo transport monitoring. 2012-07-15 17:05:17 +00:00
frosch
a8c88f43b6 (svn r24284) -Codechange: Remove NewsSubtypes and directly use NewsTypes and NewsFlag instead. 2012-05-26 14:16:03 +00:00
frosch
c796801c4d (svn r24281) -Cleanup: Merge all company news subtypes into a single one; they all behave the same. 2012-05-26 14:15:46 +00:00
frosch
3e7642abe5 (svn r24204) -Fix: If a company is taken over or bankrupts, transfer exclusive transport rights to the new owner resp. cancel them. 2012-05-06 11:37:43 +00:00
michi_cc
0542e26460 (svn r23931) -Change: Scale infrastructure cost of rail tracks by the total number of all tracks and not independently for each rail type. 2012-02-11 22:43:39 +00:00
michi_cc
52b951ca6f (svn r23844) -Fix (r23414): Infrastructure count for stations wasn't updated properly on company takeover. And don't count buoys while loading a game either. 2012-01-22 22:21:21 +00:00
frosch
f591787e4a (svn r23841) -Fix: Clear NewGRF vehicle cache when their owner changes. (esp. vehicle var 43) 2012-01-22 21:17:38 +00:00
rubidium
70c7fbd90e (svn r23826) -Fix [FS#4972]: the detailed performance rating window showed the cargo count of the current quarter instead of the last quarter like the tooltip says 2012-01-20 20:18:19 +00:00
rubidium
6d6be50ae0 (svn r23740) -Codechange: remove some 300 unneeded includes from the .cpp files 2012-01-03 21:32:51 +00:00
truebrain
77b7366c29 (svn r23622) -Add: a set of events to trigger in a GameScript 2011-12-19 20:59:36 +00:00
frosch
14c6a7465a (svn r23485) -Fix: Autorefit failed if the first part of an articulated vehicle did not carry any cargo. 2011-12-10 21:00:57 +00:00
michi_cc
d3b7b89493 (svn r23415) -Feature: Infrastructure maintenance costs. 2011-12-03 23:40:46 +00:00
truebrain
98103121d4 (svn r23355) -Codechange: rename all AI* to Script* (Rubidium) 2011-11-29 23:15:35 +00:00
truebrain
229e572663 (svn r23298) -Add: track statistics of all incoming and outgoing goods. Incoming based on TownEffect, outgoing based on CargoType (based on patch by Terkhen) 2011-11-23 16:05:19 +00:00
michi_cc
6548ec6e9e (svn r23233) -Codechange: Refactor maximum and actually transported cargo amount of towns into a reusable struct. 2011-11-15 20:47:53 +00:00