Commit Graph

208 Commits

Author SHA1 Message Date
maedhros 3e326085fa (svn r10097) -Feature: Add support for articulated road vehicles, or callbacks 11 and 17 for
road vehicles for those who prefer the technical explanation.
2007-06-11 14:00:16 +00:00
belugas 94200b63b8 (svn r10088) -Codechange: A typo and a code-style 2007-06-10 23:40:29 +00:00
rubidium 142f2aba15 (svn r10073) -Codechange: make the NewGRF paths in the config file without any full paths (again). 2007-06-08 21:16:17 +00:00
peter1138 c1df3a8aa6 (svn r10059) -Fix (r10045): Pretend GRF is still in initialisation state when leaving reservation stage. This fixes action 7/9 tests for grfs that will be active. 2007-06-07 18:13:31 +00:00
peter1138 041c946119 (svn r10052) -Codechange: Support reserve/activate stage bits of action 7/9 variable 84. 2007-06-07 07:20:44 +00:00
peter1138 fdb7ef8703 (svn r10045) -Codechange: Process Action 8 during GLS_RESERVATION to allow Action 7/Action 9s to work properly 2007-06-05 21:41:31 +00:00
peter1138 4258139a52 (svn r10044) -Fix: Minor NewGRF debug message fixes, and skip sprites of an unsupported Action 5 feature. 2007-06-05 20:49:32 +00:00
peter1138 06084e0a63 (svn r10019) -Codechange: Implement GRM for newcargos 2007-06-02 08:56:21 +00:00
belugas 4af692558a (svn r10005) -Codechange: Merge two flags (2cc and newhouses) indicating some newgrf features have been loaded, and introduce the newindustry one. 2007-05-31 19:13:41 +00:00
belugas f8da1b6e1a (svn r10001) -Codechange: Add support for removing dynamically allocated newgrf data 2007-05-31 15:40:36 +00:00
rubidium 253aa1b0b0 (svn r9999) -Feature: make it possible to disallow busses and lorries to go a specific way on straight pieces of road. 2007-05-31 15:15:00 +00:00
belugas 86abe1b229 (svn r9994) -Codechange: Add pointers for Industry and Industry Tiles in the grf file. 2007-05-31 03:35:11 +00:00
belugas 0cb8413a8f (svn r9976) -Codechange: Declare a writable array of specs for industry and industry tiles.
It will be initialized by the original data upon game start.
Rename some enums to be more consistent too
2007-05-29 17:41:59 +00:00
rubidium 17390241e6 (svn r9923) -Add: support for Action 0 Road vehicles, property 1C, bit 0. 2007-05-25 22:07:40 +00:00
rubidium 9060ab4af1 (svn r9918) -Fix: the available roadtypes/railtypes were not updated on GRF updates. 2007-05-25 08:47:40 +00:00
peter1138 d5d94e230f (svn r9916) -Codechange: Free memory used by cargo translation tables 2007-05-25 06:39:12 +00:00
peter1138 f1c0229b5d (svn r9890) -Codechange: Don't allocate space for 0 spriteset ranges 2007-05-20 16:17:03 +00:00
peter1138 1ce633b894 (svn r9883) -Fix (r4965): [NewGRF] Check for overflow and carry over when adding to the existing value. 2007-05-19 22:37:24 +00:00
glx c9d72a900b (svn r9880) -Add: [NewGRF] Add action 7/9 condition 0B/0C (cargo type availability) 2007-05-19 19:13:12 +00:00
peter1138 a58bd26b74 (svn r9877) -Revert (r9876): one file too many... 2007-05-19 11:18:22 +00:00
peter1138 47d17bea9d (svn r9876) -Codechange: [NewHouses] Add support for callback 2E (cargo production) 2007-05-19 11:17:30 +00:00
rubidium ba24c34f85 (svn r9869) -Codechange: replace some bytes with VehicleType, i.e. more type strictness. 2007-05-18 17:31:41 +00:00
belugas 3fb4003534 (svn r9850) -Codechange: Introduction of the Override/Substitute manager. Currently only used for newhouses.
Basically, it is more a gathering of IDs from grf files and ingame data.
2007-05-15 21:36:58 +00:00
rubidium 196ddae1db (svn r9843) -Fix (r9838): tell the newgrfs that we now support proper FIFO loading. 2007-05-15 13:38:43 +00:00
peter1138 5e00e688f8 (svn r9827) -Codechange/Fix: [NewGRF] Text strings of 1 character are perfectly valid... (fixes dbsetxl refits again...) 2007-05-11 19:22:43 +00:00
peter1138 c9018d3e7c (svn r9825) -Codechange: [NewGRF] Add support for early vehicle retirement. 2007-05-10 23:10:23 +00:00
maedhros 3cc31aae86 (svn r9823) -Feature: Add support for house property 1F - minimum life span. 2007-05-10 16:03:06 +00:00
rubidium fe1306ce65 (svn r9799) -Codechange: separate engine class and engine running cost class (mart3p). 2007-05-06 19:44:22 +00:00
peter1138 37a873e03c (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals. 2007-05-06 18:14:33 +00:00
rubidium 5c0a52149d (svn r9795) -Codechange: enumify the EngineClass. 2007-05-06 15:01:44 +00:00
maedhros cf927a9792 (svn r9793) -Fix (r9701): Action D 'TTDPatch variable' 0x0B should be the starting year, not the current year. 2007-05-06 09:12:58 +00:00
peter1138 74bf87dd82 (svn r9790) -Codechange: [NewGRF] Skip action 1 sprites in all stages except activation. This also cleans up some special-case handling of the sprites. Actions 1 and 2 are now not considered unsafe, as an Action 3 (which is unsafe) is required for them. 2007-05-05 10:47:35 +00:00
peter1138 449e76c05a (svn r9775) -Fix: Remove arbitrary limit on length of NewGRF strings. 2007-05-04 07:08:35 +00:00
maedhros 889f2ab48c (svn r9730) -Feature: [NewGRF] Add support for miscellaneous grf feature bit 1 - paved roads on desert tiles. 2007-04-27 21:35:02 +00:00
belugas 5912b08890 (svn r9721) -Codechange: -Codechange: Cleanup of industry_cmd (Step-12). Dynamically build the legends (name and color) for industries in the smallmap_gui.
All the tiny fonts industry names should be removed from language files soon.
2007-04-26 20:20:12 +00:00
peter1138 5b5598b2a6 (svn r9717) -Codechange: (NewGRF) Skip Action 5 & A sprites in all loading stages except activation. 2007-04-26 06:49:32 +00:00
peter1138 a4b3066433 (svn r9701) -Codechange: Add support for returning 'ttdpatch variables' - http://wiki.ttdpatch.net/tiki-index.php?page=ActionDSpecialVariables 2007-04-20 21:19:28 +00:00
peter1138 8e457248a7 (svn r9690) -Codechange: Update another couple of NewGRF TTDPatch flags 2007-04-20 17:23:33 +00:00
peter1138 67529d2e63 (svn r9686) -Codechange: Update a couple of NewGRF TTDPatch flags 2007-04-20 15:03:58 +00:00
rubidium 2dc5589290 (svn r9673) -Cleanup: remove spaces before tabs and replace non-indenting tabs with spaces. 2007-04-18 22:41:53 +00:00
rubidium 80c259f64f (svn r9672) -Cleanup: lots of coding style fixes around operands. 2007-04-18 22:10:36 +00:00
belugas 607a55f4ec (svn r9662) -Documentation: Doxygen corrections and @file omissions 2007-04-17 20:23:13 +00:00
peter1138 2b2cfaeec1 (svn r9655) -Revert (r9094 partial): *Do* calculate refit masks for unavailable vehicle types... things like articulated engines can still build these parts... ... ... dot dot dot 2007-04-17 17:54:31 +00:00
belugas 792339554f (svn r9653) -Codechange: Indicate the proper function names in the GRF messages 2007-04-16 20:56:19 +00:00
peter1138 229eb8cba5 (svn r9646) -Fix (r9645): incorrect count in error message for airport graphics 2007-04-16 08:31:00 +00:00
peter1138 15e112c290 (svn r9645) -Feature: Add NewGRF Action 5 (Sprite Replacement) support for 2cc colour maps, airport, and road stop sprites. 2007-04-16 06:35:10 +00:00
peter1138 49eb9b6fad (svn r9638) -Feature: Increase cargo types from 12 to 32 and enable newcargo flag in NewGRF loader. 2007-04-15 16:20:35 +00:00
peter1138 01ef0284cb (svn r9621) -Codechange: implement newgrf house property 1E (cargo types) 2007-04-13 21:18:48 +00:00
peter1138 69982b1f01 (svn r9601) -Codechange: Store grf file reference in station spec, not just GRF ID 2007-04-11 21:04:03 +00:00
rubidium db91588845 (svn r9560) -Codechange: add support for multiple 'base' directories for newgrf searching.
-Codechange: do not add duplicate files to the newgrf list.
2007-04-04 12:03:10 +00:00
peter1138 f56fbbfed9 (svn r9439) -Codechange: check for valid default cargo type even if a vehicle is not refittable... 2007-03-25 10:43:27 +00:00
peter1138 e74169364c (svn r9438) -Codechange: Map cargo colours from DOS to Windows if necessary. 2007-03-25 08:13:07 +00:00
peter1138 0ceca4140a (svn r9436) -Fix (r9411): don't deactivate GRF in an action 7/9 during reservation (and loading of cargo data), and action 6 should be run also 2007-03-24 23:43:33 +00:00
peter1138 68572f1076 (svn r9418) -Codechange: Implement actions 1/2/3 for cargos, callback handler and custom icon sprites 2007-03-23 20:55:45 +00:00
peter1138 2e32df30dd (svn r9416) -Codechange: Split NewGRF Action 3 handler into separate functions for each feature (vehicles are common, though) 2007-03-23 20:01:25 +00:00
peter1138 85ec21e8c5 (svn r9413) -Codechange: Remove default cargo translation table and use bitnums directly if no table is provided. This lets pre-cargolabel cargo definitions work. 2007-03-23 00:03:08 +00:00
peter1138 4d81a464e2 (svn r9411) -Codechange: Add support for loading of newcargo data. 2007-03-22 23:19:40 +00:00
belugas 06d3669bb5 (svn r9400) -Codechange: Use some more representative enum names for landscape types. 2007-03-22 03:42:43 +00:00
peter1138 d7f56f1550 (svn r9388) -Codechange: variable scope and type, and standardify all CargoID loops. 2007-03-21 13:19:01 +00:00
rubidium a9651a8b8f (svn r9387) -Fix (r9385): termination of a comment forgotten. 2007-03-21 11:50:34 +00:00
belugas dcd510c81f (svn r9385) -Cleanup: doxygen changes. Today, we are exploring the letter N. 2007-03-21 03:06:21 +00:00
maedhros 48f2bf9bb1 (svn r9371) -Feature: Add support for variable snow lines in the arctic climate, supplied
by newgrf files. When this is enabled forests cannot be built below the highest
snow line, and farms can't be built above it. Houses still use the
_opt.snow_line so they are all consistent, so to make them respect the snowline
you may want to use some newhouses features as well.
2007-03-20 13:47:00 +00:00
maedhros 7812f7fd0a (svn r9367) -Fix (r9315): If a new house doesn't have a corresponding action 3, the
graphics for the substitute (original) house should be drawn instead.
2007-03-20 10:06:39 +00:00
belugas b82ed41a19 (svn r9366) -Codechange: Unify the different houses acceptances attributes on their cargo counterpart, as well as specifying cargo slot. 2007-03-20 02:24:14 +00:00
maedhros 73ff939ddb (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
the newhouses grf specs, so all newhouses grfs will be playable in the game.

Many thanks to everyone who contributed code and ideas, and all the testers
who found things we missed.
2007-03-19 11:27:30 +00:00
belugas 6def45089d (svn r9108) -Fix(9093) : MSVC was a bit unhappy with some of the type changes. So basically, widening the types makes the difference 2007-03-11 02:53:44 +00:00
peter1138 1a7d9dd6c0 (svn r9102) -Codechange: (NewGRF) Apply cargo translation table to vehicle refit masks 2007-03-10 16:21:29 +00:00
peter1138 1461e39bb9 (svn r9094) -Codechange: Don't set up refit masks for engine types not in the current climate, and exclude engine types if their cargo type is invalid and they have no refittable type. 2007-03-10 10:08:38 +00:00
peter1138 f662e0f996 (svn r9093) -Codechange: variable scope / type 2007-03-10 09:55:11 +00:00
peter1138 e83e9b9e44 (svn r9092) -Codechange: (NewGRF) (re r8885) Also set cargo type as invalid if the chosen type is not available in the current climate. 2007-03-10 09:23:33 +00:00
rubidium ce919e8c71 (svn r9068) -Codechange: capitalize the VEH_Train etc. enums to match the coding style (and rest of the code). 2007-03-08 16:27:54 +00:00
rubidium 24c4d5b06d (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {}; 2007-03-07 12:11:48 +00:00
rubidium 36bb92ae24 (svn r9050) -Codechange: Foo(void) -> Foo() 2007-03-07 11:47:46 +00:00
maedhros 68020bfa6d (svn r9037) -Feature: [NewGRF] Add support for Action 13, which allows you to translate
grf-specific texts. The translations will only be shown if you're using a
language with a grf language id and if a string hasn't already been set
specifically for the language you're using.
2007-03-06 22:00:13 +00:00
maedhros 1c7df202c6 (svn r9031) -Codechange: Introduce grfconfig->status, and use it for states that are
mutually exclusive. At the same time, add an INITIALISED state which makes it
possible to check if a grf is not yet active but will be later on during the
GLS_ACTIVATION loading stage.
2007-03-06 19:33:28 +00:00
celestar f621608f7d (svn r8973) -Feature/Codechange: Changed the internal unit for aircraft velocities to from 8mph to 1km/h (peter1138), also give aircraft realsitic velocities (so that 1km/h is 1km/h independent of vehicle type) (peter1138). Introduce a flag to reduce aircraft speed in holding patterns to some realistic velocity. Use this flag for the city airport for the time being and make use of the different entry points for this airport type. 2007-03-02 12:01:24 +00:00
rubidium cd8090f3bd (svn r8964) -Codechange: use grf_load_string to read action 8 strings instead of trying to do the same manually. 2007-03-01 23:37:05 +00:00
peter1138 4c4b035175 (svn r8891) -Codechange: Remove remains of global cargo scheme. All cargo mapping is now dealt with only in NewGRF code, on load where possible. 2007-02-24 23:36:40 +00:00
peter1138 29c8142784 (svn r8890) -Codechange: (NewGRF) add cargo translation support to engine var 47 2007-02-24 23:20:21 +00:00
peter1138 5dcd88c59c (svn r8888) -Codechange: Replace hardcoded default cargo bitmasks with a list of cargo labels. 2007-02-24 22:01:18 +00:00
peter1138 a23b4594ed (svn r8886) -Codechange: (NewGRF) Add (partial) cargo translation table support, applied to action 3s only. 2007-02-24 19:36:47 +00:00
peter1138 0cf5ebee79 (svn r8885) -Codechange: (NewGRF) If a default cargo type property is out of range then choose the cargo type from its refit list. 2007-02-24 19:26:45 +00:00
maedhros 8b6350d3a3 (svn r8881) -Feature: Allow built-in newgrf error messages to be translated, and load custom error messages properly. 2007-02-24 16:34:37 +00:00
peter1138 0cf592b17a (svn r8865) -Codechange: (NewGRF) Ignore 1 byte action 0s during safety check 2007-02-23 21:03:57 +00:00
peter1138 6062004960 (svn r8849) -Codechange: Replace hardcoded global/climate cargo mapping tables with dynamically generated data. Change associated code to use new functions. 2007-02-22 22:09:51 +00:00
tron c834320611 (svn r8843) -Fix
-Fix: Off-by-one error in accessing a buffer (if you start at the second byte you have to subtract one from the size)
Also avoid an unnecessary buffer copy and strlcpy() abuse
NOTE: 0.5 candidate
2007-02-22 15:01:38 +00:00
maedhros f2d63dcecf (svn r8838) -Feature: Show newgrf error messages loaded in Action B in the newgrf gui
window. GRFs with an error have a warning symbol shown before the name.
2007-02-21 23:18:08 +00:00
maedhros 9907e496b1 (svn r8831) -Feature: If an action 7/9 leads to skipping the rest of the file, disable the
newgrf if an action 8 hasn't been encountered yet.
2007-02-21 17:54:30 +00:00
maedhros 61fa3909f2 (svn r8830) -Feature: Stop loading and disable the current newgrf if a fatal error message
in Action B is encountered. Also be more strict on the values accepted.
2007-02-21 17:20:44 +00:00
peter1138 ef2daa5060 (svn r8826) -Codechange: Replace _cargoc's separate arrays with a regular struct array (with accessor) and implement new initialization method using cargo labels. 2007-02-20 22:09:21 +00:00
maedhros 6621beb126 (svn r8825) -Fix: Make sure strings read from newgrf files are 0 terminated and 0
terminate them if they aren't, so we don't read beyond the end of the
memory allocated for the line.
2007-02-20 17:52:43 +00:00
maedhros 3c5eb8458a (svn r8792) -Fix (r6623): Don't check whether a string length is 1 when you already know it isn't. 2007-02-17 23:01:42 +00:00
belugas 4d988c3506 (svn r8753) -Regression (r8455): Do not unilateraly decide that this engine is a single-headed. Only do it if it previously had no power and that now there is. Or something... 2007-02-16 01:35:18 +00:00
bjarni 0c8078ae29 (svn r8661) -Fix: [depot windows] Enlarge the blocks in the depot window if a sprite is too big to fit (ships and aircraft only)
-Codechange: depot windows default now makes a 1x1 matrix and resize the window by block size*number of blocks
   This will make less vehicle type specific code and easier to read resizing based on sprite sizes
2007-02-10 13:37:32 +00:00
bjarni 037d636734 (svn r8621) -Codechange: assigned new numbers to the VEH_(type) enum so that 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-02-07 19:10:19 +00:00
peter1138 2e2e19b3d1 (svn r8526) -Codechange: add stubs for unsupported newgrf station properties 2007-02-02 02:56:29 +00:00
peter1138 74c842a3ef (svn r8505) -Codechange: Ensure GRM allocated sprites will be below the original 16384 sprite limit. If not, fail and disable the NewGRF. 2007-02-01 01:40:46 +00:00
peter1138 d838a477e2 (svn r8465) -Regression (r8455): Switching from dual to single head should switch to wagon if power is zero. .Or something. 2007-01-30 22:00:25 +00:00
belugas 0c45071bb0 (svn r8455) -Codechange: Give a more meaningful name (railveh_type)to member flags of RailVehInfo, as well as changing the code to reflect the fact that it was not a flag but rather a one value only variable. Doing so, some evaluations have been simplified.
-Codechange: Add and use RAILVEH_SINGLEHEAD when railveh_type is set to 0, which was implicit before.
-Cleanup: Remove some extraneous parenthesis.
2007-01-30 11:53:35 +00:00
Darkvater 08c21c0c61 (svn r8429) -Codechange: Add a name for AircraftVehicleInfo subtype helicopter and remove some magic numbers related to the subtype. 2007-01-27 12:45:55 +00:00
tron bc523186e0 (svn r8314) -Fix
-Codechange: Move the railtype from EngineInfo to RailVehicleInfo, because having a railtype for non-rail vehicles isn't that useful
2007-01-21 16:08:18 +00:00
peter1138 92d418b031 (svn r8128) -Codechange: Split sprite and palette remap into separate 32 bit 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 19:57:49 +00:00
maedhros 4ae861880b (svn r8075) -Feature: Add support for variable 7E - subroutines. (peter1138) 2007-01-12 11:20:34 +00:00
KUDr 33be1ecfb1 (svn r8066) - Codechange: MallocT(), CallocT(), ReallocT() now return the pointer to allocated memory instead of modifying the pointer given as parameter 2007-01-11 17:29:39 +00:00
Darkvater 0cb2bc2b23 (svn r8044) Regression (r8038): Crash on allocating bridge memory (peter1138) 2007-01-10 21:44:59 +00:00
peter1138 ae0a92b51a (svn r8041) -Regression (r7564): [NewGRF] check_length should skip further processing if a length is too short, so give the function a return value 2007-01-10 19:20:25 +00:00
rubidium f35ed4bbc2 (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b. 2007-01-10 18:56:51 +00:00
KUDr e373ea7096 (svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp) 2007-01-10 18:12:09 +00:00
Renamed from src/newgrf.c (Browse further)