Ares
Classes | Static Public Member Functions | Static Public Attributes | Private Member Functions

Ares::GlobalControls Class Reference

#include <src/Ares.h>

List of all members.

Classes

class  SurfaceConfig

Static Public Member Functions

static void LoadConfig ()
static void Load (CCINIClass *)
static void LoadFromRules (CCINIClass *)

Static Public Attributes

static CCINIClass * INI = NULL
static bool Initialized = 0
static bool AllowParallelAIQueues = 1
static byte GFX_DX_Force = 0
static std::bitset< 3 > AllowBypassBuildLimit
static SurfaceConfig GFX_S_Alternate = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Composite = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Hidden = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Hidden_2 = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Primary = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Sidebar = {0xFF, 0xFF}
static SurfaceConfig GFX_S_Tile = {0xFF, 0xFF}

Private Member Functions

 GlobalControls ()

Constructor & Destructor Documentation

Ares::GlobalControls::GlobalControls ( ) [inline, private]
{};

Member Function Documentation

void Ares::GlobalControls::Load ( CCINIClass *  pINI) [static]
                                              {
        Initialized = 1;
        AllowParallelAIQueues = pINI->ReadBool("GlobalControls", "AllowParallelAIQueues", AllowParallelAIQueues);

        if(pINI->ReadString("GlobalControls", "AllowBypassBuildLimit", "", Ares::readBuffer, Ares::readLength)) {
                int idx = 0;
                for(char * cur = strtok(Ares::readBuffer, ","); cur && *cur && idx <= 2; cur = strtok(NULL, ","), ++idx) {
                        int diffIdx = 2 - idx; // remapping so that HouseClass::AIDifficulty can be used as an index
                        AllowBypassBuildLimit[diffIdx] = _strcmpi(cur, "Yes") == 0;
                }
        }
}
void Ares::GlobalControls::LoadConfig ( ) [static]
                                    {
        if(INI->ReadString("Graphics.Advanced", "DirectX.Force", Ares::readDefval, Ares::readBuffer, Ares::readLength)) {
                if(!_strcmpi(Ares::readBuffer, "hardware")) {
                        GFX_DX_Force = GFX_DX_HW;
                } else if(!_strcmpi(Ares::readBuffer, "emulation")) {
                        GFX_DX_Force = GFX_DX_EM;
                }
        }
        if(Ares::RunningOnWindows7OrVista()) {
                GFX_DX_Force = 0;
        }

#define ReadSurface(__surface__) \
        if(INI->ReadString("Graphics.Advanced", "Surface." str(__surface__) ".Memory", Ares::readDefval, Ares::readBuffer, Ares::readLength)) { \
                if(!_strcmpi(Ares::readBuffer, "VRAM")) { \
                        GFX_S_ ## __surface__ .Memory = GFX_SU_VRAM; \
                } else if(!_strcmpi(Ares::readBuffer, "System")) { \
                        GFX_S_ ## __surface__ .Memory = GFX_SU_SYSTEM; \
                } \
        } \
        if(INI->ReadString("Graphics.Advanced", "Surface." str(__surface__) ".Force3D", Ares::readDefval, Ares::readBuffer, Ares::readLength)) { \
         bool F3D = INI->ReadBool("Graphics.Advanced", "Surface." str(__surface__) ".Force3D", false); \
         GFX_S_ ## __surface__ .Force3D = F3D ? 1 : 0;\
        }

        ReadSurface(Alternate);
        ReadSurface(Composite);
        ReadSurface(Hidden);
        ReadSurface(Hidden_2);
        ReadSurface(Primary);
        ReadSurface(Sidebar);
        ReadSurface(Tile);
}
static void Ares::GlobalControls::LoadFromRules ( CCINIClass *  ) [static]

Member Data Documentation

CCINIClass * Ares::GlobalControls::INI = NULL [static]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines