summaryrefslogtreecommitdiff
path: root/src/economy.cpp
AgeCommit message (Collapse)Author
2007-06-01(svn r10009) -Codechange: Add and use Vehicle::IsPrimaryVehicle to replace ↵maedhros
individual checks depending on the vehicle type.
2007-05-26(svn r9930) -Fix (r9838): obiwan could cause vehicles to way a long time ↵rubidium
(2.5 years) at stations.
2007-05-19(svn r9874) -Feature: advanced vehicle lists a.k.a. group interface. Now you ↵rubidium
can make groups of vehicles and perform all kinds of tasks on that given group. Original code by nycom and graphics by skidd13.
2007-05-18(svn r9870) -Codechange: Silence two compiler warnings and give proper type ↵belugas
to the "type" member of industry struct
2007-05-18(svn r9867) -Codechange: Remove data duplication. The exact same values can ↵belugas
be found in the industry spec, so take it from there instead.
2007-05-17(svn r9866) -Codechange: remove the technical ↵rubidium
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.
2007-05-15(svn r9841) -Codechange: add a little more type strictness to the vehicle types.rubidium
2007-05-15(svn r9840) -Fix (r9838): MSVC is complaining about signedness again (Belugas).rubidium
2007-05-14(svn r9838) -Fix: make "improved loading" a proper improved loading instead ↵rubidium
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 ....).
2007-05-14(svn r9836) -Codechange: make non-improved loading happen FIFO-ish; ↵rubidium
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.
2007-05-13(svn r9831) -Codechange: more refactoring of the loading/unloading.rubidium
2007-05-12(svn r9829) -Codechange: more refactoring of the unloading algorithm.rubidium
2007-05-08(svn r9815) -Fix (r9761) [FS#769): transfers weren't accounted in the ↵rubidium
vehicle profits.
2007-05-06(svn r9794) -Codechange: refactor the question whether a vehicle can be ↵rubidium
loaded into LoadUnloadVehicle instead of duplicating it for each vehicle.
2007-05-02(svn r9770) -Codechange: perform the payment of cargo when ↵rubidium
loading/unloading, but when arriving at the station.
2007-05-01(svn r9761) -Codechange: refactor cargo payment out of LoadUnloadVehicle.rubidium
2007-04-20(svn r9683) -Fix [FS#423]: improved loading does not use a huge amount of ↵rubidium
processing power anymore when having a lot of trains.
2007-04-15(svn r9638) -Feature: Increase cargo types from 12 to 32 and enable newcargo ↵peter1138
flag in NewGRF loader.
2007-04-12(svn r9617) -Codechange: Implement callback for cargo profit calculationpeter1138
2007-04-12(svn r9609) -Codechange: Move some function prototypes out of functions.h ↵maedhros
and into landscape.h, and add a few where they didn't exist.
2007-04-06(svn r9568) -Documentation: doxygen and comment changes: Root of src is ↵belugas
finally done. Now, time to start clearing as much as possible
2007-04-01(svn r9541) -Codechange: Safeguard the company-buying routines so that the ↵celestar
buying player and the bought player need to be two different entities
2007-03-31(svn r9533) -Fix [FS#274]: when a company is removed (either via auto-clean, ↵truelight
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.
2007-03-24(svn r9427) -Codechange: remove redundant variablepeter1138
2007-03-22(svn r9400) -Codechange: Use some more representative enum names for ↵belugas
landscape types.
2007-03-21(svn r9388) -Codechange: variable scope and type, and standardify all ↵peter1138
CargoID loops.
2007-03-16(svn r9257) -Codechange: Use cargo's town effect property for determining ↵peter1138
subsidy source/target type.
2007-03-08(svn r9071) -Fix [FS#459]: when in networking an other player takes over an ↵truelight
AI which is also controlled by a player, move the player with the company to the company who bought out the AI
2007-03-08(svn r9068) -Codechange: capitalize the VEH_Train etc. enums to match the ↵rubidium
coding style (and rest of the code).
2007-03-07(svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {};rubidium
2007-03-07(svn r9050) -Codechange: Foo(void) -> Foo()rubidium
2007-03-06(svn r9029) -Fix (r7326): Only call the gradual loading amount callback if ↵maedhros
the bit for it is set in the vehicle's callbackmask.
2007-03-02(svn r8979) -Fix (r8978): unsigned vs signed comparisons.rubidium
2007-03-02(svn r8978) -Feature: Rewrite of transfer system.richk
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. :)
2007-03-02(svn r8969) -Codechange: rework of the player face bits.rubidium
- 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
2007-02-28(svn r8945) -Codechange: Rename v->load_status to v->vehicle_flags so it can ↵maedhros
be used for more than just the gradual loading status.
2007-02-23(svn r8862) -Cleanup: doxygen changes, again. Mostly @files missing tags and ↵belugas
a few comments style. Some documentation addition, when i can easily supply them
2007-02-23(svn r8855) -Fixtron
Change some shift and cast mumbo jumbo for inflation calculation to something remotly comprehensible and explain what the magic number "54" means
2007-02-22(svn r8847) -Fixtron
There is not much point in hiding a normal 64bit multiplication in a function, so do not do it
2007-02-20(svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular ↵peter1138
struct array (with accessor) and implement new initialization method using cargo labels.
2007-02-13(svn r8709) -Fix/Codechange: Rename the function GetStationPlatforms into ↵celestar
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.
2007-02-07(svn r8621) -Codechange: assigned new numbers to the VEH_(type) enum so that ↵bjarni
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
2007-01-31(svn r8501) -Fix (r7377) [FS#539]: Keep track of how much cargo has been ↵maedhros
paid for, so that cargo cannot be paid for more than once.
2007-01-27(svn r8428) -Codechange: Add proper names to aircraft subtypes instead of ↵Darkvater
magic numbers and add a function IsNormalAircraft() which tells us whether the aircraft is in fact some flying device or a rotor/shadow.
2007-01-15(svn r8144) -Fix: [FS#163] When a station is removed, vehicles do not get ↵celestar
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)
2007-01-14(svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit ↵peter1138
values. This lets us increase the sprite width from 14 to up to 29 bits, effectively nulling the old sprite limit. Table changes in next commit.
2007-01-14(svn r8125) -Codechange: Station is now constructed/destroyed using ↵KUDr
new/delete operators (don't worry, they still use the same memory pool). Few station related functions turned into Station::methods (just first step). All this new stuff moved from station_cmd.cpp to the new file (station.cpp).
2007-01-12(svn r8083) -Codechange: make a NetworkSocketHandler as base for all sockets ↵rubidium
and move a little of NetworkClientState functionality to the NetworkSocketHandler. Move the rest of the NetworkClientState to the new NetworkTCPSocketHandler class/struct, which is not yet implemented in an object oriented manner. The UDP socket handler now extends the NetworkSocketHandler instead of having a reference to a NetworkClientState.
2007-01-11(svn r8055) -Codechange: Replace the different max, dmax, maxu whatever ↵celestar
macros by a simple template function max(), that requires two arguments of the same type. While I'm at it change a variable called "max" to "maxval" in a function that calls max().
2007-01-10(svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, ↵rubidium
stillunknown and pv2b.