Commit Graph

43 Commits

Author SHA1 Message Date
tron 88ebe22d8b (svn r1782) Remove line which should've been removed in r1779 and caused map generation to hang infinitely 2005-02-04 07:52:12 +00:00
tron 5e1364daeb (svn r1779) Make the map generation code slightly more readable 2005-02-03 20:52:12 +00:00
tron 0601293edb (svn r1777) Fix map generation for tropical and arctic landscape on larger/smaller maps 2005-02-03 18:20:43 +00:00
matthijs a2dec6c32a (svn r1751) - Feature: New PathFinder (NPF).
- Supports trains, road vehicles and ships.
	- Uses A* pathfinding (same codebase as the new ai).
	- Currently unlimited search depth, so might perform badly on large maps/networks (especially ships).
	- Will always find a route if there is one.
	- Allows custom penalties for obstacles to be set in openttd.cfg (npf_ values).
	- With NPF enabled, ships can have orders that are very far apart. Be careful, this will break (ships get lost) when the old pathfinder is used again.
- Feature: Disabling 90 degree turns for trains and ships.
	- Requires NPF to be enabled.
	- Ships and trains can no longer make weird 90 degree turns on tile borders.
- Codechange: Removed table/directions.h.
	- table/directions.h contained ugly static tables but was included more than once. The tables, along with a few new ones are in npf.[ch] now. Better suggestions for a location?
