CC Structures

CCacheStatus

Used by the CCacheStatus Class

Offset

Size

Type

Field

0x00

4

int

m_nDrawnBars

0x04

4

int

m_nScreensDrawn

0x08

4

int

m_bDemandedResources

0x0C

4

int

m_bTravelScreen

0x10

4

long

m_nProgressBarCaption

0x14

4

long

m_nParchmentCaption

0x18

4

unsigned long

m_dwLastUpdateTickCount

0x1C

4

int

m_nTimeToNewHint

0x20

4

int

m_nCurrentHint

0x24

4

long

m_nCurrentHintRef

0x28

4

int

m_bWaiting

0x2C

32

CVidFont

m_vidFont

0x4C

32

CVidFont

m_initialsFont

0x6C

32

CVidFont

m_parchmentFont

0x8C

168

CVidMosaic

m_titleBar

0x134

192

CVidCell

m_skullAnimating

0x1F4

192

CVidCell

m_progressBar

0x2B4

4

int

m_nAnimationFrame

0x2B8

4

int

m_nAnimationDirection

0x2BC

4

int

m_bActivateEngine


CCallResult

Offset

Size

Type

Field

0x00

12

CCallbackBase

m_cCallbackBase

4

<padding>

0x10

8

QWORD (unsigned __int64)

m_hAPICall

0x18

4

CSteam*

m_pObj

0x1C

4

void

__thiscall * m_Func


CCallbackBase

Offset

Size

Type

Field

0x00

4

DWORD

vfptr

0x04

1

unsigned char

m_nCallbackFlags

3

<padding>

0x08

4

int

m_iCallback


CCharacterFile

Offset

Size

Type

Field

0x00

12

CResHelper

cResHelper


CChatBuffer

Used by the CChatBuffer Class

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_lLabels

0x1c

28

CTypedPtrList

m_lMessages

0x38

4

int

m_nMessageCount

0x3C

4

int

m_nDisplayCount


CChitin

Used by the CChitin Class

Offset

Size

Type

Field

0x00

4

vfptr

vfptr

4

<padding>

0x08

4

int

m_mouseLButton

0x0C

4

int

m_mouseRButton

0x10

4

int

m_bMouseLButtonDown

0x14

8

POINT

m_mouseLDblClickPoint

0x1C

4

unsigned int

m_mouseLDblClickCount

0x20

4

int

m_bMouseRButtonDown

0x24

8

POINT

m_mouseRDblClickPoint

0x2C

4

unsigned int

m_mouseRDblClickCount

0x30

4

int

m_bMouseMButtonDown

0x34

8

POINT

m_mouseMDblClickPoint

0x3C

4

unsigned int

m_mouseMDblClickCount

0x40

4

unsigned int

m_mouseDblClickTime

0x44

8

SIZE

m_mouseDblClickSize

0x4C

4

int

bEngineActive

0x50

4

int

bServicingEnabled

0x54

4

int

bMessagesEnabled

0x58

28

CObList

lEngines

0x74

4

unsigned int

nIterations

0x78

4

CWarp*

pStartingEngine

0x7C

4

unsigned int

nTimer

0x80

4

unsigned int

nTimerRes

0x84

4

CString

m_sCommandLine

0x88

16

CRect

m_rClient

0x98

1

unsigned char

m_bReInitializing

0x99

1

unsigned char

m_bScreenEdgeScroll

2

<padding>

0x9C

4

unsigned long

m_opSystemPlatformId

0xA0

2

short

m_capsLockState

2

<padding>

0xA4

8

CPoint

m_ptScreen

0xAC

4

int

m_bStartUpHost

0xB0

4

int

m_bStartUpConnect

0xB4

4

CString

m_sStartUpAddress

0xB8

4

CString

m_sStartUpPort

0xBC

4

CString

m_sStartUpPlayer

0xC0

4

CString

m_sStartUpPassword

0xC4

4

int

m_bStartUpNewGame

0xC8

4

int

m_bStartUpLoadGame

0xCC

4

CString

m_sStartUpSession

0xD0

1

unsigned char

m_bStartUpDirectPlayLobby

0xD1

1

unsigned char

m_bStartUpGameSpyLocation

2

<padding>

0xD4

4

CString

m_sStartUpGameSpyLocation

0xD8

1

unsigned char

m_bStartUpThroneOfBhaal

3

<padding>

0xDC

4

CSoundMixer*

cSoundMixer

0xE0

4

int

m_nMaxPlayers

0xE4

4

int

m_nCurrentSong

0xE8

16

_EAXPRESET

m_nSoundEnvironment

0xF8

4

int

m_bSoundInitialized

0xfc

1

unsigned char

padding

3

<padding>

0x100

4

int

m_bInMouseWheelQueue

