Commit Graph

424 Commits (199091600a9040f25c99b20431b5a2e072d19049)

Author SHA1 Message Date
smatz aeeb60868c (svn r14739) -Fix (r13675): when a static GRF was forcibly disabled, wrong data was released, causing memory leaks and wrong behaviour or crashes 16 years ago
smatz 48af805ada (svn r14738) -Fix (r13576): GCF_STATIC belongs to GRFConfig::flags, not GRFConfig::status 16 years ago
smatz 921863da15 (svn r14737) -Fix (r10211): memory leak in Action 0x0F (new town names) 16 years ago
frosch 59fca8523f (svn r14696) -Fix (r10495): Words now consist of 16 bits. 16 years ago
frosch a5c02ba0a5 (svn r14674) -Fix (r4965): Check sprite size when executing action 6. 16 years ago
rubidium b650a86e58 (svn r14422) -Codechange: also reflect the changes of r14421 in the filenames. 16 years ago
rubidium a4cd12274c (svn r14233) -Feature/Fix [FS#2172]: save the palette of the loaded NewGRFs in the savegame, so joining with a server using Windows palette will make a client with the DOS palette do palette conversion and (thus) not cause a desync due to the different palettes disabling different NewGRFs. 16 years ago
frosch 3ce1a5672e (svn r14230) -Codechange: Simplify MapDOSColour() using the new stuff. 16 years ago
rubidium fc216aeeb8 (svn r14229) -Feature: allow overriding the palette of the base GRFs. This way you can play with NewGRFs made for the Windows palette with the DOS palettes base GRFs (and vice versa). Note that for this to work correctly ALL NewGRFs must use the same palette; mix and match is not yet supported. 16 years ago
peter1138 7bc5b136b1 (svn r14203) -Codechange: [NewGRF] Disable a GRF if it contains an unknown property, or tries to assign an invalid ID. 16 years ago
peter1138 b4b1f26a9f (svn r14202) -Codechange: [NewGRF] Give more meaningful output if a house/industry/industrytile is undefined in action 3, and continue processing remaining IDs. 16 years ago
peter1138 7e88b7bb3e (svn r14201) -Codechange: [NewGRF] Don't continue processing an Action 0 if we didn't read the data for a property -- the data will be wrong for subsequent reads.
-Codechange: [NewGRF] *Do* continue processing if the value of a property is invalid, however.
16 years ago
rubidium ea1f180a55 (svn r14199) -Codechange: split fileio.h into fileio_type.h and fileio_func.h so not everything that includes saveload.h needs to include everything else too. 16 years ago
peter1138 46e23b8f99 (svn r14198) -Codechange: [NewGRF] Simplify handling of common vehicle properties. 16 years ago
rubidium d3d34d2aac (svn r14191) -Codechange: unify the code to skip sprite payload (i.e. not the header).
-Fix: sprite payload skipping wouldn't skip enough bytes in a very small subset of compressed sprites.
16 years ago
peter1138 bfcd6e9772 (svn r14189) -Fix (r14188): Accidental line removal 16 years ago
peter1138 2b67c01a24 (svn r14188) -Codechange: [NewGRF] Cargo type of 0xFF is specified to be 'use first refittable cargo', so don't issue a warning for it. 16 years ago
peter1138 4c56b827e5 (svn r14184) -Codechange: [NewGRF] Since our NewGRF handling is better than it used to be, disable a NewGRF if unexpected sprites are reached. 16 years ago
peter1138 80c9ecedcd (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
smatz c9bef19043 (svn r14174) -Fix: since now, we are 'losing' things, not 'loosing' 16 years ago
belugas 23a9938317 (svn r14172) -Feature[newGRF]: Add support for property 0x13 for Bridges.
In other words, one can now specifies a 16 bits cost multiplier.
16 years ago
peter1138 b45ced35ee (svn r14160) -Codechange: Move _railtype_cost_multipliers into the rail type information struct. 16 years ago
peter1138 2f80a277eb (svn r14158) -Codechange: Initialization of rail type data from static source, so data can be changed. 16 years ago
rubidium 200f405706 (svn r14146) -Codechange: allow palette override in both ways and remove some unneeded '(x == 0) ? 0 : 1' constructs. 16 years ago
rubidium aa80c3a96c (svn r14102) -Fix [FS#1986]: make NewGRF action 0x06's changes persistent over the several loading stages. 16 years ago
peter1138 9d0e1b635a (svn r14078) -Codechange: Rename *VehicleInfo::base_cost to cost_factor, indicating what it actually is. 16 years ago
frosch 93d0ca8731 (svn r13885) -Fix [FS#2168]: Var 0x7F is not feature-specific. 16 years ago
frosch c840a63dfd (svn r13881) -Cleanup (r12751): Remove some dead code. 16 years ago
peter1138 7a73bff37a (svn r13831) -Codechange: Make purchase list order NewGRF property an extended byte. 16 years ago
peter1138 e6aa4e1eb1 (svn r13774) -Codechange: Add support for changing vehicle purchase list position for all vehicle types. 16 years ago
peter1138 e6a1f1c012 (svn r13761) -Codechange: Remove dependency on rail for altering purchase list position (mostly function renaming) 16 years ago
rubidium b5f7633883 (svn r13675) -Fix: memory leak when NewGRFs got forcefully disabled and they defined GOTO labels. 16 years ago
frosch 4236dd3be5 (svn r13594) -Feature(ette)[FS#2093]: Supply newgrfs with 'day of month', 'leap year' and 'day of year'. 16 years ago
rubidium 4ccd8a6786 (svn r13576) -Codechange: disable static NewGRFs when non-static NewGRFs query them in the context of network games. This makes it impossible for static NewGRFs to disable non-static NewGRFs and 'bad' things happening because the non-static NewGRF doesn't know about the static NewGRF. 16 years ago
peter1138 d61da119d3 (svn r13482) -Codechange: Use "extended bytes" in Actions 3 and 4 for vehicles 16 years ago
rubidium 3d5fe9bfc1 (svn r13469) -Codechange: add support for loading Action 0x05, type 0F: "tracks for slopes". It's not useful right now, but it will be in the future. 16 years ago
rubidium 7f6382badd (svn r13464) -Codechange: support NewGRF Action 0x05, type 12. 16 years ago
smatz bd5067b5a0 (svn r13456) -Codechange: use AllocaM() macro instead of alloca() at most places 16 years ago
belugas 54e7a3b196 (svn r13437) -Feature[newGRF]: Add long format introduction and maximum construction year for house. 16 years ago
glx ee256e770a (svn r13390) -Codechange: introduce usererror() for fatal but not openttd related errors. Now all error() will 'crash' openttd after showing the message in win32 releases (MSVC), creating a crash.log and crash.dmp (like the '!' hack used before). On the other hand, usererror() will just close the game. So use error() only when it can be helpful to debugging, else use usererror(). 16 years ago
peter1138 261018fc8c (svn r13388) -Codechange: Remove "my invented flag for something that is a wagon" 16 years ago
belugas 2550f353e9 (svn r13376) -Feature: Add access to current long year and date from Action 7/9/D and VarAction2 (23/24 or A3/A4)
Add access to (long format) building year, in Variational Action2 Variable 49 for Vehicles
16 years ago
peter1138 d58f055876 (svn r13374) -Fix (r13364): Some common compilers do not yet support 9 year old specifications. 16 years ago
peter1138 722f48a1d6 (svn r13372) -Cleanup: Excessive whitespace 16 years ago
peter1138 7b75cee876 (svn r13371) -Fix (r4510 ... r12924): Engine array size is not related to the ID used when setting a vehicle's name (it is vehicle type specific). Instead just test for a generic string. 16 years ago
belugas 4b4e73c1dd (svn r13368) -Codechange: give house's min/max_date a better name, as it is really year, not date 16 years ago
peter1138 7b66180d78 (svn r13364) -Codechange: Refactor action 3 mapping to use grf_load_*() instead of direct byte array access. 16 years ago
peter1138 86ab690ec5 (svn r13363) -Codechange: Code duplication tidy up 16 years ago
rubidium 923e21129c (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
rubidium 5c5ee7eb57 (svn r13301) -Fix [FS#1997]: resolve more MSVC 9 x64 warnings. 16 years ago
rubidium 8c9cc415e3 (svn r13255) -Codechange: move _opt to _settings. 16 years ago
rubidium 4625695653 (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
belugas fc35ad9ee9 (svn r13226) -Feature: Allow to have more than only two airports per town. The number of airports is now controlled by the noise each of them generates, the distance from town's center and how tolerant the town is.
Initial concept : TTDPatch (moreairpots),  Initial code : Pasky
Thanks to BigBB (help coding), Smatz Skidd13 and frosch for bugcatches and advices
16 years ago
peter1138 eb112946a7 (svn r13074) -Fix: For multiheaded engines, halve power and running cost when used instead of when loading, to allow callback values to work properly. 16 years ago
glx e48a351f8e (svn r13008) -Fix [FS#1997]: silence some MSVC x64 warnings 16 years ago
peter1138 c025d7a152 (svn r12973) -Codechange: Rename GRMSpriteEntry to GRFLocation, as it is not necessarily specific to GRM sprites... 16 years ago
rubidium d03994098b (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 22aa011b57 (svn r12958) -Codechange: Allocate sprites reserved by GRM in advance of 'Action 1' sprites, giving much less chance of GRM reservation failure if lots of NewGRF sets are loaded. 16 years ago
belugas 26f11fd181 (svn r12950) -Fix: two includes is one too much 16 years ago
smatz 297f99e100 (svn r12944) -Codechange: use rev.h instead of externs at many places 16 years ago
peter1138 3e0b6199c4 (svn r12932) -Fix [FS#1970]: Articulated engines ignored GRF engine overrides. 16 years ago
peter1138 a00371c8db (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
peter1138 c5211354a6 (svn r12839) -Codechange: Allocate temporary engine data when loading GRFs as needed instead of statically. 16 years ago
peter1138 210d757499 (svn r12798) -Feature: Add some support for NewGRF station animation. (Thanks to mart3p for samples and fixes) 16 years ago
rubidium 9d8fa486af (svn r12761) -Codechange: lots of minor whitespace coding style fixes around operators. 16 years ago
rubidium 00f0bf98ee (svn r12751) -Codechange: do what has been done in r11862 in a different way so it uses less memory. 16 years ago
rubidium 5992dad01f (svn r12648) -Feature: allow four different non-stop types in a single game instead of two. The "TTDP compatible order" setting now only sets the default behaviour of new trains.
-Feature: allow three different load type in a single game instead of two. One can choose full load all and full load any instead of full load being governed by the "full load any" patch setting.
16 years ago
rubidium 6f15d34fe5 (svn r12495) -Codechange: reduce the dependency on newgrf_station.h (especially because newgrf_station.h includes a lot of stuff). 16 years ago
rubidium ef2be7d0fc (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 2edd403656 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 16 years ago
glx d4f7f5e5fe (svn r12454) -Fix (r12452): incorrect calculation for 'first vehicle in this chain of vehicles with the same ID' (thx DaleStan)
-Fix (r12452): wrong loading of random action 2 type 84 for non vehicle (though it shouldn't happen, but who knows ;))
17 years ago
glx bbdb831301 (svn r12452) -Feature: [NewGRF] Add random action 2 type 84. For vehicles only. 17 years ago
peter1138 7df7a3069c (svn r12450) -Codechange: Use a pointer instead of several array dereferences. 17 years ago
belugas 3343586c84 (svn r12449) -Feature[newGRF]: Add support for var A2/22 for action 7/9/D: Diificulty level 17 years ago
smatz bfae49aeb2 (svn r12368) -Codechange: use explicit body for loops and conditions and remove -Wno-empty-body from the configure script 17 years ago
peter1138 f08cf32216 (svn r12341) -Fix (r11224) [FS#1827]: GRM buffer for cargos was incorrect size. 17 years ago
frosch 6e3ae628fc (svn r12333) -Fix: Switch grfstatus from 'activated' back to 'will-be-active' between reservation- and activation-stage.
This fixes action7/9 conditions 0x06 to 0x0A to return the same in those two stages.
17 years ago
peter1138 9ccce57438 (svn r12317) -Fix [FS#1815]: Map string IDs that are embedded from other strings. 17 years ago
peter1138 6bdc8e5fae (svn r12316) -Codechange: Support loading full range of 0xD0xx NewGRF strings which
includes 0xD000 to 0xD3FF (yes, 0xD0xx makes a lot of sense, really...) 
and handle 0xD400 to 0xD7FF strings which map to 0xD000 to 0xD3FF 
(obviously).
17 years ago
peter1138 6aea2454c8 (svn r12295) -Codechange: Make plane speed option available to NewGRFs 17 years ago
peter1138 dda6cab17a (svn r12209) -Fix: [NewGRF] Support using any base price for rail and road vehicles' running cost, and show running cost of wagons if they have it. 17 years ago
peter1138 79b6b9cb66 (svn r12205) -Codechange: rename RailVehicleInfo::running_cost_base to running_cost, inline with other vehicle types (It is the factor, not the base) 17 years ago
belugas 245fccf22d (svn r12158) -Codechange: merge all the sprite recolouring mapping under a single function
-Fix: Handle the bridge recolouring mapping as the other features.  Although not specified by the specs, it seems to be implicit.
17 years ago
frosch a40d761d7f (svn r12149) -Codechange: Merge 'ground_sprite' and 'ground_pal' of DrawTileSprites into one PalSpriteID 17 years ago
frosch fd0f57a794 (svn r12148) -Codechange: Merge 'image' and 'pal' of DrawTileSeqStruct into one PalSpriteID 17 years ago
frosch c2bad6d22c (svn r12124) -Codechange: Move newgrf-variables that are common to VarAction2 and Action7/9/D to their own function.
-Fix: Add some variables that were missing in one or both cases.
17 years ago
peter1138 4d0c443953 (svn r12122) -Codechange: Add framework for generic feature callbacks, along with some parts for AI use. 17 years ago
peter1138 e76f7c9359 (svn r12119) -Codechange: Rename grfspec_feature to match code style, and expose in header for use elsewhere. 17 years ago
belugas f4334301e8 (svn r12118) -Codechange: Put the two descriptions of bridges in an array instead of two single variables, following the transport type it represents 17 years ago
belugas cc2b8b574a (svn r12111) -Codechange: Rename Bridge to BridgeSpec, out of consistensy with other Specs in used. 17 years ago
belugas 94f4217984 (svn r12069) -Feature[newGRF]: Specify the purchase, rail and road description of a bridge. 17 years ago
belugas 3003986e67 (svn r12064) -Codechange : Give grf bridges their own ResetBridges function, and put bridge spec in table/bridge_land.h, where it should be. 17 years ago
glx b35611dae3 (svn r12059) -Fix (r12041): industries prop 24 is a word 17 years ago
maedhros 2588879c6d (svn r12052) -Fix [FS#1737] (r11494): The cargo translation table was loaded at the right time, but all the other global variables were now loaded too early. ;) 17 years ago
belugas 7cf2c83462 (svn r12041) -Codechange: Add the loader and the property for action 00 industries, prop 24, nearby station name.
No assignation yet, no real work either.
17 years ago
peter1138 1cdee354b4 (svn r12019) -Codechange: Add support for passenger engine designation for AI-use, NewGRF property 0x08 for trains. 17 years ago
frosch d3c7a35d22 (svn r12001) -Fix: When skipping Action 11 or 12, also skip belonging sprites. 17 years ago
frosch 79aa7247c0 (svn r11973) -Fix (r11726, r11947)[FS#1683]: Use grass tiles for corner shores, if shores got replaced by ActionA. 17 years ago
belugas 9c16461c29 (svn r11963) -Fix(r11961): Forgot to specify the meaning of the magical 6 substraction 17 years ago
belugas 4a3e135086 (svn r11961) -Feature[newGRF]: Add support for Action 0D, var 13: informations about current map size. 17 years ago
peter1138 ca1b3e7b4e (svn r11938) -Codechange: support loading of canal/river properties (though still ignored) 17 years ago
glx 3d61a1adc5 (svn r11888) -Codechange: simplify sorting of the strings in town names dropdown 17 years ago
rubidium 26c621945d (svn r11862) -Fix [FS#1559]: when two NewGRFs 'fight' to define the same cargo it could happen that the strings are defined by one cargo and the 'action2' by another and when one assumes that both come from the same NewGRF... So store the GRF ID with the strings. To be extra sure add the same protection mechanism to industries and towns too. 17 years ago
peter1138 027112e1fe (svn r11846) -Fix [FS#1651]: implicit conversion from unsigned to signed int caused compilation failure with MSVC. 17 years ago
rubidium dc87b05e8c (svn r11834) -Codechange: only include settings_type.h if needed. 17 years ago
rubidium d4e6a6bf57 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 17 years ago
peter1138 ab8382c0db (svn r11822) -Codechange: Replaced fixed size custom name array. Names are now attached to their object directly and there is
no limit to the amount of names.
-Fix: NewGRF engines could not be renamed.
17 years ago
rubidium ac528411df (svn r11818) -Codechange: split player.h into smaller pieces. 17 years ago
frosch 1b936179ca (svn r11807) -Codechange: Make Action5 handler more upwards- and TTDP-compatible by allowing specifiing more sprites than needed. 17 years ago
peter1138 d30321d2af (svn r11803) -Fix: unlikely but possible infinite loop leading to undefined behaviour 17 years ago
rubidium 6c954cad5f (svn r11801) -Codechange: remove some unneeded includes from some header files. 17 years ago
rubidium 998d7644f6 (svn r11800) -Codechange: move some functions to a more logical location + some type safety. 17 years ago
peter1138 82fe2885ab (svn r11799) -Codechange: no need to special-case helicopter rotor 'overrides' 17 years ago
peter1138 ce2104ed47 (svn r11784) -Codechange: set up initial engine data in one place 17 years ago
rubidium a3ccdcea36 (svn r11777) -Codechange: split the string header and make do not include it when it's not necessary. 17 years ago
peter1138 5d837282ee (svn r11761) -Codechange: Use appropriate variable types for NewGRF engine overrides, and adjust scope while there. 17 years ago
belugas 6b37ab36ea (svn r11757) -Fix(r11727): Don't use a function's default parameter when the value can be (more adequately, even better) computed from another source.
Thanks peter1138.
17 years ago
belugas aebcd80088 (svn r11748) -Codechange: Remove magic numbers introduced on r11746 and r11727
-Codechange: A few bad coding style inadvertendly applied too
17 years ago
belugas 6ce70b17ca (svn r11746) -Fix(r11727): Make sure that action 0A does follow the same new ordering of shore sprites. It was not considered in the missing shore patch 17 years ago
rubidium b1be9f0137 (svn r11728) -Fix [FS#1577]: if there are no houses that can be build in a specific year yet, force the houses with the earliest introduction year to be available. 17 years ago
belugas 8ee1faca6c (svn r11726) -Feature[newGRF]: Extend the Action 5, feature 0D usage. Patch by BigBB 17 years ago
rubidium a3b19fd50c (svn r11721) -Fix: do not disable NewGRFs for 'eternity' during games. 17 years ago
peter1138 06d578d07e (svn r11720) -Codechange: [NewGRF] Add support for bit 30 of station tile layouts; forcing a sprite to always be opaque. 17 years ago
rubidium e5e75bd8f8 (svn r11719) -Codechange: split sound.h in a header with types and one with functions. 17 years ago
maedhros e2efaaff87 (svn r11712) -Fix (r9315): Add more house string id ranges to MapGRFStringID so NewGRFs use the proper string ids. 17 years ago
rubidium 384503e7d3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 17 years ago
rubidium b9046c97fb (svn r11702) -Codechange: move all date related stuff to date*. 17 years ago
rubidium 429521a7d1 (svn r11692) -Codechange: move some functions from 'functions.h' to a more logical place and remove about 50% of the includes of 'functions.h' 17 years ago
rubidium bf98e25e43 (svn r11691) -Codechange: move+rename helpers.hpp and only include it when it is really needed. 17 years ago
rubidium a773d45885 (svn r11684) -Codechange: split gfx.h in a type and functional header. 17 years ago
rubidium 8f0e68285b (svn r11682) -Codechange: move some 'generic' geometry related types into a single file and do not include gfx.h everywhere to get a Point type. 17 years ago
rubidium 9e9cfe6e59 (svn r11677) -Codechange: move price and command related types/functions to their respective places. 17 years ago
rubidium 433a9f3c09 (svn r11675) -Codechange: split the string types from the string functions. 17 years ago
belugas b8196d36e7 (svn r11665) -Fix: Animation informations should not be copied from original industry tile spec, while doing an action 00, industry tile, prop 08.
Fix directly inspired by Csaboka
17 years ago
rubidium 7db6c7db38 (svn r11664) -Codechange: use more specific ("rail_type.h" instead of "rail.h" that includes way more than only "rail_type.h") includes at some places. 17 years ago
rubidium 85b52f6a64 (svn r11650) -Fix: 'initialised' NewGRFs could still be deactivated in the later 'activation' pass. 17 years ago
glx 5e062d3f15 (svn r11645) -Fix (r8128): station ground tiles may have transparency or company colour 17 years ago
belugas 828c242291 (svn r11635) -Codechange: Give a more informative debug message when encountering unknown newgrf feature in action 00 handling.(FS#1551, Bilbo) 17 years ago
glx b47bce651e (svn r11600) -Cleanup: remove extra out-of-memory checks, since it's now done in *allocT functions. 17 years ago
glx da9f06252b (svn r11544) -Fix [FS#1501]: revert r11453 as it translated cargo when it should not 17 years ago
belugas b10eea628d (svn r11534) -Feature(newgrf): Implement property 23h for Industries.
This will add a cost to the removal of an industry using the cheat magic bulldozer.
Note that the removal of regular or newgrf industries without specified removal cost will have no cost applied to.
This is a difference from original spec, where a default base cost is added.
17 years ago
skidd13 bf959f926f (svn r11510) -Codechange: merge the IS_*INSIDE* functions and rename them fitting to the naming style 17 years ago
rubidium 64246a2775 (svn r11509) -Fix: off-by-one error in some sprite numbers; increase sprite number counter before loading the next sprite instead of after doing so. 17 years ago
glx b979995795 (svn r11494) -Fix [FS#1461] (r11450): cargo translation table was now loaded too late ;) 17 years ago
skidd13 eeaa348f8b (svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 5c31a973a1 (svn r11482) -Codechange: Remove the doubled function ClrBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 71c4325c50 (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 17 years ago
skidd13 8be526e499 (svn r11475) -Codechange: rename clamp and clampu to Clamp and ClampU to fit with the coding style 17 years ago
glx 32202be452 (svn r11453) -Fix (r11450): unrevert r11239, as we now need it 17 years ago
glx f22ed6f85e (svn r11450) -Fix [FS#1432](r8886): cargo translation table was loaded too early 17 years ago