CP Structures

CParticle

Used by the CParticle Class

Offset

Size

Type

Field

0x00

2

short

m_nTimeStamp

0x02

2

short

m_nTailLength

0x04

2

short

m_nRenderTime

2

<padding>

0x08

4

unsigned long

m_rgbColor

0x0C

2

unsigned short

m_wType

2

<padding>

0x10

4

long

m_nLifeSpan

0x14

1

unsigned char

m_bTag

3

<padding>

0x18

12

CPARTICLE_POINT

m_pos

0x24

12

CPARTICLE_POINT

m_vel

0x30

4

long

m_nGravity


CPARTICLE_POINT

Offset

Size

Type

Field

0x00

4

long

x

0x04

4

long

y

0x08

4

long

z


CPathNode

Offset

Size

Type

Field

0x00

4

CPathNode*

m_pathNodePrev

0x04

4

CPathNode*

m_listOpenLeft

0x08

4

CPathNode*

m_listOpenRight

0x0C

4

CPathNode*

m_listOpenParent

0x10

4

long

m_gridPosition

0x14

4

long

m_costStart

0x18

4

long

m_costTotal

0x1C

1

unsigned char

m_fIsOpen

3

<padding>


CPathSearch

Used by the CPathSearch Class

Offset

Size

Type

Field

0x00

4

int

PATH_SMOOTH

0x04

4

CPathNode**

m_pListGrid

0x08

4

CPathNode*

m_openList

0x0C

2

short

m_openListLevel

0x0E

2

short

m_nOpenList

0x10

4

long*

m_pathBegin

0x14

2

short

m_nPathNodes

0x16

2

short

m_pathCurrent


CPersistantEffect

Used by the CPersistantEffect Class

Offset

Size

Type

Field

0x00

4

vfptr

vfptr

0x04

4

int

m_done

0x08

4

int

m_deleted

0x0C

2

short

m_numDamage

0x0E

2

short

m_persistantType

0x10

4

long

m_sourceID

0x14

2

short

m_period

0x16

2

short

m_periodCounter

0x18

4

long

m_counter


CPersistantEffectApplyEffect

Offset

Size

Type

Field

0x00

40

CPersistantEffectDamage

m_cPersistantEffectDamage

0x28

8

CResRef

m_res

0x30

4

CGameEffect*

m_pSourceEffect


CPersistantEffectBurningDeath

Offset

Size

Type

Field

0x00

28

CPersistantEffect

m_cPersistantEffect

0x1C

1

unsigned char

m_charredDegree

0x1D

1

unsigned char

m_charredIncrement

2

<padding>


CPersistantEffectColorEffect

Offset

Size

Type

Field

0x00

28

CPersistantEffect

m_cPersistantEffect

0x1C

4

int

m_undo

0x20

1

unsigned char

m_effectFinalRed

0x21

1

unsigned char

m_effectDegreeRed

0x22

1

unsigned char

m_effectIncrementRed

0x23

1

unsigned char

m_effectFinalGreen

0x24

1

unsigned char

m_effectDegreeGreen

0x25

1

unsigned char

m_effectIncrementGreen

0x26

1

unsigned char

m_effectFinalBlue

0x27

1

unsigned char

m_effectDegreeBlue

0x28

1

unsigned char

m_effectIncrementBlue

0x29

1

unsigned char

m_colorEffect

2

<padding>


CPersistantEffectDamage

Offset

Size

Type

Field

0x00

28

CPersistantEffect

m_cPersistantEffect

0x1C

2

short

m_type

0x1E

2

short

m_maxDamage

0x20

2

short

m_damage

2

<padding>

0x24

4

long

m_duration


CPersistantEffectDisease

Offset

Size

Type

Field

0x00

40

CPersistantEffectDamage

m_cPersistantEffectDamage

0x28

8

CResRef

m_res


CPersistantEffectElectricDeath

Offset

Size

Type

Field

0x00

32

CPersistantEffectBurningDeath

m_cPersistantEffectBurningDeath


CPersistantEffectFadeEffect

Offset

Size

Type

Field

0x00

28

CPersistantEffect

m_cPersistantEffect

0x1C

2

short

m_fade

0x1E

2

short

m_type

0x20

2

short

m_increment

2

<padding>


CPersistantEffectFireDeath

Offset

Size

Type

Field

0x00

32

CPersistantEffectBurningDeath

m_cPersistantEffectBurningDeath


CPersistantEffectList

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList


CPersistantEffectListRegenerated

Offset

Size

Type

Field

0x00

28

CTypedPtrList

m_cTypedPtrList

0x1C

4

unsigned long

m_nCounter


CPersistantEffectMove

Offset

Size

Type

Field

0x00

28

CPersistantEffect

m_cPersistantEffect

0x1C

2

short

m_type

2

<padding>

0x20

4

long

m_speed

0x24

8

CPoint

m_dest

0x2C

4

long

m_target


CPersistantEffectPoison

Offset

Size

Type

Field

0x00

40

CPersistantEffectDamage

m_cPersistantEffectDamage


CPersistantEffectRegeneration

Offset

Size

Type

Field

0x00

40

CPersistantEffectDamage

m_cPersistantEffectDamage


CPlatform

Offset

Size

Type

Field

1


CPlex

Used by the CPlex Class

Offset

Size

Type

Field

0x00

4

CPlex*

pNext

0x04

4

unsigned long

dwReserved[1]


CPoint

Note

Actually defined as POINT but adapted/recreated as its own structure.

Offset

Size

Type

Field

0x00

4

long

x

0x04

4

long

y


CPortraitIcon

Offset

Size

Type

Field

0x00

4

int

icon

0x04

4

int

frame

0x08

192

CVidCell

bam


CProgressBar

Offset

Size

Type

Field

0x00

4

unsigned long

m_nSecondsToTimeout

0x04

4

long

m_nProgressBarCaption

0x08

4

long

m_nParchmentCaption

0x0C

4

long

m_nActionProgress

0x10

4

long

m_nActionTarget

0x14

1

unsigned char

m_bTravelActive

0x15

1

unsigned char

m_bWaiting

2

<padding>

0x18

4

long

m_nWaitingReason

0x1C

1

unsigned char

m_bDisableMinibars

0x1D

1

unsigned char

m_bTimeoutVisible

0x1E

1

unsigned char

m_bProgressBarActivated

0x1F

6

unsigned char

m_bRemoteWaiting[6]

3

<padding>

0x28

24

long

m_nRemoteActionProgress[6]

0x40

24

long

m_nRemoteActionTarget[6]

0x58

24

long

m_nRemoteWaitingReason[6]


CProjectile

Used by the CProjectile Class

Offset

Size

Type

Field

0x00

71

CGameObject

m_cGameObject

1

<padding>

0x48

2

unsigned short

m_projectileType

0x4A

1

unsigned char

m_addToListType

1

<padding>

0x4C

2

short

m_speed

2

<padding>

0x50

4

long

m_sourceId

0x54

4

long

m_targetId

0x58

4

long

m_callBackProjectile

0x5C

44

CGameEffectList

m_effectList

0x88

2

short

m_nType

2

<padding>

0x8C

8

CPoint

m_posExact

0x94

8

CPoint

m_posDelta

0x9C

8

CPoint

m_startDelta

0xA4

8

CPoint

m_minRandomSpeed

0xAC

8

CPoint

m_maxRandomSpeed

0xB4

4

int

m_startSpeed

0xB8

8

CPoint

m_posDest

0xC0

16

unsigned char

m_terrainTable[16]

0xD0

2

unsigned short

m_decAmmount

2

<padding>

0xD4

4

int

m_bSparkleTrail

0xD8

4

unsigned long

m_defaultRenderFlags

0xDC

4

int

m_bIgnoreTarget

0xE0

20

CSound

m_sound

0xF4

8

CResRef

m_fireSoundRef

0xFC

4

int

m_loopFireSound

0x100

8

CResRef

m_arrivalSoundRef

0x108

4

int

m_loopArrivalSound

0x10C

1

unsigned char

m_bHasHeight

1

<padding>

0x10E

2

short

m_nDeltaZ

0x110

2

short

m_nDeltaZLast

2

<padding>

0x114

4

long

m_nOrigDistance

0x118

8

CPoint

m_ptBamSize

0x120

4

long

m_dwFlags

0x124

4

long

m_maxBounces

0x128

4

CString

m_visualEffectRef

0x12C

4

long

m_visualEffect

0x130

2

short

m_maxDuration

0x132

2

short

m_lanceWidth

0x134

4

unsigned long

m_extFlags

0x138

4

unsigned long

m_strRef

0x13C

4

unsigned long

m_color

0x140

2

unsigned short

m_colorSpeed

0x142

2

unsigned short

m_shake

0x144

2

unsigned short

m_IDSValue1

0x146

2

unsigned short

m_IDSType1

0x148

2

unsigned short

m_IDSValue2

