belugas
e2c0f1faf7
(svn r11374) -Codechange: Give meaning to the magical number that specifies the color of the text in a DrawString call.
...
Patch heavily based on BiBB's work (FS#1383)
17 years ago
rubidium
9a0d2de5cf
(svn r11331) -Fix: do not misuse CommandCost for overflow safe stuff as Money supports that now too.
17 years ago
rubidium
eadd6765e1
(svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo.
17 years ago
rubidium
3d4bc58dc4
(svn r11258) -Fix [FS#1325]: if a Load Amount callback returns 0, it means (according to TTDP's source code, not "the" specs) that it should take the "default" one.
17 years ago
glx
18de82b000
(svn r11176) -Revert (r9867): as it is needed for newgrf callbacks 14B and 14C
17 years ago
rubidium
a28b307c95
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
17 years ago
glx
ccf13f3ccc
(svn r11088) -Fix (r11063, r11067): MSVC warning C4804: '>' : unsafe use of type 'bool' in operation
17 years ago
rubidium
211b8dea39
(svn r11063) -Codechange: make it possible for people to view the loading indicators of everyone. Patch by SmatZ.
17 years ago
rubidium
d5e3e4c66e
(svn r11039) -Fix [FS#1191]: underflow that caused overflows in the performance rating calculation.
17 years ago
rubidium
6f76bc2449
(svn r11031) -Codechange: reduce the amount of duplication of bit counting functions. Based on patches by skidd13, SmatZ and Belugas.
17 years ago
rubidium
766d6d420e
(svn r11030) -Revert r11016, Fix [FS#1178]: the way to determine whether a station should get goods was not done properly.
17 years ago
rubidium
0cf6a3f1ef
(svn r11018) -Fix [FS#1169]: Disallow buying/selling shares in your own company or a bankrupted/non-existant company.
17 years ago
rubidium
235ad4ab6b
(svn r11003) -Codechange: replace Vehicle->next to Vehicle->Next() and Vehicle->SetNext() so we can trap instances that change a next pointer and (in the future) update the first/previous pointers based on that.
17 years ago
rubidium
d5bc4d8b2a
(svn r10981) -Fix [FS#1156] (r10970): stations gave ratings for accepted cargo too.
17 years ago
rubidium
8807a47f31
(svn r10953) -Fix [FS#1139, FS#1143]: stations would not get a rating when there were already two stations with a "more than default" rating as no cargo would be moved to the station to be picked up.
17 years ago
rubidium
11b7931cb0
(svn r10921) -Fix [FS#1130] (r10323): the company related news messages still thought that companies were described by two parameters instead of one.
17 years ago
truelight
6f68d876b8
(svn r10857) -Fix: feeder-income was broken; substract the feeder-costs from the vehicle-income, not from the route-income (tnx to RichK for all the info)
17 years ago
rubidium
b21f29c38f
(svn r10770) -Codechange: use the pool item class as super class for the vehicle struct.
...
-Codechange: do not force "special" vehicles to be allocated in the low 1024 vehicle slots and non "special" vehicles in the rest of the slots.
17 years ago
rubidium
e6c864f26e
(svn r10692) -Fix (r10691): those good old days that LT_NORMAL was still called LT_NORMAL :)
17 years ago
rubidium
e8ecf501c0
(svn r10691) -Codechange [FS#509]: simplify GetTransportedGoodsIncome to make it more obvious and less hidden what actually happens. Based on a patch by rfalke.
17 years ago
peter1138
a6aba9c83d
(svn r10628) -Fix (r10606,FS#1055): Revert r10606 and fix the plural problem another way.
17 years ago
rubidium
df009178d4
(svn r10587) -Codechange: move the string/dparam related stuff from variables.h to strings.h
17 years ago
rubidium
9b105c28bd
(svn r10541) -Fix [FS#1028]: cargo payment rates overflow.
...
-Fix: cargo payment rates diverge from cost rates making it impossible to make any profit after a certain number of years.
Both are solved by stopping the inflation after 170 years; there is absolutely no point in continueing the inflation after that as it only makes the game have overflows at some point that cannot be solved; using larger variables only delays the inevitable.
17 years ago
rubidium
d1ef87f914
(svn r10508) -Codechange: allow customizable animation schemes for industries.
17 years ago
rubidium
95ea8fd2f1
(svn r10477) -Codechange: add some callbacks to customise the acceptance of industries.
17 years ago
rubidium
db16c33194
(svn r10473) -Codechange: make the industry "window", the one that shows when you click on an industry, more flexible to allow easier integration with newindustries.
17 years ago
rubidium
cd702d049e
(svn r10460) -Codechange: add some more variables needed for newindustries regarding to the creation of the industries.
17 years ago
rubidium
4c356457e6
(svn r10442) -Codechange: implement the industry production callback.
17 years ago
rubidium
aa04ad59f1
(svn r10441) -Fix (r10440): something went wrong "porting" fixes from one place to another; like compiling the wrong checkout.
17 years ago
rubidium
3a73d47351
(svn r10440) -Fix: CBM_IND defines bits to be set, not bitsets.
17 years ago
rubidium
c0ba3dba9d
(svn r10439) -Codechange: initial steps for customized industry productions.
17 years ago
peter1138
b8927cb1d9
(svn r10397) -Fix [FS#969]: subsidy awarded messages broken due to {COMPANY} now taking 1 (not 2) parameters. also remove an unnecessary dereference.
17 years ago
rubidium
0dd445a827
(svn r10332) -Fix [FS#940]: ratings where also shown on drop-off stations.
17 years ago
peter1138
8ee9e8bf1e
(svn r10323) -Codechange: reference company name, number and player (president) name
...
by index
17 years ago
rubidium
37e3cbb980
(svn r10287) -Fix (r10266): some surprises from that (almost always) complaining compiler...
17 years ago
truelight
80bcbce62b
(svn r10270) -Add: prefixed the loading indicator with an arrow, up meaning vehicle is loading, down meaning vehicle is unloading
17 years ago
rubidium
fc201d4ad8
(svn r10266) -Codechange: keep track of the origin, time of travel and accumulated feeder share (transfers) of individual pieces of cargo. This means that cargo isn't thrown on a big pile when it's put in a station or unloaded at a station, however the GUI does not reflect these changes yet so you will not actually see it.
17 years ago
rubidium
d0fa4eb9de
(svn r10258) -Codechange: as we are now using int64 all over the place, it's better to use int64 variables in the string generating too instead of packing them into two int32s.
...
-Fix: some displays of money were wrong.
17 years ago
truelight
66a136be09
(svn r10254) -Feature: loading indicator, which shows in % how full a vehicle is while loading/unloading (TheJosh)
17 years ago
rubidium
1b27095c83
(svn r10247) -Fix (r10210): *always* call SetDParamMoney when you want to place money in some string.
17 years ago
rubidium
0d8e82b7d7
(svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch.
17 years ago
rubidium
f765b3d6aa
(svn r10212) -Fix [FS#723]: money overflow bugs in many locations.
17 years ago
rubidium
8220153e6b
(svn r10210) -Codechange: make all money related variables 64 bits, so overflowing them should become a little harder.
17 years ago
rubidium
6900de65b9
(svn r10209) -Fix/Codechange: forgot a few changes of int32 -> Money in the previous commit
17 years ago
rubidium
23727da96f
(svn r10208) -Codechange: replace int32 with Money where appropriate.
17 years ago
rubidium
7dda2d93da
(svn r10207) -Codechange: remove the redundant player_money in favour of the money64, which is now renamed to player_money.
17 years ago
rubidium
773a7c9cb6
(svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified.
17 years ago
rubidium
3ccc83e640
(svn r10197) -Codechange: replace int32 with CommandCost where appropriate.
17 years ago
rubidium
0b90d5319d
(svn r10125) -Fix [FS#865]: under some circumstances the wagons of a train didn't get loaded properly.
17 years ago
maedhros
f8ae742da4
(svn r10122) -Codechange: Add a CountBitsSet function and use it to replace some less efficient loops.
17 years ago
maedhros
12b359fa32
(svn r10117) -Fix [FS#863]: When deleting the vehicles of bankrupt players, delete trains as
...
a whole rather than each part individually, as that leads to invalid tests on
parts that have already been deleted.
17 years ago
maedhros
c186f91cbd
(svn r10097) -Feature: Add support for articulated road vehicles, or callbacks 11 and 17 for
...
road vehicles for those who prefer the technical explanation.
17 years ago
rubidium
f73956888f
(svn r10084) -Fix [FS#855]: reversing a train when loading at a station crashed.
17 years ago
peter1138
f2e0912ce9
(svn r10062) -Codechange: Don't redraw all station tiles when cargo is added or removed if the station has no custom graphics.
18 years ago
rubidium
d255041365
(svn r10058) -Codechange: give some industry variable sensible names (like not telling "last_mo_production" when it is the production of the current month).
18 years ago
maedhros
fa548f1a6f
(svn r10009) -Codechange: Add and use Vehicle::IsPrimaryVehicle to replace individual checks depending on the vehicle type.
18 years ago
rubidium
76b1a66498
(svn r9930) -Fix (r9838): obiwan could cause vehicles to way a long time (2.5 years) at stations.
18 years ago
rubidium
8f0f090c51
(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
18 years ago
belugas
662bee5b12
(svn r9870) -Codechange: Silence two compiler warnings and give proper type to the "type" member of industry struct
18 years ago
belugas
c4b90f3137
(svn r9867) -Codechange: Remove data duplication. The exact same values can be found in the industry spec, so take it from there instead.
18 years ago
rubidium
b007a3419c
(svn r9866) -Codechange: remove the technical one-input-cargo-creates-one-output-cargo limit in the factories, sawmills, steelmills and the ones I'm forgetting to mention right now. Use of this functionality will come later.
18 years ago
rubidium
08be68e0b4
(svn r9841) -Codechange: add a little more type strictness to the vehicle types.
18 years ago
rubidium
0f81140b59
(svn r9840) -Fix (r9838): MSVC is complaining about signedness again (Belugas).
18 years ago
rubidium
49476d46e6
(svn r9838) -Fix: make "improved loading" a proper improved loading instead of loading one (semi-)random vehicle at a time:
...
- Now it is really FIFO.
- When there is enough cargo to fill the first vehicle in the queue, the next vehicle in the queue start loading (and the next when ....).
18 years ago
rubidium
07bdd6c3cc
(svn r9836) -Codechange: make non-improved loading happen FIFO-ish; generally loading/unloading will happen fifo, but there are no guarantees on the FIFO-ness. For (better) FIFO guarantees you still need to use improved loading.
18 years ago
rubidium
5ae882a184
(svn r9831) -Codechange: more refactoring of the loading/unloading.
18 years ago
rubidium
82ca197a10
(svn r9829) -Codechange: more refactoring of the unloading algorithm.
18 years ago
rubidium
e6a6d7ef31
(svn r9815) -Fix (r9761) [FS#769): transfers weren't accounted in the vehicle profits.
18 years ago
rubidium
9a893ebe20
(svn r9794) -Codechange: refactor the question whether a vehicle can be loaded into LoadUnloadVehicle instead of duplicating it for each vehicle.
18 years ago
rubidium
cc9d811f53
(svn r9770) -Codechange: perform the payment of cargo when loading/unloading, but when arriving at the station.
18 years ago
rubidium
53485da02c
(svn r9761) -Codechange: refactor cargo payment out of LoadUnloadVehicle.
18 years ago
rubidium
1951817f3b
(svn r9683) -Fix [FS#423]: improved loading does not use a huge amount of processing power anymore when having a lot of trains.
18 years ago
peter1138
7df3a94d8f
(svn r9638) -Feature: Increase cargo types from 12 to 32 and enable newcargo flag in NewGRF loader.
18 years ago
peter1138
e7cd92f06f
(svn r9617) -Codechange: Implement callback for cargo profit calculation
18 years ago
maedhros
3d81de8d7e
(svn r9609) -Codechange: Move some function prototypes out of functions.h and into landscape.h, and add a few where they didn't exist.
18 years ago
belugas
7ad3bb257e
(svn r9568) -Documentation: doxygen and comment changes: Root of src is finally done. Now, time to start clearing as much as possible
18 years ago
celestar
6f49e4c644
(svn r9541) -Codechange: Safeguard the company-buying routines so that the buying player and the bought player need to be two different entities
18 years ago
truelight
fb116653c6
(svn r9533) -Fix [FS#274]: when a company is removed (either via auto-clean, bankrupt, or take over), sell all the shares he has first, then sell the shares all people have on this company, and then remove the company.
18 years ago
peter1138
5a73caa0f7
(svn r9427) -Codechange: remove redundant variable
18 years ago
belugas
691f8578fd
(svn r9400) -Codechange: Use some more representative enum names for landscape types.
18 years ago
peter1138
93fe91cc8c
(svn r9388) -Codechange: variable scope and type, and standardify all CargoID loops.
18 years ago
peter1138
28717b6bc5
(svn r9257) -Codechange: Use cargo's town effect property for determining subsidy source/target type.
18 years ago
truelight
e2eeac06f8
(svn r9071) -Fix [FS#459]: when in networking an other player takes over an AI which is also controlled by a player, move the player with the company to the company who bought out the AI
18 years ago
rubidium
36cea84b11
(svn r9068) -Codechange: capitalize the VEH_Train etc. enums to match the coding style (and rest of the code).
18 years ago
rubidium
979ccd45ba
(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};
18 years ago
rubidium
4169bfba06
(svn r9050) -Codechange: Foo(void) -> Foo()
18 years ago
maedhros
878b6fcf37
(svn r9029) -Fix (r7326): Only call the gradual loading amount callback if the bit for it is set in the vehicle's callbackmask.
18 years ago
rubidium
5ec31ebc2b
(svn r8979) -Fix (r8978): unsigned vs signed comparisons.
18 years ago
richk
cd7b71092b
(svn r8978) -Feature: Rewrite of transfer system.
...
This major feature-fix keeps track of the value of transfers offloaded at a station, and hands on to a loading vehicle a credit note proportionate to the cargo loaded. The transferring vehicle is paid only for the distance it has travelled. eg. B-C in a transfer chain A-B-C-D.
When the final cargo is delivered, these credit notes are cashed, and the final vehicle is paid for A-D minus any credit notes it is carrying. The company bank balance increases by the value of the A-D route.
You still need to set up a profitable route; it is still easy to make a loss on transfers by bad planning. :)
18 years ago
rubidium
5b4b9cbd5c
(svn r8969) -Codechange: rework of the player face bits.
...
- introduce a new format (with backward compatability) that is more clear and needs a much simpler face drawer
- replace tons of ifs/switches/magic numbers by table lookups
18 years ago
maedhros
2f557f7dc0
(svn r8945) -Codechange: Rename v->load_status to v->vehicle_flags so it can be used for more than just the gradual loading status.
18 years ago
belugas
0f090a0c1d
(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and a few comments style.
...
Some documentation addition, when i can easily supply them
18 years ago
tron
92159b7afd
(svn r8855) -Fix
...
Change some shift and cast mumbo jumbo for inflation calculation to something remotly comprehensible and explain what the magic number "54" means
18 years ago
tron
fef1922705
(svn r8847) -Fix
...
There is not much point in hiding a normal 64bit multiplication in a function, so do not do it
18 years ago
peter1138
3d581f4f89
(svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular struct array (with accessor) and implement new initialization method using cargo labels.
18 years ago
celestar
72e74c29d4
(svn r8709) -Fix/Codechange: Rename the function GetStationPlatforms into GetPlatformLength because that is what it really does. Overload it because there is already a GetPlatformLength (one gives the length of the whole platform, the other gives the remaining length in a given direction). Turned both functions into methods of Station. While messing around with it, fix a problem where loading times for overhanging trains are miscomputed.
18 years ago
bjarni
d40886903d
(svn r8621) -Codechange: assigned new numbers to the VEH_(type) enum so that VEH_Train is 0, VEH_Road is 1 and so on
...
This means that "v->type" can be used as array indexes instead of VehTypeToIndex() (or "v->type - VEH_Train/0x10 as the code still used in some places)
Surprisingly this can be done without changing the savegame format
18 years ago
maedhros
913558797b
(svn r8501) -Fix (r7377) [FS#539]: Keep track of how much cargo has been paid for, so that cargo cannot be paid for more than once.
18 years ago
Darkvater
2ff4492abc
(svn r8428) -Codechange: Add proper names to aircraft subtypes instead of magic numbers and add a function IsNormalAircraft() which tells us whether the aircraft is in fact some flying device or a rotor/shadow.
18 years ago
celestar
f69794b8c1
(svn r8144) -Fix: [FS#163] When a station is removed, vehicles do not get excessive payment any longer, as the origin TILE is now stored as long as the origin STATION for the transported cargos. Basically this is only a temporary fix until cargopackets are implemented, but it fixes one of the oldest known bugs (Special Thanks to Darkvater for lots of testing)
18 years ago