87 #ifndef __MAP_TILE_H__
109 #define MaxMapWidth 256
110 #define MaxMapHeight 256
166 return &this->
Fields[index];
239 minpos.
x = std::max<short>(0, minpos.
x);
240 minpos.
y = std::max<short>(0, minpos.
y);
251 void FixNeighbors(
unsigned short type,
int seen,
const Vec2i &pos);
253 void FixTile(
unsigned short type,
int seen,
const Vec2i &pos);
256 void RegenerateForestTile(
const Vec2i &pos);
292 #define MARKER_ON_INDEX
297 #ifndef MARKER_ON_INDEX
352 extern void SetTile(
unsigned int tile,
const Vec2i &pos,
int value = 0);
353 inline void SetTile(
unsigned int tile,
int x,
int y,
int value = 0)
355 const Vec2i pos(x, y);
int FogOfWarOpacity
Path to the current map.
Definition: map_fog.cpp:54
CMapField * Field(int x, int y) const
Get the MapField at location x,y.
Definition: map.h:169
static CGraphic * FogGraphic
graphic for all the tiles
Definition: map.h:265
void RemoveWall(const Vec2i &pos)
Set wall on field.
Definition: map_wall.cpp:215
MapMarkerFunc MapMarkTileRadar
Mark a tile as radar visible, or incrase radar vision.
~CMap()
Definition: map.cpp:316
bool CheckMask(int mask) const
Check if a field flags.
Definition: mapfield.cpp:207
bool UnitCanBeAt(const CUnit &unit, const Vec2i &pos)
Returns true, if the unit can enter the field.
Definition: map.cpp:266
int FlagRevealMap
Flag must reveal the map.
Definition: map.cpp:55
void MapUnmarkRadar(const CPlayer &player, const Vec2i &pos, int w, int h, int range)
Definition: map.h:404
bool WallOnMap(const Vec2i &pos) const
Returns true, if wall on the map tile field.
Definition: map.cpp:188
CMap()
Definition: map.cpp:311
int ReplayRevealMap
Flag must reveal map when in replay.
Definition: map.cpp:56
A platform independent color.
Definition: color.h:39
CMapInfo Info
graphic for fog of war
Definition: map.h:267
MapMarkerFunc MapMarkTileRadarJammer
Mark a tile as radar jammed, or incrase radar jamming'ness.
void MarkSeenTile(CMapField &mf)
Mark a tile as seen by the player.
Definition: map.cpp:69
void Save(CFile &file) const
Save the map.
Definition: map.cpp:368
void MapUnmarkRadarJammer(const CPlayer &player, const Vec2i &pos, int w, int h, int range)
Definition: map.h:413
void CleanFogOfWar()
Cleanup memory for fog of war tables.
Definition: map_fog.cpp:752
T y
Definition: vec2i.h:43
CGraphic * TileGraphic
lua filename that loads all tilemodels
Definition: map.h:264
CTileset * Tileset
fog of war disabled
Definition: map.h:262
char CurrentMapPath[1024]
The current map.
Definition: map.cpp:58
Describes the world map.
Definition: map.h:149
void MapCclRegister()
register ccl features
Definition: script_map.cpp:546
std::string Filename
Map description.
Definition: map.h:136
bool IsPointOnMap(int x, int y) const
Definition: map.h:122
The big unit structure.
Definition: unit.h:119
#define PlayerMax
Definition: stratagus.h:157
MapMarkerFunc MapUnmarkTileRadarJammer
Unmark a tile as jammed, decrease is jamming'ness.
void MapFixWallTile(const Vec2i &pos)
Correct the real wall field, depending on the surrounding.
Definition: map_wall.cpp:167
MapMarkerFunc MapMarkTileSight
Mark a tile for normal sight.
unsigned int MapUID
Same player->Side.
Definition: map.h:141
void SetWall(const Vec2i &pos, bool humanwall)
Set wall on field.
Definition: map_wall.cpp:240
void MapFixSeenWallNeighbors(const Vec2i &pos)
Correct the surrounding seen wall fields.
Definition: map_wall.cpp:153
void ClearWoodTile(const Vec2i &pos)
Remove wood from the map.
Definition: map.cpp:520
bool CanMoveToMask(const Vec2i &pos, int mask)
Can a unit with 'mask' enter the field.
Definition: map.h:394
void Remove(CUnit &unit)
Remove unit from cache.
Definition: unit_cache.cpp:76
Tileset definition.
Definition: tileset.h:118
void HitWall(const Vec2i &pos, unsigned damage)
Wall is hit.
Definition: map_wall.cpp:268
unsigned int getIndex(int x, int y) const
Definition: map.h:155
CColor FogOfWarColor
fog of war color
Definition: map_fog.cpp:56
Definition: unittype.h:467
CMapField * Field(unsigned int index) const
Definition: map.h:164
MapMarkerFunc MapMarkTileDetectCloak
Mark a tile for cloak detection.
void PreprocessMap()
Preprocess map, for internal use.
Definition: map.cpp:278
int PlayerType[PlayerMax]
Map height.
Definition: map.h:139
void MapFixSeenWallTile(const Vec2i &pos)
Correct the seen wall field, depending on the surrounding.
Definition: map_wall.cpp:123
void SetTile(unsigned int tile, const Vec2i &pos, int value=0)
Set a tile.
Definition: script_map.cpp:339
std::string TileModelsFileName
tileset data
Definition: map.h:263
bool IsPointOnMap(const Vec2i &pos) const
Definition: map.h:127
bool HumanWallOnMap(const Vec2i &pos) const
Returns true, if human wall on the map tile field.
Definition: map.cpp:201
void MapMarkRadar(const CPlayer &player, const Vec2i &pos, int w, int h, int range)
Handle Marking and Unmarking of radar vision.
Definition: map.h:400
void Clamp(Vec2i &pos) const
Definition: unit_cache.cpp:96
bool NoFogOfWar
fields on map
Definition: map.h:260
bool OrcWallOnMap(const Vec2i &pos) const
Returns true, if orc wall on the map tile field.
Definition: map.cpp:214
int SaveStratagusMap(const std::string &filename, CMap &map, int writeTerrain)
Save a stratagus map (smp format)
Definition: game.cpp:616
void MapMarkUnitSight(CUnit &unit)
Mark on vision table the Sight of the unit.
Definition: unit.cpp:827
PixelPos TilePosToMapPixelPos_Center(const Vec2i &tilePos) const
convert tilepos coordonates into map pixel pos (take the center of the tile)
Definition: map.cpp:176
void UpdateFogOfWarChange()
Update fog of war.
Definition: map_fog.cpp:395
PixelPos TilePosToMapPixelPos_TopLeft(const Vec2i &tilePos) const
convert tilepos coordonates into map pixel pos (take the top left of the tile)
Definition: map.cpp:169
void FixSelectionArea(Vec2i &minpos, Vec2i &maxpos)
Definition: map.h:237
int MapFogFilterFlags(CPlayer &player, const Vec2i &pos, int mask)
Filter map flags through fog.
Definition: map_fog.cpp:113
bool CheckedCanMoveToMask(const Vec2i &pos, int mask)
Returns true, if the unit-type(mask can enter field with bounds check.
Definition: map.cpp:228
T x
Definition: vec2i.h:42
Diplomacy states for CommandDiplomacy.
Definition: player.h:79
void RegenerateForest()
Regenerate the forest.
Definition: map.cpp:622
CMap Map
Definition: map.cpp:54
CMapField * Field(const Vec2i &pos) const
Definition: map.h:173
void Clear()
Definition: map.cpp:301
MapMarkerFunc MapUnmarkTileSight
Unmark a tile for normal sight.
void Insert(CUnit &unit)
Insert new unit into cache.
Definition: unit_cache.cpp:52
void LoadStratagusMapInfo(const std::string &mapname)
Load map presentation.
Definition: map.cpp:641
Vec2i MapPixelPosToTilePos(const PixelPos &mapPos) const
convert map pixelpos coordonates into tilepos
Definition: map.cpp:162
bool UnitTypeCanBeAt(const CUnitType &type, const Vec2i &pos)
Returns true, if the unit-type can enter the field.
Definition: map.cpp:241
CMapField * Fields
Definition: map.h:259
MapMarkerFunc MapUnmarkTileRadar
Unmark a tile as radar visible, decrease is visible by other radar.
void MapSight(const CPlayer &player, const Vec2i &pos, int w, int h, int range, MapMarkerFunc *marker)
Mark sight changes.
Definition: map_fog.cpp:330
void Init()
Build tables for map.
Definition: map.cpp:335
void Reveal()
Reveal the complete map, make everything known.
Definition: map.cpp:131
int MapWidth
Map filename.
Definition: map.h:137
int MapHeight
Map width.
Definition: map.h:138
void Create()
Alocate and initialise map table.
Definition: map.cpp:324
std::string Description
Definition: map.h:135
unsigned int getIndex(const Vec2i &pos) const
Definition: map.h:159
MapMarkerFunc MapUnmarkTileDetectCloak
Unmark a tile for cloak detection.
Describes a field of the map.
Definition: tile.h:186
void Clean()
Clean the map.
Definition: map.cpp:343
int PlayerSide[PlayerMax]
Same player->Type.
Definition: map.h:140
int ForestRegeneration
Forest regeneration.
Definition: map.cpp:57
void MapMarkerFunc(const CPlayer &player, const unsigned int index)
Function to (un)mark the vision table.
Definition: map.h:300
void MapUnmarkUnitSight(CUnit &unit)
Unmark on vision table the Sight of the unit.
Definition: unit.cpp:855
void ClearRockTile(const Vec2i &pos)
Remove rock from the map.
Definition: map.cpp:538
void MapMarkRadarJammer(const CPlayer &player, const Vec2i &pos, int w, int h, int range)
Handle Marking and Unmarking of radar vision.
Definition: map.h:409