0x14A

2

unsigned short

m_IDSType2

0x14C

8

CResRef

m_failureSpell

0x154

8

CResRef

m_successSpell


CProjectileAmbiant

Offset

Size

Type

Field

0x00

722

CProjectileSpellHit

m_cProjectileSpellHit

2

<padding>


CProjectileArea

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

8

CResRef

m_resref

0x2A4

2

short

m_explosionRange

0x2A6

2

short

m_triggerRange

0x2A8

2

unsigned short

m_secondaryProjectile

0x2AA

2

short

m_nRepetitionCount

0x2AC

4

int

m_bReachedDestination

0x2B0

2

short

m_nDelay

0x2B2

2

short

m_nDelayCount

0x2B4

4

int

m_bDetonateOnlyIfTargets

0x2B8

20

CAIObjectType

m_targetType

0x2CC

1

unsigned char

m_fireBallType

3

<padding>

0x2D0

4

int

m_bSparkleExplosion

0x2D4

2

unsigned short

m_sparkleExplosionProjectile

2

<padding>

0x2D8

4

int

m_bDelayedTrigger

0x2DC

4

int

m_bChunksExplosion

0x2E0

4

int

m_checkForNonSprites

0x2E4

4

int

m_centerBam

0x2E8

2

unsigned short

m_explodeId

0x2EA

8

CResRef

m_explosionSound

0x2F2

1

unsigned char

m_ringColor

1

<padding>

0x2F4

4

int

m_bVVCAtCenter

0x2F8

8

CResRef

m_centerVVC

0x300

4

int

m_bConeFromCaster

0x304

2

unsigned short

m_coneSize

2

<padding>

0x308

4

int

m_bIgnoreLOS

0x30C

1

char

m_portraitNum

3

<padding>

0x310

4

int

m_bResolvePortraitNum

0x314

4

int

m_centerBamWait

0x318

4

int

m_forceInitialWait

0x31C

4

int

m_oneTargetOnly

0x320

4

unsigned long

m_targetCount

0x324

4

unsigned long

m_hpLimit

0x328

4

unsigned long

m_animationID

0x32C

4

unsigned long

m_animationIDStatic

0x330

8

CResRef

m_fireBallSound

0x338

8

CResRef

m_fireBallArea

0x340

8

CResRef

m_fireBallRing

0x348

4

unsigned long

m_fireBallFlags

0x34C

2

unsigned short

m_granularity

0x34E

2

unsigned short

m_granDivider

0x350

2

unsigned short

m_childCount

2

<padding>

0x354

4

int

m_bPointsInited

0x358

32

CPoint

m_points[4]


CProjectileAreaFileFormat

Offset

Size

Type

Field

0x00

504

CProjectileBAMFileFormat

m_cProjectileBAMFileFormat

0x1F8

4

unsigned long

m_dwAreaFlags

0x1FC

2

unsigned short

m_triggerRange

0x1FE

2

unsigned short

m_explosionRange

0x200

8

CResRef

m_explodeSound

0x208

2

unsigned short

m_nDelay

0x20A

2

unsigned short

m_explodeId

0x20C

2

unsigned short

m_sparkleExplosionProjectile

0x20E

1

unsigned char

m_nRepetitionCount

0x20F

1

unsigned char

m_fireBallType

0x210

1

unsigned char

m_ringColor

0x211

1

unsigned char

padding1

0x212

2

unsigned short

m_secondaryProjectile

0x214

8

CResRef

m_centerVVC

0x21C

2

unsigned short

m_coneSize

0x21E

2

unsigned short

padding2

0x220

8

CResRef

m_fireBallArea

0x228

8

CResRef

m_fireBallRing

0x230

8

CResRef

m_fireBallSound

0x238

4

unsigned long

m_fireBallFlags

0x23C

2

unsigned short

m_targetDiceCount

0x23E

2

unsigned short

m_targetDiceSize

0x240

2

unsigned short

m_granularity

0x242

2

unsigned short

m_granDivider

0x244

180

unsigned long

reservedSpace[45]

Notes

Related to PRO V1 Projectile area of effect


CProjectileBAM

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile

0x15C

4

CVidCell*

m_currentVidCell

0x160

4

CVidCell*

m_shadowVidCell

0x164

36

CVidPalette

m_palette

0x188

4

int

m_tint

0x18C

4

int

m_height

0x190

4

int

m_glow

0x194

8

CSize

m_glowSize

0x19C

2

short

m_glowIntensity

2

<padding>

0x1A0

4

int

