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

SideExt Class Reference

#include <src/Ext/Side/Body.h>

List of all members.

Classes

class  ExtData
struct  VoxFileNameStruct

Public Types

typedef SideClass TT

Static Public Member Functions

static DWORD BaseDefenses (REGISTERS *R, DWORD dwReturnAddress)
static DWORD Disguise (REGISTERS *R, DWORD dwReturnAddress, bool bUseESI)
static DWORD LoadTextColor (REGISTERS *R, DWORD dwReturnAddress)
static DWORD MixFileYuriFiles (REGISTERS *R, DWORD dwReturnAddress1, DWORD dwReturnAddress2)

Static Public Attributes

static Container< SideExtExtMap
static hash_map< VoxClass
*, DynamicVectorClass
< VoxFileNameStruct > > 
EVAFiles
static ColorScheme * CurrentLoadTextColor = NULL

Member Typedef Documentation

typedef SideClass SideExt::TT

Member Function Documentation

DWORD SideExt::BaseDefenses ( REGISTERS *  R,
DWORD  dwReturnAddress 
) [static]
{
        GET(HouseTypeClass *, pCountry, EAX);

        int n = pCountry->SideIndex;
        SideClass* pSide = SideClass::Array->GetItem(n);
        if(SideExt::ExtData *pData = SideExt::ExtMap.Find(pSide)) {
                R->EBX(&pData->BaseDefenses);
                return dwReturnAddress;
        } else {
                return 0;
        }
}
DWORD SideExt::Disguise ( REGISTERS *  R,
DWORD  dwReturnAddress,
bool  bUseESI 
) [static]
{
        GET(HouseClass *, pHouse, EAX);
        InfantryClass* pThis = (bUseESI ? R->ESI<InfantryClass*>() : R->ECX<InfantryClass *>());

        int n = pHouse->SideIndex;
        SideClass* pSide = SideClass::Array->GetItem(n);
        if(SideExt::ExtData *pData = SideExt::ExtMap.Find(pSide)) {
                pThis->Disguise = pData->DefaultDisguise;
                return dwReturnAddress;
        } else {
                return 0;
        }
}
DWORD SideExt::LoadTextColor ( REGISTERS *  R,
DWORD  dwReturnAddress 
) [static]
{
        // if there is a cached LoadTextColor, use that.
        if(SideExt::CurrentLoadTextColor) {
                R->EAX(SideExt::CurrentLoadTextColor);
                return dwReturnAddress;
        } else {
                return 0;
        }
}
DWORD SideExt::MixFileYuriFiles ( REGISTERS *  R,
DWORD  dwReturnAddress1,
DWORD  dwReturnAddress2 
) [static]
{
        GET(ScenarioClass *, pScen, EAX); //TODO test

        SideClass* pSide = SideClass::Array->GetItem(pScen->PlayerSideIndex);
        if(SideExt::ExtData *pData = SideExt::ExtMap.Find(pSide)) {
                return pData->SidebarYuriFileNames
                        ? dwReturnAddress1
                        : dwReturnAddress2
                ;
        } else {
                return 0;
        }
}

Member Data Documentation

ColorScheme * SideExt::CurrentLoadTextColor = NULL [static]
hash_map< VoxClass *, DynamicVectorClass< SideExt::VoxFileNameStruct > > SideExt::EVAFiles [static]

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