summaryrefslogtreecommitdiff
path: root/landscape.c
AgeCommit message (Collapse)Author
2005-07-14(svn r2564) Fix: Fixed conceptual issue in network_gui.c. AllocateName is ↵ludde
not meant to be used by GUI-code, because it modifies the "game-state". Added a way to bind a C-string to an openttd string which doesn't modify the game state.
2005-07-13(svn r2560) Fix: various minor code changes.ludde
Added RandomTile/RandomTileSeed functions to generate a random tile. Changed landscape routines so they don't assume that the Y map side is a power of two. (support for this is not complete, though) Changed some frequently used map macros to not compute the values each time. Silence some warnings on MSVC.
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-01(svn r2505) Remove some unnecessary #includestron
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-20(svn r2464) Move definition of _inclined_tileh out of variables.htron
2005-06-04(svn r2408) Introduce SetTileOwner() and use ittron
2005-06-02(svn r2397) - CodeChange: rename all "ttd" files to "openttd" files.Darkvater
2005-05-12(svn r2297) - CodeChange: server-check the next batch of commands.Darkvater
- CodeChange: since only the server will be able to modify difficulty settings, leave the checking of correct values besides, and trust users will join legit servers. - CodeChange: for renaming signs, only check if GetDParam(); eg _decode_parameters is empty ('\0') or not, instead of the extra check of players, etc. That basically does the same thing. Also dirty sign two times when renaming, once before, once after the action. Because if the name becomes shorter and you update only after, garbage remains on the screen. - CodeChange: made GetMaskOfTownActions() available to the town-cmd to double-check if the action was available to the player. For this purpose the hardcoded _local_player has been removed from the function and is now passed as a parameter.
2005-05-07(svn r2279) - Fix: Check the parameters of the first 10 Commands. While ↵Darkvater
there also add proper comments for the functions and fix up CmdFailed()
2005-03-27(svn r2093) uint -> TileIndex, remove commented out code and a local ↵tron
variable, which was only used once
2005-02-18(svn r1888) The landscape template sprites are ordinary sprites, treating ↵tron
them as non-sprites resulted in yet another endianess issue. This fixes the problem introduced in r1855
2005-02-13(svn r1867) Include tables/sprites.h only in files which need ittron
2005-02-12(svn r1863) Give the effect vehicle type enums more descriptive names and ↵tron
use the enum as parameter type for CreateEffectVehicle*() -Fix: [1116619] Generate the correct smoke type for diesel trains
2005-02-10(svn r1854) Split GetSpritePtr() into GetSprite() for regular sprites ↵tron
(returning a Sprite*) and GetNonSprite() for "sprites" of type 0xFF (returning byte*)
2005-02-10(svn r1853) Move spritecache function declarations into a header of their ↵tron
own and use SpriteID as parameter type where appropriate
2005-02-07(svn r1839) Move GetTileSlope() and GetTileZ() into tile.[ch] and use more ↵tron
explicit types as parameters
2005-02-04(svn r1782) Remove line which should've been removed in r1779 and caused map ↵tron
generation to hang infinitely
2005-02-03(svn r1779) Make the map generation code slightly more readabletron
2005-02-03(svn r1777) Fix map generation for tropical and arctic landscape on ↵tron
larger/smaller maps
2005-01-31(svn r1751) - Feature: New PathFinder (NPF).matthijs
- 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-30(svn r1726) Move an assert() because it could not catch all cases of ↵tron
incorrect input where it was placed
2005-01-29(svn r1722) -Feature: Bigger maps - anyone?tron
2005-01-29(svn r1718) Use the enum TileType as parameter/return type for ↵tron
[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(svn r1715) Move [GS]etMapExtraBits to tile.[ch]tron
2005-01-29(svn r1713) Split off several functions which query/set information about a ↵tron
single tile from map.h and put them into a seperate file tile.h
2005-01-28(svn r1706) Implement ScaleByMapSize() and ScaleByMapSize1D()tron
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-27(svn r1697) Remove superflous special case for the VOID border tiles in ↵tron
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-26(svn r1686) Fix (Work around?) crash when generating tropical mapstron
2005-01-26(svn r1683) Fix placement of MP_VOID tiles. On square maps it accidently ↵tron
works, but on non-square maps the wrong tiles would get marked as MP_VOID
2005-01-25(svn r1676) Increase the size of TileIndex and TileIndexDiff to 32bits and ↵tron
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-24(svn r1641) Remove a boundary check added in r1332 to work around a bug - ↵tron
the real cause has been eleminated in r1413. Leave an assert() just to be sure...
2005-01-22(svn r1596) Add some more staticstron
2005-01-22(svn r1594) Convert all undefined parameter lists to (void) and add the ↵tron
appropriate warning flags in the Makefile
2005-01-18(svn r1560) Introduce SetTileType() and SetTileHeight()tron
Replace direct references to _map_type_and_height with these
2005-01-16(svn r1545) Add TileHeight() which returns the height (not multiplied by 8)tron
Replace some direct references to _map_type_and_height with TileHeight()/IsTileType()
2005-01-16(svn r1536) Move GET_TILEHEIGHT, GET_TILETYPE and IS_TILETYPE to map.h, turn ↵tron
them into inline functions and add some asserts
2005-01-09(svn r1451) Fix some of the signed/unsigned comparison warningstron
2005-01-07(svn r1415) Move TILE_FROM_XY and TILE_XY to map.h and push TILE_[XY] bits ↵tron
from map.h into map.c. Now the whole source except map.c is independent of TILE_[XY]_BITS!
2005-01-07(svn r1414) Move TileIndex, TILE_MASK and GET_TILE_[XY] to map.h and turn ↵tron
the latter into inline functions names Tile[XY]
2005-01-07(svn r1413) Fixed a serious memory leak problem. The invisible tiles on the ↵dominik
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-06(svn r1396) Introduce TileIndexDiffC - the compile time version of TileIndexDifftron
2005-01-04(svn r1375) -Fix: [1050990] Buying trains sometimes accounted for ↵darkvater
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-03(svn r1344) Use MapSize[XY]() (or MapSize()/MapMax[XY]() where appropriate) ↵tron
instead of TILES_[XY]
2005-01-03(svn r1338) -Fix: fix signed/unsigned warnings introduced when ditching the ↵darkvater
macros for map querying.
2005-01-03(svn r1337) Use MapMax[XY]() (or MapSize[XY]() if appropriate) instead of ↵tron
TILE_MAX_[XY] While here replace one erroneous TILE_MAX_X with MapMaxY()
2005-01-03(svn r1332) -Fix: Desert-landscape does no longer crash (protected ↵truelight
GetMapExtraBits from overflowing)
2005-01-01(svn r1321) -Fix: Revision 1302 partly solved the problem and created an other. truelight
Should now really be solved.. now only MP_WATER is owned by OWNER_WATER
2004-12-30(svn r1302) -Fix: [ 1091655 ] In some older maps somehow water is owned bytruelight
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.