summaryrefslogtreecommitdiff
path: root/rail_cmd.c
AgeCommit message (Collapse)Author
2005-11-16(svn r3212) - Waypoints/Depots: Store waypoint index in m2 for waypoints. ↵peter1138
This moves the ground type bits from m2 to m4 for waypoints and depots (leaving room for depot index in m2 in future), and moves the custom graphics ID to the waypoint struct. - Waypoints: Until now stat_id was saved but never assigned to. Instead we now save the GRFID/local index of the custom graphics so that GRF file changes can leave graphics intact.
2005-11-16(svn r3210) -Codechange: use IsRailWaypoint where possible (instead of ↵truelight
magicnumbers) -Codechange: IsRailWaypoint should take 'tile', not 'm5'
2005-11-16(svn r3209) In TileLoop_Track(), use names based on function rather than ↵peter1138
their place in the map array.
2005-11-15(svn r3187) Simplify overly complicated ifs, especially if (foo) return ↵tron
false; else return true; is confusing
2005-11-15(svn r3184) GB/SBtron
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-13(svn r3173) Use the trinary operator and switch to improve readabilitytron
Also align short cases nicely
2005-11-12(svn r3168) - NewGRF: Fix "typo" in waypoint drawer :/peter1138
2005-11-11(svn r3166) Constify read-only accesses of custom stationspeter1138
2005-11-05(svn r3141) Replace incorrect railtype bitmask in CmdRailTrackHelper with ↵peter1138
appropriate GB()
2005-10-23(svn r3078) Some more stuff, which piled up:tron
- const, whitespace, indentation, bracing, GB/SB, pointless casts - use the trinary operator where appropriate - data types (uint[] -> AcceptedCargo, ...) - if cascade -> switch - if (ptr) -> if (ptr != NULL) - DeMorgan's Law - Fix some comments - 0 -> '\0', change magic numbers to symbolic constants
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-20(svn r3073) int/byte -> EngineID/PlayerID/VehicleIDtron
0/-1 -> INVALID_ENGINE 0x10 -> OWNER_NONE
2005-10-19(svn r3066) Constify the parameter of GetSlopeZ_*()tron
2005-10-16(svn r3049) Replace byte/int/uint by RailType where appropriatetron
2005-10-10(svn r3028) s/255/OWNER_SPECTATOR/tron
2005-10-07(svn r3025) -Fix: Rail convert issue introduced in r3019Darkvater
2005-10-05(svn r3019) -Codechange: Replace explicit shifting/anding/oring with GB and SBtron
2005-09-29(svn r2998) -Codechange: Split rail drawing code off from DrawTile_Rail into ↵peter1138
a separate function to be used elsewhere. (Deja vu?)
2005-09-18(svn r2962) - const correctness for all Get* functions and most Draw* ↵Darkvater
functions that don't change their pointer parameters - change a lot of byte player types to PlayerID - beautify header files, same "#endif /* filename */" ending
2005-09-14(svn r2951) - Fix: [ 1259345 ] Changing engine in netgame opens train window ↵Darkvater
for everyone - Add IsLocalPlayer() which substitutes _local_player == _current_player
2005-09-13(svn r2948) -Fix: the old AI needs a special flag that triggers all kind of ↵truelight
special abilities you really don't want to know about (free bridges, etc..) I removed this flag some revisions ago, but the Aircraft part depends on it, so I re-enabled it again..
2005-08-25(svn r2890) Fix some signed/unsigned comparison warnings (tokai)tron
2005-08-01(svn r2781) Fix some of the issues with variables in .h files.ludde
2005-07-31(svn r2774) -Codechange: Removed TRACKTYPE_SPRITE_PITCH globally and ↵celestar
replaced it by a member of RailtypeInfo
2005-07-29(svn r2756) Renamed railtypes into _railtypesludde
Renamed railtypes.c into railtypes.h, all other tables are in .h files. (It should be in the tables dir but I couldn't figure out how to get it there without deleting it first). Added const and extern.
2005-07-29(svn r2753) -Codechange: Introduced a new struct "RailtypeInfo" to store ↵celestar
rail type specific information. Begun populating it with a bunch of sprites, more to come later. This should result in cleaner, more compact code which allows easy introduction of new railtypes.
2005-07-24(svn r2702) -Codechange: Cleaned up the sprite code and replaced many magic ↵celestar
numbers by enums. There remains work in gfx.c to move the "transparency" and "recolor" bits around to make space for more sprites. However, 2800 additional sprites can now be loaded. There also remains cleanup and Doxygen work on many of the header files.
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-20(svn r2658) -Codechange: Use MAKE_TRANSPARENT to display a transparented spritecelestar
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-07-17(svn r2621) - Fix: [pbs] When removing tracks, clear their reserved status. hackykid
2005-07-16(svn r2595) -Codechange: Introduced "IsSteepTileh" to find whether a tile is ↵celestar
steep (i.e. spans two height levels) and use it throughout the code. -Codechange: Add CanBuildDepotByTileh to find if a tile is suitable to build a depot on it. Wraps some bitmagic which seems quite unreadable at first glance
2005-07-13(svn r2558) Change the internal map format from 7 arrays to one array of ↵tron
structs, this doesn't change the saved format for now. It's a stepping stone for further changes.
2005-07-07(svn r2529) - Fix: PBS signals showed up as normal signals with the query toolDarkvater
- Update landscape_grid.html to show busy bits used by PBS.
2005-07-04(svn r2516) - Feature: [pbs] Implement path-based-signalling. This allows ↵hackykid
multiple trains within the same signal block, provided their paths dont intersect. For this the block must have all exit and entry signals be pbs signals. Place these by ctrl-clicking 4 times on a normal signal. - Feature: [pbs] Implement autoplacement of pbs blocks, when a block has an entry and an exit pbs signal, covert the entire block to pbs. Can be turned off in the patch settings. - Feature: [pbs] Allow showing of reserved status by making the tracks darker, when the pbs debug level is at least 1.
2005-07-04(svn r2515) -Codechange: Removed a good deal of magic sprite numbers in the ↵celestar
rail drawing code, and placed neatly into arrays and enums. This also makes way to implement more railtypes without having to do tons of ugly hacks.
2005-07-01(svn r2505) Remove some unnecessary #includestron
2005-06-30(svn r2499) -Codechange: Moved the semaphore bit from bit 2 to bit 3 in ↵celestar
_map_hi for rails, in order to make way for pbs
2005-06-27(svn r2492) Remove some pointless casts and fix some nearby indentationtron
2005-06-25(svn r2487) Replace TILE_XY by TileXY/TileDiffXYtron
2005-06-25(svn r2486) Turn TILE_FROM_XY into an inline function and rename it to ↵tron
TileVirtXY
2005-06-24(svn r2483) Replace almost 500 "uint tile" (and variants) with "TileIndex tile"tron
2005-06-21(svn r2469) - Add: When removing tracks with the 'remove' tool, have it ↵hackykid
automatically remove signals on the tracks.
2005-06-19(svn r2460) - Fix: Prevent assertion failure when trying to drag signals ↵hackykid
starting from a non-rail tile. - CodeChange: Remove unused variable in CmdSignalTrackHelper.
2005-06-17(svn r2452) Fix defect in r2448 which caused building tracks unexpectedly ↵tron
fail or succeed
2005-06-16(svn r2448) General cleanup of rail related code, more to follow.matthijs
* Add: rail.[ch] for rail-related enums and wrapper functions. * Codechange: Removed dozens of magic numbers with below enums. * Codechange: Rewrote CheckTrackCombination(). * Add: TILE_SIZE, TILE_PIXELS and TILE_HEIGHT constants. * Add: enums RailTileType, RailTileSubtype, SignalType to mask against the map arrays. * Add: enums Track, TrackBits, Trackdir, TrackdirBits for railway track data. (Note that the old RAIL_BIT constants are replaced by TRACK_BIT ones). * Add: enums Direction and DiagDirection * Codechange: Moved a bunch of track(dir) related lookup arrays from npf.[ch] to rail.[ch]. * Codechange: move RailType enum from tile.h to rail.h. * Add: Wrapper functions for masking signal status in the map arrays: SignalAlongTrackdir, SignalAgainstTrackdir and SignalOnTrack. * Add: Wrapper functions to access rail tiles, using above enums * Add: Wrapper functions to modify tracks, trackdirs, directions, etc. * Add: Wrapper functions for all lookup arrays in rail.[ch] (Arrays are still used in parts of the code) * Codechange: Renamed some variables and arguments to better represent what they contain (railbit -> track, bits -> trackdirbits, etc.). * Codechange: Don't use FindLandscapeHeight() in CmdRemoveSingleRail(), since it returns way too much info. Use GetTileSlope() instead. * Codechange: [NPF] Removed some unused globals and code from npf.c.
2005-06-08(svn r2434) Fix some defects in r2433tron
2005-06-07(svn r2433) - CodeChange: unmagicify all road/train crossings with ↵Darkvater
IsLevelCrossing() function (peter1138)