Commit Graph

274 Commits

Author SHA1 Message Date
tron
c1dc517dab (svn r4554) Replace magic numbers by TILE_{HEIGHT,SIZE} 2006-04-23 19:35:36 +00:00
peter1138
14b6860e62 (svn r4546) - NewGRF: add support for Action 0x05, type 0x04: replacement signal graphics. Thanks to Purno for supplying data to test
with.
2006-04-23 15:57:34 +00:00
tron
0347fb2ab6 (svn r4541) Add a type for slopes and replace many magic numbers by the appropriate enums 2006-04-23 13:48:16 +00:00
celestar
6935fb6455 (svn r4461) -Codechange: Add and make use of map accessor functions for signal drawing. Includes some basic cleanup of the drawing functions 2006-04-17 19:09:30 +00:00
Darkvater
7456c6e6ed (svn r4440) - Fix: Yoyo-effect of rail in desert/snow introduced by r4379. When a special groundtype below the track is encountered in the tileloop, always return even if groundtype hasn't changed. 2006-04-15 22:16:47 +00:00
peter1138
4118b66322 (svn r4415) Fix bug introduced in r4384 where drawing a default waypoint for the GUI
caused a game crash. This only manifested with some newstations loaded. 
Thanks to Richk67 for finding this.
2006-04-14 16:28:24 +00:00
celestar
b03bd97b47 (svn r4386) -Codechange: Add and make use of IsCustomWaypoint 2006-04-12 13:25:32 +00:00
celestar
bdcb4bbf1d (svn r4384) -Codechange: rail drawing code
-Added a function to obtain the axis of a waypoint
    -Moved the waypoint layout tables from the depot layout tables into an own one
    -Use GetRailTileSubtype
