#include "stdafx.h"
#include "heightmap.h"
#include "clear_map.h"
#include "void_map.h"
#include "gui.h"
#include "saveload/saveload.h"
#include "bmp.h"
#include "gfx_func.h"
#include "fios.h"
#include "settings_type.h"
#include "fileio_func.h"
#include "table/strings.h"
Go to the source code of this file.
Functions | |
| static byte | RGBToGrayscale (byte red, byte green, byte blue) |
| Convert RGB colours to Grayscale using 29.9% Red, 58.7% Green, 11.4% Blue (average luminosity formula) -- Dalestan This in fact is the NTSC Colour Space -- TrueLight. | |
| static void | ReadHeightmapBMPImageData (byte *map, BmpInfo *info, BmpData *data) |
| The BMP Heightmap loader. | |
| static bool | ReadHeightmapBMP (char *filename, uint *x, uint *y, byte **map) |
| Reads the heightmap and/or size of the heightmap from a BMP file. | |
| static void | GrayscaleToMapHeights (uint img_width, uint img_height, byte *map) |
| Converts a given grayscale map to something that fits in OTTD map system and create a map of that data. | |
| void | FixSlopes () |
| This function takes care of the fact that land in OpenTTD can never differ more than 1 in height. | |
| static bool | ReadHeightMap (char *filename, uint *x, uint *y, byte **map) |
| Reads the heightmap with the correct file reader. | |
| bool | GetHeightmapDimensions (char *filename, uint *x, uint *y) |
| Get the dimensions of a heightmap. | |
| void | LoadHeightmap (char *filename) |
| Load a heightmap from file and change the map in his current dimensions to a landscape representing the heightmap. | |
| void | FlatEmptyWorld (byte tile_height) |
| Make an empty world where all tiles are of height 'tile_height'. | |
Definition in file heightmap.cpp.
| void FlatEmptyWorld | ( | byte | tile_height | ) |
Make an empty world where all tiles are of height 'tile_height'.
| tile_height | of the desired new empty world |
Definition at line 449 of file heightmap.cpp.
References _settings_game, GameSettings::construction, FixSlopes(), ConstructionSettings::freeform_edges, MapSizeX(), MapSizeY(), MarkWholeScreenDirty(), SetTileHeight(), and TileXY().
Referenced by _GenerateWorld().
| bool GetHeightmapDimensions | ( | char * | filename, | |
| uint * | x, | |||
| uint * | y | |||
| ) |
Get the dimensions of a heightmap.
| filename | to query | |
| x | dimension x | |
| y | dimension y |
Definition at line 427 of file heightmap.cpp.
References ReadHeightMap().
| static void GrayscaleToMapHeights | ( | uint | img_width, | |
| uint | img_height, | |||
| byte * | map | |||
| ) | [static] |
Converts a given grayscale map to something that fits in OTTD map system and create a map of that data.
| img_width | the with of the image in pixels/tiles | |
| img_height | the height of the image in pixels/tiles | |
| map | the input map |
Definition at line 268 of file heightmap.cpp.
References _settings_game, CLEAR_GRASS, GameSettings::construction, DistanceFromEdge(), ConstructionSettings::freeform_edges, GameSettings::game_creation, GameCreationSettings::heightmap_rotation, HM_CLOCKWISE, HM_COUNTER_CLOCKWISE, MakeClear(), MakeVoid(), MapMaxX(), MapMaxY(), MapSizeX(), MapSizeY(), SetTileHeight(), TileX(), TileXY(), and TileY().
Referenced by LoadHeightmap().
| void LoadHeightmap | ( | char * | filename | ) |
Load a heightmap from file and change the map in his current dimensions to a landscape representing the heightmap.
It converts pixels to height. The brighter, the higher.
| filename | of the heighmap file to be imported |
Definition at line 432 of file heightmap.cpp.
References FixSlopes(), GrayscaleToMapHeights(), MarkWholeScreenDirty(), and ReadHeightMap().
| static bool ReadHeightmapBMP | ( | char * | filename, | |
| uint * | x, | |||
| uint * | y, | |||
| byte ** | map | |||
| ) | [static] |
Reads the heightmap and/or size of the heightmap from a BMP file.
If map == NULL only the size of the BMP is read, otherwise a map with grayscale pixels is allocated and assigned to *map.
Definition at line 215 of file heightmap.cpp.
References FioFOpenFile(), and ReadHeightmapBMPImageData().
Referenced by ReadHeightMap().
| static void ReadHeightmapBMPImageData | ( | byte * | map, | |
| BmpInfo * | info, | |||
| BmpData * | data | |||
| ) | [static] |
The BMP Heightmap loader.
For a non-gray palette of size 16 we assume that the order of the palette determines the height; the first entry is the sea (level 0), the second one level 1, etc.
For a palette of size 2 we assume that the order of the palette determines the height; the first entry is the sea (level 0), the second one is the land (level 1)
Definition at line 158 of file heightmap.cpp.
References RGBToGrayscale().
Referenced by ReadHeightmapBMP().
1.5.6