m_shadow

0x1A4

2

short

m_numDirections

0x1A6

2

short

m_direction

0x1A8

2

short

m_newDirection

2

<padding>

0x1AC

4

int

m_render

0x1B0

176

CVidBitmap

m_newPalette

0x260

1

unsigned char

m_bNewPalette

0x261

1

unsigned char

m_bDuration

2

<padding>

0x264

4

int

m_bSmoke

0x268

1

unsigned char

m_smokePeriod

0x269

7

unsigned char

m_smokeColorRange[7]

0x270

1

unsigned char

m_smokeCount

1

<padding>

0x272

2

unsigned short

m_smokeAnimationCode

0x274

8

CResRef

m_cPuffEffect1

0x27C

8

CResRef

m_cPuffEffect2

0x284

8

CResRef

m_cPuffEffect3

0x28C

2

unsigned short

m_nPuff1Spacing

0x28E

2

unsigned short

m_nPuff2Spacing

0x290

2

unsigned short

m_nPuff3Spacing

2

<padding>

0x294

4

unsigned long

m_dwPuffFlags

0x298

4

long

m_puffCounter

Notes

Related to PRO V1 Projectile graphics


CProjectileBAMFileFormat

Offset

Size

Type

Field

0x00

248

CProjectileFileFormat

m_cProjectileBAMFileFormat

0xF8

4

unsigned long

m_dwBAMFlags

0xfC

8

CResRef

m_vidCell

0x104

8

CResRef

m_shadowVidCell

0x10C

1

unsigned char

m_seqVidCell

0x10D

1

unsigned char

m_seqShadowVidCell

0x10E

2

short

m_glowIntensity

0x110

2

short

m_glowSizeX

0x112

2

short

m_glowSizeY

0x114

8

CResRef

m_paletteResRef

0x11C

7

unsigned char

m_colors[7]

0x123

1

unsigned char

m_smokePeriod

0x124

7

unsigned char

m_smokeColors[7]

0x12B

1

unsigned char

m_numDirections

0x12C

2

unsigned short

m_smokeAnimationCode

0x12E

8

CResRef

m_cPuffEffect1

0x136

8

CResRef

m_cPuffEffect2

0x13E

8

CResRef

m_cPuffEffect3

0x146

2

unsigned short

m_nPuff1Spacing

0x148

2

unsigned short

m_nPuff2Spacing

0x14A

2

unsigned short

m_nPuff3Spacing

0x14C

4

unsigned long

m_dwPuffFlags

0x150

168

unsigned long

reservedSpace[42]

Notes

Related to PRO V1 Projectile graphics


CProjectileCallLightning

Offset

Size

Type

Field

0x00

348

CProjectileInstant

m_cProjectileInstant


CProjectileCastingGlow

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile

0x15C

192

CVidCell

m_animation

0x21C

176

CVidBitmap

m_newPalette

0x2CC

4

unsigned long

m_dwRenderFlags

0x2D0

1

unsigned char

m_bNewPalette

0x2D1

1

unsigned char

m_transparency

0x2D2

1

unsigned char

m_duration

0x2D3

1

unsigned char

m_delay


CProjectileChain

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29c

2

short

m_numProjectile

0x29E

2

short

m_nDelay

0x2A0

4

int

m_bOriginCaster

0x2A4

2

unsigned short

m_secondaryProjectileType

2

<padding>

0x2A8

4

CProjectile*

m_carrierProjectile

0x2AC

4

int

m_carrierArrived

0x2B0

20

CAIObjectType

m_targetType

0x2C4

4

long

m_nHeight

0x2C8

2

short

m_nType

2

<padding>

0x2CC

4

int

m_bUseLineOfSight

0x2D0

2

short

m_nDelayCount

2

<padding>


CProjectileColorSpray

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

2

short

m_counter

2

<padding>


CProjectileConeOfCold

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

2

short

m_counter

2

<padding>


CProjectileFall

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

4

int

m_sideMove

0x2A0

4

long

m_nSideSpeed

0x2A4

4

int

m_bAreaEffect

0x2A8

2

short

m_nAreaRange

2

<padding>

0x2AC

20

CAIObjectType

m_targetType


CProjectileFile

Offset

Size

Type

Field

0x00

12

CResHelper

m_cResHelper


CProjectileFileFormat

Offset

Size

Type

Field

0x00

2

unsigned short

m_wFileType

0x02

2

short

m_speed

0x04

4

unsigned long

m_dwFlags

0x08

8

CResRef

m_fireSoundRef

