Commit Graph

193 Commits (26ce850122e6c5168d91bf57c2eb351605a1fc29)

Author SHA1 Message Date
rubidium da30e736ca (svn r18330) -Cleanup: remove some unneeded includes 15 years ago
frosch f60a437d36 (svn r18268) -Feature: [NewGRF] Make price base multipliers related to vehicles only apply to the GRF locally, if it defines engines of that type itself. 15 years ago
frosch fe65c7f833 (svn r18266) -Codechange: Add a function to compute prices from price base and cost factor and use it consistently for vehicle purchase, running cost, and refit cost. 15 years ago
rubidium b2d7edddfa (svn r18027) -Codechange: make some unneededly global variables static and remove some unused variables 15 years ago
frosch 1bd8a982d5 (svn r18011) -Feature(ette): [NewGRF] CB 36 for roadvehicle property 09 'running cost factor'. 15 years ago
frosch 040404c5d3 (svn r18005) -Codechange: Convert the Prices struct into an array and an enum. 15 years ago
frosch 9fafef56d0 (svn r17926) -Fix (r9352): Make the decision whether aircraft carry mail consistent. Now always the cargo class decides. 15 years ago
frosch 23980e6486 (svn r17897) -Fix [FS#3255]: CB15 and CB36 (capacity) were not always called when they should.
-Codechange: Move capacity calculation to a single function for all vehicle types, so the behaviour can be kept consistent easier.
15 years ago
frosch 76ff3aaf8f (svn r17758) -Revert (r17208): Use assert_compile() if you cannot count.
-Fix (r7326): Powernaut Helicopter got wrong 'load amount'.
-Fix (r2639): Call the Evil by its name.
15 years ago
frosch 4cb5a3e8a2 (svn r17725) -Codechange: Reduce usage of EngInfo and XxxVehInfo, esp. when a Engine * is already present. 15 years ago
frosch 2adc2f4324 (svn r17700) -Codechange: Integrate ShipVehicleInfo::refittable into EngineInfo::refit_mask during initialisation. 15 years ago
rubidium 982b8ee5fc (svn r17693) -Cleanup: remove some unneeded includes 15 years ago
frosch b6156da5e9 (svn r17616) -Codechange [FS#3222]: Enumerize properties used in callback 0x36. Based on Terkhen's work. 15 years ago
rubidium 06e490fadc (svn r17567) -Fix: some doxygen warnings 15 years ago
rubidium c2c0f4403e (svn r17534) -Codechange: unify the naming of callback masks/flags 15 years ago
frosch 0e36260337 (svn r17532) -Codechange: Rename several Invalidate functions to SetDirty for more consistency and distinguishability. 15 years ago
alberth 174284d526 (svn r17327) -Codechange: Allow external use of GetEngineCategoryName(). 15 years ago
rubidium 169df83012 (svn r17296) -Fix/feature [FS#3152]: allow rail wagons to be build when only el rail engines are available 15 years ago
rubidium 99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 15 years ago
frosch 0ddf9c86e1 (svn r17209) -Codechange: Move cargo_type from (Rail|Road|Ship)VehicleInfo to EngineInfo. 15 years ago
rubidium d61be2637e (svn r17075) -Codechange: rename ~750 strings to be more uniform with their relatives 15 years ago
rubidium 5bb7b8ad35 (svn r17062) -Change: unify the naming of some 125 strings 15 years ago
frosch 2a5982b836 (svn r16929) -Change: There is no point in not randomising engine introduction-date before 1922. Instead disable the randomisation for the first two years after game-start, so you do not have to wait for the first engine. 15 years ago
rubidium 01eabc5f4c (svn r16921) -Codechange: make it more clear what strings are related to road vehicles; only ROAD isn't always enough. Also unify the way of writing it. 15 years ago
smatz 64de470917 (svn r16814) -Codechange: make IsNormalAircraft() member of Aircraft 15 years ago
smatz 98b8479f56 (svn r16813) -Codechange: make IsEngineCountable() member of Vehicle 15 years ago
yexo b00726a5d2 (svn r16647) -Codechange: remove newgrf.h include from newgrf_engine.h to prevent unnecessary inclusion newgrf.h anyway 15 years ago
rubidium 11c7c258dd (svn r16586) -Codechange: don't store lifelength in the savegame; it can easily be calculated, it isn't used often and now changing extend_vehicle_life in game has some effect. 15 years ago
rubidium 8ca2ccc456 (svn r16581) -Codechange: unify the access to Engine::lifelength. 15 years ago
rubidium ee96d737b2 (svn r16580) -Codechange: rename Engine::image_index to original_image_index to not confuse it with image_index from *VehInfo. 15 years ago
alberth 580e478e4e (svn r16491) -Codechange: Added parentheses around bitwise operators for code style. 15 years ago
frosch eeb3f75cfe (svn r16416) -Fix [FS#2912]: Rework deleting of news when referenced vehicles/stations/industries are deleted. 15 years ago
smatz 50624d5c0f (svn r16378) -Codechange: replace OldPool with simpler Pool. Compilation time, binary size and run time (with asserts disabled) should be improved 15 years ago
smatz 6636ed7589 (svn r16354) -Codechange: use 'new' pool accessors and methods for Engine too 15 years ago
smatz cf986c3099 (svn r16326) -Codechange: replace GetPoolItemPoolSize() by PoolItem::GetPoolSize() 15 years ago
smatz d495dc5dbc (svn r16325) -Codechange: replace GetPoolItem(index) by PoolItem::Get(index) 15 years ago
rubidium 5c5b357043 (svn r16118) -Change/cleanup: remove the hexadecimal 'in TTD the string had this ID' from 'some' strings and replace the string name with something more sensible. 15 years ago
frosch c297a99eff (svn r15763) -Codechange/Fix: Add Engine::GetDisplayDefaultCapacity() and use it everywhere, so CB 36 is also used everywhere. 16 years ago
rubidium f3e0fd7416 (svn r15711) -Codechange: lots of whitespace cleanup/fixes 16 years ago
frosch 959c297fb9 (svn r15645) -Fix (r12924)[FS#2612]: Add an EngineOverrideManager to give the term 'compatible newgrf' again some sense and to not crash because of trivial changes. 16 years ago
frosch da78726e0c (svn r15592) -Fix: Refit-info in purchase list did only check the first articulated part. 16 years ago
frosch abe4692da2 (svn r15541) -Revert (r15399): 'v->cargo_type' is also used in other places, 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.
16 years ago
rubidium 02c52430c8 (svn r15521) -Codechange: add helper function to get the display tractive effort of a vehicle. 16 years ago
rubidium 5c8cf85613 (svn r15434) -Codechange: bit of type safety for the DC_xxx flags. 16 years ago
peter1138 5429c5a095 (svn r15412) -Fix: Clearing custom engine names could cause desyncs due to be client-side only; GUI parts of save/load of custom engine names also removed as it was never implemented. 16 years ago
frosch 61a893d6fd (svn r15308) -Codechange: Deduplicate km-ish/h -> mph conversions. 16 years ago
frosch 9c2ba4f96a (svn r15306) -Codechange: Deduplicate code by adding Engine::GetDisplayMaxSpeed(), GetPower() and GetDisplayWeight(). (and using them) 16 years ago
smatz 9021c20b5e (svn r15299) -Cleanup: remove many redundant includes 16 years ago
glx 470da22ac3 (svn r15263) -Codechange: added Engine::GetCost() to remove some code duplication. 16 years ago
glx 9b73303b4d (svn r15261) -Add: added Engine::GetRunningCost() to remove some code duplication. Also stops AIs decrementing vehicle counter of first company 16 years ago
smatz f0ff90d71c (svn r15216) -Feature: native support for Transport Tycoon (Original) savegames. Based on SVXConverter's source code and documentation by Roman Vetter 16 years ago
smatz ca45774160 (svn r15077) -Codechange: enumify DAYS_IN_YEAR and DAYS_IN_LEAP_YEAR
-Change: when computing daily running cost, divide by 365 (instead of 364). Since r12134, the rounding errors don't need this correction anymore
16 years ago
truebrain c2406cd42d (svn r15027) -Merge: tomatos and bananas left to be, here is NoAI for all to 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
16 years ago
smatz c5db2ea181 (svn r14958) -Codechange [FS#1923]: when checking for unique names, compare 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).
16 years ago
peter1138 544e04fe62 (svn r14926) -Feature: Automatically set last engine ageing year to the last 'introduction year plus half model life', to allow engines later than 2050 to appear. 16 years ago
smatz 91233ea596 (svn r14828) -Codechange: move most of save/load-specific code to separate files 16 years ago
rubidium e83cca7d13 (svn r14754) -Codechange: get rid of _cmd_text and just pass it as (optional) parameter. 16 years ago
rubidium bf6ec8b19f (svn r14735) -Codechange: remove a bit of bit-waste in the map array (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.
16 years ago
rubidium e6ff168508 (svn r14732) -Codechange: replace some magic number with less magic constants and use the proper type for a few variables. 16 years ago
rubidium 2e916a154f (svn r14683) -Change: only say a engine/vehicle is refittable when it can be 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.
16 years ago
frosch 1fa409177c (svn r14680) -Feature(ette) [FS#2434]: Use property 4 (model life) also for 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'.
16 years ago
rubidium e589c7e580 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
rubidium f56e630e5c (svn r14421) -Codechange: rename all player variables/types to company *or* client so it is immediatelly clear which one you are working with. 16 years ago
smatz e543181b12 (svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies) 16 years ago
frosch 869e90ea86 (svn r14313) -Codechange: Move functions dealing with the EngineRenew pool to their own file. 16 years ago
peter1138 2e0d735f1f (svn r14182) -Fix: After applying NewGRF settings, all rail and road types were available as the engine availability check was performed too early. 16 years ago
rubidium 8dffbcfd26 (svn r14064) -Fix [FS#1752]: check for the length of strings (in bytes) in the command. Checking for the length in pixels is impossible because that differs per client. 16 years ago
peter1138 ba8905fd2c (svn r13825) -Revert (r13821 partially): preview_player_rank wasn't a PlayerByte value in r12143, and still isn't a PlayerByte value. 16 years ago
rubidium fae2695854 (svn r13821) -Codechange: replace some uint8/bytes with more specificly named typedefs and replace a few magic numbers. 16 years ago
rubidium cde65455ac (svn r13731) -Codechange: make a pool of the array of players. 16 years ago
peter1138 0a41936df8 (svn r13388) -Codechange: Remove "my invented flag for something that is a wagon" 16 years ago
peter1138 7f8d9148b8 (svn r13331) -Fix (r12924): Wrong include type for (sdt::)map 16 years ago
rubidium e7a501100a (svn r13325) -Codechange: split the client-side only settings from the settings stored in the savegame so there is no need to have a duplicate copy of it for new games. 16 years ago
peter1138 1272c55991 (svn r13287) -Codechange: move engine list gui code away from engine.cpp (and its headers) to engine_gui.cpp 16 years ago
rubidium d289464d69 (svn r13255) -Codechange: move _opt to _settings. 16 years ago
rubidium dc77647ea4 (svn r13251) -Codechange: rename _patches to _settings as that is more logic.
-Codechange: move all Settings into substructs of _settings in a way that they are logically grouped.
16 years ago
smatz 23b9852480 (svn r13168) -Fix (r13072): forgot to 'fix' EngList_SortPartial() together with EngList_Sort() 16 years ago
rubidium 373343cef6 (svn r13100) -Codechange: reduce the amount of parameters passed via AddNewsMessage as there is (for each news message type) a tuple of 4 parameters that is the same for all calls. 16 years ago
smatz c90cda6c1c (svn r13089) -Fix (r13072): MorphOS compilation was broken 16 years ago
smatz e4dee736c5 (svn r13086) -Fix: do not crash badly after loading a newgrf with engines in-game that often 16 years ago
smatz f92a48c24b (svn r13077) -Codechange: move function that updates cached num_engines to engine.cpp, make it run only 1 loop 16 years ago
smatz 3670a25e3a (svn r13072) -Fix (r12995): possible out-of-bounds access 16 years ago
rubidium 5d7851e8d6 (svn r13065) -Codechange: remove the need for the news string callbacks. Patch by Cirdan. 16 years ago
smatz 8a422e34df (svn r12995) -Codechange: use std::vector for EngineList instead of C/C++ wrapper for CBlobT 16 years ago
rubidium 1ce0b03bf0 (svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description. 16 years ago
peter1138 45034bc522 (svn r12924) -Feature: Introducing the so called 'engine pool' which primarily removes the fixed engine type limits and also happens to allow (with the patch option 'dynamic_engines') multiple NewGRF vehicle sets to coexist. 16 years ago
rubidium d56827a9a9 (svn r12855) -Codechange: do not use autoptr's for testing whether certain 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. 16 years ago
smatz 76eaed68a0 (svn r12599) -Codechange: force AllocateSafeRaw() to be linked to simplify compiler's decisions about inlining 16 years ago
rubidium df1d9bd880 (svn r12490) -Codechange: rename engine.h to engine_func.h and remove unneeded inclusions of engine.h and/or replace them with engine_type.h. 16 years ago
rubidium 2426f5342f (svn r12459) -Codechange: split news.h into news_type.h and news_func.h. 17 years ago
smatz de8c95506b (svn r12244) -Fix (r12150): typo resulting in no players are given the engine preview offer 17 years ago
smatz 55b0146498 (svn r12150) -Fix (r12143): compiler warnings - possible use of uninitialised variable 17 years ago
peter1138 359771c406 (svn r12143) -Fix (r8038): Engine::preview_player does not contain a Player ID. Rename this to preview_player_rank and change back to a uint8 to avoid confusion. 17 years ago
frosch 9e05e0ea01 (svn r12084) -Fix: 'Early retirement'-properties are signed. 17 years ago
peter1138 71b0d5f091 (svn r12054) -Cleanup: Use VehicleType instead of byte for vehicle types... 17 years ago
peter1138 f8255e10d5 (svn r11971) -Codechange: use of FOR_ALL_ENGINES/ENGINEIDS_OF_TYPE instead of for-loops 17 years ago
peter1138 7ef297187e (svn r11970) -Cleanup: Remove old comment 17 years ago
bjarni 48c2669185 (svn r11872) -Fix (r9874): EngineHasReplacementForPlayer() didn't look in ALL_GROUP 17 years ago
rubidium 9c0c798dd8 (svn r11834) -Codechange: only include settings_type.h if needed. 17 years ago
rubidium fafab82a31 (svn r11832) -Codechange: get rid of (quite) some VARDEFs. 17 years ago