3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
8 * See LICENSING which should be included
9 * along with this file for more details
15 #include "ivancommon.h"
26 class wsquare
: public square
{
27 friend class worldmap
;
29 wsquare (worldmap
*, v2
);
32 virtual void Save (outputfile
&) const;
33 virtual void Load (inputfile
&);
34 void Draw (blitdata
&);
35 void SetGWTerrain (gwterrain
*);
36 void SetOWTerrain (owterrain
*);
37 gwterrain
*GetGWTerrain () const { return GWTerrain
; }
38 owterrain
*GetOWTerrain () const { return OWTerrain
; }
39 void ChangeWTerrain (gwterrain
*, owterrain
*);
40 worldmap
*GetWorldMap () const { return static_cast<worldmap
*>(AreaUnder
); }
41 void SetWorldMapUnder (worldmap
*What
) { AreaUnder
= What
; }
42 void UpdateMemorizedDescription (truth
= false);
43 virtual gterrain
*GetGTerrain () const;
44 virtual oterrain
*GetOTerrain () const;
45 void ChangeGWTerrain (gwterrain
*);
46 void ChangeOWTerrain (owterrain
*);
47 void SetWTerrain (gwterrain
*, owterrain
*);
49 void CalculateLuminance ();
50 wsquare
* GetNeighbourWSquare (int I
) const { return static_cast<worldmap
*>(AreaUnder
)->GetNeighbourWSquare(Pos
, I
); }
51 int GetWalkability () const;
52 virtual int GetSquareWalkability () const { return GetWalkability(); }
53 virtual truth
CanBeSeenByPlayer (truth
= false) const;
54 virtual truth
CanBeSeenFrom (v2
, sLong
, truth
= false) const;