0x10

8

CResRef

m_arrivalSoundRef

0x18

8

CResRef

m_visualEffectRef

0x20

2

short

m_sparkleColor

0x22

2

short

m_lanceWidth

0x24

4

unsigned long

m_extFlags

0x28

4

unsigned long

m_strRef

0x2C

4

unsigned long

m_color

0x30

2

unsigned short

m_colorSpeed

0x32

2

unsigned short

m_shake

0x34

2

unsigned short

m_IDSValue1

0x36

2

unsigned short

m_IDSType1

0x38

2

unsigned short

m_IDSValue2

0x3A

2

unsigned short

m_IDSType2

0x3C

8

CResRef

m_failureSpell

0x44

8

CResRef

m_successSpell

0x4C

4

long

m_maxBounces

0x50

168

unsigned long

reservedSpace[42]

Notes

Related to PRO V1 File Format


CProjectileFireHands

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

2

short

m_counter

2

<padding>


CProjectileInstant

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile


CProjectileInvisibleTravelling

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM


CProjectileLightningBolt

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM


CProjectileLightningBoltGround

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

4

long

m_maxBounces


CProjectileLightningBounce

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

4

long

m_lifeSpan


CProjectileLightningStorm

Offset

Size

Type

Field

0x00

722

CProjectileChain

m_cProjectileChain

2

<padding>


CProjectileMagicMissileMulti

Offset

Size

Type

Field

0x00

696

CProjectileMulti

m_cProjectileMulti


CProjectileMulti

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

28

CTypedPtrList

m_projectiles


CProjectileMushroom

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM


CProjectileNewScorcher

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

1

unsigned char

m_nSegments

3

<padding>

0x2A0

4

long

m_deltaZ

0x2A4

256

long

itsAffectedCreatures[64]

0x3A4

4

int

itsNumAffectedCreatures

0x3A8

4

int

itsAIUpdateCounter

0x3AC

4

int

itsApplyEffectsInterval

0x3B0

4

int

itsClearAffectedCreaturesInterval

0x3B4

4

int

itsTargetID


CProjectileScorcher

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

1

unsigned char

m_lifeSpan

0x29D

1

unsigned char

m_nSegments

2

<padding>

0x2A0

4

long

m_deltaZ

0x2A4

1

unsigned char

m_bGlow

3

<padding>


CProjectileSegment

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM

0x29C

2

short

m_counter

2

<padding>


CProjectileSkyStrike

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile

0x15C

192

CVidCell

m_animation

0x21C

36

CVidPalette

m_palette

0x240

4

int

m_bGlow

0x244

2

unsigned short

m_duration

2

<padding>


CProjectileSkyStrikeBAM

Offset

Size

Type

Field

0x00

668

CProjectileBAM

m_cProjectileBAM


CProjectileSpellHit

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile

0x15C

192

CVidCell

m_animation

0x21C

176

CVidBitmap

m_newPalette

0x2CC

4

unsigned long

m_dwRenderFlags

0x2D0

1

unsigned char

m_bNewPalette

0x2D1

1

unsigned char

m_transparency

2

<padding>


CProjectileTravelDoor

Offset

Size

Type

Field

0x00

348

CProjectile

m_cProjectile

0x15C

192

CVidCell

m_animation

0x21C

176

CVidBitmap

m_newPalette

0x2CC

4

unsigned long

m_dwRenderFlags

0x2D0

1

unsigned char

m_bNewPalette

0x2D1

1

unsigned char

m_transparency

2

<padding>

0x2D4

4

CString

m_animationStr

0x2D8

1

unsigned char

m_nState

3

<padding>


CPtrArray

Offset

Size

Type

Field

0x00

4

CObject

m_cObject

0x04

4

void**

m_pData

0x08

4

int

m_nSize

0x0C

4

int

m_nMaxSize

0x10

4

int

m_nGrowBy


CPtrList

Used by the CPtrList Class

Offset

Size

Type

Field

0x00

4

CObject

m_cObject

0x04

4

CPtrList::CNode*

m_pNodeHead

0x08

4

CPtrList::CNode*

m_pNodeTail

0x0C

4

int

m_nCount

0x10

4

CPtrList::CNode*

m_pNodeFree

0x14

4

CPlex*

m_pBlocks

0x18

4

int

m_nBlockSize


CPtrList::CNode

Offset

Size

Type

Field

0x00

4

CPtrList::CNode*

pNext

0x04

4

CPtrList::CNode*

pPrev

0x08

4

void*

data