#ifndef GLOBAL_H #define GLOBAL_H #define CHECKTIME 1 #if CHECKTIME #include "timeHandler.h" #include #include #include "int3.h" #define THC #else #define THC // #endif enum Ecolor {RED, BLUE, TAN, GREEN, ORANGE, PURPLE, TEAL, PINK}; //player's colors enum EterrainType {border=-1, dirt, sand, grass, snow, swamp, rough, subterranean, lava, water, rock}; enum Eriver {noRiver=0, clearRiver, icyRiver, muddyRiver, lavaRiver}; enum Eroad {dirtRoad=1, grazvelRoad, cobblestoneRoad}; enum Eformat { WoG=0x33, AB=0x15, RoE=0x0e, SoD=0x1c}; enum EvictoryConditions {artifact, gatherTroop, gatherResource, buildCity, buildGrail, beatHero, captureCity, beatMonster, takeDwellings, takeMines, transportItem, winStandard=255}; enum ElossCon {lossCastle, lossHero, timeExpires, lossStandard=255}; enum EHeroClasses {HERO_KNIGHT, HERO_CLERIC, HERO_RANGER, HERO_DRUID, HERO_ALCHEMIST, HERO_WIZARD, HERO_DEMONIAC, HERO_HERETIC, HERO_DEATHKNIGHT, HERO_NECROMANCER, HERO_WARLOCK, HERO_OVERLORD, HERO_BARBARIAN, HERO_BATTLEMAGE, HERO_BEASTMASTER, HERO_WITCH, HERO_PLANESWALKER, HERO_ELEMENTALIST}; class CGameInfo; extern CGameInfo* CGI; #define CURPLINT (((CPlayerInterface*)((CGI)->playerint[(CGI)->state->currentPlayer]))) #define LOCPLINT (((CPlayerInterface*)((CGI)->playerint[(CGI)->localPlayer]))) //CURPLINT gives pointer to the interface of human player which is currently making turn, //LOCPLINT gives pointer to the interface which is currently showed (on this machine) #define HEROI_TYPE (0) #define TOWNI_TYPE (1) //#define LOGUJ #ifdef LOGUJ #define LOG(x) std::cout<= 4 #define DLL_EXPORT __attribute__ ((visibility("default"))) #else #define DLL_EXPORT #endif #endif #define HANDLE_EXCEPTION \ catch (const std::exception& e) { \ std::cerr << e.what() << std::endl; \ } \ catch (const std::exception * e) \ { \ std::cerr << e->what()<< std::endl; \ delete e; \ } #endif //GLOBAL_H