summaryrefslogtreecommitdiff
path: root/src/engine.cpp
AgeCommit message (Collapse)Author
2009-03-08(svn r15645) -Fix (r12924)[FS#2612]: Add an EngineOverrideManager to give ↵frosch
the term 'compatible newgrf' again some sense and to not crash because of trivial changes.
2009-02-27(svn r15592) -Fix: Refit-info in purchase list did only check the first ↵frosch
articulated part.
2009-02-21(svn r15541) -Revert (r15399): 'v->cargo_type' is also used in other places, ↵frosch
which cannot accept CT_INVALID. -Codechange: Add Engine::GetDefaultCargoType() and Engine::CanCarryCargo() and use them. -Fix [FS#2617]: When articulated parts have no available default cargo, use the cargo type of the first part for livery selection. -Change: To decide whether a vehicle is refittable do not test its current capacity for being zero, but always use the 'capacity property'. Note: The property is used unmodifed without calling CB 15/36. By setting it to a non-zero value and returning zero in the callback vehicles can be refitted to/from zero capacity for e.g. livery effects. Note: It is intentional that you cannot control refittability by CB 36.
2009-02-19(svn r15521) -Codechange: add helper function to get the display tractive ↵rubidium
effort of a vehicle.
2009-02-09(svn r15434) -Codechange: bit of type safety for the DC_xxx flags.rubidium
2009-02-08(svn r15412) -Fix: Clearing custom engine names could cause desyncs due to ↵peter1138
be client-side only; GUI parts of save/load of custom engine names also removed as it was never implemented.
2009-02-01(svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions.frosch
2009-02-01(svn r15306) -Codechange: Deduplicate code by adding ↵frosch
Engine::GetDisplayMaxSpeed(), GetPower() and GetDisplayWeight(). (and using them)
2009-01-31(svn r15299) -Cleanup: remove many redundant includessmatz
2009-01-25(svn r15263) -Codechange: added Engine::GetCost() to remove some code ↵glx
duplication.
2009-01-24(svn r15261) -Add: added Engine::GetRunningCost() to remove some code ↵glx
duplication. Also stops AIs decrementing vehicle counter of first company
2009-01-23(svn r15216) -Feature: native support for Transport Tycoon (Original) ↵smatz
savegames. Based on SVXConverter's source code and documentation by Roman Vetter
2009-01-13(svn r15077) -Codechange: enumify DAYS_IN_YEAR and DAYS_IN_LEAP_YEARsmatz
-Change: when computing daily running cost, divide by 365 (instead of 364). Since r12134, the rounding errors don't need this correction anymore
2009-01-12(svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to ↵truebrain
see. NoAI is an API (a framework) to build your own AIs in. See: http://wiki.openttd.org/wiki/index.php/AI:Main_Page With many thanks to: - glx and Rubidium for their syncing, feedback and hard work - Yexo for his feedback, patches, and AIs which tested the system very deep - Morloth for his feedback and patches - TJIP for hosting a challenge which kept NoAI on track - All AI authors for testing our AI API, and all other people who helped in one way or another -Remove: all old AIs and their cheats/hacks
2009-01-10(svn r14958) -Codechange [FS#1923]: when checking for unique names, compare ↵smatz
only with manually set names There are situations that aren't solvable (because of different language files), so if the user really wants to have duplicated name, allow him to do so. It solves desyncs between server and clients using different languages. It behaves the same in SP and MP, so users won't see the different behaviour as a bug (and even checking in SP could be worked around by the user).
2009-01-08(svn r14926) -Feature: Automatically set last engine ageing year to the last ↵peter1138
'introduction year plus half model life', to allow engines later than 2050 to appear.
2009-01-04(svn r14828) -Codechange: move most of save/load-specific code to separate filessmatz
2008-12-28(svn r14754) -Codechange: get rid of _cmd_text and just pass it as ↵rubidium
(optional) parameter.
2008-12-24(svn r14735) -Codechange: remove a bit of bit-waste in the map array ↵rubidium
(without changing the map array) and make the CompanyIDs contiguous. -Note: 15 should be enough for now... making it any more means adding more bytes to the map array and thus wasting more bits instead of reducing the bit waste.
2008-12-23(svn r14732) -Codechange: replace some magic number with less magic ↵rubidium
constants and use the proper type for a few variables.
2008-12-16(svn r14683) -Change: only say a engine/vehicle is refittable when it can be ↵rubidium
refitted to at least two cargo type or when it has subcargos. NOTE: it is still possible that a vehicle is marked refittable when there is nothing to refit to, e.g. when only one subcargo is available but that cannot be determined without a vehicle chain.
2008-12-16(svn r14680) -Feature(ette) [FS#2434]: Use property 4 (model life) also for ↵frosch
wagons. Setting property 4 to 0xFF will protect the vehicle (engine or wagon) from expireing. (Necessary since early introduction dates) Savegames will only be affected after 'resetengines'.
2008-09-30(svn r14422) -Codechange: also reflect the changes of r14421 in the filenames.rubidium
2008-09-30(svn r14421) -Codechange: rename all player variables/types to company *or* ↵rubidium
client so it is immediatelly clear which one you are working with.
2008-09-15(svn r14334) -Feature: ability to reset name to default/automatic value (for ↵smatz
vehicles, engines, towns, groups, stations, waypoints, managers and companies)
2008-09-13(svn r14313) -Codechange: Move functions dealing with the EngineRenew pool ↵frosch
to their own file.
2008-08-28(svn r14182) -Fix: After applying NewGRF settings, all rail and road types ↵peter1138
were available as the engine availability check was performed too early.
2008-08-13(svn r14064) -Fix [FS#1752]: check for the length of strings (in bytes) in ↵rubidium
the command. Checking for the length in pixels is impossible because that differs per client.
2008-07-25(svn r13825) -Revert (r13821 partially): preview_player_rank wasn't a ↵peter1138
PlayerByte value in r12143, and still isn't a PlayerByte value.
2008-07-25(svn r13821) -Codechange: replace some uint8/bytes with more specificly ↵rubidium
named typedefs and replace a few magic numbers.
2008-07-18(svn r13731) -Codechange: make a pool of the array of players.rubidium
2008-06-05(svn r13388) -Codechange: Remove "my invented flag for something that is a ↵peter1138
wagon"
2008-05-29(svn r13331) -Fix (r12924): Wrong include type for (sdt::)mappeter1138
2008-05-29(svn r13325) -Codechange: split the client-side only settings from the ↵rubidium
settings stored in the savegame so there is no need to have a duplicate copy of it for new games.
2008-05-27(svn r13287) -Codechange: move engine list gui code away from engine.cpp ↵peter1138
(and its headers) to engine_gui.cpp
2008-05-25(svn r13255) -Codechange: move _opt to _settings.rubidium
2008-05-25(svn r13251) -Codechange: rename _patches to _settings as that is more logic.rubidium
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
2008-05-18(svn r13168) -Fix (r13072): forgot to 'fix' EngList_SortPartial() together ↵smatz
with EngList_Sort()
2008-05-15(svn r13100) -Codechange: reduce the amount of parameters passed via ↵rubidium
AddNewsMessage as there is (for each news message type) a tuple of 4 parameters that is the same for all calls.
2008-05-14(svn r13089) -Fix (r13072): MorphOS compilation was brokensmatz
2008-05-14(svn r13086) -Fix: do not crash badly after loading a newgrf with engines ↵smatz
in-game that often
2008-05-13(svn r13077) -Codechange: move function that updates cached num_engines to ↵smatz
engine.cpp, make it run only 1 loop
2008-05-13(svn r13072) -Fix (r12995): possible out-of-bounds accesssmatz
2008-05-13(svn r13065) -Codechange: remove the need for the news string callbacks. ↵rubidium
Patch by Cirdan.
2008-05-07(svn r12995) -Codechange: use std::vector for EngineList instead of C/C++ ↵smatz
wrapper for CBlobT
2008-05-06(svn r12971) -Documentation: add @file in files that missed them and add ↵rubidium
something more than whitespace as description of files that don't have a description.
2008-04-29(svn r12924) -Feature: Introducing the so called 'engine pool' which ↵peter1138
primarily removes the fixed engine type limits and also happens to allow (with the patch option 'dynamic_engines') multiple NewGRF vehicle sets to coexist.
2008-04-23(svn r12855) -Codechange: do not use autoptr's for testing whether certain ↵rubidium
objects can be build, but check it directly in the pool so we do not have to call destructors in the testing phase. Stations still use the autoptr though.
2008-04-06(svn r12599) -Codechange: force AllocateSafeRaw() to be linked to simplify ↵smatz
compiler's decisions about inlining
2008-03-31(svn r12490) -Codechange: rename engine.h to engine_func.h and remove ↵rubidium
unneeded inclusions of engine.h and/or replace them with engine_type.h.