Commit Graph

245 Commits (7f1bf45c03bc26c993f0535ab329ee071ed0ce2a)

Author SHA1 Message Date
rubidium 6898a76c5f (svn r13719) -Codechange: rename IsValidPlayer to IsValidPlayerID in line with all other structs/classes that are in a pool. 16 years ago
smatz fdc4d1922d (svn r13626) -Fix (r11871): signals were not updated when player removed signals from nonexistent track sharing bits with existing track
So disallow removing signals from nonexistent track
16 years ago
smatz 811ae0ac3f (svn r13565) -Change [FS#2077]: when invisibility is set, sprite sequences are now drawn until first non-opaque sprite is found (bit 14 not set)
This is to balance performance, code complexity and NewGRF requirements
16 years ago
smatz fe6f09e66e (svn r13488) -Fix (r13485): track wasn't removed on company bankrupcy when there was a ship on lower halftile 16 years ago
rubidium e2bcbd5c50 (svn r13485) -Fix: let ships also navigate on half-tile sloped watery rail tiles. 16 years ago
rubidium e7a501100a (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 d289464d69 (svn r13255) -Codechange: move _opt to _settings. 16 years ago
rubidium dc77647ea4 (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
frosch 7f80552293 (svn r13206) -Feature(ette): Display all owners of a tile in the tile-info-window. 16 years ago
smatz 2be223fc03 (svn r13090) -Codechange: add functions for direct conversion from DiagDirection to Track and Trackbits 16 years ago
smatz b4968c6bea (svn r13016) -Codechange: unify the detection if rail catenary should be drawn 16 years ago
rubidium 1ce0b03bf0 (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 45034bc522 (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
rubidium 2b85217bfe (svn r12857) -Fix [FS#1948]: remove the last uses of AutoPtr in the station code. 16 years ago
rubidium d56827a9a9 (svn r12855) -Codechange: do not use autoptr's for testing whether certain objects can be build, but check it directly in the pool so we do not have to call destructors in the testing phase. Stations still use the autoptr though. 16 years ago
rubidium d010ae9408 (svn r12801) -Codechange: remove the dependency of function.h in town_map.h 16 years ago
rubidium 6d063c3ad6 (svn r12754) -Codechange: split depot.h into depot_map.h, depot_func.h and depot_base.h and remove quite a lot of unneeded (before this) includes of depot.h. 16 years ago
smatz ec588da9e8 (svn r12753) -Codechange: do not use IsDepotTypeTile() where simpler function can be used 16 years ago
smatz 966e476df8 (svn r12745) -Codechange: a bit of naming conventions, introduce Is*DepotTile() 16 years ago
smatz fcf4a7067d (svn r12547) -Feature: invisibility options to make objects invisible instead of transparent 16 years ago
rubidium df1d9bd880 (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 c51b81c247 (svn r12489) -Codechange: split station.h into station_base.h and station_func.h. 16 years ago
peter1138 f0e39a7953 (svn r12410) -Codechange: abstract out the test for catenary on electric rails 17 years ago
smatz 3ab59da68a (svn r12386) -Fix [FS#1841](r2428): train could break apart when reversed while partially in a depot 17 years ago
belugas d56f862b0e (svn r12342) -Fix(r12340): In order to avoid confusion, SIGN should be used for signs and SIGNAL for signals :)
Always check your terms with your nearest british ;)
17 years ago
belugas 61984b5169 (svn r12340) -Codechange: Remove some magic numbers (sprite IDs here) with some more meaningful values.
This allows to remove an unnecessary subtraction in the MAYBE_DAW_SIGNAL macro, who was waiting for an offset, at the first place.
17 years ago
peter1138 475f6ca3e3 (svn r12334) -Codechange: Don't change road owner without DC_EXEC. Didn't affect anything in this case but is bad form. 17 years ago
peter1138 beccf3e5ea (svn r12329) -Fix [FS#1819]: Disallow building level crossings over one-way roads as this allowed competitors to remove the one-way state. 17 years ago
frosch 7f3d56041b (svn r12199) -Codechange: Remove magic around the results of GetTileTrackStatus(). 17 years ago
smatz 4a329de942 (svn r12179) -Codechange: use GetCrossingRailTrack() and GetCrossingRailAxis() to improve code readability 17 years ago
smatz 9f619f91b3 (svn r12177) -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges 17 years ago
frosch a13899ee8e (svn r12149) -Codechange: Merge 'ground_sprite' and 'ground_pal' of DrawTileSprites into one PalSpriteID 17 years ago
frosch ae996a270b (svn r12148) -Codechange: Merge 'image' and 'pal' of DrawTileSeqStruct into one PalSpriteID 17 years ago
belugas f3adf67a7b (svn r12145) -Codechange: includes should be at the top of the source file
-Codechange: undefine a defined macro once work is finished, just in case
17 years ago
frosch 514df81e27 (svn r12141) -Codechange: Introduce IsNormalRoad[Tile](), IsRoadDepot[Tile]() and HasTileRoadType(); and use them. 17 years ago
peter1138 32691590fb (svn r12125) -Codechange: Remove redundant signal lookup table, and document why normal electric signals are handled specially. 17 years ago
smatz c82d1e3e46 (svn r12098) -Fix: make snow appear on rail tiles dependant on track height, not on height of the lowest part of the tile 17 years ago
smatz d00bf03012 (svn r12094) -Codechange: use DC_BANKRUPT command flag when removing player property to allow further fixes 17 years ago
frosch 9d63fd232e (svn r11984) -Fix: Also draw corner shores under rail tracks. 17 years ago
frosch d4dc5e0775 (svn r11983) -Codechange: Add some helper functions for slopes and use them. 17 years ago
smatz 74af65e556 (svn r11968) -Codechange: remove redundant FindLengthOfTunnel(), use GetTunnelBridgeLength() and/or GetOtherTunnelEnd() instead 17 years ago
smatz 8dbf03e322 (svn r11910) -Fix: play 'ding-ding' crossing sound in more cases (except gameload and crossing construction)
-Fix: crossing sound is bound to tile, not to vehicle
17 years ago
smatz b20d1eee6c (svn r11908) -Fix: update crossing when merging a company, when building a crossing and after loading older savegame 17 years ago
frosch c7fe664119 (svn r11898) -Fix: Update neighboured canals + signals when flooding non-flat tiles, too. 17 years ago
smatz 7eff702c0a (svn r11883) -Fix (r11864): assert when trying to remove rail from a house or industry tile 17 years ago
smatz 61e40b1aa5 (svn r11871) -Fix [FS#1074]: do not update signals after each tile when building/removing a large block of track/signals/station 17 years ago
smatz 81cad58c68 (svn r11864) -Codechange: pass owner whose signals we will update instead of complex detection later 17 years ago
rubidium 90acd52f22 (svn r11828) -Codechange: include table/* as the last includes and remove an unneeded include from openttd.h. 17 years ago
smatz bc4ed3eafd (svn r11802) -Fix [FS#716]: do not crash trains when leaving depot to a very long track
-Codechange: use dedicated pathfinder for signal updating, resulting in better performance and possible future improvements
17 years ago
rubidium 2d2e1e3863 (svn r11800) -Codechange: move some functions to a more logical location + some type safety. 17 years ago
rubidium 0365c1f33b (svn r11793) -Codechange: pass the expense type via the CommandCost instead of a global variable. Patch by Noldo (FS#1114). 17 years ago
peter1138 323f6e461a (svn r11791) -Cleanup: move railtype data into table/, like other data files. 17 years ago
rubidium 64d691bacc (svn r11787) -Codechange: more header rewrites. This time related to viewport.h. 17 years ago
rubidium 444e77d8bc (svn r11774) -Change: do not include variables.h in a header when it is not needed. 17 years ago
smatz f02cf9281b (svn r11760) -Codechange: unify the way how other end of a tunnel/bridge is determined at some places
-Fix: adding road/tram to tram/road bridge was cheaper by one tile
17 years ago
peter1138 6da72ec156 (svn r11720) -Codechange: [NewGRF] Add support for bit 30 of station tile layouts; forcing a sprite to always be opaque. 17 years ago
rubidium 445a733eb6 (svn r11719) -Codechange: split sound.h in a header with types and one with functions. 17 years ago
smatz f0db66a243 (svn r11715) -Fix: do not use GetTrackBits() for depots and waypoints while converting railtype 17 years ago
rubidium 722613f7f3 (svn r11706) -Codechange: split vehicle.h and remove another bunch of useless includes. 17 years ago
rubidium f82aeb82c5 (svn r11701) -Codechange: removal unnecessary inclusions of map.h (and split map.h). 17 years ago
rubidium 3074bca136 (svn r11680) -Codechange: refactor more out of openttd.h and functions.h. 17 years ago
rubidium 766551b0bc (svn r11677) -Codechange: move price and command related types/functions to their respective places. 17 years ago
rubidium be923601bf (svn r11669) -Codechange: refactor tile.h -> tile_type.h and tile_map.h 17 years ago
rubidium 8bfbfd0031 (svn r11667) -Codechange: split window.h into a header that defines some 'global' window related types, on that defined 'global' window functions and one that defines functions and types only used by *_gui.cpps. 17 years ago
smatz 531651293e (svn r11657) -Fix: show better error message when trying to convert rail
-Codechange: merge DoConvert functions into one, make test and exec runs the same for tunnels/bridges
17 years ago
smatz d56a690ba4 (svn r11649) -Codechange: some code can be simplified thanks to changes in r11642 17 years ago
smatz 926fe5c9e9 (svn r11644) -Codechange: merge some functions from tunnel_map.h and bridge_map.h into tunnelbridge_map.h 17 years ago
smatz 60f9bbd17e (svn r11642) -Codechange: VehicleFromPos does check for v->tile == tile, so remove useless checks 17 years ago
smatz 13c11e9af6 (svn r11638) -Codechange: use faster check in SignalVehicleCheck for tunnel/bridge 17 years ago
smatz 911273948b (svn r11603) -Fix [FS#1481]: make price for railtype conversion more realistic 17 years ago
rubidium 99dbfd3866 (svn r11547) -Add: signal selection GUI for the ones that really like to use that over CTRL. Patch by BigBB. 17 years ago
belugas e07925a5cb (svn r11533) -Codechange: Rename some unclear clear_x prices member names.
While at it, remove one unused entry on the clear_price_table array.
It is based on ground type, and the unused one was referencing a non existing one.
17 years ago
rubidium 7f72e5573a (svn r11504) -Fix [FS#1467]: removing docks/ship depots could result in non-canal water where canals should have been build. 17 years ago
skidd13 f92f3aec06 (svn r11485) -Codechange: Remove the doubled function ToggleBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 3ae50673a3 (svn r11484) -Codechange: Remove the doubled function SetBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 6801cceda1 (svn r11482) -Codechange: Remove the doubled function ClrBitT and rename the remaining to fit with the naming style 17 years ago
skidd13 c0a2c0c23e (svn r11481) -Codechange: Rename the HASBIT function to fit with the naming style 17 years ago
rubidium af0616729a (svn r11433) -Fix: starting OpenTTD with DOS files made it look weird out of the box.
-Change: make extra sprites (the ones not in the TTD GRFs) replaceable using Action 5.
-Feature: make replacing contiguous subsets of sprites in for some types possible in Action 5.
Note to GRF authors: when you replaced OpenTTD sprites that are not from the TTD GRF files using Action A, your GRF will not have the intended result anymore as the sprite numbers have changed. You should replace the Action A with an Action 5 from now on.
17 years ago
belugas f26a591e6c (svn r11399) -Feature(ette): transparency settings can now be saved and thus remembered.
-Codechange: Wrap all transparency settings in accessors, hiding the implementation
-Change: Clicking "transparent building" menu will toggle Houses And Trees only.  The other options can be used in the transparency gui.
Initial patch by Smatz (FS#1349), with some rework by BigBB and your humble servant.
17 years ago
truelight b935a74782 (svn r11383) -Codechange: fixed all the mess around KillFirstBit (tnx to Rubidium and skidd13) 17 years ago
belugas c9858e35db (svn r11343) -Fix[FS#1368]: Autoslope did not work correctly for single track on higher part of steep slopes. (frosch) 17 years ago
rubidium d1a51ebb36 (svn r11320) -Codechange: make lower halftiles at coast floodable. Patch by frosch. 17 years ago
rubidium 842e0697ec (svn r11319) -Add: halftile- and anti-zig-zag-foundations. Patch by frosch. 17 years ago
rubidium 99266a173c (svn r11313) -Codechange: prepare several pieces of code so the can handle some new slopes. Patch by frosch. 17 years ago
rubidium eadd6765e1 (svn r11312) -Codechange: implement a overflow safe integer and use that for money and don't misuses CommandCost to have a overflow safe integer. Based on a patch by Noldo. 17 years ago
maedhros ee4823857f (svn r11265) -Feature: Make more advanced rail types more expensive to build. 17 years ago
rubidium f22c5ba602 (svn r11237) -Codechange: reduce code duplication between GetRailFoundation() and CheckRailSlope(). Patch by frosch. 17 years ago
rubidium a28b307c95 (svn r11173) -Codechange: rename some callback enums so they are more uniform. 17 years ago
rubidium ca5ef5477b (svn r11167) -Fix [FS#1260]: Electric trains were not shown as stopped in depots when converting it from elrail -> normal rail. Patch by smatz. 17 years ago
rubidium 5c9553d48b (svn r11128) -Fix: a lot of graphical glitches by changing some bounding boxes. It's not perfect yet, but a *very* good step into the right direction. Patch by frosch. 17 years ago
rubidium 3055d42fc4 (svn r11107) -Feature: some tool so one can still build tunnels under rails (and other structures) when the owner of the structure built it on foundations and if you have enough "empty" space ofcourse. One could use the tool for some other construction needs too. Patch by frosch. 17 years ago
rubidium c97804461e (svn r11059) -Fix [FS#1182]: inconsistency between Rail<->ElRail conversions of different kinds of rail containing tiles (normal rail, stations, depots, etc). Patch by SmatZ. 17 years ago
rubidium f4482907da (svn r11005) -Codechange: move the tiletype specific terraforming checks to the functions for those tile types.
-Codechange: barren the rail grounds on terraforming.
17 years ago
rubidium 235ad4ab6b (svn r11003) -Codechange: replace Vehicle->next to Vehicle->Next() and Vehicle->SetNext() so we can trap instances that change a next pointer and (in the future) update the first/previous pointers based on that. 17 years ago
maedhros bb1d0dbfb1 (svn r10922) -Codechange: Allow building and removing tracks and signals when there is a
train on a parallel diagonal track that doesn't interact with this one. (frosch)
17 years ago
rubidium c60988a1d5 (svn r10758) -Codechange: make the depot struct use the pool item class as super class. 17 years ago
peter1138 9b9bca40b9 (svn r10734) -Fix [FS#1030]: Revert r10513) and add special cases for collision detection on bridges/tunnels. 17 years ago
rubidium 2800a49f03 (svn r10733) -Codechange: change MP_STREET into MP_ROAD as we use the word "road" everywhere except in the tile type. 17 years ago
rubidium 903a0a08c2 (svn r10698) -Codechange [FS#1082]: simplify the code related to foundations. Primarily removal of (duplicated|magic) code and introduction of few helper functions to ease foundation determination. Patch by frosch. 17 years ago
rubidium a26ef1ee3a (svn r10696) -Codechange: remove duplication of the "make sprite transparent" code. 17 years ago
truelight 1583b5b4db (svn r10659) -Codechange: updated documentation around RAIL_GROUND_FENCE_VERT[12] (frosch)
-Codechange: added documentation and SPR_ enums for track fences (frosch)
17 years ago
rubidium 45b0b7755d (svn r10601) -Codechange: store (and use) the type of stations instead of hardcoding station types by graphics IDs. 17 years ago
peter1138 30de2a0984 (svn r10437) -Feature: Automatic signal completion, enabled by pressing ctrl when dragging signals. Signals will continue following track until an existing signal, junction or station are reached. This currently replaces the existing use of ctrl-drag for changing existing signal type. 17 years ago
peter1138 b36d31bb22 (svn r10432) -Codechange: use existing function instead of data duplication 17 years ago
rubidium 949fc3d78c (svn r10308) -Codechange: some "cleanup" chunks from B. N. SmatZ!' work on fixing FS#119. 17 years ago
rubidium 0d8e82b7d7 (svn r10246) -Fix (r10297): some forgotten money conversions and truncation issues. Thanks to benc for providing the patch. 17 years ago
rubidium 773a7c9cb6 (svn r10205) -Codechange: refactor returning of cost, so it can be more easily modified. 17 years ago
rubidium 82e79b847e (svn r10200) -Codechange: add "shortcut" for !CmdFailed (CmdSucceeded). 17 years ago
rubidium 3ccc83e640 (svn r10197) -Codechange: replace int32 with CommandCost where appropriate. 17 years ago
rubidium 7d160d02ab (svn r10030) -Fix [FS#823]: one could build on (some) slopes when building on slopes was disabled. 17 years ago
glx 6a4be9758c (svn r10006) -Fix (FS#362): allow different signal types on one tile 17 years ago
rubidium 9d7be92bf4 (svn r9988) -Codechange: remove the last direct map accesses, except the ones needed for the savegame saving/loading mechanisms. 17 years ago
rubidium eadc44d8cb (svn r9960) -Fix [FS#813]: road wasn't properly added when overbuilding a tram rails with normal rails to for a crossing. 17 years ago
rubidium 821e58ac95 (svn r9914) -Codechange: prepare GTTS and the pathfinders to handle multiple road types on a single tile. 17 years ago
rubidium 51109475a2 (svn r9892) -Codechange: lots of ground work for allowing multiple types of "road" with multiple owners on a single tile. 17 years ago
peter1138 e4ada15d49 (svn r9805) -Codechange: Use HASBIT() et al for display options bits. 17 years ago
belugas d1c2c90ad0 (svn r9669) -Documentation: some more doxygen fixes 17 years ago
belugas 76faa0f759 (svn r9664) -Documentation: Doxygen corrections,errors and omissions 17 years ago
peter1138 7e0ad00ef6 (svn r9602) -Fix (r5833): Building rail on steep slopes ignored build_on_slopes patch setting. 17 years ago
belugas 7ad3bb257e (svn r9568) -Documentation: doxygen and comment changes: Root of src is finally done. Now, time to start clearing as much as possible 17 years ago
peter1138 51d72c11c8 (svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01. 17 years ago
belugas 6a86e75870 (svn r9556) -Documentation: doxygen and comment-style changes. 'R', 'S'.. The end of the preliminary work is near 17 years ago
belugas 27311537ce (svn r9542) -Fix(FS# 712): When checking if a vehicle is on a given tile, and you are working on the ground tile, do not take aircrafts into account, as they do not pose any danger for the construction/destruction/conversion itself. Z stuff, in other words 18 years ago
belugas 34272ad201 (svn r9523) -Cleanup: doxygen changes. Time to take care of "R" 18 years ago
celestar 44be40052f (svn r9425) -Codechange/Fix (FS#689): Housekeeping in the convert rail functions: Changed the order of error checks to generate more meaningful error messages, added some doxygen comments and replaced bitshifting by proper mathematical operations 18 years ago
belugas 691f8578fd (svn r9400) -Codechange: Use some more representative enum names for landscape types. 18 years ago
maedhros 94db6aa1a2 (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.
18 years ago
rubidium 36cea84b11 (svn r9068) -Codechange: capitalize the VEH_Train etc. enums to match the coding style (and rest of the code). 18 years ago
rubidium 979ccd45ba (svn r9051) -Codechange: typedef [enum|struct] Y {} X; -> [enum|struct] X {}; 18 years ago
rubidium d782a74cca (svn r8966) -Codechange: replace some if-cascades by switches. 18 years ago
rubidium b5a997a446 (svn r8935) -Codechange: unification of track type between road and rail tiles, unification of ground type between normal rail tiles and depots/waypoints and removing the need for RailTileSubType. 18 years ago
rubidium 191a739d31 (svn r8908) -Codechange: declaration of DrawBridgeMiddle does not belong in a map accessors header. 18 years ago
tron 47b677abfe (svn r8876) -Fix
Replace tests with magic numbers by a simple extraction template for command parameters
18 years ago
tron ac75cf0ae1 (svn r8875) -Fix
Remove unnecessary EnsureNoVehicle() checks because they are
- pointless per se (f.e. there are no vehicles on house tiles)
- done again (f.e. using CMD_LANDSCAPE_CLEAR just a few lines later)
18 years ago
KUDr 8001ab69fb (svn r8864) -Codechange: make ClrBitT(), SetBitT() and ToggleBitT more like CLRBIT() and so on (modify value of the first parameter instead or returning the result) 18 years ago
tron 053e2ddda5 (svn r8841) -Fix
Remove {,u}intswap() and replace them by Swap()
18 years ago
rubidium 0ba18a677c (svn r8701) -Codechange: replace magic numbers with enums for u.rail.track. 18 years ago
rubidium eb5648f382 (svn r8698) -Codechange: enumify the returns of VehicleEnterTile 18 years ago
peter1138 23bf684a5d (svn r8283) -Fix (r8128): Custom waypoint drawing used wrong bits since bitshuffling occurred. Also update with other station drawing changes (code duplication,
eh?)
18 years ago
Darkvater 7201689a17 (svn r8279) -Regression (r8274): Removing signals could fail under certain circumstances (not the proper bits of p1/p2 were set to trackbits). Moved trackbits back to bits 0..2, ctrl to 3, semaphore to 4. Also lower the decision of the ctrl-override of signal/semaphore from the GUI into the cmd function since we are passing the ctrl-bit anyways. Bug(s) found by Frostregen; thanks 18 years ago
Darkvater 53457d1acb (svn r8274) -Codechange (r8151): Move the automatic semaphore/signal checks inside the CMD_ functions where they are supposed to be. Achieve this by adding a seperate bit to p1/p2 to hold the CTRL-modifier. While here, use proper types, and 'unify' the parameter bit-meanings. 0 - ctrl-pressed, 1 - signal/semaphore, 2-4 - trackbits, 5 - remove (internal), 24-31 - drag density. 18 years ago
peter1138 ca9843424b (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.
18 years ago
KUDr 8553b0dad5 (svn r8052) - Codechange: RemoveFirstTrack() and RemoveFirstTrackdir() now accept pointer to TrackBits/TrackdirBits instead of reference. 18 years ago
rubidium a7d0cdf95f (svn r8038) -Merge: the cpp branch. Effort of KUDr, Celestar, glx, Smoovius, stillunknown and pv2b. 18 years ago
KUDr 07c30785ab (svn r8033) [cpp] - Prepare for merge from branches/cpp (all .c files renamed to .cpp) 18 years ago