0x104

28

CTypedPtrList

m_lstMouseWheel

0x120

4

unsigned long

m_wheelScrollLines

0x124

4

int

m_bIsMouseInWindow

0x128

4

int

m_bFrameOutline

0x12C

4

int

m_bUseMirrorFX

0x130

4

unsigned int

m_msgAutoPlay

0x134

4

void*

m_hEvent

0x138

1

unsigned char

m_bUsePlanescapeSoundReduction Curve

3

<padding>

0x13C

4

unsigned long

m_nSoundReductionCurveRadius

0x140

4

unsigned long

m_nTickCount

0x144

4

int

m_nAIPerSec

0x148

4

int

m_nAIElasped

0x14C

4

unsigned long

m_nRenderTickCount

0x150

4

int

m_nRenderPerSec

0x154

4

int

m_nRenderElasped

0x158

4

int

m_nAISleeper

0x15C

4

int

m_bIsTouchUI

0x160

4

int

m_bUseBGRA

0x164

4

int

m_bRenderTilesLinear

0x168

4

CString

m_sFontName

0x16C

4

int

m_nFullFrameTimer

0x170

4

int

m_nGameTimer

0x174

4

int

m_nRenderTimer

0x178

4

int

m_nSearchTimer

0x17C

4

CWarp*

pActiveEngine

0x180

4

CVideo

cVideo

0x184

2408

CNetwork

cNetwork

4

<padding>

0xAF0

328

CSteam

cSteam

0xC38

1

unsigned char

padding2

3

<padding>

0xC3C

4

int

bPointerUpdated

0xC40

8

CPoint

cMousePosition

0xC48

4

long

nAUCounter

0xC4C

4

int

bInTimer

0xC50

4

int

m_AIStale

0xC54

4

int

m_displayStale

0xC58

4

int

m_bInSyncUpdate

0xC5C

4

unsigned long

m_keyRepeatDelay

0xC60

4

unsigned long

m_keyRepeatRate

0xC64

112

CProgressBar

cProgressBar

0xCD4

2

unsigned short

m_nAICounter

2

<padding>

0xCD8

4

int

m_bManualFrameControl

0xCDC

4

int

m_displayDebug

0xCE0

4

int

m_displaySerialize

0xCE4

4

int

m_bExitOnError

0xCE8

4

int

m_bEnableCucumber

0xCEC

4

CResRef*

pCurRes

0xCF0

4

CString

m_sFontNameNormal

0xCF4

4

CString

m_sFontNameRealms

0xCF8

4

CString

m_sFontNameStoneBig

0xCFC

4

CString

m_sFontNameStoneSml

0xD00

4

CString

m_sFontNameToolFont

0xD04

4

CString

m_sFontNameFloatTxt

0xD08

4

int

m_bDisplaySubtitles

0xD0C

4

int

m_bReverseMouseWheelZoom


CClosure

Offset

Size

Type

Field

0x00

4

GCObject*

next

0x04

1

unsigned char

tt

0x05

1

unsigned char

marked

0x06

1

unsigned char

nupvalues

1

<padding>

0x08

4

GCObject*

gclist

0x0C

4

int (__cdecl * f)(lua_State*)

0x10

8

lua_TValue

upvalue[1]


CCmdTarget

Offset

Size

Type

Field

0x00

4

CObject

m_cObject


CColorEffect

Offset

Size

Type

Field

0x00

1

unsigned char

m_effectType

0x01

1

unsigned char

m_range

2

<padding>

0x04

4

unsigned long

m_tintColor

0x08

1

unsigned char

m_periodLength

3

<padding>


CColorEffects

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList


CColorRange

Offset

Size

Type

Field

0x00

1

unsigned char

m_range

0x01

1

unsigned char

m_color


CColorRanges

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList


CContingency

Offset

Size

Type

Field

0x00

48

CAITrigger

m_cTrigger

0x30

8

CResRef

m_cSpellRes

0x38

8

CResRef

m_cSpellRes2

0x40

8

CResRef

m_cSpellRes3

0x48

20

CAIObjectType

m_cTarget

0x5C

4

unsigned long

m_dwFlags

0x60

324

CGameEffect

m_parentEffect

0x1A4

4

unsigned long

m_dwTarget

0x1A8

4

unsigned long

m_dwCondition

0x1AC

4

unsigned long

m_nLastCheck


CContingencyList

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList


CContingencySpell

Offset

Size

Type

Field

0x00

8

unsigned char

m_spellId

0x08

8

unsigned char

m_origId

0x10

2

unsigned short

m_flags


CCreatureFile

Offset

Size

Type

Field

0x00

12

CResHelper

cResHelper


CCreatureFileEquipment

Offset

Size

Type

Field

