summaryrefslogtreecommitdiff
path: root/engine.c
AgeCommit message (Collapse)Author
2006-04-18(svn r4471) - Pools: Add a facility for calling a custom function during ↵peter1138
pool block clean up.
2006-04-10(svn r4342) Change the first two parameters of commands - virtual pixel ↵tron
coordinates of the tile to operate on - to a TileIndex Remove DoCommandByTile(), because now it does the same as DoCommand()
2006-03-16(svn r3895) - Add proper SLE(G)_CONDNULL macros for the empty space ↵Darkvater
reservation in savegames and update where used - Also add this capability to settings
2006-02-20(svn r3627) - Change all hardcoded 255 max-saveload versions with the define ↵Darkvater
SL_MAX_VERSION
2006-02-06(svn r3565) - Fix: On loading a game, GetPlayerRailtypes() didn't account ↵peter1138
for the fact that vehicles are introduced a year after their introduction date. This will also relieve possible (rare) network desyncs.
2006-02-03(svn r3524) - Split newgrf features from engine.[ch] into ↵peter1138
newgrf_engine.[ch], and add the new files to project files.
2006-02-01(svn r3510) Fiddle with whitespace and parenthesestron
2006-01-24(svn r3423) - NewGRF: Update the base_intro age at which an engine will have ↵peter1138
a randomized intro date, as per (the now updated) spec.
2006-01-19(svn r3410) - NewGRF fix: Only add a random number of days to an engine's ↵peter1138
base introduction date if that date is not 0.
2006-01-12(svn r3396) - Autoreplace changes:peter1138
- Change fixed array per player to a single pool. This avoids future problems with vehicle numbers and decreases savegame size. Engine replacements from previous savegames will be lost. - Move engine replacement code from players.c to engine.c. (thanks to blathijs for rewriting this)
2006-01-06(svn r3378) - NewGRF Fix: Use order status to determine whether a vehicle is ↵peter1138
loading instead of speed, and get that state from first vehicle in a train consist.
2006-01-05(svn r3365) Staticise 36 functionstron
2005-12-18(svn r3316) - NewGRF: Unload engine names before loading grf files. This ↵peter1138
fixes names in climates where the engines don't get loaded. Renamed function to reflect its purpose.
2005-12-15(svn r3308) BADtron
foo.h: int bar; GOOD foo.h: extern int bar; foo.c: int bar;
2005-12-02(svn r3252) - NewGRF: Map new train subtypes to old types for rail vehicles.peter1138
2005-11-14(svn r3181) -Bracingtron
-Indentation -Whitespace -DeMorgan's Law -Test with NULL or 0 for non-booleans -'\0' instead of 0 for chars -Remove redundantly redundant comments (like DoFoo(); // Do foo) -Join multiple short lines with a single statement -Split single lines with multiple statements -Avoid assignments in if
2005-11-06(svn r3148) -NewGRF, Feature: Add support for cargo refitting specification ↵peter1138
by cargo classes.
2005-11-05(svn r3139) -NewGRF, Feature: support for articulated rail vehicles. This is ↵peter1138
used, for example, by coal tenders.
2005-11-03(svn r3126) Autoreplace: Only the first vehicle in a chain should be marked ↵peter1138
as entering a depot, so call moved out of DoVehicleTrigger loop.
2005-10-31(svn r3111) -Fix: [autoreplace] [ 1341783 ] Assertion failure in vehicle.c ↵bjarni
line 378 running MaybeReplaceVehicle() is now delayed until after the loop in CallVehicleTicks() This avoids selling the vehicle the loop currently works with (and continues to work with afterwards)
2005-10-22(svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in ↵tron
comments, excess empty lines, minor other changes nothing spectacular, just some stuff, which piled up
2005-10-18(svn r3059) Use bitfields to encode railtype and climates of engines instead ↵tron
of manual shifting/anding
2005-10-04(svn r3017) -NewGRF: Implement sprite group unreferencing and unloading.peter1138
2005-10-04(svn r3016) -NewGRF: Implement the start of reference counting for sprite ↵peter1138
groups. This will allow unloading.
2005-10-04(svn r3015) -NewGRF: Add a new sprite group result type, and support loading ↵peter1138
of callbacks results within random and "real" groups. (Not fully supported yet.)
2005-10-04(svn r3014) -NewGRF, Codechange: Make all sprite group references be ↵peter1138
pointers instead of copying the data around.
2005-10-01(svn r3003) Change int, uint, uin16 and byte to EngineID where appropriate, ↵tron
plus some related changes (mostly casts)
2005-09-28(svn r2995) Replace 0xFF/0xFFFF with ↵tron
CT_INVALID/OWNER_SPECTATOR/INVALID_STATION where appropriate
2005-07-30(svn r2762) Simplify a loop, remove an unused variable and add many conststron
2005-07-26(svn r2720) Remove unused declarations and definitionstron
2005-07-26(svn r2717) Move _userstring to strings.[ch]tron
2005-07-24(svn r2701) Insert Id tags into all source filestron
2005-07-22(svn r2673) Include functions.h directly, not globally via openttd.htron
2005-07-21(svn r2669) Shuffle some more stuff around to reduce dependenciestron
2005-07-20(svn r2657) -Codechange: The available railtypes per player are now a ↵celestar
bitmask, so that railtypes do not be in ascending order of appearance. Allows easier implementation or more railtypes
2005-07-20(svn r2650) Convert many explicit shifts+ands to extract bits to invocations ↵tron
of GB - should be a bit nicer to read
2005-06-27(svn r2494) - Fix: [newgrf] Dont assume a spriteset can only have 4 or 8 ↵hackykid
sprites.
2005-06-21(svn r2468) -Codechange: Got rid of DEREF_PLAYER and replaced it by GetPlayercelestar
2005-06-07(svn r2432) Use GetEngine() instead of DEREF_ENGINE() or even _engines[]tron
2005-06-06(svn r2414) - Feature: [newgrf] Implement powered wagons, and the callback ↵hackykid
that goes with it.
2005-06-05(svn r2410) - Fix: [newgrf] When resolving callbacks, dont ignore wagon ↵hackykid
overrides.
2005-06-02(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.Darkvater
2005-06-01(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf ↵hackykid
callbacks. - Feature: [newgrf] Implement the 'refit capacity' callback.
2005-05-30(svn r2387) - CodeChange: made the saveload code more readable and also ↵Darkvater
removed the 'byte' saveload arrays which means you can save an array of more than 255 elements, or bigger structs than 255 bytes. This doesn't yet solve the problem that a chunk can be a maximum of 16384 big. - Fix: also fix an unnoticed error in SlSaveLoadConv() due to wrong types.
2005-05-22(svn r2361) - Feature: [newgrf] Implement varaction2 property 0x41 and ↵hackykid
0xDA. These are the position in and length of chain of consecutive vehicles with the same type, and index of the next wagon in the chain (INVALID_VEHICLE if last), resp. Improves displaying of some engines in the dbsetxl.
2005-05-17(svn r2345) - Fix: Don't allow stuff to be renamed to nothing if we don't ↵Darkvater
support it. Only valid ones are signs (delete) and waypoints (rename to default).
2005-05-15(svn r2324) Introduce _cmd_text for passing strings with a command instead ↵tron
of abusing _decode_parameters as text buffer. This should prevent several possible buffer overruns and is a bit cleaner to use. As bonus it reduces the size of most command packets by 79 bytes.
2005-05-14(svn r2306) - CodeChange: Check the last commands; refits. This needed an ↵Darkvater
extensive rewrite and global/local-cargo ID juggling and bitmasking. However with this done it looks better as well and is compatible with newgrf handling. Big thanks to HackyKid for doing most of the work. This also closes patch "[ 1199277 ] Command checks"
2005-05-11(svn r2290) - CodeChange: protect the next batch of commands. This brings us ↵Darkvater
to a total of 61, which is 53% :) - CodeChange: To correctly accept engine-prototypes, the best-player checking has been moved to its own function, I hope it functions the same as before. - CodeChange: Added symbolic types of PlayerID, OrderID and EngineID. For engines also added GetEngine() and IsEngineIndex(), similar to the other such functions. - CodeChange: To correctly build industries, some tables have been moved to build_industry.h. The only way to find out currently if an industry is valid in a climate is by looping all industries and checking if it matches. Also to comply with the patch setting build_rawmaterial_industries, it is assumed that these industries do not accept any cargo of any type. This can and probably should changed in the future to some flag in their struct. Also use _opt_ptr instead of _opt. - CodeChange: implemented the HQ checking code inspired by MarkR2 in "[ 1190944 ] Many commands not checked for security". Unfortunately it is impossible to prevent only deleting a HQ by a modified client atm. - CodeChange: For insert order and modify order their parameters are implicitely truncated to 8 bits, instead of the 16 bits said in the comments.
2005-03-25(svn r2064) - Codechange: GetVehicleSpriteGroup() cleanup - drop ↵pasky
overriding_engine, which was around probably only for historical reasons. (Paralellily developed by HackyKid.)