summaryrefslogtreecommitdiff
path: root/src/economy.cpp
AgeCommit message (Collapse)Author
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.
2007-01-10(svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files ↵KUDr
renamed to .cpp)