moved almost all hardcoded constants to "define.dat"
[k8-i-v-a-n.git] / src / game / wsquare.h
blobcf429cc0b4484c684a28072042321f9d52f5de68
1 /*
3 * Iter Vehemens ad Necem (IVAN)
4 * Copyright (C) Timo Kiviluoto
5 * Released under the GNU General
6 * Public License
8 * See LICENSING which should be included
9 * along with this file for more details
12 #ifndef __WSQUARE_H__
13 #define __WSQUARE_H__
15 #include "ivancommon.h"
17 #include "square.h"
18 #include "worldmap.h"
21 class gwterrain;
22 class owterrain;
23 struct blitdata;
26 class wsquare : public square {
27 friend class worldmap;
28 public:
29 wsquare (worldmap *, v2);
30 virtual ~wsquare ();
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 *);
48 truth SignalSeen ();
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;
56 protected:
57 gwterrain *GWTerrain;
58 owterrain *OWTerrain;
62 #endif