2010-03-16 22:44:22 +01:00
|
|
|
|
#ifndef _GLEST_GAME_GAMECONSTANTS_H_
|
|
|
|
|
#define _GLEST_GAME_GAMECONSTANTS_H_
|
|
|
|
|
|
2010-03-25 13:15:10 +01:00
|
|
|
|
#include <cassert>
|
|
|
|
|
|
2010-03-16 22:44:22 +01:00
|
|
|
|
// ==============================================================
|
|
|
|
|
// This file is part of Glest (www.glest.org)
|
|
|
|
|
//
|
|
|
|
|
// Copyright (C) 2001-2008 Marti<74>o Figueroa
|
|
|
|
|
//
|
|
|
|
|
// You can redistribute this code and/or modify it under
|
|
|
|
|
// the terms of the GNU General Public License as published
|
|
|
|
|
// by the Free Software Foundation; either version 2 of the
|
|
|
|
|
// License, or (at your option) any later version
|
|
|
|
|
// ==============================================================
|
|
|
|
|
|
|
|
|
|
namespace Glest{ namespace Game{
|
|
|
|
|
|
|
|
|
|
// =====================================================
|
|
|
|
|
// class GameConstants
|
|
|
|
|
// =====================================================
|
|
|
|
|
|
|
|
|
|
enum ControlType{
|
|
|
|
|
ctClosed,
|
|
|
|
|
ctCpuEasy,
|
|
|
|
|
ctCpu,
|
|
|
|
|
ctCpuUltra,
|
|
|
|
|
ctCpuMega,
|
|
|
|
|
ctNetwork,
|
|
|
|
|
ctHuman
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class GameConstants {
|
|
|
|
|
public:
|
|
|
|
|
static const int maxPlayers= 8;
|
|
|
|
|
static const int serverPort= 61357;
|
|
|
|
|
static const int updateFps= 40;
|
|
|
|
|
static const int cameraFps= 100;
|
|
|
|
|
static const int networkFramePeriod= 10;
|
|
|
|
|
static const int networkExtraLatency= 200;
|
|
|
|
|
|
|
|
|
|
static const char *folder_path_maps;
|
|
|
|
|
static const char *folder_path_scenarios;
|
|
|
|
|
static const char *folder_path_techs;
|
|
|
|
|
static const char *folder_path_tilesets;
|
|
|
|
|
static const char *folder_path_tutorials;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum PathType {
|
|
|
|
|
ptMaps,
|
|
|
|
|
ptScenarios,
|
|
|
|
|
ptTechs,
|
|
|
|
|
ptTilesets,
|
|
|
|
|
ptTutorials
|
|
|
|
|
};
|
|
|
|
|
|
2010-03-25 13:15:10 +01:00
|
|
|
|
struct CardinalDir {
|
|
|
|
|
public:
|
|
|
|
|
enum Enum { NORTH, EAST, SOUTH, WEST };
|
|
|
|
|
|
|
|
|
|
CardinalDir() : value(NORTH) {}
|
|
|
|
|
CardinalDir(Enum v) : value(v) {}
|
|
|
|
|
explicit CardinalDir(int v) {
|
|
|
|
|
assert(v >= 0 && v < 4);
|
|
|
|
|
value = static_cast<Enum>(v);
|
|
|
|
|
}
|
|
|
|
|
operator Enum() { return value; }
|
2010-03-16 22:44:22 +01:00
|
|
|
|
|
2010-03-25 13:15:10 +01:00
|
|
|
|
void operator++() {
|
|
|
|
|
value = static_cast<Enum>(value + 1 % 4);
|
|
|
|
|
}
|
|
|
|
|
void operator--() { // mod with negative numbers is a 'grey area', hence the +3 rather than -1
|
|
|
|
|
value = static_cast<Enum>(value + 3 % 4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
Enum value;
|
|
|
|
|
};
|
2010-03-16 22:44:22 +01:00
|
|
|
|
|
|
|
|
|
}}//end namespace
|
|
|
|
|
|
|
|
|
|
#endif
|