Pol  Revision:cb584c9
landtile.cpp
Go to the documentation of this file.
1 
8 #include <stddef.h>
9 
10 #include "../clib/cfgelem.h"
11 #include "../clib/logfacility.h"
12 #include "../clib/passert.h"
13 #include "../plib/mapfunc.h"
14 #include "../plib/pkg.h"
15 #include "clidata.h"
16 #include "globals/uvars.h"
17 
18 namespace Pol
19 {
20 namespace Core
21 {
22 void load_landtile_entry( const Plib::Package* /*pkg*/, Clib::ConfigElem& elem )
23 {
24  unsigned short graphic = static_cast<unsigned short>( strtoul( elem.rest(), nullptr, 0 ) );
25  passert_always( graphic < LANDTILE_COUNT );
26 
27  gamestate.landtiles[graphic].uoflags = elem.remove_ulong( "UoFlags" );
28  gamestate.landtiles[graphic].flags = Plib::readflags( elem );
29 
31 }
32 
34 {
35  load_all_cfgs( "landtiles.cfg", "landtile", load_landtile_entry );
36 
38  ERROR_PRINT << "Warning: No landtiles loaded. Please check landtiles.cfg\n";
39 }
40 
41 unsigned int landtile_uoflags( unsigned short landtile )
42 {
43  passert_always( landtile < LANDTILE_COUNT );
44  return gamestate.landtiles[landtile].uoflags;
45 }
46 
47 unsigned int landtile_flags( unsigned short landtile )
48 {
49  passert_always( landtile < LANDTILE_COUNT );
50  return gamestate.landtiles[landtile].flags;
51 }
52 }
53 }
unsigned int remove_ulong(const char *propname)
Definition: cfgfile.cpp:461
unsigned int landtile_flags(unsigned short landtile)
Definition: landtile.cpp:47
const unsigned LANDTILE_COUNT
Definition: clidata.h:27
const char * rest() const
Definition: cfgfile.cpp:71
void load_landtile_entry(const Plib::Package *, Clib::ConfigElem &elem)
Definition: landtile.cpp:22
unsigned int landtile_uoflags(unsigned short landtile)
Definition: landtile.cpp:41
void load_landtile_cfg()
Definition: landtile.cpp:33
bool landtiles_loaded
Definition: uvars.h:223
std::array< LandTile, LANDTILE_COUNT > landtiles
Definition: uvars.h:222
void load_all_cfgs(const char *cfgname, const char *taglist, void(*loadentry)(const Package *, Clib::ConfigElem &))
Definition: pkg.cpp:473
GameState gamestate
Definition: uvars.cpp:74
#define ERROR_PRINT
Definition: logfacility.h:230
#define passert_always(exp)
Definition: passert.h:80
Definition: berror.cpp:12
unsigned int readflags(Clib::ConfigElem &elem)
Definition: mapfunc.cpp:229