0x00

2

unsigned short

m_helmetItem

0x02

2

unsigned short

m_armorItem

0x04

2

unsigned short

m_shieldItem

0x06

2

unsigned short

m_gauntletsItem

0x08

2

unsigned short

m_ringLeftItem

0x0A

2

unsigned short

m_ringRightItem

0x0C

2

unsigned short

m_amuletItem

0x0E

2

unsigned short

m_beltItem

0x10

2

unsigned short

m_bootsItem

0x12

8

unsigned short

m_weaponItem[4]

0x1A

8

unsigned short

m_ammoItem[4]

0x22

2

unsigned short

m_cloakItem

0x24

40

unsigned short

m_miscItem[20]

0x4C

2

unsigned short

m_selectedWeapon

0x4E

2

unsigned short

m_selectedWeaponAbility

Notes

Related to CRE V1.0 Item Slots


CCreatureFileHeader

Offset

Size

Type

Field

0x00

4

unsigned long

m_name

0x04

4

unsigned long

m_apparentName

0x08

4

unsigned long

m_flags

0x0C

4

unsigned long

m_xpValue

0x10

4

unsigned long

m_xp

0x14

4

unsigned long

m_gold

0x18

4

unsigned long

m_generalState

0x1C

2

short

m_hitPoints

0x1E

2

unsigned short

m_maxHitPointsBase

0x20

4

unsigned long

m_animationType

0x24

7

unsigned char

m_colors[7]

0x2B

1

unsigned char

m_effectVersion

0x2C

8

unsigned char

m_portraitSmall[8]

0x34

8

unsigned char

m_portraitLarge[8]

0x3C

1

unsigned char

m_reputation

0x3D

1

unsigned char

m_hideInShadowsBase

0x3E

2

short

m_armorClass

0x40

2

short

m_armorClassBase

0x42

2

short

m_armorClassCrushingAdjustment

0x44

2

short

m_armorClassMissileAdjustment

0x46

2

short

m_armorClassPiercingAdjustment

0x48

2

short

m_armorClassSlashingAdjustment

0x4A

1

char

m_toHitArmorClass0Base

0x4B

1

unsigned char

m_numberOfAttacksBase

0x4C

1

unsigned char

m_saveVSDeathBase

0x4D

1

unsigned char

m_saveVSWandsBase

0x4E

1

unsigned char

m_saveVSPolyBase

0x4F

1

unsigned char

m_saveVSBreathBase

0x50

1

unsigned char

m_saveVSSpellBase

0x51

1

char

m_resistFireBase

0x52

1

char

m_resistColdBase

0x53

1

char

m_resistElectricityBase

0x54

1

char

m_resistAcidBase

0x55

1

char

m_resistMagicBase

0x56

1

char

m_resistMagicFireBase

0x57

1

char

m_resistMagicColdBase

0x58

1

char

m_resistSlashingBase

0x59

1

char

m_resistCrushingBase

0x5A

1

char

m_resistPiercingBase

0x5B

1

char

m_resistMissileBase

0x5C

1

unsigned char

m_detectIllusionBase

0x5D

1

unsigned char

m_setTrapsBase

0x5E

1

unsigned char

m_loreBase

0x5F

1

unsigned char

m_lockPickingBase

0x60

1

unsigned char

m_moveSilentlyBase

0x61

1

unsigned char

m_trapsBase

0x62

1

unsigned char

m_pickPocketBase

0x63

1

unsigned char

m_fatigue

0x64

1

unsigned char

m_intoxication

0x65

1

char

m_luckBase

0x66

15

char

m_proficiencies[15]

0x75

1

unsigned char

m_bNightmare

0x76

1

unsigned char

m_nTranslucent

0x77

1

char

m_repChangeKilled

0x78

1

char

m_repChangeJoined

0x79

1

char

m_repChangeKicked

0x7A

1

unsigned char

m_undeadLevel

0x7B

1

unsigned char

m_trackingBase

0x7C

32

char

m_trackingTarget[32]

0x9C

400

unsigned long

m_speech[100]

0x22C

1

unsigned char

m_level1

0x22D

1

unsigned char

m_level2

0x22E

1

unsigned char

m_level3

0x22F

1

unsigned char

m_sex

0x230

1

unsigned char

m_STRBase

0x231

1

unsigned char

m_STRExtraBase

0x232

1

unsigned char

m_INTBase

0x233

1

unsigned char

m_WISBase

0x234

1

unsigned char

m_DEXBase

0x235

1

unsigned char

m_CONBase

0x236

1

unsigned char

m_CHRBase

0x237

1

unsigned char

m_morale

0x238

1

unsigned char

m_moraleBreak

0x239

1

unsigned char

m_hatedRace

0x23A

2