2006-04-12 12:50:40 +00:00
peter1138
f733f94677 (svn r4383) - Codechange: Remove extraneous code from 4354; no need to get RailTypeInfo when we already have it... 2006-04-12 12:33:21 +00:00
celestar
5b33383f65 (svn r4382) -Codechange: Make use of SetSignalType where appropriate 2006-04-12 12:24:39 +00:00
celestar
0b16a2d41b (svn r4381) -Codechange: Forgot an occurence for rail ground types 2006-04-12 12:22:43 +00:00
celestar
c08ed855f3 (svn r4380) -Codechange: Make use of GetTrackBits where appropriate 2006-04-12 12:12:51 +00:00
celestar
ee7eaef29d (svn r4379) -Codechange: Add and make use of map accessor functions concerning rail ground types 2006-04-12 11:58:07 +00:00
celestar
923a0e60d6 (svn r4378) -Add and make use of an accessor function two-way => one-way => one-way => two-way signal cycling 2006-04-12 09:36:27 +00:00
celestar
5ae9a03a1f (svn r4377) -Add and make use of a function that finds out whether a signal is an entry or and exit signal to a presignal block (as combos act as both) 2006-04-12 09:12:33 +00:00
celestar
e79c36bf8c (svn r4376) -Codechange Renamed GetSignalState to GetSignalStateByTrackdir 2006-04-12 08:28:03 +00:00
celestar
a8d4285ec2 (svn r4375) -Codechange: Move the signal drawing bit to an own function and rename DrawSignalHelper to DrawSingleSignal 2006-04-12 08:06:08 +00:00
celestar
24fcd110b2 (svn r4358) -Codechange: Don't use a TileInfo where a TileIndex will do 2006-04-11 13:19:05 +00:00
celestar
dfad91e317 (svn r4357) -Codechange: Moved global _signal_base_sprites into the only function where it is used and use a better array arrangement for it 2006-04-11 13:10:16 +00:00
peter1138
5f24141cb8 (svn r4354) [Elrail][NewGRF] Codechange: Drawing of custom waypoints with custom ground sprites used the index of the rail type as an offset. With the introduction of elrails this offset is incorrect, so instead there is now a lookup table within the RailTypeInfo struct to explicitly list the offset. 2006-04-11 10:45:06 +00:00
celestar
da428dca70 (svn r4353) Codechange: Move global _signal_position into the only function that uses it and convert the bit-hacking into a struct 2006-04-11 10:19:50 +00:00
tron
7a3345f4df (svn r4344) Use tile coordinates or even TileIndices instead of virtual tile coordinates where it suffices. 2006-04-10 12:36:04 +00:00
tron
81e6d68f95 (svn r4342) Change the first two parameters of commands - virtual pixel coordinates of the tile to operate on - to a TileIndex
Remove DoCommandByTile(), because now it does the same as DoCommand()
2006-04-10 07:15:58 +00:00
celestar
7246cab5ee (svn r4337) -Fix: A problem where GetRailType was called instead of GetRailTileType. Thanks to glx for noticing 2006-04-09 17:50:00 +00:00
tron
8111eca43e (svn r4332) Turn a table lookup into a ternary operator 2006-04-09 09:29:50 +00:00
Darkvater
fc68881906 (svn r4265) - Fix: compile warning on VS2005 (parameter 2 different from declaration) 2006-04-03 18:11:42 +00:00
tron
892a4c587d (svn r4242) Pass TileIndex and slope to GetSlopeTileh_*() instead of TileInfo 2006-04-02 12:49:18 +00:00
belugas
80570009dd (svn r4181) CodeChange : Replaced [G/S]etMapExtraBits by [G/S]etTropicZone. Although it was an accessor, nor his usage nor the values were clear. 2006-03-30 19:16:44 +00:00
belugas
00cdf24057 (svn r4156) CodeChange : Little cleanup after Celestar's elrail merge 2006-03-29 20:06:31 +00:00
celestar
a7d8ad0004 (svn r4150) -Feature: Merged elrails into trunk. Thanks to Tron for lots of code and proofreading, thanks to peter1138 for another lot of code and ideas. 2006-03-29 16:30:26 +00:00
tron
9ad72f2d47 (svn r4111) Fix/Remove some stale comments 2006-03-26 11:08:44 +00:00
tron
88d27219b4 (svn r4085) Add GetTown{Index,ByTile}() to get the town index resp. the town from a tile 2006-03-24 12:00:24 +00:00
tron
5701e1a237 (svn r4000) Rewrite GetSlope{Tileh,Z}_{Road,Track} in a less confusing way 2006-03-21 22:06:32 +00:00
peter1138
6d327f9daf (svn r3998) - Fix: When removing rail track from a while where only X and Y (/ and \) pieces exist, explicitly update signals in both directions. 2006-03-21 21:11:41 +00:00
celestar
fc32e20195 (svn r3992) -Fix: Rewrote the code to determine whether a rail-tile can be terraformed.
Fixes a bug where you could terraform a tunnel (fixed by r3228, but reverted that one)
Fixes a bug introduced by r3228 which allowed steep rail tiles resulting in ... unwanted effects such as display artifacts.
That means the terraform feature should not work as intended; it also uses _valid_tileh_slopes to determine valid configurations instead of hand-brewn stuff.
TODO: _terraform_err_tile and similar TileIndices should have INVALID_TILE as "unused", not 0. (0 is a valid tile).
2006-03-20 16:43:48 +00:00
tron
0a91b283d6 (svn r3988) Remove the info about valid rails on shore tiles. It's the same as for any other sloped tile 2006-03-19 19:56:57 +00:00
tron
75a9419f04 (svn r3986) Add [GS]etCrossingRoadOwner 2006-03-19 19:33:19 +00:00
tron
9f3aa9057d (svn r3985) Make CmdBuildSingleRail() a bit more comprehensible 2006-03-19 17:52:02 +00:00
tron
7b21893adb (svn r3983) Use existing functions to access tree and road info 2006-03-19 16:57:48 +00:00
tron
85da306049 (svn r3982) Fix last commit. I got confused by some strange test, which did nothing 2006-03-19 14:43:23 +00:00
tron
4b74fa1923 (svn r3981) More work for the rail accessing functions and enums 2006-03-19 13:48:08 +00:00
tron
77e5cf4bc1 (svn r3979) Move GetRailFoundation() to rail_map.h and use it and friends to get information about rail tiles 2006-03-19 12:06:12 +00:00
tron
a04e2aaa25 (svn r3976) Fix typo in r3946 2006-03-19 06:50:19 +00:00
tron
d8dcedcfd2 (svn r3946) Add short hand names for common track combinations 2006-03-18 13:20:50 +00:00
tron
344dde6eb3 (svn r3942) GetRailType() != GetRailTileType(), fix r3941 2006-03-18 11:38:43 +00:00
tron
d00222b0f7 (svn r3941) Get rid of RAIL_TYPE_SPECIAL 2006-03-18 09:06:07 +00:00
tron
89090790c2 (svn r3916) Get/Set the rail type by [GS]etRailType{Crossing,OnBridge,}() 2006-03-17 10:10:31 +00:00
tron
41ee22ed99 (svn r3912) Move the signal type enum and GetSignalType() to rail_map.h; also add SetSignalType() and use the functions 2006-03-17 06:26:37 +00:00
tron
2232412f59 (svn r3911) Add functions to retrieve/set the signal variant (electric/semaphore) 2006-03-16 21:44:58 +00:00
tron
b8da06ddb1 (svn r3907) Replace many bridge related direct map accesses with calls to shiny new functions and mark some strange constructs with XXX 2006-03-16 15:16:27 +00:00
Darkvater
748d082a79 (svn r3893) - Fix: Properly set back the owner of a crossing/road-under bridge after removing it. For crossings we can always use .m2 because it is already 0 when not owned by a town. 2006-03-15 21:27:19 +00:00
Darkvater
decf3c42f8 (svn r3876) - Fix: We know on a level crossing's town owner of the road (if any); it is in m2 so properly set it back when the crossing's removed. 2006-03-14 23:28:04 +00:00
tron
5d939d9c10 (svn r3851) Rail depots only have an entrance at one side, therefore use UpdateSignalsOnSegment() instead of SetSignalsOnBothDir() 2006-03-13 20:12:35 +00:00
tron
e8ccd9641f (svn r3846) Add functions to set the type of stuff (clear, water, rail, road) under bridges 2006-03-13 12:55:20 +00:00
tron
12d252d9bd (svn r3831) Add and use GetRailDepotDirection() 2006-03-12 16:13:16 +00:00
tron
78083f0da7 (svn r3830) Move IsTunnelTile() from tile.h to tunnel_map.h and add IsTunnel(), which just checks for a tunnel, but not the tile type as IsTunnelTile() does 2006-03-12 15:04:03 +00:00
tron
78a7b15ce0 (svn r3803) Change the second parameter of UpdateSignalsOnSegment() from Direction to DiagDirection as that's what it really operates on 2006-03-09 12:32:25 +00:00
tron
fbe939b31f (svn r3783) Replace further ints and magic numbers by Direction, DiagDirection and friends 2006-03-08 06:55:33 +00:00
tron
f2dc736554 (svn r3777) Add some functions to handle tunnels 2006-03-06 20:55:24 +00:00
tron
2d3c28f2b3 (svn r3776) Replace many ints and magic numbers by Direction, DiagDirection and friends 2006-03-06 20:28:28 +00:00
tron
cc4f5b4e6f (svn r3763) Adapt to the new 'map accessors go in foo_map.h'-scheme 2006-03-05 10:19:33 +00:00
tron
d49ad36ed8 (svn r3760) Replace some magic numbers for checking for a suitable slope for a level crossing by some less magic numbers. Quite similar to r3699, though this time for placing the rails 2006-03-04 13:52:52 +00:00
tron
3fc68907e3 (svn r3698) Add GetCrossingRailBits() and ComplementRoadBits(). Simplify the code by using them 2006-03-01 12:31:39 +00:00
tron
793613a286 (svn r3697) Rename DIAG1/DIAG2 to X resp. Y as this conveys a bit better in which direction a pieces of rail goes 2006-03-01 09:40:34 +00:00
tron
b404072ccc (svn r3696) Add functions to turn a tile into a normal rail tile/depot/waypoint. This is just a tiny step, the rail code needs way more love and caring 2006-03-01 08:56:38 +00:00
tron
0d044cabca (svn r3689) Add functions to turn a tile into either a normal road tile, a level crossing or a road depot 2006-02-28 21:19:50 +00:00
tron
6a74cb2787 (svn r3660) Convert further road bits and type references to the functions/enums 2006-02-23 12:24:19 +00:00
tron
df156dacb2 (svn r3658) Add functions and symbolic names to retrieve road tile types and road pieces 2006-02-23 08:20:28 +00:00
tron
ea73b46684 (svn r3597) Miscellaneous (I like that word) changes: Fix some indentation, add consts, reduce indentation level by short-circuit logic, convert if cascades to switch, whitespace, bracing, plus some minor stuff 2006-02-13 21:15:00 +00:00
tron
453b30e387 (svn r3564) Several smaller changes:
- Don't treat non-booleans as booleans
- Reduce variable scope
- Bracing
- Use DeMorgan's law to make conditionals easier to read
- if cascade -> switch
- Replace some magic numbers by symbolic names
- Avoid assignments within other statements
2006-02-06 09:18:04 +00:00
tron
84fb96fe85 (svn r3511) More whitespace ([FS#46] by Rubidium) 2006-02-01 07:36:15 +00:00
tron
22dc05faf2 (svn r3510) Fiddle with whitespace and parentheses 2006-02-01 06:32:03 +00:00
tron
5e1e902600 (svn r3490) -Fix: A bunch (10) of off-by-one errors when checking if a TileIndex points to a tile on the map 2006-01-30 17:18:45 +00:00
Darkvater
4e09974975 (svn r3472) - [PBS] Remove from trunk. Anyone interested can still find it in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron)
- The only change is that the nsignalsw.grf file is kept and that existing nightlies with PBS signals get those signals converted to combo-signals.
2006-01-29 18:57:26 +00:00
Darkvater
f4e7d3203a (svn r3466) - Codechange: Some changes to increase readability of signals code. 2006-01-29 10:50:27 +00:00
tron
de34ab97a2 (svn r3389) -Fix: No fence was placed when placing fences and the neighbouring tile is a rail configuration which permits a fence but has a signal
(Per request of peter1138 the above line does not contain any commas)
2006-01-07 17:26:37 +00:00
tron
18de531671 (svn r3387) Restructure the code, which places fences along railroad tracks.
This includes no functional changes, just some cleanup before some bugfix
2006-01-07 16:30:49 +00:00
matthijs
08a3e346cd (svn r3369) - Codechange: Replace tables _signals_table, _signals_table_other and _signals_table_both by the equivalent calls to rail.h functions.
- Codechange: Add a few constants.
2006-01-06 00:08:00 +00:00
tron
e272b03fee (svn r3365) Staticise 36 functions 2006-01-05 12:40:50 +00:00
tron
bf98086de8 (svn r3298) Remove unused and write-only variables 2005-12-14 06:28:48 +00:00
tron
23bfc03054 (svn r3297) Staticise 2005-12-14 06:20:23 +00:00
peter1138
809b03c81a (svn r3282) - Codechange: Replace tests against CMD_ERROR with CmdFailed() 2005-12-10 12:05:39 +00:00
peter1138
754d26407e (svn r3212) - Waypoints/Depots: Store waypoint index in m2 for waypoints. 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 22:20:15 +00:00
truelight
c1b012171d (svn r3210) -Codechange: use IsRailWaypoint where possible (instead of magicnumbers)
-Codechange: IsRailWaypoint should take 'tile', not 'm5'
2005-11-16 14:41:01 +00:00
peter1138
b739674307 (svn r3209) In TileLoop_Track(), use names based on function rather than their place in the map array. 2005-11-16 14:30:24 +00:00
tron
24f857ed5e (svn r3187) Simplify overly complicated ifs, especially if (foo) return false; else return true; is confusing 2005-11-15 09:47:25 +00:00
tron
1b0091e0d2 (svn r3184) GB/SB 2005-11-15 08:49:46 +00:00
tron
f7abff5f96 (svn r3181) -Bracing
-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-14 19:48:04 +00:00
tron
4a14a586e2 (svn r3173) Use the trinary operator and switch to improve readability
Also align short cases nicely
2005-11-13 14:54:09 +00:00
peter1138
a7fe1495cd (svn r3168) - NewGRF: Fix "typo" in waypoint drawer :/ 2005-11-12 00:29:13 +00:00
peter1138
b1075ca7a4 (svn r3166) Constify read-only accesses of custom stations 2005-11-11 20:34:16 +00:00
peter1138
49335b4daa (svn r3141) Replace incorrect railtype bitmask in CmdRailTrackHelper with appropriate GB() 2005-11-05 18:21:28 +00:00
tron
47137cefb7 (svn r3078) Some more stuff, which piled up:
- 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-23 13:04:44 +00:00
tron
2cc2154ad2 (svn r3077) static, const, bracing, indentation, 0 -> '\0'/NULL, typos in comments, excess empty lines, minor other changes
nothing spectacular, just some stuff, which piled up
2005-10-22 06:39:32 +00:00
tron
2b91f55b32 (svn r3073) int/byte -> EngineID/PlayerID/VehicleID
0/-1 -> INVALID_ENGINE
0x10 -> OWNER_NONE
2005-10-20 17:43:13 +00:00
tron
ece9b9b2b6 (svn r3066) Constify the parameter of GetSlopeZ_*() 2005-10-19 14:49:46 +00:00
tron
66bf4f863d (svn r3049) Replace byte/int/uint by RailType where appropriate 2005-10-16 09:13:04 +00:00
tron
76db75d81a (svn r3028) s/255/OWNER_SPECTATOR/ 2005-10-10 10:36:37 +00:00
Darkvater
9134e19d7e (svn r3025) -Fix: Rail convert issue introduced in r3019 2005-10-07 15:53:33 +00:00
tron
ae4a1f3675 (svn r3019) -Codechange: Replace explicit shifting/anding/oring with GB and SB 2005-10-05 07:20:26 +00:00