- Fix: Binary heap in queue.c did not allocate enough space, resulting in a segfault.
- Codechange: Rewritten FindFirstBit2x64, added KillFirstBit2x64.
- Codechange: Introduced constant INVALID_TILE, to replace the usage of 0 as an invalid tile. Also replaces TILE_WRAPPED.
- Codechange: Moved TileAddWrap() to map.[ch] 
- Add TileIndexDiffCByDir(), TileIndexDiffCByDir(). 
- Codechange: Moved IsTrainStationTile() to station.h
- Add: IsRoadStationTile() and GetRoadStationDir().
2005-01-31 11:23:10 +00:00
tron cc7f7220c0 (svn r1726) Move an assert() because it could not catch all cases of incorrect input where it was placed 2005-01-30 08:25:39 +00:00
tron 3a89108a55 (svn r1722) -Feature: Bigger maps - anyone? 2005-01-29 19:45:14 +00:00
tron 97ae59fe1a (svn r1718) Use the enum TileType as parameter/return type for [GS]etTileType() instead of plain int.
This makes it necessary to rename TileType() to GetTileType() because a type and a function may not share the same name.
2005-01-29 15:12:40 +00:00
tron f08d102ac2 (svn r1715) Move [GS]etMapExtraBits to tile.[ch] 2005-01-29 13:33:48 +00:00
tron 5885b31bb4 (svn r1713) Split off several functions which query/set information about a single tile from map.h and put them into a seperate file tile.h 2005-01-29 12:19:05 +00:00
tron 3617d24318 (svn r1706) Implement ScaleByMapSize() and ScaleByMapSize1D()
These scale a number relative to the map size/circumference.
Use them to scale the amount of map objects.
Of course at the moment they return just the input, because there are no bigger/smaller maps yet.
2005-01-28 15:31:04 +00:00
tron eebb2f196d (svn r1697) Remove superflous special case for the VOID border tiles in FindLandscapeHeightByTile()
While here clean up some other stuff: uint -> TileIndex, assert() that the TileIndex is valid and remove a line which was already commented out
2005-01-27 15:30:34 +00:00
tron 8742b63fa1 (svn r1686) Fix (Work around?) crash when generating tropical maps 2005-01-26 18:59:10 +00:00
tron a2971d0449 (svn r1683) Fix placement of MP_VOID tiles. On square maps it accidently works, but on non-square maps the wrong tiles would get marked as MP_VOID 2005-01-26 18:17:50 +00:00
tron 993a106679 (svn r1676) Increase the size of TileIndex and TileIndexDiff to 32bits and adapt the save/load data and some other parts of the code to that change
WARNING: If i made any mistake here it WILL lead to corrupted savegames!
2005-01-25 21:43:57 +00:00
tron 7f14b69022 (svn r1641) Remove a boundary check added in r1332 to work around a bug - the real cause has been eleminated in r1413.
Leave an assert() just to be sure...
2005-01-24 18:57:16 +00:00
tron e5cd6b6193 (svn r1596) Add some more statics 2005-01-22 22:47:58 +00:00
tron 189ca73707 (svn r1594) Convert all undefined parameter lists to (void) and add the appropriate warning flags in the Makefile 2005-01-22 20:23:18 +00:00
tron 31d6f87d80 (svn r1560) Introduce SetTileType() and SetTileHeight()
Replace direct references to _map_type_and_height with these
2005-01-18 18:41:56 +00:00
tron 022b8cea37 (svn r1545) Add TileHeight() which returns the height (not multiplied by 8)
Replace some direct references to _map_type_and_height with TileHeight()/IsTileType()
2005-01-16 14:50:01 +00:00
tron ae796740aa (svn r1536) Move GET_TILEHEIGHT, GET_TILETYPE and IS_TILETYPE to map.h, turn them into inline functions and add some asserts 2005-01-16 11:24:58 +00:00
tron 49584082a0 (svn r1451) Fix some of the signed/unsigned comparison warnings 2005-01-09 21:25:44 +00:00
tron 35972e68e1 (svn r1415) Move TILE_FROM_XY and TILE_XY to map.h and push TILE_[XY] bits from map.h into map.c.
Now the whole source except map.c is independent of TILE_[XY]_BITS!
2005-01-07 17:40:23 +00:00
tron 7ca6b2b8b0 (svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn the latter into inline functions names Tile[XY] 2005-01-07 17:02:43 +00:00
dominik f5c33e5073 (svn r1413) Fixed a serious memory leak problem. The invisible tiles on the southern border now have the correct tile type (MP_VOID) again. Please note that older maps might still have incorrect border tiles, thus still causing overflows. 2005-01-07 12:33:28 +00:00
tron f8c95a1dbe (svn r1396) Introduce TileIndexDiffC - the compile time version of TileIndexDiff 2005-01-06 11:39:00 +00:00
darkvater 6edb21231e (svn r1375) -Fix: [1050990] Buying trains sometimes accounted for incorrectly. Was the result of the cost getting reset in a recursive call of docommand. That is fixed. In addition all cost-commands are typed explicitely. Please do not forget to do so or your costs will be credited to construction if you are unlucky. 2005-01-04 17:11:03 +00:00
tron c0702318d2 (svn r1344) Use MapSize[XY]() (or MapSize()/MapMax[XY]() where appropriate) instead of TILES_[XY] 2005-01-03 18:59:58 +00:00
darkvater 39f8b82640 (svn r1338) -Fix: fix signed/unsigned warnings introduced when ditching the macros for map querying. 2005-01-03 14:07:49 +00:00
tron 32bfe0dddd (svn r1337) Use MapMax[XY]() (or MapSize[XY]() if appropriate) instead of TILE_MAX_[XY]
While here replace one erroneous TILE_MAX_X with MapMaxY()
2005-01-03 12:56:22 +00:00
truelight 7e89cd8643 (svn r1332) -Fix: Desert-landscape does no longer crash (protected GetMapExtraBits
from overflowing)
2005-01-03 11:11:16 +00:00
truelight 5d06584545 (svn r1321) -Fix: Revision 1302 partly solved the problem and created an other.
Should now really be solved.. now only MP_WATER is owned by OWNER_WATER
2005-01-01 19:18:48 +00:00
truelight 4b38004a49 (svn r1302) -Fix: [ 1091655 ] In some older maps somehow water is owned by
OWNER_NONE instead of OWNER_WATER.
-Fix: On InitializeLandscape the map was made MP_WATER, but OWNER_NONE. 
 When ConvertGroundTilesIntoWaterTiles() is not called, this gives big 
 problems (see above). Now the owner is set to OWNER_WATER by default.
2004-12-30 10:29:28 +00:00
truelight c2ee8d70e4 (svn r1288) -Codechange: changed _map2 to an uint16. It is still saved and loaded as
an uint8 till the savegame version is bumped to version 5. Then it works 
automaticly as a fully uint16. So _stations[] can not be increased till 
after the bump!!
2004-12-28 11:51:31 +00:00
tron e75954a7ab (svn r1144) Don't rely on sizeof() to determine the map size, use MapSize() instead 2004-12-17 09:01:24 +00:00
tron 765ecfed84 (svn r1117) Move map arrays and some related macros into their own files map.c and map.h 2004-12-15 22:18:54 +00:00
tron 57adc97733 (svn r724) Remove restriction that a tile can only accept 3 cargo types.
This especially enables houses to accept passengers, mail, goods AND food.
Add string templates for up to 5 cargo types for the tile info window. If more are needed just add them.
Simplify (de-uglify) the logic for cargo acceptence for houses and split the goods/food table into two. The acceptance is unmodified, but accepting goods AND food is now trivially possible. The exact amounts have to be decided.
This is based on Celestar's changes in the map branch plus some further bits that will be merged there soon.
2004-11-21 10:49:40 +00:00
truelight 1a0a7ed763 (svn r184) -Fix: starting a new game in DesertLandscape crashed the game 2004-09-08 17:44:29 +00:00
truelight 10d54ac604 (svn r160) -Codechange: made GetTileTrackStatus more readable (blathijs)
-Fix: some minor fixes around GetTileTrackStatus (blathijs)
2004-09-05 16:15:22 +00:00
truelight a0ba5a7939 (svn r132) -Fix: [1014278] TileAddWrap() gave wrong results. Fixed now. 2004-08-24 12:54:37 +00:00
dominik b3cdae2af1 (svn r51) Yet another slope graphics fix 2004-08-14 10:05:27 +00:00
dominik ca120eedad (svn r40) Final slope graphics fix 2004-08-13 18:27:33 +00:00
dominik 0c25a4b10c (svn r38) Preliminary slopes graphics fix. Neighboring tile check not done yet 2004-08-13 11:28:59 +00:00
truelight efaeb275f7 (svn r1) Import of revision 975 of old (crashed) SVN 2004-08-09 17:04:08 +00:00