unsigned short

m_moraleRecoveryTime

0x23C

2

unsigned short

m_mageSpecUpperWord

0x23E

2

unsigned short

m_mageSpecialization

0x240

8

unsigned char

m_scriptOverRide[8]

0x248

8

unsigned char

m_scriptClass[8]

0x250

8

unsigned char

m_scriptRace[8]

0x258

8

unsigned char

m_scriptGeneral[8]

0x260

8

unsigned char

m_scriptDefault[8]

Notes

Related to CRE V1.0 Header

  • m_generalState (offset 0x18) contains values found in STATE.IDS

  • m_animationType (offset 0x20) contains values found in ANIMATE.IDS

  • m_effectVersion (offset 0x2B) contains: 0 version 1 EFF or 1 version 2 EFF

  • m_hatedRace (offset 0x239) contains racial enemy values found in RACE.IDS


CCreatureFileItem

Offset

Size

Type

Field

0x00

8

unsigned char

m_itemId[8]

0x08

2

unsigned short

m_wear

0x0A

6

unsigned short

m_usageCount[3]

0x10

4

unsigned long

m_dynamicFlags

Notes

Related to CRE V1.0 Items Table

  • m_wear (offset 0x08) item expiration time

  • m_usageCount[3] (offset 0x0A) item quantity/charges

  • m_dynamicFlags (offset 0x10) contains: bit 0 = Identified, bit 1 = Unstealable, bit 2 = Stolen, bit 3 = Undroppable


CCreatureFileKnownSpell

Offset

Size

Type

Field

0x00

8

unsigned char

m_knownSpellId[8]

0x08

2

unsigned short

m_spellLevel

0x0A

2

unsigned short

m_magicType

Notes

Related to CRE V1.0 Known Spells

  • m_magicType (offset 0x0A) contains: 0 = Priest, 1 = Wizard, 2 = Innate


CCreatureFileMemorizedSpell

Offset

Size

Type

Field

0x00

8

unsigned char

m_spellId[8]

0x08

2

unsigned short

m_flags

0x0A

2

unsigned char

structureAlignment1[2]

Notes

Related to CRE V1.0 Memorized Spells Table

  • m_flags (offset 0x08) contains: bit 0 = Memorised or bit 1 = Disabled


CCreatureFileMemorizedSpellLevel

Offset

Size

Type

Field

0x00

2

unsigned short

m_spellLevel

0x02

2

unsigned short

m_baseCount

0x04

2

unsigned short

m_count

0x06

2

unsigned short

m_magicType

0x08

4

unsigned long

m_memorizedStartingSpell

0x0C

4

unsigned long

m_memorizedCount

Notes

Related to CRE V1.0 Spell Memorization Info

  • m_magicType (offset 0x06) contains: 0 = Priest, 1 = Wizard, 2 = Innate

  • m_memorizedStartingSpell (offset 0x08) index into memorized spells (array of CCreatureFileMemorizedSpell structures) of first memorized spell of this type in this level

  • m_memorizedCount (offset 0x0C) count of memorized spell entries in memorized spells array of memorized spells of this type in this level


CCreatureFileOffsets

Offset

Size

Type

Field

0x00

1

unsigned char

m_enemyAlly

0x01

1

unsigned char

m_general

0x02

1

unsigned char

m_race

0x03

1

unsigned char

m_class

0x04

1

unsigned char

m_specifics

0x05

1

unsigned char

m_gender

0x06

1

unsigned char

m_specialCase[5]

0x0B

1

unsigned char

m_alignment

0x0C

4

long

m_instance

0x10

32

char

m_name[32]

0x30

4

unsigned long

m_knownSpellListOffset

0x34

4

unsigned long

m_knownSpellListCount

0x38

4

unsigned long

m_memorizationLevelListOffset

0x3C

4

unsigned long

m_memorizationLevelListCount

0x40

4

unsigned long

m_memorizationSpellListOffset

0x44

4

unsigned long

m_memorizationSpellListCount

0x48

4

unsigned long

m_equipmentListOffset

0x4C

4

unsigned long

m_itemListOffset

0x50

4

unsigned long

m_itemListCount

0x54

4

unsigned long

m_effectListOffset

0x58

4

unsigned long

m_effectListCount

0x5C

8

unsigned char

m_dialog[8]

Notes

Related to offset 0x0270 of CRE V1.0 Header


CCriticalEntry

Offset

Size

Type

Field

0x00

8

CResRef

m_res

0x08

4

int

m_hitOrMiss

0x0C

4

int

m_slot

0x10

4

int

m_attackType

0x14

4

int

m_itemType

0x18

4

int

m_bonus


CCriticalEntryList

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList


CCrypt

Offset

Size

Type

Field

1

<padding>