+ All Categories
Home > Documents > EEex Documentation - Read the Docs

EEex Documentation - Read the Docs

Date post: 30-Oct-2021
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
2457
EEex Documentation Release 1.0 Bubb, fearless, CrevsDaak, GrammarSalad Nov 29, 2019
Transcript
Page 1: EEex Documentation - Read the Docs

EEex DocumentationRelease 1.0

Bubb, fearless, CrevsDaak, GrammarSalad

Nov 29, 2019

Page 2: EEex Documentation - Read the Docs
Page 3: EEex Documentation - Read the Docs

Contents

1 Introduction 3

2 EEex Functions 9

3 EEex Opcodes 145

4 EE Game Lua Functions 149

5 EE Game Structures (x86) 385

6 EE Game Classes (x86) 743

7 EE Game Functions (x86) 2419

8 Community 2427

9 Indices and tables 2453

i

Page 4: EEex Documentation - Read the Docs

ii

Page 5: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Contents:

Contents 1

Page 6: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2 Contents

Page 7: EEex Documentation - Read the Docs

CHAPTER 1

Introduction

1.1 Overview

EEex is an executable extender for Beamdog’s Enhanced Edition of the Infinity Engine. Its goal is to externalizecertain parts of the engine to grant modders a greater degree of control over otherwise hardcoded mechanics. EEexdoes not make any gameplay changes itself - it merely enables other mods to do so.

1.1.1 Download

The EEex project is available to download from the EEex github repository at github.com/Bubb13/EEex

Tip: Alpha versions of this project can be found at github.com/Bubb13/EEex/releases

Note: The current alpha version only supports Windows platforms, however, MacOS and Linux support is plannedfor release. Supported game versions include BG:EE v2.5.17.0, BG2:EE v2.5.16.6, and IWD:EE v2.5.17.0

1.1.2 Function

EEex, when installed, directly modifies the game’s executable in order to insert a loader. This loader is used to alterthe game’s code on startup; the modifications that are made depend on the version of EEex installed, and any installedmods that make use of EEex’s capabilities. For more in depth information about what the EEex loader does and howit does it, see: EEexLoader Technical Details

1.1.3 Installation

EEex is installed just as any other WeiDU mod. Simply extract the archive’s contents into your game’s base folder,and run the setup - it will take care of the rest. Please note that since EEex alters the game executable itself, you should

3

Page 8: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

ensure that the game is closed before running the installer!

See the Getting Started section for more details.

Note: EEex is currently in alpha, and as such the odd crash may occur. If you encounter a crash, please report theissue - stating any installed mods, steps that lead to the crash, and upload the generated crash dump file (.dmp) locatedin My Documents\<EE Game Folder>\crash.

1.1.4 Documentation

EEex makes extensive use of the EE Lua environment, with most of its functionality implemented as Lua code.Features include new Lua functions, opcodes, scripting actions, triggers, and objects.

The documentation also includes lua functions, structures and classes used in the EE games.

The documentation is a work in progress. If you wish to contribute, please follow the Contributing guide for detailson how to add to, or edit, the EEex documentation.

1.1.5 FAQ

Please visit the Frequently Asked Questions section for details.

1.2 Getting Started

Note: EEex officially supports Baldurs Gate II Enhanced Edition v2.5.16.6 currently. However EEex should becompatible with almost all Enhanced Edition games except for Plainscape Torment Enhanced Edition, which hassome notable differences from other Enhanced Edition games that prevents EEex from successfully working with it.

For all general users of EEex, please follow the relevant installation guide:

• Windows Installation

• Mac OS X Installation

• Linux Installation

For mod makers using EEex, please consult the developer guide for more technical details on integrating EEex withyour mod.

1.3 Installation

1.3.1 Windows Installation

EEex is distributed as a self-extracting archive and includes a WeiDU installer.

To install:

• Double-click the archive and follow the instructions on screen.

or alternatively:

4 Chapter 1. Introduction

Page 9: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• Extract files into your game directory using 7zip or WinRAR. When properly extracted, your game directorywill contain setup-EEex.exe and the folder EEex.

• Double-click setup-EEex.exe and follow the instructions on screen.

Note: Once EEex is installed, you will not be able to start the game by clicking on the main game executable(Baldur.exe, Icewind.exe or SiegeOfDragonspear.exe) or using shortucts that link to those game exe-cutables. You must click on the EEex.exe, or create a shortcut that links to EEex.exe instead. EEex.exe can be foundin your game’s folder.

Note: Uninstall - You can run setup-EEex.exe in your game folder to reinstall, uninstall or otherwise changecomponents.

1.3.2 Mac OS X Installation

EEex for Mac OS X is distributed as a compressed tarball and includes a WeiDU installer.

To install:

• Extract the files from the tarball into your game directory. When properly extracted, your game directory willcontain setup-EEex, setup-EEex.command, and the folder EEex.

• Double-click setup-EEex.command and follow the instructions on screen.

Note: Once EEex is installed, you will not be able to start the game by executing the main game program (Baldur,Icewind or SiegeOfDragonspear) or using shortucts that link to those game programs. You must execute theEEex program, or create a shortcut that links to EEex program instead. EEex can be found in your game’s folder.

Note: Uninstall - You can run setup-EEex.command in your game folder to reinstall, uninstall or otherwisechange components.

1.3.3 Linux

EEex for Linux is distributed as a compressed tarball and does not include a WeiDU installer.

To install:

• Extract the contents of the mod to the folder of the game you wish to modify.

• Download the latest version of WeiDU for Linux from WeiDU.org and copy WeiDU and WeInstall to /usr/bin.

• Open a terminal, and change to your game installation directory, by using the cd command.

• Run tolower and answer Y to both queries. Note: you can avoid running the second option (linux.ini)if you’ve already ran it once in the same directory. To save time, the archive is already tolowered, so there’s noneed to run the first option (lowercasing file names) either if you’ve extracted only this mod since the last timeyou lowercased file names. If you’re unsure, running tolower and choosing both options is the safe bet.

• Run WeInstall EEex in your game folder.

• Run wine EEex.exe and start playing.

1.3. Installation 5

Page 10: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Note: Once EEex is installed, you will not be able to start the game by clicking on the main game executable(Baldur.exe, Icewind.exe or SiegeOfDragonspear.exe) or using shortucts that link to those game exe-cutables. You must click on the EEex.exe, or create a shortcut that links to EEex.exe instead. EEex.exe can be foundin your game’s folder.

Note: Uninstall - In addition to the methods above for removing individual components, you can completely unin-stall the mod using setup-EEex --uninstall at the command line to remove all components without wadingthrough prompts.

Note: Siege of Dragonspear from Steam/GOG - Good Old Games (GOG) and Steam both package the additionalcontent for Siege of Dragonspear in a method that WeiDU, the tool used to install this mod, cannot access. You mustrun a program called Modmerge on your SoD installation before you can install this or any other WeiDU-based mod.

Note: Beamdog Enhanced Editions - The Enhanced Editions are actively supported games. Please note that everypatch update will wipe your current mod setup! If in the middle of a modded game you might want to delay the patchupdate (if possible) as even after reinstalling the mods, you might not be able to continue with your old savegames.Alternatively, copy the whole game’s folder into a new one that can be modded and will stay untouched by gamepatches. For BG:EE it is important that you install the mod to the language version you are playing the game in.Otherwise, the dialogues of the mod will not show but give error messages.

1.4 Frequently Asked Questions

• What does EEex do?

• What do I need to do to install EEex?

• I’m a modder, how do I use EEex?

• How do I add to the EEex documentation?

• How do I report a bug?

• What is EEex and why is it important?

• Would EEex allow for more than 6 characters in the party simultaneously?

• Does EEex allow the execution of arbitrary executable programs on the user’s computer?

• Would EEex allow for x?

1.4.1 What does EEex do?

EEex, when installed, directly modifies the game’s executable in order to insert a loader. This loader is used to alterthe game’s code on startup; the modifications that are made depend on the version of EEex installed, and any installedmods that make use of EEex’s capabilities. For more in depth information about what the EEex loader does and howit does it, see: EEexLoader Technical Details

6 Chapter 1. Introduction

Page 11: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

1.4.2 What do I need to do to install EEex?

EEex is installed just as any other WeiDU mod. Simply extract the archive’s contents into your game’s base folder,and run the setup - it will take care of the rest. Please note that since EEex alters the game executable itself, you shouldensure that the game is closed before running the installer! See the Getting Started section for more details.

Note: EEex is currently in alpha, and as such it is highly unstable. All immediate crashes are believed to be fixed,though you still risk a crash at any time. Use with care.

1.4.3 I’m a modder, how do I use EEex?

EEex makes changes to many different parts of the engine. Accessing and making use of new opcodes, actions,triggers, and objects is as simple as installing EEex.

The real power of EEex, however, comes from its ability to change hardcoded engine behavior. The hooks that enablethese alterations are completely defined and controlled by the Lua environment, and as such, modders wishing to usethese systems will have to either:

• Insert a M_*.lua file into the game’s override folder.

• Edit UI.MENU directly.

Note: The EEex weidu installer handles all of this automatically for you now, allowing you to leverage the use of theEEex framework in your own lua code

1.4.4 How do I add to the EEex documentation?

Please follow the Contributing guide for details on how to add to, or edit, the EEex documentation.

1.4.5 How do I report a bug?

If you should encounter any bugs, please report them to the authors at the EEex beamdog forum. In addition, EEex isavailable on GitHub, so fixes and changes can be submitted by the community.

When reporting, please state any installed mods, steps that lead to the crash, and upload the generated crash dump file(.dmp) located in My Documents\<EE Game Folder>\crash.

1.4.6 What is EEex and why is it important?

In short, EEex is a bit like what ToBEx is to the original games, an extender that allows temporarymodifications of the game’s executable, allowing changes to hardcoded mechanics. Since its inception,several actions that were previously beyond the reach of modders have been made possible.

—Shin

1.4.7 Would EEex allow for more than 6 characters in the party simultaneously?

No, due to engine hard coding many times in the executable.

1.4. Frequently Asked Questions 7

Page 12: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

1.4.8 Does EEex allow the execution of arbitrary executable programs on the user’scomputer?

Not any more than a weidu mod, a batch file, or any other mod related programs, or mod related setup/install tools youmight download and run.

1.4.9 Would EEex allow for x?

Mostly implementing or allowing for x is about a specific mod being created by a modder to handle x. So its up tomodders to implement if possible, which might take considerable time and effort, or it might not be feasable.

Please note, a lot of things that may be suggested, more than likely, can already be done in the EE game engine withoutthe use of EEex.

EEex might help in some cases or may not be relevant at all.

8 Chapter 1. Introduction

Page 13: EEex Documentation - Read the Docs

CHAPTER 2

EEex Functions

Note: The EEex functions are located in the lua files provided by the EEex weidu installer and installed into theoverride folder of the EE game. The functions have been organised into related categories to better navigate andbrowse.

2.1 2DA

2.1.1 EEex_2DAGetAtStrings

EEex_2DAGetAtStrings(C2DArray, columnString, rowString)

Returns a string from a 2D array based on the specified column and row

Parameters

• C2DArray - the 2D array C2DArray structure that stores the data

• columnString - the text of the column name to lookup and fetch string for

• rowString - the text of the row name to lookup and fetch string for

Return

Returns a string from the specified column and row in the 2D array

Example

EEex_xp = EEex_2DALoad("EEEX__XP")xpatlvl10 = EEex_2DAGetAtStrings(EEex_xp, "xp", "10")

See Also

EEex_2DALoad, C2DArray

9

Page 14: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.1.2 EEex_2DALoad

EEex_2DALoad(_2DAResref)

Loads a two dimensional (2D) resource - a .2da text based file that stores game data (typically rules etc) in columnsand rows - into a C2DArray structure

Parameters

• _2DAResref - resource reference of the 2da file to load into a C2DArray structure

Return

Returns a C2DArray

Example

EEex_Str = EEex_2DALoad("EEEX_STR")

See Also

EEex_2DAGetAtStrings, C2DArray

Function DescriptionEEex_2DAGetAtStrings Returns a string from a column and row of a 2DA arrayEEex_2DALoad Loads a .2DA file and returns a 2DA array

2.2 Action

2.2.1 EEex_AddActionHook

EEex_AddActionHook(func)

Add a function to an ActionHook

Parameters

• func

Return

None

Example

The following function is an example of how a modder could use this file’s hook to dynamically transform an actor-targeted spell into a point-targeted one instead. (Put the following function either in UI.MENU or a M_*.lua)

function B3SpellToPoint(actorID)EEex_AddActionHook(function(actionData)

local spellActions = {[31] = 95 , -- Spell => SpellPoint[113] = 114, -- ForceSpell => ForceSpellPoint[181] = 337, -- ReallyForceSpell => ReallyForceSpellPoint[191] = 192, -- SpellNoDec => SpellPointNoDec

}local newActionID = spellActions[EEex_GetActionID(actionData)]

(continues on next page)

10 Chapter 2. EEex Functions

Page 15: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

if newActionID thenEEex_SetActionID(actionData, newActionID)local targetID = EEex_GetActionTarget(actionData)local targetX, targetY = EEex_GetActorLocation(targetID)EEex_SetActionPointX(actionData, targetX)EEex_SetActionPointY(actionData, targetY)

endend)

end

Used from a script like so:

EEex_Lua("B3SpellToPoint")SpellNoDecRES("SPWI304",Player1)

See Also

EEex_InstallActionHook, EEex_HookAction

2.2.2 EEex_EvalActionsAsActor

EEex_EvalActionsAsActor(CAIScriptFile, actorID)

Executes compiled actions returned by EEex_ParseActionsString. Results practically identical to using C:Eval(),though note that executing compiled actions is significantly faster than parsing the actions string every call.

Parameters

• CAIScriptFile - compiled script object to evaluate

• actorID - id of actor that evaluation applies to

Return

None

Example

EEex_EvalActionsAsActor(CAIScriptFile, actorID)

See Also

EEex_ParseActionsString, EEex_EvalActionsStringAsActor

2.2.3 EEex_EvalActionsAsActorResume

EEex_EvalActionsAsActorResume(CAIScriptFile, actorID)

Executes compiled actions returned by EEex_ParseActionsString. Note that due to intentional design, the followingfunction attempts to resume the currently executing action after forcing the passed actions.

** ONLY WORKS CORRECTLY FOR ACTIONS DEFINED IN INSTANT.IDS **

Parameters

• CAIScriptFile - compiled script object to evaluate

• actorID - id of actor that evaluation applies to

2.2. Action 11

Page 16: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

None

Example

EEex_EvalActionsAsActorResume()

See Also

EEex_ParseActionsString, EEex_EvalActionsAsActor, EEex_EvalActionsStringAsActor,EEex_EvalActionsStringAsActorResume

2.2.4 EEex_EvalActionsStringAsActor

EEex_EvalActionsStringAsActor(string, actorID)

Same as EEex_EvalActionsAsActor, though intead of passing a compiled script object, this function compiles the scriptfrom the given string and frees the resulting script object for you. Use this function sparingly, as compiling scriptstakes a good amount of time.

Parameters

• string - string containing script actions to evaluate

• actorID - id of actor that evaluation applies to

Return

None

Example

EEex_EvalActionsStringAsActor()

See Also

EEex_EvalActionsAsActor, EEex_EvalActionsStringAsActorResume

2.2.5 EEex_EvalActionsStringAsActorResume

EEex_EvalActionsStringAsActorResume(string, actorID)

Same as EEex_EvalActionsAsActorResume, though intead of passing a compiled script object, this function compilesthe script from the given string and frees the resulting script object for you. Use this function sparingly, as compilingscripts takes a good amount of time.

Parameters

• string - string containing script actions to evaluate

• actorID - id of actor that evaluation applies to

Return

Example

EEex_EvalActionsStringAsActorResume()

12 Chapter 2. EEex Functions

Page 17: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_EvalActionsAsActor, EEex_EvalActionsStringAsActor, EEex_EvalActionsAsActorResume

2.2.6 EEex_FreeActions

EEex_FreeActions(CAIScriptFile)

Frees the compiled scripts returned by EEex_ParseActionsString. Ensure that the freed actions are never used again,as attempting to reference freed actions will result in a crash.

Parameters

• CAIScriptFile - compiled script object to free

Return

None

Example

EEex_FreeActions()

See Also

EEex_ParseActionsString, EEex_EvalActionsAsActor, EEex_EvalActionsStringAsActor,EEex_EvalActionsStringAsActorResume

2.2.7 EEex_GetActionID

EEex_GetActionID(actionData)

Get id of action data

Parameters

• actionData - action data to return id for

Return

Returns action id of action data

Example

EEex_GetActionID()

See Also

EEex_SetActionID, EEex_GetActionTarget, EEex_SetActionTarget

2.2.8 EEex_GetActionPointX

EEex_GetActionPointX(actionData)

Get x coordinate for action data

Parameters

• actionData - action data to return x coordinate for

2.2. Action 13

Page 18: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns x coordinate of action data

Example

EEex_GetActionPointX()

See Also

EEex_GetActionPointY , EEex_SetActionPointX, EEex_SetActionPointY

2.2.9 EEex_GetActionPointY

EEex_GetActionPointY(actionData)

Get y coordinate for action data

Parameters

• actionData - action data to return y coordinate for

Return

Returns y coordinate of action data

Example

EEex_GetActionPointY()

See Also

EEex_GetActionPointX, EEex_SetActionPointX, EEex_SetActionPointY

2.2.10 EEex_GetActionString1

EEex_GetActionString1(actionData)

Get action string for action data

Parameters

• actionData - action data to return action string for

Return

Returns action string of action data

Example

EEex_GetActionString1()

See Also

EEex_SetActionString1

14 Chapter 2. EEex Functions

Page 19: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.2.11 EEex_GetActionTarget

EEex_GetActionTarget(actionData)

Get target for action data

Parameters

• actionData - action data to return target for

Return

Returns target of action data

Example

EEex_GetActionTarget()

See Also

EEex_GetActionID, EEex_SetActionID, EEex_SetActionTarget

2.2.12 EEex_GetActorCurrentAction

EEex_GetActorCurrentAction(actorID)

Returns the ID of the action the actor is currently doing, based on ACTION.IDS

Parameters

• actorID - the actor’s id to return the ID of the action the actor is currently doing

Return

Returns a WORD value indicating the action id based on ACTION.IDS

Notes

if the actor is currently moving to a point, it will return 23 because MoveToPoint() is action 23 in ACTION.IDS. Ifthe actor isn’t doing anything, it will return 0.

Example

local actionID = EEex_GetActorCurrentAction(actorID)

2.2.13 EEex_ParseActionsString

EEex_ParseActionsString(string)

Parses the given string as if it was fed through C:Eval() and returns the compiled script object, (only filled with actions).Use in conjunction with one of the EEex_EvalActions* functions.

Free compiled scripts by using EEex_FreeActions

Parameters

• string - string containing script actions to evaluate and compile

2.2. Action 15

Page 20: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a compiled script object CAIScriptFile

Example

EEex_ParseActionsString()

See Also

EEex_EvalActionsAsActor, EEex_EvalActionsAsActorResume, EEex_EvalActionsStringAsActor,EEex_EvalActionsStringAsActorResume, EEex_FreeActions

2.2.14 EEex_SetActionID

EEex_SetActionID(actionData, newID)

Set new id of action data

Parameters

• actionData - action data to set id for

• newID - new action id to set

Return

Returns new action id of action data

Example

EEex_SetActionID()

See Also

EEex_GetActionID, EEex_GetActionTarget, EEex_SetActionTarget

2.2.15 EEex_SetActionPointX

EEex_SetActionPointX(actionData, newX)

Set x coordinate of action data

Parameters

• actionData - action data to set x coordinate for

• newX - new x coordinate to set

Return

Returns new x coordinate of action data

Example

EEex_SetActionPointX()

See Also

EEex_GetActionPointX, EEex_GetActionPointY , EEex_SetActionPointY

16 Chapter 2. EEex Functions

Page 21: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.2.16 EEex_SetActionPointY

EEex_SetActionPointY(actionData, newY)

Set y coordinate of action data

Parameters

• actionData - action data to set y coordinate for

• newY - new y coordinate to set

Return

Returns new y coordinate of action data

Example

EEex_SetActionPointY()

See Also

EEex_GetActionPointX, EEex_GetActionPointY , EEex_SetActionPointX

2.2.17 EEex_SetActionString1

EEex_SetActionString1(actionData, newString1)

Set action string of action data

Parameters

• actionData - action data to set action string for

• newString1 - new action string to set

Return

Returns new action string of action data

Example

EEex_SetActionString1()

See Also

EEex_GetActionString1

2.2.18 EEex_SetActionTarget

EEex_SetActionTarget(actionData, newTarget)

Set target of action data

Parameters

• actionData - action data to set target for

• newTarget - new target to set

2.2. Action 17

Page 22: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns new target of action data

Example

EEex_SetActionTarget()

See Also

EEex_GetActionID, EEex_SetActionID, EEex_GetActionTarget

Function DescriptionEEex_AddActionHook Add a function to an action hookEEex_EvalActionsAsActor Evaluate compiled script actions as an actorEEex_EvalActionsAsActorResume Evaluate actions as an actor and continueEEex_EvalActionsStringAsActor Evaluate script actions string as an actorEEex_EvalActionsStringAsActorResume Evaluate actions strings as actor and continueEEex_FreeActions Free assigned actionsEEex_GetActionID Get action idEEex_GetActionPointX Get x coordinate of an actionEEex_GetActionPointY Get y coordinate of an actionEEex_GetActionString1 Get the action string for an actionEEex_GetActionTarget Get the target of an actionEEex_GetActorCurrentAction Get actors currently assigned actionEEex_ParseActionsString Parse action stringEEex_SetActionID Set action idEEex_SetActionPointX Set x coordinate of an actionEEex_SetActionPointY Set y coordinate of an actionEEex_SetActionString1 Set the action string of an actionEEex_SetActionTarget Set the target of an action

2.3 ActionBar

2.3.1 EEex_AddActionbarListener

EEex_AddActionbarListener(func)

Add a listener function to the actionbar

Parameters

• func - the Lua function to add as a listener for the actionbar

Return

None

Example

--[[

The following function is an example of how a modder could use this file'shook to dynamically change an Inquisitor's useless Turn Undead button forBard Song. Put the following function either in UI.MENU or a M_*.lua

(continues on next page)

18 Chapter 2. EEex Functions

Page 23: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

--]]

function B3ActionbarListener(config)local actorID = getActorIDSelected()if

config == 0x5and getActorClass(actorID) == 0x6and getActorKit(actorID) == 0x4005

thensetActionbarButton(0x5, ACTIONBAR_TYPE.BARD_SONG)

endendEEex_AddActionbarListener(B3ActionbarListener)

See Also

EEex_InstallActionbarHook, EEex_HookActionbar

2.3.2 EEex_GetActionbarButton

EEex_GetActionbarButton(buttonIndex)

Retrieves the button type of a specific button on the actionbar

Parameters

• buttonIndex - the index of the button on the actionbar

Return

Returns the type of the button, see Actionbar button types for details

Actionbar button types

Button Type ID Button Type Notes0 Left Arrow1 Right Arrow2 Bard Song3 Cast Spell4 Find Traps5 Talk6 Unknown / Blank7 Guard8 Attack9 Shape Change10 Special Abilities11 Stealth12 Thieving13 Turn Unded14 Use Item15 Stop16 Quick Formation - Rectangle17 Quick Formation - Defensive Wedge

Continued on next page

2.3. ActionBar 19

Page 24: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 1 – continued from previous page18 Quick Formation - T-Shape19 Quick Formation - Offsensive Wedge20 Quick Formation - Circle21 Quick Item 122 Quick Item 223 Quick Item 324 Quick Spell 125 Quick Spell 226 Quick Spell 327 Quick Weapon 128 Quick Weapon 229 Quick Weapon 330 Quick Weapon 443 Left Arrow44 Right Arrow67 Crashes game - dont use100 None

Note: other button types not listed may be available, but typically are used internally for spell buttons and otherdynamic buttons for the game engine.

Example

btnType = EEex_GetActionbarButton(1)

See Also

EEex_SetActionbarButton

2.3.3 EEex_GetActionbarButtonFrame

EEex_GetActionbarButtonFrame(buttonIndex)

Returns the current frame of the actionbar button at buttonIndex, taking into account the click status.

Parameters

• buttonIndex - the index of the button on the actionbar

Return

Returns the current frame

Example

frame = EEex_GetActionbarButtonFrame(3)

See Also

EEex_GetActionbarButton, EEex_SetActionbarButton

2.3.4 EEex_GetActionbarState

20 Chapter 2. EEex Functions

Page 25: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_GetActionbarState()

Gets the state of the actionbar

Parameters

None

Return

Returns the action bar state which can be one of the following:

Unique Config State(s) Notes[0] 1 Mage / Sorcerer[1] 2 Fighter[2] 3 Cleric[3] 4 Thief[4] 5 Bard[5] 6 Paladin[6] 7 Fighter Mage[7] 8 Fighter Cleric[8] 9 Fighter Thief[9] 10 Fighter Mage Thief[10] 11 Druid[11] 12 Ranger[12] 13 Mage Thief[13] 14 Cleric Mage[14] 15 Cleric Thief[15] 16 Fighter Druid[16] 17 Fighter Mage Cleric[17] 18 Cleric Ranger[18] 20 Monk[19] 21 Shaman[20] 101 Select Weapon Ability[21] 102 Spells (Select Quick Spell)[21] 103 Spells (Cast)[22] 104 Select Quick Item Ability[22] 105 Use Item[23] 106 Special Abilities[24] 107 Select Quick Formation[25] 108 Defunct Select Quick Formation (Not used)[26] 109 Group Selected[27] 110 Unknown (No buttons defined; not used?)[28] 111 Internal List (Opcode #214)[29] 112 Controlled (Class doesn’t have a dedicated state)[30] 113 Cleric / Mage Spells (Cast)[30] 114 Cleric / Mage Spells (Select Quick Spell)

Note: “Unique Config” refers to the button types that eventually get set from the state(s) on the right. In a fewinstances the engine reuses the same button configuration for multiple purposes. You can see this in the Spells config;one state is for setting a quick button, while another is actually for casting.

2.3. ActionBar 21

Page 26: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Actionbar listeners now pass the state as the second param, like this

function B3DebugPrintActionbar(config, state)Infinity_DisplayString("config: "..config..", state: "..state)

endEEex_AddActionbarListener(B3DebugPrintActionbar)

You can catch the “Cast Spell” actionbar state like this:

function B3DetectCastSpell(config, state)if state == 103 then

-- Cast Spell opened, no matter the sourceend

endEEex_AddActionbarListener(B3DetectCastSpell)

Example

local state = EEex_GetActionbarState()

See Also

EEex_SetActionbarState

2.3.5 EEex_GetLastActionbarState

EEex_GetLastActionbarState()

Gets the last state of the actionbar

Parameters

None

Return

Returns the action bar state which can be one of the following:

Unique Config State(s) Notes[0] 1 Mage / Sorcerer[1] 2 Fighter[2] 3 Cleric[3] 4 Thief[4] 5 Bard[5] 6 Paladin[6] 7 Fighter Mage[7] 8 Fighter Cleric[8] 9 Fighter Thief[9] 10 Fighter Mage Thief[10] 11 Druid[11] 12 Ranger[12] 13 Mage Thief[13] 14 Cleric Mage[14] 15 Cleric Thief

Continued on next page

22 Chapter 2. EEex Functions

Page 27: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 3 – continued from previous page[15] 16 Fighter Druid[16] 17 Fighter Mage Cleric[17] 18 Cleric Ranger[18] 20 Monk[19] 21 Shaman[20] 101 Select Weapon Ability[21] 102 Spells (Select Quick Spell)[21] 103 Spells (Cast)[22] 104 Select Quick Item Ability[22] 105 Use Item[23] 106 Special Abilities[24] 107 Select Quick Formation[25] 108 Defunct Select Quick Formation (Not used)[26] 109 Group Selected[27] 110 Unknown (No buttons defined; not used?)[28] 111 Internal List (Opcode #214)[29] 112 Controlled (Class doesn’t have a dedicated state)[30] 113 Cleric / Mage Spells (Cast)[30] 114 Cleric / Mage Spells (Select Quick Spell)

Note: “Unique Config” refers to the button types that eventually get set from the state(s) on the right. In a fewinstances the engine reuses the same button configuration for multiple purposes. You can see this in the Spells config;one state is for setting a quick button, while another is actually for casting.

Example

local laststate = EEex_GetLastActionbarState()

See Also

EEex_SetActionbarState, EEex_GetActionbarState

2.3.6 EEex_GetQuickButtons

Returns a list of quick slot buttons

EEex_GetQuickButtons(m_CGameSprite, buttonType, existenceCheck)

Parameters

• m_CGameSprite - pointer to game sprite object

• buttonType - type of button, see notes

• existenceCheck - boolean true or false

Returns

Returns a list of quick buttons

Notes

buttonType values can be one of the following:

2.3. ActionBar 23

Page 28: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Button Type ID Button Type Notes0 Left Arrow1 Right Arrow2 Bard Song3 Cast Spell4 Find Traps5 Talk6 Unknown / Blank7 Guard8 Attack9 Shape Change10 Special Abilities11 Stealth12 Thieving13 Turn Unded14 Use Item15 Stop16 Quick Formation - Rectangle17 Quick Formation - Defensive Wedge18 Quick Formation - T-Shape19 Quick Formation - Offsensive Wedge20 Quick Formation - Circle21 Quick Item 122 Quick Item 223 Quick Item 324 Quick Spell 125 Quick Spell 226 Quick Spell 327 Quick Weapon 128 Quick Weapon 229 Quick Weapon 330 Quick Weapon 443 Left Arrow44 Right Arrow67 Crashes game - dont use100 None

Note: other button types not listed may be available, but typically are used internally for spell buttons and otherdynamic buttons for the game engine.

Example

local m_CGameButtonList = EEex_GetQuickButtons(m_CGameSprite, 2, 0)

See Also

EEex_UseCGameButtonList

2.3.7 EEex_IsActionbarButtonDown

EEex_IsActionbarButtonDown(buttonIndex)

24 Chapter 2. EEex Functions

Page 29: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Determines whether a specific button in the actionbar is in the down state (being clicked)

Parameters

• buttonIndex - the index of the button on the actionbar

Return

Returns true if the actionbar button is being clicked, otherwise returns false

Example

EEex_IsActionbarButtonDown(1)

See Also

EEex_SetActionbarState, EEex_SetActionbarButton

2.3.8 EEex_SetActionbarButton

EEex_SetActionbarButton(buttonIndex, buttonType)

Sets the button type of a specific button on the actionbar

Parameters

• buttonIndex - the index of the button on the actionbar

• buttonType - the type of the button to set, see Actionbar button types for details

Return

None

Actionbar button types

• "BARD_SONG"

• "CAST_SPELL"

• "FIND_TRAPS"

• "TALK"

• "GUARD"

• "ATTACK"

• "SPECIAL_ABILITIES"

• "STEALTH"

• "THIEVING"

• "TURN_UNDEAD"

• "USE_ITEM"

• "STOP"

• "QUICK_ITEM_1"

• "QUICK_ITEM_2"

• "QUICK_ITEM_3"

• "QUICK_SPELL_1"

2.3. ActionBar 25

Page 30: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• "QUICK_SPELL_2"

• "QUICK_SPELL_3"

• "QUICK_WEAPON_1"

• "QUICK_WEAPON_2"

• "QUICK_WEAPON_3"

• "QUICK_WEAPON_4"

• "NONE"

Example

EEex_SetActionbarButton(2, "TURN_UNDEAD")

See Also

EEex_GetActionbarButton

2.3.9 EEex_SetActionbarState

EEex_SetActionbarState(actionbarConfig)

Sets the state of the actionbar

Parameters

• actionbarConfig

Return

None

Example

EEex_SetActionbarState()

See Also

EEex_GetActionbarState

2.3.10 EEex_UpdateActionbar

EEex_UpdateActionbar()

Forces the actionbar to refresh its state. Use if making changes with EEex_SetActionbarButton outside of an actionbarlistener.

Parameters

None

Return

None

Example

26 Chapter 2. EEex Functions

Page 31: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_UpdateActionbar()

See Also

EEex_SetActionbarButton, EEex_GetActionbarButton

2.3.11 EEex_UseCGameButtonList

Return the specified button’s action data

EEex_UseCGameButtonList(m_CGameSprite, m_CGameButtonList, resref, action)

Parameters

• m_CGameSprite - pointer to game sprite object

• m_CGameButtonList - pointer to button list data from EEex_GetQuickButtons

• resref - an existing button’s resource reference to return button action data for

• action - return button action data

Returns

None

Notes

Returns button action data via the action parameter

Example

EEex_UseCGameButtonList(m_CGameSprite, m_CGameButtonList, resref, function(m_→˓CButtonData)

See Also

EEex_GetQuickButtons, EEex_ReadySpell

Function DescriptionEEex_AddActionbarListener Add a listener function to the actionbarEEex_GetActionbarButton Retrieves the type of an actionbar buttonEEex_GetActionbarButtonFrame Returns the current frame of the actionbar buttonEEex_GetActionbarState Returns the state of the actionbarEEex_GetLastActionbarState Returns the last state of the actionbarEEex_GetQuickButtons Returns a list of quick slot buttonsEEex_IsActionbarButtonDown Determines if an actionbar button is being clickedEEex_SetActionbarButton Sets the type of an actionbar buttonEEex_SetActionbarState Sets the state of the actionbarEEex_UpdateActionbar Forces the actionbar to refresh its stateEEex_UseCGameButtonList Return the specified button’s action data

See Also

CInfButtonArray Class, CInfButtonArray Structure

2.3. ActionBar 27

Page 32: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.4 Retrieving actor IDs

2.4.1 EEex_GetActorIDArea

EEex_GetActorIDArea(actorID)

Returns an array of actor id’s in an area based on the area that the specified actorID is currently in

Parameters

• actorID - the id of the actor to use

Return

Returns array of actor ids

Notes

Offset 0x14 of CGameObject is m_pArea. Iterates through the actors in m_pArea via EEex_IterateActorIDs

Example

EEex_GetActorIDArea()

See Also

EEex_GetActorIDShare, EEex_IterateActorIDs

2.4.2 EEex_GetActorIDCursor

EEex_GetActorIDCursor()

Returns actor id that is currently under the cursor (mouse pointer)

Parameters

None

Return

Returns a DWORD value representing actor id or 0 if no actor is under the cursor

Notes

Reads

• CBaldurChitin.m_pObjectGame (m_pObjectGame is CInfGame*)

• CInfGame.m_visibleArea (offset 0x3DA0).

Uses m_visibleArea to read array index of CInfGame.m_gameAreas[12] (offset 0x3DA4). CIn-fGame.m_gameAreas[12] is an array of pointers to CGameArea structures.

Reads offset 0x21C of CGameArea and reads the value. If the value is -1 it will return 0, otherwise returns the valueread.

Example

local curid = EEex_GetActorIDCursor()

See Also

EEex_GetActorIDShare, EEex_IterateActorIDs

28 Chapter 2. EEex Functions

Page 33: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.4.3 EEex_GetActorIDLoaded

EEex_GetActorIDLoaded()

Returns an array of actor id’s loaded in the current area

Parameters

None

Return

Returns array of actor ids

Example

EEex_GetActorIDLoaded()

See Also

EEex_GetActorIDShare, EEex_IterateActorIDs

2.4.4 EEex_GetActorIDPortrait

EEex_GetActorIDPortrait(slot)

Returns the actor id for the specified portrait slot

Parameters

• slot - slot id to return actor id for

Return

Returns the actor id for the specified portrait slot

Notes

Internally calls the CInfGame Class method: long CInfGame::GetCharacterId(short nPortrait)

Example

local charid = EEex_GetActorIDPortrait(1)

See Also

EEex_GetActorIDShare, EEex_IterateActorIDs, CInfGame Class, CInfGame::GetCharacterId

2.4.5 EEex_GetActorIDSelected

EEex_GetActorIDSelected()

Returns actor id of currently selected character

Parameters

None

Return

Returns the actor id of currently selected character or 0

2.4. Retrieving actor IDs 29

Page 34: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Reads:

• CBaldurChitin.m_pObjectGame (m_pObjectGame is CInfGame*)

• CInfGame.m_group (m_group is CAIGroup*)

• CAIGroup.m_memberList (m_memberList is CTypedPtrList*)

• CTypedPtrList.m_cPtrList (m_cPtrList is CPtrList*)

• CPtrList.m_pNodeHead (m_pNodeHead is CPtrList::CNode*)

If m_pNodeHead is not 0 then reads CPtrList::CNode.data and returns the value as actor id otherwise returns 0

Example

EEex_GetActorIDSelected()

See Also

EEex_GetAllActorIDSelected, EEex_GetActorIDShare, EEex_IterateActorIDs

2.4.6 EEex_GetActorIDShare

EEex_GetActorIDShare(share)

Returns the actorID for the given share / creatureData.

Parameters

• share - pointer to the share (CGameObject)

Return

Returns a DWORD value from CGameObject.m_id

Notes

Similar to using this CAIObjectType Class method: CGameObject* CAIObjectType::GetShare(CGameAIBase*caller, int checkBackList) and reading offset 0x34 of the returned CGameObject

Example

EEex_GetActorIDShare()

See Also

EEex_IterateActorIDs, CGameObject, CAIObjectType Class, CAIObjectType::GetShare

2.4.7 EEex_GetAllActorIDSelected

EEex_GetAllActorIDSelected()

Returns an array of actor id’s that are selected

Parameters

None

Return

30 Chapter 2. EEex Functions

Page 35: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns array of actor ids

Example

EEex_GetAllActorIDSelected()

See Also

EEex_GetActorIDSelected, EEex_GetActorIDShare, EEex_IterateActorIDs

2.4.8 EEex_IterateActorIDs

EEex_IterateActorIDs(m_gameArea, func)

Iterates through all actors in an area

Parameters

• m_gameArea - CGameArea

• func -

Return

Special

Example

EEex_IterateActorIDs()

See Also

EEex_GetActorIDShare

Function DescriptionEEex_GetActorIDArea Returns an array of actor id’s in an areaEEex_GetActorIDCursor Returns actor id that is currently under the cursorEEex_GetActorIDLoaded Returns an array of actor id’s loaded in areaEEex_GetActorIDPortrait Returns the actor id for specified portrait slotEEex_GetActorIDSelected Returns actor id of currently selected characterEEex_GetActorIDShare Returns the actorID for the share / creatureDataEEex_GetAllActorIDSelected Returns an array of actor id’s that are selectedEEex_IterateActorIDs Iterates through all actors in an area

2.5 Actor

2.5.1 EEex_AlterActorEffect

EEex_AlterActorEffect(actorID, match_table, set_table, multi_match)

This is basically like the WeiDU ALTER_EFFECT function, except that it alters effects in the middle of the game

Parameters

• actorID - actor id

2.5. Actor 31

Page 36: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• match_table - match table

• set_table - set table

• multi_match - no of matches

Return

None

Example

EEex_AlterActorEffect(actorID, {{"opcode",232},{"parameter2",0},{"resource","SPWI304"}→˓}, {{"resource","SPWI502"}}, 2)

-- equals-- LPF ALTER_EFFECT INT_VAR multi_match=2 match_opcode=232 match_parameter2=0 STR_VAR→˓match_resource=~SPWI304~ resource=~SPWI502~ END

2.5.2 EEex_ApplyEffectToActor

EEex_ApplyEffectToActor(actorID, args)

Directly applies an effect to an actor based on the args table

Parameters

• actorID - the actor id to apply effect to

• args - args table

Return

None

Example

EEex_ApplyEffectToActor(damagerID, {["opcode"] = 146,["target"] = 2,["timing"] = 9,["parameter1"] = casterlvl,["parameter2"] = 2,["resource"] = hit_spell,["source_target"] = damagerID,["source_id"] = targetID

})

2.5.3 EEex_GetActorAlignment

EEex_GetActorAlignment(actorID)

Return alignment of actor

Parameters

• actorID - actor id to return alignment for

32 Chapter 2. EEex Functions

Page 37: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a BYTE value indicating alignment

Example

local align = EEex_GetActorAlignment(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorClass, EEex_GetActorGender,EEex_GetActorKit, EEex_GetActorName, EEex_GetActorRace

2.5.4 EEex_GetActorAllegiance

EEex_GetActorAllegiance(actorID)

Returns the actor’s allegiance

Parameters

• actorID - actor id to return allegiance for

Return

Returns a BYTE value indicating allegiance

Example

local loyality = EEex_GetActorAllegiance(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorClass, EEex_GetActorGender, EEex_GetActorKit, EEex_GetActorName,EEex_GetActorRace

2.5.5 EEex_GetActorAnimation

EEex_GetActorAnimation(actorID)

Returns the actor’s animation, (as defined in ANIMATE.IDS; stored at offset 0x28 of the .CRE, or optionally overri-den by the actor structure at offset 0x30)

Parameters

• actorID - the actor id to return the animation for

Return

Example

EEex_GetActorAnimation()

2.5.6 EEex_GetActorAreaRes

EEex_GetActorAreaRes(actorID)

2.5. Actor 33

Page 38: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns the actor’s current area resref as a string. If the game was just loaded, sometimes the actor doesn’t know whatarea they’re in yet, so it’ll return “” in that case.

Parameters

• actorID - the actor’s id to get the current area for

Return

Returns a string indicating the area for the current actor

Example

local area = EEex_GetActorAreaRes(actorID)

See Also

EEex_GetActorAreaSize

2.5.7 EEex_GetActorAreaSize

EEex_GetActorAreaSize(actorID)

Gets the maximum X and Y coordinates of the area the actor is in (for outside areas the numbers are usually in thethousands). If the game was just loaded, sometimes it will return 0 for both coordinates because the actor doesn’t havea pointer to the area yet.

Parameters

• actorID - the actor’s id to get the current max area coordinates for

Return

Returns an x and y value

Example

local areaX, areaY = EEex_GetActorAreaSize(actorID)

See Also

EEex_GetActorAreaRes

2.5.8 EEex_GetActorBaseCharisma

EEex_GetActorBaseCharisma(actorID)

Returns the actor’s base charisma, (defined at offset 0x23E of the .CRE)

Parameters

• actorID - the actor id to return the base charisma for

Return

Returns the base charisma as a byte value

Example

local bascharisma = EEex_GetActorBaseCharisma(actorID)

34 Chapter 2. EEex Functions

Page 39: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_GetActorBaseConstitution, EEex_GetActorBaseDexterity, EEex_GetActorBaseIntelligence,EEex_GetActorBaseStrength, EEex_GetActorBaseWisdom

2.5.9 EEex_GetActorBaseConstitution

EEex_GetActorBaseConstitution(actorID)

Returns the actor’s base constitution, (defined at offset 0x23D of the .CRE)

Parameters

• actorID - the actor id to return the base constitution for

Return

Returns the base constitution as a byte value

Example

local basecon = EEex_GetActorBaseConstitution(actorID)

See Also

EEex_GetActorBaseCharisma, EEex_GetActorBaseDexterity, EEex_GetActorBaseIntelligence,EEex_GetActorBaseStrength, EEex_GetActorBaseWisdom

2.5.10 EEex_GetActorBaseDexterity

EEex_GetActorBaseDexterity(actorID)

Returns the actor’s base dexterity, (defined at offset 0x23C of the .CRE)

Parameters

• actorID - the actor id to return the base dexterity for

Return

Returns the base dexterity as a byte value

Example

local basedex = EEex_GetActorBaseDexterity(actorID)

See Also

EEex_GetActorBaseCharisma, EEex_GetActorBaseConstitution, EEex_GetActorBaseIntelligence,EEex_GetActorBaseStrength, EEex_GetActorBaseWisdom

2.5.11 EEex_GetActorBaseIntelligence

EEex_GetActorBaseIntelligence(actorID)

Returns the actor’s base intelligence, (defined at offset 0x23A of the .CRE)

Parameters

2.5. Actor 35

Page 40: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• actorID - the actor id to return the base intelligence for

Return

Returns the base intelligence as a byte value

Example

local baseint = EEex_GetActorBaseIntelligence(actorID)

See Also

EEex_GetActorBaseCharisma, EEex_GetActorBaseConstitution, EEex_GetActorBaseDexterity,EEex_GetActorBaseStrength, EEex_GetActorBaseWisdom

2.5.12 EEex_GetActorBaseStrength

EEex_GetActorBaseStrength(actorID)

Returns the actor’s base strength, (defined at offset 0x238 of the .CRE)

Parameters

• actorID - the actor id to return the base strength for

Return

Returns the base strength as a byte value

Example

local basestength = EEex_GetActorBaseStrength(actorID)

See Also

EEex_GetActorBaseCharisma, EEex_GetActorBaseConstitution, EEex_GetActorBaseDexterity,EEex_GetActorBaseIntelligence, EEex_GetActorBaseWisdom

2.5.13 EEex_GetActorBaseWisdom

EEex_GetActorBaseWisdom(actorID)

Returns the actor’s base wisdom, (defined at offset 0x23B of the .CRE)

Parameters

• actorID - the actor id to return the base wisdom for

Return

Returns the base wisdom as a byte value

Example

local basewis = EEex_GetActorBaseWisdom(actorID)

See Also

EEex_GetActorBaseCharisma, EEex_GetActorBaseConstitution, EEex_GetActorBaseDexterity,EEex_GetActorBaseIntelligence, EEex_GetActorBaseStrength

36 Chapter 2. EEex Functions

Page 41: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.14 EEex_GetActorCastTimer

EEex_GetActorCastTimer(actorID)

Returns cast counter value for the specified actor

Parameters

• actorID - actor id to return cast counter value for

Return

Returns a value between 0 and 100

Example

casttimervalue = EEex_GetActorCastTimer(actorID)

2.5.15 EEex_GetActorClass

EEex_GetActorClass(actorID)

Returns the actor’s class

Parameters

• actorID - actor id to return class for

Return

Returns a BYTE value indicating class

Example

local targetclass = EEex_GetActorClass(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorGender, EEex_GetActorKit,EEex_GetActorName, EEex_GetActorRace

2.5.16 EEex_GetActorClassScript

EEex_GetActorClassScript(actorID)

Returns the actor’s class script, (defined at offset 0x250 of the .CRE, or optionally overriden by the actor structure atoffset 0x60)

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

local classscript = EEex_GetActorClassScript(actorID)

2.5. Actor 37

Page 42: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_GetActorDefaultScript, EEex_GetActorGeneralScript, EEex_GetActorOverrideScript,EEex_GetActorRaceScript, EEex_GetActorSpecificsScript

2.5.17 EEex_GetActorClassString

EEex_GetActorClassString(actorID)

Returns actor class as a string

Parameters

• actorID - actor id to return class string for

Return

Returns actor class as a string

Example

local classname = EEex_GetActorClassString()

See Also

EEex_GetActorClass, EEex_GetActorKit

2.5.18 EEex_GetActorCurrentDest

EEex_GetActorCurrentDest(actorID)

Returns actor current destination as an x, y point coordinate

Parameters

• actorID - the actor’s id to return the current destination for

Return

Returns an x, y point coordinate

Example

local destX, destY = EEex_GetActorCurrentDest(actorID)

See Also

EEex_GetActorPosDest, EEex_GetActorMovementRate, EEex_GetActorDirection, EEex_GetActorLocation

2.5.19 EEex_GetActorCurrentHP

EEex_GetActorCurrentHP(actorID)

Returns the actor’s current hit points (HP), (defined at offset 0x24 of the .CRE)

Parameters

• actorID - actor id to return current hit points for

38 Chapter 2. EEex Functions

Page 43: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

A WORD value indicating the current hit points of the actor

Example

local hp = EEex_GetActorCurrentHP(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorClass, EEex_GetActorGender,EEex_GetActorName, EEex_GetActorKit, EEex_GetActorRace

2.5.20 EEex_GetActorDefaultScript

EEex_GetActorDefaultScript(actorID)

Returns the actor’s default script resref as a string, (defined at offset 0x268 of the .CRE, or optionally overriden bythe actor structure at offset 0x70).

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

local defaultscript = EEex_GetActorDefaultScript(actorID)

See Also

EEex_GetActorClassScript, EEex_GetActorGeneralScript, EEex_GetActorOverrideScript,EEex_GetActorRaceScript, EEex_GetActorSpecificsScript

2.5.21 EEex_GetActorDialogue

EEex_GetActorDialogue(actorID)

Returns the actor’s dialogue resref as a string, (defined at offset 0x2CC of the .CRE, or optionally overriden by theactor structure at offset 0x48).

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

EEex_GetActorDialogue()

2.5. Actor 39

Page 44: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.22 EEex_GetActorDirection

EEex_GetActorDirection(actorID)

Returns the actor’s direction, (as defined in DIR.IDS; stored at offset 0x34 of the actor structure)

Parameters

• actorID - the actor id to return the actor’s direction for

Return

A WORD value indicating direction as defined in DIR.IDS

Example

local attackerDirection = EEex_GetActorDirection(attackerID)local targetDirection = EEex_GetActorDirection(targetID)

See Also

EEex_GetActorRequiredDirection, EEex_GetActorLocation

2.5.23 EEex_GetActorEffectResrefs

EEex_GetActorEffectResrefs(actorID)

Returns a list of effects as resource references

Parameters

• actorID - actor id to return the list of effects for

Return

Returns a list (array/table) of resource references (resrefs)

Example

local effreslist = EEex_GetActorEffectResrefs(actorID)

2.5.24 EEex_GetActorGender

EEex_GetActorGender(actorID)

Returns the actor’s gender

Parameters

• actorID - actor id to return gender for

Return

Returns a BYTE value indicating gender

Example

local gender = EEex_GetActorGender(actorID)

40 Chapter 2. EEex Functions

Page 45: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorClass, EEex_GetActorKit,EEex_GetActorName, EEex_GetActorRace

2.5.25 EEex_GetActorGeneral

EEex_GetActorGeneral(actorID)

Returns general

Parameters

• actorID - actor id to return general for

Return

Returns a BYTE value indicating general value

Example

EEex_GetActorGeneral()

2.5.26 EEex_GetActorGeneralScript

EEex_GetActorGeneralScript(actorID)

Returns the actor’s general script resref as a string, (defined at offset 0x260 of the .CRE, or optionally overriden bythe actor structure at offset 0x58).

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

local genscript = EEex_GetActorGeneralScript(actorID)

See Also

EEex_GetActorClassScript, EEex_GetActorDefaultScript, EEex_GetActorOverrideScript,EEex_GetActorRaceScript, EEex_GetActorSpecificsScript

2.5.27 EEex_GetActorKit

EEex_GetActorKit(actorID)

Returns the kit for the actor

Parameters

• actorID - actor id to return the kit for

2.5. Actor 41

Page 46: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a BYTE value indicating kit value

Example

local kitid = EEex_GetActorKit(actorID)

See Also

EEex_GetActorClass, EEex_GetActorClassString

2.5.28 EEex_GetActorLocal

EEex_GetActorLocal(actorID, localName)

Gets a LOCALS variable in the actor’s .CRE as if a GetGlobal(<localName>, “LOCALS”, <value>) script action wasexecuted by the given actor.

Parameters

• actorID - the actor’s id to retrieve the local variable for

• localName - the variable name to retrieve as a local variable

Return

Returns the local variable value

Example

EEex_GetActorLocal(actorID, "quest1completed")

See Also

EEex_SetActorLocal, EEex_GetAreaGlobal, EEex_GetGlobal

2.5.29 EEex_GetActorLocation

EEex_GetActorLocation(actorID)

Returns an x, y point coordinate indicating actor’s location

Parameters

• actorID - the actor’s id to return the location for

Return

Returns an x and y point coordinate

Example

local targetX, targetY = EEex_GetActorLocation(targetID)

See Also

EEex_GetActorDirection, EEex_GetActorRequiredDirection

42 Chapter 2. EEex Functions

Page 47: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.30 EEex_GetActorModalState

EEex_GetActorModalState(actorID)

Returns the actor’s current modal state, (as defined in MODAL.IDS; stored at offset 0x28 of the global-creaturestructure)

Parameters

• actorID - the actor’s id

Return

Returns the modal state

Example

local state = EEex_GetActorModalState(actorID)

2.5.31 EEex_GetActorModalTimer

EEex_GetActorModalTimer(actorID)

Returns the modal timer value for the actor

Parameters

• actorID - the actor’s id to return the modal timer for

Return

Returns a timer value

Example

EEex_GetActorModalTimer()

See Also

EEex_GetActorModalState

2.5.32 EEex_GetActorMovementRate

EEex_GetActorMovementRate(actorID, adjustForHaste)

Returns the actor’s movement rate

Parameters

• actorID - the actor’s id to return the movement rate for

• adjustForHaste - boolean to adjust movement rate if actor has hasted state

Return

Notes

If the actor has an effect (opcode 126 or 176) that sets their movement rate to 180, it will return 180. If the actor doesnot have a movement-modifying effect, it will return the “move_scale” number in the creature’s animation INI file. If

2.5. Actor 43

Page 48: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

adjustForHaste is true, the movement rate number will be doubled if the actor is hasted, and it will be halved if theactor is slowed.

Example

local hastespeed = EEex_GetActorMovementRate(actorID, true)

See Also

EEex_HasState, EEex_GetActorPosDest, EEex_GetActorModalState, EEex_GetActorLocation

2.5.33 EEex_GetActorName

EEex_GetActorName(actorID)

Returns actor’s name as a string

Parameters

• actorID - actor id to return name for

Return

Returns a string containing actor’s name

Example

local name = EEex_GetActorName(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorClass, EEex_GetActorGender,EEex_GetActorKit, EEex_GetActorRace

2.5.34 EEex_GetActorOverrideScript

EEex_GetActorOverrideScript(actorID)

Returns the actor’s override script resref as a string, (defined at offset 0x248 of the .CRE, or optionally overriden bythe actor structure at offset 0x50)

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

local overridescript = EEex_GetActorOverrideScript(actorID)

See Also

EEex_GetActorClassScript, EEex_GetActorDefaultScript, EEex_GetActorGeneralScript, EEex_GetActorRaceScript,EEex_GetActorSpecificsScript

44 Chapter 2. EEex Functions

Page 49: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.35 EEex_GetActorPosDest

EEex_GetActorPosDest(actorID)

Return the destination position of the actor as an x, y point coordinate

Parameters

• actorID - the actor’s id to return the destination position for

Return

Returns an x, y point coordinate

Example

local destX, destY = EEex_GetActorPosDest(actorID)

See Also

EEex_GetActorCurrentDest, EEex_GetActorMovementRate, EEex_GetActorDirection, EEex_GetActorLocation

2.5.36 EEex_GetActorRace

EEex_GetActorRace(actorID)

Returns the actor’s race

Parameters

• actorID - actor id to return race for

Return

Returns a BYTE value indicating race

Example

local race = EEex_GetActorRace(actorID)

See Also

EEex_GetActorAlignment, EEex_GetActorAllegiance, EEex_GetActorClass, EEex_GetActorGender,EEex_GetActorKit, EEex_GetActorName

2.5.37 EEex_GetActorRaceScript

EEex_GetActorRaceScript(actorID)

Returns the actor’s race script resref as a string, (defined at offset 0x258 of the .CRE, or optionally overriden by theactor structure at offset 0x68)

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

2.5. Actor 45

Page 50: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

local racescript = EEex_GetActorRaceScript(actorID)

See Also

EEex_GetActorClassScript, EEex_GetActorDefaultScript, EEex_GetActorGeneralScript,EEex_GetActorOverrideScript, EEex_GetActorSpecificsScript

2.5.38 EEex_GetActorRequiredDirection

EEex_GetActorRequiredDirection(actorID, targetX, targetY)

Returns the direction, (as defined in DIR.IDS), required for the actor to face the given point

Parameters

• actorID - the actor id to return the actor’s direction for the point coordinates specified

• targetX - the x coordinate for actor to face

• targetY - the y coordinate for actor to face

Return

A WORD value indicating direction as defined in DIR.IDS

Example

function EEex_IsActorFacing(sourceID, targetID)local targetX, targetY = EEex_GetActorLocation(targetID)local currentDir = EEex_GetActorDirection(sourceID)local requiredDir = EEex_GetActorRequiredDirection(sourceID, targetX, targetY)return currentDir == requiredDir

end

See Also

EEex_GetActorDirection

2.5.39 EEex_GetActorScriptName

EEex_GetActorScriptName(actorID)

Returns the script name for the actor

Parameters

• actorID - the actor’s id to return the script name for

Return

Returns a string indicating the script name

Example

local sname = EEex_GetActorScriptName(actorID)

46 Chapter 2. EEex Functions

Page 51: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.40 EEex_GetActorShare

EEex_GetActorShare(actorID)

Returns internal actor information which is used in other functions

Parameters

• actorID - the actor’s id

Return

Returns a pointer to the result of the CGameObjectArray::GetShare call

Examples

function EEex_GetActorIDArea(actorID)local ids = {}local actorShare = EEex_GetActorShare(actorID)local m_pArea = EEex_ReadDword(actorShare + 0x14)EEex_IterateActorIDs(m_pArea, function(areaActorID)

table.insert(ids, areaActorID)end)return ids

end

function EEex_GetActorAreaRes(actorID)if EEex_ReadDword(EEex_GetActorShare(actorID) + 0x14) > 0 then

return EEex_ReadLString(EEex_ReadDword(EEex_GetActorShare(actorID) +→˓0x14), 0x8)

elsereturn ""

endend

2.5.41 EEex_GetActorSpecific

EEex_GetActorSpecific()

Parameters

• 1

• 2

• 3

Return

Example

EEex_GetActorSpecific()

See Also

:ref:, :ref:

2.5. Actor 47

Page 52: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.42 EEex_GetActorSpecificsScript

EEex_GetActorSpecificsScript(actorID)

Returns the actor’s specifics script resref as a string, (defined at offset 0x78 of the actor structure).

Parameters

• actorID - the actor’s id

Return

Returns a string

Example

local specificsscript = EEex_GetActorSpecificsScript(actorID)

See Also

EEex_GetActorClassScript, EEex_GetActorDefaultScript, EEex_GetActorGeneralScript,EEex_GetActorOverrideScript, EEex_GetActorRaceScript

2.5.43 EEex_GetActorSpellRES

EEex_GetActorSpellRES(actorID)

Returns the resref of the spell the actor is either currently casting or is about to cast (waiting for its aura to be cleansed)

Parameters

• actorID - the actor’s id to return the spell resref for

Return

Returns a resource reference string, or “” if the actor is not casting a spell

Example

EEex_GetActorSpellRES()

See Also

EEex_GetActorAreaRes, EEex_GetActorCurrentAction

2.5.44 EEex_GetActorSpellState

Eex_GetActorSpellState(actorID, splstateID)

Returns spell state for the actor

Parameters

• actorID - the actor’s id to return the spell state for the actor

• splstateID - the id of the spell state

48 Chapter 2. EEex Functions

Page 53: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns the spell state

Example

EEex_GetActorSpellState()

2.5.45 EEex_GetActorSpellTimer

EEex_GetActorSpellTimer()

Parameters

• 1

• 2

• 3

Return

Example

EEex_GetActorSpellTimer()

See Also

:ref:, :ref:

2.5.46 EEex_GetActorStat

EEex_GetActorStat()

Parameters

• 1

• 2

• 3

Return

Example

EEex_GetActorStat()

See Also

:ref:, :ref:

2.5.47 EEex_GetActorTargetID

EEex_GetActorTargetID(actorID)

Returns the ID of the target of the actor’s current action

Parameters

2.5. Actor 49

Page 54: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• actorID - the actor’s id to return the ID of the target of the actor’s current action

Return

Returns an actor id

Notes

If the actor is not targeting another creature (e.g. if the actor is doing nothing, targeting a point, or targeting a container,door, or trap), then it will return 0.

Example

local target = EEex_GetActorTargetID(actorID)

See Also

EEex_GetActorTargetPoint, EEex_GetActorDirection, EEex_GetActorLocation, EEex_IsActorFacing

2.5.48 EEex_GetActorTargetPoint

EEex_GetActorTargetPoint(actorID)

Return the target of the actor as an x, y point coordinate

Parameters

• actorID - the actor’s id to return the target point for

Return

Returns an x, y point coordinate

Example

local targetX, targetY = EEex_GetActorTargetPoint(actorID)

See Also

EEex_GetActorTargetID, EEex_GetActorDirection, EEex_GetActorLocation, EEex_IsActorFacing

2.5.49 EEex_GetImageMasterID

EEex_GetImageMasterID(actorID)

If the actor is an image created by Mislead, Project Image or Simulacrum, this returns the actor ID of the image’smaster. Otherwise, it returns 0

Parameters

• actorID - the actor’s id

Return

Returns actor id or 0

Notes

This first read will get the master ID even if the image doesn’t have a Puppet ID effect. However, that field (0x39F4)gets reset to -1 on a reload, so the function also checks a second field (0x1604)

Example

50 Chapter 2. EEex Functions

Page 55: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_GetImageMasterID()

See Also

EEex_GetSummonerID

2.5.50 EEex_GetSummonerID

EEex_GetSummonerID(actorID)

If the actor is a summoned creature, this returns the actor ID of its summoner

Parameters

• actorID - the actor’s id

Return

Returns actor id or 0

Notes

If the actor is not a summoned creature, or if it’s an image created by Mislead, Project Image or Simulacrum, this willreturn 0. Also, this will return 0 if the creature had already been summoned before the save was loaded.

Example

EEex_GetSummonerID()

See Also

EEex_GetImageMasterID

2.5.51 EEex_HasState

EEex_HasState(actorID, state)

Returns true if the actor has the specified state, based on the numbers in STATE.IDS. For example, if the state parameteris set to 0x8000, it will return true if the actor is hasted or improved hasted, because STATE_HASTE is state 0x8000in STATE.IDS.

Parameters

• actorID - the actor id to check the state for

• state - the state to check

Return

True or false if the actor has the specified state

Example

if EEex_HasState(actorID, 0x8000) then -- If the actor is hastedspeed = speed * 2

endif EEex_HasState(actorID, 0x10000) then -- If the actor is slowed

speed = math.floor(speed / 2)end

2.5. Actor 51

Page 56: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.5.52 EEex_IsActorFacing

EEex_IsActorFacing(sourceID, targetID)

Returns true if the sourceID actor is facing the exact direction required to face the targetID actor

Parameters

• sourceID - the source actor’s id to check if facing the targetID

• targetID - the target actor’s id to check if sourceID is facing it

Return

Returns true or false

Example

local bFacing = EEex_IsActorFacing(sourceID, targetID)

See Also

EEex_GetActorTargetID, EEex_GetActorTargetPoint, EEex_GetActorDirection, EEex_GetActorLocation,EEex_IsActorFacing

2.5.53 EEex_IsActorInCombat

EEex_IsActorInCombat(actorID, includeDeadZone)

Returns true if the given actor is in combat

Parameters

• actorID - the actor’s id to check if in combat

• includeDeadZone - boolean value, see notes

Return

Returns true or false

Notes

If includeDeadZone is set to true, the time period will be extended to until the battle music fully fades out

Example

local incombat = EEex_IsActorInCombat(actorID, false)

2.5.54 EEex_IsImmuneToOpcode

EEex_IsImmuneToOpcode(actorID, opcode)

Returns true if the actor is immune to the specified opcode

Parameters

• actorID - the actor’s id to check if immune to the specified opcode

• opcode - the opcode to check if actor is immune to

52 Chapter 2. EEex Functions

Page 57: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns true or false

Example

local bImmune = EEex_IsImmuneToOpcode(actorID, 281)

See Also

EEex_IsImmuneToSpellLevel

2.5.55 EEex_IsImmuneToSpellLevel

EEex_IsImmuneToSpellLevel(actorID, level, includeSpellDeflection)

Returns true if the actor is immune to the specified spell level

Parameters

• actorID - the actor’s id to check if immune to the specified spell level

• level - spell level to check if immune to

• includeSpellDeflection - boolean value, see notes

Return

Returns true or false

Notes

If includeSpellDeflection is true, it will also return true if the actor has a Spell Deflection, Spell Turning or Spell Trapeffect for the specified spell level.

Example

local spelllevel4immune = EEex_IsImmuneToSpellLevel(actorID, 4, true)

See Also

EEex_IsImmuneToOpcode

2.5.56 EEex_IsSprite

EEex_IsSprite(actorID, allowDead)

Returns true if the actor is a creature. Returns false if the actor is BALDUR.BCS, an area script, a door, a container,or a region.

Parameters

• actorID - the actor id to check

• allowDead - a boolean value to allow check for dead creatures or only living ones.

Return

true or false

Notes

2.5. Actor 53

Page 58: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

If you get the sourceID of an effect of a fireball from a trap, and you do EEex_IsSprite(sourceID), it will return false.If the source had been a mage casting a fireball, it would’ve returned true.

Example

function EEex_GetActorName(actorID)if not EEex_IsSprite(actorID) then return "" endreturn EEex_ReadString(EEex_ReadDword(EEex_Call(EEex_Label("CGameSprite::GetName"),

→˓ {0x0}, EEex_GetActorShare(actorID), 0x0)))end

2.5.57 EEex_IterateActorEffects

EEex_IterateActorEffects(actorID, func)

For each effect on the actor, the function is passed offset 0x0 of the effect data. The offsets in the effect data are thesame as the offsets in an EFF file

Parameters

• actorID - actor id to iterate effects for

• func - function to call

Return

None

Notes

Table with the effect offsets, along with the size of each one. Names are based on WeiDU function variable namesunless not included in there.

EEex_effOff = {["opcode"] = {0x10, 4},["target"] = {0x14, 4},["power"] = {0x18, 4},["parameter1"] = {0x1C, 4},["parameter2"] = {0x20, 4},["timing"] = {0x24, 4},["duration"] = {0x28, 4},["probability1"] = {0x2C, 2},["probability2"] = {0x2E, 2},["resource"] = {0x30, 8},["dicenumber"] = {0x38, 4},["dicesize"] = {0x3C, 4},["savingthrow"] = {0x40, 4},["savebonus"] = {0x44, 4},["special"] = {0x48, 4},["school"] = {0x4C, 4},["lowestafflevel"] = {0x54, 4},["highestafflevel"] = {0x58, 4},["resist_dispel"] = {0x5C, 4},["parameter3"] = {0x60, 4},["parameter4"] = {0x64, 4},["time_applied"] = {0x6C, 4},["vvcresource"] = {0x70, 8},["resource2"] = {0x78, 8},

(continues on next page)

54 Chapter 2. EEex Functions

Page 59: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

["casterx"] = {0x80, 4},["source_x"] = {0x80, 4},["castery"] = {0x84, 4},["source_y"] = {0x84, 4},["targetx"] = {0x88, 4},["target_x"] = {0x88, 4},["targety"] = {0x8C, 4},["target_y"] = {0x8C, 4},["restype"] = {0x90, 4},["effsource"] = {0x94, 8},["parent_resource"] = {0x94, 8},["resource_flags"] = {0x9C, 4},["impact_projectile"] = {0xA0, 4},["sourceslot"] = {0xA4, 4},["effvar"] = {0xA8, 32},["casterlvl"] = {0xC8, 4},["internal_flags"] = {0xCC, 4},["sectype"] = {0xD0, 4},["source_id"] = {0x110, 4}}

Example

-- Will print the opcode number of each effect on the actor

EEex_IterateActorEffects(EEex_GetActorIDCursor(), function(eData)local opcode = EEex_ReadDword(eData + 0x10)Infinity_DisplayString(opcode)

end)

2.5.58 EEex_SetActorLocal

EEex_SetActorLocal(actorID, localName, value)

Sets a LOCALS variable in the actor’s .CRE as if a SetGlobal(<localName>, “LOCALS”, <value>) script action wasexecuted by the given actor.

Parameters

• actorID - the actor’s id to assign the local variable to

• localName - the variable name to set as a local variable

• value - the value to assign to the local variable

Return

Returns the local variable

Example

EEex_SetActorLocal(actorID, "quest1completed", true)

See Also

EEex_GetActorLocal, EEex_GetAreaGlobal, EEex_GetGlobal

2.5. Actor 55

Page 60: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionEEex_AlterActorEffect Alters effects like WeiDU ALTER_EFFECT but ingameEEex_ApplyEffectToActor Directly applies an effect to actor from args tableEEex_GetActorAlignment Return alignment of actorEEex_GetActorAllegiance Returns the actor’s allegianceEEex_GetActorAnimation Returns the actor’s animationEEex_GetActorAreaRes Returns the actor’s current area resref as a stringEEex_GetActorAreaSize Gets the max X and Y coords of area the actor is inEEex_GetActorBaseCharisma Returns the actor’s base charismaEEex_GetActorBaseConstitution Returns the actor’s base constitutionEEex_GetActorBaseDexterity Returns the actor’s base dexterityEEex_GetActorBaseIntelligence Returns the actor’s base intelligenceEEex_GetActorBaseStrength Returns the actor’s base strengthEEex_GetActorBaseWisdom Returns the actor’s base wisdomEEex_GetActorCastTimer Returns cast counter value for the specified actorEEex_GetActorClass Returns the actor’s classEEex_GetActorClassScript Returns the actor’s class scriptEEex_GetActorClassString Returns actor class as a stringEEex_GetActorCurrentDest Returns actor current destinationEEex_GetActorCurrentHP Returns the actor’s current HPEEex_GetActorDefaultScript Returns actor’s default script resref as a stringEEex_GetActorDialogue Returns the actor’s dialogue resref as a stringEEex_GetActorDirection Returns the actor’s directionEEex_GetActorEffectResrefs Returns a list of effects as resource referencesEEex_GetActorGender Returns the actor’s genderEEex_GetActorGeneral Returns the actor’s generalEEex_GetActorGeneralScript Returns actor’s general script resref as a stringEEex_GetActorKit Returns the kit for the actorEEex_GetActorLocal Gets a LOCALS variable in the actor’s .CREEEex_GetActorLocation Returns a point coordinate indicating locationEEex_GetActorModalState Returns the actor’s current modal state (MODAL.IDS)EEex_GetActorModalTimer Returns the modal timer value for the actorEEex_GetActorMovementRate Returns the actor’s movement rateEEex_GetActorName Returns actor’s name as a stringEEex_GetActorOverrideScript Returns actor’s override script resref as a stringEEex_GetActorPosDest Return the destination position of the actorEEex_GetActorRace Returns the actor’s raceEEex_GetActorRaceScript Returns the actor’s race script resref as a stringEEex_GetActorRequiredDirection Returns the direction for the actor to face a pointEEex_GetActorScriptName Returns the script name for the actorEEex_GetActorShare Returns internal actor informationEEex_GetActorSpecificEEex_GetActorSpecificsScript Returns actor’s specifics script resref as a stringEEex_GetActorSpellRES Returns the resref of spell the actor is castingEEex_GetActorSpellState Returns spell state for the actorEEex_GetActorSpellTimerEEex_GetActorStatEEex_GetActorTargetID Returns the ID of the target of the actor’s actionEEex_GetActorTargetPoint Return the target of the actor as a pointEEex_GetImageMasterID Returns the actor ID of the image’s master

Continued on next page

56 Chapter 2. EEex Functions

Page 61: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous pageEEex_GetSummonerID Returns summoner actor ID of a summoned creatureEEex_HasState Returns true if the actor has the specified stateEEex_IsActorFacing Returns true if actor is facing targetEEex_IsActorInCombat Returns true if the given actor is in combatEEex_IsImmuneToOpcode Returns true if actor is immune to specified opcodeEEex_IsImmuneToSpellLevel Returns true if actor is immune to spell levelEEex_IsSprite Returns true if the actor is a creatureEEex_IterateActorEffects Iterate actor effectsEEex_SetActorLocal Sets a LOCALS variable in the actor’s .CRE

2.6 Area

2.6.1 EEex_GetAreaGlobal

EEex_GetAreaGlobal(areaResref, globalName)

Fetches the value of an arearesref variable named globalName in an .ARE file.

Parameters

• areaResref- the area resource reference to fetch a global variable from

• globalName - the global variable name to fetch the value of

Return

Returns the global variable value

Example

testervalue = EEex_GetAreaGlobal("ARE0802", "Tester")

See Also

EEex_SetAreaGlobal, EEex_IterateAreas

2.6.2 EEex_IterateAreas

EEex_IterateAreas(func)

Iterate through all areas and pass each area to a callback function as a parameter

Parameters

• func - callback function to call on each iteration and to pass area parameter to

Return

None

Example

function EEex_GetActorIDLoaded()local ids = {}EEex_IterateAreas(function(m_gameArea)

(continues on next page)

2.6. Area 57

Page 62: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

EEex_IterateActorIDs(m_gameArea, function(actorID)table.insert(ids, actorID)

end)end)return ids

end

See Also

EEex_GetAreaGlobal, EEex_SetAreaGlobal

2.6.3 EEex_SetAreaGlobal

EEex_SetAreaGlobal(areaResref, globalName, value)

Sets an arearesref variable named globalName to a value in an .ARE as if a SetGlobal(<globalName>,<areaResref>, <value>) script action was executed.

Parameters

• areaResref - the area resource reference to assign the global to

• globalName - the variable name to set as a global variable

• value - the value to assign to the global variable

Return

Returns the global variable

Example

EEex_SetAreaGlobal("ARE0802", "Tester", 1)

See Also

EEex_GetAreaGlobal, EEex_IterateAreas

Function DescriptionEEex_GetAreaGlobal Return a game area’s GLOBAL variableEEex_IterateAreas Loop through game area’s with a callback functionEEex_SetAreaGlobal Set the value of a game area’s GLOBAL variable

2.7 Bard

2.7.1 EEex_HookBardThieving

EEex_HookBardThieving()

Returns a class IDS that will be what the game engine treats the character as when they use their thieving abilities.

Parameters

None

Return

58 Chapter 2. EEex Functions

Page 63: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns a class IDS

Example

function EEex_HookBardThieving()local actorID = EEex_GetActorIDSelected()local class = EEex_GetActorClass(actorID)return class

end

See Also

EEex_InstallBardThievingHook

Function DescriptionEEex_HookBardThieving Returns a class IDS for using thieving abilities

2.8 Game state

2.8.1 EEex_FetchVariable

EEex_FetchVariable(CVariableHash, variableName)

Returns the value of a variable in a hash table

Parameters

• CVariableHash - the hash table to add a lookup

• variableName - the variable name to return the value for

Return

Returns the value associated with the variableName

Example

function EEex_GetGlobal(globalName)local g_pBaldurChitin = EEex_ReadDword(EEex_Label("g_pBaldurChitin"))local m_pObjectGame = EEex_ReadDword(g_pBaldurChitin + EEex_Label(

→˓"CBaldurChitin::m_pObjectGame"))local m_variables = m_pObjectGame + 0x5BC8return EEex_FetchVariable(m_variables, globalName)

end

See Also

EEex_SetVariable, EEex_SetGlobal, EEex_GetGlobal

2.8.2 EEex_GetFPS

EEex_GetFPS()

Returns the frames per second of the internal game engine, as specified by the timer updates per second value in theCChittin object (CChitin::TIMER_UPDATES_PER_SECOND)

Parameters

2.8. Game state 59

Page 64: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

None

Return

Returns the frames per second of the internal game engine

Example

local fps = EEex_GetFPS()

See Also

EEex_GetGameTick

2.8.3 EEex_GetGameTick

EEex_GetGameTick()

Returns the game time tick (m_gameTime) value from m_pObjectGame

Parameters

None

Return

Returns the game time tick value

Example

local tick = EEex_GetGameTick()

See Also

EEex_GetFPS

2.8.4 EEex_GetGlobal

EEex_GetGlobal(globalName)

Gets a GLOBAL variable’s value from the .GAM

Parameters

• globalName - the variable name to fetch the value for

Return

Returns the global variable

Example

testervalue = EEex_GetGlobal("tester")

See Also

EEex_SetGlobal, EEex_FetchVariable, EEex_SetVariable

60 Chapter 2. EEex Functions

Page 65: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.8.5 EEex_SetGlobal

EEex_SetGlobal(globalName, value)

Sets a GLOBAL variable’s value in the .GAM as if a SetGlobal(<globalName>, "GLOBAL", <value>)script action was executed.

Parameters

• globalName - the variable name to set as a global variable

• value - the value to assign to the global variable

Return

Returns the global variable

Example

EEex_SetGlobal("tester",1)

See Also

EEex_GetGlobal, EEex_FetchVariable, EEex_SetVariable

2.8.6 EEex_SetVariable

EEex_SetVariable(CVariableHash, variableName, value)

Sets a variable’s value in a hash table

Parameters

• CVariableHash - the hash table to add a key to

• variableName - the variable name to set

• value - the value to assign to the variable

Return

None

Example

function EEex_SetGlobal(globalName, value)local g_pBaldurChitin = EEex_ReadDword(EEex_Label("g_pBaldurChitin"))local m_pObjectGame = EEex_ReadDword(g_pBaldurChitin + EEex_Label(

→˓"CBaldurChitin::m_pObjectGame"))local m_variables = m_pObjectGame + 0x5BC8return EEex_SetVariable(m_variables, globalName, value)

end

See Also

EEex_FetchVariable, EEex_SetGlobal, EEex_GetGlobal

2.8. Game state 61

Page 66: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionEEex_FetchVariable Returns a game variable valueEEex_GetFPS Returns the frames per second of the gameEEex_GetGameTick Returns the game tick valueEEex_GetGlobal Returns a game GLOBAL variable valueEEex_SetGlobal Sets the value of a game GLOBAL variableEEex_SetVariable Sets the value of a game variable

2.9 Key

2.9.1 EEex_AddKeyPressedListener

EEex_AddKeyPressedListener(func)

Add a listener for a keyboard key pressed event

Parameters

• func - function to add for the key press listener

Return

None

Example

function B3Hotkey_KeyPressedListener(key)-- function added for the key press listener-- see B3Hotke.lua for detailsend

EEex_AddKeyPressedListener(B3Hotkey_KeyPressedListener)

See Also

EEex_AddKeyReleasedListener, EEex_IsKeyDown

2.9.2 EEex_AddKeyReleasedListener

EEex_AddKeyReleasedListener(func)

Add a listener for a keyboard key released event

Parameters

• func - function to add for the key release listener

Return

None

Example

62 Chapter 2. EEex Functions

Page 67: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

function B3Hotkey_KeyReleasedListener(key)-- function added for the key release listener-- see B3Hotke.lua for detailsend

EEex_AddKeyReleasedListener(B3Hotkey_KeyReleasedListener)

See Also

EEex_AddKeyPressedListener, EEex_IsKeyDown

2.9.3 EEex_IsKeyDown

EEEex_IsKeyDown(key)

Determines if a specific key is currently down. Requires that EEex_AddKeyPressedListener has been called to add akeypress listenener.

Parameters

• key - the key code to test

Return

Returns true if the specified key is currently down, otherwise returns false.

Example

EEex_IsKeyDown()

See Also

EEex_AddKeyPressedListener, EEex_AddKeyReleasedListener

Function DescriptionEEex_AddKeyPressedListener Add a listener for a keyboard key pressed eventEEex_AddKeyReleasedListener Add a listener for a keyboard key released eventEEex_IsKeyDown Determines if a specific key is currently down

2.10 Menu

2.10.1 EEex_AddPostResetListener

EEex_AddPostResetListener(listener)

Adds the specified listener function to be called after an F5 UI reload is executed.

Parameters

• listener - function to add

Return

None

Example

2.10. Menu 63

Page 68: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_AddPostResetListener()

See Also

EEex_LoadMenuFile, EEex_AddUIMenuLoadListener, EEex_AddResetListener

2.10.2 EEex_AddResetListener

EEex_AddResetListener(listener)

Adds the specified listener function to the EEex_ResetListeners list

Parameters

• listener - function to add

Return

None

Example

EEex_AddResetListener()

See Also

EEex_LoadMenuFile, EEex_AddUIMenuLoadListener, EEex_AddPostResetListener

2.10.3 EEex_AddUIMenuLoadListener

EEex_AddUIMenuLoadListener(listener)

Adds the specified listener function to be called after initial UI.MENU load an when an F5 UI reload is executed.

Parameters

• listener - function to add

Return

None

Example

EEex_AddUIMenuLoadListener()

See Also

EEex_LoadMenuFile, EEex_AddResetListener, EEex_AddPostResetListener

2.10.4 EEex_DestroyInjectedTemplate

EEex_DestroyInjectedTemplate(menuName, templateName, instanceId)

Destroys an instance injected into a menu via EEex_InjectTemplate

Parameters

64 Chapter 2. EEex Functions

Page 69: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• menuName - menu name

• templateName - template name

• instanceId - instance id

Return

None

Example

EEex_DestroyInjectedTemplate()

See Also

EEex_InjectTemplate

2.10.5 EEex_FetchMenuRes

EEex_FetchMenuRes(resref)

Fetch menu resource reference

Parameters

• resref - resource reference

Return

Retuns a DWORD value

Example

EEex_FetchMenuRes()

See Also

:ref:, :ref:

2.10.6 EEex_GetListScroll

EEex_GetListScroll(listName)

Get list scroll position

Parameters

• listName - list to return scroll positon for

Return

Returns scroll position

Example

local scrollpos = EEex_GetListScroll(listName)

See Also

EEex_SetListScroll

2.10. Menu 65

Page 70: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.10.7 EEex_GetMenuAddressFromItem

EEex_GetMenuAddressFromItem(menuItemName)

Return menu address from a menu item

Parameters

• menuItemName - menu item name to get menu address from

Return

Returns a DWORD value representing the menu address

Example

EEex_GetMenuAddressFromItem()

See Also

EEex_GetMenuItemAddress

2.10.8 EEex_GetMenuFunctionOffset

EEex_GetMenuFunctionOffset(typeName)

Returns an array of menu offsets related to onopen, onclose and enabled

Parameters

• typeName

Return

Returns an array of menu offsets

Example

EEex_GetMenuFunctionOffset()

See Also

EEex_GetMenuAddressFromItem, EEex_GetMenuItemAddress, EEex_GetMenuStructure

2.10.9 EEex_GetMenuItemAddress

EEex_GetMenuItemAddress(menuItemName)

Return an address of an menu item

Parameters

• menuItemName - menu item name to return address for

Return

Returns menu item address

Example

66 Chapter 2. EEex Functions

Page 71: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_GetMenuItemAddress()

See Also

EEex_GetMenuAddressFromItem

2.10.10 EEex_GetMenuStructure

EEex_GetMenuStructure(menuName)

Returns menu structure

Parameters

• menuName - menu name to return structure for

Return

Returns a pointer to the menu structure

Example

local menu = EEex_GetMenuStructure(menuName)

See Also

EEex_GetMenuFunctionOffset

2.10.11 EEex_GetMenuVariantFunction

EEex_GetMenuVariantFunction(menuName, typeName)

Returns the internal Lua function associated with the given menu’s attribute.

Parameters

• menuName - a string representing the menu name to return the internal Lua function for, can be one of thefollowing: "WORLD_ACTIONBAR", "WORLD_QUICKLOOT", "WORLD_DIALOG", "WORLD_MESSAGES","WORLD_DEATH", "WORLD_CONTAINER", "WORLD_MAP" or "WORLD_PICKPARTY"

• typeName - the menu type to get, which can be one of the following: onopen, onclose or enabled

Return

Returns a Lua function

Example

local defaultOnopen = EEex_GetMenuVariantFunction("WORLD_ACTIONBAR", "onopen")defaultOnopen()

See Also

EEex_SetMenuVariantFunction

2.10. Menu 67

Page 72: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.10.12 EEex_GetTrueMousePos

EEex_GetTrueMousePos()

Returns x and y coordinate for mouse position

Parameters

None

Return

Returns and x and y coordinate representing the mouse position

Example

local mouseX, mouseY = EEex_GetTrueMousePos()

See Also

EEex_IsCursorWithin, EEex_IsCursorWithinMenu, EEex_ScreenToWorldXY

2.10.13 EEex_InjectTemplate

EEex_InjectTemplate(menuName, templateName, x, y, w, h)

Inject template into menu. Exactly the same as Infinity_InstanceAnimation, but allows said instance to be “injected”into the menu specified.

Parameters

• menuName - menu name to inject to

• templateName - template name to inject

• x - x position

• y - y position

• w - width

• h - height

Return

None

Example

EEex_InjectTemplate(menuName, templateName, x, y, w, h)

See Also

Infinity_InstanceAnimation

2.10.14 EEex_IsCursorWithin

EEex_IsCursorWithin(x, y, width, height)

68 Chapter 2. EEex Functions

Page 73: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Determines if mouse position is within a specified rectangle

Parameters

• x - x position of rectangle

• y - y position of rectangle

• width - width of rectangle

• height - height of rectangle

Return

Returns true if mouse position is located withing the specified rectangle or false otherwise

Example

function EEex_IsCursorWithinMenu(menuName, menuItemName)local offsetX, offsetY = Infinity_GetOffset(menuName)local itemX, itemY, itemWidth, itemHeight = Infinity_GetArea(menuItemName)return EEex_IsCursorWithin(offsetX + itemX, offsetY + itemY, itemWidth,

→˓itemHeight)end

See Also

EEex_GetTrueMousePos, EEex_IsCursorWithinMenu

2.10.15 EEex_IsCursorWithinMenu

EEex_IsCursorWithinMenu(menuName, menuItemName)

Determines if mouse position is within a menu item’s bounding rectangle

Parameters

• menuName - menu name for the menu item to check

• menuItemName - menu item to check if mouse position is within

Return

Returns true if mouse position is located withing the menu item’s bounding rectangle or false otherwise

Example

EEex_IsCursorWithinMenu()

See Also

EEex_IsCursorWithin, EEex_GetTrueMousePos

2.10.16 EEex_LoadMenuFile

EEex_LoadMenuFile(resref)

Loads in the given .MENU file as if it were UI.MENU. Note that in order to keep the menu loaded in the event of anF5 UI reload, a post-reset listener (EEex_AddPostResetListener) must be used to reload the menu manually.

Parameters

2.10. Menu 69

Page 74: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• resref - resource reference of menu to load

Return

None

Example

EEex_LoadMenuFile("B3_CuBar")

See Also

EEex_AddPostResetListener

2.10.17 EEex_ScreenToWorldXY

EEex_ScreenToWorldXY(screenX, screenY)

Translates the given screenX and screenY into a worldX and worldY. Use EEex_GetTrueMousePos to obtain validscreen coordinates.

Parameters

• screenX - x screen coordinate to translate

• screenY - y screen coordinate to translate

Return

Returns translated x and y world coordinates

Example

local WorldX, WorldY = EEex_ScreenToWorldXY(screenX, screenY)

See Also

EEex_GetTrueMousePos, EEex_TranslateGameXY

2.10.18 EEex_SetListScroll

EEex_SetListScroll(listName, scroll)

Set list scroll position

Parameters

• listName - list to set scroll positon for

• scroll - scroll positon to set

Return

Returns scroll position

Example

EEex_SetListScroll(listName, scroll)

See Also

EEex_GetListScroll

70 Chapter 2. EEex Functions

Page 75: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.10.19 EEex_SetMenuVariantFunction

EEex_SetMenuVariantFunction(menuName, typeName, myFunction)

Overwrites the internal Lua function associated with the given menu’s attribute.

Parameters

• menuName - a string representing the menu name to set the internal Lua function for, can be one of thefollowing: "WORLD_ACTIONBAR", "WORLD_QUICKLOOT", "WORLD_DIALOG", "WORLD_MESSAGES","WORLD_DEATH", "WORLD_CONTAINER", "WORLD_MAP" or "WORLD_PICKPARTY"

• typeName - the menu type to set, which can be one of the following: onopen, onclose or enabled

• myFunction - a Lua function to replace the menu’s internal Lua function for

Return

None

Example

EEex_SetMenuVariantFunction("WORLD_ACTIONBAR", "onopen", function()Infinity_DisplayString("Override Running!")

end)

See Also

EEex_GetMenuVariantFunction

2.10.20 EEex_StoreTemplateInstance

EEex_StoreTemplateInstance(menuName, templateName, instanceID, storeIntoName)

Store a value into a menu template instance

Parameters

• menuName - menu name

• templateName - template name

• instanceID - instance id

• storeIntoName - value to store

Return

None

Example

EEex_StoreTemplateInstance()

2.10.21 EEex_TranslateGameXY

EEex_TranslateGameXY(mouseGameX, mouseGameY)

2.10. Menu 71

Page 76: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Translates the given mouse coordinate to viewport coordinates

Parameters

• mouseGameX - x game coordinate to translate

• mouseGameY - y game coordinate to translate

Return

Returns translated x and y viewport coordinates

Example

EEex_TranslateGameXY()

See Also

EEex_ScreenToWorldXY , EEex_GetTrueMousePos

Function DescriptionEEex_AddPostResetListener Add function to be called after F5 UI reloadEEex_AddResetListener Add function to the EEex_ResetListeners listEEex_AddUIMenuLoadListener Add function to be called after initial UI.MENUEEex_DestroyInjectedTemplate Destroys an instance injected into a menuEEex_FetchMenuRes Fetch menu resource referenceEEex_GetListScroll Get list scroll positionEEex_GetMenuAddressFromItem Return menu address from a menu itemEEex_GetMenuFunctionOffset Returns an array of menu offsetsEEex_GetMenuItemAddress Return an address of an menu itemEEex_GetMenuStructure Returns menu structureEEex_GetMenuVariantFunction Returns lua function associated with menu’s attribEEex_GetTrueMousePos Returns x and y coordinate for mouse positionEEex_InjectTemplate Inject template into menuEEex_IsCursorWithin Determines if mouse position is within a rectangleEEex_IsCursorWithinMenu Determines if mouse position is within a menu itemEEex_LoadMenuFile Loads in the given .MENU file as if it were UI.MENUEEex_ScreenToWorldXY Translates screenX, screenY into worldX, worldYEEex_SetListScroll Set list scroll positionEEex_SetMenuVariantFunction Overwrite lua function for with menu’s attributeEEex_StoreTemplateInstance Store a value into a menu template instanceEEex_TranslateGameXY Translates mouseGameX, mouseGameY to viewX, viewY

2.11 Object

2.11.1 EEex_EvalObjectAsActor

EEex_EvalObjectAsActor(object, actorID)

Evaluates an object pointer, (returned by EEex_ParseObjectString), as if it was evaluated by the given actor.

Parameters

• object - object pointer to evaluate

• actorID - id of actor to evaluate as

72 Chapter 2. EEex Functions

Page 77: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns the matched id

Example

EEex_EvalObjectAsActor()

See Also

EEex_ParseObjectString, EEex_EvalObjectStringAsActor

2.11.2 EEex_EvalObjectStringAsActor

EEex_EvalObjectStringAsActor(string, actorID)

Evaluates an object string in standard BAF syntax as if it was evaluated by the given actor

Parameters

• string - object string to evaluate

• actorID - id of actor to evaluate as

Return

Returns the matched id

Example

EEex_EvalObjectStringAsActor(string, actorID)

See Also

EEex_ParseObjectString, EEex_EvalObjectAsActor

2.11.3 EEex_ParseObjectString

EEex_ParseObjectString(string)

Parses the given object string in standard BAF syntax and returns a pointer to the compiled CAIObjectType instance.Use EEex_EvalObjectAsActor to evaluate the compiled object instance in relation to an actor.

Parameters

• string - the string to evaluate

Return

Returns pointer to the object

Example

local object = EEex_ParseObjectString(string)

See Also

EEex_EvalObjectAsActor, EEex_EvalObjectStringAsActor

2.11. Object 73

Page 78: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionEEex_EvalObjectAsActor Evaluate an object as an actorEEex_EvalObjectStringAsActor Evaluate an object string as an actorEEex_ParseObjectString Parse object string

2.12 Spells

2.12.1 EEex_GetKnownClericSpells

EEex_GetKnownClericSpells(actorID)

Returns an array of known cleric spells for specified actor.

Parameters

• actorID - id of actor to return known cleric spells for

Return

Returns an array of known cleric spells for specified actor. The returned array contains the following fields and valuesfor each spell returned: resref, icon, name, description, index

Example*

local knownspells = EEex_GetKnownClericSpells(actorID)

See Also

EEex_GetMemorizedClericSpells, EEex_GetKnownInnateSpells, EEex_GetKnownWizardSpells

2.12.2 EEex_GetKnownInnateSpells

EEex_GetKnownInnateSpells(actorID)

Returns an array of known innate spells for specified actor.

Parameters

• actorID - id of actor to return known innate spells for

Return

Returns an array of known innate spells for specified actor. The returned array contains the following fields and valuesfor each spell returned: resref, icon, name, description, index

Example

local knownspells = EEex_GetKnownInnateSpells(actorID)

See Also

EEex_GetMemorizedInnateSpells, EEex_GetKnownClericSpells, EEex_GetKnownWizardSpells

74 Chapter 2. EEex Functions

Page 79: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.3 EEex_GetKnownWizardSpells

EEex_GetKnownWizardSpells(actorID)

Returns an array of known wizard spells for specified actor.

Parameters

• actorID - id of actor to return known wizard spells for

Return

Returns an array of known wizard spells for specified actor. The returned array contains the following fields and valuesfor each spell returned: resref, icon, name, description, index

Example

local knownspells = EEex_GetKnownWizardSpells(actorID)

See Also

EEex_GetMemorizedWizardSpells, EEex_GetKnownInnateSpells, EEex_GetKnownClericSpells

2.12.4 EEex_GetMaximumMemorizableClericSpells

EEex_GetMaximumMemorizableClericSpells(actorID, level)

Returns max number of memorizable cleric spells for the specified actor for a specific spell level

Parameters

• actorID - id of actor to return max memorizable spells for

• level - spell level to return max memorizable spells for

Return

Returns a WORD value representing the max memorizable spells for the spell level for the actor

Example

local maxpriest1st = EEex_GetMaximumMemorizableClericSpells(actorID, 1)

See Also

EEex_GetMaximumMemorizableInnateSpells, EEex_GetMaximumMemorizableWizardSpells

2.12.5 EEex_GetMaximumMemorizableInnateSpells

EEex_GetMaximumMemorizableInnateSpells(actorID, level)

Returns max number of memorizable innate spells for the specified actor for a specific spell level

Parameters

• actorID - id of actor to return max memorizable spells for

• level - spell level to return max memorizable spells for

2.12. Spells 75

Page 80: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a WORD value representing the max memorizable spells for the spell level for the actor

Example

local maxinnate2nd = EEex_GetMaximumMemorizableInnateSpells(actorID, 2)

See Also

EEex_GetMaximumMemorizableClericSpells, EEex_GetMaximumMemorizableWizardSpells

2.12.6 EEex_GetMaximumMemorizableWizardSpells

EEex_GetMaximumMemorizableWizardSpells(actorID, level)

Returns max number of memorizable wizard spells for the specified actor for a specific spell level

Parameters

• actorID - id of actor to return max memorizable spells for

• level - spell level to return max memorizable spells for

Return

Returns a WORD value representing the max memorizable spells for the spell level for the actor

Example

local maxwizard3rd = EEex_GetMaximumMemorizableWizardSpells(actorID, 3)

See Also

EEex_GetMaximumMemorizableClericSpells, EEex_GetMaximumMemorizableInnateSpells

2.12.7 EEex_GetMemorizedClericSpells

EEex_GetMemorizedClericSpells(actorID)

Returns an array of memorized cleric spells for specified actor.

Parameters

• actorID - id of actor to return memorized cleric spells for

Return

Returns an array of memorized cleric spells for specified actor. The returned array contains the following fields andvalues for each spell returned: resref, icon, castable, index, name, description

Example

local mempriestspells = EEex_GetMemorizedClericSpells(actorID)

See Also

EEex_GetKnownClericSpells, EEex_GetMemorizedInnateSpells, EEex_GetMemorizedWizardSpells

76 Chapter 2. EEex Functions

Page 81: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.8 EEex_GetMemorizedInnateSpells

EEex_GetMemorizedInnateSpells(actorID)

Returns an array of memorized innate spells for specified actor.

Parameters

• actorID - id of actor to return memorized innate spells for

Return

Returns an array of memorized innate spells for specified actor. The returned array contains the following fields andvalues for each spell returned: resref, icon, castable, index, name, description

Example

local meminnatespells = EEex_GetMemorizedInnateSpells()

See Also

EEex_GetKnownInnateSpells, EEex_GetMemorizedClericSpells, EEex_GetMemorizedWizardSpells

2.12.9 EEex_GetMemorizedWizardSpells

EEex_GetMemorizedWizardSpells(actorID)

Returns an array of memorized wizard spells for specified actor.

Parameters

• actorID - id of actor to return memorized wizard spells for

Return

Returns an array of memorized wizard spells for specified actor. The returned array contains the following fields andvalues for each spell returned: resref, icon, castable, index, name, description

Example

local memwizardspells = EEex_GetMemorizedWizardSpells(actorID)

See Also

EEex_GetKnownWizardSpells, EEex_GetMemorizedClericSpells, EEex_GetMemorizedInnateSpells

2.12.10 EEex_GetSpellAbilityData

Returns spell ability data for specified spell

EEex_GetSpellAbilityData(m_CGameSprite, resref)

Parameters

• m_CGameSprite - pointer to game sprite object

• resref - resource reference of spell to get ability data for

2.12. Spells 77

Page 82: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Spell ability data

Notes

Example

EEex_GetSpellAbilityData()

See Also

EEex_GetSpellData

2.12.11 EEex_GetSpellData

EEex_GetSpellData(resref)

Returns a pointer to spell’s data and structure. See Spell_Header_st or spl_v1 for details

Parameters

• resref - resource reference of spell to fetch data for

Return

Returns a pointer to spell structure

Notes

Gets offset 0x0 of the data for the SPL file. The offsets after that are exactly the same as in a SPL file. For exam-ple: Infinity_DisplayString(EEex_ReadDword(EEex_GetSpellData("SPWI304") + 0x34))will print: 3 because offset 0x34 in the SPL file is the spell’s level.

Warning: this will crash if the spell is not in the game.

Example

local spell_level = EEex_ReadDword(EEex_GetSpellData("SPWI304") + 0x34)

See Also

Spell_Header_st, EEex_GetSpellDescription

2.12.12 EEex_GetSpellDescription

EEex_GetSpellDescription(resrefLocation)

Returns a string containing spell description

Parameters

• resrefLocation - resource reference of spell to return description for

Return

Returns a string

Example

78 Chapter 2. EEex Functions

Page 83: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

local desc = EEex_GetSpellDescription("SPWI304")

See Also

EEex_GetSpellIcon, EEex_GetSpellName

2.12.13 EEex_GetSpellIcon

EEex_GetSpellIcon(resrefLocation)

Returns a string containing spell icon id

Parameters

• resrefLocation - resource reference of spell to return icon for

Return

Returns a string

Example

local icon = EEex_GetSpellIcon("SPWI304")

See Also

EEex_GetSpellDescription, EEex_GetSpellName

2.12.14 EEex_GetSpellName

EEex_GetSpellName(resrefLocation)

Returns a string containing spell name

Parameters

• resrefLocation - resource reference of spell to return name for

Return

Returns a string

Example

local name = EEex_GetSpellName("SPWI304")

See Also

EEex_GetSpellDescription, EEex_GetSpellIcon

2.12.15 EEex_IsSpellValid

EEex_IsSpellValid()

Returns true if resource is a valid spell

Parameters

• resrefLocation - resource reference to check if a valid spell

2.12. Spells 79

Page 84: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns true or false

Example

local bSpellvalid = EEex_IsSpellValid("SPWI304") -- true

See Also

EEex_GetSpellData

2.12.16 EEex_LearnClericSpell

EEex_LearnClericSpell(actorID, level, resref)

Adds a spell to known cleric spells for an actor

Parameters

• actorID - id of actor that is learning spell

• level - spell level

• resref - resource reference of spell to learn

Return

None

Example

EEex_LearnClericSpell()

See Also

EEex_LearnInnateSpell, EEex_LearnWizardSpell, EEex_UnlearnClericSpell, EEex_UnlearnInnateSpell,EEex_UnlearnWizardSpell

2.12.17 EEex_LearnInnateSpell

EEex_LearnInnateSpell(actorID, resref)

Adds a spell to known innate spells for an actor

Parameters

• actorID - id of actor that is learning spell

• resref - resource reference of spell to learn

Return

None

Example

EEex_LearnInnateSpell()

80 Chapter 2. EEex Functions

Page 85: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_LearnClericSpell, EEex_LearnWizardSpell, EEex_UnlearnClericSpell, EEex_UnlearnInnateSpell,EEex_UnlearnWizardSpell

2.12.18 EEex_LearnWizardSpell

EEex_LearnWizardSpell(actorID, level, resref)

Adds a spell to known wizard spells for an actor

Parameters

• actorID - id of actor that is learning spell

• level - spell level

• resref - resource reference of spell to learn

Return

None

Example

EEex_LearnWizardSpell(actorID, 3, "SPWI304")

See Also

EEex_LearnClericSpell, EEex_LearnInnateSpell, EEex_UnlearnClericSpell, EEex_UnlearnInnateSpell,EEex_UnlearnWizardSpell

2.12.19 EEex_MemorizeClericSpell

EEex_MemorizeClericSpell(actorID, level, resref)

Memorize a cleric spell for an actor

Parameters

• actorID - id of actor that is memorizing spell

• level - spell level

• resref - resource reference of spell to memorize

Return

None

Example

EEex_MemorizeClericSpell()

See Also

EEex_MemorizeInnateSpell, EEex_MemorizeWizardSpell, EEex_UnmemorizeClericSpell,EEex_UnmemorizeInnateSpell, EEex_UnmemorizeWizardSpell

2.12. Spells 81

Page 86: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.20 EEex_MemorizeInnateSpell

EEex_MemorizeInnateSpell(actorID, resref)

Memorize an innate spell for an actor

Parameters

• actorID - id of actor that is memorizing spell

• resref - resource reference of spell to memorize

Return

None

Example

EEex_MemorizeInnateSpell()

See Also

EEex_MemorizeClericSpell, EEex_MemorizeWizardSpell, EEex_UnmemorizeClericSpell,EEex_UnmemorizeInnateSpell, EEex_UnmemorizeWizardSpell

2.12.21 EEex_MemorizeWizardSpell

EEex_MemorizeWizardSpell(actorID, level, resref)

Memorize a wizard spell for an actor

Parameters

• actorID - id of actor that is memorizing spell

• level - spell level

• resref - resource reference of spell to memorize

Return

None

Example

EEex_MemorizeWizardSpell()

See Also

EEex_MemorizeClericSpell, EEex_MemorizeInnateSpell, EEex_UnmemorizeClericSpell,EEex_UnmemorizeInnateSpell, EEex_UnmemorizeWizardSpell

2.12.22 EEex_PlayerCastResref

Casts the specified spell

EEex_PlayerCastResref(resref)

Parameters

• resref - resource reference of spell to cast

82 Chapter 2. EEex Functions

Page 87: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

None

Notes

Spell must be memorized and currently accessible

Example

EEex_PlayerCastResref("SPWI112")

See Also

EEex_PlayerCastResrefInternal, EEex_PlayerCastResrefNoDec

2.12.23 EEex_PlayerCastResrefInternal

Casts the specified spell from an active Opcode #214

EEex_PlayerCastResrefInternal(resref)

Parameters

• resref - resource reference of spell to cast

Returns

None

Notes

Opcode #214 must be active and the resref must be part of the Opcode #214 spell list

Example

EEex_PlayerCastResrefInternal("SPIN109")

See Also

EEex_PlayerCastResref , EEex_PlayerCastResrefNoDec

2.12.24 EEex_PlayerCastResrefNoDec

Casts the specified spell with no prerequisites

EEex_PlayerCastResrefNoDec()

Parameters

• resref - resource reference of spell to cast

Returns

None

Notes

Casting won’t decrement the spell if it is currently memorized.

Example

2.12. Spells 83

Page 88: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_PlayerCastResrefNoDec("SPWI112")

See Also

EEex_PlayerCastResref , EEex_PlayerCastResrefInternal

2.12.25 EEex_PlayerSetQuickSpellResref

Sets the quick spell slot with the specified spell

EEex_PlayerSetQuickSpellResref(resref)

Parameters

• resref - resource reference of spell to set currently configured quick slot button to

Returns

None

Notes

Example

EEex_PlayerSetQuickSpellResref()

See Also

EEex_ReadySpell, EEex_UseCGameButtonList

2.12.26 EEex_ProcessClericMemorization

EEex_ProcessClericMemorization(actorID, func)

Iterate memorized cleric spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

Return

Special

Example

EEex_ProcessClericMemorization()

See Also

EEex_ProcessInnateMemorization, EEex_ProcessKnownClericSpells, EEex_ProcessKnownInnateSpells,EEex_ProcessKnownWizardSpells, EEex_ProcessWizardMemorization

84 Chapter 2. EEex Functions

Page 89: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.27 EEex_ProcessInnateMemorization

EEex_ProcessInnateMemorization(actorID, func)

Iterate memorized innate spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

Return

Special

Example

EEex_ProcessInnateMemorization()

See Also

EEex_ProcessClericMemorization, EEex_ProcessKnownClericSpells, EEex_ProcessKnownInnateSpells,EEex_ProcessKnownWizardSpells, EEex_ProcessWizardMemorization

2.12.28 EEex_ProcessKnownClericSpells

EEex_ProcessKnownClericSpells(actorID, func)

Iterate known cleric spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

Return

Example

EEex_ProcessKnownClericSpells()

See Also

EEex_ProcessClericMemorization, EEex_ProcessInnateMemorization, EEex_ProcessKnownInnateSpells,EEex_ProcessKnownWizardSpells, EEex_ProcessWizardMemorization

2.12.29 EEex_ProcessKnownInnateSpells

EEex_ProcessKnownInnateSpells(actorID, func)

Iterate known innate spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

2.12. Spells 85

Page 90: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Example

EEex_ProcessKnownInnateSpells()

See Also

EEex_ProcessClericMemorization, EEex_ProcessInnateMemorization, EEex_ProcessKnownClericSpells,EEex_ProcessKnownWizardSpells, EEex_ProcessWizardMemorization

2.12.30 EEex_ProcessKnownWizardSpells

EEex_ProcessKnownWizardSpells(actorID, func)

Iterate known wizard spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

Return

Example

EEex_ProcessKnownWizardSpells()

See Also

EEex_ProcessClericMemorization, EEex_ProcessInnateMemorization, EEex_ProcessKnownClericSpells,EEex_ProcessKnownInnateSpells, EEex_ProcessWizardMemorization

2.12.31 EEex_ProcessWizardMemorization

EEex_ProcessWizardMemorization(actorID, func)

Iterate memorized wizard spells for an actor

Parameters

• actorID - id of actor to iterate spells for

• func - return function that passes back spell

Return

Special

Example

EEex_ProcessWizardMemorization()

See Also

EEex_ProcessClericMemorization, EEex_ProcessInnateMemorization, EEex_ProcessKnownClericSpells,EEex_ProcessKnownInnateSpells, EEex_ProcessKnownWizardSpells

86 Chapter 2. EEex Functions

Page 91: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.32 EEex_ReadySpell

Ready the spell associated with the button data

EEex_ReadySpell(m_CGameSprite, m_CButtonData, instantUse, offInternal)

Parameters

• m_CGameSprite - pointer to game sprite object

• m_CButtonData - pointer to button data

• instantUse - boolean true or false to use instantly

• offInternal - boolean true or false to use from an internal list

Returns

None

Notes

Used internally in EEex_PlayerCastResref , EEex_PlayerCastResrefInternal and EEex_PlayerCastResrefNoDec

Example

EEex_ReadySpell(m_CGameSprite, m_CButtonData, 1, false)

See Also

EEex_PlayerCastResref , EEex_PlayerCastResrefInternal, EEex_PlayerCastResrefNoDec,EEex_UseCGameButtonList, EEex_GetQuickButtons

2.12.33 EEex_UnlearnClericSpell

EEex_UnlearnClericSpell(actorID, level, resref)

Removes a spell from known cleric spells for an actor

Parameters

• actorID - id of actor that is unlearning spell

• level - spell level

• resref - resource reference of spell to unlearn

Return

None

Example

EEex_UnlearnClericSpell()

See Also

EEex_LearnClericSpell, EEex_LearnInnateSpell, EEex_LearnWizardSpell, EEex_UnlearnInnateSpell,EEex_UnlearnWizardSpell

2.12. Spells 87

Page 92: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.12.34 EEex_UnlearnInnateSpell

EEex_UnlearnInnateSpell(actorID, resref)

Removes a spell from known innate spells for an actor

Parameters

• actorID - id of actor that is unlearning spell

• resref - resource reference of spell to unlearn

Return

None

Example

EEex_UnlearnInnateSpell()

See Also

EEex_LearnClericSpell, EEex_LearnInnateSpell, EEex_LearnWizardSpell, EEex_UnlearnClericSpell,EEex_UnlearnWizardSpell

2.12.35 EEex_UnlearnWizardSpell

EEex_UnlearnWizardSpell(actorID, level, resref)

Removes a spell from known wizard spells for an actor

Parameters

• actorID - id of actor that is unlearning spell

• level - spell level

• resref - resource reference of spell to unlearn

Return

None

Example

EEex_UnlearnWizardSpell(actorID, 3, "SPWI304")

See Also

EEex_LearnClericSpell, EEex_LearnInnateSpell, EEex_LearnWizardSpell, EEex_UnlearnClericSpell,EEex_UnlearnInnateSpell

2.12.36 EEex_UnmemorizeClericSpell

EEex_UnmemorizeClericSpell(actorID, level, index)

Unmemorize a cleric spell for an actor

Parameters

• actorID - id of actor that is unmemorizing spell

88 Chapter 2. EEex Functions

Page 93: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• level - spell level

• resref - resource reference of spell to unmemorize

Return

None

Example

EEex_UnmemorizeClericSpell()

See Also

EEex_MemorizeClericSpell, EEex_MemorizeInnateSpell, EEex_MemorizeWizardSpell,EEex_UnmemorizeInnateSpell, EEex_UnmemorizeWizardSpell

2.12.37 EEex_UnmemorizeInnateSpell

EEex_UnmemorizeInnateSpell(actorID, index)

Unmemorize an innate spell for an actor

Parameters

• actorID - id of actor that is unmemorizing spell

• resref - resource reference of spell to unmemorize

Return

None

Example

EEex_UnmemorizeInnateSpell()

See Also

EEex_MemorizeClericSpell, EEex_MemorizeInnateSpell, EEex_MemorizeWizardSpell,EEex_UnmemorizeClericSpell, EEex_UnmemorizeWizardSpell

2.12.38 EEex_UnmemorizeWizardSpell

EEex_UnmemorizeWizardSpell(actorID, level, index)

Unmemorize a wizard spell for an actor

Parameters

• actorID - id of actor that is unmemorizing spell

• level - spell level

• resref - resource reference of spell to unmemorize

Return

None

Example

2.12. Spells 89

Page 94: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_UnmemorizeWizardSpell()

See Also

EEex_MemorizeClericSpell, EEex_MemorizeInnateSpell, EEex_MemorizeWizardSpell,EEex_UnmemorizeClericSpell, EEex_UnmemorizeInnateSpell

Function DescriptionEEex_GetKnownClericSpells Returns an array of known cleric spells for actorEEex_GetKnownInnateSpells Returns an array of known innate spells for actorEEex_GetKnownWizardSpells Returns an array of known wizard spells for actorEEex_GetMaximumMemorizableClericSpells Returns max no of spells for actor for spell levelEEex_GetMaximumMemorizableInnateSpells Returns max no of spells for actor for spell levelEEex_GetMaximumMemorizableWizardSpells Returns max no of spells for actor for spell levelEEex_GetMemorizedClericSpells Returns array of memorized cleric spells for actorEEex_GetMemorizedInnateSpells Returns array of memorized innate spells for actorEEex_GetMemorizedWizardSpells Returns array of memorized wizard spells for actorEEex_GetSpellAbilityData Returns spell ability data for specified spellEEex_GetSpellData Returns a pointer to spell dataEEex_GetSpellDescription Returns a string containing spell descriptionEEex_GetSpellIcon Returns a string containing spell icon idEEex_GetSpellName Returns a string containing spell nameEEex_IsSpellValid Returns true if resource is a valid spellEEex_LearnClericSpell Adds a spell to known cleric spells for an actorEEex_LearnInnateSpell Adds a spell to known innate spells for an actorEEex_LearnWizardSpell Adds a spell to known wizard spells for an actorEEex_MemorizeClericSpell Memorize a cleric spell for an actorEEex_MemorizeInnateSpell Memorize an innate spell for an actorEEex_MemorizeWizardSpell Memorize a wizard spell for an actorEEex_PlayerCastResref Casts the specified spellEEex_PlayerCastResrefInternal Casts the specified spell from active Opcode #214EEex_PlayerCastResrefNoDec Casts the specified spell with no prerequisitesEEex_PlayerSetQuickSpellResref Sets the quick spell slot with the specified spellEEex_ProcessClericMemorization Iterate memorized cleric spells for an actorEEex_ProcessInnateMemorization Iterate memorized innate spells for an actorEEex_ProcessKnownClericSpells Iterate known cleric spells for an actorEEex_ProcessKnownInnateSpells Iterate known innate spells for an actorEEex_ProcessKnownWizardSpells Iterate known wizard spells for an actorEEex_ProcessWizardMemorization Iterate memorized wizard spells for an actorEEex_ReadySpell Ready the spell associated with the button dataEEex_UnlearnClericSpell Removes a spell from known spells for an actorEEex_UnlearnInnateSpell Removes a spell from known spells for an actorEEex_UnlearnWizardSpell Removes a spell from known spells for an actorEEex_UnmemorizeClericSpell Unmemorize a cleric spell for an actorEEex_UnmemorizeInnateSpell Unmemorize an innate spell for an actorEEex_UnmemorizeWizardSpell Unmemorize a wizard spell for an actor

90 Chapter 2. EEex Functions

Page 95: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.13 Stats

2.13.1 EEex_AccessComplexStat

EEex_AccessComplexStat(actorID, name)

Returns a pointer to the complex stat for the specified actor id

Parameters

• actorID - actor id to access the complex stat for

• name - name of the stat to access

Return

Returns a pointer to the complex stat for the specified actor id

Example

EEex_AccessComplexStat()

See Also

EEex_RegisterComplexListStat, EEex_RegisterComplexStat, EEex_RegisterSimpleListStat

2.13.2 EEex_RegisterComplexListStat

EEex_RegisterComplexListStat(name, attributeTable)

Registers complex list stat

Parameters

• name - name of complex list stat to register

• attributeTable - the attribute table to use

Return

None

Example

EEex_RegisterComplexListStat()

See Also

EEex_AccessComplexStat, EEex_RegisterComplexStat, EEex_RegisterSimpleListStat

2.13.3 EEex_RegisterComplexStat

EEex_RegisterComplexStat(name, attributeTable)

Returns offset to the complex stat being registered

Parameters

• name - name of complex stat to register

2.13. Stats 91

Page 96: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• attributeTable - the attribute table to use

Return

Returns offset to the complex stat being registered

Example

EEex_RegisterComplexStat()

See Also

EEex_AccessComplexStat, EEex_RegisterComplexListStat, EEex_RegisterSimpleListStat

2.13.4 EEex_RegisterSimpleListStat

EEex_RegisterSimpleListStat(name, elementSize)

Registers simple list stat

Parameters

• name - name of simple list stat to register

• elementSize - size of the element

Return

None

Example

EEex_RegisterSimpleListStat()

See Also

EEex_AccessComplexStat, EEex_RegisterComplexListStat, EEex_RegisterComplexStat

Function DescriptionEEex_AccessComplexStat Returns a pointer to stat for the specified actorEEex_RegisterComplexListStat Registers complex list statEEex_RegisterComplexStat Returns offset to the complex stat being registeredEEex_RegisterSimpleListStat Registers simple list stat

2.14 Tooltip

2.14.1 EEex_IsActorTooltipDisabled

EEex_IsActorTooltipDisabled()

If EEex_IsActorTooltipDisabled is implemented, and it returns true, the engine will not display the tooltip as it wasattempting, otherwise it will.

Parameters

None

Return

92 Chapter 2. EEex Functions

Page 97: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns true or false, depending on the implementation of the function.

Example

function EEex_IsActorTooltipDisabled()return false

end

See Also

EEex_InstallTooltipHook

Function DescriptionEEex_IsActorTooltipDisabled Display (or not) the tooltip if engine attempts to

2.15 Util

2.15.1 EEex_AreBitsSet

EEex_AreBitsSet(original, bitsString)

Returns true if bits set in bitString match bits set in original.

Parameters

• original - original bit settings to check against

• bitsString - the string containing bits to check

Return

true or false

Example

EEex_AreBitsSet()

See Also

EEex_IsMaskSet, EEex_IsMaskUnset, EEex_AreBitsUnset, EEex_IsBitSet

2.15.2 EEex_AreBitsUnset

EEex_AreBitsUnset(original, bitsString)

Returns true if bits set in bitString do not match bits set in original.

Parameters

• original - original bit settings to check against

• bitsString - the string containing bits to check

Return

true or false

Example

2.15. Util 93

Page 98: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_AreBitsUnset()

See Also

EEex_IsMaskSet, EEex_IsMaskUnset, EEex_AreBitsSet, EEex_IsBitSet

2.15.3 EEex_CharFind

EEex_CharFind(string, char, startingIndex)

Finds the first instance of the given char after or at the starting index.

Parameters

• string - string to search

• char - character byte to search for within string

• startingIndex - index position to start search from

Return

Returns the index position where char is found within string, or -1 otherwise

Example

EEex_CharFind()

See Also

EEex_StringStartsWith, EEex_SplitByChar

2.15.4 EEex_ConcatTables

EEex_ConcatTables(tables)

Flattens given table so that any nested tables are merged. Example: {"Hello", {"World"}} becomes{"Hello", "World"}.

Parameters

• tables - table containing any nested tables to merge

Return

Returns a table

Example

local mergedtable = EEex_ConcatTables(tables)

See Also

EEex_SplitByChar

94 Chapter 2. EEex Functions

Page 99: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.15.5 EEex_CyclicBound

EEex_CyclicBound(num, lowerBound, upperBound)

Adjust a cyclical numeric value that is bounded by an lower and upper value. Sanity function to help work with numberranges that are cyclic, (like actor direction).

Parameters

• num - base numeric value to adjust for bounded values

• lowerBound - min lower value that base numeric wraps at

• upperBound - max upper value that base numeric wraps at

Return

Returns the adjusted value

Example

EEex_CyclicBound(num, 0, 15)-- defines a range of 0 to 15. num = 16 rolls over to 0, as does num = 32. num = -1→˓wraps around to 15, as does num = -17.

See Also

EEex_WithinCyclicRange

2.15.6 EEex_Flags

EEex_Flags(flags)

Performs bitwise OR to combine flag values. Operates on pairs of flag values

Parameters

• flags - flag values to combine

Return

Returns the combined value of the flags using OR

Example

function EEex_VirtualAlloc(dwSize, flProtect)-- 0x1000 = MEM_COMMIT-- 0x2000 = MEM_RESERVEreturn EEex_DllCall("Kernel32", "VirtualAlloc", {flProtect, EEex_Flags({0x1000,

→˓0x2000}), dwSize, 0x0}, nil, 0x0)end

See Also

EEex_IsBitSet, EEex_IsMaskSet, EEex_SetBits, EEex_SetMask

2.15.7 EEex_IsBitSet

2.15. Util 95

Page 100: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_IsBitSet(original, isSetIndex)

Determines if an indexed bit value is set, as specified by isSetIndex in original

Parameters

• original - original value to check

• isSetIndex - bit index into the value to check if set

Return

Returns true if bit is set

Example

EEex_IsBitSet(flags, 0x0) -- check if bit 0 is set to 1

See Also

EEex_IsBitUnset

2.15.8 EEex_IsBitUnset

EEex_IsBitUnset(original, isUnsetIndex)

Determines if an indexed bit value is not set, as specified by isUnsetIndex in original

Parameters

• original - original value to check

• isUnsetIndex - bit index into the value to check if not set

Return

Returns true if bit is not set

Example

EEex_IsBitUnset(flags, 0x0) -- check if bit 0 is not set to 1 (is 0)

See Also

EEex_IsBitSet

2.15.9 EEex_IsMaskSet

EEex_IsMaskSet(original, isSetMask)

Determines if a mask value matches

Parameters

• original - original bit settings to check against

• isSetMask - the mask value to match against

96 Chapter 2. EEex Functions

Page 101: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns true if mask value matches

Example

EEex_IsMaskSet()

See Also

EEex_IsMaskUnset

2.15.10 EEex_IsMaskUnset

EEex_IsMaskUnset(original, isUnsetMask)

Determines if a mask value does not match

Parameters

• original - original bit settings to check against

• isUnsetMask - the mask value to check does not match against

Return

Returns true if mask value does not match

Example

EEex_IsMaskUnset()

See Also

EEex_IsMaskSet

2.15.11 EEex_IsValidBackstabDirection

EEex_IsValidBackstabDirection(attackerID, targetID)

Returns true if the attackerID actor’s direction is sufficent to backstab the targetID actor

Parameters

• attackerID - attacking actor id to check for

• targetID - backstab target actor id

Return

true or false

Example

EEex_IsValidBackstabDirection()

See Also

EEex_GetActorDirection, EEex_GetActorRequiredDirection

2.15. Util 97

Page 102: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.15.12 EEex_RoundUp

EEex_RoundUp(numToRound, multiple)

Rounds the given number upwards to the nearest multiple.

Parameters

• numToRound - numeric value to round up

• multiple - value to round upwards to the nearest multiple

Return

Returns the adjusted and rounded up value

Example

size = EEex_RoundUp(size, allocGran)

See Also

EEex_CyclicBound, EEex_WithinCyclicRange

2.15.13 EEex_SetBit

EEex_SetBit(original, toSetIndex)

Sets the bit value to 1 as specified by toSetIndex in original value

Parameters

• original - original bits value

• **toSetIndex* - bit index into the value to set to 1

Return

Returns the original value adjusted with the new bit setting

Example

EEex_SetBit()

See Also

EEex_UnsetBit, EEex_SetBits, EEex_SetMask, EEex_UnsetBits, EEex_UnsetMask

2.15.14 EEex_SetBits

EEex_SetBits(original, bitsString)

Sets all the bit values in original to 1 that match the bitwise mask in the bitsString

Parameters

• original - original bits values

• bitsString - string containing a bitwise value to use as a bitwise mask

98 Chapter 2. EEex Functions

Page 103: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns the original value adjusted with the new bitsString mask

Example

EEex_SetBits()

See Also

EEex_UnsetBits, EEex_SetBit, EEex_SetMask, EEex_UnsetBit, EEex_UnsetMask

2.15.15 EEex_SetMask

EEex_SetMask(original, toSetMask)

Sets all the bit values in original to 1 that match the bitwise mask in the toSetMask

Parameters

• original

• toSetMask

Return

Returns the original value adjusted with the new bitsString mask

Example

EEex_SetMask()

See Also

EEex_UnsetMask, EEex_SetBit, EEex_SetBits, EEex_UnsetBit, EEex_UnsetBits

2.15.16 EEex_SplitByChar

EEex_SplitByChar(string, char)

Returns a table populated by the string sequences separated by the given char.

Parameters

• string - string to split

• char - character byte to split the string by

Return

Returns a table

Example

EEex_SplitByChar("Hello World", " ")-- returns {"Hello", "World"}.

See Also

EEex_ConcatTables

2.15. Util 99

Page 104: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.15.17 EEex_StringStartsWith

EEex_StringStartsWith(string, startsWith)

Checks the first character of a string.

Parameters

• string - string to check

• startsWith - character to check that the string begins with

Return

Returns true if the string begins with the character specified

Example

EEex_StringStartsWith()

See Also

EEex_CharFind

2.15.18 EEex_ToHex

EEex_ToHex(number, minLength, prefix)

Converts a numeric value to a hex string with or without the 0x prefix

Parameters

• number - numeric value to convert to hex

• minLength - min length of hex string to create

• prefix - true to include 0x prefix in hex string

Return

Returns a string containing the hex value

Example

EEex_ToHex()

2.15.19 EEex_UnsetBit

EEex_UnsetBit(original, toUnsetIndex)

Sets the bit value to 0 as specified by toUnsetIndex in original value

Parameters

• original - original bits value

• toUnsetIndex - bit index into the value to set to 0

100 Chapter 2. EEex Functions

Page 105: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns the original value adjusted with the new bit setting

Example

EEex_UnsetBit()

See Also

EEex_SetBit, EEex_SetBits, EEex_SetMask, EEex_UnsetBits, EEex_UnsetMask

2.15.20 EEex_UnsetBits

EEex_UnsetBits(original, bitsString)

Sets all the bit values in original to 0 that match the bitwise mask in the bitsString

Parameters

• original - original bits values

• bitsString - string containing a bitwise value to use as a bitwise mask

Return

Returns the original value adjusted with the new bitsString mask

Example

EEex_UnsetBits()

See Also

EEex_SetBits, EEex_SetBit, EEex_SetMask, EEex_UnsetBit, EEex_UnsetMask

2.15.21 EEex_UnsetMask

EEex_UnsetMask(original, toUnsetmask)

Sets all the bit values in original to 0 that match the bitwise mask in the toUnsetmask

Parameters

• original

• toUnsetmask

Return

Returns the original value adjusted with the new bitsString mask

Example

EEex_UnsetMask()

See Also

EEex_SetMask, EEex_SetBit, EEex_SetBits, EEex_UnsetBit, EEex_UnsetBits

2.15. Util 101

Page 106: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.15.22 EEex_WithinCyclicRange

EEex_WithinCyclicRange(num, num2, range, lowerBound, higherBound)

Returns true if num2 is within range positions of num in the cyclic bounds. See EEex_CyclicBound for more infoabout cyclic ranges.

Parameters

• num - base numeric value adjusted for bounded values

• num2 - numeric value to check is if within range of num

• range - range numeric value

• lowerBound - min lower value that base numeric wraps at

• higherBound - max upper value that base numeric wraps at

Return

Returns true or false

Example

EEex_WithinCyclicRange()

See Also

EEex_CyclicBound

Function DescriptionEEex_AreBitsSet Returns true if bits matchEEex_AreBitsUnset Returns true if bits dont matchEEex_CharFind Finds the first instance of the given char after or at the starting indexEEex_ConcatTables Flattens given table so that any nested tables are mergedEEex_CyclicBound Adjust a cyclical numeric value that is bounded by an lower and upper valueEEex_Flags Performs bitwise OR to combine flag valuesEEex_IsBitSet Determines if an indexed bit value is setEEex_IsBitUnset Determines if an indexed bit value is not setEEex_IsMaskSet Determines if a mask value matchesEEex_IsMaskUnset Determines if a mask value does not matchEEex_IsValidBackstabDirection Returns true if the attackerID actor’s direction is sufficent to backstab the targetID

actorEEex_RoundUp Rounds the given number upwards to the nearest multipleEEex_SetBit Sets a specific bit in a value to 1EEex_SetBits Sets all the bit values to 1 that match the bitwise maskEEex_SetMask Sets all the bit values to 1 that match the bitwise maskEEex_SplitByChar Returns a table of string sequences that where separated by a charEEex_StringStartsWith Checks the first character of a stringEEex_ToHex Converts a numeric value to a hex stringEEex_UnsetBit Sets a specific bit in a value to 0EEex_UnsetBits Sets all the bit values to 0 that match the bitwise maskEEex_UnsetMask Sets all the bit values to 0 that match the bitwise maskEEex_WithinCyclicRange Returns true if a cyclical numeric value is within range of another numeric value

102 Chapter 2. EEex Functions

Page 107: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.16 Internal

2.16.1 EEex_AccessVolatileField

Access the volitile field in the specified actor

EEex_AccessVolatileField(actorID, name)

Parameters

• actorID

• name

Returns

Notes

Example

EEex_AccessVolatileField(actorID, name)

See Also

EEex_GetVolatileField, EEex_GetVolatileFieldOffset, EEex_RegisterVolatileField, EEex_SetVolatileField

2.16.2 EEex_AddMarshalRequestor

EEex_AddMarshalRequestor(fieldName, table)

Parameters

• fieldName

• table

Returns

Notes

Example

EEex_AddMarshalRequestor()

See Also

2.16.3 EEex_GetVolatileField

EEex_GetVolatileField(actorID, name)

Parameters

• actorID

• name

2.16. Internal 103

Page 108: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

EEex_GetVolatileField(actorID, name)

See Also

EEex_AccessVolatileField, EEex_GetVolatileFieldOffset, EEex_RegisterVolatileField, EEex_SetVolatileField

2.16.4 EEex_GetVolatileFieldOffset

Retrieve the offset for the specified volitile field

EEex_GetVolatileFieldOffset(name)

Parameters

• name

Returns

Returns address of volatile field

Notes

Example

EEex_GetVolatileFieldOffset(name)

See Also

EEex_AccessVolatileField, EEex_GetVolatileField, EEex_RegisterVolatileField, EEex_SetVolatileField

2.16.5 EEex_HookAction

EEex_HookAction(actionData)

Hooks an action

Parameters

• actionData - action data to hook

Return

None

Example

EEex_HookAction()

See Also

EEex_InstallActionHook

104 Chapter 2. EEex Functions

Page 109: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.16.6 EEex_HookActionbar

EEex_HookActionbar(config)

Begins the hook of the actionbar

Parameters

• config - unique config to hook for the actionbar

Return

Example

EEex_HookActionbar()

See Also

EEex_InstallActionbarHook, EEex_AddActionbarListener

2.16.7 EEex_HookCheckAddScreen

EEex_HookCheckAddScreen(effectData, creatureData)

Opcode #403 mechanics

Parameters

• effectData - effect data

• creatureData - creature data

Return

Returns true or false

Example

EEex_HookCheckAddScreen()

See Also

EEex_InstallOpcodeChanges, EEex Opcodes

2.16.8 EEex_HookConstructCreature

EEex_HookConstructCreature(fromFile, toStruct)

Constructs a creature

Parameters

• fromFile - ? not currently used

• toStruct - pointer to structure to use as basis for creating creature

Return

None

Example

2.16. Internal 105

Page 110: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_HookConstructCreature()

See Also

EEex_HookConstructCreature, EEex_HookCopyStats, EEex_HookReloadStats

2.16.9 EEex_HookCopyStats

EEex_HookCopyStats(cre)

Copy a creature’s stat

Parameters

• cre

Return

None

Example

EEex_HookCopyStats()

See Also

EEex_HookReloadStats

2.16.10 EEex_HookDeconstructCreature

EEex_HookDeconstructCreature(cre)

Destroys a previously created creature

Parameters

• cre

Return

None

Example

EEex_HookDeconstructCreature()

See Also

EEex_HookConstructCreature, EEex_HookCopyStats, EEex_HookReloadStats

2.16.11 EEex_HookMarshalCreature

Provides a hook for marshal of creatures

EEex_HookMarshalCreature(cre, allocatedMem)

Parameters

106 Chapter 2. EEex Functions

Page 111: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• cre

• allocatedMem

Returns

None

Notes

Example

EEex_HookMarshalCreature(cre, allocatedMem)

See Also

EEex_HookMarshalCreatureSize, EEex_HookMarshalDynamicStart, EEex_HookUnmarshalCreature,EEex_InstallCreatureHooks

2.16.12 EEex_HookMarshalCreatureSize

EEex_HookMarshalCreatureSize(cre)

Parameters

• cre

Returns

Returns additional size of space for EEex data in the creature

Notes

Example

EEex_HookMarshalCreatureSize()

See Also

EEex_HookMarshalCreature, EEex_HookMarshalDynamicStart, EEex_HookUnmarshalCreature,EEex_InstallCreatureHooks

2.16.13 EEex_HookMarshalDynamicStart

EEex_HookMarshalDynamicStart()

Parameters

None

Returns

Returns EEex_HookMarshalDynamicStartVal

Notes

Example

EEex_HookMarshalDynamicStart()

2.16. Internal 107

Page 112: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_HookMarshalCreature, EEex_HookMarshalCreatureSize, EEex_HookUnmarshalCreature,EEex_InstallCreatureHooks

2.16.14 EEex_HookReloadStats

EEex_HookReloadStats(cre)

Reload derived base stats for a specified creature

Parameters

• cre - cre

Return

None

Example

EEex_HookReloadStats()

See Also

EEex_HookCopyStats

2.16.15 EEex_HookUnmarshalCreature

Provides a hook for unmarshal of creatures

EEex_HookUnmarshalCreature(CGameSprite, pCreature)

Parameters

• CGameSprite

• pCreature

Returns

None

Notes

Example

EEex_HookUnmarshalCreature()

See Also

EEex_HookMarshalCreature, EEex_HookMarshalCreatureSize, EEex_HookMarshalDynamicStart,EEex_InstallCreatureHooks

2.16.16 EEex_InstallActionHook

EEex_InstallActionHook()

108 Chapter 2. EEex Functions

Page 113: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Install a hook for action events

Parameters

None

Return

None

Example

EEex_InstallActionHook()

See Also

EEex_HookAction

2.16.17 EEex_InstallActionbarHook

EEex_InstallActionbarHook()

Install the hook for the actionbar

Parameters

None

Return

None

Example

EEex_InstallActionbarHook()

See Also

EEex_HookActionbar, EEex_AddActionbarListener

2.16.18 EEex_InstallBardThievingHook

EEex_InstallBardThievingHook()

Installs a hook for whenever the game engine attempts to look up a character’s class when they attempt to use theirthieving abilities.

Parameters

None

Return

None

Example

EEex_InstallBardThievingHook()

See Also

EEex_HookBardThieving

2.16. Internal 109

Page 114: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.16.19 EEex_InstallCreatureHooks

Installs hooks related to creatures

EEex_InstallCreatureHooks()

Parameters

None

Returns

None

Notes

Example

EEex_InstallCreatureHooks()

See Also

EEex_HookMarshalCreature, EEex_HookMarshalCreatureSize, EEex_HookMarshalDynamicStart,EEex_HookUnmarshalCreature

2.16.20 EEex_InstallFixes

EEex_InstallFixes()

Installs game engine bug fixes and other enhancements

Parameters

None

Return

None

Example

EEex_InstallFixes()

See Also

EEex_InstallLuaHooks, EEex_InstallOpcodeChanges

2.16.21 EEex_InstallKeyHook

EEex_InstallKeyHook()

Installs a hook for keyboard events: key press and key release

Parameters

None

Return

None

110 Chapter 2. EEex Functions

Page 115: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

EEex_InstallKeyHook()

See Also

EEex_KeyPressed, EEex_KeyReleased, EEex_KeyReset

2.16.22 EEex_InstallLuaHooks

EEex_InstallLuaHooks()

Install a hook for lua

Parameters

None

Return

None

Example

EEex_InstallLuaHooks()

See Also

EEex_InstallMenuHooks, EEex_InstallFixes

2.16.23 EEex_InstallMenuHooks

EEex_InstallMenuHooks()

Installs a hook for menu events

Parameters

None

Return

None

Example

EEex_InstallMenuHooks()

See Also

EEex_ResetHook, EEex_AddUIMenuLoadListener, EEex_AddPostResetListener

2.16.24 EEex_InstallNewObjects

EEex_InstallNewObjects()

2.16. Internal 111

Page 116: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Installs new CAIObjectType objects

Parameters

None

Return

None

Example

EEex_InstallNewObjects()

See Also

EEex_InstallNewTriggers, EEex_InstallOpcodeChanges

2.16.25 EEex_InstallNewTriggers

EEex_InstallNewTriggers()

Installs new triggers and functions related to triggers: EEex_LuaTrigger, EEex_IsImmuneToOpcode,EEex_MatchObject, EEex_HasDispellableEffect

Parameters

None

Return

None

Example

EEex_InstallNewTriggers()

See Also

EEex_LuaTrigger, EEex_IsImmuneToOpcode, EEex_MatchObject, EEex_HasDispellableEffect

2.16.26 EEex_InstallOpcodeChanges

EEex_InstallOpcodeChanges()

Installs newer and updated opcodes. See EEex Opcodes for details of the new and updated opcodes installed by EEex.

Parameters

None

Return

None

Example

EEex_InstallOpcodeChanges()

See Also

EEex_InstallFixes, EEex_InstallNewObjects, EEex_InstallNewTriggers, EEex Opcodes

112 Chapter 2. EEex Functions

Page 117: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.16.27 EEex_InstallRenderHook

EEex_InstallRenderHook()

Installs a hook for rendering and drawing of primitive shapes, rectangles and lines

Parameters

None

Return

None

Example

EEex_InstallRenderHook()

See Also

EEex_ResetHook

2.16.28 EEex_InstallTooltipHook

EEex_InstallTooltipHook()

Installs a hook for whenever the game engine attempts to display a tooltip over a creature in the world screen.

Parameters

None

Return

None

Example

EEex_InstallTooltipHook()

See Also

EEex_IsActorTooltipDisabled

2.16.29 EEex_KeyPressed

EEex_KeyPressed(key)

Sets the pressed status of the specified key and calls each registered key press listener previously registered byEEex_AddKeyPressedListener

Parameters

• key - key code to set as pressed

Return

None

Example

2.16. Internal 113

Page 118: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_KeyPressed(key)

See Also

EEex_InstallKeyHook, EEex_KeyReleased, EEex_AddKeyReleasedListener, EEex_AddKeyPressedListener

2.16.30 EEex_KeyReleased

EEex_KeyReleased(key)

Sets the released status of the specified key and calls each registered key release listener previously registered byEEex_AddKeyReleasedListener

Parameters

• key - key code to set as released

Return

None

Example

EEex_KeyReleased(key)

See Also

EEex_InstallKeyHook, EEex_KeyPressed, EEex_AddKeyReleasedListener, EEex_AddKeyPressedListener

2.16.31 EEex_KeyReset

EEex_KeyReset()

Resets and removes all key listeners event callbacks

Parameters

None

Return

None

Example

EEex_KeyReset()

See Also

EEex_InstallKeyHook, EEex_KeyPressed, EEex_KeyReleased, EEex_AddKeyReleasedListener,EEex_AddKeyPressedListener

2.16.32 EEex_RegisterVolatileField

Registers a volitile field

EEex_RegisterVolatileField(name, attributeTable)

114 Chapter 2. EEex Functions

Page 119: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• name

• attributeTable

Returns

The offset of the volatile field registered

Notes

Example

EEex_RegisterVolatileField(name, attributeTable)

See Also

EEex_AccessVolatileField, EEex_GetVolatileField, EEex_GetVolatileFieldOffset, EEex_SetVolatileField

2.16.33 EEex_ResetHook

EEex_ResetHook()

Calls all registered UI listeners after initial UI.MENU load, post UI.MENU load or after reset of UI. Listeners calledby this function are registered via EEex_AddUIMenuLoadListener and/or EEex_AddPostResetListener

Parameters

None

Return

None

Example

EEex_ResetHook()

See Also

EEex_AddUIMenuLoadListener, EEex_AddPostResetListener

2.16.34 EEex_SetVolatileField

Sets the value of a volatile field

EEex_SetVolatileField(actorID, name, value)

Parameters

• actorID

• name

• value

Returns

Returns address of volatile field and value set

Notes

2.16. Internal 115

Page 120: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

EEex_SetVolatileField(actorID, name, value)

See Also

EEex_AccessVolatileField, EEex_GetVolatileField, EEex_GetVolatileFieldOffset, EEex_RegisterVolatileField

Function DescriptionEEex_AccessVolatileField Access the volitile field in the specified actorEEex_AddMarshalRequestorEEex_GetVolatileFieldEEex_GetVolatileFieldOffset Retrieve the offset for the volitile fieldEEex_HookAction Hooks an actionEEex_HookActionbar Begins the hook of the actionbarEEex_HookCheckAddScreen Opcode #403 mechanicsEEex_HookConstructCreature Constructs a creatureEEex_HookCopyStats Copy a creature’s statEEex_HookDeconstructCreature Destroys a previously created creatureEEex_HookReloadStats Reload derived base stats for a specified creatureEEex_HookMarshalCreature Provides a hook for marshal of creaturesEEex_HookMarshalCreatureSizeEEex_HookMarshalDynamicStartEEex_HookUnmarshalCreature Provides a hook for unmarshal of creaturesEEex_InstallActionbarHook Install a hook for the actionbar eventsEEex_InstallActionHook Install a hook for action eventsEEex_InstallBardThievingHook Installs a hook for thieving abilitiesEEex_InstallCreatureHooks Installs hooks related to creaturesEEex_InstallFixes Installs game bug fixes and other enhancementsEEex_InstallKeyHook Installs a hook for keyboard eventsEEex_InstallLuaHooks Install a hook for luaEEex_InstallMenuHooks Installs a hook for menu eventsEEex_InstallNewObjects Installs new objectsEEex_InstallNewTriggers Installs new triggers functionsEEex_InstallOpcodeChanges Installs newer and updated opcodesEEex_InstallRenderHook Installs a hook for rendering and drawingEEex_InstallTooltipHook Installs a hook for displaying a tooltipEEex_KeyPressed Sets the pressed status of the specified keyEEex_KeyReleased Sets the released status of the specified keyEEex_KeyReset Resets and removes key listeners event callbacksEEex_RegisterVolatileField Registers a volitile fieldEEex_ResetHook Calls all registered UI listenersEEex_SetVolatileField Sets the value of a volatile field

2.17 Advanced low level functions

2.17.1 EEex_AddressList

A lua function to return an array of pattern database entries

116 Chapter 2. EEex Functions

Page 121: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_AddressList()

Parameters

None

Return

Return a lua table of function and or variable names and global addresses from the pattern database entries. For detailson the pattern database used in the EEex loader please see this wiki page

Notes

This function, EEex_ExposeToLua, EEex_Init and EEex_WriteByte are implemented by the EEex loader in the processspace of the game executable as lua functions.

For more technical information on how the EEex loader works and how it implements these functions, please visit thiswiki page

Example

EEex_GlobalAssemblyLabels = EEex_AddressList()

See Also

EEex_Label, EEex_Init, EEex_ExposeToLua, EEex_WriteByte

2.17.2 EEex_AllocCodePage

Allocate additional code pages when needed

EEex_AllocCodePage(size)

Parameters

• size - memory size to allocate. Size is automatically rounded up to meet allocation granularity requirements

Return

Returns a code page entry

Notes

Please don’t call this directly. This is used internally by EEex_ReserveCodeMemory to allocate additional code pageswhen needed. If you ignore this message, god help you

Example

EEex_AllocCodePage()

See Also

EEex_ReserveCodeMemory, EEex_VirtualAlloc

2.17.3 EEex_CalcLabelOffset

Calculate the offset to a label, used internally with EEex_WriteAssembly, EEex_CalcWriteLength andEEex_ResolveMacroArg

2.17. Advanced low level functions 117

Page 122: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_CalcLabelOffset(address, args, label)

Parameters

• address - address

• args - arguments

• label - label name

Return

An integer value representing the offset to the label

Example

local offset = EEex_CalcLabelOffset(address, args, label)

See Also

EEex_Label, EEex_WriteAssembly, EEex_CalcWriteLength, EEex_ResolveMacroArg

2.17.4 EEex_CalcWriteLength

Calculate the length of data to write based on the arguments supplied

EEex_CalcWriteLength(address, args)

Parameters

• address

• args

Return

An integer value representing the write length

Example

writeLength = EEex_CalcWriteLength(allocEntry.address, assembly)

See Also

EEex_CalcLabelOffset

2.17.5 EEex_Call

Calls an internal function at the given address

EEex_Call(address, stackArgs, ecx, popSize)

Parameters

• address - address of function to call

• stackArgs - a table which includes the values to be pushed before the function is called

• ecx - Sets the ecx register to the given value directly before calling the internal function

• popSize - defines the size, (in bytes), that should be removed from the stack after the internal function is called

118 Chapter 2. EEex Functions

Page 123: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Return value depends on the function called and its behaviour in returning a value.

Notes

The stackArgs are pushed in the order they are defined, so in order to call a function properly these args should bedefined in reverse. The ecx register is most commonly used to pass the “this” pointer. Some internal functions don’tclean up the stackArgs pushed to them, hence the use of the popSize field to adjust and rebalance the stack after theinternal function has been called. Please note that if this value is wrong, the game WILL crash due to an imbalancedstack

Example

-- Lua wrapper for malloc()function EEex_Malloc(size)

return EEex_Call(EEex_Label("_malloc"), {size}, nil, 0x4)end

See Also

EEex_DllCall, EEex_Label

2.17.6 EEex_ClearCStringList

Clears a CStringList. Typically needed to clear CStringList from new creature stats and new temp stats

EEex_ClearCStringList(CStringList*)

Parameters

• CStringList* - pointer to a CStringList to clear

Return

None

Notes

Function is implemented by raw asm byte code via EEex_WriteAssemblyFunction

Example

EEex_ClearCStringList(pCStringList)

See Also

CStringList, EEex_CopyCStringList

2.17.7 EEex_ConstructCString

EEex_ConstructCString(string)

Constructs and returns a CString from the given Lua string

Parameters

• string - lua string to construct a CString for

2.17. Advanced low level functions 119

Page 124: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a CString

Example

local variableNamePtr = EEex_ConstructCString(variableName)

See Also

EEex_CopyCString, EEex_FreeCString, CString

2.17.8 EEex_CopyCString

EEex_CopyCString(CString)

Copies the given CString and returns its pointer

Parameters

• CString - the CString to copy

Return

Returns a pointer to the copied CString

Example

local variableNamePtr = EEex_ConstructCString(variableName)local variableNameLookupPtr = EEex_CopyCString(variableNamePtr)

See Also

EEex_ConstructCString, EEex_FreeCString, CString

2.17.9 EEex_CopyCStringList

Copies a CStringList

EEex_CopyCStringList(srcCStringList*, destCStringList&)

Parameters

• srcCStringList* - pointer to CStringList to copy

• destCStringList* - address of variable to hold pointer to copy of CStringList

Return

None

Notes

Function is implemented by raw asm byte code via EEex_WriteAssemblyFunction

Example

EEex_CopyCStringList()

See Also

CStringList, EEex_ClearCStringList

120 Chapter 2. EEex Functions

Page 125: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.17.10 EEex_DecodeAssembly

Decodes assembly

EEex_DecodeAssembly(address, args)

Parameters

• address - addres to start decoding assembly at

• args - arguments

Return

Example

EEex_DecodeAssembly()

See Also

EEex_WriteAssembly, EEex_WriteAssemblyAuto, EEex_WriteAssemblyFunction

2.17.11 EEex_DefineAssemblyLabel

Adds an entry into the EEex_GlobalAssemblyLabels global array for a text label and an address value. Typically thisis for storing and looking up known addresses of internal game functions using a text mnemonic or when creating newlow level assembler bytecode functions via EEex_WriteAssembly or other similar functions.

EEex_DefineAssemblyLabel(label, value)

Parameters

• label - the text to apply as a label to the array entry

• value - the address or other value associated with the label text

Return

None

Example

EEex_DefineAssemblyLabel("SomeFunc", 0x0123ABCD)

See Also

EEex_WriteAssembly

2.17.12 EEex_DefineAssemblyMacro

EEex_DefineAssemblyMacro()

Parameters

• 1

• 2

• 3

2.17. Advanced low level functions 121

Page 126: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Example

EEex_DefineAssemblyMacro()

See Also

:ref:, :ref:

2.17.13 EEex_DisableCodeProtection

EEex_DisableCodeProtection()

Reset RWX (Read, Write and eXecute) protection of memory address range

Parameters

None

Return

None

Notes

Windows OS specific. Don’t use this unless you REALLY know what you are doing. Enables writing to the .textsection of the game exe (code)

Example

EEex_DisableCodeProtection()-- add a hook or write something to .text sectionEEex_EnableCodeProtection()

See Also

EEex_EnableCodeProtection, EEex_VirtualAlloc, EEex_GetAllocGran, EEex_AllocCodePage,EEex_ReserveCodeMemory

2.17.14 EEex_DllCall

EEex_DllCall(dll, proc, args, ecx, pop)

Calls a function from a DLL. The DLL will be loaded into the process’s address space if it isn’t already.

Parameters

• dll - String containing dll’s name, not including the extension. Example: “User32”

• proc - String containing function name to call. Example: “MessageBoxA”

• args - Table containing function args, in reverse order. Example: {0x40, “Caption”, “Message”, 0x0}.

• ecx - Number representing the “this” register value. Should be nil if proc doesn’t use “this”.

• pop - Number of bytes, (should be an increment of 0x4), to pop off the stack after returning from proc.

122 Chapter 2. EEex Functions

Page 127: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns the result of the proc call. Please check the microsoft documentation for details regarding the specific returnvalues associated with the win32 api function that is called

Notes

Windows OS only. The stack must be balanced by the end of the call - if this value is wrong, the game will crash.

Example

local caption = "EEex"local messageAddress = EEex_Malloc(#message + 1 + #caption + 1)local captionAddress = messageAddress + #message + 1EEex_WriteString(messageAddress, message)EEex_WriteString(captionAddress, caption)EEex_DllCall("User32", "MessageBoxA", {EEex_Flags({0x40}), captionAddress,→˓messageAddress, 0x0}, nil, 0x0)EEex_Free(messageAddress)

See Also

EEex_Call

2.17.15 EEex_DumpDynamicCode

EEex_DumpDynamicCode()

Dumps the contents of dynamically allocated EEex code to the console window. For debugging.

Parameters

None

Return

None

Example

EEex_DumpDynamicCode()

See Also

EEex_DumpLuaStack, EEex_ReadDwordDebug

2.17.16 EEex_DumpLuaStack

EEex_DumpLuaStack()

Dumps the contents of the Lua stack to the console window. For debugging.

Parameters

None

Return

None

Example

2.17. Advanced low level functions 123

Page 128: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_DumpLuaStack()

See Also

EEex_Error

2.17.17 EEex_EnableCodeProtection

EEex_EnableCodeProtection()

Set RWX (Read, Write and eXecute) protection of memory address range

Parameters

None

Return

None

Notes

Windows OS specific. If you were crazy enough to use EEex_DisableCodeProtection(), please use this to reverse yourbad decisions. Reverts the .text section protections back to default.

Example

EEex_DisableCodeProtection()-- add a hook or write something to .text sectionEEex_EnableCodeProtection()

See Also

EEex_DisableCodeProtection, EEex_VirtualAlloc, EEex_GetAllocGran, EEex_AllocCodePage,EEex_ReserveCodeMemory

2.17.18 EEex_Error

EEex_Error(message)

Throws a Lua error, appending the current stacktrace to the end of the message

Parameters

• message - the text of the error message to output

Return

None

Example

EEex_Error("Why have you passed a label to a macro?")

See Also

EEex_FunctionLog, EEex_MessageBox

124 Chapter 2. EEex Functions

Page 129: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.17.19 EEex_ExposeToLua

A lua function that registers an address of a function and a text string representing the function name, to be globallyavailable and visable to the internal lua state in the game.

EEex_ExposeToLua(functionAddress, functionName)

Parameters

• functionAddress - address of the function to expose to the lua state

• functionName - the registered name of the new lua function

Return

None

Notes

This function, EEex_Init, EEex_WriteByte and EEex_AddressList are implemented by the EEex loader in the processspace of the game executable as lua functions.

For more technical information on how the EEex loader works and how it implements these functions, please visit thiswiki page

When the newly registered lua function is used it will call the function at the associated address, in the same processspace as the game.

Example

EEex_ExposeToLua()

See Also

EEex_Init, EEex_WriteByte, EEex_AddressList

2.17.20 EEex_Free

Free memory that was previously allocated with EEex_Malloc

EEex_Free(address)

Parameters

• address - the location of the previously allocated memory to free

Return

Returns the result of the operation

Example

-- Displays a message box to the user.function EEex_MessageBox(message)

local caption = "EEex"local messageAddress = EEex_Malloc(#message + 1 + #caption + 1)local captionAddress = messageAddress + #message + 1EEex_WriteString(messageAddress, message)EEex_WriteString(captionAddress, caption)EEex_DllCall("User32", "MessageBoxA", {EEex_Flags({0x40}), captionAddress,

→˓messageAddress, 0x0}, nil, 0x0)

(continues on next page)

2.17. Advanced low level functions 125

Page 130: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

EEex_Free(messageAddress)end

See Also

EEex_Malloc, EEex_Memset

2.17.21 EEex_FreeCPtrList

EEex_FreeCPtrList(CPtrList)

Frees the memory allocated by the given CPtrList pointer

Parameters

• CPtrList - pointer to the CPtrList to free

Return

None

Example

EEex_FreeCPtrList()

See Also

EEex_IterateCPtrList

2.17.22 EEex_FreeCString

EEex_FreeCString(CString)

Frees the memory allocated by the given CString pointer

Parameters

• CString - the CString to free

Return

None

Example

local variableNamePtr = EEex_ConstructCString(variableName)EEex_FreeCString(variableNamePtr)

See Also

EEex_ConstructCString, EEex_CopyCString, CString

2.17.23 EEex_FunctionLog

EEex_FunctionLog(message)

126 Chapter 2. EEex Functions

Page 131: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Logs a message to the console window, prepending the message with the calling function’s name

Parameters

• message - text message to log output to the console

Return

None

Notes

Newline characters can be placed inside the message string by using: n

Example

EEex_FunctionLog("\n\nWriting some text to console window\n")

See Also

EEex_MessageBox, EEex_Error

2.17.24 EEex_GetAllocGran

EEex_GetAllocGran()

Returns the granularity for the starting address at which virtual memory can be allocated

Parameters

None

Return

Returns the minimum memory page size, typically 64k and 4k

Notes

Windows OS specific. See GetSystemInfo for details

Example

EEex_GetAllocGran()

See Also

EEex_VirtualAlloc

2.17.25 EEex_GetCurrentCInfinity

EEex_GetCurrentCInfinity()

Returns the current CInfinity instance - mostly contains fields pertaining to rendering and viewport

Parameters

None

Return

Returns the current CInfinity instance (m_cInfinity)

Example

2.17. Advanced low level functions 127

Page 132: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

local CInfinity = EEex_GetCurrentCInfinity()

2.17.26 EEex_GetEffectiveY

Returns Y

EEex_GetEffectiveY()

Parameters

• 1

• 2

• 3

Return

Returns Y

Notes

Function is implemented by raw asm byte code via EEex_WriteAssemblyFunction

Example

EEex_GetEffectiveY()

2.17.27 EEex_GetLuaRegistryIndex

Fetches a value held in the special Lua REGISTRY space.

<unknown_type> registryValue = EEex_GetLuaRegistryIndex(registryIndex)

Parameters

• registryIndex - registry index to lookup and return the value for

Return

Returns registryValue

Notes

Function is implemented by raw asm byte code via EEex_WriteAssemblyFunction

Note: Lua REGISTRY space - this is where compiled .MENU functions are held (the ones in actual menu definitions)

Example

EEex_GetLuaRegistryIndex()

2.17.28 EEex_Init

A lua function used to initialize the EEex project framework.

EEex_Init()

128 Chapter 2. EEex Functions

Page 133: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

None

Return

Returns pointer to newly allocated memory for EEex to use in other internal functions

Notes

This function, EEex_ExposeToLua, EEex_WriteByte and EEex_AddressList are implemented by the EEex loader inthe process space of the game executable as lua functions.

EEex_Init does several things:

1. Exposes the hardcoded function EEex_WriteByte

2. Exposes the hardcoded function EEex_ExposeToLua

3. Calls VirtualAlloc with the following params: lpAddress = 0, dwSize = 0x1000, flAllocationType =MEM_COMMIT | MEM_RESERVE, flProtect = PAGE_EXECUTE_READWRITE

4. Passes along the VirtualAlloc return value

For more technical information on how the EEex loader works and how it implements these functions, please visit thiswiki page

Example

EEex_InitialMemory = EEex_Init()

See Also

EEex_ExposeToLua, EEex_WriteByte, EEex_AddressList

2.17.29 EEex_IterateCPtrList

EEex_IterateCPtrList(CPtrList, func)

Given a pointer to a CPtrList, iterates through every element and calls func() with element as argument. If func()returns true, the iteration breaks and instantly returns.

Parameters

• CPtrList - pointer to iterate through each element for

• func - function to call and pass the current iterated element to as a parameter

Return

None

Example

EEex_IterateCPtrList(actionList, function(CAIAction)

See Also

EEex_FreeCPtrList

2.17. Advanced low level functions 129

Page 134: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.17.30 EEex_Label

Returns a label value from the EEex_GlobalAssemblyLabels array. Typically the value returned is an address of avariable or function in the game executable as found by the EEex Loader as it procecess it’s pattern database.

EEex_Label(label)

Parameters

• label - the name assigned to the address value to lookup and return the value for

Return

Returns an integer value representing the address of a variable or function in the game process

Notes

For details on the pattern database used in the EEex loader please see this wiki page

Please see the EEex_AddressList function which is used to create the table used to store the variable and or functionnames and addresses associated with the name

Example

local g_pBaldurChitin = EEex_ReadDword(EEex_Label("g_pBaldurChitin")) --→˓(CBaldurChitin)

See Also

EEex_AddressList

2.17.31 EEex_Malloc

Allocates a block of memory and return a pointer to the newly allocated memory

EEex_Malloc(size)

Parameters

• size - size in bytes of memory to allocate

Return

Returns a pointer to the newly allocated memory

Notes

Once you have finished with the allocated memory it is good practice to free it using EEex_Free

Example

-- Displays a message box to the user.function EEex_MessageBox(message)

local caption = "EEex"local messageAddress = EEex_Malloc(#message + 1 + #caption + 1)local captionAddress = messageAddress + #message + 1EEex_WriteString(messageAddress, message)EEex_WriteString(captionAddress, caption)EEex_DllCall("User32", "MessageBoxA", {EEex_Flags({0x40}), captionAddress,

→˓messageAddress, 0x0}, nil, 0x0)EEex_Free(messageAddress)

end

130 Chapter 2. EEex Functions

Page 135: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

EEex_Free, EEex_Memset

2.17.32 EEex_Memset

Sets the first num bytes of the block of memory pointed by ptr to the specified value

EEex_Memset(ptr, value, num)

Parameters

• ptr - Pointer to the block of memory to fill

• value - Value to be set

• num - Number of bytes to be set to the value

Return

Returns pointer as passed via the ptr parameter

Example

local C2DArray = EEex_Malloc(0x20)EEex_Memset(C2DArray, 0x20, 0x0)

See Also

EEex_Malloc, EEex_Free

2.17.33 EEex_MessageBox

EEex_MessageBox(message)

Displays a message box to the user. Note: Suspends game until closed, which can be useful for debugging

Parameters

• message - text string of the message to output to user

Return

None

Notes

Windows OS only

Example

EEex_MessageBox("Hello")

See Also

EEex_FunctionLog, EEex_Error

2.17. Advanced low level functions 131

Page 136: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.17.34 EEex_ReadByte

Read a single byte from an address location. Technically this function reads a dword from the given address, extractingand returning the “index”th byte

EEex_ReadByte(Address, index)

Parameters

• Address - the address in memory to read a DWORD value from

• index - the index of the DWORD to read and return as a BYTE value from

Return

Returns a BYTE value

Examples

local m_visibleArea = EEex_ReadByte(m_pObjectGame + 0x3DA0, 0) -- (byte)

EEex_ReadByte(EEex_GetActorShare(actorID) + 0x24, 0x2) -- index 2 (3rd byte) of dword

See Also

EEex_WriteByte, EEex_ReadWord, EEex_WriteWord, EEex_ReadDword, EEex_WriteDword

2.17.35 EEex_ReadDword

Read a dword from an address location.

EEex_ReadDword()

Parameters

• address - the address in memory to read a DWORD value from

Return

Returns a DWORD value

Notes

Function is implemented by raw asm byte code via EEex_WriteAssemblyFunction

Example

local area = EEex_ReadDword(EEex_GetActorShare(actorID) + 0x14)

See Also

EEex_WriteDword, EEex_ReadWord, EEex_WriteWord, EEex_ReadByte, EEex_WriteByte

2.17.36 EEex_ReadDwordDebug

EEex_ReadDwordDebug(reading, read)

Called by EEex_ReadDword() to help debug crashes. Disabled by default

Parameters

132 Chapter 2. EEex Functions

Page 137: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• reading

• read

Return

None

Notes

The variable EEex_ReadDwordDebug_Suppress is set to false. if true, prevents debug output

Example

EEex_ReadDwordDebug()

See Also

EEex_ReadDword, EEex_ReadWord, EEex_ReadByte

2.17.37 EEex_ReadLString

Reads a string from the given address until NULL is encountered, OR until it reaches the given length.

string result = EEex_ReadLString(address, maxLength)

Parameters

• address - location in memory of the string to read

• maxLength - max length to read if no null byte has been encountered

Return

Returns the string

Example

local spellRES = EEex_ReadLString(EEex_ReadDword(EEex_GetActorShare(actorID) + 0x344),→˓ 8)

See Also

EEex_ReadString, EEex_WriteString, EEex_WriteLString

2.17.38 EEex_ReadSignedWord

Read a signed word from an address location. Technically this function reads a dword from the given address, extract-ing and returning the “index”th word

EEex_ReadSignedWord(address, index)

Parameters

• Address - the address in memory to read a DWORD value from

• index - the index of the DWORD to read and return as a WORD value from

Return

Returns a WORD value

Examples

2.17. Advanced low level functions 133

Page 138: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_ReadSignedWord(EEex_GetActorShare(actorID) + 0x295D, 0x0)

EEex_ReadSignedWord(EEex_ReadDword(EEex_GetActorShare(actorID) + 0x8A0), 0x1)

See Also

EEex_WriteWord, EEex_ReadWord, EEex_ReadDword, EEex_WriteDword, EEex_ReadByte, EEex_WriteByte

2.17.39 EEex_ReadString

Reads a string from the given address until a NULL is encountered. NOTE: Certain game structures, (most commonlyresrefs), don’t necessarily end in a NULL. Regarding resrefs, if one uses all 8 characters of alloted space, no NULLwill be written. To read this properly, please use EEex_ReadLString with maxLength set to 8. In cases where thestring is guaranteed to have a terminating NULL, use this function.

string result = EEex_ReadString(address)

Parameters

• address - location in memory of the string to read

Return

Returns the string

Example

local luaString = EEex_ReadString(EEex_ReadDword(result))

See Also

EEex_ReadLString, EEex_WriteString, EEex_WriteLString

2.17.40 EEex_ReadUserdata

EEex_ReadUserdata()

Parameters

• 1

• 2

• 3

Return

Example

EEex_ReadUserdata()

See Also

:ref:, :ref:

134 Chapter 2. EEex Functions

Page 139: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

2.17.41 EEex_ReadWord

Read a single word from an address location. Technically this function reads a dword from the given address, extractingand returning the “index”th word

EEex_ReadWord(address, index)

Parameters

• Address - the address in memory to read a DWORD value from

• index - the index of the DWORD to read and return as a WORD value from

Return

Returns a WORD value

Examples

EEex_ReadWord(EEex_GetActorShare(actorID) + 0x295D, 0x0)

EEex_ReadWord(EEex_ReadDword(EEex_GetActorShare(actorID) + 0x8A0), 0x1)

See Also

EEex_WriteWord, EEex_ReadSignedWord, EEex_ReadDword, EEex_WriteDword, EEex_ReadByte, EEex_WriteByte

2.17.42 EEex_ReserveCodeMemory

EEex_ReserveCodeMemory(assembly)

Dynamically allocates and reserves executable memory for new code

Parameters

• assembly - pointer to the assembler data to write to the newly allocated memory

Return

Returns the address of the reserved memory and the length of the reserver memory

Notes

No reason to use instead of EEex_WriteAssemblyAuto, unless you want to reserve memory for later use. Supportsfilling holes caused by freeing code reservations, (if you would ever want to do that?. . . ), though freeing is not currentlyimplemented.

Example

local reservedAddress, reservedLength = EEex_ReserveCodeMemory(assembly)

See Also

EEex_VirtualAlloc, EEex_GetAllocGran, EEex_AllocCodePage

2.17.43 EEex_Reset

EEex_Reset()

2.17. Advanced low level functions 135

Page 140: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Executes the listeners in EEex_ResetListeners. Called by first line in UI.MENU - which should have been inserted bythe EEex WeiDU installer.

Parameters

None

Return

None

Notes

The EEex_IgnoreFirstReset variable is set to true, which is used by EEex_Reset() to ignore engine startup, (whichisn’t a “reset”)

Example

EEex_Reset()

2.17.44 EEex_ResolveMacro

EEex_ResolveMacro()

Parameters

• 1

• 2

• 3

Return

Example

EEex_ResolveMacro()

See Also

:ref:, :ref:

2.17.45 EEex_ResolveMacroArg

EEex_ResolveMacroArg()

Parameters

• 1

• 2

• 3

Return

Example

EEex_ResolveMacroArg()

136 Chapter 2. EEex Functions

Page 141: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

:ref:, :ref:

2.17.46 EEex_SetLuaRegistryFunction

EEex_SetLuaRegistryFunction()

Parameters

• 1

• 2

• 3

Return

Example

EEex_SetLuaRegistryFunction()

See Also

:ref:, :ref:

2.17.47 EEex_ToLightUserdata

EEex_ToLightUserdata()

Parameters

• 1

• 2

• 3

Return

Example

EEex_ToLightUserdata()

See Also

:ref:, :ref:

2.17.48 EEex_VirtualAlloc

EEex_VirtualAlloc(dwSize, flProtect)

Allocate memory in the address space of the current process

Parameters

• dwSize - The size of the region to allocate, in bytes

• flProtect - The memory protection for the region of pages to be allocated

2.17. Advanced low level functions 137

Page 142: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

Returns a pointer to the newly allocated memory in the address space of the current process

Notes

Windows OS specific. See VirtualAlloc for details

Example

local newmemory = EEex_VirtualAlloc(0x1000, 0x40) -- 0x40 == PAGE_EXECUTE_READWRITE

See Also

EEex_GetAllocGran, EEex_AllocCodePage, EEex_ReserveCodeMemory

2.17.49 EEex_WriteAssembly

Writes assembly declarations into memory.

EEex_WriteAssembly(address, args, funcOverride)

Parameters

• address - location in memory to write assembly byte code to

• args - table, containing arguments for the function

• funcOverride - function override?

Return

Notes

args MUST be a table. Acceptable sub-argument types:

a) string:

Every byte / operation MUST be seperated by some kind of whitespace. Syntax:

• number - Writes hex number as byte.

• :number - Writes relative offset to hex number. Depreciated; please use label operations instead.

• #number - Writes hex number as dword.

• +number - Writes address of relative offset. Depreciated; please use label operations instead.

• >label - Writes relative offset to label’s address.

• *label - Writes label’s address.

• @label - Defines a local label that can be used in the above two operations. (only in currentEEex_WriteAssembly call, use EEex_DefineAssemblyLabel() if you want to create a global label)

• $label - Defines a global label

• !macro - Writes macro’s bytes.

b) table:

Used to write the value of a Lua variable into memory.

• table[1] - Value to write.

• table[2] - How many bytes of table[1] to write.

138 Chapter 2. EEex Functions

Page 143: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• table[3] - If present, writes the relative offset to table[1] from table[3]. (Optional)

Example

EEex_WriteAssembly(EEex_Label("CChitin::GetVersionString()_versionStringPush"), {→˓{newVersionStringAddress, 4}})

See Also

EEex_WriteAssemblyAuto, EEex_Label

2.17.50 EEex_WriteAssemblyAuto

Writes assembly declarations to a dynamically allocated memory space, unlike EEex_WriteAssembly which writes toa provided address

EEex_WriteAssemblyAuto(assembly)

Parameters

• assembly - pointer to the assembler data to write to the newly allocated memory

Return

Returns a pointer to the reserved address that contains the assembler raw byte code

Example

See M__EEex.lua for examples

See Also

EEex_WriteAssembly, EEex_Label

2.17.51 EEex_WriteAssemblyFunction

Writes assembly declarations to a dynamically allocated memory space and exposes it to the lua state in the game

EEex_WriteAssemblyFunction(functionName, assembly)

Parameters

• functionName - text name to label function that will be registered as a new lua function

• assembly - pointer to the assembler data to write to the newly allocated memory

Return

Example

-- SIGNATURE:-- number result = EEex_ReadDword(number address)EEex_WriteAssemblyFunction("EEex_ReadDword", {

"55 8B EC 53 51 52 56 57 6A 00 6A 01 FF 75 08 \z!call >_lua_tonumberx \z83 C4 0C \z!call >__ftol2_sse \zFF 30 \z50 \z68", {debugHookAddress, 4},

(continues on next page)

2.17. Advanced low level functions 139

Page 144: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

"FF 75 08 \z!call >_lua_getglobal \z83 C4 08 \zDB 04 24 83 EC 04 DD 1C 24 FF 75 08 \z!call >_lua_pushnumber \z83 C4 0C \zFF 34 24 \zDB 04 24 83 EC 04 DD 1C 24 FF 75 08 \z!call >_lua_pushnumber \z83 C4 0C \z6A 00 6A 00 6A 00 6A 00 6A 02 FF 75 08 \z!call >_lua_pcallk \z83 C4 18 \zDB 04 24 83 EC 04 DD 1C 24 FF 75 08 \z!call >_lua_pushnumber \z83 C4 0C B8 01 00 00 00 5F 5E 5A 59 5B 5D C3"

})

See Also

EEex_WriteAssembly, EEex_WriteAssemblyAuto, EEex_Label

2.17.52 EEex_WriteByte

A lua function to write a single byte to an address location

EEex_WriteByte(Address, Byte)

Parameters

• Address - the address in memory to write the Byte value to

• Byte - the BYTE value to write

Return

None

Notes

This function, EEex_ExposeToLua, EEex_Init and EEex_AddressList are implemented by the EEex loader in the pro-cess space of the game executable as lua functions.

For more technical information on how the EEex loader works and how it implements these functions, please visit thiswiki page

Example

EEex_WriteByte(0xFEDC3210, 0xFF)

See Also

EEex_ReadByte, EEex_ReadWord, EEex_WriteWord, EEex_ReadDword, EEex_WriteDword, EEex_Init,EEex_ExposeToLua, EEex_AddressList

2.17.53 EEex_WriteDword

Writes a dword at the given address.

140 Chapter 2. EEex Functions

Page 145: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

EEex_WriteDword(address, value)

Parameters

• address - the address in memory to write the dword value to

• value - the DWORD value to write

Return

None

Example

EEex_WriteDword(EEex_Label("_nextStackMenuIdx"), 0x0)

See Also

EEex_ReadDword, EEex_ReadWord, EEex_WriteWord, EEex_ReadByte, EEex_WriteByte

2.17.54 EEex_WriteLString

EEex_WriteLString(address, toWrite, maxLength)

Writes a string to the given address, padding the end with 0’s to achieve desired length. If the string length exactlymatches the field length, terminating null is not written.

Parameters

• address - the address to write the string to

• toWrite - the string to write to the address

• maxLength - the max length of the string to write

Return

None

Notes

Can crash the game if the terminating null byte ends up outside of allocated memory.

Example

:: local resrefLocation = EEex_Malloc(0x8) EEex_WriteLString(resrefLocation + 0x0, resref, 8)

See Also

EEex_WriteString, EEex_ReadString, EEex_ReadLString

2.17.55 EEex_WriteString

Writes the given string at the specified address. NOTE: Writes a terminating NULL in addition to the raw string.

EEex_WriteString(address, toWrite)

Parameters

• address - the address to write the string to

• toWrite - the string to write to the address

2.17. Advanced low level functions 141

Page 146: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return

None

Example

EEex_WriteString(resrefAddress, resref)

See Also

EEex_WriteLString, EEex_ReadString, EEex_ReadLString

2.17.56 EEex_WriteWord

Writes a word at the given address.

EEex_WriteWord(address, value)

Parameters

• address - the address in memory to write the word value to

• value - the WORD value to write

Return

None

Example

EEex_WriteWord(Item_effect_st + 0x0, argOrError("opcode"))

See Also

EEex_ReadWord, EEex_ReadDword, EEex_WriteDword, EEex_ReadByte, EEex_WriteByte

Function DescriptionEEex_AddressList Returns an array of pattern database entriesEEex_AllocCodePage Allocate additional code pages when neededEEex_CalcLabelOffset Calculate the offset to a labelEEex_CalcWriteLength Calculate the write lengthEEex_Call Calls an internal function at the given addressEEex_ClearCStringList Clears a CStringListEEex_ConstructCString Constructs and returns CString from a Lua stringEEex_CopyCString Copies the given CString and returns its pointerEEex_CopyCStringList Copies a CStringListEEex_DecodeAssembly Decodes assemblyEEex_DefineAssemblyLabel Adds an array entry for a text label and an addressEEex_DefineAssemblyMacroEEex_DisableCodeProtection Reset RWX of memory address rangeEEex_DllCall Call a windows dll functionEEex_DumpDynamicCode Dumps contents of dynamically allocated EEex codeEEex_DumpLuaStack Display lua stack for debugging purposesEEex_EnableCodeProtection Set RWX of memory address rangeEEex_Error Throws a Lua errorEEex_ExposeToLua Registers a function name and address with lua

Continued on next page

142 Chapter 2. EEex Functions

Page 147: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageEEex_Free Free memory allocated with EEex_MallocEEex_FreeCPtrList Frees memory allocated by the CPtrList pointerEEex_FreeCString Frees memory allocated by a CString pointerEEex_FunctionLog Logs a message to the console windowEEex_GetAllocGran Get memory granularity for allocating memoryEEex_GetCurrentCInfinity Returns the current CInfinity instanceEEex_GetEffectiveYEEex_GetLuaRegistryIndex Fetches a value held in the special lua registryEEex_Init Initialize EEex - called from loaderEEex_IterateCPtrList Iterates through every element and calls func()EEex_Label Returns an address from the global labels arrayEEex_Malloc Allocate a block of memory and return a pointerEEex_Memset Fills a block of memory with a specific valueEEex_MessageBox Show a message box to userEEex_ReadByte Read a BYTE value from a memory addressEEex_ReadDword Read a DWORD value from a memory addressEEex_ReadDwordDebug Read a DWORD value from a memory addressEEex_ReadLString Reads a string from address until null or max sizeEEex_ReadSignedWord Read a signed WORD value from a memory addressEEex_ReadString Reads a string from an address until nullEEex_ReadUserdataEEex_ReadWord Read an unsigned WORD value from an addressEEex_ReserveCodeMemory Dynamically allocates and reserves memory for codeEEex_Reset Executes the listeners in EEex_ResetListenersEEex_ResolveMacroEEex_ResolveMacroArgEEex_SetLuaRegistryFunctionEEex_ToLightUserdataEEex_VirtualAlloc Allocate memory using the win32 VirtualAlloc apiEEex_WriteAssembly Write raw assembly x86 opcodes to memory locationEEex_WriteAssemblyAuto Writes assembly declarations into dynamic memoryEEex_WriteAssemblyFunction Writes assembly into memory and exposes to luaEEex_WriteByte Write a BYTE value to a memory addressEEex_WriteDword Write a DWORD value to a memory addressEEex_WriteLString Writes a null padded string to the given addressEEex_WriteString Writes a string to the specified addressEEex_WriteWord Write a WORD value to a memory address

2.17. Advanced low level functions 143

Page 148: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

144 Chapter 2. EEex Functions

Page 149: EEex Documentation - Read the Docs

CHAPTER 3

EEex Opcodes

Note: Opcodes are used in .eff (effect) files - and in embedded versions in .itm (item) and .spl (spell) files - andprovide additional features and functionality in all the Infinity Engine games. The effect type field of the EFFV1.0 files and the Opcode number field of the EFF v2.0 files indicates the opcode in use for a particular .eff file.Modifying existing .eff files to change opcodes used, or creating new effects is usually done with modding tools suchas WeiDU or NearInfinity. For details on the different opcodes (effects) available in the Infinity Engine games, see theInfinity Engine Structures Description Project

EEex expands on the capability of some existing opcodes, and adds new opcodes for mod makers to make use of.

3.1 Opcode Listing

Opcode DescriptionOpcode #42 Wizard Spell Slots ModifierOpcode #62 Priest Spell Slots ModifierOpcode #218 Protection: StoneskinOpcode #280 Spell Effect: Wild MagicOpcode #319 Item UsabilityOpcode #324 Immunity from Spell and MessageOpcode #400* Set Temporary AI ScriptOpcode #401* Set Extended StatOpcode #402* Invoke Lua

* indicates new opcodes added via EEex

145

Page 150: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

3.2 Updated Opcodes

3.2.1 Opcode #42

Wizard Spell Slots Modifier

• Special: Force the slot modification - If Special parameter is non-zero, the slot modification ignores access toparticular spell level requirement.

3.2.2 Opcode #62

Priest Spell Slots Modifier

• Special: Force the slot modification

If Special parameter is non-zero, the slot modification ignores access to particular spell level requirement.

3.2.3 Opcode #218

Protection: Stoneskin

• Resource Key: Fire spell

Spell specified in resource key is fired when all layers are lost.

3.2.4 Opcode #280

Spell Effect: Wild Magic

• Parameter #1: Surge Roll

• Special: Show hardcoded graphical effects

‘Surge Roll’ field allows to force particular wild surge roll to occur if it is set to non-zero. If Special parameter isnon-zero, all hardcoded wild surge graphical effects are suppressed.

3.2.5 Opcode #319

Item Usability

• Power: Mode

• Parameter #1: IDS Entry / Value

• Parameter #2: IDS File / Stat Type

Known values for ‘Mode’ are:

• 0 item restricted if condition holds (‘Not usable by’ mode), parameters use IDS targets

• 1 item restricted if condition fails (‘Usable by’ mode), parameters use IDS targets

• 2 like 1 but parameters use splprot.2da

• 3 like 0 but parameters use splprot.2da

If ‘Mode’ is set to 2 or 3, then the creature type specified by the ‘Stat Type’ field will be affected by this opcode. Seeopcode #324 for more information.

146 Chapter 3. EEex Opcodes

Page 151: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

3.2.6 Opcode #324

Immunity from Spell and Message

• Special: Strref

Hardcoded enginest.2da strref can be optionally overridden by strref specified in Special field.

3.3 New Opcodes

3.3.1 Opcode #400

Set Temporary AI Script

• Parameter #1: Irrelevant

• Parameter #2: Type

• Description: Works exactly like Opcode #82 except:

A null resref can null a script slot The original script is restored when the duration runs out or the effect otherwiseends.

3.3.2 Opcode #401

Set Extended Stat

• Parameter #1: Statistic Modifier

• Parameter #2: Type

• Special: Stat

• Description: Applies the modifier value specified by the ‘Statistic Modifier’ field in the style specified by the‘Type’ field.

Known values for ‘Type’ are:

• 0 Cumulative Modifier -> Stat = Stat+ ‘Statistic Modifier’ value

• 1 Flat Value Modifier -> Stat= ‘Statistic Modifier’ value

• 2 Percentage Modifier -> Stat = (Stat* ‘Statistic Modifier’ value) / 100

Values for ‘Stat’ are taken from stats.ids (Note: EEex expands number of usable stats.ids entries to 65737).

3.3.3 Opcode #402

Invoke Lua

• Parameter #1: Lua Value 1

• Parameter #2: Lua Value 2

• Special: Lua Value 3

• Description: The targeted creature(s) calls a Lua function specified by the resource key. Maximum functionname length is 8, and function names must be completely upper-case.

3.3. New Opcodes 147

Page 152: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Object that invoked the effect and values passed by the opcode can be used in the called Lua function.

Example: Click Here or see below

148 Chapter 3. EEex Opcodes

Page 153: EEex Documentation - Read the Docs

CHAPTER 4

EE Game Lua Functions

4.1 buttonArray Functions

4.1.1 buttonArray:GetButtonBam

buttonArray:GetButtonBam()

Parameters

• **

• **

• **

Returns

Notes

Example

buttonArray:GetButtonBam()

See Also

:ref:, :ref:

4.1.2 buttonArray:GetButtonEnabled

buttonArray:GetButtonEnabled()

Parameters

• **

149

Page 154: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

• **

Returns

Notes

Example

buttonArray:GetButtonEnabled()

See Also

:ref:, :ref:

4.1.3 buttonArray:GetButtonSequence

buttonArray:GetButtonSequence()

Parameters

• **

• **

• **

Returns

Notes

Example

buttonArray:GetButtonSequence()

See Also

:ref:, :ref:

4.1.4 buttonArray:GetButtonType

buttonArray:GetButtonType()

Parameters

• **

• **

• **

Returns

Notes

Example

buttonArray:GetButtonType()

See Also

:ref:, :ref:

150 Chapter 4. EE Game Lua Functions

Page 155: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.1.5 buttonArray:OnLButtonPressed

buttonArray:OnLButtonPressed()

Parameters

• **

• **

• **

Returns

Notes

Example

buttonArray:OnLButtonPressed()

See Also

:ref:, :ref:

4.1.6 buttonArray:OnRButtonPressed

buttonArray:OnRButtonPressed()

Parameters

• **

• **

• **

Returns

Notes

Example

buttonArray_OnRButtonPressed()

See Also

:ref:, :ref:

Function DescriptionbuttonArray:GetButtonBambuttonArray:GetButtonEnabledbuttonArray:GetButtonSequencebuttonArray:GetButtonTypebuttonArray:OnLButtonPressedbuttonArray:OnRButtonPressed

e = g_pBaldurChitingame = e:GetObjectGame()buttonArray = game:GetButtonArray()

4.1. buttonArray Functions 151

Page 156: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2 C (CLUAConsole) Functions

4.2.1 C:AddGold

Adds gold to the party

C:AddGold(Gold)

Parameters

• string Gold - string containing the numeric amount of gold to add to party

Example

C:AddGold("1000")

See Also

C:AddSpell, C:CreateItem

4.2.2 C:AddSpell

Adds a spell to the specified character

C:AddSpell(SpellName)

Parameters

• string SpellName - string containing the resource reference (ResRef) of the spell to add to character

Notes

Spell resource reference (ResRef) used in SpellName must be 8 characters or less and must be valid.

A character must be selected for this to work.

To obtain the spell codes (ResRef) required for this command, please use Near Infinity to browse .spl files, or visitthe specific spell page from the BGII Wiki and look for the spell code in the right hand info bar - exclude the .splextension when using the spell code.

Example

C:AddSpell("SPWI112")

See Also

C:CreateItem, C:AddGold

4.2.3 C:AdvanceRealTime

Advance time

C:AdvanceRealTime(GameTime)

Parameters

• integer GameTime - amount of time in milliseconds to advance

152 Chapter 4. EE Game Lua Functions

Page 157: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Can be used to trigger banters and love talks etc

Example

Speed up 1 hour real time:

C:AdvanceRealTime(60000)

See Also

C:GetGlobal, C:SetGlobal

4.2.4 C:CreateCreature

Creates the creature specified

C:CreateCreature(CreatureName)

Parameters

• string CreatureName - string containing resource reference (ResRef) of creature to spawn (create)

Notes

Creature resource reference (ResRef) used in CreatureName must be 8 characters or less and must be valid.

This spawns a creature to the center of the screen (or nearest valid point). If you?re spawning a creature you know willbe hostile, you may want to pause the game before entering this command for the safety of your party.

Example

Spawn a gibberling using GIBBER.CRE

C:CreateCreature("GIBBER")

See Also

C:CreateItem

4.2.5 C:CreateEngine

Unknown - seems to start a new single 0 or multi 1 player game

C:CreateEngine(nEngine)

Parameters

• integer nEngine - engine id number to create

Notes

Unknown

Example

C:CreateEngine(0)

See Also

C:new

4.2. C (CLUAConsole) Functions 153

Page 158: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2.6 C:CreateItem

Create an item

C:CreateItem(ItemName,Usage)

Parameters

• string ItemName - string containing resource reference (ResRef) of the item to create

• integer Usage - amount / charges (optional parameter)

Notes

Item resource reference (ResRef) used in ItemName must be 8 characters or less and must be valid.

This spawns an item, based on its item file name, or a stack of the same item, in the inventory of the current partyleader.

Examples

Create a long sword:

C:CreateItem("SW1H01")

Create 10 potions of cure light wounds:

C:CreateItem("POTN08", 10)

Greenstone Amulet with 50 charges:

C:CreateItem("amul17", 50)

See Also

C:CreateCreature, C:AddGold, C:AddSpell

4.2.7 C:CreateVEFVidCell

Create VEFVidCell

C:CreateVEFVidCell(VidCell)

Parameters

• string VidCell - string containing resource reference (ResRef) of VEFVidCell to create

Notes

Unknown

Example

C:CreateVEFVidCell("????????")

See Also

C:AddSpell, C:CreateItem

154 Chapter 4. EE Game Lua Functions

Page 159: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2.8 C:DisplayAllBAMFiles

Display all BAM files

C:DisplayAllBAMFiles()

Parameters

None

Notes

Display all BAM files

Example

C:DisplayAllBAMFiles()

See Also

C:TestAllDialog

4.2.9 C:DisplayText

Displays the specified text on screen

C:DisplayText(text)

Parameters

• string text - string containing text to display

Notes

Example

C:DisplayText("This is some text to display")

See Also

C:StrrefOn, C:StrrefOff

4.2.10 C:EnableCheatKeys

Enables cheat keys

C:EnableCheatKeys()

Parameters

None

Notes

The following cheat key combination are available once cheat keys has been enabled:

Key NotesCTRL+1 Change armor level animation

Continued on next page

4.2. C (CLUAConsole) Functions 155

Page 160: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 1 – continued from previous pageCTRL+2 Fade screen to blackCTRL+3 Fade screen to normalCTRL+4 Highlight background-interactive objectsCTRL+5 Displays animation informationCTRL+6 Change avatar animation previousCTRL+7 Change avatar animation nextCTRL+8 Highlights the text boxesCTRL+9 Highlight the spritesCTRL+0 UnknownCTRL+A Change Selected Animation SequenceCTRL+C Jump to next chapterCTRL+D Display some numbers (framerate related?)CTRL+E Alters visual rangeCTRL+F Turn the characterCTRL+G Display loaded area refCTRL+I Play Selected Animation effectCTRL+J Teleport to cursor positionCTRL+K Creature under cursor kick out partyCTRL+L Play Selected Animation effectCTRL+M (Followed by ENTER) Debug DumpCTRL+N Freeze screen for 5 secondsCTRL+O (Followed by ENTER) Write Debug To LogCTRL+P Center screen on selected characterCTRL+Q Creature under cursor joins partyCTRL+R Heals character under cursorCTRL+S Change Selected Animation SequenceCTRL+T Advances game time by 1 hourCTRL+U Highlight doors and ground objectsCTRL+X Extended position informationCTRL+Y Kills creature under cursor

In addition CTRL+8 during character creation will set all attributes to 18 (STR 18/00)

CTRL+SHIFT+Z while hovering over a character will grant every spell file in the game - may crash due to invalidspells

Example

C:EnableCheatKeys()

See Also

createCharScreen:OnCheatyMcCheaterson

4.2.11 C:Eval

Evaluate a string containing script actions for a character

C:Eval(Script)

Parameters

• string Script - string containing script actions to evaluate

156 Chapter 4. EE Game Lua Functions

Page 161: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

The whole string can be enclosed into single quotes (‘) so that double quotes can still be used within the script action.

See BG(2)EE Script Actions for a list of script actions.

Example

Move Cernd to the specified location using evaluated script actions.

C:Eval("ActionOverride(\"Cernd\",MoveGlobal(\"AR0406\",Myself,[1368.1922]))")

See Also

C:Exec

4.2.12 C:Exec

Execute console commands contained in the specified file

C:Exec(File)

Parameters

• string File - string containing filename to execute

Notes

Example

Execute all the commands in the file test.txt:

C:Eval("test.txt")

See Also

C:Eval

4.2.13 C:ExploreArea

Reveals the entire map for the current area

C:ExploreArea()

Parameters

None

Notes

This doesn?t remove the fog of war; if a creature is out of your field of vision it will still remain hidden

Example

C:ExploreArea()

See Also

C:MoveToArea

4.2. C (CLUAConsole) Functions 157

Page 162: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2.14 C:GetGlobal

Gets a global variable value

C:GetGlobal(VariableName,AreaName)

Parameters

• string VariableName - string containing the name of the global variable to retrieve the value of

• string AreaName - string containing the resource reference (ResRef) of the area in which the variable isstored, or "GLOBAL" for all.

Returns

Value of the variable specified

Notes

Area resource reference (ResRef) used in AreaName must be 8 characters or less and must be valid.

Examples

Returns the value of CHAPTER variable:

C:GetGlobal("CHAPTER", "GLOBAL") Will display current GLOBAL setting

Returns the value of TestValue variable stored in area AR0600.ARE:

C:GetGlobal("TestValue", "AR0600")

See Also

C:SetGlobal

4.2.15 C:LogMessages

Enables logging output to console

C:LogMessages()

Parameters

None

Notes

See C:LogSet to output logging to a file instead

Example

C:LogMessages()

See Also

C:LogSet

158 Chapter 4. EE Game Lua Functions

Page 163: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2.16 C:LogSet

Sets logging to a file instead of to console if logging is enabled

C:LogSet(LogFile)

Parameters

• string LogFile - string containing log filename

Notes

See C:LogMessages to enable logging

Example

C:LogSet("output.txt")

See Also

C:LogMessages

4.2.17 C:MoveToArea

Move the selected characters to the area specified

C:MoveToArea(Area)

Parameters

• string Area - string containing the resource reference (ResRef) of the area to move players to

Notes

Area resource reference (ResRef) used in Area must be 8 characters or less and must be valid.

Example

Move the selected players to the Friendly Arms Inn AR2300.ARE:

C:MoveToArea("AR2300")

See Also

C:ExploreArea, C:Eval

4.2.18 C:PickDialog

Unknown

C:PickDialog(Table)

Parameters

• integer Table - Unknown

Notes

Unknown

Example

4.2. C (CLUAConsole) Functions 159

Page 164: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

C:PickDialog()

See Also

4.2.19 C:PlayMovie

Plays the specified movie

C:PlayMovie(Movie)

Parameters

• string Movie - string containing resource reference (ResRef) of the movie to play

Notes

Movie resource reference (ResRef) used in Movie must be 8 characters or less and must be valid.

Plays WebM file format movies (.wbm)

Example

Plays LOGO.WBM:

C:PlayMovie("LOGO")

See Also

C:PlaySound

4.2.20 C:PlaySound

Plays the specified sound

C:PlaySound(Sound)

Parameters

• string Sound - string containing resource reference (ResRef) of the sound, music, voices to play

Notes

Sound resource reference (ResRef) used in Sound must be 8 characters or less and must be valid.

Plays WAV file format audio (.wav)

Example

Play cow moo sound COW01.WAV:

C:PlaySound("COW01")

See Also

C:PlayMovie

160 Chapter 4. EE Game Lua Functions

Page 165: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.2.21 C:ResetAchievements

Reset achievements

C:ResetAchievements()

Parameters

None

Notes

Applies to Steam installation only

Example

C:ResetAchievements()

4.2.22 C:SetCurrentXP

Sets the experience points (XP) of the selected character

C:SetCurrentXP(ExperiencePoints)

Parameters

• string ExperiencePoints - string containing the numeric value of experience points to set for selected character

Notes

This sets the total, rather than adding a value to your current experience points. A level up will be triggered forcharacters that qualify, based on the experince points table for the character’s class level.

Example

Set current character at 1000 experience points:

C:SetCurrentXP("1000")

See Also

C:AddGold, C:AddSpell, C:CreateItem

4.2.23 C:SetGlobal

Set a global variable to the specified value

C:SetGlobal(VariableName,AreaName,Value)

Parameters

• string VariableName - string containing the name of the global variable to set

• string AreaName - string containing the resource reference (ResRef) of the area in which the variable isstored, or "GLOBAL" for all.

• integer Value - new value to set the variable to

4.2. C (CLUAConsole) Functions 161

Page 166: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Area resource reference (ResRef) used in AreaName must be 8 characters or less and must be valid.

Examples

Set the value of CHAPTER to 2 (and advance to Chapter 2):

C:SetGlobal("CHAPTER", "GLOBAL", 2)

Sets the value of TestValue variable stored in area AR0600.ARE to 16:

C:GetGlobal("TestValue", "AR0600", 16)

See Also

C:GetGlobal

4.2.24 C:SetWaterAlpha

Sets the alpha blend level for water transparency

C:SetWaterAlpha(AlphaLevel)

Parameters

• integer AlphaLevel - value to set for alpha blending of water transparency

Notes

Not tested / verified

Example

C:SetWaterAlpha(100)

See Also

C:SetWeather

4.2.25 C:SetWeather

Sets the current weather

C:SetWeather(WeatherID)

Parameters

• string WeatherID - string containing the weather id

Notes

Not tester / verified: may be an integer value for WeatherID

Valid values to set can be found in WEATHER.IDS:

0 NOWEATHER1 RAIN2 SNOW3 FOG

162 Chapter 4. EE Game Lua Functions

Page 167: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

C:SetWeather("1")

See Also

C:SetWaterAlpha

4.2.26 C:StartStore

Starts the specified store

C:StartStore(StoreName)

Parameters

• string StoreName - string containing resource reference (ResRef) of store to start

Notes

Store resource reference (ResRef) used in StoreName must be 8 characters or less and must be valid.

May be unstable, leading to crashes.

Example

C:StartStore("INN0103")

4.2.27 C:StrrefOff

Strings are not displayed with their associated string reference (StrRef) id

C:StrrefOff()

Parameters

None

Notes

Example

C:StrrefOff()

See Also

C:StrrefOn, C:DisplayText

4.2.28 C:StrrefOn

Strings are displayed with their associated string reference (StrRef) id

C:StrrefOn()

Parameters

None

Notes

4.2. C (CLUAConsole) Functions 163

Page 168: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

C:StrrefOn()

See Also

C:StrrefOff , C:DisplayText

4.2.29 C:TestAllDialog

Lists all dialog file in the game, and checks for errors

C:TestAllDialog()

Parameters

None

Notes

Example

C:TestAllDialog()

See Also

C:DisplayAllBAMFiles

4.2.30 C:WorkshopUpload

Upload a module to the Steam Workshop - Not tested or verified

C:WorkshopUpload(ModuleName,ModulePath)

Parameters

• string ModuleName - string containing name of the workshop module

• string ModulePath - string containing the full filepath to the module to upload

Notes

Applies to Steam installation only

Not tested or verified

Example

C:WorkshopUpload()

4.2.31 C:WriteScript

Output scripts to directory

C:WriteScript(Folder)

Parameters

• string Folder - string containing filepath of folder to output scripts to

164 Chapter 4. EE Game Lua Functions

Page 169: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

If the mouse is over a creature, the command will evaluate the scripts attached to that creature. Otherwise it willevaluate the area scripts.

Example

Output the script results to a folder called DebugScripts in the root of your game install:

C:WriteScript("DebugScripts")

See Also

C:Exec

4.2.32 C:new

Create a new instance of the CLUAConsole

C:new()

Parameters

None

Notes

This is used in the game engine to assign C: to CLUAConsole:

C = CLUAConsole:new()

Not recommended to use this

Example

C:new()

See Also

C:CreateEngine

Note: CLUAConsole functions are accessed via the C: prefix

Function DescriptionC:AddGold Adds gold to the partyC:AddSpell Adds a spell to the specified characterC:AdvanceRealTime Advance timeC:CreateCreature Creates the creature specifiedC:CreateEngine UnknownC:CreateItem Create an itemC:CreateVEFVidCell Create VEFVidCellC:DisplayAllBAMFiles Display all BAM filesC:DisplayText Displays the specified text on screenC:EnableCheatKeys Enable cheat keysC:Eval Evaluate a string containing script actions for a character

Continued on next page

4.2. C (CLUAConsole) Functions 165

Page 170: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 2 – continued from previous pageC:Exec Execute console commands contained in the specified fileC:ExploreArea Reveals the entire map for the current areaC:GetGlobal Gets a global variable value for an areaC:LogMessages Enables or disables logging output to consoleC:LogSet Sets logging to a file instead of to console if logging is enabledC:MoveToArea Move the selected characters to the area specifiedC:PickDialog UnknownC:PlayMovie Plays the specified movieC:PlaySound Plays the specified soundC:ResetAchievements Reset achievements - applies to Steam installation onlyC:SetCurrentXP Sets the experience points (XP) of the selected characterC:SetGlobal Set a global variable to the specified valueC:SetWaterAlpha Sets the alpha blend level for water transparencyC:SetWeather Sets the current weatherC:StartStore Starts the specified storeC:StrrefOff Strings are not displayed with their associated string reference (StrRef)C:StrrefOn Strings are displayed with their associated string reference (StrRef)C:TestAllDialog Lists all dialog file in the game, and checks for errorsC:WorkshopUpload Upload a module to the Steam Workshop - applies to Steam installation onlyC:WriteScript Output scripts to directoryC:new Create a new instance of the CLUAConsole

C = CLUAConsole:new()

4.3 chapterScreen Functions

4.3.1 chapterScreen:IsDoneButtonClickable

Determines if the Done button is enabled and clickable by user

chapterScreen:IsDoneButtonClickable()

Parameters

None

Returns

Returns true 1 if successful or false 0 otherwise.

Pushes onto lua stack a lua boolean true if button is clickable or a lua boolean false otherwise.

Notes

The lua action occurs if the button is enabled (clickable) and is clicked

Calls the tolua_BaldurLUA_CScreenChapter_IsDoneButtonClickable00 function

Example

The Done button as defined in UI.MENU:

166 Chapter 4. EE Game Lua Functions

Page 171: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

button{

area 532 714 234 44bam GUIOSTURtext "DONE_BUTTON"text style "button"clickable lua "chapterScreen:IsDoneButtonClickable()"action"

chapterScreen:OnDoneButtonClick()"

}

See Also

chapterScreen:OnDoneButtonClick

4.3.2 chapterScreen:IsReplayButtonClickable

Determines if the Replay button is enabled and clickable by user

chapterScreen:IsReplayButtonClickable()

Parameters

None

Returns

Returns true 1 if successful or false 0 otherwise.

Pushes onto lua stack a lua boolean true if button is clickable or a lua boolean false otherwise.

Notes

The lua action occurs if the button is enabled (clickable) and is clicked

Calls the tolua_BaldurLUA_CScreenChapter_IsReplayButtonClickable00 function which calls the CScreenChap-ter::IsReplayButtonClickable method

Example

The Replay button as defined in UI.MENU:

button{

area 280 714 234 44bam GUIOSTULtext "REPLAY_BUTTON"text style "button"clickable lua "chapterScreen:IsReplayButtonClickable()"action"

chapterScreen:OnReplayButtonClick()"

}

See Also

chapterScreen:OnReplayButtonClick

4.3. chapterScreen Functions 167

Page 172: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.3.3 chapterScreen:OnDoneButtonClick

Event action for when the Done button is clicked

chapterScreen:OnDoneButtonClick()

Parameters

None

Returns

None

Notes

Exits the chapter text screen when this button is clicked

The lua action occurs if the button is enabled (clickable) and is clicked

Calls the tolua_BaldurLUA_CScreenChapter_OnDoneButtonClick00 function which calls the CScreenChap-ter::OnDoneButtonClick method

Example

The Done button as defined in UI.MENU:

button{

area 532 714 234 44bam GUIOSTURtext "DONE_BUTTON"text style "button"clickable lua "chapterScreen:IsDoneButtonClickable()"action"

chapterScreen:OnDoneButtonClick()"

}

See Also

chapterScreen:IsDoneButtonClickable

4.3.4 chapterScreen:OnReplayButtonClick

Event action for when the Replay button is clicked

chapterScreen:OnReplayButtonClick()

Parameters

None

Returns

None

Notes

The lua action occurs if the button is enabled (clickable) and is clicked

168 Chapter 4. EE Game Lua Functions

Page 173: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Calls the tolua_BaldurLUA_CScreenChapter_OnReplayButtonClick00 function which calls the CScreenChap-ter::OnReplayButtonClick method

Example

The Replay button as defined in UI.MENU:

button{

area 280 714 234 44bam GUIOSTULtext "REPLAY_BUTTON"text style "button"clickable lua "chapterScreen:IsReplayButtonClickable()"action"

chapterScreen:OnReplayButtonClick()"

}

See Also

chapterScreen:IsReplayButtonClickable

4.3.5 chapterScreen:StartTextScreen

Load chapter text into UI elements

chapterScreen:StartTextScreen()

Parameters

• string textscreenOverride - unknown, process custom 2DA?

Returns

None

Notes

Processes string references (StrRef) stored in CHPTXT?.2DA (where ? is the chapter number). For the DEFAULTrow in the 2DA file, column 0 stores the StrRef of the chapter number: “Chapter 1” and column 1 stores the StrRefof the chapter text: “Disaster comes on the heels of your victory in Baldur’s Gate”. . .

Assigns the strings loaded to UI elements.

Loads chapter backgrounds, starts music and the scrolling text (? - to be confirmed)

Calls the tolua_BaldurLUA_CScreenChapter_StartTextScreen00 function which calls the CScreenChap-ter:StartTextScreen method

Example

chapterScreen:StartTextScreen()

Note: The chapterScreen functions are related to the handling of chapter screens and dream transitions

4.3. chapterScreen Functions 169

Page 174: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionchapterScreen:IsDoneButtonClickable Determines if the Done button is clickablechapterScreen:IsReplayButtonClickable Determines if the Replay button is clickablechapterScreen:OnDoneButtonClick Event action for when the Done button is clickedchapterScreen:OnReplayButtonClick Event action for when the Replay button is clickedchapterScreen:StartTextScreen Load chapter text into UI elements

e = g_pBaldurChitinchapterScreen = e:GetEngineChapter()

4.4 characterScreen Functions

4.4.1 characterScreen:GetTempSmartScriptLocal

characterScreen:GetTempSmartScriptLocal()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:GetTempSmartScriptLocal()

See Also

:ref:, :ref:

4.4.2 characterScreen:IsAppearanceButtonClickable

characterScreen:IsAppearanceButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsAppearanceButtonClickable()

170 Chapter 4. EE Game Lua Functions

Page 175: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

:ref:, :ref:

4.4.3 characterScreen:IsCharacterViewable

characterScreen:IsCharacterViewable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsCharacterViewable()

See Also

:ref:, :ref:

4.4.4 characterScreen:IsDoneButtonClickable

characterScreen:IsDoneButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsDoneButtonClickable()

See Also

:ref:, :ref:

4.4.5 characterScreen:IsDualClassButtonClickable

characterScreen:IsDualClassButtonClickable()

Parameters

• **

4.4. characterScreen Functions 171

Page 176: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

• **

Returns

Notes

Example

characterScreen:IsDualClassButtonClickable()

See Also

:ref:, :ref:

4.4.6 characterScreen:IsExportButtonClickable

characterScreen:IsExportButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsExportButtonClickable()

See Also

:ref:, :ref:

4.4.7 characterScreen:IsInGame

characterScreen:IsInGame()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsInGame()

See Also

:ref:, :ref:

172 Chapter 4. EE Game Lua Functions

Page 177: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.4.8 characterScreen:IsLevelUpButtonClickable

characterScreen:IsLevelUpButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsLevelUpButtonClickable()

See Also

:ref:, :ref:

4.4.9 characterScreen:IsMultiPlayerModifyable

characterScreen:IsMultiPlayerModifyable()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:IsMultiPlayerModifyable()

See Also

:ref:, :ref:

4.4.10 characterScreen:IsReformPartyButtonClickable

characterScreen:IsReformPartyButtonClickable()

Parameters

• **

• **

• **

4.4. characterScreen Functions 173

Page 178: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

characterScreen:IsReformPartyButtonClickable()

See Also

:ref:, :ref:

4.4.11 characterScreen:OnAppearanceButtonClick

characterScreen:OnAppearanceButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnAppearanceButtonClick()

See Also

:ref:, :ref:

4.4.12 characterScreen:OnCancelButtonClick

characterScreen:OnCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnCancelButtonClick()

See Also

:ref:, :ref:

174 Chapter 4. EE Game Lua Functions

Page 179: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.4.13 characterScreen:OnCusomizeBiographyButtonClick

characterScreen:OnCusomizeBiographyButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnCusomizeBiographyButtonClick()

See Also

:ref:, :ref:

4.4.14 characterScreen:OnCustomizeButtonClick

characterScreen:OnCustomizeButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnCustomizeButtonClick()

See Also

:ref:, :ref:

4.4.15 characterScreen:OnDoneButtonClick

characterScreen:OnDoneButtonClick()

Parameters

• **

• **

• **

4.4. characterScreen Functions 175

Page 180: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

characterScreen:OnDoneButtonClick()

See Also

:ref:, :ref:

4.4.16 characterScreen:OnDualClassButtonClick

characterScreen:OnDualClassButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnDualClassButtonClick()

See Also

:ref:, :ref:

4.4.17 characterScreen:OnErrorButtonClick

characterScreen:OnErrorButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnErrorButtonClick()

See Also

:ref:, :ref:

176 Chapter 4. EE Game Lua Functions

Page 181: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.4.18 characterScreen:OnExportButtonClick

characterScreen:OnExportButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnExportButtonClick()

See Also

:ref:, :ref:

4.4.19 characterScreen:OnHairSkinButtonClick

characterScreen:OnHairSkinButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnHairSkinButtonClick()

See Also

:ref:, :ref:

4.4.20 characterScreen:OnLevelUpButtonClick

characterScreen:OnLevelUpButtonClick()

Parameters

• **

• **

• **

4.4. characterScreen Functions 177

Page 182: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

characterScreen:OnLevelUpButtonClick()

See Also

:ref:, :ref:

4.4.21 characterScreen:OnPlayButtonClick

characterScreen:OnPlayButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnPlayButtonClick()

See Also

:ref:, :ref:

4.4.22 characterScreen:OnReformPartyButtonClick

characterScreen:OnReformPartyButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnReformPartyButtonClick()

See Also

:ref:, :ref:

178 Chapter 4. EE Game Lua Functions

Page 183: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.4.23 characterScreen:OnScriptButtonClick

characterScreen:OnScriptButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnScriptButtonClick()

See Also

:ref:, :ref:

4.4.24 characterScreen:OnSoundsButtonClick

characterScreen:OnSoundsButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

characterScreen:OnSoundsButtonClick()

See Also

:ref:, :ref:

4.4.25 characterScreen:SetTempSmartScriptLocal

characterScreen:SetTempSmartScriptLocal()

Parameters

• **

• **

• **

4.4. characterScreen Functions 179

Page 184: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

characterScreen:SetTempSmartScriptLocal()

See Also

:ref:, :ref:

Function DescriptioncharacterScreen:GetTempSmartScriptLocalcharacterScreen:IsAppearanceButtonClickablecharacterScreen:IsCharacterViewablecharacterScreen:IsDoneButtonClickablecharacterScreen:IsDualClassButtonClickablecharacterScreen:IsExportButtonClickablecharacterScreen:IsInGamecharacterScreen:IsLevelUpButtonClickablecharacterScreen:IsMultiPlayerModifyablecharacterScreen:IsReformPartyButtonClickablecharacterScreen:OnAppearanceButtonClickcharacterScreen:OnCancelButtonClickcharacterScreen:OnCusomizeBiographyButtonClickcharacterScreen:OnCustomizeButtonClickcharacterScreen:OnDoneButtonClickcharacterScreen:OnDualClassButtonClickcharacterScreen:OnErrorButtonClickcharacterScreen:OnExportButtonClickcharacterScreen:OnHairSkinButtonClickcharacterScreen:OnLevelUpButtonClickcharacterScreen:OnPlayButtonClickcharacterScreen:OnReformPartyButtonClickcharacterScreen:OnScriptButtonClickcharacterScreen:OnSoundsButtonClickcharacterScreen:SetTempSmartScriptLocal

e = g_pBaldurChitincharacterScreen = e:GetEngineCharacter()

4.5 connectionScreen Functions

4.5.1 connectionScreen:CancelJoinGame

connectionScreen:CancelJoinGame()

Parameters

• **

• **

180 Chapter 4. EE Game Lua Functions

Page 185: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

connectionScreen:CancelJoinGame()

See Also

:ref:, :ref:

4.5.2 connectionScreen:ClearSessions

connectionScreen:ClearSessions()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:ClearSessions()

See Also

:ref:, :ref:

4.5.3 connectionScreen:HasServiceProvider

connectionScreen:HasServiceProvider()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:HasServiceProvider()

See Also

:ref:, :ref:

4.5. connectionScreen Functions 181

Page 186: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.5.4 connectionScreen:IsValidAddress

connectionScreen:IsValidAddress()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:IsValidAddress()

See Also

:ref:, :ref:

4.5.5 connectionScreen:JoinGame

connectionScreen:JoinGame()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:JoinGame()

See Also

:ref:, :ref:

4.5.6 connectionScreen:JoinGameIPAddress

connectionScreen:JoinGameIPAddress()

Parameters

• **

• **

• **

182 Chapter 4. EE Game Lua Functions

Page 187: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

connectionScreen:JoinGameIPAddress()

See Also

:ref:, :ref:

4.5.7 connectionScreen:OnJoinGameButtonClick

connectionScreen:OnJoinGameButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:OnJoinGameButtonClick()

See Also

:ref:, :ref:

4.5.8 connectionScreen:OnLoadGameButtonClick

connectionScreen:OnLoadGameButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:OnLoadGameButtonClick()

See Also

:ref:, :ref:

4.5. connectionScreen Functions 183

Page 188: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.5.9 connectionScreen:OnMainCancelButtonClick

connectionScreen:OnMainCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:OnMainCancelButtonClick()

See Also

:ref:, :ref:

4.5.10 connectionScreen:OnNewGameButtonClick

connectionScreen:OnNewGameButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:OnNewGameButtonClick()

See Also

:ref:, :ref:

4.5.11 connectionScreen:SelectServiceProvider

connectionScreen:SelectServiceProvider()

Parameters

• **

• **

• **

184 Chapter 4. EE Game Lua Functions

Page 189: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

connectionScreen:SelectServiceProvider()

See Also

:ref:, :ref:

4.5.12 connectionScreen:SetPlayerName

connectionScreen:SetPlayerName()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:SetPlayerName()

See Also

:ref:, :ref:

4.5.13 connectionScreen:StopConnectingToProvider

connectionScreen:StopConnectingToProvider()

Parameters

• **

• **

• **

Returns

Notes

Example

connectionScreen:StopConnectingToProvider()

See Also

:ref:, :ref:

4.5. connectionScreen Functions 185

Page 190: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionconnectionScreen:CancelJoinGameconnectionScreen:ClearSessionsconnectionScreen:HasServiceProviderconnectionScreen:IsValidAddressconnectionScreen:JoinGameconnectionScreen:JoinGameIPAddressconnectionScreen:OnJoinGameButtonClickconnectionScreen:OnLoadGameButtonClickconnectionScreen:OnMainCancelButtonClickconnectionScreen:OnNewGameButtonClickconnectionScreen:SelectServiceProviderconnectionScreen:SetPlayerNameconnectionScreen:StopConnectingToProvider

e = g_pBaldurChitinconnectionScreen = e:GetEngineConnection()

4.6 createCharScreen Functions

4.6.1 createCharScreen:AcceptCharacter

createCharScreen:AcceptCharacter()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:AcceptCharacter()

See Also

:ref:, :ref:

4.6.2 createCharScreen:DecCurrentPortrait

createCharScreen:DecCurrentPortrait()

Parameters

• **

• **

186 Chapter 4. EE Game Lua Functions

Page 191: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

createCharScreen:DecCurrentPortrait()

See Also

:ref:, :ref:

4.6.3 createCharScreen:GetCurrentPortrait

createCharScreen:GetCurrentPortrait()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:GetCurrentPortrait()

See Also

:ref:, :ref:

4.6.4 createCharScreen:GetCurrentStep

createCharScreen:GetCurrentStep()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:GetCurrentStep()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 187

Page 192: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.5 createCharScreen:GetEngineState

createCharScreen:GetEngineState()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:GetEngineState()

See Also

:ref:, :ref:

4.6.6 createCharScreen:GetImportState

createCharScreen:GetImportState()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:GetImportState()

See Also

:ref:, :ref:

4.6.7 createCharScreen:GetImportableCharacters

createCharScreen:GetImportableCharacters()

Parameters

• **

• **

• **

188 Chapter 4. EE Game Lua Functions

Page 193: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:GetImportableCharacters()

See Also

:ref:, :ref:

4.6.8 createCharScreen:HasMoreMageLevels

createCharScreen:HasMoreMageLevels()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:HasMoreMageLevels()

See Also

:ref:, :ref:

4.6.9 createCharScreen:IncCurrentPortrait

createCharScreen:IncCurrentPortrait()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IncCurrentPortrait()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 189

Page 194: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.10 createCharScreen:IsAbilityRecallButtonClickable

createCharScreen:IsAbilityRecallButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsAbilityRecallButtonClickable()

See Also

:ref:, :ref:

4.6.11 createCharScreen:IsAdvancedButtonClickable

createCharScreen:IsAdvancedButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsAdvancedButtonClickable()

See Also

:ref:, :ref:

4.6.12 createCharScreen:IsChargenComplete

createCharScreen:IsChargenComplete()

Parameters

• **

• **

• **

190 Chapter 4. EE Game Lua Functions

Page 195: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:IsChargenComplete()

See Also

:ref:, :ref:

4.6.13 createCharScreen:IsDoneButtonClickable

createCharScreen:IsDoneButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsDoneButtonClickable()

See Also

:ref:, :ref:

4.6.14 createCharScreen:IsHighLevelAbilitiesButtonClickable

createCharScreen:IsHighLevelAbilitiesButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsHighLevelAbilitiesButtonClickable()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 191

Page 196: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.15 createCharScreen:IsMainBackButtonClickable

createCharScreen:IsMainBackButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsMainBackButtonClickable()

See Also

:ref:, :ref:

4.6.16 createCharScreen:IsThiefSkillPlusMinusButtonClickable

createCharScreen:IsThiefSkillPlusMinusButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:IsThiefSkillPlusMinusButtonClickable()

See Also

:ref:, :ref:

4.6.17 createCharScreen:OnAbilityPlusMinusButtonClick

createCharScreen:OnAbilityPlusMinusButtonClick()

Parameters

• **

• **

• **

192 Chapter 4. EE Game Lua Functions

Page 197: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnAbilityPlusMinusButtonClick()

See Also

:ref:, :ref:

4.6.18 createCharScreen:OnAbilityReRollButtonClick

createCharScreen:OnAbilityReRollButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnAbilityReRollButtonClick()

See Also

:ref:, :ref:

4.6.19 createCharScreen:OnAbilityRecallButtonClick

createCharScreen:OnAbilityRecallButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnAbilityRecallButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 193

Page 198: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.20 createCharScreen:OnAbilityStoreButtonClick

createCharScreen:OnAbilityStoreButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnAbilityStoreButtonClick()

See Also

:ref:, :ref:

4.6.21 createCharScreen:OnAdvancedButtonClick

createCharScreen:OnAdvancedButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnAdvancedButtonClick()

See Also

:ref:, :ref:

4.6.22 createCharScreen:OnAlignmentSelectButtonClick

createCharScreen:OnAlignmentSelectButtonClick()

Parameters

• **

• **

• **

194 Chapter 4. EE Game Lua Functions

Page 199: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnAlignmentSelectButtonClick()

See Also

:ref:, :ref:

4.6.23 createCharScreen:OnBiographyButtonClick

createCharScreen:OnBiographyButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnBiographyButtonClick()

See Also

:ref:, :ref:

4.6.24 createCharScreen:OnCancelButtonClick

createCharScreen:OnCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnCancelButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 195

Page 200: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.25 createCharScreen:OnCharacterExportItemSelect

createCharScreen:OnCharacterExportItemSelect()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnCharacterExportItemSelect()

See Also

:ref:, :ref:

4.6.26 createCharScreen:OnCheatyMcCheaterson

createCharScreen:OnCheatyMcCheaterson()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnCheatyMcCheaterson()

See Also

C:EnableCheatKeys

4.6.27 createCharScreen:OnClassSelectButtonClick

createCharScreen:OnClassSelectButtonClick()

Parameters

• **

• **

• **

196 Chapter 4. EE Game Lua Functions

Page 201: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnClassSelectButtonClick()

See Also

:ref:, :ref:

4.6.28 createCharScreen:OnDoneButtonClick

createCharScreen:OnDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnDoneButtonClick()

See Also

:ref:, :ref:

4.6.29 createCharScreen:OnGenderSelectButtonClick

createCharScreen:OnGenderSelectButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnGenderSelectButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 197

Page 202: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.30 createCharScreen:OnHLAButtonClick

createCharScreen:OnHLAButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnHLAButtonClick()

See Also

:ref:, :ref:

4.6.31 createCharScreen:OnHighLevelAbilitiesButtonClick

createCharScreen:OnHighLevelAbilitiesButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnHighLevelAbilitiesButtonClick()

See Also

:ref:, :ref:

4.6.32 createCharScreen:OnImportCharacterButtonClick

createCharScreen:OnImportCharacterButtonClick()

Parameters

• **

• **

• **

198 Chapter 4. EE Game Lua Functions

Page 203: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnImportCharacterButtonClick()

See Also

:ref:, :ref:

4.6.33 createCharScreen:OnImportCharacterFileButtonClick

createCharScreen:OnImportCharacterFileButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnImportCharacterFileButtonClick()

See Also

:ref:, :ref:

4.6.34 createCharScreen:OnImportSaveButtonClick

createCharScreen:OnImportSaveButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnImportSaveButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 199

Page 204: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.35 createCharScreen:OnKitSelectButtonClick

createCharScreen:OnKitSelectButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnKitSelectButtonClick()

See Also

:ref:, :ref:

4.6.36 createCharScreen:OnLearnMageSpellButtonClick

createCharScreen:OnLearnMageSpellButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnLearnMageSpellButtonClick()

See Also

:ref:, :ref:

4.6.37 createCharScreen:OnMainBackButtonClick

createCharScreen:OnMainBackButtonClick()

Parameters

• **

• **

• **

200 Chapter 4. EE Game Lua Functions

Page 205: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnMainBackButtonClick()

See Also

:ref:, :ref:

4.6.38 createCharScreen:OnMainCancelButtonClick

createCharScreen:OnMainCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnMainCancelButtonClick()

See Also

:ref:, :ref:

4.6.39 createCharScreen:OnMemorizeMageSpellButtonClick

createCharScreen:OnMemorizeMageSpellButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnMemorizeMageSpellButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 201

Page 206: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.40 createCharScreen:OnMemorizePriestSpellButtonClick

createCharScreen:OnMemorizePriestSpellButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnMemorizePriestSpellButtonClick()

See Also

:ref:, :ref:

4.6.41 createCharScreen:OnMenuButtonClick

createCharScreen:OnMenuButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnMenuButtonClick()

See Also

:ref:, :ref:

4.6.42 createCharScreen:OnPlayButtonClick

createCharScreen:OnPlayButtonClick()

Parameters

• **

• **

• **

202 Chapter 4. EE Game Lua Functions

Page 207: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnPlayButtonClick()

See Also

:ref:, :ref:

4.6.43 createCharScreen:OnPrerollCancelButtonClick

createCharScreen:OnPrerollCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnPrerollCancelButtonClick()

See Also

:ref:, :ref:

4.6.44 createCharScreen:OnPrerollCharacterPick

createCharScreen:OnPrerollCharacterPick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnPrerollCharacterPick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 203

Page 208: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.45 createCharScreen:OnProficiencyPlusMinusButtonClick

createCharScreen:OnProficiencyPlusMinusButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnProficiencyPlusMinusButtonClick()

See Also

:ref:, :ref:

4.6.46 createCharScreen:OnRaceSelectButtonClick

createCharScreen:OnRaceSelectButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnRaceSelectButtonClick()

See Also

:ref:, :ref:

4.6.47 createCharScreen:OnRacialEnemySelectButtonClick

createCharScreen:OnRacialEnemySelectButtonClick()

Parameters

• **

• **

• **

204 Chapter 4. EE Game Lua Functions

Page 209: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:OnRacialEnemySelectButtonClick()

See Also

:ref:, :ref:

4.6.48 createCharScreen:OnSoundItemSelect

createCharScreen:OnSoundItemSelect()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnSoundItemSelect()

See Also

:ref:, :ref:

4.6.49 createCharScreen:OnThiefSkillPlusMinusButtonClick

createCharScreen:OnThiefSkillPlusMinusButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:OnThiefSkillPlusMinusButtonClick()

See Also

:ref:, :ref:

4.6. createCharScreen Functions 205

Page 210: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.6.50 createCharScreen:SetAbilityHelpInfo

Set tokens for ability score information

createCharScreen:SetAbilityHelpInfo(stat)

Parameters

• integer stat - value representing the ability score to set token information for

Returns

None

Notes

Sets ability score tokens <MINIMUM> and <MAXIMUM> for the panel that displays the specifics of each ability score,recommended scores and minimum required scores for specific classes.

Note: The full text and description for the ability score help information is fetched outside of this function. By usingthe Infinity_FetchString function in UI.MENU to fetch a string reference (StrRef) and combining with the ability scoretokens fetched by createCharScreen:SetAbilityHelpInfo, this full text is then output into the help panel.

The stat parameter can be one of the following values, which equate to the ability score to set information for:

Stat Ability1 Strength2 Dexterity3 Constitution4 Intelligence5 Wisdom6 Charisma

Examples

Set ability score help info for Dexterity:

createCharScreen:SetAbilityHelpInfo(2)DexterityAbilityInfo = Infinity_FetchString(9584)

Using a lua function and an array to dynamically set text for ability score information in UI.MENU:

`chargen.ability = {

{name = 'STRENGTH_LABEL', desc = 9582},{name = 'DEXTERITY_LABEL', desc = 9584},{name = 'CONSTITUTION_LABEL', desc = 9583},{name = 'INTELLIGENCE_LABEL', desc = 9585},{name = 'WISDOM_LABEL', desc = 9586},{name = 'CHARISMA_LABEL', desc = 9587},

}

function abilityOrGeneralHelp()ability = chargen.ability[currentChargenAbility]if ability and ability.desc ~= -1 then

createCharScreen:SetAbilityHelpInfo(currentChargenAbility)

(continues on next page)

206 Chapter 4. EE Game Lua Functions

Page 211: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

return Infinity_FetchString(ability.desc)else

return Infinity_FetchString(17247)end

end`

--[[This is a comment. Part of the code is excluded for example purposesLater on the function is used to fetch the ability score descriptionThe ability score description is stored as a ResRef in the array aboveThe text of the UI control is set via the lua abilityOrGeneralHelp

--]]

text{

area 582 196 404 400text lua "abilityOrGeneralHelp()"text style "normal"scrollbar 'GUISCRC'

}

4.6.51 createCharScreen:SetEngineState

createCharScreen:SetEngineState()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:SetEngineState()

See Also

:ref:, :ref:

4.6.52 createCharScreen:SetSpriteId

createCharScreen:SetSpriteId()

Parameters

• **

• **

• **

4.6. createCharScreen Functions 207

Page 212: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

createCharScreen:SetSpriteId()

See Also

:ref:, :ref:

4.6.53 createCharScreen:ShowPortraitPanel

createCharScreen:ShowPortraitPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

createCharScreen:ShowPortraitPanel()

See Also

:ref:, :ref:

Note: The createCharScreen functions are related to the handling of character generation

Function DescriptioncreateCharScreen:AcceptCharactercreateCharScreen:DecCurrentPortrait Decrement the current portrait selection for charactercreateCharScreen:GetCurrentPortrait Returns the current portrait set for the charactercreateCharScreen:GetCurrentStep Returns current stage of the character generationcreateCharScreen:GetEngineState Get the character creation engine statecreateCharScreen:GetImportStatecreateCharScreen:GetImportableCharacters Returns a list of character that can be importedcreateCharScreen:HasMoreMageLevelscreateCharScreen:IncCurrentPortrait Increment the current portrait selected for charactercreateCharScreen:IsAbilityRecallButtonClickable Determines if Recall button is clickablecreateCharScreen:IsAdvancedButtonClickable Determines if Advanced button is clickablecreateCharScreen:IsChargenComplete Determines if character generation is completecreateCharScreen:IsDoneButtonClickable Determines if Done button is clickablecreateCharScreen:IsHighLevelAbilitiesButtonClickable Determines if HLA button is clickablecreateCharScreen:IsMainBackButtonClickable Determines if main screen Back button is clickablecreateCharScreen:IsThiefSkillPlusMinusButtonClickable Determines if Thief + or - buttons are clickable

Continued on next page

208 Chapter 4. EE Game Lua Functions

Page 213: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 3 – continued from previous pagecreateCharScreen:OnAbilityPlusMinusButtonClick Event action when ability + and - buttons clickedcreateCharScreen:OnAbilityReRollButtonClick Event action when Reroll button is clickedcreateCharScreen:OnAbilityRecallButtonClick Event action when Recall button is clickedcreateCharScreen:OnAbilityStoreButtonClick Event action when Store button is clickedcreateCharScreen:OnAdvancedButtonClick Event action when Advanced button is clickedcreateCharScreen:OnAlignmentSelectButtonClick Event action when an alignment is selectedcreateCharScreen:OnBiographyButtonClick Event action when Biography button is clickedcreateCharScreen:OnCancelButtonClick Event action when Cancel button is clickedcreateCharScreen:OnCharacterExportItemSelect Event action when Export Item button is clickedcreateCharScreen:OnCheatyMcCheaterson Event action when CTRL+8 cheat keys are pressedcreateCharScreen:OnClassSelectButtonClick Event action when a class button is selectedcreateCharScreen:OnDoneButtonClick Event action when Done button is clickedcreateCharScreen:OnGenderSelectButtonClick Event action when a gender button is selectedcreateCharScreen:OnHLAButtonClick Event action when HLA button is clickedcreateCharScreen:OnHighLevelAbilitiesButtonClick Event action when a HLA ability button is clickedcreateCharScreen:OnImportCharacterButtonClick Event action when Import Char button is clickedcreateCharScreen:OnImportCharacterFileButtonClick Event action when import file button is clickedcreateCharScreen:OnImportSaveButtonClick Event action when import Save button is clickedcreateCharScreen:OnKitSelectButtonClick Event action when a kit is selectedcreateCharScreen:OnLearnMageSpellButtonClick Event action when a mage learn spell button is clickedcreateCharScreen:OnMainBackButtonClick Event action when main Back button is clickedcreateCharScreen:OnMainCancelButtonClick Event action when main Cancel button is clickedcreateCharScreen:OnMemorizeMageSpellButtonClick Event action when a mage spell button is clickedcreateCharScreen:OnMemorizePriestSpellButtonClick Event action when a priest spell button is clickedcreateCharScreen:OnMenuButtonClick Event action when a menu button is clickedcreateCharScreen:OnPlayButtonClick Event action when Play button is clickedcreateCharScreen:OnPrerollCancelButtonClick Event action when preroll Cancel button is clickedcreateCharScreen:OnPrerollCharacterPick Event action when preroll character is selectedcreateCharScreen:OnProficiencyPlusMinusButtonClick Event action when proficiency + or - button clickedcreateCharScreen:OnRaceSelectButtonClick Event action when a race is selectedcreateCharScreen:OnRacialEnemySelectButtonClick Event action when a hated race is selectedcreateCharScreen:OnSoundItemSelect Event action when a soundset item is selectedcreateCharScreen:OnThiefSkillPlusMinusButtonClick Event action when thief skill + or - button clickedcreateCharScreen:SetAbilityHelpInfo Set tokens for ability score informationcreateCharScreen:SetEngineState Set the character creation engine statecreateCharScreen:SetSpriteId Set the paperdoll and avatar for charactercreateCharScreen:ShowPortraitPanel Show portrait selection panel

e = g_pBaldurChitincreateCharScreen = e:GetEngineCreateChar()

4.7 createPartyScreen Functions

4.7.1 createPartyScreen:OnBackButtonClick

Event action for when the Back button is clicked

createPartyScreen:OnBackButtonClick()

4.7. createPartyScreen Functions 209

Page 214: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

None

Returns

None

Notes

Returns to previous menu when the back button is clicked

Calls the tolua_BaldurLUA_CScreenCreateParty_OnBackButtonClick00 function which calls the CScreenCre-ateParty::OnBackButtonClick method

Example

The back button as defined in UI.MENU:

button{

on escapearea 306 720 204 44bam 'GUIOSTUM'sequence 0text "BACK_BUTTON" -- Backtext style 'button'action"

createPartyScreen:OnBackButtonClick()"

}

See Also

createPartyScreen:OnDoneButtonClick, createPartyScreen:OnCreateDeleteButtonClick, createPar-tyScreen:OnPortraitButtonClick

4.7.2 createPartyScreen:OnCreateDeleteButtonClick

Event action for when the Delete button is clicked

createPartyScreen:OnCreateDeleteButtonClick()

Parameters

• integer Index - 0 based index of created character’s delete button clicked

Returns

None

Notes

The selected character, that has been previously created, is deleted when this button is clicked

Calls the tolua_BaldurLUA_CScreenCreateParty_OnCreateDeleteButtonClick00 function which calls the CScreen-CreateParty::OnCreateDeleteButtonClick method

Example

A delete party member button as defined in UI.MENU:

210 Chapter 4. EE Game Lua Functions

Page 215: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

button{

area 155 452 300 44bam 'GUIOSTCL'sequence 1text lua "partyImport.character[3].createdelete"text style "button"action"

createPartyScreen:OnCreateDeleteButtonClick(2)"

}

See Also

createPartyScreen:OnDoneButtonClick, :createPartyScreen:OnBackButtonClick, createPar-tyScreen:OnPortraitButtonClick

4.7.3 createPartyScreen:OnDoneButtonClick

Event action for when the Done button is clicked

createPartyScreen:OnDoneButtonClick()

Parameters

None

Returns

None

Notes

Finishes the create party process

Calls the tolua_BaldurLUA_CScreenCreateParty_OnDoneButtonClick00 function which calls the CScreenCre-ateParty::OnDoneButtonClick method

Example

createPartyScreen:OnDoneButtonClick()

See Also

createPartyScreen:OnBackButtonClick, createPartyScreen:OnCreateDeleteButtonClick, createPar-tyScreen:OnPortraitButtonClick

4.7.4 createPartyScreen:OnPortraitButtonClick

Event action for when a portrait button is clicked

createPartyScreen:OnPortraitButtonClick(Index)

Parameters

• integer Index - 0 based index of portrait clicked

4.7. createPartyScreen Functions 211

Page 216: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

None

Notes

Selects the character for the portrait that is clicked

Lua arrays use 1 based index when accessing arrays

Calls the tolua_BaldurLUA_CScreenCreateParty_OnPortraitButtonClick00 function which calls the CScreenCre-ateParty::OnPortraitButtonClick method

Example

A portrait button as defined in UI.MENU for the 5th character:

button{

area 561 317 56 86bitmap lua "partyImport.character[5].portrait"clickable lua "partyImport.character[5].name ~= ''"action"

createPartyScreen:OnPortraitButtonClick(4)"

}

See Also

createPartyScreen:OnDoneButtonClick, createPartyScreen:OnBackButtonClick, createPar-tyScreen:OnCreateDeleteButtonClick

Note: The createPartyScreen functions are related to the handling of party and character generation

Function DescriptioncreatePartyScreen:OnBackButtonClick Event action for when the Back button is clickedcreatePartyScreen:OnCreateDeleteButtonClick Event action for when the Delete button is clickedcreatePartyScreen:OnDoneButtonClick Event action for when the Done button is clickedcreatePartyScreen:OnPortraitButtonClick Event action for when a portrait button is clicked

e = g_pBaldurChitincreatePartyScreen = e:GetEngineCreateParty()

4.8 dlcScreen Functions

4.8.1 dlcScreen:DecrementDLCIndex

dlcScreen:DecrementDLCIndex()

Parameters

• **

• **

212 Chapter 4. EE Game Lua Functions

Page 217: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

dlcScreen:DecrementDLCIndex()

See Also

:ref:, :ref:

4.8.2 dlcScreen:GetDLCBought

dlcScreen:GetDLCBought()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCBought()

See Also

:ref:, :ref:

4.8.3 dlcScreen:GetDLCCount

dlcScreen:GetDLCCount()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCCount()

See Also

:ref:, :ref:

4.8. dlcScreen Functions 213

Page 218: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.8.4 dlcScreen:GetDLCDescription

dlcScreen:GetDLCDescription()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCDescription()

See Also

:ref:, :ref:

4.8.5 dlcScreen:GetDLCImage

dlcScreen:GetDLCImage()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCImage()

See Also

:ref:, :ref:

4.8.6 dlcScreen:GetDLCIndex

dlcScreen:GetDLCIndex()

Parameters

• **

• **

• **

214 Chapter 4. EE Game Lua Functions

Page 219: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

dlcScreen:GetDLCIndex()

See Also

:ref:, :ref:

4.8.7 dlcScreen:GetDLCName

dlcScreen:GetDLCName()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCName()

See Also

:ref:, :ref:

4.8.8 dlcScreen:GetDLCState

dlcScreen:GetDLCState()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCState()

See Also

:ref:, :ref:

4.8. dlcScreen Functions 215

Page 220: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.8.9 dlcScreen:GetDLCTitle

dlcScreen:GetDLCTitle()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDLCTitle()

See Also

:ref:, :ref:

4.8.10 dlcScreen:GetDownloadString

dlcScreen:GetDownloadString()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:GetDownloadString()

See Also

:ref:, :ref:

4.8.11 dlcScreen:IncrementDLCIndex

dlcScreen:IncrementDLCIndex()

Parameters

• **

• **

• **

216 Chapter 4. EE Game Lua Functions

Page 221: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

dlcScreen:IncrementDLCIndex()

See Also

:ref:, :ref:

4.8.12 dlcScreen:OnBuyButtonClick

dlcScreen:OnBuyButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:OnBuyButtonClick()

See Also

:ref:, :ref:

4.8.13 dlcScreen:OnDoneButtonClick

dlcScreen:OnDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:OnDoneButtonClick()

See Also

:ref:, :ref:

4.8. dlcScreen Functions 217

Page 222: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.8.14 dlcScreen:OnErrorButtonClick

dlcScreen:OnErrorButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:OnErrorButtonClick()

See Also

:ref:, :ref:

4.8.15 dlcScreen:RestorePurchases

dlcScreen:RestorePurchases()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:RestorePurchases()

See Also

:ref:, :ref:

4.8.16 dlcScreen:SetDLCIndex

dlcScreen:SetDLCIndex()

Parameters

• **

• **

• **

218 Chapter 4. EE Game Lua Functions

Page 223: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

dlcScreen:SetDLCIndex()

See Also

:ref:, :ref:

4.8.17 dlcScreen:UpdateDLCState

dlcScreen:UpdateDLCState()

Parameters

• **

• **

• **

Returns

Notes

Example

dlcScreen:UpdateDLCState()

See Also

:ref:, :ref:

Function DescriptiondlcScreen:DecrementDLCIndexdlcScreen:GetDLCBoughtdlcScreen:GetDLCCountdlcScreen:GetDLCDescriptiondlcScreen:GetDLCImagedlcScreen:GetDLCIndexdlcScreen:GetDLCNamedlcScreen:GetDLCStatedlcScreen:GetDLCTitledlcScreen:GetDownloadStringdlcScreen:IncrementDLCIndexdlcScreen:OnBuyButtonClickdlcScreen:OnDoneButtonClickdlcScreen:OnErrorButtonClickdlcScreen:RestorePurchasesdlcScreen:SetDLCIndexdlcScreen:UpdateDLCState

e = g_pBaldurChitindlcScreen = e:GetEngineDLC()

4.8. dlcScreen Functions 219

Page 224: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9 e Functions

4.9.1 e:CheckGUISong

e:CheckGUISong()

Parameters

• **

• **

• **

Returns

Notes

Example

e:CheckGUISong()

See Also

:ref:, :ref:

4.9.2 e:FullScreen

e:FullScreen()

Parameters

• **

• **

• **

Returns

Notes

Example

e:FullScreen()

See Also

:ref:, :ref:

4.9.3 e:GetActiveEngine

e:GetActiveEngine()

Parameters

• **

• **

220 Chapter 4. EE Game Lua Functions

Page 225: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

e:GetActiveEngine()

See Also

:ref:, :ref:

4.9.4 e:GetEngineChapter

e:GetEngineChapter()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineChapter()

See Also

:ref:, :ref:

4.9.5 e:GetEngineCharacter

e:GetEngineCharacter()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineCharacter()

See Also

:ref:, :ref:

4.9. e Functions 221

Page 226: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.6 e:GetEngineConnection

e:GetEngineConnection()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineConnection()

See Also

:ref:, :ref:

4.9.7 e:GetEngineCreateChar

e:GetEngineCreateChar()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineCreateChar()

See Also

:ref:, :ref:

4.9.8 e:GetEngineCreateParty

e:GetEngineCreateParty()

Parameters

• **

• **

• **

222 Chapter 4. EE Game Lua Functions

Page 227: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

e:GetEngineCreateParty()

See Also

:ref:, :ref:

4.9.9 e:GetEngineDLC

e:GetEngineDLC()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineDLC()

See Also

:ref:, :ref:

4.9.10 e:GetEngineInventory

e:GetEngineInventory()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineInventory()

See Also

:ref:, :ref:

4.9. e Functions 223

Page 228: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.11 e:GetEngineJournal

e:GetEngineJournal()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineJournal()

See Also

:ref:, :ref:

4.9.12 e:GetEngineLoad

e:GetEngineLoad()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineLoad()

See Also

:ref:, :ref:

4.9.13 e:GetEngineMap

e:GetEngineMap()

Parameters

• **

• **

• **

224 Chapter 4. EE Game Lua Functions

Page 229: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

e:GetEngineMap()

See Also

:ref:, :ref:

4.9.14 e:GetEngineMovies

e:GetEngineMovies()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineMovies()

See Also

:ref:, :ref:

4.9.15 e:GetEngineMultiPlayer

e:GetEngineMultiPlayer()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineMultiPlayer()

See Also

:ref:, :ref:

4.9. e Functions 225

Page 230: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.16 e:GetEngineOptions

e:GetEngineOptions()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineOptions()

See Also

:ref:, :ref:

4.9.17 e:GetEnginePriestSpell

e:GetEnginePriestSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEnginePriestSpell()

See Also

:ref:, :ref:

4.9.18 e:GetEngineProjector

e:GetEngineProjector()

Parameters

• **

• **

• **

226 Chapter 4. EE Game Lua Functions

Page 231: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

e:GetEngineProjector()

See Also

:ref:, :ref:

4.9.19 e:GetEngineSave

e:GetEngineSave()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineSave()

See Also

:ref:, :ref:

4.9.20 e:GetEngineStart

e:GetEngineStart()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineStart()

See Also

:ref:, :ref:

4.9. e Functions 227

Page 232: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.21 e:GetEngineStore

e:GetEngineStore()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineStore()

See Also

:ref:, :ref:

4.9.22 e:GetEngineWizSpell

e:GetEngineWizSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineWizSpell()

See Also

:ref:, :ref:

4.9.23 e:GetEngineWorld

e:GetEngineWorld()

Parameters

• **

• **

• **

228 Chapter 4. EE Game Lua Functions

Page 233: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

e:GetEngineWorld()

See Also

:ref:, :ref:

4.9.24 e:GetEngineWorldMap

e:GetEngineWorldMap()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetEngineWorldMap()

See Also

:ref:, :ref:

4.9.25 e:GetObjectGame

e:GetObjectGame()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetObjectGame()

See Also

:ref:, :ref:

4.9. e Functions 229

Page 234: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.26 e:GetSoundMixer

e:GetSoundMixer()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetSoundMixer()

See Also

:ref:, :ref:

4.9.27 e:GetVersionString

e:GetVersionString()

Parameters

• **

• **

• **

Returns

Notes

Example

e:GetVersionString()

See Also

:ref:, :ref:

4.9.28 e:IsAndroid

e:IsAndroid()

Parameters

• **

• **

• **

230 Chapter 4. EE Game Lua Functions

Page 235: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

e:IsAndroid()

See Also

:ref:, :ref:

4.9.29 e:IsIOS

e:IsIOS()

Parameters

• **

• **

• **

Returns

Notes

Example

e:IsIOS()

See Also

:ref:, :ref:

4.9.30 e:IsTouchUI

e:IsTouchUI()

Parameters

• **

• **

• **

Returns

Notes

Example

e:IsTouchUI()

See Also

:ref:, :ref:

4.9. e Functions 231

Page 236: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.9.31 e:SelectEngine

e:SelectEngine()

Parameters

• **

• **

• **

Returns

Notes

Example

e:SelectEngine()

See Also

:ref:, :ref:

4.9.32 e:SetDisableBrightest

e:SetDisableBrightest()

Parameters

• **

• **

• **

Returns

Notes

Example

e:SetDisableBrightest()

See Also

:ref:, :ref:

Note: g_pBaldurChitin (CBaldurChitin) functions are accessed via the e: prefix

Function Descriptione:CheckGUISonge:FullScreene:GetActiveEnginee:GetEngineChaptere:GetEngineCharactere:GetEngineConnection

Continued on next page

232 Chapter 4. EE Game Lua Functions

Page 237: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 4 – continued from previous pagee:GetEngineCreateChare:GetEngineCreatePartye:GetEngineDLCe:GetEngineInventorye:GetEngineJournale:GetEngineLoade:GetEngineMape:GetEngineMoviese:GetEngineMultiPlayere:GetEngineOptionse:GetEnginePriestSpelle:GetEngineProjectore:GetEngineSavee:GetEngineStarte:GetEngineStoree:GetEngineWizSpelle:GetEngineWorlde:GetEngineWorldMape:GetObjectGamee:GetSoundMixere:GetVersionStringe:IsAndroide:IsIOSe:IsTouchUIe:SelectEnginee:SetDisableBrightest

e = g_pBaldurChitin

4.10 game Functions

4.10.1 game:CenterOnGroupLeader

game:CenterOnGroupLeader()

Parameters

• **

• **

• **

Returns

Notes

Example

game:CenterOnGroupLeader()

See Also

4.10. game Functions 233

Page 238: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

:ref:, :ref:

4.10.2 game:GetButtonArray

game:GetButtonArray()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetButtonArray()

See Also

:ref:, :ref:

4.10.3 game:GetCharacterOverflowCount

game:GetCharacterOverflowCount()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetCharacterOverflowCount()

See Also

:ref:, :ref:

4.10.4 game:GetJournalOpenable

game:GetJournalOpenable()

Parameters

• **

• **

234 Chapter 4. EE Game Lua Functions

Page 239: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

game:GetJournalOpenable()

See Also

:ref:, :ref:

4.10.5 game:GetMissionPackInfo

game:GetMissionPackInfo()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetMissionPackInfo()

See Also

:ref:, :ref:

4.10.6 game:GetMissionPackInfo25

game:GetMissionPackInfo25()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetMissionPackInfo25()

See Also

:ref:, :ref:

4.10. game Functions 235

Page 240: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.10.7 game:GetMissionPackInfoTBP

game:GetMissionPackInfoTBP()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetMissionPackInfoTBP()

See Also

:ref:, :ref:

4.10.8 game:GetOptions

game:GetOptions()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetOptions()

See Also

:ref:, :ref:

4.10.9 game:GetPaletteSize

game:GetPaletteSize()

Parameters

• **

• **

• **

236 Chapter 4. EE Game Lua Functions

Page 241: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

game:GetPaletteSize()

See Also

:ref:, :ref:

4.10.10 game:GetPartyAI

game:GetPartyAI()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetPartyAI()

See Also

:ref:, :ref:

4.10.11 game:GetPartyGold

game:GetPartyGold()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetPartyGold()

See Also

:ref:, :ref:

4.10. game Functions 237

Page 242: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.10.12 game:GetWorldTimer

game:GetWorldTimer()

Parameters

• **

• **

• **

Returns

Notes

Example

game:GetWorldTimer()

See Also

:ref:, :ref:

4.10.13 game:IsClient

game:IsClient()

Parameters

• **

• **

• **

Returns

Notes

Example

game:IsClient()

See Also

:ref:, :ref:

4.10.14 game:RestParty

game:RestParty()

Parameters

• **

• **

• **

238 Chapter 4. EE Game Lua Functions

Page 243: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

game:RestParty()

See Also

:ref:, :ref:

4.10.15 game:SelectAll

game:SelectAll()

Parameters

• **

• **

• **

Returns

Notes

Example

game:SelectAll()

See Also

:ref:, :ref:

4.10.16 game:SetCampaign

game:SetCampaign()

Parameters

• **

• **

• **

Returns

Notes

Example

game:SetCampaign()

See Also

:ref:, :ref:

4.10. game Functions 239

Page 244: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.10.17 game:ToggleAI

game:ToggleAI()

Parameters

• **

• **

• **

Returns

Notes

Example

game:ToggleAI()

See Also

:ref:, :ref:

Function Descriptiongame:CenterOnGroupLeadergame:GetButtonArraygame:GetCharacterOverflowCountgame:GetJournalOpenablegame:GetMissionPackInfogame:GetMissionPackInfo25game:GetMissionPackInfoTBPgame:GetOptionsgame:GetPaletteSizegame:GetPartyAIgame:GetPartyGoldgame:GetWorldTimergame:IsClientgame:RestPartygame:SelectAllgame:SetCampaigngame:ToggleAI

e = g_pBaldurChitingame = e:GetObjectGame()

4.11 Infinity Functions

A list of all Infinity_XXX() lua functions found by scanning game executables and the various lua and menu files.

“I’ve tried to compile a list of all Infinity_XXX() function I could find by scanning game executables andthe various lua and menu files, but there are still many unknown or unclear parameters and return values.There are no function descriptions either, but many function names are (more or less) self-explanatory.”

—argent77

240 Chapter 4. EE Game Lua Functions

Page 245: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionInfinity_ActivateInventory Opens and activates the inventory screen and updates stats for the characterInfinity_ActivateRecord Opens and activates the level up dialogInfinity_AddDLC Add DLC to gameInfinity_AddDLCContent Add DLC content to gameInfinity_CanCloudSave Determines if cloud saves are supported by the platformInfinity_CanLevelUp Determines if the specified character can level upInfinity_ChangeOption Set the value of an option in a panelInfinity_CheckItemIdentify Checks lore skill for identifying an item in an inventory slotInfinity_ClickItemInfinity_ClickObjectInWorld Clicks the ground at the location of the object in the worldInfinity_ClickScreen Clicks the center of the viewscreenInfinity_ClickWorldAt Clicks the ground at the specified coordinates, relative to the viewscreenInfinity_CloseEngine Close active engine - unknownInfinity_DestroyAnimation Remove UI items that match the specified template nameInfinity_DisplayString Displays to the screen the passed content as a stringInfinity_DoFile Loads and executes the lua file specifiedInfinity_EnterEdit Enters new text into a UI edit controlInfinity_FetchString Returns the string for the string reference id specifiedInfinity_FindItemWithBam Find a UI control that has the specified bam resource referenceInfinity_FindItemWithText Find a UI control that has the specified textInfinity_FindUIItemByName Find a UI item by the name specifiedInfinity_FocusTextEdit Set the keyboard focus to the specified text edit contolInfinity_GetArea Returns the bounding rectangle (area) for the specified UI Control nameInfinity_GetClockTicks Returns the clock tick count in millisecondsInfinity_GetContainerItemDescription Updates the description of an item from a specified slot in a containerInfinity_GetContentHeight Returns the height of the text content in a UI controlInfinity_GetCurrentGroundPage Returns the current page number of the ground inventory slotsInfinity_GetCurrentMovie Returns the current movieInfinity_GetCurrentScreenName Returns current menu nameInfinity_GetFilesOfType Returns a list of files that match the specified file extensionInfinity_GetFrameCounter Returns frame counterInfinity_GetGameTicks Returns game ticksInfinity_GetGroundItemDescriptionInfinity_GetGroupItemDescriptionInfinity_GetInCutsceneModeInfinity_GetINIString Returns a string containing an ini section key valueInfinity_GetINIValue Returns an integer value containing an ini section key valueInfinity_GetListHeight Returns the height of the sepcified UI List controlInfinity_GetMaxChapterPage Returns the chapter number that the game campaign is at currentlyInfinity_GetMaxGroundPage Returns maximum ground pagesInfinity_GetMenuArea Returns the bounding rectangle (area) for the specified UI Menu nameInfinity_GetMenuItemByName Returns the UI menu item that has the specified nameInfinity_GetMousePosition Returns mouse positionInfinity_GetNumCharacters Returns total number of characters currently in the partyInfinity_GetOffset Get the position of a menu on the screenInfinity_GetOption Get the value of an option in a panelInfinity_GetPasswordRequired Updates the passwordReq lua variable with the password requirementInfinity_GetPortraitTooltip Returns a string containing the tooltip for a specified portrait indexInfinity_GetScreenSize Returns the width and height of the screen

Continued on next page

4.11. Infinity Functions 241

Page 246: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous pageInfinity_GetScriptVarInt Returns the value of a script variable as an integerInfinity_GetScrollIdentifyEnabled Determines if the specified item requires identification, and can be identified via a scrollInfinity_GetSelectedCharacterName Returns a string containing the currently selected character’s nameInfinity_GetSpellIdentifyEnabled Determines if the specified item requires identification, and can be identified via a spellInfinity_GetTimeString Returns a formatted date and time stringInfinity_GetTransitionInProgress Returns the transition valueInfinity_GetUseButtonText Returns “Use x” button text of an item name for an item specifiedInfinity_GooglePlaySignedIn Determines if signed into Google PlayInfinity_HighlightJournalButton Unknown purpose, returns falseInfinity_HoverMouseOver Moves where your mouse cursor is in the game worldInfinity_HoverMouseOverObject Activate AI script file for object that mouse is hovering overInfinity_InstanceAnimation Creates a temporary single instance animation of a bamInfinity_IsItemEnabledInfinity_IsMenuOnStackInfinity_IsPlayerMovingInfinity_JoinMultiplayerGameInfinity_LaunchURLInfinity_LevelUp Opens level up dialogInfinity_LogInfinity_LookAtObjectInWorldInfinity_LuaConsoleInputInfinity_OnAddUserEntryInfinity_OnCharacterImportItemSelectInfinity_OnCharacterItemSelectInfinity_OnEditUserEntryInfinity_OnGroundPageInfinity_OnPortraitDblClickInfinity_OnPortraitItemSelectInfinity_OnPortraitLClickInfinity_OnPortraitRClickInfinity_OnRemoveUserEntryInfinity_OnRestInfinity_OnScriptItemSelectInfinity_OnScrollIdentifyInfinity_OnSoundItemSelectInfinity_OnSpellIdentifyInfinity_OnUseButtonClickInfinity_OpenInventoryContainerInfinity_PlayMovieInfinity_PlaySoundInfinity_PopMenuInfinity_PressKeyboardButtonInfinity_PushMenuInfinity_RandomNumberInfinity_RemoveINIEntryInfinity_RequestMultiplayerGameDetailsInfinity_ScaleToTextInfinity_ScrollListsInfinity_SelectDialogueOptionInfinity_SelectItemAbility

Continued on next page

242 Chapter 4. EE Game Lua Functions

Page 247: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous pageInfinity_SelectListItemInfinity_SendChatMessageInfinity_SetAreaInfinity_SetBackgroundInfinity_SetCloudEnabledInfinity_SetGooglePlaySigninStateInfinity_SetHairColorInfinity_SetHighlightColors Set a color or color gradient for UI elements in the options dialogsInfinity_SetINIValue Sets a value of an ini section keyInfinity_SetKeyInfinity_SetLanguageInfinity_SetMajorColorInfinity_SetMinorColorInfinity_SetOffsetInfinity_SetOverlayInfinity_SetScreenSizeInfinity_SetScrollTopInfinity_SetSkinColorInfinity_SetTokenInfinity_ShutdownGameInfinity_SignInOutButtonEnabledInfinity_SplitItemStackInfinity_StartItemCaptureInfinity_StartKeybindInfinity_StopItemCaptureInfinity_StopKeybindInfinity_StopMovieInfinity_SwapSlotInfinity_SwapWithAppearanceInfinity_SwapWithPortraitInfinity_TakeScreenshotInfinity_TextEditHasFocusInfinity_TransitionMenuInfinity_UpdateCharacterRecordExportPanelInfinity_UpdateCloudSaveStateInfinity_UpdateInventoryRequesterPanelInfinity_UpdateLuaStatsInfinity_UpdateStoreMainPanelInfinity_UpdateStoreRequesterPanelInfinity_WriteINILine

4.11.1 Infinity_ActivateInventory

Opens and activates the inventory screen and updates stats for the character

Infinity_ActivateInventory()

Notes

4.11. Infinity Functions 243

Page 248: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Calls CScreenInventory::ResetGroundPile and CScreenInventory::UpdateLua, which in turn calls CGame-Sprite::UpdateLuaStats

Updates ability scores, stats, skills, equiptment, paperdoll and items for display in the inventory screen for the currentcharacter

Example

Infinity_ActivateInventory()

4.11.2 Infinity_ActivateRecord

Opens and activates the level up dialog

Infinity_ActivateRecord(index)

Parameters

• integer index - 0 based index of the character to level up

Notes

Calls CScreenCharacter::OnLevelUpButtonClick to open and activate the level up dialog

Example

Enables the level up button if character 5 (index 4) can level up, and on clicking the enabled button, the action opensthe level up dialog via Infinity_ActivateRecord:

button{

enabled "Infinity_CanLevelUp(4)"bam GUIOSWarea 0 382 44 44sequence 0action "Infinity_ActivateRecord(4)"pulse 1

}

4.11.3 Infinity_AddDLC

Add DLC to game

Infinity_AddDLC(name,image,title,description,ios_name,purchased,android_name)

Parameters

• string name - text or ResRef ?

• string image - DLC image - ResRef to image ?

• integer title - long pointer to string or StrRef ?

• integer description - long pointer to string or StrRef ?

• string ios_name - text or ResRef ?

244 Chapter 4. EE Game Lua Functions

Page 249: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• integer purchased - date time stamp ?

• string android_name - text or ResRef ?

Notes

Fills in a CDLC structure from the parameters passed and calls the DLCInsert function, which is defined as:

void __cdecl DLCInsert(CDLC toInsert);

Only available on ios or android builds ?

See also Infinity_AddDLCContent

Example

No known example

4.11.4 Infinity_AddDLCContent

Add DLC content to game

Infinity_AddDLCContent(name,dlc_id)

Parameters

• string name - text or ResRef ?

• integer dlc_id - dlc id

Notes

Fills in a CDLC_Content structure from the parameters passed and calls the DLCInsertContent function, which isdefined as:

void __cdecl DLCInsertContent(CDLC_Content toInsert);

Only available on ios or android builds ?

See also Infinity_AddDLC

Example

No known example

4.11.5 Infinity_CanCloudSave

Determines if cloud saves are supported by the platform, for example Steam.

Infinity_CanCloudSave()

Return Value

Returns a boolean value: true if cloud saves are supported on the platform or false otherwise

Notes

4.11. Infinity Functions 245

Page 250: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Calls CPlatform::IsPlatformServiceConnected and reads CBaldurChitin.m_cChitin => CChitin.cSteam =>CSteam.m_isSteamConnected

Example

if Infinity_CanCloudSave() == false and (toggleTitles[1][3] == 60 or→˓toggleTitles[2][3] == 60) then

removeOptionFromList(toggleTitles,60)end

4.11.6 Infinity_CanLevelUp

Determines if the specified character can level up - has enough experience points to qualify for a level up.

Infinity_CanLevelUp(index)

Parameters

• integer index - 0 based index of the character to check if level up is available for

Return Value

Returns a boolean value: true if character can level up or false otherwise

Notes

Example

Enables the level up button if character 5 (index 4) can level up, and on clicking the enabled button, the action opensthe level up dialog via Infinity_ActivateRecord:

button{

enabled "Infinity_CanLevelUp(4)"bam GUIOSWarea 0 382 44 44sequence 0action "Infinity_ActivateRecord(4)"pulse 1

}

4.11.7 Infinity_ChangeOption

Set the value of an option in a panel

Infinity_ChangeOption(option_id,value,panel_id)

Parameters

• integer option_id - id of the option to set

• integer value - value to set the option to

• integer panel_id - id of the panel

246 Chapter 4. EE Game Lua Functions

Page 251: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Calls CGameOptions::SetOption

Example

Get the value of option id 1 in panel id 8 (panelID = 8) to a variable ttDelaySLDR and then set option id 1 inpanel id 8 (panelID = 8) to the value of the ttDelaySLDR variable

panelID = 8ttDelaySLDR = Infinity_GetOption(1, panelID)Infinity_ChangeOption( 1, ttDelaySLDR, panelID)

See also Infinity_GetOption

4.11.8 Infinity_CheckItemIdentify

Checks lore skill for identifying an item in an inventory slot

Infinity_CheckItemIdentify(nSlot)

Parameters

• integer nSlot - slot number that item occupies

Notes

Calls the CScreenInventory::CheckItemIdentify method.

If character has a high enough lore skill value then the item specified in the inventory slot nSlot is identified, the item’sname and description is updated in the inventory slot and in any quick slot buttons that it currently occupies.

Example

function showItemDescriptionInventory(slotName)if(characters[id].equipment[slotName].empty ~= 0) then

returnend

selectedSlot = slotName

Infinity_CheckItemIdentify(characters[id].equipment[slotName].id)showItemDescription(characters[id].equipment[slotName].item, 0)

end

4.11.9 Infinity_ClickItem

Infinity_ClickItem(???)

Parameters

???

Return Value

???

4.11. Infinity Functions 247

Page 252: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Example

4.11.10 Infinity_ClickObjectInWorld

Clicks the ground at the location of the object in the world

Infinity_ClickObjectInWorld(ScriptName)

Parameters

• string ScriptName - name of the script (for the object) to click the ground at

Return Value

None

Notes

Example

Click the ground at MINSC.BS:

Infinity_ClickObjectInWorld("Minsc")

4.11.11 Infinity_ClickScreen

Clicks the center of the viewscreen

Infinity_ClickScreen()

Parameters

None

Return Value

None

Example

Infinity_ClickScreen()

4.11.12 Infinity_ClickWorldAt

Clicks the ground at the specified coordinates, relative to the viewscreen

Infinity_ClickWorldAt(x,y)

Parameters

• integer x - x coordinate to click world at

248 Chapter 4. EE Game Lua Functions

Page 253: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• integer y - y coordinate to click world at

Return Value

None

Notes

“Appears entirely broken. It seems to always click the top-left of the current viewscreen”

—Bubb

If your mouse cursor is not in the world (such as on the ActionBar or on a SideBar), it clicks on the world coordinatesat 0, 0

If you don’t include Infinity_HoverMouseOver before Infinity_ClickWorldAt, it will click at world coordinates 0, 0 byassuming your cursor is over the interface.

You can force a click in the game world like so:

Infinity_HoverMouseOver(x,y)Infinity_ClickWorldAt(x,y)

Example

Infinity_ClickWorldAt(100,200)

4.11.13 Infinity_CloseEngine

Close active engine - unknown

Infinity_CloseEngine()

Parameters

None

Return Value

None

Notes

• Reads CBaldurChitin.m_pEngineJournal => CScreenJournal*

• Pushes CBaldurChitin.m_pEngineWorld => CScreenWorld*

• Reads CScreenJournal.m_cBaldurEngine => CBaldurEngine.m_cWarp => CWarp.m_cObject => COb-ject.vfptr

• Calls CObject.vfptr + 0x28 = CWarp::EngineDeactivated ?

Unknown as to the purpose of this function - best leave it alone.

Example

No known examples

4.11. Infinity Functions 249

Page 254: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.14 Infinity_DestroyAnimation

Remove and free memory for the UI items that match the template name and instance id specified

Infinity_DestroyAnimation(instanceId,templateName)

Parameters

• integer instanceId - instance id

• string templateName - name of the template to remove

Return Value

None

Notes

Calls uiRemoveFromTemplate function, defined as:

void __cdecl uiRemoveFromTemplate(CString sTemplate, int id);

Example

No known examples

4.11.15 Infinity_DisplayString

Displays to the screen the passed content as a string

Infinity_DisplayString(...)

Parameters

• . . . - special, see notes

Return Value

None

Notes

Similar to printf function, this function can accept a variable amount of parameters. Each parameter passed is evalu-ated, converted to a string if necessary and concatenated to form the final string to display on the screen.

Parameters that are:

• Integers - converted to a string.

• Variables - evaluated and the value of the variable is taken and converted to a string.

• Functions - evaluated and the result used in other nested functions and/or evaluated to a string.

Paramters supports simple math and other lua functions.

You can inline concatenate strings and variables by using .. between the string and variable and/or the next parameter,for example the class variable is concatenated to the string:

Infinity_DisplayString("WARNING: unrecognized class argument: " .. class)

250 Chapter 4. EE Game Lua Functions

Page 255: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Examples

Display to screen using inline concatenate using 2 parameters, both using a string and a variable to evaluate:

Infinity_DisplayString("config: "..config..", state: "..state)

Display to screen the result of simple math: (result is displayed as 20000001):

Infinity_DisplayString(20000000 + 1)

4.11.16 Infinity_DoFile

Loads and executes the lua file specified

Infinity_DoFile(filename)

Parameters

• filename - full filepath to lua filename to load and process

Notes

The includes.lua file used by the game engine uses Infinity_DoFile to setup the lua environement for the UI.MENU and provides support for running any lua file that begins with M_ found in the games override folder. TheM_ lua files are designated for modders.

Example

Load and execute the lua file: MyLuaFile.lua:

Infinity_DoFile("MyLuaFile")

4.11.17 Infinity_EnterEdit

Enters new text into a UI edit control

Infinity_EnterEdit(newText,oldText)

Parameters

• string newText - string containing the new text content

• string oldText - string containing the old text content to replace

Return Value

None

Notes

Searches through all UI edit controls looking for one that has a string containing oldText and replaces it with thenewText string.

Reads uiItem.edit => uiItem::edit.var to compare against oldText, if it matches then it is replaced with newText

Not tested or verified

Example

4.11. Infinity Functions 251

Page 256: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_EnterEdit("New text to replace","This is a test")

4.11.18 Infinity_FetchString

Returns the string for the string reference id specified

Infinity_FetchString(StrRef)

Parameters

• integer StrRef - the string reference (StrRef) id to fetch

Return Value

Returns the string for the StrRef id specified in the StrRef parameter

Notes

Calls the CTlkTable::Fetch method to fetch the StrRef string into a STR_RES structure and pushes STR_RES.szText=> CString.m_pchData onto the lua stack.

Example

Returns the string for StrRef 38848 (“Greetings, good customer. A pearl to you.”):

pearl = Infinity_FetchString(38848)

4.11.19 Infinity_FindItemWithBam

Find a UI control that has the specified bam resource reference

Infinity_FindItemWithBam(BamResRef,Sequence)

Parameters

• string - BamResRef - the resource reference (ResRef) to search for that matches an existing UI control’s bamResRef

• integer - Sequence - the bam sequence to match as well (optional)

Return Value

Returns userdata version of the item (a pointer to the uiItem structure of the matched UI control or a lua NIL)

See notes for further details.

Notes

Searches through all UI controls from the main stack menu and linked list of UI controls:

• Reads uiMenu.items for an array of pointers. Each pointer in the array is a uiItem structure.

• Reads offset 0x98: uiItem.bam => uiItem::bam.resref

• If the uiItem::bam.resref field is 0 then the process looks for next uiItem in the linked list to process: readsuiItem.next field (offset 0x22C) and repeats the same step above by reading the uiItem::bam.resref field. If theuiItem.next field is 0 then the next pointer in the array of pointers from uiMenu.items is read and repeats thesame step above by reading the uiItem::bam.resref field.

252 Chapter 4. EE Game Lua Functions

Page 257: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• If the uiItem::bam.resref field is not 0 then it converts the field value (a uiVariant type field) to a string. Thisstring is a ResRef. This is then used in comparison with the BamResRef ResRef string parameter.

• If the ResRef strings compared match, and the Sequence parameter is not specified, then the pointer the uiItemstructure of the currently matched UI control, is pushed onto the lua stack and the function exits.

• If the ResRef strings compared match, and the Sequence parameter is specified and matches the value in theuiItem::bam.sequence field, then the pointer to the uiItem structure of the currently matched UI control, ispushed onto the lua stack and the function exits.

• If the ResRef strings compared match, and the Sequence parameter does not match the value in the ui-Item::bam.sequence field, then the uiItem.slot => uiItem::slot.icon field (a uiVariant type) is read, the valueconverted to a ResRef string and compared to the BamResRef string parameter. If this comparison matchesthen the pointer to the uiItem structure of the currently matched UI control, is pushed onto the lua stack and thefunction exits.

• If the ResRef strings compared do not match, then the uiItem.slot => uiItem::slot.icon field (a uiVariant type) isread, the value converted to a ResRef string and compared to the BamResRef string parameter. If this comparisonmatches then the pointer to the uiItem structure of the currently matched UI control, is pushed onto the lua stackand the function exits.

• If the ResRef strings compared do not match, and there is a valid uiItem.next then the search and comparisonprocess continues.

• If the ResRef strings compared do not match, and there is a no valid uiItem.next, but there is another pointer inarray of pointers found at uiMenu.items then the search and comparison process continues.

• If the ResRef strings compared do not match and there are no more uiItem (via uiItem.next or uiMenu.items)then a lua nil is pushed to the lua stack and the function exits.

It is unknown how to exactly use this function as there are no known examples.

Example

Find the UI control that uses sequence 3 of GUIOSTLM.BAM (which is the reform party button)

reformpartycontrol = Infinity_FindItemWithBam("GUIOSTLM",3)

4.11.20 Infinity_FindItemWithText

Find a UI control that has the specified text

Infinity_FindItemWithText(OriginalText)

Parameters

• string OriginalText - the text to search for that matches an existing UI control’s text

Return Value

Returns userdata version of the item (a pointer to the uiItem structure of the matched UI control or a lua NIL)

See notes for further details.

Notes

Searches through all UI controls from the main stack menu and linked list of UI controls:

• Reads uiMenu.items for an array of pointers. Each pointer in the array is a uiItem structure.

4.11. Infinity Functions 253

Page 258: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• Reads 140 bytes of the uiItem structure into a local buffer and checks offset 0x70 of the local buffer, whichcorresponds to the uiItem.text => uiItem::text.text field.

• If the uiItem::text.text field is 0 then the process looks for next uiItem in the linked list to process: readsuiItem.next field (offset 0x22C) and repeats the same step above by reading the uiItem::text.text field. If theuiItem.next field is 0 then the next pointer in the array of pointers from uiMenu.items is read and repeats thesame step above by reading the uiItem::text.text field.

• If the uiItem::text.text field is not 0 then it converts the field value (a uiVariant type field) to an integer. Thisinteger is a string reference (StrRef) id from the TLK table. The (StrRef) string is loaded into a buffer and thisis then used in comparison with the OriginalText string parameter.

• If the strings compared match, then the pointer to the uiItem structure of the currently matched UI control, ispushed onto the lua stack and the function exits.

• If the strings compared do not match, and there is a valid uiItem.next then the search and comparison processcontinues.

• If the strings compared do not match, and there is a no valid uiItem.next, but there is another pointer in array ofpointers found at uiMenu.items then the search and comparison process continues.

• If the strings compared do not match and there are no more uiItem (via uiItem.next or uiMenu.items) then a luanil is pushed to the lua stack and the function exits.

It is unknown how to exactly use this function as there are no known examples.

Example

--]Find the text control that has "Hello"--[

hellocontrol = Infinity_FindItemWithText("Hello")

4.11.21 Infinity_FindUIItemByName

Find a UI item by the name specified

Infinity_FindUIItemByName(UIItemName)

Parameters

• string UIItemName - name of the UI item to find

Return Value

Returns a pointer to a UI item

Notes

Returns the pointer to the item stored in the nameToItem array, which is defined internally in the game executableas:

nameToItem = {}

Items are stored in the array like so:

nameToItem['%s'] = nameToItemPointer

254 Chapter 4. EE Game Lua Functions

Page 259: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

The nameToItem array can be accessed directly in UI.MENU or other lua files.

For example, Infinity_ClickItem takes a menuItem userdata type and clicks the center of its area:

Infinity_ClickItem(nameToItem["whaterNameHere"])

Example

Get the inventory menu item:

inventory = Infinity_FindUIItemByName("INVENTORY")

Get the button control for the peasant room to rent at an inn:

selectedRoom = Infinity_FindUIItemByName('BUTTON_room_peasant')

4.11.22 Infinity_FocusTextEdit

Set the keyboard focus to the specified text edit contol, so that typing will occur in the text edit control.

Infinity_FocusTextEdit(element_name)

Parameters

• string element_name - name of the text edit control to set the keyboard focus to

Notes

Calls the uiFocusTextEdit function

Example

Partial example of the CLUAConsole cheat text edit control being displayed and the focus moving to it so that typingoccurs in that text edit control:

name 'cheatConsole'align center bottomignoreEsc

onOpen"

toolbarTop = 50Infinity_PushMenu('WORLD_MESSAGES')Infinity_PushMenu('cheatMenu', 0, 0);Infinity_FocusTextEdit('luaEditArea');luaEdit = trim(luaEdit)loadLuaHistory()

"

4.11.23 Infinity_GetArea

Returns the bounding rectangle (area) for the specified UI Control name

4.11. Infinity Functions 255

Page 260: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_GetArea(element_name)

Parameters

• string element_name - name of the UI Control to return the bounding rectangle for

Return Value

Returns as integer values: x, y, w, h - x coordinate, y coordinate, width and height of rectangle

Notes

Example

With a UI Label control named messagesRect:

label{

name 'messagesRect'area 0 111 863 142rectangle 4

}

To get the area of the messagesRect label control:

local x,y,w,h = Infinity_GetArea('messagesRect')

4.11.24 Infinity_GetClockTicks

Returns the clock tick count in milliseconds

Infinity_GetClockTicks()

Return Value

Returns an integer value of the clock tick in milliseconds

Notes

Calls the SDL_GetTicks function, coverts it to a lua number and pushes it onto the lua stack

Can be used to measure the time elapsed between calls to Infinity_GetClockTicks

Example

Get tick count and store it to a variable:

chatboxScrollTimeLast = Infinity_GetClockTicks()

Later on, get tick count and use previously stored tick count value (chatboxScrollTimeLast) to measuretime elapsed, and store it to a ``dT variable:

local dT = Infinity_GetClockTicks() - chatboxScrollTimeLastchatboxScrollTimeLast = Infinity_GetClockTicks()

The dT variable now contains the elapsed time since Infinity_GetClockTicks was last called.

256 Chapter 4. EE Game Lua Functions

Page 261: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.25 Infinity_GetContainerItemDescription

Updates the description and usability text of an item from a specified slot in a container

Infinity_GetContainerItemDescription(nSlotNum)

Parameters

• integer nSlotNum - slot number to return the item description and and usability text for

Return Value

Special, see notes

Notes

Calls the following class methods: CGameContainer::GetItem, CItem::GetUsabilityText and CItem::GetDescription

Updates an existing array named loot, which is defined in UI.MENU as:

loot ={

containerItems = {},groupItems = {},groundItems = {}

}

The loot array is updated with the description and usability text of the item occupying the slot nSlotNum in thecontainer.

Example

Update the item description using Infinity_GetContainerItemDescription and then access the loot array via the in-ternal UI.MENU function showItemDescription:

function showContainerItemDescription(index)local idxScrolled = index + worldScreen:GetTopContainerItem()if(loot.containerItems[idxScrolled] == nil or loot.containerItems[idxScrolled].

→˓item == nil) thenreturn nil

endInfinity_GetContainerItemDescription(idxScrolled)showItemDescription(loot.containerItems[idxScrolled].item, 2)

end

The showItemDescription function, stores some of the loot array entries into another array itemDesc.showItemDescription is defined as:

itemDesc = {}function showItemDescription(item, mode)

itemDesc.item = itemitemDesc.mode = modeInfinity_PushMenu('ITEM_DESCRIPTION',0,0)

end

The ITEM_DESCRIPTION menu, which uses the values in the itemDesc array is defined as:

menu{

name 'ITEM_DESCRIPTION'

(continues on next page)

4.11. Infinity Functions 257

Page 262: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

align center centermodallabel{

area 0 0 864 710mosaic GUIINVHI

}label{

area 81 11 700 44text "ITEM_TITLE"text style title

}label{

area 402 66 52 52icon lua "itemDesc.item.icon"

}label{

area 57 170 295 40text lua "itemDesc.item.name"text align center centertext style "label"text color '5'

}text{

area 356 180 430 353text lua "itemDesc.item.description"scrollbar 'GUISCRC'text style "normal_parchment"

}label{

area 66 210 280 327bam lua "itemDesc.item.descPicture"sequence 0frame 0align center center

}button{

bam GUIOSTULsequence 6area 57 638 234 44enabled "itemDescLeftButtonEnabled()"text lua "itemDescLeftButtonText()"text style "button"action"

itemDescLeftButtonAction()"

}button{

bam GUIOSTUM(continues on next page)

258 Chapter 4. EE Game Lua Functions

Page 263: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

sequence 6area 326 638 204 44text "DONE_BUTTON"text style "button"action"

Infinity_PopMenu();"

}button{

bam GUIOSTURsequence 6area 572 638 234 44enabled "itemDescRightButtonEnabled()"text lua "itemDescRightButtonText()"text style "button"action"

itemDescRightButtonAction()"

}}

Note the use of itemDesc.item.name and itemDesc.item.description etc

4.11.26 Infinity_GetContentHeight

Returns the height of the text content in a UI control

Infinity_GetContentHeight(font,width,textcontent,point,indent,useFontZoom)

Parameters

• string font - string containing resource reference (ResRef) of font

• integer width - width of the UI control hosting the content

• string textcontent - string containing the text content

• integer point - font size

• integer indent - a boolean value if indented 1, or 0 otherwise

• integer useFontZoom - boolean value if using font zoom 1, or 0 otherwise

Return Value

Returns an integer of the calculated content height

Notes

Calculates the height of the text content in a UI control, taking into account the font used, the font size, word wrappingfor the width of the UI control, indentation and/or font zooming.

You should account for the width of the scrollbar when specifying the width parameter

4.11. Infinity Functions 259

Page 264: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

useFontZoom is used for font scaling based on the font size (the point parameter). If useFontZoom is 0, the text content(the textcontent parameter) will always appear at the defined font size, if useFontZoom is 1 then font scaling will occurfor the text content.

Example

--Calculate running total of dialog content heightlocal x,y,w,h = Infinity_GetArea("worldPlayerDialogChoicesList")w = w - 18 --account for scrollbar influence on widthlocal delta = Infinity_GetContentHeight(styles.normal.font, w, text, styles.normal.→˓point, 1, styles.normal.useFontZoom) --1 for indent.chatboxContentHeight = chatboxContentHeight + delta

Note: styles are defined in the BGEE.LUA file

4.11.27 Infinity_GetCurrentGroundPage

Returns the current page number of the ground inventory slots

Infinity_GetCurrentGroundPage()

Return Value

Returns an integer representing the page number of the ground inventory slots

Notes

A ground page is a series of inventory slots representing ground items available to pick up or empty slots for items tobe dropped into.

Ground pages are used to scroll through the groupings of those ground based inventory slots. See also Infin-ity_GetMaxGroundPage and Infinity_GetGroundItemDescription

Calls the CScreenInventory::GetCurrentGroundPage method

Example

curPage = Infinity_GetCurrentGroundPage()

4.11.28 Infinity_GetCurrentMovie

Returns the current movie

Infinity_GetCurrentMovie()

Parameters

None

Return Value

Returns a string containing the resource reference (ResRef) of the current movie file (WebM file format)

Notes

Reads CBaldurChitin.m_pEngineProjector => CBaldurProjector.m_pMovie => CResWebM.CRes

260 Chapter 4. EE Game Lua Functions

Page 265: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Compares active engine (CWarp)

Pushes lua string onto stack or lua nil

Note: more research required.

Example

curMovie = Infinity_GetCurrentMovie()

4.11.29 Infinity_GetCurrentScreenName

Returns current menu name

Infinity_GetCurrentScreenName()

Parameters

None

Return Value

Returns a string of the current menu name, or an empty string if no menu active

Notes

Uses getMenuStackTop and getStackMenu functions, and if successful, reads the value at uiMenu.name and pushesthis value to the lua stack as a lua string.

Examples

Get the current menu name:

curMenuName = Infinity_GetCurrentScreenName()

Sets the button to clickable only if the current menu equals CHARGEN

button{

area 770 552 204 44text "IMPORT_BUTTON"text style "button"bam GUIOSTUMclickable lua "Infinity_GetCurrentScreenName() == 'CHARGEN'"action "createCharScreen:OnImportCharacterButtonClick()"

}

4.11.30 Infinity_GetFilesOfType

Returns a list of files that match the specified file extension

Infinity_GetFilesOfType(extension)

Parameters

• string extension - string containing file extension

4.11. Infinity Functions 261

Page 266: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

An array of filenames that matched the specified file extension

Notes

Converts extension to resource file type using the chExtToType function and fetches those filenames that match theresource type and stores them into an array.

The following extensions are supported:

• “bmp”

• “mve”

• “tga”

• “wav”

• “wfx”

• “plt”

• “bam”

• “wed”

• “chu”

• “tis”

• “spl”

• “bcs”

• “ids”

• “cre”

• “are”

• “dlg”

• “2da”

• “gam”

• “sto”

• “wmp”

• “chr”

• “bs”

• “eff”

• “vvc”

• “vef”

• “pro”

• “bio”

• “wbm”

• “gui”

• “sql”

262 Chapter 4. EE Game Lua Functions

Page 267: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• “pvrz”

• “glsl”

• “tot”

• “toh”

• “menu”

• “lua”

• “ttf”

• “png”

• “ini”

Example

bamfilelist = Infinity_GetFilesOfType("bam")

4.11.31 Infinity_GetFrameCounter

Returns frame counter

Infinity_GetFrameCounter()

Return Value

Returns an int value representing frame counter

Notes

Reads the value stored at offset 0xC48 of CChitin: CChitin.nAUCounter, converts it to a float and pushes it onto thelua stack.

Example

framcounter = Infinity_GetFrameCounter()

4.11.32 Infinity_GetGameTicks

Returns game ticks

Infinity_GetGameTicks()

Return Value

Returns an int value representing game ticks

Notes

Reads CBaldurChitin.m_pObjectGame => CInfGame.m_worldTime => CTimerWorld.m_gameTime and multipliesit by the value stored in the variable TIMER_UPDATES_PER_SECOND. The result is added together with itself,converted to a float and pushed onto the lua stack.

The variable TIMER_UPDATES_PER_SECOND located at offset 0x00938778 is initially set to 30 (0x1E)

4.11. Infinity Functions 263

Page 268: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

ticks = Infinity_GetGameTicks()

4.11.33 Infinity_GetGroundItemDescription

Returns a string containing the item’s description as seen on the ground

Infinity_GetGroundItemDescription(item_index,slot_id,container_id)

Parameters

• item_index -

• slot_id -

• container_id -

Return Value

string

Notes

Example

4.11.34 Infinity_GetGroupItemDescription

Infinity_GetGroupItemDescription(item_index)

Parameters

• item_index -

Return Value

string

Notes

Example

4.11.35 Infinity_GetInCutsceneMode

Infinity_GetInCutsceneMode(???)

Parameters

???

Return Value

???

264 Chapter 4. EE Game Lua Functions

Page 269: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Example

4.11.36 Infinity_GetINIString

Returns a string containing an ini section key value

Infinity_GetINIString(section_name,value_name,default_value)

Parameters

• section_name - section name in an ini file

• value_name - the key in the section to return the value for

• default_value - the default value to return if key does not exist

Return Value

string

Notes

Example

4.11.37 Infinity_GetINIValue

Returns an integer value containing an ini section key value

Infinity_GetINIValue(section_name,value_name,default_value)

Parameters

• section_name - section name in an ini file

• value_name - the key in the section to return the value for

• default_value - the default value to return if key does not exist

Return Value

int

Notes

Example

4.11. Infinity Functions 265

Page 270: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.38 Infinity_GetListHeight

Returns the height of the sepcified UI List control

Infinity_GetListHeight(list_name)

Parameters

• string list_name - name of the UI List control

Return Value

Returns an integer value of the specified list’s height

Notes

Example

Get the height of the worldPlayerDialogChoicesList list in UI.MENU:

local choicesHeight = Infinity_GetListHeight('worldPlayerDialogChoicesList')

4.11.39 Infinity_GetMaxChapterPage

Returns the chapter number that the game campaign is at currently

Infinity_GetMaxChapterPage()

Return Value

Returns an integer containing the current chapter number

Notes

Returns the value of the CHAPTER token. Calls the CVariableHash::FindKey method and reads offset 0x28 ofCVariable: CVariable.m_cAreaVariable => CAreaVariable.m_intValue, and pushes that value to the lua stack.

Example

Used in the JOURNAL menu in UI.MENU to update the current chapter number:

menu{

name 'JOURNAL'align left topoffset 80 0ignoreEscenabled "sidebarsGreyed ~= 1"onopen "

reinitQuests()buildQuestDisplay()chapter = math.max(0,Infinity_GetMaxChapterPage());

266 Chapter 4. EE Game Lua Functions

Page 271: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.40 Infinity_GetMaxGroundPage

Returns maximum ground pages

Infinity_GetMaxGroundPage()

Return Value

Returns an integer value of the maximum ground pages

Notes

A ground page is a series of inventory slots representing ground items available to pick up or empty slots for items tobe dropped into.

Ground pages are used to scroll through the groupings of those ground based inventory slots. See also Infin-ity_GetCurrentGroundPage and Infinity_GetGroundItemDescription

Calls the CScreenInventory::GetMaxGroundPage method and pushed the value to the lua stack.

Example

local maxPages = Infinity_GetMaxGroundPage()

4.11.41 Infinity_GetMenuArea

Returns the bounding rectangle (area) for the specified UI Menu name

Infinity_GetMenuArea(menu_name)

Parameters

• string menu_name - name of the UI Menu to return the bounding rectangle for

Return Value

Returns as integer values: x, y, w, h - x coordinate, y coordinate, width and height of rectangle

Notes

Example

Get the area of the JOURNAL menu:

local offsetX,offsetY,menuWidth,menuHeight = Infinity_GetMenuArea('JOURNAL')

4.11.42 Infinity_GetMenuItemByName

Returns the UI menu item that has the specified name

Infinity_GetMenuItemByName(item_name)

Parameters

• string item_name - name of the menu item

4.11. Infinity Functions 267

Page 272: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns userdata version of the menu item (a pointer to the uiItem structure of the matched UI control or a lua NIL)

Notes

Example

MenuItem_InvSlot1 = Infinity_GetMenuItemByName("slot_inv_1")

4.11.43 Infinity_GetMousePosition

Returns mouse position

Infinity_GetMousePosition()

Return Value

Returns as integer x,y = x coordinate and y cooordinate of mouse position

Notes

Example

x,y = Infinity_GetMousePosition();

4.11.44 Infinity_GetNumCharacters

Returns total number of characters currently in the party

Infinity_GetNumCharacters()

Return Value

Returns an integer value of the number of characters in the party

Notes

Example

From UI.MENU - enable a portrait button for the 4th character, if there is greater than 3 characters in the party:

button{

area 11 290 64 90portrait 3bam GUIRSP10enabled "Infinity_GetNumCharacters() > 3"

268 Chapter 4. EE Game Lua Functions

Page 273: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.45 Infinity_GetOffset

Get the position of a menu on the screen

Infinity_GetOffset(menu_name)

Parameters

• string menu_name - name of the menu to return the position for

Return Value

Returns as integer values: x,y - x coordinate and y coordinate of the menu position

Notes

Example

Infinity_GetOffset("JOURNAL")

4.11.46 Infinity_GetOption

Get the value of an option in a panel

Infinity_GetOption(option_id,panel_id)

Parameters

• integer option_id - id of the option to get value for

• integer panel_id - id of the panel

Return Value

Returns an integer value of the option id specified: option_id in panel_id

Notes

See also Infinity_ChangeOption

Example

Get the value of option id 1 in panel id 8 (panelID = 8) to a variable ttDelaySLDR and then set option id 1 inpanel id 8 (panelID = 8) to the value of the ttDelaySLDR variable

panelID = 8ttDelaySLDR = Infinity_GetOption(1, panelID)Infinity_ChangeOption( 1, ttDelaySLDR, panelID)

4.11.47 Infinity_GetPasswordRequired

Updates the passwordReq lua variable with the password requirement

Infinity_GetPasswordRequired(id)

Parameters

4.11. Infinity Functions 269

Page 274: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• integer id - 1 based index of the mp_sessions array entry to update

Returns

Special, see notes

Notes

Updates an existing multidimensional array named mp_sessions defined in the EE game executable and an existinglua variable passwordReq.

passwordReq is defined in ‘‘UI.MENU‘‘as:

passwordReq = 0

Each entry in mp_sessions has the following elements:

• description

• flags

• max_players

• players

• port

• name

• password

After the mp_sessions array has been updated, the flags value (which contains amongst other things the pass-word requirement) is placed into the passwordReq lua variable as a boolean value: 1 true or 0 false.

Example

The gameHasPassword function from UI.MENU:

function gameHasPassword(slot)if(mp_sessions[mp_shownSessions[slot]["actualIndex"]] == nil) then

--if the session isn't loaded don't show anything.return ""

endInfinity_GetPasswordRequired(mp_shownSessions[slot]["actualIndex"])if passwordReq ~= 0 then

ret = t("YES")else

ret = t("NO")endreturn ret

end

4.11.48 Infinity_GetPortraitTooltip

Returns a string containing the tooltip for a specified portrait index

Infinity_GetPortraitTooltip(index)

Parameters

• integer index - a 0 based index of the portrait to return the tooltip text for

270 Chapter 4. EE Game Lua Functions

Page 275: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns a string containing the tooltip for a specified portrait index

Notes

Example

Get tooltip for portrait of character 1:

char1tooltip = Infinity_GetPortraitTooltip(0)

4.11.49 Infinity_GetScreenSize

Returns the width and height of the screen - the screen resolution

Infinity_GetScreenSize()

Return Value

Returns as integer: w, h - width and height

Notes

Example

local screenWidth, screenHeight = Infinity_GetScreenSize()

4.11.50 Infinity_GetScriptVarInt

Returns the value of a script variable as an integer

Infinity_GetScriptVarInt(ScriptVar)

Parameters

• string ScriptVar - the script variable to return the value of

Return Value

Returns the value of a script variable as an integer

Notes

Calls the CVariableHash::FindKey method.

Example

No known example

4.11.51 Infinity_GetScrollIdentifyEnabled

Determines if the specified item requires identification, and can be identified via an Indentify scroll

4.11. Infinity Functions 271

Page 276: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_GetScrollIdentifyEnabled(item_id)

Parameters

• integer item_id - item id

Return Value

Returns a boolean value: 1 true, or 0 false

Notes

Calls the CScreenInventory::GetScrollIdentifyEnabled method.

See also Infinity_GetSpellIdentifyEnabled

Example

The Indentify via a scroll button is enabled if the item requires identification (and there is an Identify scroll in thecharacter’s possession). Defined in UI.MENU as:

button{

area 52 214 302 44bam GUIOSTCLtext style "button"text "SCROLL_BUTTON"

clickable lua "Infinity_GetScrollIdentifyEnabled(characters[id].→˓equipment[selectedSlot].id)"

action"

Infinity_OnScrollIdentify(characters[id].equipment[selectedSlot].id)Infinity_PopMenu()itemDesc.item = characters[id].equipment[selectedSlot].item --update itemDesc

→˓item"

}

4.11.52 Infinity_GetSelectedCharacterName

Returns a string containing the currently selected character’s name

Infinity_GetSelectedCharacterName()

Return Value

Returns a string containing the currently selected character’s name

Notes

Example

Set a label UI control’s text with the current characters name:

label{

area 467 116 250 30

(continues on next page)

272 Chapter 4. EE Game Lua Functions

Page 277: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

text lua "Infinity_GetSelectedCharacterName()"text style "label"align left center

}

4.11.53 Infinity_GetSpellIdentifyEnabled

Determines if the specified item requires identification, and can be identified via an Indentify spell (or a magical itemthat can cast an Identify spell)

Infinity_GetSpellIdentifyEnabled(item_id)

Parameters

• string item_id - item id

Return Value

Returns a boolean value: 1 true, or 0 false

Notes

Calls the CScreenInventory::GetSpellIdentifyEnabled method.

See also Infinity_GetScrollIdentifyEnabled

Example

The Indentify via a spell button is enabled if the item requires identification (and there is an Identify spell in thecharacter’s possession). Defined in UI.MENU as:

button{

area 52 258 302 44bam GUIOSTCLtext style "button"text "SPELL_BUTTON"

clickable lua "Infinity_GetSpellIdentifyEnabled(characters[id].→˓equipment[selectedSlot].id)"

action"

Infinity_OnSpellIdentify(characters[id].equipment[selectedSlot].id);Infinity_PopMenu()itemDesc.item = characters[id].equipment[selectedSlot].item --update itemDesc

→˓item"

}

4.11.54 Infinity_GetTimeString

Returns a formatted date and time string

4.11. Infinity Functions 273

Page 278: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_GetTimeString()

Return Value

Returns a string containing the date and time - a timestamp

Notes

Calls the CTimerWorld::GetCurrentTimeString method.

Example

Editing a journal entry will automatically place a date time value, defined in UI.MENU as:

label{

enabled "journalMode == const.JOURNAL_MODE_EDIT"area 58 144 382 42text style "label"text color 0 120 0 255text lua "Infinity_GetTimeString()"

}

4.11.55 Infinity_GetTransitionInProgress

Returns the transition value

Infinity_GetTransitionInProgress()

Parameters

None

Return Value

Pushes the transition variable value to the lua stack

Notes

transition variable located at offset 0x00986720 in BG2EE

transition variable value set in Infinity_TransitionMenu, drawTop, and eventMenu functions

Example

No known examples

4.11.56 Infinity_GetUseButtonText

Returns “Use x” button text of an item name for an item specified

Infinity_GetUseButtonText(item_id,mode)

Parameters

• integer item_id - item id

274 Chapter 4. EE Game Lua Functions

Page 279: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• integer mode - mode

Return Value

Returns a string containing the “Use x” of the item specified

Notes

Calls the CScreenInventory::GetUseButtonText method

Example

4.11.57 Infinity_GooglePlaySignedIn

Determines if signed into Google Play

Infinity_GooglePlaySignedIn()

Return Value

Returns an integer value representing 1 true, or 0 false otherwise

Notes

Calls the CPlatform::IsPlatformServiceConnected function

Reads CChitin.cSteam => CSteam.m_isSteamConnected

On builds that are not android returns false

Example

A Google Play sign in/out button from UI.MENU:

function getGooglePlaySignInText()if(Infinity_GooglePlaySignedIn() == 1) then

return t("SIGN_OUT_BUTTON")else

return t("SIGN_IN_BUTTON")end

end

4.11.58 Infinity_HighlightJournalButton

Unknown purpose

Infinity_HighlightJournalButton()

Notes

Returns 0 false

Called from highlightJournalButton function in UTIL.LUA

Example

See highlightJournalButton function in UTIL.LUA

4.11. Infinity Functions 275

Page 280: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Unknown purpose

4.11.59 Infinity_HoverMouseOver

Moves where your mouse cursor is in the game world

Infinity_HoverMouseOver(x,y)

Parameters

• integer x - x coordinate to click world at

• integer y - y coordinate to click world at

Return Value

None

Notes

It doesn’t actaully move the mouse cursor, but the game engine thinks it does.

Infinity_HoverMouseOver will instantly move your mouse into the game world, but it won’t move to the proper x,yfor one frame (I think?).

If you don’t include Infinity_HoverMouseOver before Infinity_ClickWorldAt, it will click at world coordinates 0, 0 byassuming your cursor is over the interface.

You can force a click in the game world like so:

Infinity_HoverMouseOver(x,y)Infinity_ClickWorldAt(x,y)

Example

Infinity_HoverMouseOver(100,200)

4.11.60 Infinity_HoverMouseOverObject

Activate AI script file for object that mouse is hovering over (?) - not tested/verified

Infinity_HoverMouseOverObject(objectname)

Parameters

• string objectname - name of the object

Return Value

??? - Unknown

Notes

Calls the CAIScriptFile::CAIScriptFile method

Example

No known examples

276 Chapter 4. EE Game Lua Functions

Page 281: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.61 Infinity_InstanceAnimation

Creates a temporary single instance animation of a bam, based on the UI template provided. Once the animation hasfinished, the UI control that was created and based on the UI template provided, is no longer present or visible.

Infinity_InstanceAnimation(Template,BamResRef,x,y,w,h,list,list_index)

Parameters

• string Template - UI template name

• string BamResRef - resource reference of bam to show/animate

• integer x - left position

• integer y - top position

• integer w - width

• integer h - height

• string list - list/array

• integer list_index - 1 based index of entry in list

Notes

As defined in UI.MENU on memorizing a spell: is set to play the default GAM_24.WAV sound and to play theFLASHBR.BAM animation.

Example

Shows sparkle as user clicks on mage spell to memorize:

:: Infinity_InstanceAnimation(“TEMPLATE_mageMemorizationSparkle”,”FLASHBR”,x,y,w,h,fromList,listIndex)

4.11.62 Infinity_IsItemEnabled

Infinity_IsItemEnabled(???)

Parameters

???

Return Value

???

Notes

Example

4.11. Infinity Functions 277

Page 282: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.63 Infinity_IsMenuOnStack

Infinity_IsMenuOnStack(menu_name)

Parameters

• menu_name -

Return Value

bool

Notes

Example

4.11.64 Infinity_IsPlayerMoving

Infinity_IsPlayerMoving(???)

Parameters

???

Return Value

???

Notes

Example

4.11.65 Infinity_JoinMultiplayerGame

Infinity_JoinMultiplayerGame(id)

Notes

Example

4.11.66 Infinity_LaunchURL

Infinity_LaunchURL(???)

Parameters

???

Return Value

???

Notes

278 Chapter 4. EE Game Lua Functions

Page 283: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Example

4.11.67 Infinity_LevelUp

Opens level up dialog

Infinity_LevelUp()

Parameters

None

Return Value

None

Notes

Calls CScreenCharacter::OnLevelUpButtonClick to open the level up dialog.

Unknown if calling this will work without specifying a character like Infinity_ActivateRecord does.

Example

No known examples

4.11.68 Infinity_Log

Infinity_Log(msg)

Parameters

• msg -

Notes

Example

4.11.69 Infinity_LookAtObjectInWorld

Infinity_LookAtObjectInWorld(???)

Parameters

???

Return Value

???

Notes

Example

4.11. Infinity Functions 279

Page 284: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.70 Infinity_LuaConsoleInput

Infinity_LuaConsoleInput(???,???)

Parameters

• ??? -

• ??? -

Notes

Example

4.11.71 Infinity_OnAddUserEntry

Infinity_OnAddUserEntry(string)

Parameters

• string -

Notes

Example

4.11.72 Infinity_OnCharacterImportItemSelect

Infinity_OnCharacterImportItemSelect(table_index)

Parameters

• table_index -

Notes

Example

4.11.73 Infinity_OnCharacterItemSelect

Infinity_OnCharacterItemSelect(table_index)

Parameters

• table_index -

Notes

Example

280 Chapter 4. EE Game Lua Functions

Page 285: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.74 Infinity_OnEditUserEntry

Infinity_OnEditUserEntry(string1,string2)

Parameters

• string1 -

• string2 -

Return Value

???

Notes

Example

4.11.75 Infinity_OnGroundPage

Infinity_OnGroundPage(increment)

Parameters

• increment -

Notes

Example

4.11.76 Infinity_OnPortraitDblClick

Event action when mouse double clicks a character portrait

Infinity_OnPortraitDblClick(index)

Parameters

• index - index of portrait being double clicked

Notes

Example

4.11.77 Infinity_OnPortraitItemSelect

Event action when character portrait is selected

Infinity_OnPortraitItemSelect(???)

4.11. Infinity Functions 281

Page 286: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

???

Return Value

???

Notes

Example

4.11.78 Infinity_OnPortraitLClick

Event action when mouse left clicks a character portrait

Infinity_OnPortraitLClick(index)

Parameters

• index - index of portrait being clicked

Notes

Example

4.11.79 Infinity_OnPortraitRClick

Event action when mouse right clicks a character portrait

Infinity_OnPortraitRClick(index)

Parameters

• index - index of portrait being clicked

Notes

Example

4.11.80 Infinity_OnRemoveUserEntry

Infinity_OnRemoveUserEntry(string)

Parameters

• string -

Notes

Example

282 Chapter 4. EE Game Lua Functions

Page 287: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.81 Infinity_OnRest

Infinity_OnRest(???)

Parameters

???

Return Value

???

Notes

Example

4.11.82 Infinity_OnScriptItemSelect

Infinity_OnScriptItemSelect(table_index)

Parameters

• table_index -

Notes

Example

4.11.83 Infinity_OnScrollIdentify

Event action when a scroll identifies an item

Infinity_OnScrollIdentify(item_id)

Parameters

• integer item_id - id of the item being identified

Notes

Example

4.11.84 Infinity_OnSoundItemSelect

Infinity_OnSoundItemSelect(table_index)

Parameters

• table_index -

Notes

Example

4.11. Infinity Functions 283

Page 288: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.85 Infinity_OnSpellIdentify

Event action when a spell identifies an item

Infinity_OnSpellIdentify(item_id)

Parameters

• integer item_id - id of the item being identified

Return Value

Notes

Example

4.11.86 Infinity_OnUseButtonClick

Infinity_OnUseButtonClick(item_id,mode)

Parameters

• integer item_id -

• mode -

Notes

Example

4.11.87 Infinity_OpenInventoryContainer

Infinity_OpenInventoryContainer(resref)

Parameters

• resref* - resource reference of the container being opened

Notes

Example

4.11.88 Infinity_PlayMovie

Plays a movie (a WebM file format)

Infinity_PlayMovie(movie_name,element_name)

Parameters

• movie_name - resource reference of the movie to play

• element_name -

284 Chapter 4. EE Game Lua Functions

Page 289: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Example

4.11.89 Infinity_PlaySound

Plays a sound

Infinity_PlaySound(resref)

Parameters

• resref* - resource reference of the sound to play

Notes

Example

4.11.90 Infinity_PopMenu

Infinity_PopMenu(menu_name)

Parameters

• menu_name -

Notes

Example

4.11.91 Infinity_PressKeyboardButton

Infinity_PressKeyboardButton(???)

Parameters

(???)

Return Value

(???)

Notes

Example

4.11.92 Infinity_PushMenu

4.11. Infinity Functions 285

Page 290: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_PushMenu(menu_name)

Parameters

• menu_name -

Notes

Example

4.11.93 Infinity_RandomNumber

Returns an random number

Infinity_RandomNumber(min,range)

Parameters

• min - minimum value of random number

• range - maximum value of random number

Return Value

int

Notes

Example

4.11.94 Infinity_RemoveINIEntry

Removes an ini section key value

Infinity_RemoveINIEntry(section_name,value_name)

Parameters

• section_name* - ini section name

• value_name* - key in the ini section to remove

Notes

Example

286 Chapter 4. EE Game Lua Functions

Page 291: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.95 Infinity_RequestMultiplayerGameDetails

Infinity_RequestMultiplayerGameDetails(???)

Parameters

???

Return Value

???

Notes

Example

4.11.96 Infinity_ScaleToText

Infinity_ScaleToText(element_name)

Parameters

• element_name -

Notes

Example

4.11.97 Infinity_ScrollLists

Infinity_ScrollLists(???)

Parameters

???

Return Value

???

Notes

Example

4.11.98 Infinity_SelectDialogueOption

Infinity_SelectDialogueOption(???)

4.11. Infinity Functions 287

Page 292: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

???

Return Value

???

Notes

Example

4.11.99 Infinity_SelectItemAbility

Infinity_SelectItemAbility(ability_index,item_num,item_id)

Parameters

• ability_index -

• item_num -

• integer item_id -

Notes

Example

4.11.100 Infinity_SelectListItem

Infinity_SelectListItem(???)

Parameters

???

Return Value

???

Notes

Example

4.11.101 Infinity_SendChatMessage

Infinity_SendChatMessage(msg,boolean)

Parameters

• msg -

• boolean -

288 Chapter 4. EE Game Lua Functions

Page 293: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Example

4.11.102 Infinity_SetArea

Infinity_SetArea(element_name,x,y,w,h)

Parameters

• element_name -

• x -

• y -

• w -

• h -

Return Value

???

Notes

Example

4.11.103 Infinity_SetBackground

Infinity_SetBackground(menu_name)

Parameters

• menu_name -

Notes

Example

4.11.104 Infinity_SetCloudEnabled

Infinity_SetCloudEnabled(???)

Parameters

???

Return Value

???

Notes

Example

4.11. Infinity Functions 289

Page 294: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.105 Infinity_SetGooglePlaySigninState

Infinity_SetGooglePlaySigninState(???)

Parameters

???

Return Value

???

Notes

Example

4.11.106 Infinity_SetHairColor

Infinity_SetHairColor(index)

Parameters

• index -

Notes

Example

4.11.107 Infinity_SetHighlightColors

Set a color or color gradient for UI elements in the options dialogs that are currently selected

Infinity_SetHighlightColors(lr,lg,lb,la,cr,cg,cb,ca,rr,rg,rb,ra)

Parameters

• hexidecimal lr - left color: the intensity of the red color channel

• hexidecimal lg - left color: the intensity of the green color channel

• hexidecimal lb - left color: the intensity of the blue color channel

• hexidecimal la - left color: the transparency level of the alpha channel

• hexidecimal cr - center color: the intensity of the red color channel

• hexidecimal cg - center color: the intensity of the green color channel

• hexidecimal cb - center color: the intensity of the blue color channel

• hexidecimal ca - center color: the transparency level of the alpha channel

• hexidecimal rr - right color: the intensity of the red color channel

• hexidecimal rg - right color: the intensity of the green color channel

• hexidecimal rb - right color: the intensity of the blue color channel

• hexidecimal ra - right color: the transparency level of the alpha channel

290 Chapter 4. EE Game Lua Functions

Page 295: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

User three color definitions: left, center and right

Parameters use hexidecimal values (prefixed with 0x) for each color color and the alpha channel level

Example

Infinity_SetHighlightColors(0x7F,0x00,0x7F,0xff, 0x00,0x7F,0x00,0xff, 0x00,0x00,0x7F,0xff)

4.11.108 Infinity_SetINIValue

Sets a value of an ini section key

Infinity_SetINIValue(section_name,value_name,value)

Parameters

• string section_name - ini section to set the key value for

• string value_name - the key in the ini section to set the value for

• string value - the new value of the key

Notes

Example

Set the Player Name key in Multiplayer section to the value of the variableconnectionPlayerNameEdit

if connectionPlayerNameEdit == "" thenconnectionPlayerNameEdit = Infinity_GetINIString('Multiplayer', 'Player Name',

→˓player)Infinity_SetINIValue('Multiplayer', 'Player Name', connectionPlayerNameEdit)

end

4.11.109 Infinity_SetKey

Sets key in C++ memory

Infinity_SetKey(value,type)

Parameters

• value -

• type -

Notes

Example

4.11. Infinity Functions 291

Page 296: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.110 Infinity_SetLanguage

Infinity_SetLanguage(lang_id,showSubTitles)

Parameters

• lang_id -

• showSubTitles -

Notes

Example

4.11.111 Infinity_SetMajorColor

Infinity_SetMajorColor(index)

Parameters

• index -

Notes

Example

4.11.112 Infinity_SetMinorColor

Infinity_SetMinorColor(index)

Parameters

• index -

Notes

Example

4.11.113 Infinity_SetOffset

Infinity_SetOffset(menu_name,x,y)

Parameters

• menu_name -

• x -

• y -

292 Chapter 4. EE Game Lua Functions

Page 297: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

???

Notes

Example

4.11.114 Infinity_SetOverlay

Infinity_SetOverlay(menu_name)

Parameters

• menu_name -

Notes

Example

4.11.115 Infinity_SetScreenSize

Infinity_SetScreenSize(w,h)

Parameters

• w -

• h -

Notes

Example

4.11.116 Infinity_SetScrollTop

Infinity_SetScrollTop(???)

Parameters

???

Return Value

???

Notes

Example

4.11. Infinity Functions 293

Page 298: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.117 Infinity_SetSkinColor

Infinity_SetSkinColor(index)

Parameters

• index -

Notes

Example

4.11.118 Infinity_SetToken

Infinity_SetToken(token_name,value)

Parameters

• token_name -

• value -

Notes

Example

4.11.119 Infinity_ShutdownGame

Infinity_ShutdownGame()

Notes

Example

4.11.120 Infinity_SignInOutButtonEnabled

Infinity_SignInOutButtonEnabled(???)

Parameters

???

Return Value

???

Notes

Example

294 Chapter 4. EE Game Lua Functions

Page 299: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.121 Infinity_SplitItemStack

Infinity_SplitItemStack(item_id,count,slot_name)

Parameters

• integer item_id -

• count -

• slot_name -

Return Value

Notes

Example

4.11.122 Infinity_StartItemCapture

Infinity_StartItemCapture(map_name)

Parameters

• map_name -

Notes

Example

4.11.123 Infinity_StartKeybind

Infinity_StartKeybind(action)

Parameters

• action -

Notes

Example

4.11.124 Infinity_StopItemCapture

Infinity_StopItemCapture(map_name)

Parameters

• map_name -

Notes

Example

4.11. Infinity Functions 295

Page 300: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.125 Infinity_StopKeybind

Infinity_StopKeybind()

Notes

Example

4.11.126 Infinity_StopMovie

Infinity_StopMovie(element_name)

Parameters

• element_name -

Notes

Example

4.11.127 Infinity_SwapSlot

Infinity_SwapSlot(???)

Parameters

???

Return Value

???

Notes

Example

4.11.128 Infinity_SwapWithAppearance

Infinity_SwapWithAppearance()

Notes

Example

4.11.129 Infinity_SwapWithPortrait

296 Chapter 4. EE Game Lua Functions

Page 301: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Infinity_SwapWithPortrait(index)

Parameters

• index -

Notes

Example

4.11.130 Infinity_TakeScreenshot

Infinity_TakeScreenshot()

Notes

Example

4.11.131 Infinity_TextEditHasFocus

Infinity_TextEditHasFocus()

Return Value

bool

Notes

Example

4.11.132 Infinity_TransitionMenu

Infinity_TransitionMenu(menu_name)

Parameters

• menu_name -

Notes

Example

4.11.133 Infinity_UpdateCharacterRecordExportPanel

Infinity_UpdateCharacterRecordExportPanel()

Notes

Example

4.11. Infinity Functions 297

Page 302: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.134 Infinity_UpdateCloudSaveState

Infinity_UpdateCloudSaveState()

Notes

Example

4.11.135 Infinity_UpdateInventoryRequesterPanel

Infinity_UpdateInventoryRequesterPanel(???)

Parameters

???

Return Value

???

Notes

Example

4.11.136 Infinity_UpdateLuaStats

Infinity_UpdateLuaStats()

Notes

Example

4.11.137 Infinity_UpdateStoreMainPanel

Infinity_UpdateStoreMainPanel(???)

Parameters

???

Return Value

???

Notes

Example

298 Chapter 4. EE Game Lua Functions

Page 303: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.11.138 Infinity_UpdateStoreRequesterPanel

Infinity_UpdateStoreRequesterPanel(???)

Parameters

???

Return Value

???

Notes

Example

4.11.139 Infinity_WriteINILine

Write a line of text to an ini file

Infinity_WriteINILine(file_handle,string)

Parameters

• file_handle -

• string - text to write out to ini file

Notes

Example

4.12 inventoryScreen Functions

4.12.1 inventoryScreen:IsMultiPlayerViewable

inventoryScreen:IsMultiPlayerViewable()

Parameters

• **

• **

• **

Returns

Notes

Example

inventoryScreen:IsMultiPlayerViewable()

See Also

:ref:, :ref:

4.12. inventoryScreen Functions 299

Page 304: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.12.2 inventoryScreen:IsSpriteOrderable

inventoryScreen:IsSpriteOrderable()

Parameters

• **

• **

• **

Returns

Notes

Example

inventoryScreen:IsSpriteOrderable()

See Also

:ref:, :ref:

Function DescriptioninventoryScreen:IsMultiPlayerViewableinventoryScreen:IsSpriteOrderable

e = g_pBaldurChitininventoryScreen = e:GetEngineInventory()

4.13 journalScreen Functions

e = g_pBaldurChitinjournalScreen = e:GetEngineJournal()

4.14 loadScreen Functions

4.14.1 loadScreen:DeleteGame

loadScreen:DeleteGame()

Parameters

• **

• **

• **

Returns

Notes

Example

300 Chapter 4. EE Game Lua Functions

Page 305: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

loadScreen:DeleteGame()

See Also

:ref:, :ref:

4.14.2 loadScreen:LoadGame

loadScreen:LoadGame()

Parameters

• **

• **

• **

Returns

Notes

Example

loadScreen:LoadGame()

See Also

:ref:, :ref:

4.14.3 loadScreen:OnMainCancelButtonClick

loadScreen:OnMainCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

loadScreen:OnMainCancelButtonClick()

See Also

:ref:, :ref:

Function DescriptionloadScreen:DeleteGameloadScreen:LoadGameloadScreen:OnMainCancelButtonClick

4.14. loadScreen Functions 301

Page 306: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

e = g_pBaldurChitinloadScreen = e:GetEngineLoad()

4.15 mageScreen Functions

4.15.1 mageScreen:CancelSequencingSpells

mageScreen:CancelSequencingSpells()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:CancelSequencingSpells()

See Also

:ref:, :ref:

4.15.2 mageScreen:DoneSequencingSpells

mageScreen:DoneSequencingSpells()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:DoneSequencingSpells()

See Also

:ref:, :ref:

302 Chapter 4. EE Game Lua Functions

Page 307: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.15.3 mageScreen:EraseKnownSpell

mageScreen:EraseKnownSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:EraseKnownSpell()

See Also

:ref:, :ref:

4.15.4 mageScreen:GetSpellLevel

mageScreen:GetSpellLevel()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:GetSpellLevel()

See Also

:ref:, :ref:

4.15.5 mageScreen:MemorizeSpell

mageScreen:MemorizeSpell()

Parameters

• **

• **

• **

4.15. mageScreen Functions 303

Page 308: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

mageScreen:MemorizeSpell()

See Also

:ref:, :ref:

4.15.6 mageScreen:OnDispellButtonClick

mageScreen:OnDispellButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:OnDispellButtonClick()

See Also

:ref:, :ref:

4.15.7 mageScreen:SequenceSpell

mageScreen:SequenceSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:SequenceSpell()

See Also

:ref:, :ref:

304 Chapter 4. EE Game Lua Functions

Page 309: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.15.8 mageScreen:SetSpellLevel

mageScreen:SetSpellLevel()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:SetSpellLevel()

See Also

:ref:, :ref:

4.15.9 mageScreen:SpellAllowedForContingency

mageScreen:SpellAllowedForContingency()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:SpellAllowedForContingency()

See Also

:ref:, :ref:

4.15.10 mageScreen:SpellSwappedInContingency

mageScreen:SpellSwappedInContingency()

Parameters

• **

• **

• **

4.15. mageScreen Functions 305

Page 310: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

mageScreen:SpellSwappedInContingency()

See Also

:ref:, :ref:

4.15.11 mageScreen:UnSequenceSpell

mageScreen:UnSequenceSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:UnSequenceSpell()

See Also

:ref:, :ref:

4.15.12 mageScreen:UnmemorizeSpell

mageScreen:UnmemorizeSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

mageScreen:UnmemorizeSpell()

See Also

:ref:, :ref:

306 Chapter 4. EE Game Lua Functions

Page 311: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionmageScreen:CancelSequencingSpellsmageScreen:DoneSequencingSpellsmageScreen:EraseKnownSpellmageScreen:GetSpellLevelmageScreen:MemorizeSpellmageScreen:OnDispellButtonClickmageScreen:SequenceSpellmageScreen:SetSpellLevelmageScreen:SpellAllowedForContingencymageScreen:SpellSwappedInContingencymageScreen:UnSequenceSpellmageScreen:UnmemorizeSpell

e = g_pBaldurChitinmageScreen = e:GetEngineWizSpell()

4.16 mapScreen Functions

4.16.1 mapScreen:DisplayExploredMap

mapScreen:DisplayExploredMap()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:DisplayExploredMap()

See Also

:ref:, :ref:

4.16.2 mapScreen:GetColorChoice

mapScreen:GetColorChoice()

Parameters

• **

• **

• **

4.16. mapScreen Functions 307

Page 312: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

mapScreen:GetColorChoice()

See Also

:ref:, :ref:

4.16.3 mapScreen:IsNoteVisible

mapScreen:IsNoteVisible()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:IsNoteVisible()

See Also

:ref:, :ref:

4.16.4 mapScreen:OnColorChoice

mapScreen:OnColorChoice()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:OnColorChoice()

See Also

:ref:, :ref:

308 Chapter 4. EE Game Lua Functions

Page 313: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.16.5 mapScreen:OnMapAddNote

mapScreen:OnMapAddNote()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:OnMapAddNote()

See Also

:ref:, :ref:

4.16.6 mapScreen:OnUserNoteClick

mapScreen:OnUserNoteClick()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:OnUserNoteClick()

See Also

:ref:, :ref:

4.16.7 mapScreen:OnUserNoteDeleteButtonClick

mapScreen:OnUserNoteDeleteButtonClick()

Parameters

• **

• **

• **

4.16. mapScreen Functions 309

Page 314: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

mapScreen:OnUserNoteDeleteButtonClick()

See Also

:ref:, :ref:

4.16.8 mapScreen:OnUserNoteDoneButtonClick

mapScreen:OnUserNoteDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:OnUserNoteDoneButtonClick()

See Also

:ref:, :ref:

4.16.9 mapScreen:ToggleDisplayExploredMap

mapScreen:ToggleDisplayExploredMap()

Parameters

• **

• **

• **

Returns

Notes

Example

mapScreen:ToggleDisplayExploredMap()

See Also

:ref:, :ref:

310 Chapter 4. EE Game Lua Functions

Page 315: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionmapScreen:DisplayExploredMapmapScreen:GetColorChoicemapScreen:IsNoteVisiblemapScreen:OnColorChoicemapScreen:OnMapAddNotemapScreen:OnUserNoteClickmapScreen:OnUserNoteDeleteButtonClickmapScreen:OnUserNoteDoneButtonClickmapScreen:ToggleDisplayExploredMap

e = g_pBaldurChitinmapScreen = e:GetEngineMap()

4.17 mixer Functions

4.17.1 mixer:StartSong

mixer:StartSong()

Parameters

• **

• **

• **

Returns

Notes

Example

mixer:StartSong()

See Also

:ref:, :ref:

Function Descriptionmixer:StartSong

e = g_pBaldurChitinmixer = e:GetSoundMixer()

4.17. mixer Functions 311

Page 316: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.18 moviesScreen Functions

4.18.1 moviesScreen:IsPlayButtonClickable

moviesScreen:IsPlayButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

moviesScreen:IsPlayButtonClickable()

See Also

:ref:, :ref:

4.18.2 moviesScreen:OnCreditsButtonClick

moviesScreen:OnCreditsButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

moviesScreen:OnCreditsButtonClick()

See Also

:ref:, :ref:

4.18.3 moviesScreen:OnDoneButtonClick

moviesScreen:OnDoneButtonClick()

Parameters

• **

• **

312 Chapter 4. EE Game Lua Functions

Page 317: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

moviesScreen:OnDoneButtonClick()

See Also

:ref:, :ref:

4.18.4 moviesScreen:OnMovieItemSelect

moviesScreen:OnMovieItemSelect()

Parameters

• **

• **

• **

Returns

Notes

Example

moviesScreen:OnMovieItemSelect()

See Also

:ref:, :ref:

4.18.5 moviesScreen:OnPlayButtonClick

moviesScreen:OnPlayButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

moviesScreen:OnPlayButtonClick()

4.18. moviesScreen Functions 313

Page 318: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

:ref:, :ref:

Function DescriptionmoviesScreen:IsPlayButtonClickablemoviesScreen:OnCreditsButtonClickmoviesScreen:OnDoneButtonClickmoviesScreen:OnMovieItemSelectmoviesScreen:OnPlayButtonClick

e = g_pBaldurChitinmoviesScreen = e:GetEngineMovies()

4.19 multiplayerScreen Functions

4.19.1 multiplayerScreen:GetEngineState

multiplayerScreen:GetEngineState()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:GetEngineState()

See Also

:ref:, :ref:

4.19.2 multiplayerScreen:KickPlayer

multiplayerScreen:KickPlayer()

Parameters

• **

• **

• **

Returns

Notes

Example

314 Chapter 4. EE Game Lua Functions

Page 319: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

multiplayerScreen:KickPlayer()

See Also

:ref:, :ref:

4.19.3 multiplayerScreen:Logout

multiplayerScreen:Logout()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:Logout()

See Also

:ref:, :ref:

4.19.4 multiplayerScreen:ModifyCharacters

multiplayerScreen:ModifyCharacters()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:ModifyCharacters()

See Also

:ref:, :ref:

4.19.5 multiplayerScreen:OnCancelButtonClick

multiplayerScreen:OnCancelButtonClick()

4.19. multiplayerScreen Functions 315

Page 320: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnCancelButtonClick()

See Also

:ref:, :ref:

4.19.6 multiplayerScreen:OnDoneButtonClick

multiplayerScreen:OnDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnDoneButtonClick()

See Also

:ref:, :ref:

4.19.7 multiplayerScreen:OnKickPlayerButtonClick

multiplayerScreen:OnKickPlayerButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

316 Chapter 4. EE Game Lua Functions

Page 321: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

multiplayerScreen:OnKickPlayerButtonClick()

See Also

:ref:, :ref:

4.19.8 multiplayerScreen:OnLogoutButtonClick

multiplayerScreen:OnLogoutButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnLogoutButtonClick()

See Also

:ref:, :ref:

4.19.9 multiplayerScreen:OnMainDoneButtonClick

multiplayerScreen:OnMainDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnMainDoneButtonClick()

See Also

:ref:, :ref:

4.19.10 multiplayerScreen:OnModifyButtonClick

multiplayerScreen:OnModifyButtonClick()

4.19. multiplayerScreen Functions 317

Page 322: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnModifyButtonClick()

See Also

:ref:, :ref:

4.19.11 multiplayerScreen:OnModifyCharacterDelete

multiplayerScreen:OnModifyCharacterDelete()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnModifyCharacterDelete()

See Also

:ref:, :ref:

4.19.12 multiplayerScreen:OnPermissionButtonClick

multiplayerScreen:OnPermissionButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

318 Chapter 4. EE Game Lua Functions

Page 323: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

multiplayerScreen:OnPermissionButtonClick()

See Also

:ref:, :ref:

4.19.13 multiplayerScreen:OnPlayerSelection

multiplayerScreen:OnPlayerSelection()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnPlayerSelection()

See Also

:ref:, :ref:

4.19.14 multiplayerScreen:OnPortraitButtonClick

multiplayerScreen:OnPortraitButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnPortraitButtonClick()

See Also

:ref:, :ref:

4.19.15 multiplayerScreen:OnReadyButtonClick

multiplayerScreen:OnReadyButtonClick()

4.19. multiplayerScreen Functions 319

Page 324: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:OnReadyButtonClick()

See Also

:ref:, :ref:

4.19.16 multiplayerScreen:SetCharacterSlot

multiplayerScreen:SetCharacterSlot()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:SetCharacterSlot()

See Also

:ref:, :ref:

4.19.17 multiplayerScreen:SetImportSetting

multiplayerScreen:SetImportSetting()

Parameters

• **

• **

• **

Returns

Notes

Example

320 Chapter 4. EE Game Lua Functions

Page 325: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

multiplayerScreen:SetImportSetting()

See Also

:ref:, :ref:

4.19.18 multiplayerScreen:SetModifiedCharacterSlot

multiplayerScreen:SetModifiedCharacterSlot()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:SetModifiedCharacterSlot()

See Also

:ref:, :ref:

4.19.19 multiplayerScreen:ToggleAllowReformParty

multiplayerScreen:ToggleAllowReformParty()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:ToggleAllowReformParty()

See Also

:ref:, :ref:

4.19.20 multiplayerScreen:ToggleListenToJoin

multiplayerScreen:ToggleListenToJoin()

4.19. multiplayerScreen Functions 321

Page 326: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:ToggleListenToJoin()

See Also

:ref:, :ref:

4.19.21 multiplayerScreen:UpdateModifyCharacterPanel

multiplayerScreen:UpdateModifyCharacterPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

multiplayerScreen:UpdateModifyCharacterPanel()

See Also

:ref:, :ref:

322 Chapter 4. EE Game Lua Functions

Page 327: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Function DescriptionmultiplayerScreen:GetEngineStatemultiplayerScreen:KickPlayermultiplayerScreen:LogoutmultiplayerScreen:ModifyCharactersmultiplayerScreen:OnCancelButtonClickmultiplayerScreen:OnDoneButtonClickmultiplayerScreen:OnKickPlayerButtonClickmultiplayerScreen:OnLogoutButtonClickmultiplayerScreen:OnMainDoneButtonClickmultiplayerScreen:OnModifyButtonClickmultiplayerScreen:OnModifyCharacterDeletemultiplayerScreen:OnPermissionButtonClickmultiplayerScreen:OnPlayerSelectionmultiplayerScreen:OnPortraitButtonClickmultiplayerScreen:OnReadyButtonClickmultiplayerScreen:SetCharacterSlotmultiplayerScreen:SetImportSettingmultiplayerScreen:SetModifiedCharacterSlotmultiplayerScreen:ToggleAllowReformPartymultiplayerScreen:ToggleListenToJoinmultiplayerScreen:UpdateModifyCharacterPanel

e = g_pBaldurChitinmultiplayerScreen = e:GetEngineMultiPlayer()

4.20 optionsScreen Functions

4.20.1 optionsScreen:LoadGame

optionsScreen:LoadGame()

Parameters

• **

• **

• **

Returns

Notes

Example

optionsScreen:LoadGame()

See Also

:ref:, :ref:

4.20. optionsScreen Functions 323

Page 328: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.20.2 optionsScreen:QuitGame

optionsScreen:QuitGame()

Parameters

• **

• **

• **

Returns

Notes

Example

optionsScreen:QuitGame()

See Also

:ref:, :ref:

4.20.3 optionsScreen:SaveGame

optionsScreen:SaveGame()

Parameters

• **

• **

• **

Returns

Notes

Example

optionsScreen:SaveGame()

See Also

:ref:, :ref:

4.20.4 optionsScreen:SetEngineState

optionsScreen:SetEngineState()

Parameters

• **

• **

• **

324 Chapter 4. EE Game Lua Functions

Page 329: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

optionsScreen:SetEngineState()

See Also

:ref:, :ref:

Function DescriptionoptionsScreen:LoadGameoptionsScreen:QuitGameoptionsScreen:SaveGameoptionsScreen:SetEngineState

e = g_pBaldurChitinoptionsScreen = e:GetEngineOptions()

4.21 priestScreen Functions

4.21.1 priestScreen:GetSpellLevel

priestScreen:GetSpellLevel()

Parameters

• **

• **

• **

Returns

Notes

Example

priestScreen:GetSpellLevel()

See Also

:ref:, :ref:

4.21.2 priestScreen:MemorizeSpell

priestScreen:MemorizeSpell()

Parameters

• **

• **

4.21. priestScreen Functions 325

Page 330: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

priestScreen:MemorizeSpell()

See Also

:ref:, :ref:

4.21.3 priestScreen:SetSpellLevel

priestScreen:SetSpellLevel()

Parameters

• **

• **

• **

Returns

Notes

Example

priestScreen:SetSpellLevel()

See Also

:ref:, :ref:

4.21.4 priestScreen:UnmemorizeSpell

priestScreen:UnmemorizeSpell()

Parameters

• **

• **

• **

Returns

Notes

Example

priestScreen:UnmemorizeSpell()

326 Chapter 4. EE Game Lua Functions

Page 331: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See Also

:ref:, :ref:

Function DescriptionpriestScreen:GetSpellLevelpriestScreen:MemorizeSpellpriestScreen:SetSpellLevelpriestScreen:UnmemorizeSpell

e = g_pBaldurChitinpriestScreen = e:GetEnginePriestSpell()

4.22 projector Functions

4.22.1 projector:PlayMovie

projector:PlayMovie()

Parameters

• **

• **

• **

Returns

Notes

Example

projector:PlayMovie()

See Also

:ref:, :ref:

Function Descriptionprojector:PlayMovie

e = g_pBaldurChitinprojector = e:GetEngineProjector()

4.23 saveScreen Functions

4.23.1 saveScreen:DeleteGame

saveScreen:DeleteGame()

4.22. projector Functions 327

Page 332: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

saveScreen:DeleteGame()

See Also

:ref:, :ref:

4.23.2 saveScreen:OnMainCancelButtonClick

saveScreen:OnMainCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

saveScreen:OnMainCancelButtonClick()

See Also

:ref:, :ref:

4.23.3 saveScreen:RefreshGameSlots

saveScreen:RefreshGameSlots()

Parameters

• **

• **

• **

Returns

Notes

Example

328 Chapter 4. EE Game Lua Functions

Page 333: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

saveScreen:RefreshGameSlots()

See Also

:ref:, :ref:

4.23.4 saveScreen:SaveGame

saveScreen:SaveGame()

Parameters

• **

• **

• **

Returns

Notes

Example

saveScreen:SaveGame()

See Also

:ref:, :ref:

Function DescriptionsaveScreen:DeleteGamesaveScreen:OnMainCancelButtonClicksaveScreen:RefreshGameSlotssaveScreen:SaveGame

e = g_pBaldurChitinsaveScreen = e:GetEngineSave()

4.24 startEngine Functions

4.24.1 startEngine:DismissChooseCampaignPopup

startEngine:DismissChooseCampaignPopup()

Parameters

• **

• **

• **

4.24. startEngine Functions 329

Page 334: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

startEngine:DismissChooseCampaignPopup()

See Also

:ref:, :ref:

4.24.2 startEngine:GetCampaign

startEngine:GetCampaign()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:GetCampaign()

See Also

:ref:, :ref:

4.24.3 startEngine:GetEngineState

startEngine:GetEngineState()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:GetEngineState()

See Also

:ref:, :ref:

330 Chapter 4. EE Game Lua Functions

Page 335: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.24.4 startEngine:HasGameToContinue

startEngine:HasGameToContinue()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:HasGameToContinue()

See Also

:ref:, :ref:

4.24.5 startEngine:OnCampaignButtonClick

startEngine:OnCampaignButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnCampaignButtonClick()

See Also

:ref:, :ref:

4.24.6 startEngine:OnContinueGame

startEngine:OnContinueGame()

Parameters

• **

• **

• **

4.24. startEngine Functions 331

Page 336: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

startEngine:OnContinueGame()

See Also

:ref:, :ref:

4.24.7 startEngine:OnCreatePartyButtonClick

startEngine:OnCreatePartyButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnCreatePartyButtonClick()

See Also

:ref:, :ref:

4.24.8 startEngine:OnDLCImageClick

startEngine:OnDLCImageClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnDLCImageClick()

See Also

:ref:, :ref:

332 Chapter 4. EE Game Lua Functions

Page 337: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.24.9 startEngine:OnImportCharacterButtonClick

startEngine:OnImportCharacterButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnImportCharacterButtonClick()

See Also

:ref:, :ref:

4.24.10 startEngine:OnLoadGameButtonClick

startEngine:OnLoadGameButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnLoadGameButtonClick()

See Also

:ref:, :ref:

4.24.11 startEngine:OnMultiPlayerButtonClick

startEngine:OnMultiPlayerButtonClick()

Parameters

• **

• **

• **

4.24. startEngine Functions 333

Page 338: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

startEngine:OnMultiPlayerButtonClick()

See Also

:ref:, :ref:

4.24.12 startEngine_OnNewGameButtonClick

startEngine:OnNewGameButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnNewGameButtonClick()

See Also

:ref:, :ref:

4.24.13 startEngine:OnOptionsButtonClick

startEngine:OnOptionsButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnOptionsButtonClick()

See Also

:ref:, :ref:

334 Chapter 4. EE Game Lua Functions

Page 339: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.24.14 startEngine_OnPreGenerateButtonClick

startEngine:OnPreGenerateButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnPreGenerateButtonClick()

See Also

:ref:, :ref:

4.24.15 startEngine_OnPregenSelectButtonClick

startEngine:OnPregenSelectButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnPregenSelectButtonClick()

See Also

:ref:, :ref:

4.24.16 startEngine_OnQuitButtonClick

startEngine:OnQuitButtonClick()

Parameters

• **

• **

• **

4.24. startEngine Functions 335

Page 340: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

startEngine:OnQuitButtonClick()

See Also

:ref:, :ref:

4.24.17 startEngine_OnSoAButtonClick

startEngine:OnSoAButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnSoAButtonClick()

See Also

:ref:, :ref:

4.24.18 startEngine:OnTBPButtonClick

startEngine:OnTBPButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnTBPButtonClick()

See Also

:ref:, :ref:

336 Chapter 4. EE Game Lua Functions

Page 341: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.24.19 startEngine:OnToBButtonClick

startEngine:OnToBButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnToBButtonClick()

See Also

:ref:, :ref:

4.24.20 startEngine:OnTutorialButtonClick

startEngine:OnTutorialButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

startEngine:OnTutorialButtonClick()

See Also

:ref:, :ref:

4.24.21 startEngine:SetEngineState

startEngine:SetEngineState()

Parameters

• **

• **

• **

4.24. startEngine Functions 337

Page 342: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

startEngine:SetEngineState()

See Also

:ref:, :ref:

Note: The startEngine functions are related to the handling of the main title screen dialogs and buttons, includinggame options, game campaign, singleplayer, multiplayer, credits, etc

Function DescriptionstartEngine:DismissChooseCampaignPopupstartEngine:GetCampaignstartEngine:GetEngineStatestartEngine:HasGameToContinuestartEngine:OnCampaignButtonClickstartEngine:OnContinueGamestartEngine:OnCreatePartyButtonClickstartEngine:OnDLCImageClickstartEngine:OnImportCharacterButtonClickstartEngine:OnLoadGameButtonClickstartEngine:OnMultiPlayerButtonClickstartEngine:OnNewGameButtonClickstartEngine:OnOptionsButtonClickstartEngine:OnPreGenerateButtonClickstartEngine:OnPregenSelectButtonClickstartEngine:OnQuitButtonClickstartEngine:OnSoAButtonClickstartEngine:OnTBPButtonClickstartEngine:OnToBButtonClickstartEngine:OnTutorialButtonClickstartEngine:SetEngineState

e = g_pBaldurChitinstartEngine = e:GetEngineStart()

4.25 storeScreen Functions

4.25.1 storeScreen:GetGroupCost

storeScreen:GetGroupCost()

Parameters

• **

338 Chapter 4. EE Game Lua Functions

Page 343: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

• **

Returns

Notes

Example

storeScreen:GetGroupCost()

See Also

:ref:, :ref:

4.25.2 storeScreen:GetIdentifyCost

storeScreen:GetIdentifyCost()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetIdentifyCost()

See Also

:ref:, :ref:

4.25.3 storeScreen:GetMenuName

storeScreen:GetMenuName()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetMenuName()

See Also

:ref:, :ref:

4.25. storeScreen Functions 339

Page 344: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.4 storeScreen:GetPanelButtonEnabled

storeScreen:GetPanelButtonEnabled()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetPanelButtonEnabled()

See Also

:ref:, :ref:

4.25.5 storeScreen:GetPanelButtonId

storeScreen:GetPanelButtonId()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetPanelButtonId()

See Also

:ref:, :ref:

4.25.6 storeScreen:GetPanelButtonPanelId

storeScreen:GetPanelButtonPanelId()

Parameters

• **

• **

• **

340 Chapter 4. EE Game Lua Functions

Page 345: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:GetPanelButtonPanelId()

See Also

:ref:, :ref:

4.25.7 storeScreen:GetPanelButtonSequence

storeScreen:GetPanelButtonSequence()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetPanelButtonSequence()

See Also

:ref:, :ref:

4.25.8 storeScreen:GetPanelButtonToolTip

storeScreen:GetPanelButtonToolTip()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetPanelButtonToolTip()

See Also

:ref:, :ref:

4.25. storeScreen Functions 341

Page 346: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.9 storeScreen:GetRoomCost

storeScreen:GetRoomCost()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetRoomCost()

See Also

:ref:, :ref:

4.25.10 storeScreen:GetRoomType

storeScreen:GetRoomType()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetRoomType()

See Also

:ref:, :ref:

4.25.11 storeScreen:GetSpellCost

storeScreen:GetSpellCost()

Parameters

• **

• **

• **

342 Chapter 4. EE Game Lua Functions

Page 347: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:GetSpellCost()

See Also

:ref:, :ref:

4.25.12 storeScreen:GetStoreCost

storeScreen:GetStoreCost()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetStoreCost()

See Also

:ref:, :ref:

4.25.13 storeScreen:GetStoreName

storeScreen:GetStoreName()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:GetStoreName()

See Also

:ref:, :ref:

4.25. storeScreen Functions 343

Page 348: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.14 storeScreen:IsBuyItemButtonClickable

storeScreen:IsBuyItemButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsBuyItemButtonClickable()

See Also

:ref:, :ref:

4.25.15 storeScreen:IsBuySpellButtonClickable

storeScreen:IsBuySpellButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsBuySpellButtonClickable()

See Also

:ref:, :ref:

4.25.16 storeScreen:IsCloseBagButtonClickable

storeScreen:IsCloseBagButtonClickable()

Parameters

• **

• **

• **

344 Chapter 4. EE Game Lua Functions

Page 349: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:IsCloseBagButtonClickable()

See Also

:ref:, :ref:

4.25.17 storeScreen:IsContainer

storeScreen:IsContainer()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsContainer()

See Also

:ref:, :ref:

4.25.18 storeScreen:IsDonateButtonClickable

storeScreen:IsDonateButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsDonateButtonClickable()

See Also

:ref:, :ref:

4.25. storeScreen Functions 345

Page 350: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.19 storeScreen:IsDoneButtonClickable

storeScreen:IsDoneButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsDoneButtonClickable()

See Also

:ref:, :ref:

4.25.20 storeScreen:IsIdentifyItemButtonClickable

storeScreen:IsIdentifyItemButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsIdentifyItemButtonClickable()

See Also

:ref:, :ref:

4.25.21 storeScreen:IsMainCancelButtonClickable

storeScreen:IsMainCancelButtonClickable()

Parameters

• **

• **

• **

346 Chapter 4. EE Game Lua Functions

Page 351: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:IsMainCancelButtonClickable()

See Also

:ref:, :ref:

4.25.22 storeScreen:IsMainDoneButtonClickable

storeScreen:IsMainDoneButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsMainDoneButtonClickable()

See Also

:ref:, :ref:

4.25.23 storeScreen:IsRentRoomButtonClickable

storeScreen:IsRentRoomButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsRentRoomButtonClickable()

See Also

:ref:, :ref:

4.25. storeScreen Functions 347

Page 352: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.24 storeScreen:IsRoomTypeClickable

storeScreen:IsRoomTypeClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsRoomTypeClickable()

See Also

:ref:, :ref:

4.25.25 storeScreen:IsSellItemButtonClickable

storeScreen:IsSellItemButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsSellItemButtonClickable()

See Also

:ref:, :ref:

4.25.26 storeScreen:IsSpriteOrderable

storeScreen:IsSpriteOrderable()

Parameters

• **

• **

• **

348 Chapter 4. EE Game Lua Functions

Page 353: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:IsSpriteOrderable()

See Also

:ref:, :ref:

4.25.27 storeScreen:IsStealEnabled

storeScreen:IsStealEnabled()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsStealEnabled()

See Also

:ref:, :ref:

4.25.28 storeScreen:IsStealItemButtonClickable

storeScreen:IsStealItemButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:IsStealItemButtonClickable()

See Also

:ref:, :ref:

4.25. storeScreen Functions 349

Page 354: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.29 storeScreen:OnBuyDrinkButtonClick

storeScreen:OnBuyDrinkButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnBuyDrinkButtonClick()

See Also

:ref:, :ref:

4.25.30 storeScreen:OnBuyItemButtonClick

storeScreen:OnBuyItemButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnBuyItemButtonClick()

See Also

:ref:, :ref:

4.25.31 storeScreen:OnBuySpellButtonClick

storeScreen:OnBuySpellButtonClick()

Parameters

• **

• **

• **

350 Chapter 4. EE Game Lua Functions

Page 355: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:OnBuySpellButtonClick()

See Also

:ref:, :ref:

4.25.32 storeScreen:OnCloseBagButtonClick

storeScreen:OnCloseBagButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnCloseBagButtonClick()

See Also

:ref:, :ref:

4.25.33 storeScreen:OnDonateButtonClick

storeScreen:OnDonateButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnDonateButtonClick()

See Also

:ref:, :ref:

4.25. storeScreen Functions 351

Page 356: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.34 storeScreen:OnIdentifyItemButtonClick

storeScreen:OnIdentifyItemButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnIdentifyItemButtonClick()

See Also

:ref:, :ref:

4.25.35 storeScreen:OnMainDoneButtonClick

storeScreen:OnMainDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnMainDoneButtonClick()

See Also

:ref:, :ref:

4.25.36 storeScreen:OnRentRoomButtonClick

storeScreen:OnRentRoomButtonClick()

Parameters

• **

• **

• **

352 Chapter 4. EE Game Lua Functions

Page 357: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:OnRentRoomButtonClick()

See Also

:ref:, :ref:

4.25.37 storeScreen:OnSellItemButtonClick

storeScreen:OnSellItemButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnSellItemButtonClick()

See Also

:ref:, :ref:

4.25.38 storeScreen:OnStealItemButtonClick

storeScreen:OnStealItemButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OnStealItemButtonClick()

See Also

:ref:, :ref:

4.25. storeScreen Functions 353

Page 358: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.39 storeScreen:OpenBag

storeScreen:OpenBag()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:OpenBag()

See Also

:ref:, :ref:

4.25.40 storeScreen:RestParty

storeScreen:RestParty()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:RestParty()

See Also

:ref:, :ref:

4.25.41 storeScreen:SelectGroupItem

storeScreen:SelectGroupItem()

Parameters

• **

• **

• **

354 Chapter 4. EE Game Lua Functions

Page 359: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:SelectGroupItem()

See Also

:ref:, :ref:

4.25.42 storeScreen:SelectIdentifyItem

storeScreen:SelectIdentifyItem()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:SelectIdentifyItem()

See Also

:ref:, :ref:

4.25.43 storeScreen:SelectSpellItem

storeScreen:SelectSpellItem()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:SelectSpellItem()

See Also

:ref:, :ref:

4.25. storeScreen Functions 355

Page 360: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.44 storeScreen:SelectStoreItem

storeScreen:SelectStoreItem()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:SelectStoreItem()

See Also

:ref:, :ref:

4.25.45 storeScreen:SetGroupItemCount

storeScreen:SetGroupItemCount()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:SetGroupItemCount()

See Also

:ref:, :ref:

4.25.46 storeScreen:SetRoomType

storeScreen:SetRoomType()

Parameters

• **

• **

• **

356 Chapter 4. EE Game Lua Functions

Page 361: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:SetRoomType()

See Also

:ref:, :ref:

4.25.47 storeScreen:SetStoreItemCount

storeScreen:SetStoreItemCount()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:SetStoreItemCount()

See Also

:ref:, :ref:

4.25.48 storeScreen:UpdateBuyDrinksPanel

storeScreen:UpdateBuyDrinksPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateBuyDrinksPanel()

See Also

:ref:, :ref:

4.25. storeScreen Functions 357

Page 362: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.49 storeScreen:UpdateBuySellPanel

storeScreen:UpdateBuySellPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateBuySellPanel()

See Also

:ref:, :ref:

4.25.50 storeScreen:UpdateBuySpellPanel

storeScreen:UpdateBuySpellPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateBuySpellPanel()

See Also

:ref:, :ref:

4.25.51 storeScreen:UpdateDonatePanel

storeScreen:UpdateDonatePanel()

Parameters

• **

• **

• **

358 Chapter 4. EE Game Lua Functions

Page 363: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

storeScreen:UpdateDonatePanel()

See Also

:ref:, :ref:

4.25.52 storeScreen:UpdateIdentifyPanel

storeScreen:UpdateIdentifyPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateIdentifyPanel()

See Also

:ref:, :ref:

4.25.53 storeScreen:UpdateRentRoomPanel

storeScreen:UpdateRentRoomPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateRentRoomPanel()

See Also

:ref:, :ref:

4.25. storeScreen Functions 359

Page 364: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.25.54 storeScreen:UpdateStealPanel

storeScreen:UpdateStealPanel()

Parameters

• **

• **

• **

Returns

Notes

Example

storeScreen:UpdateStealPanel()

See Also

:ref:, :ref:

Note: The storeScreen functions are related to the handling of merchant/vendor store interactions: buy, sell, identify,donate, steal and rent rooms

Function DescriptionstoreScreen:GetGroupCoststoreScreen:GetIdentifyCoststoreScreen:GetMenuNamestoreScreen:GetPanelButtonEnabledstoreScreen:GetPanelButtonIdstoreScreen:GetPanelButtonPanelIdstoreScreen:GetPanelButtonSequencestoreScreen:GetPanelButtonToolTipstoreScreen:GetRoomCoststoreScreen:GetRoomTypestoreScreen:GetSpellCoststoreScreen:GetStoreCoststoreScreen:GetStoreNamestoreScreen:IsBuyItemButtonClickablestoreScreen:IsBuySpellButtonClickablestoreScreen:IsCloseBagButtonClickablestoreScreen:IsContainerstoreScreen:IsDonateButtonClickablestoreScreen:IsDoneButtonClickablestoreScreen:IsIdentifyItemButtonClickablestoreScreen:IsMainCancelButtonClickablestoreScreen:IsMainDoneButtonClickablestoreScreen:IsRentRoomButtonClickablestoreScreen:IsRoomTypeClickablestoreScreen:IsSellItemButtonClickablestoreScreen:IsSpriteOrderable

Continued on next page

360 Chapter 4. EE Game Lua Functions

Page 365: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 6 – continued from previous pagestoreScreen:IsStealEnabledstoreScreen:IsStealItemButtonClickablestoreScreen:OnBuyDrinkButtonClickstoreScreen:OnBuyItemButtonClickstoreScreen:OnBuySpellButtonClickstoreScreen:OnCloseBagButtonClickstoreScreen:OnDonateButtonClickstoreScreen:OnIdentifyItemButtonClickstoreScreen:OnMainDoneButtonClickstoreScreen:OnRentRoomButtonClickstoreScreen:OnSellItemButtonClickstoreScreen:OnStealItemButtonClickstoreScreen:OpenBagstoreScreen:RestPartystoreScreen:SelectGroupItemstoreScreen:SelectIdentifyItemstoreScreen:SelectSpellItemstoreScreen:SelectStoreItemstoreScreen:SetGroupItemCountstoreScreen:SetRoomTypestoreScreen:SetStoreItemCountstoreScreen:UpdateBuyDrinksPanelstoreScreen:UpdateBuySellPanelstoreScreen:UpdateBuySpellPanelstoreScreen:UpdateDonatePanelstoreScreen:UpdateIdentifyPanelstoreScreen:UpdateRentRoomPanelstoreScreen:UpdateStealPanel

e = g_pBaldurChitinstoreScreen = e:GetEngineStore()

4.26 timer Functions

4.26.1 timer:AdvanceCurrentTime

timer:AdvanceCurrentTime()

Parameters

• **

• **

• **

Returns

Notes

Example

4.26. timer Functions 361

Page 366: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

timer:AdvanceCurrentTime()

See Also

:ref:, :ref:

4.26.2 timer:GetCurrentHour

timer:GetCurrentHour()

Parameters

• **

• **

• **

Returns

Notes

Example

timer:GetCurrentHour()

See Also

:ref:, :ref:

4.26.3 timer:GetCurrentTime

timer:GetCurrentTime()

Parameters

• **

• **

• **

Returns

Notes

Example

timer:GetCurrentTime()

See Also

:ref:, :ref:

Function Descriptiontimer:AdvanceCurrentTimetimer:GetCurrentHourtimer:GetCurrentTime

362 Chapter 4. EE Game Lua Functions

Page 367: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

e = g_pBaldurChitintimer = game:GetWorldTimer()

4.27 Utility Functions

Note: Utility functions are located in the UTIL.LUA file.

Warning: These functions in UTIL.LUA must be included, as the game engine makes use of them and will likelycrash if not found. Modifying them in an override UTIL.LUA is not recommended unless you know exactly whatyou are doing

Function DescriptionaddInfoEntryaddUserEntryadjustItemGroupautopickMageSpellsbuildJournalTablechapterTextcheckEntryCompleteclearSessionsBeforecreateEntrycreateObjectivecreateQuestcurrentCellCheckdeepcopydisplaySubtitlesdoneTextfadeInOutfilterfindKeyNameByIdfindObjectivefindQuestgetBodyStringgetDisplayQuestCompletegetEntriesTextgetFileNameStringRefgetMinusFramegetOpacityForInfoBlockgetPlusFramegetStringFromAmbiguousSourcegetSubtitleStringgetTitleStringgetTitleTextgetTooltipWithHotkeygreySidebars

Continued on next page

4.27. Utility Functions 363

Page 368: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pagehighlightJournalButtonhighlightStringinOutExpoincrChapterinitLanguageinitQuestsOldkeyExistslengthloadBindingminusButtonClickableneedsEscapeplusButtonClickablepopSidebarspopup2Buttonpopup3Buttonpopup4ButtonpopupDetailspopupInfopopupRequesterprintIniprint_rprocessStringTokensLuapushSidebarsquicksortremoveJournalEntryremoveStringTokenLuaremoveUserEntryresetScrollbarrevertKeymapsetDoneStatesetKeysetSelectedQuestsetStringTokenLuashowTextFlashsortByMageSpellNamesortByPriestSpellNamesortBySpellNamettoggleDoneStatetrimungreySidebarsuniqueFromTableupdateDisplayEntriesupdateDisplayJournalupdateDisplayTitlesupdateJournalEntryOldupdateQuestState

364 Chapter 4. EE Game Lua Functions

Page 369: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.28 worldMapScreen Functions

4.28.1 worldMapScreen:CenterMarker

worldMapScreen:CenterMarker()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:CenterMarker()

See Also

:ref:, :ref:

4.28.2 worldMapScreen:IsTravelButtonClickable

worldMapScreen:IsTravelButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:IsTravelButtonClickable()

See Also

:ref:, :ref:

4.28.3 worldMapScreen:IsTravelButtonVisible

worldMapScreen:IsTravelButtonVisible()

Parameters

• **

• **

4.28. worldMapScreen Functions 365

Page 370: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• **

Returns

Notes

Example

worldMapScreen:IsTravelButtonVisible()

See Also

:ref:, :ref:

4.28.4 worldMapScreen:OnCancelButtonClick

worldMapScreen:OnCancelButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:OnCancelButtonClick()

See Also

:ref:, :ref:

4.28.5 worldMapScreen:OnMapMouseDown

worldMapScreen:OnMapMouseDown()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:OnMapMouseDown()

See Also

:ref:, :ref:

366 Chapter 4. EE Game Lua Functions

Page 371: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

4.28.6 worldMapScreen:OnMapMouseMove

worldMapScreen:OnMapMouseMove()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:OnMapMouseMove()

See Also

:ref:, :ref:

4.28.7 worldMapScreen:StartWorldMap

worldMapScreen:StartWorldMap()

Parameters

• **

• **

• **

Returns

Notes

Example

worldMapScreen:StartWorldMap()

See Also

:ref:, :ref:

4.28.8 worldMapScreen:TravelToSelected

worldMapScreen:TravelToSelected()

Parameters

• **

• **

• **

4.28. worldMapScreen Functions 367

Page 372: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Returns

Notes

Example

worldMapScreen:TravelToSelected()

See Also

:ref:, :ref:

Function DescriptionworldMapScreen:CenterMarkerworldMapScreen:IsTravelButtonClickableworldMapScreen:IsTravelButtonVisibleworldMapScreen:OnCancelButtonClickworldMapScreen:OnMapMouseDownworldMapScreen:OnMapMouseMoveworldMapScreen:StartWorldMapworldMapScreen:TravelToSelected

e = g_pBaldurChitinworldMapScreen = e:GetEngineWorldMap()

4.29 worldScreen Functions

4.29.1 worldScreen:CheckIfPaused

worldScreen:CheckIfPaused()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:CheckIfPaused()

See Also

:ref:, :ref:

4.29.2 worldScreen:ContainerScrollEnabled

worldScreen:ContainerScrollEnabled()

368 Chapter 4. EE Game Lua Functions

Page 373: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:ContainerScrollEnabled()

See Also

:ref:, :ref:

4.29.3 worldScreen:GetCurrentTimeString

worldScreen:GetCurrentTimeString()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetCurrentTimeString()

See Also

:ref:, :ref:

4.29.4 worldScreen:GetHardPaused

worldScreen:GetHardPaused()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 369

Page 374: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:GetHardPaused()

See Also

:ref:, :ref:

4.29.5 worldScreen:GetInControlOfDialog

worldScreen:GetInControlOfDialog()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetInControlOfDialog()

See Also

:ref:, :ref:

4.29.6 worldScreen:GetPickPartyCharacterId

worldScreen:GetPickPartyCharacterId()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetPickPartyCharacterId()

See Also

:ref:, :ref:

4.29.7 worldScreen:GetPickPartyPortrait

worldScreen:GetPickPartyPortrait()

370 Chapter 4. EE Game Lua Functions

Page 375: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetPickPartyPortrait()

See Also

:ref:, :ref:

4.29.8 worldScreen:GetPickPartyRemoveCharacterId

worldScreen:GetPickPartyRemoveCharacterId()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetPickPartyRemoveCharacterId()

See Also

:ref:, :ref:

4.29.9 worldScreen:GetTopContainerItem

worldScreen:GetTopContainerItem()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 371

Page 376: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:GetTopContainerItem()

See Also

:ref:, :ref:

4.29.10 worldScreen:GetTopGroundItem

worldScreen:GetTopGroundItem()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetTopGroundItem()

See Also

:ref:, :ref:

4.29.11 worldScreen:GetTopGroupItem

worldScreen:GetTopGroupItem()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GetTopGroupItem()

See Also

:ref:, :ref:

4.29.12 worldScreen:GroundScrollEnabled

worldScreen:GroundScrollEnabled()

372 Chapter 4. EE Game Lua Functions

Page 377: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GroundScrollEnabled()

See Also

:ref:, :ref:

4.29.13 worldScreen:GroupScrollEnabled

worldScreen:GroupScrollEnabled()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:GroupScrollEnabled()

See Also

:ref:, :ref:

4.29.14 worldScreen:IsPickPartyDoneButtonClickable

worldScreen:IsPickPartyDoneButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 373

Page 378: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:IsPickPartyDoneButtonClickable()

See Also

:ref:, :ref:

4.29.15 worldScreen:IsPickPartyRemoveButtonClickable

worldScreen:IsPickPartyRemoveButtonClickable()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:IsPickPartyRemoveButtonClickable()

See Also

:ref:, :ref:

4.29.16 worldScreen:OnContainerButtonClick

worldScreen:OnContainerButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnContainerButtonClick()

See Also

:ref:, :ref:

4.29.17 worldScreen:OnContainerScroll

worldScreen:OnContainerScroll()

374 Chapter 4. EE Game Lua Functions

Page 379: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnContainerScroll()

See Also

:ref:, :ref:

4.29.18 worldScreen:OnDeathLoad

worldScreen:OnDeathLoad()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnDeathLoad()

See Also

:ref:, :ref:

4.29.19 worldScreen:OnDeathQuit

worldScreen:OnDeathQuit()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 375

Page 380: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:OnDeathQuit()

See Also

:ref:, :ref:

4.29.20 worldScreen:OnDialogReplyClick

worldScreen:OnDialogReplyClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnDialogReplyClick()

See Also

:ref:, :ref:

4.29.21 worldScreen:OnGroundButtonClick

worldScreen:OnGroundButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnGroundButtonClick()

See Also

:ref:, :ref:

4.29.22 worldScreen:OnGroundScroll

worldScreen:OnGroundScroll()

376 Chapter 4. EE Game Lua Functions

Page 381: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnGroundScroll()

See Also

:ref:, :ref:

4.29.23 worldScreen:OnGroupScroll

worldScreen:OnGroupScroll()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnGroupScroll()

See Also

:ref:, :ref:

4.29.24 worldScreen:OnHelpButtonClick

worldScreen:OnHelpButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 377

Page 382: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:OnHelpButtonClick()

See Also

:ref:, :ref:

4.29.25 worldScreen:OnPickPartyDoneButtonClick

worldScreen:OnPickPartyDoneButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnPickPartyDoneButtonClick()

See Also

:ref:, :ref:

4.29.26 worldScreen:OnPickPartyPortraitButtonClick

worldScreen:OnPickPartyPortraitButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnPickPartyPortraitButtonClick()

See Also

:ref:, :ref:

4.29.27 worldScreen:OnQuickSaveButtonClick

worldScreen:OnQuickSaveButtonClick()

378 Chapter 4. EE Game Lua Functions

Page 383: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnQuickSaveButtonClick()

See Also

:ref:, :ref:

4.29.28 worldScreen:OnSelectionButtonClick

worldScreen:OnSelectionButtonClick()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:OnSelectionButtonClick()

See Also

:ref:, :ref:

4.29.29 worldScreen:RemoveCharacterFromParty

worldScreen:RemoveCharacterFromParty()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 379

Page 384: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:RemoveCharacterFromParty()

See Also

:ref:, :ref:

4.29.30 worldScreen:SetHighlightEnabled

worldScreen:SetHighlightEnabled()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:SetHighlightEnabled()

See Also

:ref:, :ref:

4.29.31 worldScreen:StartGroundItems

worldScreen:StartGroundItems()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:StartGroundItems()

See Also

:ref:, :ref:

4.29.32 worldScreen:StepDialog

worldScreen:StepDialog()

380 Chapter 4. EE Game Lua Functions

Page 385: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:StepDialog()

See Also

:ref:, :ref:

4.29.33 worldScreen:StopGroundItems

worldScreen:StopGroundItems()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:StopGroundItems()

See Also

:ref:, :ref:

4.29.34 worldScreen:SwapPortraits

worldScreen:SwapPortraits()

Parameters

• **

• **

• **

Returns

Notes

Example

4.29. worldScreen Functions 381

Page 386: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

worldScreen:SwapPortraits()

See Also

:ref:, :ref:

4.29.35 worldScreen:TakeAllFromContainer

worldScreen:TakeAllFromContainer()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:TakeAllFromContainer()

See Also

:ref:, :ref:

4.29.36 worldScreen:TogglePauseGame

worldScreen:TogglePauseGame()

Parameters

• **

• **

• **

Returns

Notes

Example

worldScreen:TogglePauseGame()

See Also

:ref:, :ref:

Function DescriptionworldScreen:CheckIfPausedworldScreen:ContainerScrollEnabledworldScreen:GetCurrentTimeString

Continued on next page

382 Chapter 4. EE Game Lua Functions

Page 387: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageworldScreen:GetHardPausedworldScreen:GetInControlOfDialogworldScreen:GetPickPartyCharacterIdworldScreen:GetPickPartyPortraitworldScreen:GetPickPartyRemoveCharacterIdworldScreen:GetTopContainerItemworldScreen:GetTopGroundItemworldScreen:GetTopGroupItemworldScreen:GroundScrollEnabledworldScreen:GroupScrollEnabledworldScreen:IsPickPartyDoneButtonClickableworldScreen:IsPickPartyRemoveButtonClickableworldScreen:OnContainerButtonClickworldScreen:OnContainerScrollworldScreen:OnDeathLoadworldScreen:OnDeathQuitworldScreen:OnDialogReplyClickworldScreen:OnGroundButtonClickworldScreen:OnGroundScrollworldScreen:OnGroupScrollworldScreen:OnHelpButtonClickworldScreen:OnPickPartyDoneButtonClickworldScreen:OnPickPartyPortraitButtonClickworldScreen:OnQuickSaveButtonClickworldScreen:OnSelectionButtonClickworldScreen:RemoveCharacterFromPartyworldScreen:SetHighlightEnabledworldScreen:StartGroundItemsworldScreen:StepDialogworldScreen:StopGroundItemsworldScreen:SwapPortraitsworldScreen:TakeAllFromContainerworldScreen:TogglePauseGame

e = g_pBaldurChitinworldScreen = e:GetEngineWorld()

Note: The EE game internally processes the following to allow access to various class methods via specific luafunctions:

e = g_pBaldurChitinstartEngine = e:GetEngineStart()createCharScreen = e:GetEngineCreateChar()characterScreen = e:GetEngineCharacter()connectionScreen = e:GetEngineConnection()mageScreen = e:GetEngineWizSpell()priestScreen = e:GetEnginePriestSpell()worldScreen = e:GetEngineWorld()mapScreen = e:GetEngineMap()worldMapScreen = e:GetEngineWorldMap()

(continues on next page)

4.29. worldScreen Functions 383

Page 388: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

journalScreen = e:GetEngineJournal()inventoryScreen = e:GetEngineInventory()optionsScreen = e:GetEngineOptions()multiplayerScreen = e:GetEngineMultiPlayer()chapterScreen = e:GetEngineChapter()loadScreen = e:GetEngineLoad()saveScreen = e:GetEngineSave()storeScreen = e:GetEngineStore()moviesScreen = e:GetEngineMovies()createPartyScreen = e:GetEngineCreateParty()dlcScreen = e:GetEngineDLC()projector = e:GetEngineProjector()mixer = e:GetSoundMixer()game = e:GetObjectGame()buttonArray = game:GetButtonArray()timer = game:GetWorldTimer()gameOptions = game:GetOptions()

And the CLUAConsole is assigned to C: via:

C = CLUAConsole:new()

384 Chapter 4. EE Game Lua Functions

Page 389: EEex Documentation - Read the Docs

CHAPTER 5

EE Game Structures (x86)

5.1 C2 Structures

• C2DArray

5.1.1 C2DArray

The class that uses this structure is C2DArray Class

Offset Size Type Field0x00 12 CResHelper baseclass_00x0C 4 CString* m_pNamesX0x10 4 CString* m_pNamesY0x14 4 CString* m_pArray0x18 4 CString m_default0x1C 2 short m_nSizeX0x1E 2 short m_nSizeY

5.2 CA Structures

• CAIAction

• CAICondition

• CAIConditionResponse

• CAIGroup

• CAIId

• CAIIdList

385

Page 390: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CAINonPlayerScript

• CAIObjectType

• CAIPlayerScript

• CAIResponse

• CAIResponseSet

• CAIScript

• CAIScriptFile

• CAITrigger

• CAIUtil

• CAOEEntry

• CAbilityData

• CAbilityId

• CApplyEffectList

• CAreaFile

• CAreaFileCharacterEntryPoint

• CAreaFileContainer

• CAreaFileCreature

• CAreaFileDoorObject

• CAreaFileHeader

• CAreaFileOffsets

• CAreaFileProjectileObject

• CAreaFileRandomMonsterSpawningPoint

• CAreaFileRestEncounter

• CAreaFileSoundObject

• CAreaFileStaticObject

• CAreaFileTiledObject

• CAreaFileTriggerObject

• CAreaPoint

• CAreaSoundsAndMusic

• CAreaUserNote

• CAreaVariable

• CArray

• CArray (CDLC)

• CArray (CDLC_Content)

• CArray (COverridePath)

• CArray (CRect)

386 Chapter 5. EE Game Structures (x86)

Page 391: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CArray (CZipFile)

• CArray (Mod_t)

• CArray (StatRating)

• CArray (zip_t)

5.2.1 CAIAction

Used by the CAIAction Class

Offset Size Type Field0x00 2 short m_actionID

2 <padding>0x04 20 CAIObjectType m_actorID0x18 20 CAIObjectType m_acteeID0x2C 20 CAIObjectType m_acteeID20x40 4 long m_specificID0x44 4 long m_specificID20x48 4 long m_specificID30x4C 4 CString m_string10x50 4 CString m_string20x54 8 CPoint m_dest0x5C 4 unsigned long m_internalFlags0x60 4 CString m_source

5.2.2 CAICondition

Used by the CAICondition Class

Offset Size Type Field0x00 28 CTypedPtrList m_triggerList

5.2.3 CAIConditionResponse

Offset Size Type Field0x00 28 CAICondition m_condition0x1C 32 CAIResponseSet m_responseSet

5.2. CA Structures 387

Page 392: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.4 CAIGroup

Used by the CAIGroup Class

Offset Size Type Field0x00 2 short m_groupId

2 <padding>0x04 4 int m_groupChanged0x08 28 CTypedPtrList m_memberList

5.2.5 CAIId

Offset Size Type Field0x00 long m_id0x04 CString m_line0x08 CString m_start

5.2.6 CAIIdList

Used by the CAIIdList Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 12 CResHelper m_cResHelper0x10 4 CString m_fileName0x14 28 CTypedPtrList m_idList0x30 4 int m_faster0x34 4 CAIId** m_pIdArray0x38 4 long m_nArray

5.2.7 CAINonPlayerScript

Offset Size Type Field0x00 12 CResHelper m_cResHelper

388 Chapter 5. EE Game Structures (x86)

Page 393: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.8 CAIObjectType

Used by the CAIObjectType Class

Offset Size Type Field0x00 4 CString m_name0x04 1 unsigned char m_EnemyAlly0x05 1 unsigned char m_General0x06 1 unsigned char m_Race0x07 1 unsigned char m_Class0x08 4 long m_Instance0x0C 5 unsigned char m_SpecialCase[5]0x11 1 unsigned char m_Specifics0x12 1 unsigned char m_Gender0x13 1 unsigned char m_Alignment

Notes

Valid values for the following fields can be found in specific .IDS files:

• m_EnemyAlly valid values can be found in the EA.IDS file

• m_General valid values can be found in the GENERAL.IDS file

• m_Race valid values can be found in the RACE.IDS file

• m_Class valid values can be found in the CLASS.IDS file

• m_Specifics valid values can be found in the SPECIFIC.IDS file

• m_Gender valid values can be found in the GENDER.IDS file

• m_Alignment valid values can be found in the ALIGN.IDS file

5.2.9 CAIPlayerScript

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.2.10 CAIResponse

Used by the CAIResponse Class

Offset Size Type Field0x00 2 short m_weight0x02 2 short m_responseNum0x04 2 short m_responseSetNum0x06 2 short m_scriptNum0x08 28 CTypedPtrList m_actionList

5.2. CA Structures 389

Page 394: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.11 CAIResponseSet

Offset Size Type Field0x00 28 CTypedPtrList m_responseList0x1C 4 long m_weightTotal

5.2.12 CAIScript

Used by the CAIScript Class

Offset Size Type Field0x00 8 CResRef cResRef0x08 28 CTypedPtrList m_caList

5.2.13 CAIScriptFile

Used by the CAIScriptFile Class

Offset Size Type Field0x00 2 short m_parseMode

2 <padding>0x04 4 long m_lineNumber0x08 4 CAIScript* m_curScript0x0C 4 CAIResponseSet* m_curResponseSet0x10 4 CAICondition* m_curCondition0x14 4 CAIResponse* m_curResponse0x18 4 CString m_errors0x1C 16 CFile m_file0x2C 4 CString source0x30 4 CString m_decompiledText0x34 60 CAIIdList m_actions0x70 60 CAIIdList m_triggers0xAC 60 CAIIdList m_objects

5.2.14 CAITrigger

Used by the CAITrigger Class

390 Chapter 5. EE Game Structures (x86)

Page 395: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 2 short m_triggerID

2 <padding>0x04 4 long m_specificID0x08 20 CAIObjectType m_triggerCause0x1C 4 long m_flags0x20 4 long m_specific20x24 4 long m_specific30x28 4 CString m_string10x2C 4 CString m_string2

5.2.15 CAIUtil

See CAIUtil Class

Offset Size Type Field1 <padding>

5.2.16 CAOEEntry

Offset Size Type Field0x00 4 CAOEEntry::AOEType m_type0x04 8 CPoint m_center0x0C 8 CPoint m_radius0x14 4 unsigned long m_color

Notes

enum CAOEEntry::AOEType {AOE_CIRCLE = 0AOE_CONE = 1AOE_RECTANGLE = 2AOE_LINE = 3

}

5.2. CA Structures 391

Page 396: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.17 CAbilityData

Offset Size Type Field0x00 8 CResRef m_icon0x08 4 unsigned long m_name0x0C 4 CString m_effect0x10 4 int m_nMinLevel0x14 4 int m_nMaxLevel0x18 4 int m_nNumAllowed0x1C 4 CString m_sPrereq0x20 4 CString m_sExcludedBy0x24 4 CString m_sAlignmentRestriction

5.2.18 CAbilityId

Offset Size Type Field0x00 2 short m_itemType0x02 2 short m_itemNum0x04 2 short m_abilityNum0x06 8 CResRef m_res0x0E 1 unsigned char m_targetType0x0F 1 unsigned char m_targetCount0x10 4 unsigned long m_toolTip

5.2.19 CApplyEffectList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.2.20 CAreaFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

392 Chapter 5. EE Game Structures (x86)

Page 397: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.21 CAreaFileCharacterEntryPoint

Offset Size Type Field0x00 32 char m_entryName[32]0x20 2 unsigned short m_startX0x22 2 unsigned short m_startY0x24 4 unsigned long m_facing0x28 64 unsigned char m_notUsed[64]

5.2.22 CAreaFileContainer

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 2 unsigned short m_containerType0x26 2 unsigned short m_lockDifficulty0x28 4 unsigned long m_dwFlags0x2C 2 unsigned short m_trapDetectionDifficulty0x2E 2 unsigned short m_trapRemovalDifficulty0x30 2 unsigned short m_trapActivated0x32 2 unsigned short m_trapDetected0x34 2 unsigned short m_posXTrapOrigin0x36 2 unsigned short m_posYTrapOrigin0x38 2 unsigned short m_boundingRectLeft0x3A 2 unsigned short m_boundingRectTop0x3C 2 unsigned short m_boundingRectRight0x3E 2 unsigned short m_boundingRectBottom0x40 4 unsigned long m_startingItem0x44 4 unsigned long m_itemCount0x48 8 char m_script[8]0x50 4 unsigned long m_pickPointStart0x54 2 unsigned short m_pickPointCount0x56 2 unsigned short m_triggerRange0x58 32 char m_ownedBy[32]0x78 8 char m_keyType[8]0x80 4 unsigned long m_breakDifficulty0x84 4 unsigned long m_strNotPickable0x88 56 unsigned char m_notUsed[56]

5.2. CA Structures 393

Page 398: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.23 CAreaFileCreature

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 2 unsigned short m_startingPosX0x26 2 unsigned short m_startingPosY0x28 4 unsigned long m_dwFlags0x2C 2 unsigned short m_type0x2E 1 unsigned char m_cFirstResSlot

1 <structureAlignment1>0x30 4 unsigned long m_animationType0x34 2 unsigned short m_facing

2 <structureAlignment2>0x38 4 unsigned long m_expirationTime0x3c 2 unsigned short m_huntingRange0x3E 2 unsigned short m_followRange0x40 4 unsigned long m_timeOfDayVisible0x44 4 unsigned long m_numberTimesTalkedTo0x48 8 char m_dialogOverride[8]0x50 8 char m_overrideScriptOverride[8]0x58 8 char m_generalScriptOverride[8]0x60 8 char m_classScriptOverride[8]0x68 8 char m_raceScriptOverride[8]0x70 8 char m_defaultScriptOverride[8]0x78 8 char m_specificScriptOverride[8]0x80 8 char m_creatureData[8]0x88 4 unsigned long m_creatureOffset0x8C 4 unsigned long m_creatureSize0x90 32 char m_sName[32]0xB0 96 unsigned char m_notUsed[96]

5.2.24 CAreaFileDoorObject

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 8 unsigned char m_doorID[8]0x28 4 unsigned long m_dwFlags0x2C 4 unsigned long m_openSelectionPointStart0x30 2 unsigned short m_openSelectionPointCount0x32 2 unsigned short m_closedSelectionPointCount0x34 4 unsigned long m_closedSelectionPointStart0x38 2 unsigned short m_openBoundingRectLeft0x3A 2 unsigned short m_openBoundingRectTop0x3C 2 unsigned short m_openBoundingRectRight0x3E 2 unsigned short m_openBoundingRectBottom

Continued on next page

394 Chapter 5. EE Game Structures (x86)

Page 399: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 1 – continued from previous page0x40 2 unsigned short m_closedBoundingRectLeft0x42 2 unsigned short m_closedBoundingRectTop0x44 2 unsigned short m_closedBoundingRectRight0x46 2 unsigned short m_closedBoundingRectBottom0x48 4 unsigned long m_openSearchSquaresStart0x4C 2 unsigned short m_openSearchSquaresCount0x4E 2 unsigned short m_closedSearchSquaresCount0x50 4 unsigned long m_closedSearchSquaresStart0x54 2 short m_hitPoints0x56 2 short m_armourClass0x58 8 unsigned char m_openSound[8]0x60 8 unsigned char m_closeSound[8]0x68 4 unsigned long m_cursorType0x6C 2 unsigned short m_trapDetectionDifficulty0x6E 2 unsigned short m_trapDisarmingDifficulty0x70 2 unsigned short m_trapActivated0x72 2 unsigned short m_trapDetected0x74 2 unsigned short m_posXTrapOrigin0x76 2 unsigned short m_posYTrapOrigin0x78 8 unsigned char m_keyType[8]0x80 8 unsigned char m_script[8]0x88 4 unsigned long m_detectionDifficulty0x8C 4 unsigned long m_lockDifficulty0x90 2 unsigned short m_posXWalkTo10x92 2 unsigned short m_posYWalkTo10x94 2 unsigned short m_posXWalkTo20x96 2 unsigned short m_posYWalkTo20x98 4 unsigned long m_strNotPickable0x9C 32 char m_triggerName[32]0xBC 12 unsigned long m_notUsed[3]

5.2. CA Structures 395

Page 400: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.25 CAreaFileHeader

Offset Size Type Field0x00 8 unsigned char m_areaName[8]0x08 4 unsigned long m_lastSaved0x0C 4 unsigned long m_flags0x10 8 unsigned char m_areaEdgeNorth[8]0x18 4 unsigned long m_flagsEdgeNorth0x1C 8 unsigned char m_areaEdgeEast[8]0x24 4 unsigned long m_flagsEdgeEast0x28 8 unsigned char m_areaEdgeSouth[8]0x30 4 unsigned long m_flagsEdgeSouth0x34 8 unsigned char m_areaEdgeWest[8]0x3C 4 unsigned long m_flagsEdgeWest0x40 2 unsigned short m_areaType0x42 2 unsigned short m_rainProbability0x44 2 unsigned short m_snowProbability0x46 2 unsigned short m_fogProbability0x48 2 unsigned short m_lightningProbability0x4A 1 unsigned char m_waterAlpha0x4B 1 unsigned char m_unused

5.2.26 CAreaFileOffsets

Offset Size Type Field0x00 4 unsigned long m_creatureTableOffset0x04 2 unsigned short m_creatureTableCount0x06 2 unsigned short m_triggerObjectListCount0x08 4 unsigned long m_triggerObjectListOffset0x0C 4 unsigned long m_randomMonsterSpawningPointTableOffset0x10 4 unsigned long m_randomMonsterSpawningPointTableCount0x14 4 unsigned long m_characterEntryPointTableOffset0x18 4 unsigned long m_characterEntryPointTableCount0x1C 4 unsigned long m_containerListOffset0x20 2 unsigned short m_containerListCount0x22 2 unsigned short m_itemObjectsCount0x24 4 unsigned long m_itemObjectsOffset0x28 4 unsigned long m_pointsOffset0x2C 2 unsigned short m_pointsCount0x2E 2 unsigned short m_soundObjectCount0x30 4 unsigned long m_soundObjectOffset0x34 4 unsigned long m_areaScriptVariablesOffset0x38 2 unsigned short m_areaScriptVariablesCount0x3A 2 unsigned short m_tiledObjectFlagsCount0x3C 4 unsigned long m_tiledObjectFlagsOffset0x40 8 unsigned char m_script[8]0x48 4 unsigned long m_visibilityMapCount

Continued on next page

396 Chapter 5. EE Game Structures (x86)

Page 401: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 2 – continued from previous page0x4C 4 unsigned long m_visibilityMapOffset0x50 4 unsigned long m_doorObjectListCount0x54 4 unsigned long m_doorObjectListOffset0x58 4 unsigned long m_staticObjectListCount0x5C 4 unsigned long m_staticObjectListOffset0x60 4 unsigned long m_tiledObjectListCount0x64 4 unsigned long m_tiledObjectListOffset0x68 4 unsigned long m_areaSoundsAndMusicOffset0x6C 4 unsigned long m_restingEncounterOffset0x70 4 unsigned long m_userMapNotesOffset0x74 4 unsigned long m_userMapNotesCount0x78 4 unsigned long m_projectileTableOffset0x7C 4 unsigned long m_projectileTableCount0x80 8 unsigned char m_restMovieDay[8]0x88 8 unsigned char m_restMovieNight[8]0x90 56 unsigned long m_notUsed[14]

5.2.27 CAreaFileProjectileObject

Offset Size Type Field0x00 8 unsigned char m_resref[8]0x08 4 unsigned long m_effectListOffset0x0C 2 unsigned short m_effectListCount0x0E 2 unsigned short m_projectileID0x10 2 short m_nDelayCount0x12 2 short m_nRepetitionCount0x14 2 unsigned short m_posX0x16 2 unsigned short m_posY0x18 2 unsigned short m_posZ0x1A 1 unsigned char m_targetType0x1B 1 char m_portraitNum

5.2. CA Structures 397

Page 402: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.28 CAreaFileRandomMonsterSpawningPoint

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 80 unsigned char m_randomCreature[10][8]0x74 2 unsigned short m_randomCreatureNum0x76 2 unsigned short m_difficulty0x78 2 unsigned short m_spawningRate0x7A 2 unsigned short m_wFlags0x7C 4 unsigned long m_lifeSpan0x80 2 unsigned short m_huntingRange0x82 2 unsigned short m_followRange0x84 2 unsigned short m_maxTypeNum0x86 2 unsigned short m_activated0x88 4 unsigned long m_timeOfDayVisible0x8C 2 unsigned short m_probDay0x8E 2 unsigned short m_probNight0x90 4 unsigned long m_frequency0x94 4 unsigned long m_countdown0x98 10 unsigned char m_weights[10]0xA2 38 unsigned short m_notUsed[19]

5.2.29 CAreaFileRestEncounter

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 40 unsigned long m_randomCreatureString[10]0x48 80 unsigned char m_randomCreature[10][8]0x98 2 unsigned short m_randomCreatureNum0x9A 2 unsigned short m_difficulty0x9C 4 unsigned long m_lifeSpan0xA0 2 unsigned short m_huntingRange0xA2 2 unsigned short m_followRange0xA4 2 unsigned short m_maxTypeNum0xA6 2 unsigned short m_activated0xA8 2 unsigned short m_probDay0xAA 2 unsigned short m_probNight0xAC 2 unsigned short m_wFlags0xAE 10 unsigned char m_weights[10]0xB8 44 unsigned long m_notUsed[11]

398 Chapter 5. EE Game Structures (x86)

Page 403: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.30 CAreaFileSoundObject

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 2 unsigned short m_range0x26 2 unsigned char structureAlignment1[2]0x28 4 unsigned long m_pitchVariance0x2C 2 unsigned short m_volumeVariance0x2E 2 unsigned short m_volume0x30 80 unsigned char soundObject[10][8]0x80 2 unsigned short m_soundObjectNum0x82 2 unsigned char structureAlignment2[2]0x84 4 unsigned long m_period0x88 4 unsigned long m_periodVariance0x8C 4 unsigned long m_timeOfDayActive0x90 4 unsigned long m_dwFlags0x94 64 unsigned long m_notUsed[16]

5.2.31 CAreaFileStaticObject

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 4 unsigned long m_timeOfDayVisible0x28 8 char m_resref[8]0x30 4 unsigned long m_nSequence0x34 4 unsigned long m_dwFlags0x38 2 short m_height0x3A 2 unsigned short m_translucency0x3C 2 unsigned short m_startFrameRange0x3E 1 unsigned char m_probability0x3F 1 unsigned char m_period0x40 8 unsigned char m_paletteResref[8]0x48 2 unsigned short m_sizeX0x4A 2 unsigned short m_sizeY

5.2. CA Structures 399

Page 404: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.32 CAreaFileTiledObject

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 8 unsigned char m_tileID[8]0x28 4 unsigned long m_dwFlags0x2C 4 unsigned long m_primarySearchSquaresStart0x30 2 unsigned short m_primarySearchSquaresCount0x32 2 unsigned short m_secondarySearchSquaresCount0x34 4 unsigned long m_secondarySearchSquaresStart0x38 48 unsigned long m_notUsed[12]

5.2.33 CAreaFileTriggerObject

Offset Size Type Field0x00 32 char m_scriptName[32]0x20 2 unsigned short m_triggerType0x22 2 unsigned short m_boundingRectLeft0x24 2 unsigned short m_boundingRectTop0x26 2 unsigned short m_boundingRectRight0x28 2 unsigned short m_boundingRectBottom0x2A 2 unsigned short m_pickPointCount0x2C 4 unsigned long m_pickPointStart0x30 4 unsigned long m_triggerValue0x34 4 unsigned long m_cursorType0x38 8 unsigned char m_newArea[8]0x40 32 char m_newEntryPoint[32]0x60 4 unsigned long m_dwFlags0x64 4 unsigned long m_description0x68 2 unsigned short m_trapDetectionDifficulty0x6A 2 unsigned short m_trapDisarmingDifficulty0x6C 2 unsigned short m_trapActivated0x6E 2 unsigned short m_trapDetected0x70 2 unsigned short m_posXTrapOrigin0x72 2 unsigned short m_posYTrapOrigin0x74 8 unsigned char m_keyType[8]0x7C 8 unsigned char m_script[8]0x84 2 unsigned short m_transitionWalkToX0x86 2 unsigned short m_transitionWalkToY0x88 60 unsigned long m_notUsed[15]

5.2.34 CAreaPoint

Offset Size Type Field0x00 2 unsigned short m_xPos0x02 2 unsigned short m_yPos

400 Chapter 5. EE Game Structures (x86)

Page 405: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.35 CAreaSoundsAndMusic

Offset Size Type Field0x00 4 unsigned long m_dayMusic0x04 4 unsigned long m_nightMusic0x08 4 unsigned long m_battleWinningMusic0x0C 4 unsigned long m_battleStandOffMusic0x10 4 unsigned long m_battleLosingMusic0x14 4 unsigned long m_alt1Music00x18 4 unsigned long m_alt1Music10x1C 4 unsigned long m_alt1Music20x20 4 unsigned long m_alt1Music30x24 4 unsigned long m_alt1Music40x28 8 unsigned char m_dayAmbient[8]0x30 8 unsigned char m_dayAmbientExtended[8]0x38 4 unsigned long m_dayAmbientVolume0x3C 8 unsigned char m_nightAmbient[8]0x44 8 unsigned char m_nightAmbientExtended[8]0x4C 4 unsigned long m_nightAmbientVolume0x50 64 unsigned long m_notUsed[16]

5.2.36 CAreaUserNote

Offset Size Type Field0x00 2 unsigned short m_startX0x02 2 unsigned short m_startY0x04 4 unsigned long m_note0x08 4 unsigned long m_dwflags0x0C 4 unsigned long m_id0x10 36 unsigned long m_notUsed[9]

5.2.37 CAreaVariable

Offset Size Type Field0x00 32 char m_name[32]0x20 2 unsigned short m_type0x22 2 unsigned short m_resRefType0x24 4 unsigned long m_dWValue0x28 4 long m_intValue0x2C 8 double m_floatValue0x34 32 char m_stringValue[32]

5.2. CA Structures 401

Page 406: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.38 CArray

Note: CArray is a generic definition for all the CArray type structures. Each of them has a m_pData field that pointsto a specific structure. The names of these other CArray structures have been created for convenience, by adding thename of the structure that they point to to the end of the ‘CArray’. The actual definitions as they are seen by the gameengine (and from extracting pdb symbol information) are noted for each of them.

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 DWORD (* to a structure) m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.39 CArray (CDLC)

Note: Defined as class CArray<CDLC,CDLC &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CDLC* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.40 CArray (CDLC_Content)

Note: Defined as class CArray<CDLC_Content,CDLC_Content &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CDLC_Content* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

402 Chapter 5. EE Game Structures (x86)

Page 407: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.41 CArray (COverridePath)

Note: Defined as class CArray<COverridePath,COverridePath &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 COverridePath* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.42 CArray (CRect)

Note: Defined as class CArray<CRect,CRect &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CRect* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.43 CArray (CZipFile)

Note: Defined as class CArray<CZipFile,CZipFile &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CZipFile* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2. CA Structures 403

Page 408: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.2.44 CArray (Mod_t)

Note: Defined as class CArray<Mod_t,Mod_t &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 Mod_t* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.45 CArray (StatRating)

Note: Defined as class CArray<StatRating,StatRating &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 StatRating* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.2.46 CArray (zip_t)

Note: Defined as class CArray<zip_t,zip_t &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 zip_t* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.3 CB Structures

• CBaldurChitin

• CBaldurEngine

404 Chapter 5. EE Game Structures (x86)

Page 409: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CBaldurMessage

• CBaldurProjector

• CBiographyFile

• CBlood

• CBloodPool

• CBmpFile

• CBounceEntry

• CBounceList

• CButtonData

5.3.1 CBaldurChitin

Used by the CBaldurChitin Class

Offset Size Type Field0x00 3344 CChitin m_cChitin0xD10 4 CInfCursor* m_pObjectCursor0xD14 4 CInfGame* m_pObjectGame0xD18 4 CDungeonMaster* m_pEngineDM0xD1C 4 CBaldurProjector* m_pEngineProjector0xD20 4 CScreenAI* m_pEngineAI0xD24 4 CScreenCharacter* m_pEngineCharacter0xD28 4 CScreenCreateChar* m_pEngineCreateChar0xD2C 4 CScreenCreateParty* m_pEngineCreateParty0xD30 4 CScreenInventory* m_pEngineInventory0xD34 4 CScreenJournal* m_pEngineJournal0xD38 4 CScreenLoad* m_pEngineLoad0xD3C 4 CScreenMap* m_pEngineMap0xD40 4 CScreenOptions* m_pEngineOptions0xD44 4 CScreenPriestSpell* m_pEnginePriestSpell0xD48 4 CScreenSave* m_pEngineSave0xD4C 4 CScreenStart* m_pEngineStart0xD50 4 CScreenWizSpell* m_pEngineWizSpell0xD54 4 CScreenWorld* m_pEngineWorld0xD58 4 CScreenStore* m_pEngineStore0xD5C 4 CScreenMultiPlayer* m_pEngineMultiPlayer0xD60 4 CScreenConnection* m_pEngineConnection0xD64 4 CScreenWorldMap* m_pEngineWorldMap0xD68 4 CScreenChapter* m_pEngineChapter0xD6C 4 CScreenMovies* m_pEngineMovies0xD70 4 CScreenDLC* m_pEngineDLC0xD74 60 CTlkTable m_cTlkTable0xDB0 704 CCacheStatus m_cCachingStatus0x1070 8 CScriptCache m_scriptCache0x1078 292 CBaldurMessage m_cBaldurMessage0x119C 32 CMessageHandler m_cMessageHandler0x11bC 4 int m_bFontRectOutline

Continued on next page

5.3. CB Structures 405

Page 410: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 3 – continued from previous page0x11C0 1 unsigned char m_bCDScanDone0x11C1 1 unsigned char m_bCDFoundDrive

2 <padding>0x11C4 4 CString m_sCDDriveName0x11C8 1 unsigned char m_bCDMediaInDrive0x11C9 1 unsigned char m_bCDFoundBaldurCD0x11CA 1 unsigned char m_bIsAutoStarting

1 <padding>0x11CC 4 int m_bDropPanels0x11D0 4 int m_bDropCaps0x11D4 4 int m_bDisableMovies0x11D8 4 int m_bStartConfig0x11DC 4 int m_bSuperSpeedAI0x11E0 4 int m_bFirstRun0x11E4 4 int m_nInstallType0x11E8 4 int m_bUseNewGui0x11EC 32 CVidFont m_preLoadedFont0x120C 168 CVidMosaic m_tiledBackground

4 <padding>

5.3.2 CBaldurEngine

Offset Size Type Field0x00 36 CWarp m_cWarp0x24 4 int m_nSelectedCharacter0x28 4 int m_nPickedCharacter

5.3.3 CBaldurMessage

Used by the CBaldurMessage Class

Offset Size Type Field0x00 1 unsigned char m_bInOnObjectAdd0x01 1 unsigned char m_bInOnObjectDelete0x02 1 unsigned char m_bInOnRestAnnounce0x03 1 unsigned char m_bInOnJournalAnnounce0x04 1 unsigned char m_bInOnAreaMapNoteAnnounce0x05 1 unsigned char m_bInOnAnnounceBiography0x06 1 unsigned char m_bInHandleBlockingMessages0x07 1 unsigned char m_bPlayerShutdown0x08 64 CChatBuffer m_cChatBuffer0x48 1 unsigned char m_nSignalQueueSize0x49 1 unsigned char m_nSignalQueueStart0x4A 1 unsigned char m_nSignalQueueEnd

Continued on next page

406 Chapter 5. EE Game Structures (x86)

Page 411: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 4 – continued from previous page0x4B 24 unsigned char m_pnSignalFrom[24]0x63 24 unsigned char m_pnSignalType[24]0x7B 24 unsigned char m_pnSignalData[24]0x93 1 unsigned char m_bDeleteAreaPolling0x94 4 CString m_sDeleteAreaString0x98 4 unsigned long m_dwDeleteAreaTimeout0x9C 6 unsigned char m_pnDeleteAreaVotes[6]

2 <padding>0xA4 24 int m_pnDeleteAreaVoters[6]0xBC 1 unsigned char m_bCloseSessionPolling

3 <padding>0xC0 4 unsigned long m_dwCloseSessionTimeout0xC4 6 unsigned char m_pnCloseSessionVotes[6]

2 <padding>0xCC 24 int m_pnCloseSessionVoters[6]0xE4 24 int m_pRemovedPlayerID[6]0xFC 1 unsigned char m_bRemovedPlayerID0xFD 1 unsigned char m_bDialogRequestPending0xFE 1 unsigned char m_bDialogReplyReturned0xFF 1 unsigned char m_bDialogReplyValue0x100 4 int m_nDialogReplyUpdates0x104 1 unsigned char m_bLeaveAreaLuaRequestPending0x105 1 unsigned char m_bLeaveAreaLuaReplyReturned0x106 1 unsigned char m_nLeaveAreaLuaReplyValue0x107 1 unsigned char m_bLeaveAreaNameRequestPending0x108 1 unsigned char m_bLeaveAreaNameReplyReturned0x109 1 unsigned char m_nLeaveAreaNameReplyValue0x10A 1 unsigned char m_bMultiplayerSynchClientPending0x10B 1 unsigned char m_bMultiplayerSynchClientFinished0x10C 1 unsigned char m_bMultiplayerSynchServerPending0x10D 1 unsigned char m_bMultiplayerSynchServerFinished0x10E 1 unsigned char m_nMultiplayerSynchClientLocation0x10F 1 unsigned char m_bVersionControlShutdown0x110 4 CString m_sVersionControlShutdownClientString0x114 4 CString m_sVersionControlShutdownServerString0x118 1 unsigned char m_nVersionControlShutdownReason

3 <padding>0x11C 4 unsigned long m_dwSignalSecondsToTimeout0x120 1 unsigned char m_bMultiplayerSessionShutdown0x121 1 unsigned char m_bInReputationChange0x122 1 unsigned char m_bInMessageSetDrawPoly

1 <padding>

5.3.4 CBaldurProjector

Used by the CBaldurProjector Class

5.3. CB Structures 407

Page 412: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 4 CResWebm* m_pMovie0x30 4 int bStretchToScreen0x34 4 CFile* mve_file0x38 4 int m_deactivateEngine0x3C 24 CKeyInfo m_pVirtualKeys[2]0x54 8 int m_pVirtualKeysFlags[2]0x5C 28 CTypedPtrList m_movieResRef0x78 1 unsigned char m_bSelectEngine0x79 1 unsigned char m_bFirstRender

2 <padding>0x7C 4 void* m_pCodec0x80 4 int m_nFirstFrameTime0x84 20 CSound m_cSoundOverride0x98 8 CResRef m_cSubtitles0xA0 32 CVidFont m_vidFont0xC0 4 int m_bDisplayTOBMovie

5.3.5 CBiographyFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.3.6 CBlood

Offset Size Type Field0x00 4 CGameArea* m_pArea0x04 28 CTypedPtrList m_particleList0x20 28 CTypedPtrList m_lstSplashParticles0x3C 8 CPoint m_refPoint0x44 8 CPoint m_pos0x4C 4 long m_posZ0x50 2 short m_nTimeStamp

2 <padding>0x54 12 unsigned long m_aColors[3]0x60 16 CRect m_rBounding0x70 2 short m_nDirection0x72 2 unsigned short m_particleType0x74 2 unsigned short m_bloodType

2 <padding>0x78 4 long m_nCharHeight0x7C 1 unsigned char m_bLeavePool

3 <padding>

408 Chapter 5. EE Game Structures (x86)

Page 413: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.3.7 CBloodPool

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 28 CTypedPtrList m_particleList0x64 2 unsigned short m_nDensity0x66 2 unsigned short m_nNumParticles0x68 2 unsigned short m_nLifeTime

2 <padding>0x6C 4 unsigned long m_rgbColor0x70 8 CPoint m_refPoint0x78 16 CRect m_rBounding

5.3.8 CBmpFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.3.9 CBounceEntry

Offset Size Type Field0x00 4 long m_levelDecrement0x04 4 unsigned long m_effectId0x08 4 CProjectile* m_pProjectile0x0C 4 int m_decrementOnly0x10 4 unsigned long m_string0x14 4 int m_stringOnly0x18 4 int m_recoverSpellLevels

5.3.10 CBounceList

Used by the CBounceList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.3. CB Structures 409

Page 414: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.3.11 CButtonData

Offset Size Type Field0x00 8 CResRef m_icon0x08 4 unsigned long m_name0x0C 8 CResRef m_launcherIcon0x14 4 unsigned long m_launcherName0x18 2 short m_count

2 <padding>0x1C 20 CAbilityId m_abilityId0x30 1 unsigned char m_bDisabled0x31 1 unsigned char m_bDisplayCount

2 <padding>

5.4 CC Structures

• CCacheStatus

• CCallResult

• CCallbackBase

• CCharacterFile

• CChatBuffer

• CChitin

• CCmdTarget

• CColorEffect

• CColorEffects

• CColorRange

• CColorRanges

• CContingency

• CContingencyList

• CContingencySpell

• CCreatureFile

• CCreatureFileEquipment

• CCreatureFileHeader

• CCreatureFileItem

• CCreatureFileKnownSpell

• CCreatureFileMemorizedSpell

• CCreatureFileMemorizedSpellLevel

• CCreatureFileOffsets

• CCriticalEntry

410 Chapter 5. EE Game Structures (x86)

Page 415: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CCriticalEntryList

• CCrypt

5.4.1 CCacheStatus

Used by the CCacheStatus Class

Offset Size Type Field0x00 4 int m_nDrawnBars0x04 4 int m_nScreensDrawn0x08 4 int m_bDemandedResources0x0C 4 int m_bTravelScreen0x10 4 long m_nProgressBarCaption0x14 4 long m_nParchmentCaption0x18 4 unsigned long m_dwLastUpdateTickCount0x1C 4 int m_nTimeToNewHint0x20 4 int m_nCurrentHint0x24 4 long m_nCurrentHintRef0x28 4 int m_bWaiting0x2C 32 CVidFont m_vidFont0x4C 32 CVidFont m_initialsFont0x6C 32 CVidFont m_parchmentFont0x8C 168 CVidMosaic m_titleBar0x134 192 CVidCell m_skullAnimating0x1F4 192 CVidCell m_progressBar0x2B4 4 int m_nAnimationFrame0x2B8 4 int m_nAnimationDirection0x2BC 4 int m_bActivateEngine

5.4.2 CCallResult

Offset Size Type Field0x00 12 CCallbackBase m_cCallbackBase

4 <padding>0x10 8 QWORD (unsigned __int64) m_hAPICall0x18 4 CSteam* m_pObj0x1C 4 void __thiscall * m_Func

5.4.3 CCallbackBase

Offset Size Type Field0x00 4 DWORD vfptr0x04 1 unsigned char m_nCallbackFlags

3 <padding>0x08 4 int m_iCallback

5.4. CC Structures 411

Page 416: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.4 CCharacterFile

Offset Size Type Field0x00 12 CResHelper cResHelper

5.4.5 CChatBuffer

Used by the CChatBuffer Class

Offset Size Type Field0x00 28 CTypedPtrList m_lLabels0x1c 28 CTypedPtrList m_lMessages0x38 4 int m_nMessageCount0x3C 4 int m_nDisplayCount

5.4.6 CChitin

Used by the CChitin Class

Offset Size Type Field0x00 4 vfptr vfptr

4 <padding>0x08 4 int m_mouseLButton0x0C 4 int m_mouseRButton0x10 4 int m_bMouseLButtonDown0x14 8 POINT m_mouseLDblClickPoint0x1C 4 unsigned int m_mouseLDblClickCount0x20 4 int m_bMouseRButtonDown0x24 8 POINT m_mouseRDblClickPoint0x2C 4 unsigned int m_mouseRDblClickCount0x30 4 int m_bMouseMButtonDown0x34 8 POINT m_mouseMDblClickPoint0x3C 4 unsigned int m_mouseMDblClickCount0x40 4 unsigned int m_mouseDblClickTime0x44 8 SIZE m_mouseDblClickSize0x4C 4 int bEngineActive0x50 4 int bServicingEnabled0x54 4 int bMessagesEnabled0x58 28 CObList lEngines0x74 4 unsigned int nIterations0x78 4 CWarp* pStartingEngine

Continued on next page

412 Chapter 5. EE Game Structures (x86)

Page 417: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous page0x7C 4 unsigned int nTimer0x80 4 unsigned int nTimerRes0x84 4 CString m_sCommandLine0x88 16 CRect m_rClient0x98 1 unsigned char m_bReInitializing0x99 1 unsigned char m_bScreenEdgeScroll

2 <padding>0x9C 4 unsigned long m_opSystemPlatformId0xA0 2 short m_capsLockState

2 <padding>0xA4 8 CPoint m_ptScreen0xAC 4 int m_bStartUpHost0xB0 4 int m_bStartUpConnect0xB4 4 CString m_sStartUpAddress0xB8 4 CString m_sStartUpPort0xBC 4 CString m_sStartUpPlayer0xC0 4 CString m_sStartUpPassword0xC4 4 int m_bStartUpNewGame0xC8 4 int m_bStartUpLoadGame0xCC 4 CString m_sStartUpSession0xD0 1 unsigned char m_bStartUpDirectPlayLobby0xD1 1 unsigned char m_bStartUpGameSpyLocation

2 <padding>0xD4 4 CString m_sStartUpGameSpyLocation0xD8 1 unsigned char m_bStartUpThroneOfBhaal

3 <padding>0xDC 4 CSoundMixer* cSoundMixer0xE0 4 int m_nMaxPlayers0xE4 4 int m_nCurrentSong0xE8 16 _EAXPRESET m_nSoundEnvironment0xF8 4 int m_bSoundInitialized0xfc 1 unsigned char padding

3 <padding>0x100 4 int m_bInMouseWheelQueue0x104 28 CTypedPtrList m_lstMouseWheel0x120 4 unsigned long m_wheelScrollLines0x124 4 int m_bIsMouseInWindow0x128 4 int m_bFrameOutline0x12C 4 int m_bUseMirrorFX0x130 4 unsigned int m_msgAutoPlay0x134 4 void* m_hEvent0x138 1 unsigned char m_bUsePlanescapeSoundReduction Curve

3 <padding>0x13C 4 unsigned long m_nSoundReductionCurveRadius0x140 4 unsigned long m_nTickCount0x144 4 int m_nAIPerSec0x148 4 int m_nAIElasped0x14C 4 unsigned long m_nRenderTickCount0x150 4 int m_nRenderPerSec0x154 4 int m_nRenderElasped

Continued on next page

5.4. CC Structures 413

Page 418: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous page0x158 4 int m_nAISleeper0x15C 4 int m_bIsTouchUI0x160 4 int m_bUseBGRA0x164 4 int m_bRenderTilesLinear0x168 4 CString m_sFontName0x16C 4 int m_nFullFrameTimer0x170 4 int m_nGameTimer0x174 4 int m_nRenderTimer0x178 4 int m_nSearchTimer0x17C 4 CWarp* pActiveEngine0x180 4 CVideo cVideo0x184 2408 CNetwork cNetwork

4 <padding>0xAF0 328 CSteam cSteam0xC38 1 unsigned char padding2

3 <padding>0xC3C 4 int bPointerUpdated0xC40 8 CPoint cMousePosition0xC48 4 long nAUCounter0xC4C 4 int bInTimer0xC50 4 int m_AIStale0xC54 4 int m_displayStale0xC58 4 int m_bInSyncUpdate0xC5C 4 unsigned long m_keyRepeatDelay0xC60 4 unsigned long m_keyRepeatRate0xC64 112 CProgressBar cProgressBar0xCD4 2 unsigned short m_nAICounter

2 <padding>0xCD8 4 int m_bManualFrameControl0xCDC 4 int m_displayDebug0xCE0 4 int m_displaySerialize0xCE4 4 int m_bExitOnError0xCE8 4 int m_bEnableCucumber0xCEC 4 CResRef * pCurRes0xCF0 4 CString m_sFontNameNormal0xCF4 4 CString m_sFontNameRealms0xCF8 4 CString m_sFontNameStoneBig0xCFC 4 CString m_sFontNameStoneSml0xD00 4 CString m_sFontNameToolFont0xD04 4 CString m_sFontNameFloatTxt0xD08 4 int m_bDisplaySubtitles0xD0C 4 int m_bReverseMouseWheelZoom

414 Chapter 5. EE Game Structures (x86)

Page 419: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.7 CClosure

Offset Size Type Field0x00 4 GCObject* next0x04 1 unsigned char tt0x05 1 unsigned char marked0x06 1 unsigned char nupvalues

1 <padding>0x08 4 GCObject* gclist0x0C 4 int (__cdecl * f)(lua_State*)0x10 8 lua_TValue upvalue[1]

5.4.8 CCmdTarget

Offset Size Type Field0x00 4 CObject m_cObject

5.4.9 CColorEffect

Offset Size Type Field0x00 1 unsigned char m_effectType0x01 1 unsigned char m_range

2 <padding>0x04 4 unsigned long m_tintColor0x08 1 unsigned char m_periodLength

3 <padding>

5.4.10 CColorEffects

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.4.11 CColorRange

Offset Size Type Field0x00 1 unsigned char m_range0x01 1 unsigned char m_color

5.4. CC Structures 415

Page 420: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.12 CColorRanges

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.4.13 CContingency

Offset Size Type Field0x00 48 CAITrigger m_cTrigger0x30 8 CResRef m_cSpellRes0x38 8 CResRef m_cSpellRes20x40 8 CResRef m_cSpellRes30x48 20 CAIObjectType m_cTarget0x5C 4 unsigned long m_dwFlags0x60 324 CGameEffect m_parentEffect0x1A4 4 unsigned long m_dwTarget0x1A8 4 unsigned long m_dwCondition0x1AC 4 unsigned long m_nLastCheck

5.4.14 CContingencyList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.4.15 CContingencySpell

Offset Size Type Field0x00 8 unsigned char m_spellId0x08 8 unsigned char m_origId0x10 2 unsigned short m_flags

5.4.16 CCreatureFile

Offset Size Type Field0x00 12 CResHelper cResHelper

416 Chapter 5. EE Game Structures (x86)

Page 421: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.17 CCreatureFileEquipment

Offset Size Type Field0x00 2 unsigned short m_helmetItem0x02 2 unsigned short m_armorItem0x04 2 unsigned short m_shieldItem0x06 2 unsigned short m_gauntletsItem0x08 2 unsigned short m_ringLeftItem0x0A 2 unsigned short m_ringRightItem0x0C 2 unsigned short m_amuletItem0x0E 2 unsigned short m_beltItem0x10 2 unsigned short m_bootsItem0x12 8 unsigned short m_weaponItem[4]0x1A 8 unsigned short m_ammoItem[4]0x22 2 unsigned short m_cloakItem0x24 40 unsigned short m_miscItem[20]0x4C 2 unsigned short m_selectedWeapon0x4E 2 unsigned short m_selectedWeaponAbility

Notes

Related to CRE V1.0 Item Slots

5.4.18 CCreatureFileHeader

Offset Size Type Field0x00 4 unsigned long m_name0x04 4 unsigned long m_apparentName0x08 4 unsigned long m_flags0x0C 4 unsigned long m_xpValue0x10 4 unsigned long m_xp0x14 4 unsigned long m_gold0x18 4 unsigned long m_generalState0x1C 2 short m_hitPoints0x1E 2 unsigned short m_maxHitPointsBase0x20 4 unsigned long m_animationType0x24 7 unsigned char m_colors[7]0x2B 1 unsigned char m_effectVersion0x2C 8 unsigned char m_portraitSmall[8]0x34 8 unsigned char m_portraitLarge[8]0x3C 1 unsigned char m_reputation0x3D 1 unsigned char m_hideInShadowsBase0x3E 2 short m_armorClass0x40 2 short m_armorClassBase0x42 2 short m_armorClassCrushingAdjustment0x44 2 short m_armorClassMissileAdjustment0x46 2 short m_armorClassPiercingAdjustment0x48 2 short m_armorClassSlashingAdjustment

Continued on next page

5.4. CC Structures 417

Page 422: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 6 – continued from previous page0x4A 1 char m_toHitArmorClass0Base0x4B 1 unsigned char m_numberOfAttacksBase0x4C 1 unsigned char m_saveVSDeathBase0x4D 1 unsigned char m_saveVSWandsBase0x4E 1 unsigned char m_saveVSPolyBase0x4F 1 unsigned char m_saveVSBreathBase0x50 1 unsigned char m_saveVSSpellBase0x51 1 char m_resistFireBase0x52 1 char m_resistColdBase0x53 1 char m_resistElectricityBase0x54 1 char m_resistAcidBase0x55 1 char m_resistMagicBase0x56 1 char m_resistMagicFireBase0x57 1 char m_resistMagicColdBase0x58 1 char m_resistSlashingBase0x59 1 char m_resistCrushingBase0x5A 1 char m_resistPiercingBase0x5B 1 char m_resistMissileBase0x5C 1 unsigned char m_detectIllusionBase0x5D 1 unsigned char m_setTrapsBase0x5E 1 unsigned char m_loreBase0x5F 1 unsigned char m_lockPickingBase0x60 1 unsigned char m_moveSilentlyBase0x61 1 unsigned char m_trapsBase0x62 1 unsigned char m_pickPocketBase0x63 1 unsigned char m_fatigue0x64 1 unsigned char m_intoxication0x65 1 char m_luckBase0x66 15 char m_proficiencies[15]0x75 1 unsigned char m_bNightmare0x76 1 unsigned char m_nTranslucent0x77 1 char m_repChangeKilled0x78 1 char m_repChangeJoined0x79 1 char m_repChangeKicked0x7A 1 unsigned char m_undeadLevel0x7B 1 unsigned char m_trackingBase0x7C 32 char m_trackingTarget[32]0x9C 400 unsigned long m_speech[100]0x22C 1 unsigned char m_level10x22D 1 unsigned char m_level20x22E 1 unsigned char m_level30x22F 1 unsigned char m_sex0x230 1 unsigned char m_STRBase0x231 1 unsigned char m_STRExtraBase0x232 1 unsigned char m_INTBase0x233 1 unsigned char m_WISBase0x234 1 unsigned char m_DEXBase0x235 1 unsigned char m_CONBase0x236 1 unsigned char m_CHRBase0x237 1 unsigned char m_morale

Continued on next page

418 Chapter 5. EE Game Structures (x86)

Page 423: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 6 – continued from previous page0x238 1 unsigned char m_moraleBreak0x239 1 unsigned char m_hatedRace0x23A 2 unsigned short m_moraleRecoveryTime0x23C 2 unsigned short m_mageSpecUpperWord0x23E 2 unsigned short m_mageSpecialization0x240 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

5.4.19 CCreatureFileItem

Offset Size Type Field0x00 8 unsigned char m_itemId[8]0x08 2 unsigned short m_wear0x0A 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

5.4.20 CCreatureFileKnownSpell

Offset Size Type Field0x00 8 unsigned char m_knownSpellId[8]0x08 2 unsigned short m_spellLevel0x0A 2 unsigned short m_magicType

Notes

5.4. CC Structures 419

Page 424: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Related to CRE V1.0 Known Spells

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

5.4.21 CCreatureFileMemorizedSpell

Offset Size Type Field0x00 8 unsigned char m_spellId[8]0x08 2 unsigned short m_flags0x0A 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

5.4.22 CCreatureFileMemorizedSpellLevel

Offset Size Type Field0x00 2 unsigned short m_spellLevel0x02 2 unsigned short m_baseCount0x04 2 unsigned short m_count0x06 2 unsigned short m_magicType0x08 4 unsigned long m_memorizedStartingSpell0x0C 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 CCreatureFileMemorized-Spell 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 memorizedspells of this type in this level

420 Chapter 5. EE Game Structures (x86)

Page 425: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.23 CCreatureFileOffsets

Offset Size Type Field0x00 1 unsigned char m_enemyAlly0x01 1 unsigned char m_general0x02 1 unsigned char m_race0x03 1 unsigned char m_class0x04 1 unsigned char m_specifics0x05 1 unsigned char m_gender0x06 1 unsigned char m_specialCase[5]0x0B 1 unsigned char m_alignment0x0C 4 long m_instance0x10 32 char m_name[32]0x30 4 unsigned long m_knownSpellListOffset0x34 4 unsigned long m_knownSpellListCount0x38 4 unsigned long m_memorizationLevelListOffset0x3C 4 unsigned long m_memorizationLevelListCount0x40 4 unsigned long m_memorizationSpellListOffset0x44 4 unsigned long m_memorizationSpellListCount0x48 4 unsigned long m_equipmentListOffset0x4C 4 unsigned long m_itemListOffset0x50 4 unsigned long m_itemListCount0x54 4 unsigned long m_effectListOffset0x58 4 unsigned long m_effectListCount0x5C 8 unsigned char m_dialog[8]

Notes

Related to offset 0x0270 of CRE V1.0 Header

5.4.24 CCriticalEntry

Offset Size Type Field0x00 8 CResRef m_res0x08 4 int m_hitOrMiss0x0C 4 int m_slot0x10 4 int m_attackType0x14 4 int m_itemType0x18 4 int m_bonus

5.4.25 CCriticalEntryList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.4. CC Structures 421

Page 426: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.4.26 CCrypt

Offset Size Type Field1 <padding>

5.5 CD Structures

• CDLC

• CDLC_Content

• CDWordArray

• CDeathSound

• CDerivedStats

• CDerivedStatsTemplate

• CDialogFile

• CDialogFile_ActionScript

• CDialogFile_Dialog

• CDialogFile_Header

• CDialogFile_Reply

• CDialogFile_ReplyConditional

• CDialogFile_StartingConditional

• CDungeonMaster

5.5.1 CDLC

Offset Size Type Field0x00 4 CString name0x04 4 CString image0x08 4 int title0x0C 4 int description0x10 4 CString ios_name0x14 4 int purchased0x18 4 CString android_name

5.5.2 CDLC_Content

Offset Size Type Field0x00 4 CString name0x04 4 int dlc_id

422 Chapter 5. EE Game Structures (x86)

Page 427: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.5.3 CDWordArray

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 unsigned long* m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.5.4 CDeathSound

Offset Size Type Field0x00 4 long m_soundLength0x04 4 long m_characterId0x08 2 short m_soundNum

2 <padding>0x0C 4 int m_started0x10 4 CAITrigger* m_pTrigger

5.5.5 CDerivedStats

Used by the CDerivedStats Class

Offset Size Type Field0x00 752 CDerivedStatsTemplate m_cDerivedStatsTemplate0x2F0 28 CImmunitiesProjectile m_cImmunitiesProjectile0x30C 28 CImmunitiesEffect m_cImmunitiesEffect0x328 28 CImmunitiesAIType m_cImmunitiesAIType0x344 40 CImmunitiesSpellLevel m_cImmunitiesSpellLevel0x36C 28 CImmunitiesWeapon m_cImmunitiesWeapon0x388 28 CSelectiveBonusList m_cToHitBonusList0x3A4 28 CSelectiveBonusList m_cDamageBonusList0x3C0 28 CImmunitiesItemEquipList m_cImmunitiesItemEquip0x3DC 28 CImmunitiesItemTypeEquipList m_cImmunitiesItemTypeEquip0x3F8 28 CImmunitiesProjectile m_cBounceProjectile0x414 28 CImmunitiesEffect m_cBounceEffect0x430 40 CImmunitiesSpellLevel m_cBounceSpellLevel0x458 80 CImmunitiesSpellLevelDecrementing m_cBounceProjectileLevelDec0x4A8 80 CImmunitiesSpellLevelDecrementing m_cImmunitiesProjectileLevelDec0x4F8 28 CImmunitiesSchoolAndSecondary m_cImmunitiesSchool0x514 28 CImmunitiesSchoolAndSecondary m_cImmunitiesSecondaryType0x530 28 CImmunitiesSchoolAndSecondary m_cBounceSchool0x54C 28 CImmunitiesSchoolAndSecondary m_cBounceSecondaryType0x568 28 CImmunitiesItemEquipList m_cImmunitiesItemUse

Continued on next page

5.5. CD Structures 423

Page 428: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous page0x584 28 CImmunitiesItemTypeEquipList m_cImmunitiesItemTypeUse0x5A0 28 CImmunitiesSpellList m_cImmunitiesSpell0x5BC 28 CImmunitiesSpellList m_cBounceSpell0x5D8 28 CImmunitiesSchoolAndSecondaryDecrementing m_cImmunitiesSchoolLevelDec0x5F4 28 CImmunitiesSchoolAndSecondaryDecrementing m_cImmunitiesSecondaryTypeLevelDec0x610 28 CImmunitiesSchoolAndSecondaryDecrementing m_cBounceSchoolLevelDec0x62C 28 CImmunitiesSchoolAndSecondaryDecrementing m_cBounceSecondaryTypeLevelDec0x648 28 CContingencyList m_cContingencyList0x664 32 CPersistantEffectListRegenerated m_cRegeneratedPersistantEffectList0x684 80 CImmunitiesSpellLevelDecrementing m_cSpellTrapLevelDec0x6D4 28 CContingencyList m_cSequencerList0x6F0 28 CColorRanges m_appliedColorRanges0x70C 28 CColorEffects m_appliedColorEffects0x728 144 CCreatureFileMemorizedSpellLevel m_memorizedSpellsLevelMage[9]0x7B8 112 CCreatureFileMemorizedSpellLevel m_memorizedSpellsLevelPriest[7]0x828 64 int m_disabledButtons[16]0x868 12 int m_disabledSpellTypes[3]0x874 4 int m_disableSpells0x878 28 CApplyEffectList m_cExtraMeleeEffects0x894 28 CApplyEffectList m_cExtraRangedEffects0x8B0 28 CSelectiveBonusList m_cProtectionList0x8CC 28 CSelectiveWeaponTypeList m_cSelectiveWeaponTypeList0x8E8 28 CCriticalEntryList m_cCriticalEntryList0x904 32 unsigned long m_spellStates[8]

5.5.6 CDerivedStatsTemplate

Offset Size Type Field0x00 4 unsigned long m_generalState0x04 2 short m_nMaxHitPoints0x06 2 short m_nArmorClass0x08 2 short m_nACCrushingMod0x0A 2 short m_nACMissileMod0x0C 2 short m_nACPiercingMod0x0E 2 short m_nACSlashingMod0x10 2 short m_nTHAC00x12 2 short m_nNumberOfAttacks0x14 2 short m_nSaveVSDeath0x16 2 short m_nSaveVSWands0x18 2 short m_nSaveVSPoly0x1A 2 short m_nSaveVSBreath0x1C 2 short m_nSaveVSSpell0x1E 2 short m_nResistFire0x20 2 short m_nResistCold0x22 2 short m_nResistElectricity0x24 2 short m_nResistAcid0x26 2 short m_nResistMagic

Continued on next page

424 Chapter 5. EE Game Structures (x86)

Page 429: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous page0x28 2 short m_nResistMagicFire0x2A 2 short m_nResistMagicCold0x2C 2 short m_nResistSlashing0x2E 2 short m_nResistCrushing0x30 2 short m_nResistPiercing0x32 2 short m_nResistMissile0x34 2 short m_nLore0x36 2 short m_nLockPicking0x38 2 short m_nMoveSilently0x3A 2 short m_nTraps0x3C 2 short m_nPickPocket0x3E 2 short m_nFatigue0x40 2 short m_nIntoxication0x42 2 short m_nLuck0x44 2 short m_nTracking0x46 2 unsigned short m_nLevel10x48 2 unsigned short m_nLevel20x4A 2 unsigned short m_nLevel30x4C 2 short m_nSex0x4E 2 short m_nSTR0x50 2 short m_nSTRExtra0x52 2 short m_nINT0x54 2 short m_nWIS0x56 2 short m_nDEX0x58 2 short m_nCON0x5A 2 short m_nCHR0x5C 4 unsigned long m_nXPValue0x60 4 unsigned long m_nXP0x64 4 unsigned long m_nGold0x68 4 unsigned long m_nMoraleBreak0x6C 4 unsigned long m_nMoraleRecoveryTime0x70 2 short m_nReputation0x72 2 short m_nHatedRace0x74 4 long m_nHideInShadows0x78 4 long m_nDetectIllusion0x7C 4 long m_nSetTraps0x80 2 short m_nDamageBonus0x82 2 short m_nSpellFailureMage0x84 2 short m_nSpellFailurePriest0x86 2 short m_nSpellDurationModMage0x88 2 short m_nSpellDurationModPriest0x8A 2 short m_nTurnUndeadLevel0x8C 2 short m_nBackstabDamageMultiplier0x8E 2 short m_nLayOnHandsAmount0x90 4 int m_bHeld0x94 4 int m_bPolymorphed0x98 4 int m_bIdentifyMode0x9C 4 int m_bEntangle0xA0 4 int m_bSanctuary0xA4 4 int m_bMinorGlobe

Continued on next page

5.5. CD Structures 425

Page 430: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous page0xA8 4 int m_bShieldGlobe0xAC 4 int m_bGrease0xB0 4 int m_bWeb0xB4 4 int m_bCasterHold0xB8 2 short m_nTranslucent0xBA 2 short m_nEncumberance0xBC 2 short m_nMissileTHAC0Bonus0xBE 2 short m_nMagicDamageResistance0xC0 2 short m_nResistPoison0xC2 2 short m_nSpellDurationModBard0xC4 4 int m_bDoNotJump0xC8 4 int m_bAuraCleansing0xCC 4 unsigned long m_nCastingType0xD0 2 short m_nMentalSpeed0xD2 2 short m_nPhysicalSpeed0xD4 2 short m_nCastingLevelBonusMage0xD6 2 short m_nCastingLevelBonusCleric0xD8 4 int m_bSeeInvisible0xDC 4 int m_bIgnoreDialogPause0xE0 4 long m_nMinHitPoints0xE4 4 long m_THAC0BonusRight0xE8 4 long m_THAC0BonusLeft0xEC 4 long m_DamageBonusRight0xF0 4 long m_DamageBonusLeft0xF4 4 long m_nStoneSkins0xF8 4 long m_nProficiencyBastardSword0xFC 4 long m_nProficiencyLongSword0x100 4 long m_nProficiencyShortSword0x104 4 long m_nProficiencyAxe0x108 4 long m_nProficiencyTwoHandedSword0x10C 4 long m_nProficiencyKatana0x110 4 long m_nProficiencyScimitarWakisashiNinjaTo0x114 4 long m_nProficiencyDagger0x118 4 long m_nProficiencyWarhammer0x11C 4 long m_nProficiencySpear0x120 4 long m_nProficiencyHalberd0x124 4 long m_nProficiencyFlailMorningStar0x128 4 long m_nProficiencyMace0x12C 4 long m_nProficiencyQuarterStaff0x130 4 long m_nProficiencyCrossbow0x134 4 long m_nProficiencyLongBow0x138 4 long m_nProficiencyShortBow0x13C 4 long m_nProficiencyDart0x140 4 long m_nProficiencySling0x144 4 long m_nProficiencyBlackjack0x148 4 long m_nProficiencyGun0x14C 4 long m_nProficiencyMartialArts0x150 4 long m_nProficiency2Handed0x154 4 long m_nProficiencySwordAndShield0x158 4 long m_nProficiencySingleWeapon

Continued on next page

426 Chapter 5. EE Game Structures (x86)

Page 431: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous page0x15C 4 long m_nProficiency2Weapon0x160 4 long m_nProficiencyClub0x164 4 long m_nExtraProficiency20x168 4 long m_nExtraProficiency30x16C 4 long m_nExtraProficiency40x170 4 long m_nExtraProficiency50x174 4 long m_nExtraProficiency60x178 4 long m_nExtraProficiency70x17C 4 long m_nExtraProficiency80x180 4 long m_nExtraProficiency90x184 4 long m_nExtraProficiency100x188 4 long m_nExtraProficiency110x18C 4 long m_nExtraProficiency120x190 4 long m_nExtraProficiency130x194 4 long m_nExtraProficiency140x198 4 long m_nExtraProficiency150x19C 4 long m_nExtraProficiency160x1A0 4 long m_nExtraProficiency170x1A4 4 long m_nExtraProficiency180x1A8 4 long m_nExtraProficiency190x1AC 4 long m_nExtraProficiency200x1B0 4 long m_nPuppetMasterId0x1B4 4 long m_nPuppetMasterType0x1B8 4 long m_nPuppetType0x1BC 4 long m_nPuppetId0x1C0 4 int m_bCheckForBerserk0x1C4 4 int m_bBerserkStage10x1C8 4 int m_bBerserkStage20x1CC 4 long m_nDamageLuck0x1D0 8 CResRef m_cBardSong0x1D8 8 CResRef m_cBackStab0x1E0 4 long m_nVisualRange0x1E4 4 int m_bExplore0x1E8 4 int m_bThrullCharm0x1EC 4 int m_bSummonDisable0x1F0 4 int m_bSummonDisableAction0x1F4 2 short m_nHitBonus0x1F6 22 short m_nSpecificDamageBonus[11]0x20C 24 short m_nSchoolSaveBonus[12]0x224 4 unsigned long m_nKit0x228 4 int m_bForceSurge0x22C 4 long m_nSurgeMod0x230 4 int m_bImprovedHaste0x234 40 unsigned long m_nScriptingStates[10]0x25C 4 long m_nMeleeTHAC0Bonus0x260 4 long m_nMeleeDamageBonus0x264 4 long m_nMissileDamageBonus0x268 4 int m_bDisableCircle0x26C 4 long m_nFistTHAC0Bonus0x270 4 long m_nFistDamageBonus

Continued on next page

5.5. CD Structures 427

Page 432: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous page0x274 4 unsigned long m_sClassStringOverrideMixed0x278 4 unsigned long m_sClassStringOverrideLower0x27C 2 short m_nClassTypeOverrideMixed0x27E 2 short m_nClassTypeOverrideLower0x280 4 int m_bPreventSpellProtectionEffects0x284 4 int m_bImmunityToBackStab0x288 4 long m_nLockPickingMTPBonus0x28C 4 long m_nMoveSilentlyMTPBonus0x290 4 long m_nTrapsMTPBonus0x294 4 long m_nPickPocketMTPBonus0x298 4 long m_nHideInShadowsMTPBonus0x29C 4 long m_nDetectIllusionMTPBonus0x2A0 4 long m_nSetTrapsMTPBonus0x2A4 4 int m_bPreventAISlowDown0x2A8 4 long m_nExistanceDelayOverride0x2AC 4 int m_bAnimationOnlyHaste0x2B0 4 int m_bNoPermanentDeath0x2B4 4 int m_bImmuneToTurnUndead0x2B8 4 long m_nChaosShield0x2BC 4 int m_bNPCBump0x2C0 4 int m_bUseAnyItem0x2C4 4 long m_nAssassinate0x2C8 4 int m_bSexChanged0x2CC 4 long m_nSpellFailureInnate0x2D0 4 int m_bImmuneToTracking0x2D4 4 int m_bDeadMagic0x2D8 4 int m_bImmuneToTimeStop0x2DC 4 int m_bImmuneToSequester0x2E0 4 long m_nStoneSkinsGolem0x2E4 4 long m_nLevelDrain0x2E8 4 int m_bDoNotDraw0x2EC 4 int m_bIgnoreDrainDeath

5.5.7 CDialogFile

Offset Size Type Field0x00 12 CResHelper cResHelper

5.5.8 CDialogFile_ActionScript

Offset Size Type Field0x00 4 unsigned long m_ScriptOffset0x04 4 unsigned long m_ScriptSize

428 Chapter 5. EE Game Structures (x86)

Page 433: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.5.9 CDialogFile_Dialog

Offset Size Type Field0x00 4 unsigned long m_DialogText0x04 4 unsigned long m_StartingReply0x08 4 unsigned long m_ReplyCount0x0C 4 unsigned long m_StartingConditionalScript

5.5.10 CDialogFile_Header

Offset Size Type Field0x00 4 unsigned long m_DialogEntryCount0x04 4 unsigned long m_DialogEntriesOffset0x08 4 unsigned long m_ReplyEntryCount0x0C 4 unsigned long m_ReplyEntriesOffset0x10 4 unsigned long m_StartingConditionsOffset0x14 4 unsigned long m_StartingConditionsCount0x18 4 unsigned long m_ReplyConditionsOffset0x1C 4 unsigned long m_ReplyConditionsCount0x20 4 unsigned long m_ActionsOffset0x24 4 unsigned long m_ActionCount0x28 4 unsigned long m_Flags

5.5.11 CDialogFile_Reply

Offset Size Type Field0x00 4 unsigned long m_Flags0x04 4 unsigned long m_ReplyText0x08 4 unsigned long m_JournalEntry0x0C 4 unsigned long m_ReplyConditional0x10 4 unsigned long m_ActionScript0x14 8 unsigned char m_LinkedObject[8]0x1C 4 unsigned long m_LinkedObjectDialogEntry

5.5.12 CDialogFile_ReplyConditional

Offset Size Type Field0x00 4 unsigned long m_ScriptOffset0x04 4 unsigned long m_ScriptSize

5.5. CD Structures 429

Page 434: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.5.13 CDialogFile_StartingConditional

Offset Size Type Field0x00 4 unsigned long m_ScriptOffset0x04 4 unsigned long m_ScriptSize

5.5.14 CDungeonMaster

Used by the CDungeonMaster Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine

5.6 CE Structures

• CException

• CExportCharacterHeader

5.6.1 CException

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 int m_bAutoDelete0x08 4 int m_bReadyForDelete

5.6.2 CExportCharacterHeader

Offset Size Type Field0x00 32 char m_name[32]0x20 4 unsigned long m_characterOffset0x24 4 unsigned long m_characterSize0x28 8 short m_quickWeaponsItemNum[4]0x30 8 short m_quickWeaponsAbilityNum[4]0x38 24 unsigned char m_quickSpellsSpellId[3][8]0x50 6 short m_quickItemsItemNum[3]0x56 6 short m_quickItemsAbilityNum[3]

430 Chapter 5. EE Game Structures (x86)

Page 435: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.7 CF Structures

• CFeedbackEntry

• CFile

• CFileException

• CFileFind

• CFileReaderParms

• CFileStatus

• CFileView

• CFixedAlloc

• CFixedAlloc::CNode

• CFog

5.7.1 CFeedbackEntry

Offset Size Type Field0x00 2 unsigned short feedBackId

2 <padding>0x04 4 long int10x08 4 long int20x0C 4 long int30x10 4 unsigned long ref10x14 4 long int40x18 4 CString stringIn

5.7.2 CFile

Used by the CFile Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 unsigned int m_hFile0x08 4 int m_bCloseOnDelete0x0C 4 CString m_strFileName

5.7. CF Structures 431

Page 436: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.7.3 CFileException

Used by the CFileException Class

Offset Size Type Field0x00 12 CException m_cException0x0C 4 int m_cause0x10 4 long m_lOsError0x14 4 CString m_strFileName

5.7.4 CFileFind

Used by the CFileFind Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CString m_strRoot0x08 4 void* m_pFoundInfo0x0C 4 void* m_pNextInfo0x10 4 void* m_hContext0x14 4 int m_bGotLast0x18 1 char m_chDirSeparator

3 <padding>

5.7.5 CFileReaderParms

Offset Size Type Field0x00 4 unsigned char* m_pSrc0x04 4 unsigned char* m_pSrcCurrent0x08 4 int m_nSrcLength

5.7.6 CFileStatus

Offset Size Type Field0x00 8 CTime m_ctime0x08 8 CTime m_mtime0x10 8 CTime m_atime0x18 4 long m_size0x1C 1 unsigned char m_attribute0x1D 1 unsigned char _m_padding

2 <padding>0x20 4 CString m_sFullName

4 <padding>

432 Chapter 5. EE Game Structures (x86)

Page 437: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.7.7 CFileView

Used by the CFileView Class

Offset Size Type Field0x00 20 file_t f0x14 16 view_t v0x24 4 int fileSize0x28 4 long filePos

5.7.8 CFixedAlloc

Offset Size Type Field0x00 4 unsigned int m_nAllocSize0x04 4 unsigned int m_nBlockSize0x08 4 CPlex* m_pBlocks0x0C 4 CFixedAlloc::CNode* m_pNodeFree

5.7.9 CFixedAlloc::CNode

Offset Size Type Field0x00 4 CFixedAlloc::CNode* pNext

5.7.10 CFog

Offset Size Type Field0x00 4 float* densityLast0x04 4 float* densityCurrent0x08 4 float* densityNext0x0C 4 int N0x10 4 float dt0x14 4 float diff0x18 4 float visc0x1C 4 float force0x20 4 float source0x24 4 int dvel0x28 4 float* u

Continued on next page

5.7. CF Structures 433

Page 438: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 9 – continued from previous page0x2C 4 float* v0x30 4 float* u_prev0x34 4 float* v_prev0x38 4 float* dens0x3C 4 float* dens_prev0x40 1 bool pointEnabled

3 <padding>0x44 4 int pointAmount0x48 4 int pointDuration0x4C 8 CPoint pointPos0x54 4 float pointUForce0x58 4 float pointVForce0x5C 8 CPoint explosionPos0x64 4 int updateCounter0x68 1 bool fading0x69 1 bool initialized

2 <padding>0x6C 4 float alpha0x70 4 int contrast0x74 4 unsigned long innerColor0x78 4 unsigned long outerColor

5.8 CG Structures

• CGameAIArea

• CGameAIBase

• CGameAIGame

• CGameAbilityList

• CGameAddMapNote

• CGameAnimation

• CGameAnimationType

• CGameAnimationTypeAmbient

• CGameAnimationTypeAmbientStatic

• CGameAnimationTypeCharacter

• CGameAnimationTypeCharacterOld

• CGameAnimationTypeEffect

• CGameAnimationTypeFlying

• CGameAnimationTypeMonster

• CGameAnimationTypeMonsterAnkheg

• CGameAnimationTypeMonsterIcewind

• CGameAnimationTypeMonsterLarge16

• CGameAnimationTypeMonsterLarge

434 Chapter 5. EE Game Structures (x86)

Page 439: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameAnimationTypeMonsterLayered

• CGameAnimationTypeMonsterLayeredSpell

• CGameAnimationTypeMonsterMulti

• CGameAnimationTypeMonsterMultiNew

• CGameAnimationTypeMonsterOld

• CGameAnimationTypeMonsterQuadrant

• CGameAnimationTypeTownStatic

• CGameArea

• CGameAreaClairvoyanceEntry

• CGameAreaNotes

• CGameButtonList

• CGameChunk

• CGameContainer

• CGameDialogEntry

• CGameDialogIdentifier

• CGameDialogReply

• CGameDialogSprite

• CGameDoor

• CGameEffect

• CGameEffect Structures

• CGameEffectAC

• CGameEffectAIChange

• CGameEffectAddInnateAbility

• CGameEffectAlignmentChange

• CGameEffectAlignmentReversal

• CGameEffectAnimationChange

• CGameEffectApplyEffect

• CGameEffectApplyEffectEquipItem

• CGameEffectApplyEffectEquipItemType

• CGameEffectApplySpell

• CGameEffectApplySpellOnMove

• CGameEffectAssassination

• CGameEffectAttackNo

• CGameEffectAuraCleansing

• CGameEffectAwaken

• CGameEffectBackStabMod

5.8. CG Structures 435

Page 440: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectBackStabSpell

• CGameEffectBardSong

• CGameEffectBase

• CGameEffectBerserk

• CGameEffectBerserkStage1

• CGameEffectBerserkStage2

• CGameEffectBlindness

• CGameEffectBlur

• CGameEffectBounceEffect

• CGameEffectBounceLevel

• CGameEffectBounceLevelDecrement

• CGameEffectBounceProjectile

• CGameEffectBounceSchool

• CGameEffectBounceSchoolDecrement

• CGameEffectBounceSecondaryType

• CGameEffectBounceSecondaryTypeDecrement

• CGameEffectBounceSpell

• CGameEffectCHR

• CGameEffectCON

• CGameEffectCalm

• CGameEffectCannotSaveOrRest

• CGameEffectCastSpell

• CGameEffectCastSpellPoint

• CGameEffectCastingFailure

• CGameEffectCastingGlow

• CGameEffectCastingLevelBonus

• CGameEffectChangeStatic

• CGameEffectChangeWeather

• CGameEffectChaosShield

• CGameEffectCharm

• CGameEffectCheckForBerserk

• CGameEffectClairvoyance

• CGameEffectClassStringOverride

• CGameEffectCleanAir

• CGameEffectColorChange

• CGameEffectColorGlowDissipate

436 Chapter 5. EE Game Structures (x86)

Page 441: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectColorGlowPulse

• CGameEffectColorGlowSolid

• CGameEffectColorLightSolid

• CGameEffectColorTintSolid

• CGameEffectConfusion

• CGameEffectContingencyInstance

• CGameEffectContingencyStart

• CGameEffectCopySelf

• CGameEffectCreateItem

• CGameEffectCreateWeapon

• CGameEffectCriticalHitBonus

• CGameEffectCriticalHitSpell

• CGameEffectCriticalMissModifier

• CGameEffectCriticalMissSpell

• CGameEffectCureBlindness

• CGameEffectCureDeafness

• CGameEffectCureDisease

• CGameEffectCureFeebleMindedness

• CGameEffectCurePoison

• CGameEffectCurseApplyEffect

• CGameEffectDEX

• CGameEffectDamage

• CGameEffectDamageLuck

• CGameEffectDamageMod

• CGameEffectDamageVisualEffect

• CGameEffectDeafness

• CGameEffectDeath

• CGameEffectDefrost

• CGameEffectDestroyItem

• CGameEffectDestroySelf

• CGameEffectDestroyWeapon

• CGameEffectDetectAlignment

• CGameEffectDetectIllusion

• CGameEffectDetectTraps

• CGameEffectDisableButton

• CGameEffectDisableCircle

5.8. CG Structures 437

Page 442: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectDisableSpellType

• CGameEffectDisease

• CGameEffectDisintegrate

• CGameEffectDispelEffects

• CGameEffectDispelInvisible

• CGameEffectDispelSanctuary

• CGameEffectDispelSchool

• CGameEffectDispelSchoolOne

• CGameEffectDispelSecondaryType

• CGameEffectDispelSecondaryTypeOne

• CGameEffectDisplayString

• CGameEffectDither

• CGameEffectDoNotDraw

• CGameEffectDrainChargeFromAllItems

• CGameEffectDurationCasting

• CGameEffectEnableButton

• CGameEffectEndNonDetection

• CGameEffectEntangle

• CGameEffectEquipWeapon

• CGameEffectEvadeAreaOfEffect

• CGameEffectExistanceDelayOverride

• CGameEffectExplore

• CGameEffectFamiliarBlock

• CGameEffectFatigue

• CGameEffectFeebleMindedness

• CGameEffectFile

• CGameEffectFindFamiliar

• CGameEffectFistDamageBonus

• CGameEffectFistTHAC0Bonus

• CGameEffectFloatText

• CGameEffectForceSurge

• CGameEffectForceVisible

• CGameEffectFreedom

• CGameEffectGold

• CGameEffectGreasePool

• CGameEffectHaste2

438 Chapter 5. EE Game Structures (x86)

Page 443: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectHaste

• CGameEffectHeal

• CGameEffectHideInShadows

• CGameEffectHighLevelAbility

• CGameEffectHitMod

• CGameEffectHitPoints

• CGameEffectHitPointsOnDeath

• CGameEffectHoldCreature

• CGameEffectHoldCreatureSpell

• CGameEffectINT

• CGameEffectIdentify

• CGameEffectIgnoreDialogPause

• CGameEffectIgnoreDrainDeath

• CGameEffectIgnoreReputationBreak

• CGameEffectImmuneToTracking

• CGameEffectImmuneToWeapon

• CGameEffectImmunityLevelDecrement

• CGameEffectImmunitySchool

• CGameEffectImmunitySchoolDecrement

• CGameEffectImmunitySecondaryType

• CGameEffectImmunitySecondaryTypeDecrement

• CGameEffectImmunitySpell

• CGameEffectImmunitySpellIWD

• CGameEffectImmunityToBackstab

• CGameEffectImmunityToDisplayString

• CGameEffectImmunityToEffect

• CGameEffectImmunityToPortraitIcon

• CGameEffectImmunityToProjectile

• CGameEffectImmunityToSequester

• CGameEffectImmunityToSpellLevel

• CGameEffectImmunityToTimeStop

• CGameEffectImmunityToTurnUndead

• CGameEffectImmunityToVisualEffect

• CGameEffectImprisonment

• CGameEffectInfravision

• CGameEffectInfravisionOff

5.8. CG Structures 439

Page 444: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectIntoxication

• CGameEffectInvisible

• CGameEffectJumpToArea

• CGameEffectJumpToPocketPlane

• CGameEffectKnock

• CGameEffectLearnSpell

• CGameEffectLevel

• CGameEffectLevelDrain

• CGameEffectLevelRestoration

• CGameEffectList

• CGameEffectLore

• CGameEffectLuck

• CGameEffectMakeUnselectable

• CGameEffectMaze

• CGameEffectMeleeDamageBonus

• CGameEffectMeleeEffect

• CGameEffectMeleeTHAC0Bonus

• CGameEffectMentalSpeed

• CGameEffectMinHitPoints

• CGameEffectMinorGlobe

• CGameEffectMirrorImage

• CGameEffectMirrorImageRun

• CGameEffectMissileDamageBonus

• CGameEffectMissileTHAC0Bonus

• CGameEffectMorale

• CGameEffectMoraleBreak

• CGameEffectMovementRate

• CGameEffectMovementRateModal

• CGameEffectNPCBump

• CGameEffectName

• CGameEffectNoPermanentDeath

• CGameEffectNonDetection

• CGameEffectNon_CumulativeAid

• CGameEffectNon_CumulativeBless

• CGameEffectNon_CumulativeChant

• CGameEffectNon_CumulativeChantBad

440 Chapter 5. EE Game Structures (x86)

Page 445: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectNon_CumulativeDrawUponHolyMight

• CGameEffectNon_CumulativeLuck

• CGameEffectOverrideAnimation

• CGameEffectOverrideWeaponType

• CGameEffectPanic

• CGameEffectPauseCaster

• CGameEffectPetrification

• CGameEffectPhysicalSpeed

• CGameEffectPlayMovie

• CGameEffectPlaySound

• CGameEffectPoison

• CGameEffectPolymorph

• CGameEffectPortrait

• CGameEffectPortraitIcon

• CGameEffectPowerWordKill

• CGameEffectPowerWordSleep

• CGameEffectPowerWordStun

• CGameEffectPreventAISlowDown

• CGameEffectPreventSpellProtectionEffects

• CGameEffectProficiency

• CGameEffectProtectionCircle

• CGameEffectProtectionFromCreature

• CGameEffectPuppetMaster

• CGameEffectPushPull

• CGameEffectRandomDrop

• CGameEffectRandomPhase

• CGameEffectRandomSummon

• CGameEffectRandomTeleport

• CGameEffectRangeEffect

• CGameEffectRegeneration

• CGameEffectRememorizeSpell

• CGameEffectRemoveAllOfType

• CGameEffectRemoveConfusion

• CGameEffectRemoveCurse

• CGameEffectRemoveEffectOfResource

• CGameEffectRemoveHold

5.8. CG Structures 441

Page 446: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectRemoveInnateAbility

• CGameEffectRemoveIntoxication

• CGameEffectRemovePanic

• CGameEffectRemovePortraitIcon

• CGameEffectRemoveRandomSpell

• CGameEffectRemoveSpellImmunity

• CGameEffectRepeatingApplyEffect

• CGameEffectReplaceItem

• CGameEffectReplaceSelf

• CGameEffectReputation

• CGameEffectResistAcid

• CGameEffectResistCold

• CGameEffectResistCrushing

• CGameEffectResistElectricity

• CGameEffectResistFire

• CGameEffectResistMagic

• CGameEffectResistMagicCold

• CGameEffectResistMagicFire

• CGameEffectResistMissile

• CGameEffectResistPiercing

• CGameEffectResistSlashing

• CGameEffectResistanceToMagic

• CGameEffectResistanceToPoison

• CGameEffectRest

• CGameEffectRestoreMovementRate

• CGameEffectRestrictEquipItem

• CGameEffectRestrictEquipItemType

• CGameEffectResurrect

• CGameEffectResurrectParty

• CGameEffectRetreatFrom

• CGameEffectRevealMagic

• CGameEffectSTR

• CGameEffectSTRExtra

• CGameEffectSanctuary

• CGameEffectSaveVsBreath

• CGameEffectSaveVsDeath

442 Chapter 5. EE Game Structures (x86)

Page 447: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectSaveVsPoly

• CGameEffectSaveVsSchoolMod

• CGameEffectSaveVsSpell

• CGameEffectSaveVsWands

• CGameEffectSavingThrowChange

• CGameEffectScreenShake

• CGameEffectScriptingState

• CGameEffectSecondaryCastList

• CGameEffectSeeInvisible

• CGameEffectSelectiveDamageBonus

• CGameEffectSelectiveEnchantmentBonus

• CGameEffectSelectiveToHitBonus

• CGameEffectSequencerFire

• CGameEffectSequencerFirePoint

• CGameEffectSequencerInstance

• CGameEffectSequencerStart

• CGameEffectSetAIScript

• CGameEffectSetDoNotJump

• CGameEffectSetGlobal

• CGameEffectSetLocalExternal

• CGameEffectSetLocalVariable

• CGameEffectSetSequence

• CGameEffectSetSnare

• CGameEffectSetSpellState

• CGameEffectSetTrap

• CGameEffectSevenEyes

• CGameEffectSevenEyesRun

• CGameEffectSexChange

• CGameEffectShieldGlobe

• CGameEffectShowArea

• CGameEffectShowCreatures

• CGameEffectSilence

• CGameEffectSingleColorPulseAll

• CGameEffectSkillLockPicking

• CGameEffectSkillPickPocket

• CGameEffectSkillStealth

5.8. CG Structures 443

Page 448: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectSkillTracking

• CGameEffectSkillTraps

• CGameEffectSlay

• CGameEffectSleep

• CGameEffectSlow

• CGameEffectSlowPoison

• CGameEffectSparkle

• CGameEffectSpecificDamageMod

• CGameEffectSpellMemorizationCleric

• CGameEffectSpellMemorizationMage

• CGameEffectSpellTrapLevelDecrement

• CGameEffectStaticCharge

• CGameEffectStoneSkins

• CGameEffectStoneSkinsGolem

• CGameEffectStoneToFlesh

• CGameEffectStun

• CGameEffectSummon

• CGameEffectSummonDisable

• CGameEffectSurgeMod

• CGameEffectSwapHitpoints

• CGameEffectTeleport

• CGameEffectThac0

• CGameEffectThac0Left

• CGameEffectThac0Right

• CGameEffectTimeStop

• CGameEffectTracking

• CGameEffectTranslucent

• CGameEffectTurnUndead

• CGameEffectTurnUndeadModifier

• CGameEffectUnpauseCaster

• CGameEffectUnstun

• CGameEffectUnsummon

• CGameEffectUsability

• CGameEffectUsabilityList

• CGameEffectUseAnyItem

• CGameEffectVisible

444 Chapter 5. EE Game Structures (x86)

Page 449: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectVisualAnimationEffect

• CGameEffectVisualEffect

• CGameEffectVisualRange

• CGameEffectVisualSpellHit

• CGameEffectVisualSpellHitIWD

• CGameEffectVocalize

• CGameEffectWIS

• CGameEffectWebHold

• CGameEffectWish

• CGameEffectXP

• CGameFile

• CGameFireball3d

• CGameID

• CGameID::GameID_t

• CGameJournal

• CGameJournalAlphabetizer

• CGameJournalEntry

• CGameObject

• CGameObjectArray

• CGameObjectArrayEntry

• CGameOptions

• CGamePermission

• CGameRemoteObjectArray

• CGameRemoteObjectControlChange

• CGameRemoteObjectDeletion

• CGameRemoteObjectListEntry

• CGameRemoveMapNote

• CGameSave

• CGameSaveCharacter

• CGameSound

• CGameSpawning

• CGameSprite

• CGameSpriteEquipment

• CGameSpriteLastUpdate

• CGameSprite::GroundItem

• CGameSprite::RenderHealthBar

5.8. CG Structures 445

Page 450: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameStatic

• CGameStatsRes

• CGameStatsSprite

• CGameTemporal

• CGameText

• CGameTiledObject

• CGameTimer

• CGameTrigger

5.8.1 CGameAIArea

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase

5.8.2 CGameAIBase

Used by the CGameAIBase Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 20 CAIObjectType m_lAttacker0x5C 4 long m_lAttackStyle0x60 20 CAIObjectType m_lOrderedBy0x74 20 CAIObjectType m_protecting0x88 20 CAIObjectType m_protector0x9C 20 CAIObjectType m_lTargeted0xB0 20 CAIObjectType m_lHitter0xC4 20 CAIObjectType m_lHelp0xD8 20 CAIObjectType m_lTrigger0xEC 20 CAIObjectType m_lSeen0x100 20 CAIObjectType m_lTalkedTo0x114 20 CAIObjectType m_lHeard0x128 20 CAIObjectType m_lSummonedBy0x13C 20 CAIObjectType m_lKilled0x150 20 CAIObjectType m_lEnteredBy0x164 20 CAIObjectType m_lAttackerSent0x178 20 CAIObjectType m_lOrderedBySent0x18C 20 CAIObjectType m_protectingSent0x1A0 20 CAIObjectType m_protectorSent0x1B4 20 CAIObjectType m_lTargetedSent0x1C8 20 CAIObjectType m_lHitterSent0x1DC 20 CAIObjectType m_lHelpSent

Continued on next page

446 Chapter 5. EE Game Structures (x86)

Page 451: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 10 – continued from previous page0x1F0 20 CAIObjectType m_lTriggerSent0x204 20 CAIObjectType m_lSeenSent0x218 20 CAIObjectType m_lTalkedToSent0x22C 20 CAIObjectType m_lHeardSent0x240 20 CAIObjectType m_lSummonedBySent0x254 20 CAIObjectType m_lKilledSent0x268 4 CAIScript* m_overrideScript0x26C 4 CAIScript* m_areaScript0x270 4 CAIScript* m_specificsScript0x274 4 CAIScript* m_classScript0x278 4 CAIScript* m_raceScript0x27C 4 CAIScript* m_generalScript0x280 4 CAIScript* m_defaultScript0x284 4 CAIScript* m_achievementScript0x288 28 CTypedPtrList m_queuedActions0x2A4 28 CTypedPtrList m_pendingTriggers0x2C0 4 unsigned long m_PAICallCounter0x2C4 4 unsigned long m_PAICallCounterNoMod0x2C8 28 CTypedPtrList m_timers0x2E4 2 short m_curResponseNum0x2E6 2 short m_curResponseSetNum0x2E8 2 short m_curScriptNum

2 <padding>0x2EC 4 int m_interrupt0x2F0 2 short m_actionCount

2 <padding>0x2F4 4 int m_bJustAttacked0x2F8 100 CAIAction m_curAction0x35C 4 long m_nExpectedProcessPendingTriggersCalls0x360 2 short m_nMissedProcessPendingTriggerCalls0x362 2 short m_nAlertnessPeriod0x364 32 char m_scriptName[32]0x384 4 int m_inCutScene0x388 4 int m_firstCall0x38C 4 int m_forceActionPick0x390 4 long m_randValue0x394 1 unsigned char m_reactionRoll

1 <padding>0x396 2 short m_nLastActionReturn0x398 1 unsigned char m_nVisualRange

3 <padding>0x39C 4 unsigned long m_iGameText0x3A0 4 int m_bInActionExecution0x3A4 4 int m_bNewTrigger0x3A8 4 int m_triggerSwitch0x3AC 4 int m_bNoInterrupt0x3B0 4 int m_bDisableAI0x3B4 20 CSound m_forcePauseSound0x3C8 4 long m_nServerLastObjectSynchDelay0x3CC 48 CAITrigger triggerOverride

5.8. CG Structures 447

Page 452: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.3 CGameAIGame

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase

5.8.4 CGameAbilityList

Offset Size Type Field0x00 20 CTypedPtrArray m_cTypedPtrArray

5.8.5 CGameAddMapNote

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8.6 CGameAnimation

Offset Size Type Field0x00 4 CGameAnimationType* m_animation0x04 4 unsigned long m_overrides0x08 2 short m_sequenceHighLevel0x0A 1 unsigned char m_detectedByInfravision0x0B 1 unsigned char m_bloodColor0x0C 1 unsigned char m_personalSpace

3 <padding>

448 Chapter 5. EE Game Structures (x86)

Page 453: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.7 CGameAnimationType

Offset Size Type Field0x00 4 vfptr vfptr0x04 2 unsigned short m_animationID0x06 1 unsigned char m_moveScale0x07 1 unsigned char m_moveScaleCurrent0x08 16 CRect m_rEllipse0x18 4 int m_nHeightOffset0x1C 1 bool m_bUseSpriteShader0x1D 1 unsigned char m_colorBlood0x1E 1 unsigned char m_colorChunks

1 <padding>0x20 4 unsigned long m_nSndFreq0x24 4 const char* m_pSndDeath0x28 32 NECK_POINTS m_neckOffsets[8]0x48 880 CVidBitmap m_combatRounds[5]0x3B8 1 unsigned char m_personalSpace0x3B9 1 unsigned char m_walkCount0x3BA 2 unsigned short m_castFrame0x3BC 1 unsigned char m_bBrightest0x3BD 1 unsigned char m_bBrightestDesired0x3BE 1 unsigned char m_bLightSource0x3BF 8 CResRef m_soundRef

1 <padding>0x3C8 4 CString m_walkRef0x3CC 800 CSequenceSoundList m_sequenceRefs[20]0x6EC 4 int m_bNewPalette0x6F0 176 CVidBitmap m_newPalette

5.8.8 CGameAnimationTypeAmbient

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 36 CVidPalette m_charPalette0x954 2 short m_currentBamSequence0x956 2 short m_currentBamDirection0x958 4 int m_falseColor0x95C 4 int m_bInvulnerable0x960 4 int m_pathSmooth0x964 1 unsigned char m_listType0x965 1 unsigned char m_extendDirectionTest

2 <padding>

5.8. CG Structures 449

Page 454: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.9 CGameAnimationTypeAmbientStatic

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CVidCell* m_currentVidCell0x7A4 4 CVidCell* m_currentVidCellBase0x7A8 4 CVidCell* m_currentVidCellExtend0x7AC 192 CVidCell m_g1VidCellBase0x86C 192 CVidCell m_g1VidCellExtend0x92C 36 CVidPalette m_charPalette0x950 2 short m_currentBamSequence0x952 2 short m_currentBamDirection0x954 4 int m_falseColor0x958 4 int m_bInvulnerable0x95C 1 unsigned char m_extendDirectionTest

3 <padding>

5.8.10 CGameAnimationTypeCharacter

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resrefPaperDoll0x7A4 4 CString m_resref0x7A8 4 CString m_heightCode0x7AC 4 CString m_heightCodeHelmet0x7B0 4 CString m_heightCodeShieldPaperDoll0x7B4 1 char m_armorCode0x7B5 1 char m_armorMaxCode

2 <padding>0x7B8 4 CVidCell* m_currentVidCell0x7BC 4 CVidCell* m_currentVidCellBase0x7C0 192 CVidCell m_g1VidCellBase0x880 192 CVidCell m_caVidCellBase0x940 192 CVidCell m_a1VidCellBase0xA00 192 CVidCell m_a2VidCellBase0xAC0 192 CVidCell m_a3VidCellBase0xB80 36 CVidPalette m_charPalette0xBA4 4 CString m_resrefWeapon0xBA8 4 CVidCell* m_currentVidCellWeapon0xBAC 4 CVidCell* m_currentVidCellWeaponBase0xBB0 192 CVidCell m_g1VidCellWeaponBase0xC70 192 CVidCell m_a1VidCellWeaponBase0xD30 192 CVidCell m_a2VidCellWeaponBase0xDF0 192 CVidCell m_a3VidCellWeaponBase

Continued on next page

450 Chapter 5. EE Game Structures (x86)

Page 455: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 11 – continued from previous page0xEB0 36 CVidPalette m_weaponPalette0xED4 4 CString m_resrefShield0xED8 4 CVidCell* m_currentVidCellShield0xEDC 4 CVidCell* m_currentVidCellShieldBase0xEE0 192 CVidCell m_g1VidCellShieldBase0xFA0 192 CVidCell m_a1VidCellShieldBase0x1060 192 CVidCell m_a2VidCellShieldBase0x1120 192 CVidCell m_a3VidCellShieldBase0x11E0 36 CVidPalette m_shieldPalette0x1204 4 CString m_resrefHelmet0x1208 4 CVidCell* m_currentVidCellHelmet0x120C 4 CVidCell* m_currentVidCellHelmetBase0x1210 192 CVidCell m_g1VidCellHelmetBase0x12D0 192 CVidCell m_caVidCellHelmetBase0x1390 192 CVidCell m_a1VidCellHelmetBase0x1450 192 CVidCell m_a2VidCellHelmetBase0x1510 192 CVidCell m_a3VidCellHelmetBase0x15D0 36 CVidPalette m_helmetPalette0x15F4 2 short m_currentBamSequence0x15F6 2 short m_currentBamDirection0x15F8 4 int m_renderWeapons0x15FC 4 int m_bHideWeapons0x1600 4 int m_renderHelmet0x1604 4 int m_bEquipHelmet0x1608 4 int m_weaponLeftHand0x160C 4 int m_falseColor0x1610 1 unsigned char m_weaponCode0x1611 1 unsigned char m_extendDirectionTest0x1612 1 unsigned char m_bDetectedByInfravision0x1613 1 unsigned char m_bInvulnerable0x1614 1 unsigned char m_bCanLieDown0x1615 1 unsigned char m_resrefArmorBase0x1616 1 unsigned char m_resrefArmorSpecific

1 <padding>0x1618 4 int m_bDoubleBlit0x161C 4 int m_bSplitBams0x1620 1 char m_splitBamChar

3 <padding>

5.8.11 CGameAnimationTypeCharacterOld

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CString m_resrefShadow0x7A8 4 CString m_heightCode0x7AC 4 CString m_heightCodeHelmet0x7B0 1 char m_armorCode

Continued on next page

5.8. CG Structures 451

Page 456: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 12 – continued from previous page0x7B1 1 char m_armorMaxCode

2 <padding>0x7B4 4 CVidCell* m_currentVidCell0x7B8 4 CVidCell* m_currentVidCellBase0x7BC 4 CVidCell* m_currentVidCellExtend0x7C0 192 CVidCell m_g1VidCellBase0x880 192 CVidCell m_g1VidCellExtend0x940 192 CVidCell m_w2VidCellBase0xA00 192 CVidCell m_w2VidCellExtend0xAC0 192 CVidCell m_caVidCellBase0xB80 192 CVidCell m_caVidCellExtend0xC40 192 CVidCell m_a1VidCellBase0xD00 192 CVidCell m_a1VidCellExtend0xDC0 192 CVidCell m_a2VidCellBase0xE80 192 CVidCell m_a2VidCellExtend0xF40 192 CVidCell m_a3VidCellBase0x1000 192 CVidCell m_a3VidCellExtend0x10C0 36 CVidPalette m_charPalette0x10E4 4 CString m_resrefWeapon0x10E8 4 CVidCell* m_currentVidCellWeapon0x10EC 4 CVidCell* m_currentVidCellWeaponBase0x10F0 4 CVidCell* m_currentVidCellWeaponExtend0x10F4 192 CVidCell m_g1VidCellWeaponBase0x11B4 192 CVidCell m_g1VidCellWeaponExtend0x1274 192 CVidCell m_w2VidCellWeaponBase0x1334 192 CVidCell m_w2VidCellWeaponExtend0x13F4 192 CVidCell m_a1VidCellWeaponBase0x14B4 192 CVidCell m_a1VidCellWeaponExtend0x1574 192 CVidCell m_a2VidCellWeaponBase0x1634 192 CVidCell m_a2VidCellWeaponExtend0x16F4 192 CVidCell m_a3VidCellWeaponBase0x17B4 192 CVidCell m_a3VidCellWeaponExtend0x1874 36 CVidPalette m_weaponPalette0x1898 4 CString m_resrefShield0x189C 4 CVidCell* m_currentVidCellShield0x18A0 4 CVidCell* m_currentVidCellShieldBase0x18A4 4 CVidCell* m_currentVidCellShieldExtend0x18A8 192 CVidCell m_g1VidCellShieldBase0x1968 192 CVidCell m_g1VidCellShieldExtend0x1A28 192 CVidCell m_w2VidCellShieldBase0x1AE8 192 CVidCell m_w2VidCellShieldExtend0x1BA8 192 CVidCell m_a1VidCellShieldBase0x1C68 192 CVidCell m_a1VidCellShieldExtend0x1D28 192 CVidCell m_a2VidCellShieldBase0x1DE8 192 CVidCell m_a2VidCellShieldExtend0x1EA8 192 CVidCell m_a3VidCellShieldBase0x1F68 192 CVidCell m_a3VidCellShieldExtend0x2028 36 CVidPalette m_shieldPalette0x204C 4 CString m_resrefHelmet0x2050 4 CVidCell* m_currentVidCellHelmet

Continued on next page

452 Chapter 5. EE Game Structures (x86)

Page 457: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 12 – continued from previous page0x2054 4 CVidCell* m_currentVidCellHelmetBase0x2058 4 CVidCell* m_currentVidCellHelmetExtend0x205C 192 CVidCell m_g1VidCellHelmetBase0x211C 192 CVidCell m_g1VidCellHelmetExtend0x21DC 192 CVidCell m_w2VidCellHelmetBase0x229C 192 CVidCell m_w2VidCellHelmetExtend0x235C 192 CVidCell m_caVidCellHelmetBase0x241C 192 CVidCell m_caVidCellHelmetExtend0x24DC 192 CVidCell m_a1VidCellHelmetBase0x259C 192 CVidCell m_a1VidCellHelmetExtend0x265C 192 CVidCell m_a2VidCellHelmetBase0x271C 192 CVidCell m_a2VidCellHelmetExtend0x27DC 192 CVidCell m_a3VidCellHelmetBase0x289C 192 CVidCell m_a3VidCellHelmetExtend0x295C 36 CVidPalette m_helmetPalette0x2980 4 CVidCell* m_currentVidCellShadow0x2984 4 CVidCell* m_currentVidCellShadowBase0x2988 4 CVidCell* m_currentVidCellShadowExtend0x298C 192 CVidCell m_g1VidCellShadowBase0x2A4C 192 CVidCell m_g1VidCellShadowExtend0x2B0C 192 CVidCell m_w2VidCellShadowBase0x2BCC 192 CVidCell m_w2VidCellShadowExtend0x2C8C 192 CVidCell m_caVidCellShadowBase0x2D4C 192 CVidCell m_caVidCellShadowExtend0x2E0C 192 CVidCell m_a1VidCellShadowBase0x2ECC 192 CVidCell m_a1VidCellShadowExtend0x2F8C 192 CVidCell m_a2VidCellShadowBase0x304C 192 CVidCell m_a2VidCellShadowExtend0x310C 192 CVidCell m_a3VidCellShadowBase0x31CC 192 CVidCell m_a3VidCellShadowExtend0x328C 2 short m_currentBamSequence0x328E 2 short m_currentBamDirection0x3290 4 int m_renderWeapons0x3294 4 int m_bHideWeapons0x3298 4 int m_renderHelmet0x329C 4 int m_bEquipHelmet0x32A0 4 int m_weaponLeftHand0x32A4 4 int m_falseColor0x32A8 1 unsigned char m_weaponCode0x32A9 1 unsigned char m_extendDirectionTest0x32AA 1 unsigned char m_bDetectedByInfravision0x32AB 1 unsigned char m_bInvulnerable0x32AC 1 unsigned char m_bCanLieDown

3 <padding>

5.8. CG Structures 453

Page 458: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.12 CGameAnimationTypeEffect

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CVidCell* m_currentVidCell0x7A4 4 CVidCell* m_currentVidCellShadow0x7A8 192 CVidCell m_g1VidCell0x868 192 CVidCell m_g1VidCellShadow0x928 36 CVidPalette m_charPalette0x94C 1 unsigned char m_translucent0x94D 1 unsigned char m_bRender0x94E 2 unsigned short m_posZ0x950 2 unsigned short m_deltaZ0x952 2 short m_currentBamSequence0x954 2 short m_currentBamDirection0x956 1 unsigned char m_extendDirectionTest0x957 1 unsigned char m_listType

5.8.13 CGameAnimationTypeFlying

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CVidCell* m_currentVidCell0x7A4 4 CVidCell* m_currentVidCellBase0x7A8 192 CVidCell m_g1VidCellBase0x868 36 CVidPalette m_charPalette0x88C 2 short m_currentBamSequence0x88E 2 short m_currentBamDirection0x890 4 int m_falseColor0x894 1 unsigned char m_extendDirectionTest

3 <padding>

5.8.14 CGameAnimationTypeMonster

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 192 CVidCell m_g1VidCellBase0x86C 192 CVidCell m_g2VidCellBase0x92C 36 CVidPalette m_charPalette0x950 4 CVidCell* m_currentVidCellWeapon

Continued on next page

454 Chapter 5. EE Game Structures (x86)

Page 459: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 13 – continued from previous page0x954 4 CVidCell* m_currentVidCellWeaponBase0x958 192 CVidCell m_g1VidCellWeaponBase0xA18 192 CVidCell m_g2VidCellWeaponBase0xAD8 36 CVidPalette m_weaponPalette0xAFC 2 short m_currentBamSequence0xAFE 2 short m_currentBamDirection0xB00 2 short m_currentShootSequence

2 <padding>0xB04 4 int m_falseColor0xB08 4 int m_translucent0xB0C 4 int m_bTwoPalettes0xB10 8 CResRef m_cResRefPalette10xB18 8 CResRef m_cResRefPalette20xB20 4 int m_renderWeapons0xB24 4 int m_bHideWeapons0xB28 4 int m_weaponLeftHand0xB2C 1 unsigned char m_bDetectedByInfravision0xB2D 1 unsigned char m_extendDirectionTest

2 <padding>0xB30 4 int m_bCanLieDown0xB34 4 int m_bPathSmooth0xB38 4 int m_bSplitBams0xB3C 1 unsigned char m_splitBamChar0xB3D 1 unsigned char m_currentShootSplit

2 <padding>0xB40 4 int m_bGlowLayer0xB44 4 CString m_glowResref0xB48 4 CVidCell* m_glowCurrentVidCell0xB4C 4 CVidCell* m_glowCurrentVidCellBase0xB50 192 CVidCell m_glowG1VidCellBase0xC10 192 CVidCell m_glowG2VidCellBase

5.8. CG Structures 455

Page 460: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.15 CGameAnimationTypeMonsterAnkheg

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 192 CVidCell m_g3VidCellBase0xB70 192 CVidCell m_g3VidCellExtend0xC30 4 CVidCell* m_currentVidCellHole0xC34 4 CVidCell* m_currentVidCellHoleBase0xC38 4 CVidCell* m_currentVidCellHoleExtend0xC3C 192 CVidCell m_g1VidCellHoleBase0xCFC 192 CVidCell m_g1VidCellHoleExtend0xDBC 192 CVidCell m_g2VidCellHoleBase0xE7C 192 CVidCell m_g2VidCellHoleExtend0xF3C 192 CVidCell m_g3VidCellHoleBase0xFFC 192 CVidCell m_g3VidCellHoleExtend0x10BC 2 short m_currentBamSequence0x10BE 2 short m_currentBamDirection0x10C0 4 int m_bAboveGround0x10C4 1 unsigned char m_extendDirectionTest

3 <padding>0x10C8 4 int m_bMirrorBam

5.8.16 CGameAnimationTypeMonsterIcewind

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_a1VidCellBase0x870 192 CVidCell m_a1VidCellExtend0x930 192 CVidCell m_a2VidCellBase0x9F0 192 CVidCell m_a2VidCellExtend0xAB0 192 CVidCell m_a3VidCellBase0xB70 192 CVidCell m_a3VidCellExtend0xC30 192 CVidCell m_shVidCellBase0xCF0 192 CVidCell m_shVidCellExtend0xDB0 192 CVidCell m_awVidCellBase

Continued on next page

456 Chapter 5. EE Game Structures (x86)

Page 461: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 14 – continued from previous page0xE70 192 CVidCell m_awVidCellExtend0xF30 192 CVidCell m_slVidCellBase0xFF0 192 CVidCell m_slVidCellExtend0x10B0 192 CVidCell m_deVidCellBase0x1170 192 CVidCell m_deVidCellExtend0x1230 192 CVidCell m_daVidCellBase0x12F0 192 CVidCell m_daVidCellExtend0x13B0 192 CVidCell m_paVidCellBase0x1470 192 CVidCell m_paVidCellExtend0x1530 192 CVidCell m_reVidCellBase0x15F0 192 CVidCell m_reVidCellExtend0x16B0 192 CVidCell m_coVidCellBase0x1770 192 CVidCell m_coVidCellExtend0x1830 192 CVidCell m_caVidCellBase0x18F0 192 CVidCell m_caVidCellExtend0x19B0 192 CVidCell m_twVidCellBase0x1A70 192 CVidCell m_twVidCellExtend0x1B30 192 CVidCell m_waVidCellBase0x1BF0 192 CVidCell m_waVidCellExtend0x1CB0 4 CVidCell* m_currentVidCellWeapon0x1CB4 4 CVidCell* m_currentVidCellWeaponBase0x1CB8 4 CVidCell* m_currentVidCellWeaponExtend0x1CBC 192 CVidCell m_a1VidCellWeaponBase0x1D7C 192 CVidCell m_a1VidCellWeaponExtend0x1E3C 192 CVidCell m_a2VidCellWeaponBase0x1EFC 192 CVidCell m_a2VidCellWeaponExtend0x1FBC 192 CVidCell m_a3VidCellWeaponBase0x207C 192 CVidCell m_a3VidCellWeaponExtend0x213C 192 CVidCell m_shVidCellWeaponBase0x21FC 192 CVidCell m_shVidCellWeaponExtend0x22BC 192 CVidCell m_awVidCellWeaponBase0x237C 192 CVidCell m_awVidCellWeaponExtend0x243C 192 CVidCell m_slVidCellWeaponBase0x24FC 192 CVidCell m_slVidCellWeaponExtend0x25BC 192 CVidCell m_daVidCellWeaponBase0x267C 192 CVidCell m_daVidCellWeaponExtend0x273C 192 CVidCell m_paVidCellWeaponBase0x27FC 192 CVidCell m_paVidCellWeaponExtend0x28BC 192 CVidCell m_reVidCellWeaponBase0x297C 192 CVidCell m_reVidCellWeaponExtend0x2A3C 192 CVidCell m_coVidCellWeaponBase0x2AFC 192 CVidCell m_coVidCellWeaponExtend0x2BBC 192 CVidCell m_caVidCellWeaponBase0x2C7C 192 CVidCell m_caVidCellWeaponExtend0x2D3C 192 CVidCell m_waVidCellWeaponBase0x2DFC 192 CVidCell m_waVidCellWeaponExtend0x2EBC 2 short m_currentBamDirection

2 <padding>0x2EC0 4 int m_bRenderWeapons0x2EC4 4 int m_bHideWeapons

Continued on next page

5.8. CG Structures 457

Page 462: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 14 – continued from previous page0x2EC8 4 int m_weaponLeftHand0x2ECC 1 unsigned char m_bDetectedByInfravision0x2ECD 1 unsigned char m_extendDirectionTest

2 <padding>

5.8.17 CGameAnimationTypeMonsterLarge

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 192 CVidCell m_g3VidCellBase0xB70 192 CVidCell m_g3VidCellExtend0xC30 36 CVidPalette m_charPalette0xC54 2 short m_currentBamSequence0xC56 2 short m_currentBamDirection0xC58 4 int m_falseColor0xC5C 1 unsigned char m_extendDirectionTest

3 <padding>

5.8.18 CGameAnimationTypeMonsterLarge16

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 192 CVidCell m_g3VidCellBase0xB70 192 CVidCell m_g3VidCellExtend0xC30 36 CVidPalette m_charPalette0xC54 2 short m_currentBamSequence0xC56 2 short m_currentBamDirection0xC58 4 int m_falseColor0xC5C 1 unsigned char m_extendDirectionTest

3 <padding>

458 Chapter 5. EE Game Structures (x86)

Page 463: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.19 CGameAnimationTypeMonsterLayered

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 36 CVidPalette m_charPalette0xAD4 4 CVidCell* m_currentVidCellWeapon0xAD8 4 CVidCell* m_currentVidCellWeaponBase0xADC 4 CVidCell* m_currentVidCellWeaponExtend0xAE0 192 CVidCell m_g1VidCellWeaponBase0xBA0 192 CVidCell m_g1VidCellWeaponExtend0xC60 192 CVidCell m_g2VidCellWeaponBase0xD20 192 CVidCell m_g2VidCellWeaponExtend0xDE0 36 CVidPalette m_weaponPalette0xE04 2 short m_currentBamSequence0xE06 2 short m_currentBamDirection0xE08 4 int m_renderWeapons0xE0C 4 int m_bHideWeapons0xE10 4 int m_weaponLeftHand0xE14 1 unsigned char m_nMeleeWeaponReady0xE15 1 unsigned char m_extendDirectionTest

2 <padding>0xE18 8 CString m_resrefWeapon[2]

5.8.20 CGameAnimationTypeMonsterLayeredSpell

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 36 CVidPalette m_charPalette

Continued on next page

5.8. CG Structures 459

Page 464: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 15 – continued from previous page0xAD4 4 CVidCell* m_currentVidCellWeapon0xAD8 4 CVidCell* m_currentVidCellWeaponBase0xADC 4 CVidCell* m_currentVidCellWeaponExtend0xAE0 192 CVidCell m_g1VidCellWeaponBase0xBA0 192 CVidCell m_g1VidCellWeaponExtend0xC60 192 CVidCell m_g2VidCellWeaponBase0xD20 192 CVidCell m_g2VidCellWeaponExtend0xDE0 36 CVidPalette m_weaponPalette0xE04 2 short m_currentBamSequence0xE06 2 short m_currentBamDirection0xE08 4 int m_renderWeapons0xE0C 4 int m_bHideWeapons0xE10 4 int m_weaponLeftHand0xE14 4 int m_falseColor0xE18 8 CString m_resrefWeapon[2]0xE20 1 unsigned char m_bInvulnerable

3 <padding>0xE24 4 int m_bDualAttack0xE28 1 unsigned char m_extendDirectionTest

4 <padding>

460 Chapter 5. EE Game Structures (x86)

Page 465: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.21 CGameAnimationTypeMonsterMulti

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_g1VidCellBase0x7B0 4 CVidCell* m_g2VidCellBase0x7B4 4 CVidCell* m_g3VidCellBase0x7B8 4 CVidCell* m_g4VidCellBase0x7BC 4 CVidCell* m_g5VidCellBase0x7C0 36 CVidPalette m_charPalette0x7E4 2 short m_currentBamSequence0x7E6 2 short m_currentBamDirection0x7E8 4 CVidBitmap* m_currentNewPalette0x7EC 4 int m_falseColor0x7F0 176 CVidBitmap m_g1NewPalette0x8A0 176 CVidBitmap m_g2NewPalette0x950 176 CVidBitmap m_g3NewPalette0xA00 176 CVidBitmap m_g4NewPalette0xAB0 176 CVidBitmap m_g5NewPalette0xB60 1 unsigned char m_extendDirectionTest0xB61 1 unsigned char m_nQuadrants

2 <padding>0xB64 4 int m_bDoubleBlit0xB68 4 int m_bSplitBams0xB6C 1 char m_splitBamChar0xB6D 1 char m_splitDirectionBamChar

2 <padding>

5.8. CG Structures 461

Page 466: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.22 CGameAnimationTypeMonsterMultiNew

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_pg1VidCellBase0x7B0 4 CVidCell* m_pg2VidCellBase0x7B4 36 CVidPalette m_charPalette0x7D8 2 short m_currentBamSequence0x7DA 2 short m_currentBamDirection0x7DC 2 short m_currentShootSequence

2 <padding>0x7E0 4 int m_falseColor0x7E4 1 unsigned char m_extendDirectionTest0x7E5 1 unsigned char m_nQuadrants

2 <padding>0x7E8 4 int m_bSplitBams0x7EC 1 char m_splitBamChar

3 <padding>0x7F0 4 int m_translucent0x7F4 4 int m_renderWeapons0x7F8 4 int m_weaponLeftHand0x7FC 1 unsigned char m_bDetectedByInfravision

3 <padding>0x800 4 int m_bCanLieDown0x804 4 int m_bPathSmooth0x808 1 char m_currentShootSplit

3 <padding>

462 Chapter 5. EE Game Structures (x86)

Page 467: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.23 CGameAnimationTypeMonsterOld

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_currentVidCellExtend0x7B0 192 CVidCell m_g1VidCellBase0x870 192 CVidCell m_g1VidCellExtend0x930 192 CVidCell m_g2VidCellBase0x9F0 192 CVidCell m_g2VidCellExtend0xAB0 36 CVidPalette m_charPalette0xAD4 2 short m_currentBamSequence0xAD6 2 short m_currentBamDirection0xAD8 4 int m_falseColor0xADC 4 int m_translucent0xAE0 1 unsigned char m_bDetectedByInfravision0xAE1 1 unsigned char m_extendDirectionTest

2 <padding>

5.8.24 CGameAnimationTypeMonsterQuadrant

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CString m_resref0x7A4 4 CVidCell* m_currentVidCell0x7A8 4 CVidCell* m_currentVidCellBase0x7AC 4 CVidCell* m_g1VidCellBase0x7B0 4 CVidCell* m_g2VidCellBase0x7B4 4 CVidCell* m_g3VidCellBase0x7B8 4 CVidCell* m_currentVidCellExtend0x7BC 4 CVidCell* m_g1VidCellExtend0x7C0 4 CVidCell* m_g2VidCellExtend0x7C4 4 CVidCell* m_g3VidCellExtend0x7C8 36 CVidPalette m_charPalette0x7EC 2 short m_currentBamSequence0x7EE 2 short m_currentBamDirection0x7F0 4 int m_falseColor0x7F4 1 unsigned char m_extendDirectionTest0x7F5 1 unsigned char m_nQuadrants

2 <padding>0x7F8 4 int m_bCaster0x7FC 4 int m_bExtendDir0x800 4 int m_pathSmooth

5.8. CG Structures 463

Page 468: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.25 CGameAnimationTypeTownStatic

Offset Size Type Field0x00 1952 CGameAnimationType m_cGameAnimationType0x7A0 4 CVidCell* m_currentVidCell0x7A4 4 CVidCell* m_currentVidCellBase0x7A8 192 CVidCell m_g1VidCellBase0x868 36 CVidPalette m_charPalette0x88C 2 short m_currentBamSequence0x88E 2 short m_currentBamDirection0x890 4 int m_falseColor0x894 1 unsigned char m_bCanLieDown

3 <padding>

5.8.26 CGameArea

Offset Size Type Field0x00 76 CAreaFileHeader m_header0x4C 4 int m_bHeaderExtendedNight0x50 144 CAreaSoundsAndMusic m_headerSound0xE0 228 CAreaFileRestEncounter m_headerRestEncounter0x1C4 28 CTypedPtrList m_entryPoints0x1E0 1 unsigned char m_id0x1E1 1 unsigned char m_nCharacters0x1E2 1 unsigned char m_nInfravision0x1E3 1 unsigned char m_bAreaLoaded0x1E4 8 CResRef m_resref0x1EC 8 CResRef m_restMovieDay0x1F4 8 CResRef m_restMovieNight0x1FC 1 unsigned char m_waterAlpha

3 <padding>0x200 4 CResWED* m_pResWED0x204 4 CInfGame* m_pGame0x208 4 long m_nScrollState0x20C 4 long m_nKeyScrollState0x210 4 int m_bSelectionSquareEnabled0x214 4 int m_bTravelSquare0x218 4 long m_iPickedOnDown0x21C 4 long m_iPicked0x220 4 long m_iPickedTarget0x224 4 int m_bPicked0x228 4 long m_nToolTip0x22C 8 CPoint m_mousePos0x234 176 CVidBitmap m_bmLum0x2E4 4 CVidBitmap* m_pbmLumNight0x2E8 176 CVidBitmap m_bmHeight0x398 4 CObjectMarker* m_pObjectMarker

Continued on next page

464 Chapter 5. EE Game Structures (x86)

Page 469: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous page0x39C 4 CObjectMarker* m_pObjectMarkerHealthBar0x3A0 1 unsigned char m_firstRender

3 <padding>0x3A4 16 CRect m_selectSquare0x3B4 2 short m_rotation

2 <padding>0x3B8 8 CPoint m_moveDest0x3C0 4 int m_groupMove0x3C4 16 unsigned char m_terrainTable[16]0x3D4 16 unsigned char m_visibleTerrainTable[16]0x3E4 4 long m_nAIIndex0x3E8 4 int m_bInPathSearch0x3EC 4 unsigned long m_nInitialAreaID0x3F0 4 unsigned long m_nFirstObject0x3F4 4 unsigned long m_dwLastProgressRenderTickCount0x3F8 4 unsigned long m_dwLastProgressMsgTickCount0x3FC 1 unsigned char m_nRandomMonster

1 <padding>0x3FE 2 short m_nVisibleMonster0x400 1 unsigned char m_bRecentlySaved

3 <padding>0x404 4 unsigned long m_nSavedTime0x408 124 CGameAreaNotes m_cGameAreaNotes0x484 812 CInfinity m_cInfinity0x7B0 204 CSearchBitmap m_search0x87C 88 CVisibilityMap m_visibility0x8D4 4 unsigned char* m_pDynamicHeight0x8D8 4 int m_startedMusic0x8DC 4 unsigned long m_startedMusicCounter0x8E0 28 CTypedPtrList m_lVertSort0x8FC 28 CTypedPtrList m_lVertSortBack0x918 28 CTypedPtrList m_lVertSortFlight0x934 28 CTypedPtrList m_lVertSortUnder0x950 28 CTypedPtrList m_lVertSortAdd0x96C 28 CTypedPtrList m_lVertSortBackAdd0x988 28 CTypedPtrList m_lVertSortFlightAdd0x9A4 28 CTypedPtrList m_lVertSortUnderAdd0x9C0 28 CTypedPtrList m_lVertSortRemove0x9DC 28 CTypedPtrList m_lVertSortBackRemove0x9F8 28 CTypedPtrList m_lVertSortFlightRemove0xA14 28 CTypedPtrList m_lVertSortUnderRemove0xA30 28 CTypedPtrList m_lTiledObjects0xA4C 28 CTypedPtrList m_lGameTextObjects0xA68 28 CTypedPtrList m_lVertSortTransition0xA84 8 CPoint m_ptOldViewPos0xA8C 8 CVariableHash m_variables0xA94 8 CVariableHash m_namedCreatures0xA9C 1 unsigned char m_bPermitNewCharacters

1 <padding>0xA9E 2 short m_nCurrentSong

Continued on next page

5.8. CG Structures 465

Page 470: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous page0xAA0 4 long m_nBattleSongCounter0xAA4 4 long m_nDamageCounter0xAA8 2 short m_nScreenFlash0xAAA 2 short m_nScreenFlashFade0xAAC 4 unsigned long m_screenFlashRGB0xAB0 28 CTypedPtrList m_lClairvoyanceObjects0xACC 28 CTypedPtrList m_lContainersNeedingUpdate0xAE8 4 int m_bAnySpritesInActions0xAEC 4 int m_nMPSynchCounter0xAF0 1 unsigned char m_nMPSignalType0xAF1 1 unsigned char m_nMPSignalData

2 <padding>0xAF4 4 int m_nMPSignalsToSend0xAF8 4 long m_nEnemyCountWork0xAFC 4 long m_nEnemyCountLast0xB00 4 long m_nEnemyCount2ndLast0xB04 4 long m_nEnemyCountSequestered0xB08 4 long m_nTrapCountWork0xB0C 4 long m_nTrapCountLast0xB10 4 long m_nTrapCount2ndLast0xB14 4 long m_nUnloadCounter0xB18 4 long m_bDisplayingHealth0xB1C 36 CMemINI INIFile0xB40 4 CSpawnFile* mpSpawner0xB44 4 long m_nCreatureNodeCount0xB48 8 CSize m_lightmapRatio0xB50 20 CSound m_sndAmbientDay0xB64 20 CSound m_sndAmbientNight0xB78 1 unsigned char m_sndAmbientVolume

1 <padding>0xB7A 2 unsigned short m_sndAmbientDayVolume0xB7C 2 unsigned short m_sndAmbientNightVolume

2 <padding>

5.8.27 CGameAreaClairvoyanceEntry

Offset Size Type Field0x00 8 CPoint m_position0x08 4 long m_id0x0C 4 long m_timeKill0x10 4 unsigned char* m_pVisibleTerrainTable0x14 4 long m_charId0x18 2 short m_visRange

2 <padding>0x1C 4 long* m_pVisMapExploredArea

466 Chapter 5. EE Game Structures (x86)

Page 471: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.28 CGameAreaNotes

Used by the CGameAreaNotes Class

Offset Size Type Field0x00 4 int m_bInitialized0x04 8 CPoint m_ptCellSize0x0C 8 CPoint m_ptButtonSize0x14 28 CTypedPtrList m_areaNoteList0x30 52 CAreaUserNote m_cAreaNote0x64 4 int m_bAddingNote0x68 4 unsigned long m_nNoteButtonClicked0x6C 8 CResRef m_rArea0x74 4 CString m_szBuffer0x78 1 unsigned char m_bNetworkDelete0x79 1 unsigned char m_nCurrentIcon

2 <padding>

5.8.29 CGameButtonList

Offset Size Type Field0x00 28 CTypedPtrList m_cButtonDataList0x1C 4 int m_nFirstMageSpellIndex

5.8.30 CGameChunk

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 16 unsigned char m_visibleTerrainTable[16]0x58 16 CGameAnimation m_animation0x68 4 int m_animationRunning0x6C 8 CPoint m_posDelta0x74 4 long m_posZDelta0x78 1 unsigned char m_doBounce0x79 1 unsigned char m_duration0x7A 1 unsigned char m_durationFade

1 <padding>0x7C 20

5.8. CG Structures 467

Page 472: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.31 CGameContainer

Used by the CGameContainer Class

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase0x3FC 16 CRect m_rBounding0x40C 4 CPoint* m_pPolygon0x410 2 unsigned short m_nPolygon

2 <padding>0x414 28 CTypedPtrList m_lstItems0x430 2 unsigned short m_containerType

2 <padding>0x434 8 CPoint m_ptWalkToUse0x43C 576 CVidCell m_pileVidCell[3]0x67C 1 unsigned char m_nPileVidCell0x67D 1 unsigned char m_bDeleteMe0x67E 8 unsigned char m_scriptRes[8]0x686 2 unsigned short m_lockDifficulty0x688 4 unsigned long m_dwFlags0x68C 2 unsigned short m_trapDetectionDifficulty0x68E 2 unsigned short m_trapRemovalDifficulty0x690 2 unsigned short m_trapActivated0x692 2 unsigned short m_trapDetected0x694 8 CPoint m_posTrapOrigin0x69C 2 unsigned short m_triggerRange0x69E 32 char m_ownedBy[32]0x6BE 8 CResRef m_keyType

2 <padding>0x6C8 4 unsigned long m_breakDifficulty0x6CC 2 short m_drawPoly

2 <padding>0x6D0 4 unsigned long m_strNotPickable0x6D4 4 int m_bJustCreated0x6D8 4 int m_bNeedUpdate

5.8.32 CGameDialogEntry

Used by the CGameDialogEntry Class

Offset Size Type Field0x00 20 CTypedPtrArray m_cGameDialogReplyArray0x14 4 unsigned long m_dialogText0x18 28 CAICondition m_startCondition0x34 4 int m_picked0x38 4 unsigned long m_conditionPriority0x3C 4 unsigned long m_dialogIndex0x40 1 unsigned char m_bDisplayButton

3 <padding>

468 Chapter 5. EE Game Structures (x86)

Page 473: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.33 CGameDialogIdentifier

Offset Size Type Field0x00 8 CResRef m_dialog0x08 4 unsigned long m_index

5.8.34 CGameDialogReply

Used by the CGameDialogReply Class

Offset Size Type Field0x00 4 unsigned long m_flags0x04 4 unsigned long m_replyText0x08 4 unsigned long m_journalEntry0x0C 28 CAICondition m_condition0x28 36 CAIResponse m_response0x4C 8 CResRef m_nextDialog0x54 4 unsigned long m_nextEntryIndex0x58 4 POSITION* m_displayPosition0x5C 4 int m_removeIfPicked0x60 1 unsigned char m_displayListId

3 <padding>0x64 4 CString m_conditionString0x68 4 int m_needToParseCondition0x6C 4 CString m_responseString0x70 4 int m_needToParseResponse0x74 4 int m_bracketedActions

5.8.35 CGameDialogSprite

Used by the CGameDialogSprite Class

5.8. CG Structures 469

Page 474: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 8 CResRef m_file0x08 20 CTypedPtrArray m_dialogEntries0x1C 20 CTypedPtrArray m_dialogEntriesOrdered0x30 4 long m_characterIndex0x34 4 long m_talkerIndex0x38 4 unsigned long m_currentEntryIndex0x3C 4 int m_waitingForResponse0x40 4 long m_responseMarker0x44 4 unsigned long m_playerColor0x48 4 CString m_playerName0x4C 4 long m_dialogFreezeCounter0x50 4 long m_dialogFreezeMultiplayer0x54 4 unsigned long m_dWFlags0x58 4 int m_bPlayedStartSound0x5C 4 int m_bItemDialog0x60 4 int m_bSuppressName0x64 4 long m_UpdateTime

5.8.36 CGameDoor

Used by the CGameDoor Class

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase0x3FC 8 CResRef m_resID0x404 16 CRect m_rOpenBounding0x414 16 CRect m_rClosedBounding0x424 4 unsigned long m_cursorType0x428 4 unsigned long m_dwFlags0x42C 4 CPoint* m_pOpenPolygon0x430 2 unsigned short m_nOpenPolygon

2 <padding>0x434 4 CPoint* m_pClosedPolygon0x438 2 unsigned short m_nClosedPolygon

2 <padding>0x43C 4 CPoint* m_pOpenSearch0x440 2 unsigned short m_nOpenSearch

2 <padding>0x444 4 CPoint* m_pClosedSearch0x448 2 unsigned short m_nClosedSearch

2 <padding>0x44C 8 CPoint m_ptDest10x454 8 CPoint m_ptDest20x45C 8 unsigned char m_scriptRes[8]0x464 24 CTiledObject m_tiledObject0x47C 32 char m_scriptName[32]

Continued on next page

470 Chapter 5. EE Game Structures (x86)

Page 475: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 18 – continued from previous page0x49C 32 char m_triggerName[32]0x4BC 2 short m_hitPoints0x4BE 2 short m_armourClass0x4C0 8 CResRef m_openSound0x4C8 8 CResRef m_closeSound0x4D0 2 unsigned short m_trapDetectionDifficulty0x4D2 2 unsigned short m_trapDisarmingDifficulty0x4D4 2 unsigned short m_trapActivated0x4D6 2 unsigned short m_trapDetected0x4D8 2 unsigned short m_posXTrapOrigin0x4DA 2 unsigned short m_posYTrapOrigin0x4DC 8 CResRef m_keyType0x4E4 4 unsigned long m_detectionDifficulty0x4E8 4 unsigned long m_lockDifficulty0x4EC 2 short m_drawPoly

2 <padding>0x4F0 8 CPoint m_ptOpenDest0x4F8 8 CPoint m_ptClosedDest0x500 20 CSound m_sndDoor0x514 4 unsigned long m_strNotPickable0x518 4 long m_usedDelay

5.8.37 CGameEffect

Offset Size Type Field0x00 4 vfptr vfptr0x04 264 CGameEffectBase m_cGameEffectBase0x10C 4 long m_sourceId0x110 4 int m_done0x114 4 int m_forceRepass0x118 4 unsigned long m_durationTemp0x11C 4 int m_compareIdOnly0x120 4 int m_compareIdAndFlagsOnly0x124 4 int m_compareIdAndEffectAmountOnly0x128 4 int m_compareIdAndResrefOnly0x12C 20 CSound m_sound0x140 4 long m_sourceTarget

5.8.38 CGameEffect Structures

CGameEffectAC

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 471

Page 476: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectAIChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAddInnateAbility

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAlignmentChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAlignmentReversal

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAnimationChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectApplyEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

472 Chapter 5. EE Game Structures (x86)

Page 477: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectApplyEffectEquipItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectApplyEffectEquipItemType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectApplySpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectApplySpellOnMove

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAssassination

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAttackNo

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 473

Page 478: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectAuraCleansing

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectAwaken

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBackStabMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBackStabSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBardSong

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBase

Offset Size Type Field0x00 8 CResRef m_version0x08 4 unsigned long m_effectId0x0C 4 unsigned long m_targetType0x10 4 unsigned long m_spellLevel0x14 4 long m_effectAmount

Continued on next page

474 Chapter 5. EE Game Structures (x86)

Page 479: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 19 – continued from previous page0x18 4 unsigned long m_dWFlags0x1C 4 unsigned long m_durationType0x20 4 unsigned long m_duration0x24 2 unsigned short m_probabilityUpper0x26 2 unsigned short m_probabilityLower0x28 8 CResRef m_res0x30 4 unsigned long m_numDice0x34 4 unsigned long m_diceSize0x38 4 unsigned long m_savingThrow0x3C 4 long m_saveMod0x40 4 unsigned long m_special0x44 4 unsigned long m_school0x48 4 unsigned long m_JeremyIsAnIdiot0x4C 4 unsigned long m_minLevel0x50 4 unsigned long m_maxLevel0x54 4 unsigned long m_flags0x58 4 long m_effectAmount20x5C 4 long m_effectAmount30x60 4 long m_effectAmount40x64 4 long m_effectAmount50x68 8 CResRef m_res20x70 8 CResRef m_res30x78 8 CPoint m_source0x80 8 CPoint m_target0x88 4 unsigned long m_sourceType0x8C 8 CResRef m_sourceRes0x94 4 unsigned long m_sourceFlags0x98 4 unsigned long m_projectileType0x9C 4 long m_slotNum0xA0 32 char m_scriptName[32]0xC0 4 unsigned long m_casterLevel0xC4 4 unsigned long m_firstCall0xC8 4 unsigned long m_secondaryType0xCC 60 unsigned long m_pad[15]

Notes

Related to EFF V2.0 file format

CGameEffectBerserk

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 475

Page 480: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectBerserkStage1

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBerserkStage2

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBlindness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBlur

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceLevel

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

476 Chapter 5. EE Game Structures (x86)

Page 481: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectBounceLevelDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceProjectile

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceSchool

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceSchoolDecrement

Offset 0x00 Size 324 Type CGameEffect Field m_cGameEffect

CGameEffectBounceSecondaryType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectBounceSecondaryTypeDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 477

Page 482: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectBounceSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCHR

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCON

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCalm

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCannotSaveOrRest

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCastSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

478 Chapter 5. EE Game Structures (x86)

Page 483: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectCastSpellPoint

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCastingFailure

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCastingGlow

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCastingLevelBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectChangeStatic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectChangeWeather

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 479

Page 484: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectChaosShield

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCharm

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCheckForBerserk

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectClairvoyance

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectClassStringOverride

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCleanAir

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

480 Chapter 5. EE Game Structures (x86)

Page 485: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectColorChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectColorGlowDissipate

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectColorGlowPulse

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectColorGlowSolid

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectColorLightSolid

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectColorTintSolid

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 481

Page 486: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectConfusion

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectContingencyInstance

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectContingencyStart

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCopySelf

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCreateItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCreateWeapon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

482 Chapter 5. EE Game Structures (x86)

Page 487: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectCriticalHitBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCriticalHitSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCriticalMissModifier

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCriticalMissSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCureBlindness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCureDeafness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 483

Page 488: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectCureDisease

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCureFeebleMindedness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCurePoison

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectCurseApplyEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDEX

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDamage

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

484 Chapter 5. EE Game Structures (x86)

Page 489: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDamageLuck

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDamageMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDamageVisualEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDeafness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDeath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDefrost

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 485

Page 490: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDestroyItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDestroySelf

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDestroyWeapon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDetectAlignment

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDetectIllusion

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDetectTraps

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

486 Chapter 5. EE Game Structures (x86)

Page 491: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDisableButton

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDisableCircle

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDisableSpellType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDisease

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDisintegrate

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelEffects

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 487

Page 492: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDispelInvisible

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelSanctuary

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelSchool

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelSchoolOne

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelSecondaryType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDispelSecondaryTypeOne

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

488 Chapter 5. EE Game Structures (x86)

Page 493: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDisplayString

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDither

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDoNotDraw

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDrainChargeFromAllItems

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectDurationCasting

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectEnableButton

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 489

Page 494: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectEndNonDetection

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectEntangle

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectEquipWeapon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectEvadeAreaOfEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectExistanceDelayOverride

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectExplore

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

490 Chapter 5. EE Game Structures (x86)

Page 495: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectFamiliarBlock

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFatigue

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFeebleMindedness

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFile

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFindFamiliar

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFistDamageBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 491

Page 496: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectFistTHAC0Bonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFloatText

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectForceSurge

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectForceVisible

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectFreedom

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectGold

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

492 Chapter 5. EE Game Structures (x86)

Page 497: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectGreasePool

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHaste

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHaste2

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHeal

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHideInShadows

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHighLevelAbility

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 493

Page 498: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectHitMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHitPoints

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHitPointsOnDeath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHoldCreature

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectHoldCreatureSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectINT

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

494 Chapter 5. EE Game Structures (x86)

Page 499: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectIdentify

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectIgnoreDialogPause

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectIgnoreDrainDeath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectIgnoreReputationBreak

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmuneToTracking

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmuneToWeapon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 495

Page 500: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectImmunityLevelDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunitySchool

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunitySchoolDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunitySecondaryType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunitySecondaryTypeDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunitySpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

496 Chapter 5. EE Game Structures (x86)

Page 501: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectImmunitySpellIWD

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToBackstab

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToDisplayString

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToPortraitIcon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToProjectile

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 497

Page 502: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectImmunityToSequester

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToSpellLevel

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToTimeStop

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToTurnUndead

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImmunityToVisualEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectImprisonment

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

498 Chapter 5. EE Game Structures (x86)

Page 503: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectInfravision

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectInfravisionOff

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectIntoxication

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectInvisible

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectJumpToArea

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectJumpToPocketPlane

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 499

Page 504: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectKnock

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectLearnSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectLevel

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectLevelDrain

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectLevelRestoration

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectList

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

500 Chapter 5. EE Game Structures (x86)

Page 505: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectLore

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectLuck

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMakeUnselectable

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMaze

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMeleeDamageBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMeleeEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 501

Page 506: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectMeleeTHAC0Bonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMentalSpeed

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMinHitPoints

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMinorGlobe

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMirrorImage

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMirrorImageRun

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

502 Chapter 5. EE Game Structures (x86)

Page 507: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectMissileDamageBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMissileTHAC0Bonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMorale

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMoraleBreak

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMovementRate

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectMovementRateModal

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 503

Page 508: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectNPCBump

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectName

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNoPermanentDeath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNonDetection

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNon_CumulativeAid

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNon_CumulativeBless

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

504 Chapter 5. EE Game Structures (x86)

Page 509: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectNon_CumulativeChant

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNon_CumulativeChantBad

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNon_CumulativeDrawUponHolyMight

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectNon_CumulativeLuck

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectOverrideAnimation

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectOverrideWeaponType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 505

Page 510: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectPanic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPauseCaster

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPetrification

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPhysicalSpeed

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPlayMovie

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPlaySound

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

506 Chapter 5. EE Game Structures (x86)

Page 511: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectPoison

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPolymorph

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPortrait

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPortraitIcon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPowerWordKill

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPowerWordSleep

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 507

Page 512: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectPowerWordStun

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPreventAISlowDown

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPreventSpellProtectionEffects

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectProficiency

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectProtectionCircle

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectProtectionFromCreature

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

508 Chapter 5. EE Game Structures (x86)

Page 513: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectPuppetMaster

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectPushPull

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRandomDrop

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRandomPhase

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRandomSummon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRandomTeleport

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 509

Page 514: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectRangeEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRegeneration

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRememorizeSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveAllOfType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveConfusion

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveCurse

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

510 Chapter 5. EE Game Structures (x86)

Page 515: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectRemoveEffectOfResource

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveHold

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveInnateAbility

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveIntoxication

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemovePanic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemovePortraitIcon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 511

Page 516: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectRemoveRandomSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRemoveSpellImmunity

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRepeatingApplyEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectReplaceItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectReplaceSelf

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectReputation

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

512 Chapter 5. EE Game Structures (x86)

Page 517: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectResistAcid

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistCold

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistCrushing

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistElectricity

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistFire

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistMagic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 513

Page 518: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectResistMagicCold

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistMagicFire

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistMissile

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistPiercing

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistSlashing

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResistanceToMagic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

514 Chapter 5. EE Game Structures (x86)

Page 519: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectResistanceToPoison

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRest

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRestoreMovementRate

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRestrictEquipItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRestrictEquipItemType

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectResurrect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 515

Page 520: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectResurrectParty

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRetreatFrom

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectRevealMagic

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSTR

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSTRExtra

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSanctuary

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

516 Chapter 5. EE Game Structures (x86)

Page 521: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSaveVsBreath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSaveVsDeath

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSaveVsPoly

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSaveVsSchoolMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSaveVsSpell

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSaveVsWands

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 517

Page 522: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSavingThrowChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectScreenShake

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectScriptingState

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSecondaryCastList

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSeeInvisible

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSelectiveDamageBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

518 Chapter 5. EE Game Structures (x86)

Page 523: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSelectiveEnchantmentBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSelectiveToHitBonus

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSequencerFire

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSequencerFirePoint

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSequencerInstance

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSequencerStart

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 519

Page 524: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSetAIScript

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetDoNotJump

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetGlobal

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetLocalExternal

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetLocalVariable

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetSequence

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

520 Chapter 5. EE Game Structures (x86)

Page 525: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSetSnare

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetSpellState

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSetTrap

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSevenEyes

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSevenEyesRun

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSexChange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 521

Page 526: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectShieldGlobe

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectShowArea

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectShowCreatures

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSilence

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSingleColorPulseAll

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSkillLockPicking

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

522 Chapter 5. EE Game Structures (x86)

Page 527: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSkillPickPocket

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSkillStealth

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSkillTracking

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSkillTraps

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSlay

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSleep

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 523

Page 528: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSlow

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSlowPoison

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSparkle

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSpecificDamageMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSpellMemorizationCleric

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSpellMemorizationMage

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

524 Chapter 5. EE Game Structures (x86)

Page 529: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSpellTrapLevelDecrement

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectStaticCharge

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectStoneSkins

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectStoneSkinsGolem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectStoneToFlesh

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectStun

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 525

Page 530: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSummon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSummonDisable

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSurgeMod

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectSwapHitpoints

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectTeleport

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectThac0

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

526 Chapter 5. EE Game Structures (x86)

Page 531: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectThac0Left

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectThac0Right

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectTimeStop

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectTracking

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectTranslucent

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectTurnUndead

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 527

Page 532: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectTurnUndeadModifier

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectUnpauseCaster

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectUnstun

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectUnsummon

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectUsability

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectUsabilityList

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

528 Chapter 5. EE Game Structures (x86)

Page 533: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectUseAnyItem

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVisible

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVisualAnimationEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVisualEffect

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVisualRange

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVisualSpellHit

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8. CG Structures 529

Page 534: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectVisualSpellHitIWD

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectVocalize

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectWIS

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectWebHold

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectWish

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

CGameEffectXP

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

530 Chapter 5. EE Game Structures (x86)

Page 535: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.39 CGameFile

Offset Size Type Field0x00 12 CResHelper m_cResGame

5.8.40 CGameFireball3d

Used by the CGameFireball3d Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 16 unsigned char m_terrainTable[16]0x58 16 unsigned char m_visibleTerrainTable[16]0x68 2 unsigned short m_animationID0x6A 2 unsigned short m_animationIDStatic0x6C 7 unsigned char m_colorRangeValues[7]

1 <padding>0x74 2 unsigned short m_ringGranularity

2 <padding>0x78 192 CVidCell m_spriteSplashVidCell0x138 36 CVidPalette m_spriteSplashPalette0x15C 2 short m_holdDuration

2 <padding>0x160 4 int m_radius0x164 4 int m_speed0x168 1 unsigned char m_duration0x169 1 unsigned char m_collision

2 <padding>0x16C 8 CSize m_ellipseSize0x174 4 unsigned char* m_pPlacementGrid0x178 8 CPoint m_nEllipse0x180 4 CRect* m_pEllipse0x184 4 unsigned char* m_flagEllipse0x188 20 CSound m_sndExplosion0x19C 4 CString m_sSoundTemporal0x1A0 4 int m_bCenterSoundLooping0x1A4 4 int m_bSplashGlow0x1A8 4 int m_bBrightest0x1AC 4 int m_bRingTemporals0x1B0 4 int m_bInteriorTemporals0x1B4 4 int m_bRandomSpeed0x1B8 4 int m_bPalettedRing0x1BC 4 int m_bPalettedArea0x1C0 4 int m_bCone0x1C4 2 unsigned short m_coneSize

2 <padding>Continued on next page

5.8. CG Structures 531

Page 536: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 20 – continued from previous page0x1C8 8 CPoint m_posEdge0x1D0 4 int m_bNewPalette0x1D4 176 CVidBitmap m_newPalette0x284 8 CResRef m_fireBallArea0x28C 8 CResRef m_fireBallRing0x294 2 unsigned short m_projectileType

2 <padding>0x298 4 int m_bPermanent0x29C 4 int m_bCanSave

5.8.41 CGameID

Offset Size Type Field0x00 8 unsigned __int64 m_ulGameID0x00 8 CGameID::GameID_t m_gameID

5.8.42 CGameID::GameID_t

Offset Size Type Field0x00 4 unsigned int m_nAppID : 240x00 4 unsigned int m_nType : 80x04 4 unsigned int m_nModID : 32

5.8.43 CGameJournal

Used by the CGameJournal Class

Offset Size Type Field0x00 20 CTypedPtrArray m_aChapters

5.8.44 CGameJournalAlphabetizer

Offset Size Type Field0x00 4 CGameJournalEntry* pEntry0x04 4 CString stText

532 Chapter 5. EE Game Structures (x86)

Page 537: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.45 CGameJournalEntry

Offset Size Type Field0x00 4 unsigned long m_strText0x04 4 long m_nTime0x08 4 CGameJournalEntryFlag m_Flag0x0C 2 unsigned short m_wType0x0E 1 unsigned char m_bCharacter0x0F 1 unsigned char m_nCharacterHasNotRead

Notes

enum CGameJournalEntryFlag {CGJEOpen = 0CGJEClosed = 1CGJEInUse = 2

}

5.8.46 CGameObject

Used by the CGameObject Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 1 unsigned char m_objectType

3 <padding>0x08 8 CPoint m_pos0x10 4 long m_posZ0x14 4 CGameArea* m_pArea0x18 4 POSITION* m_posVertList0x1C 1 unsigned char m_listType

3 <padding>0x20 20 CAIObjectType m_typeAI0x34 4 long m_id0x38 2 short m_canBeSeen

2 <padding>0x3C 4 int m_remotePlayerID0x40 4 long m_remoteObjectID0x44 1 unsigned char m_AISpeed0x45 1 unsigned char m_bLocalControl0x46 1 unsigned char m_AIInhibitor

1 <padding>

Notes

The m_objectType field can contain one of the following values:

5.8. CG Structures 533

Page 538: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Object Type Object Type Description0x00 TYPE_NONE0x01 TYPE_AIBASE0x10 TYPE_SOUND0x11 TYPE_CONTAINER0x20 TYPE_SPAWNING0x21 TYPE_DOOR0x30 TYPE_STATIC0x31 TYPE_SPRITE0x40 TYPE_OBJECT_MARKER0x41 TYPE_TRIGGER0x51 TYPE_TILED_OBJECT0x60 TYPE_TEMPORAL0x61 TYPE_AREA_AI0x70 TYPE_FIREBALL0x71 TYPE_GAME_AI

5.8.47 CGameObjectArray

See CGameObjectArray Class

Offset Size Type Field1

5.8.48 CGameObjectArrayEntry

Offset Size Type Field0x00 2 short m_objectId

2 <padding>0x04 4 CGameObject* m_objectPtr

5.8.49 CGameOptions

Offset Size Type Field0x00 4 unsigned long m_gore0x04 4 unsigned long m_goreOption0x08 4 unsigned long m_scrollSpeed0x0C 4 unsigned long m_displayVerbalText0x10 4 unsigned long m_guiFeedBackLevel0x14 4 unsigned long m_locatorFeedBackLevel

Continued on next page

534 Chapter 5. EE Game Structures (x86)

Page 539: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous page0x18 4 unsigned long m_soundMusicVolume0x1C 4 unsigned long m_soundFXVolume0x20 4 unsigned long m_soundDialogVolume0x24 4 unsigned long m_nVolumeAmbients0x28 4 unsigned long m_soundMovieVolume0x2C 4 unsigned long m_soundFootStepsOn0x30 4 unsigned long m_soundVoicesNo0x34 4 unsigned long m_graphicsBrightness0x38 4 unsigned long m_graphicsFontZoom0x3C 4 float m_spriteBlurAmount0x40 4 unsigned long m_graphicsTranslucentShadows0x44 4 unsigned long m_graphicsForceMirroringOff0x48 4 unsigned long m_graphicsTranslucentEffects0x4C 4 unsigned long m_toolTips0x50 4 unsigned long m_nBoredTime0x54 4 unsigned long m_nCommandSoundsFrequency0x58 4 unsigned long m_nSelectionSoundsFrequency0x5C 4 unsigned long m_bAlwaysDither0x60 4 unsigned long m_nKeyBoardScrollAmount0x64 4 unsigned long m_nEffectTextLevel0x68 4 unsigned long m_nTutorialState0x6C 4 unsigned long m_nAttackSounds0x70 4 unsigned long m_nAutoPauseState0x74 4 unsigned long m_bAutoPauseCenter0x78 4 long m_nDifficultyMultiplier0x7C 4 long m_nMPDifficultyMultiplier0x80 4 int m_bNoExtraDamage0x84 4 int m_bAutoUseMagicAmmo0x88 4 int m_bNoExtraXP0x8C 4 unsigned long m_bInfravision0x90 4 unsigned long m_bStupidQuickItemStuff0x94 4 int m_bWeatherEnabled0x98 4 int m_bCheatsEnabled0x9C 4 int m_bEnvironmentalAudio0xA0 4 int m_bRestHealParty0xA4 4 int m_bTerrainHugging0xA8 4 int m_bHPOverHead0xAC 4 int m_bDebugMode0xB0 4 int m_bUIEditMode0xB4 4 int m_bCloudSavesEnabled0xB8 4 int m_bNeverShowNuisanceSOD0xBC 4 int m_nActiveCampaign0xC0 4 int m_bDeveloperMode0xC4 4 int m_bForceDialogPause0xC8 4 int m_bUse3dAnimations0xCC 4 int m_bCriticalHitScreenShake0xD0 4 int m_bHotkeysOnToolTips0xD4 4 int m_bVeryLowPerformance0xD8 4 int m_bDisplayExtraCombatInfo0xDC 2 unsigned short m_nAreaEffectsDensity

Continued on next page

5.8. CG Structures 535

Page 540: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous page2 <padding>

0xE0 4 int m_bDuplicateFloatingText0xE4 1 unsigned char m_nTilesPrecachePercent

3 <padding>0xE8 4 int m_bColorCircles0xEC 4 int m_bClassicCircles0xF0 4 int m_nCombatUI0xF4 4 int m_bOverConfirmEverything0xF8 4 int m_bShowLearnableSpells0xFC 4 int m_bShowTriggersOnTab0x100 4 int m_bShowBlackSpace0x104 4 int m_bUseNearestNeighbourScaling0x108 4 int m_showAOE0x10C 4 int m_bDisableCastingGlows0x110 4 int m_bLowMemSounds10x114 4 int m_bLowMemSounds20x118 4 int m_bDisableVEFVidCells0x11C 4 int m_bDisableDisplayText0x120 4 int m_bMidLevelBrighten0x124 4 int m_bHighLevelBrighten0x128 2 unsigned short m_nAreaEffectsRefreshProb

2 <padding>0x12C 4 int m_bEnhancedPathSearch0x130 4 int m_bPausingMap0x134 4 int m_bExtraFeedback0x138 4 int m_bFilterGames0x13C 4 int m_bAllLearnSpellInfo0x140 4 int m_bDisableStaticsDuringCombat0x144 4 int m_bDisableFootstepsDuringCombat0x148 4 int m_bDisablePlacedSoundsDuringCombat0x14C 4 long m_nSuperDesperateSpeedAttempt0x150 4 int m_bAutomatedSpeedAdjusting0x154 4 int m_bAutomatedGraphicsTranslucentShadows0x158 4 int m_bAutomatedVeryLowPerformance0x15C 4 int m_bAutomatedLowPerformance0x160 4 int m_bAutomatedDisableBrightest0x164 4 int m_bAutomatedLimitTransparency0x168 4 int m_bAutomatedDisableCastingGlows0x16C 4 int m_bAutomatedDisableVEFVidCells0x170 4 int m_bAutomatedMidLevelBrighten0x174 4 int m_bAutomatedHighLevelBrighten0x178 4 int m_bAutomatedSoundFootStepsOn0x17C 4 int m_bAutomatedAttackSounds0x180 4 int m_bAutomatedUse3dAnimations0x184 4 int m_bAutomatedDisableVVCSounds0x188 4 int m_bAutomatedFasterBlur0x18C 4 long m_nCutAutomatedGraphicsTranslucentShadows0x190 4 long m_nCutAutomatedVeryLowPerformance0x194 4 long m_nCutAutomatedLowPerformance0x198 4 long m_nCutAutomatedDisableBrightest

Continued on next page

536 Chapter 5. EE Game Structures (x86)

Page 541: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous page0x19C 4 long m_nCutAutomatedLimitTransparency0x1A0 4 long m_nCutAutomatedDisableCastingGlows0x1A4 4 long m_nCutAutomatedDisableVEFVidCells0x1A8 4 long m_nCutAutomatedMidLevelBrighten0x1AC 4 long m_nCutAutomatedHighLevelBrighten0x1B0 4 long m_nCutAutomatedSoundFootStepsOn0x1B4 4 long m_nCutAutomatedAttackSounds0x1B8 4 long m_nCutAutomatedUse3dAnimations0x1BC 4 long m_nCutAutomatedDisableVVCSounds0x1C0 4 long m_nCutAutomatedFasterBlur0x1C4 4 int m_bPCOnlyCombatMode0x1C8 4 int m_bFullyDisableNonVisibleDuringCombat0x1CC 4 int m_bDisableVVCSounds0x1D0 4 int m_bFasterBlur0x1D4 4 long m_nFatFingerRadius0x1D8 4 int m_bScaleUI0x1DC 4 long m_nRenderActionQueue0x1E0 4 int m_bConfirmDialog0x1E4 4 int m_bHardwareMouseCursor0x1E8 4 int m_bShowHealth0x1EC 4 int m_bMaxHP0x1F0 4 int m_bStoryMode0x1F4 4 int m_bNightmareMode0x1F8 4 int m_bNightmareBonusGold0x1FC 4 int m_bNightmareBonusXP0x200 4 int m_b3ESneakAttack0x204 4 int m_bClericRangerFix0x208 4 int m_bShowPauseDate0x20C 4 int m_bDisableCosmeticAttacks0x210 4 int m_bJournalPopups0x214 4 int m_bRenderTravelRegions0x218 4 int m_bRenderSearchMap0x21C 4 int m_bRenderDynamicSearchMap0x220 4 int m_bRenderFrameTimes0x224 4 int m_bZoomLock0x228 4 int m_bDisableMultiplayerBanters0x22C 4 int m_bRenderPath0x230 4 int m_bFogEnabled0x234 4 int m_bUseSpriteShader0x238 4 int m_bCharacterHighlightsEnabled0x23C 4 int m_bGreyscaleOnPauseEnabled0x240 4 int m_bShortDescription0x244 4 long m_nMaxStringEntries0x248 4 int m_bRenderExploredMap0x24C 4 int m_bEnableDirectX0x250 4 int m_bEnableMPChatMenu0x254 4 int m_bExpireTraps0x258 4 long m_nDifficultyLevel

5.8. CG Structures 537

Page 542: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.50 CGamePermission

Used by the CGamePermission Class

Offset Size Type Field0x00 8 unsigned char m_permission[8]

5.8.51 CGameRemoteObjectArray

Offset Size Type Field0x00 4 CGameRemoteObjectListEntry** m_pArray0x04 2 short m_nArraySize0x06 2 short m_nControlsChanged0x08 4 CGameRemoteObjectControlChange* m_pControlsChanged0x0C 4 CGameRemoteObjectControlChange* m_pControlsChangedTail0x10 2 short m_nDeletions

2 <padding>0x14 4 CGameRemoteObjectDeletion* m_pDeletions0x18 4 CGameRemoteObjectDeletion* m_pDeletionsTail0x1C 2 short m_nControlsAreaChanged0x1E 48 CResRef m_psControlsAreaChangedName[6]

2 <padding>0x50 24 unsigned long m_pnControlsAreaChangedPlayerNum[6]0x68 12 short m_pnControlsAreaChangedFirstObject[6]

5.8.52 CGameRemoteObjectControlChange

Offset Size Type Field0x00 4 int oldPlayerID0x04 4 long oldObjectID0x08 4 int newPlayerID0x0C 4 long newObjectID0x10 4 CGameRemoteObjectControlChange* pNext0x14 1 unsigned char localControl

3 <padding>

5.8.53 CGameRemoteObjectDeletion

Offset Size Type Field0x00 4 int deletedPlayerID0x04 4 long deletedObjectID0x08 4 CGameRemoteObjectDeletion* pNext

538 Chapter 5. EE Game Structures (x86)

Page 543: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.54 CGameRemoteObjectListEntry

Offset Size Type Field0x00 4 int remotePlayerID0x04 4 long remoteObjectID0x08 4 long localObjectID0x0C 4 CGameRemoteObjectListEntry* pNext

5.8.55 CGameRemoveMapNote

Offset Size Type Field0x00 324 CGameEffect m_cGameEffect

5.8.56 CGameSave

Used by the CGameSave Class

Offset Size Type Field0x00 4 unsigned long m_inputMode0x04 8 CResRef m_cResCurrentWorldArea0x0C 4 unsigned long m_nCurrentWorldLink0x10 4 unsigned long m_nPartyGold0x14 2 short m_curFormation0x16 10 short m_quickFormations[5]0x20 400 CItem* m_groupInventory[100]0x1B0 4 int m_bArenaMode0x1B4 2 short m_groupInventoryNumber

2 <padding>0x1B8 4 unsigned long m_mode0x1BC 4 int m_cutScene0x1C0 4 long m_nCutSceneStatusOverride

5.8.57 CGameSaveCharacter

Offset Size Type Field0x00 4 unsigned long m_actionMode0x04 208 CButtonData m_quickWeapons[4]0xD4 156 CButtonData m_quickSpells[3]0x170 156 CButtonData m_quickItems[3]

5.8. CG Structures 539

Page 544: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.58 CGameSound

Used by the CGameSound Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 212 CAreaFileSoundObject m_soundObject0x11c 20 CSound m_looping0x130 4 int m_bLoopPlaying0x134 4 long m_period0x138 4 long m_periodCount0x13c 1 unsigned char m_currentSound

3 <padding>0x140 4 unsigned long m_timeOfDayActive

5.8.59 CGameSpawning

Used by the CGameSpawning Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 200 CAreaFileRandomMonsterSpawningPoint m_spawningObject0x110 16 unsigned char m_terrainTable[16]0x120 16 unsigned char m_visibleTerrainTable[16]0x130 4 long m_nTrackingCounter0x134 4 unsigned long m_weightSum

5.8.60 CGameSprite

Used by the CGameSprite Class

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase0x3FC 8 CResRef m_resref0x404 2 unsigned short m_type

2 <padding>0x408 4 unsigned long m_expirationTime0x40C 2 unsigned short m_huntingRange0x40E 2 unsigned short m_followRange

Continued on next page

540 Chapter 5. EE Game Structures (x86)

Page 545: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x410 8 CPoint m_posStart0x418 4 unsigned long m_timeOfDayVisible0x41C 616 CCreatureFileHeader m_baseStats0x684 196 CTypedPtrList m_knownSpellsPriest[7]0x748 252 CTypedPtrList m_knownSpellsMage[9]0x844 28 CTypedPtrList m_knownSpellsInnate[1]0x860 28 CCreatureFileMemorizedSpellLevel* m_memorizedSpellsLevelPriest[7]0x87C 36 CCreatureFileMemorizedSpellLevel* m_memorizedSpellsLevelMage[9]0x8A0 4 CCreatureFileMemorizedSpellLevel* m_memorizedSpellsLevelInnate[1]0x8A4 196 CTypedPtrList m_memorizedSpellsPriest[7]0x968 252 CTypedPtrList m_memorizedSpellsMage[9]0xA64 28 CTypedPtrList m_memorizedSpellsInnate[1]0xA80 168 CGameSpriteEquipment m_equipment0xB28 4 unsigned char* m_pDialogData0xB2C 4 unsigned long m_nDialogData0xB30 2340 CDerivedStats m_derivedStats0x1454 2340 CDerivedStats m_tempStats0x1D78 2340 CDerivedStats m_bonusStats0x269C 524 CGameSaveCharacter m_gameSaveData0x28A8 4 CString m_sName0x28AC 1 unsigned char m_lastCharacterCount

3 <padding>0x28B0 164 CGameStatsSprite m_cGameStats0x2954 8 CResRef m_currentArea0x295C 1 unsigned char m_bGlobal0x295D 1 unsigned char m_nModalState

2 <padding>0x2960 40 CSound m_sndWalk[2]0x2988 4 unsigned long m_nSndWalk0x298C 40 CSound m_sndArmor[2]0x29B4 1 unsigned char m_currSndWalk0x29B5 1 unsigned char m_currSndArmor

2 <padding>0x29B8 20 CSound m_sndReady0x29CC 20 CSound m_sndDeath0x29E0 20 CSound m_sndMagic0x29F4 20 CSound m_sndVoice0x2A08 20 CSound m_sndSpriteEffect0x2A1C 4 long m_nNumberOfTimesTalkedTo0x2A20 4 int m_bSeenPartyBefore0x2A24 8 CResRef m_specificScriptName0x2A2C 96 long m_nNumberOfTimesInteractedWith[24]|0x2A8C 2 short m_nHappiness0x2A8E 2 short m_nOldHappiness0x2A90 20 CAIObjectType m_interactingWith0x2AA4 4 long m_triggerId0x2AA8 4 int m_active0x2AAC 4 int m_activeAI0x2AB0 4 int m_activeImprisonment0x2AB4 4 int m_bSelected

Continued on next page

5.8. CG Structures 541

Page 546: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x2AB8 4 int m_bPortraitUpdate0x2ABC 1 unsigned char m_bInfravisionOn0x2ABD 16 unsigned char m_terrainTable[16]0x2ACD 16 unsigned char m_visibleTerrainTable[16]0x2ADD 16 unsigned char m_flightTerrainTable[16]

3 <padding>0x2AF0 16 CGameAnimation m_animation0x2B00 4 unsigned short* m_pSpriteEffectArray0x2B04 4 tagPOINT* m_pSpriteEffectArrayPosition0x2B08 1 unsigned char m_nTwitches0x2B09 1 unsigned char m_spriteEffectSequenceNumber0x2B0A 1 unsigned char m_spriteEffectDuration0x2B0B 1 unsigned char m_spriteEffectSequenceLength0x2B0C 1 char m_spriteEffectBaseIntensity0x2B0D 1 unsigned char m_spriteEffectRandomIntensity

2 <padding>0x2B10 192 CVidCell m_spriteEffectVidCell0x2BD0 36 CVidPalette m_spriteEffectPalette0x2BF4 4 unsigned long m_spriteEffectFlags0x2BF8 192 CVidCell m_spriteSplashVidCell0x2CB8 36 CVidPalette m_spriteSplashPalette0x2CDC 4 unsigned long m_spriteSplashFlags0x2CE0 16 CRect m_rSpriteEffectFX0x2CF0 8 CPoint m_ptSpriteEffectReference0x2CF8 1 unsigned char m_effectExtendDirection0x2CF9 1 unsigned char m_bEscapingArea

2 <padding>0x2CFC 4 int m_animationRunning0x2D00 4 long m_posZDelta0x2D04 1 unsigned char m_doBounce0x2D05 1 unsigned char m_nMirrorImages0x2D06 1 unsigned char m_bBlur0x2D07 1 unsigned char m_bInvisible0x2D08 1 unsigned char m_bSanctuary

3 <padding>0x2D0C 192 CVidCell m_sanctuaryVidCell0x2DCC 1 unsigned char m_bEntangle

3 <padding>0x2DD0 192 CVidCell m_entangleVidCell0x2E90 1 unsigned char m_bMinorGlobe

3 <padding>0x2E94 192 CVidCell m_minorGlobeVidCell0x2F54 1 unsigned char m_bShieldGlobe

3 <padding>0x2F58 192 CVidCell m_shieldGlobeVidCell0x3018 1 unsigned char m_bGreasePool

3 <padding>0x301C 192 CVidCell m_greasePoolVidCell0x30DC 1 m_bWebHold

3 <padding>Continued on next page

542 Chapter 5. EE Game Structures (x86)

Page 547: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x30E0 192 CVidCell m_webHoldVidCell0x31A0 8 double m_fCircleChange0x31A8 8 double m_fCurrCircleChange0x31B0 2 short m_radius0x31B2 1 char m_circleFacing0x31B3 1 unsigned char m_bVisibilityUpdated

4 <padding>0x31B8 8 double m_fDirectionOffset0x31C0 2 short m_nSequence

2 <padding>0x31C4 8 CPoint m_posExact0x31CC 8 CPoint m_posDelta0x31D4 8 CPoint m_posDest0x31DC 8 CPoint m_posOld0x31E4 8 CPoint m_posOldWalk0x31EC 8 CPoint m_posLastVisMapEntry0x31F4 4 long* m_pVisMapExploredArea0x31F8 2 short m_skipDeltaDirection0x31FA 2 short m_deltaDirection0x31FC 2 short m_nNewDirection0x31FE 2 short m_nDirection0x3200 4 long* m_pPath0x3204 2 short m_nPath0x3206 1 unsigned char m_bCheckMove

1 <padding>0x3208 28 CTypedPtrList m_pPathTemp0x3224 28 CTypedPtrList m_nPathTemp0x3240 2 short m_currPath

2 <padding>0x3244 4 int m_walkBackwards0x3248 4 int m_turningAbout0x324C 4 unsigned long m_lastRGBColor0x3250 4 int m_pathSearchInvalidDest0x3254 4 int m_pathCollision0x3258 4 CSearchRequest* m_currentSearchRequest0x325C 2 short m_nBloodFlashAmount0x325E 2 short m_nDamageLocatorTime0x3260 4 unsigned long m_nDamageLocatorColor0x3264 4 int m_bBloodFlashOn0x3268 176 CVidBitmap m_vbPortraitSmall0x3318 4 int m_bVisibleMonster0x331C 4 int m_bBumpable0x3320 1 unsigned char m_bBumped

3 <padding>0x3324 8 CPoint m_ptBumpedFrom0x332C 4 int m_bInClearBumpPath0x3330 4 unsigned long m_nBlockedTick0x3334 4 int m_followLeader0x3338 4 int m_followLeaderAdditive0x333C 4 long m_followLeaderNext

Continued on next page

5.8. CG Structures 543

Page 548: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x3340 4 int m_followStart0x3344 28 CTypedPtrList m_lstBlood0x3360 2 short m_castCounter

2 <padding>0x3364 4 int m_bStartedCasting0x3368 4 int m_bInCasting0x336C 2 short m_selectedSound0x336E 2 short m_moveCount0x3370 2 short m_moveToFrontQueue0x3372 2 short m_moveToBackQueue0x3374 4 int m_moveToBack0x3378 4 int m_moveToFront0x337C 44 CGameEffectList m_equipedEffectList0x33A8 44 CGameEffectList m_timedEffectList0x33D4 28 CPersistantEffectList m_persistantEffects0x33F0 20 CGameAbilityList m_lstSelectedLevelUpAbilities0x3404 8 CPoint m_curDest0x340C 4 long m_nGregsRetryCounter0x3410 4 int m_bWaitingForAreaLoadInLeaveAreaLUA0x3414 2 short m_userCommandPause0x3416 2 short m_nCommandPause0x3418 8 CPoint m_curPosition0x3420 4 int m_tookDamage0x3424 4 POSITION* m_groupPosition0x3428 4 int m_groupMove0x342C 4 int m_firstDeadAI0x3430 4 CProjectile* m_curProjectile0x3434 4 CSpell* m_curSpell0x3438 4 CItem* m_curItem0x343C 2 short m_curItemSlotNum0x343E 2 short m_curItemAbilityNum0x3440 80 short m_weaponProficiencyList[40]0x3490 8 unsigned char m_generalWeaponList[8]0x3498 2 short m_speedFactor0x349A 2 short m_lastActionID0x349C 20 CAIObjectType m_liveTypeAI0x34B0 20 CAIObjectType m_startTypeAI0x34C4 4 int m_endOfDamageSeq0x34C8 2 short m_playDeadCounter0x34CA 2 short m_turnToStoneCounter0x34CC 2 short m_lightningReactCounter0x34CE 2 short m_sleepCounter0x34D0 2 short m_runCounter0x34D2 2 short m_searchPauseCount0x34D4 4 int m_doneSearch0x34D8 2 short m_dieCount0x34DA 2 short m_pauseCount0x34DC 2 short m_recoilFrame0x34DE 2 short m_attackFrame0x34E0 4 long m_noActionCount

Continued on next page

544 Chapter 5. EE Game Structures (x86)

Page 549: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x34E4 4 int m_inFormation0x34E8 4 int m_newEffect0x34EC 1 unsigned char m_canDamage

3 <padding>0x34F0 4 int m_leftAttack0x34F4 1 unsigned char m_halfAttack

3 <padding>0x34F8 4 int m_hasColorEffects0x34FC 4 int m_hasColorRangeEffects0x3500 4 int m_hasAnimationEffects0x3504 4 int m_removeFromArea0x3508 4 int m_forceAnimationReset0x350C 44 CMarker m_marker0x3538 44 CMarker m_destMarker0x3564 4 long m_targetId0x3568 8 CPoint m_targetPoint0x3570 2 short m_targetAreaSize0x3572 1 unsigned char m_nTempSelectedWeapon0x3573 1 unsigned char m_nTempSelectedWeaponAbility0x3574 52 CButtonData m_currentUseButton0x35A8 8 CResRef m_dialog0x35B0 8 CResRef m_dialogInteraction0x35B8 1 unsigned char m_sequenceTest

3 <padding>0x35BC 4 STR_RES* m_speech0x35C0 1 unsigned char m_saveVSDeathRoll0x35C1 1 unsigned char m_saveVSWandsRoll0x35C2 1 unsigned char m_saveVSPolyRoll0x35C3 1 unsigned char m_saveVSBreathRoll0x35C4 1 unsigned char m_saveVSSpellRoll0x35C5 1 unsigned char m_magicResistRoll0x35C6 1 unsigned char m_probabilityRoll0x35C7 1 unsigned char m_wildMageLevelModRoll0x35C8 1 unsigned char m_wildMageSurgeRoll

1 <padding>0x35CA 2 short m_wildSurgeLevel0x35CC 2 short m_nSelectionCountCommon0x35CE 2 short m_nSelectionCountCommonRareCounter0x35D0 2 short m_nSelectionCountRare0x35D2 2 short m_nSelectionCountAction0x35D4 4 long m_lastCheckedHitPoints0x35D8 4 int m_moraleFailure0x35DC 4 int m_startedSwing0x35E0 2 short m_followCount

2 <padding>0x35E4 4 int m_clearAIOnRemoveFromArea0x35E8 4 long m_dialogWait0x35EC 4 long m_dialogWaitTarget0x35F0 4 long m_talkingCounter0x35F4 1 unsigned char m_talkingRenderCount

Continued on next page

5.8. CG Structures 545

Page 550: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x35F5 1 unsigned char m_inControlLastTime0x35F6 1 unsigned char m_bSecondPass

1 <padding>0x35F8 28 CTypedPtrList m_portraitIcons0x3614 192 CVidCell m_portraitIconVidCell0x36D4 4 int m_firstActionSound0x36D8 4 long m_lastRested0x36DC 4 int m_berserkActive0x36E0 2 short m_attackSoundDeadzone

2 <padding>0x36E4 4 long m_nHPCONBonusTotalOld0x36E8 4 int m_bHPCONBonusTotalUpdate0x36EC 4 long m_nLastWeightCheck0x36F0 4 unsigned long m_modalCounter0x36F4 4 int m_bHiding0x36F8 4 unsigned long m_lastRegenerationTime0x36FC 4 int m_bLevelUp0x3700 1 unsigned char m_bAllowDialogInterrupt0x3701 1 unsigned char m_bHappinessChanged

2 <padding>0x3704 4 long m_nUnselectableCounter0x3708 4 unsigned long m_nUnselectableType0x370C 8 CResRef m_secondarySounds0x3714 4 long m_nStealthGreyOut0x3718 4 int m_bMentalStateActing0x371C 12 int m_nLastLevelUpLevel[3]0x3728 4 int m_nLastLevelUpHPRoll0x372C 4 int m_bForceVisualEffects0x3730 2 short m_currentActionId

2 <padding>0x3734 4 int m_bPlayedEncumberedStopped0x3738 4 int m_bPlayedEncumberedSlowed0x373C 4 long m_nPlayedEncumberedStopped0x3740 4 long m_nPlayedEncumberedSlowed0x3744 2 short m_nPlayedPoisonedDamage0x3746 2 short m_nEffectListCalls0x3748 4 int m_bAllowEffectListCall0x374C 1 unsigned char m_nPreCutSceneMoveScale

3 <padding>0x3750 4 int m_bUsingCutSceneMovement0x3754 4 int m_bDeleteOnRemove0x3758 4 CVariableHash* m_pLocalVariables0x375C 4 int m_bInUnmarshal0x3760 28 CBounceList m_lBounceList0x377C 4 long m_nTransitionPointIndex0x3780 4 long m_nBounceCounter0x3784 4 long m_nMoraleAI0x3788 4 long m_nGeneratedVEFIndex0x378C 4 long m_nTrackingCounter0x3790 4 CGameButtonList* m_interalButtonList

Continued on next page

546 Chapter 5. EE Game Structures (x86)

Page 551: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x3794 4 CAIScript* m_dreamScript0x3798 104 CGameDialogSprite m_cDialog0x3800 104 CGameDialogSprite m_cBanter0x3868 1 unsigned char m_bForceVisRangeRedraw

3 <padding>0x386C 4 long m_nLastExpiryCheck0x3870 4 long m_nLastContingencyCheck0x3874 4 CString m_hitBonusesLeft0x3878 4 CString m_hitBonusesRight0x387C 4 CString m_damageBonusesLeft0x3880 4 CString m_damageBonusesRight0x3884 2 short m_effectMovementRate

2 <padding>0x3888 4 unsigned long m_effectStateFlags0x388C 144 CCreatureFileMemorizedSpellLevel m_effectMemorizedSpellsLevelMage0x391C 112 CCreatureFileMemorizedSpellLevel m_effectMemorizedSpellsLevelPriest0x398C 4 int m_effectStoreInitialized0x3990 1 unsigned char m_nLevellingUp

3 <padding>0x3994 4 int m_bHasDeathSequence0x3998 28 CTypedPtrList m_lstTargetIds0x39B4 28 CTypedPtrList m_lstTargetPts0x39D0 4 int m_bInStoreState0x39D4 4 int m_bInDialogState0x39D8 4 long m_nDialogState0x39DC 4 long m_nWaitingOnDialog0x39E0 1 bool m_bHighlightPortrait

3 <padding>0x39E4 4 unsigned long m_nHighlightColor0x39E8 4 int m_bCutSceneOverrideOfState0x39EC 4 int m_bForceEffectProcessFromTimeStop0x39F0 4 int m_bCopyForAdd0x39F4 4 long m_nCopyParent0x39F8 28 CTypedPtrList m_feedbackQueue0x3A14 4 int m_bOnSearchMap0x3A18 4 int m_bRemovedFromMap0x3A1C 120 CGameSpriteLastUpdate m_cLastSpriteUpdate0x3A94 4 int m_bSendSpriteUpdate0x3A98 4 long m_nLastDamageTaken0x3A9C 4 long m_nDeadVisualEffectCountDown0x3AA0 4 int m_bForceVisibilityCheck0x3AA4 1 unsigned char m_nVisualRange

3 <padding>0x3AA8 4 int m_bPlayAnimationBattleCry0x3AAC 4 int m_bPlayAnimationSelectionSound0x3AB0 10 unsigned char m_aLevellupSpellsToPick[10]

2 <padding>0x3ABC 4 long m_nCrossAreaChaseCounter0x3AC0 4 int m_bDidAReequipAll0x3AC4 4 int m_bInEquip

Continued on next page

5.8. CG Structures 547

Page 552: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous page0x3AC8 1 char m_cFirstResSlot

3 <padding>0x3ACC 4 long m_nNumColorRanges0x3AD0 4 long m_nNumColorEffects0x3AD4 4 long m_nNumWeaponImmunities0x3AD8 4 int m_bCheckedIfVisiblePause0x3ADC 4 int m_bCheckedSpecialAbilities0x3AE0 4 int m_bDroppedTempItem0x3AE4 4 long m_nSkippedUpdates0x3AE8 4 int m_bDelayUpdate0x3AEC 4 long m_nHalfSwingCounter0x3AF0 1 bool m_bInCopy

3 <padding>0x3AF4 28 CTypedPtrList m_lstVisibleGroundItems0x3B10 4 int m_nGroundItemPage0x3B14 4 float m_avgProcessAITime

5.8.61 CGameSprite::GroundItem

Offset Size Type Field0x00 4 long containerID0x04 4 long itemSlot0x08 8 CResRef item0x10 8 CResRef itemIcon0x18 2 unsigned short count

2 <padding>0x1C 4 unsigned long itemFlags

5.8.62 CGameSprite::RenderHealthBar

Offset Size Type Field0x00 8 SDL_Point pt0x08 4 unsigned long c

5.8.63 CGameSpriteEquipment

Offset Size Type Field0x00 156 CItem* m_items[39]0x9C 1 unsigned char m_selectedWeapon

1 <padding>0x9E 2 unsigned short m_selectedWeaponAbility0xA0 4 CItem* m_pTempItem0xA4 4 CGameSprite* m_pSprite

548 Chapter 5. EE Game Structures (x86)

Page 553: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.64 CGameSpriteLastUpdate

Offset Size Type Field0x00 4 long* m_pPath0x04 2 short m_nPath0x06 2 short m_currPath0x08 8 CPoint m_ptDest0x10 1 unsigned char m_nMoveScale

1 <padding>0x12 2 short m_nSequence0x14 8 CPoint m_ptPosition0x1C 2 short m_nFacing

2 <padding>0x20 4 unsigned long m_dwState0x24 2 short m_nHitPoints0x26 2 short m_nMaxHitPoints0x28 2 short m_nArmorClass0x2A 2 short m_nACCrushingMod0x2C 2 short m_nACMissileMod0x2E 2 short m_nACPiercingMod0x30 2 short m_nACSlashingMod0x32 2 short m_nPortraitIcons0x34 4 long* m_pPortraitIcons0x38 1 unsigned char m_nEnemyAlly0x39 1 unsigned char m_nEnemyAllyLive0x3A 1 unsigned char m_bMoraleFailure0x3B 1 unsigned char m_nGeneral0x3C 1 unsigned char m_nGeneralLive

3 <padding>0x40 4 CString m_sAreaString0x44 1 unsigned char m_bLevelUp

3 <padding>0x48 4 long m_nHPCONBonusTotalOld0x4C 1 unsigned char m_bSummonDisable0x4D 1 unsigned char m_bDoNotJump0x4E 1 unsigned char m_bSanctuary0x4F 1 unsigned char m_bDisableCircle0x50 1 unsigned char m_bHeld0x51 1 unsigned char m_bActiveImprisonment

2 <padding>0x54 32 unsigned long m_spellState[8]0x74 4 int m_bFullUpdateRequired

5.8.65 CGameStatic

Used by the CGameStatic Class

5.8. CG Structures 549

Page 554: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 76 CAreaFileStaticObject m_header0x94 192 CVidCell m_vidCell0x154 4 CResWebm* m_pMovie0x158 4 CResPVR* m_pImage0x15C 4 int m_bRender0x160 8 CSize m_size0x168 28 CTypedPtrList m_secondaryVidCellList0x184 4 int m_bNewPalette0x188 176 CVidBitmap m_newPalette

5.8.66 CGameStatsRes

Offset Size Type Field0x00 4 CObject m_cObject0x04 8 CResRef m_cResRef0x0C 2 short m_nTimesUsed

2 <padding>

5.8.67 CGameStatsSprite

Used by the CGameStatsSprite Class

Offset Size Type Field0x00 4 unsigned long m_strStrongestKillName0x04 4 unsigned long m_nStrongestKillXPValue0x08 4 unsigned long m_nPreviousTimeWithParty0x0C 4 unsigned long m_nJoinPartyTime0x10 4 int m_bWithParty0x14 4 unsigned long m_nChapterKillsXPValue0x18 4 unsigned long m_nChapterKillsNumber0x1C 4 unsigned long m_nGameKillsXPValue0x20 4 unsigned long m_nGameKillsNumber0x24 64 CGameStatsRes m_pSpellStats[4]0x64 64 CGameStatsRes m_pWeaponStats[4]

550 Chapter 5. EE Game Structures (x86)

Page 555: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.8.68 CGameTemporal

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 16 unsigned char m_visibleTerrainTable[16]0x58 16 CGameAnimation m_animation0x68 4 int m_animationRunning0x6C 8 CPoint m_posExact0x74 8 CPoint m_posDelta0x7C 2 short m_duration0x7E 1 unsigned char m_durationFade0x7F 1 unsigned char m_collision0x80 20 CSound m_sound0x94 4 int m_bPermanent0x98 4 int m_bAllowSave0x9C 2 unsigned short m_projectileType

2 <padding>

5.8.69 CGameText

Used by the CGameText Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 4 int m_nWidth0x4C 32 CVidFont m_textFont0x6C 4 int m_nDuration0x70 2 unsigned short m_nBeginFade

2 <padding>0x74 4 CString m_sText0x78 4 long m_iTarget0x7C 4 CGameObject* m_pTarget

5.8.70 CGameTiledObject

Used by the CGameTiledObject Class

5.8. CG Structures 551

Page 556: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase0x3fc 8 CResRef m_resID0x404 4 unsigned long m_dwFlags0x408 4 CPoint* m_pPrimarySearch0x40C 2 unsigned short m_nPrimarySearch

20x410 4 CPoint* m_pSecondarySearch0x414 2 unsigned short m_nSecondarySearch

20x418 24 CTiledObject m_tiledObject0x430 32 char m_scriptName[32]

5.8.71 CGameTimer

Offset Size Type Field0x00 4 long m_time0x04 1 unsigned char m_id

3 <padding>

5.8.72 CGameTrigger

Used by the CGameTrigger Class

552 Chapter 5. EE Game Structures (x86)

Page 557: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 1020 CGameAIBase m_cGameAIBase0x3FC 2 unsigned short m_triggerType

2 <padding>0x400 16 CRect m_rBounding0x410 4 unsigned long m_cursorType0x414 8 unsigned char m_newArea[8]0x41C 32 char m_newEntryPoint[32]0x43C 4 unsigned long m_dwFlags0x440 4 unsigned long m_description0x444 4 CPoint* m_pPolygon0x448 2 unsigned short m_nPolygon0x44A 2 unsigned short m_boundingRange0x44C 8 unsigned char m_scriptRes[8]0x454 32 char m_scriptName[32]0x474 2 unsigned short m_trapDetectionDifficulty0x476 2 unsigned short m_trapDisarmingDifficulty0x478 2 unsigned short m_trapActivated0x47A 2 unsigned short m_trapDetected0x47C 8 CPoint m_posTrapOrigin0x484 8 CResRef m_keyType0x48C 2 short m_drawPoly

2 <padding>0x490 4 unsigned long m_iGameText0x494 8 CPoint m_ptWalkTo

5.9 CI Structures

• CIcon

• CImmunitiesAIType

• CImmunitiesEffect

• CImmunitiesItemEquip

• CImmunitiesItemEquipList

• CImmunitiesItemTypeEquip

• CImmunitiesItemTypeEquipList

• CImmunitiesProjectile

• CImmunitiesSchoolAndSecondary

• CImmunitiesSchoolAndSecondaryDecrementing

• CImmunitiesSpellLevel

• CImmunitiesSpellLevelDecrementing

• CImmunitiesSpellList

• CImmunitiesWeapon

• CImmunitySpell

5.9. CI Structures 553

Page 558: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CImportGame

• CInfButtonArray

• CInfButtonSettings

• CInfCursor

• CInfGame

• CInfTileSet

• CInfToolTip

• CInfinity

• CItem

5.9.1 CIcon

See CIcon Class

Offset Size Type Field1 <padding>

5.9.2 CImmunitiesAIType

Used by the CImmunitiesAIType Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.3 CImmunitiesEffect

Used by the CImmunitiesEffect Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.4 CImmunitiesItemEquip

Offset Size Type Field0x00 8 CResRef m_res0x08 4 unsigned long m_error0x0C 4 CGameEffect* m_pEffect

554 Chapter 5. EE Game Structures (x86)

Page 559: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.9.5 CImmunitiesItemEquipList

Used by the CImmunitiesItemEquipList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.6 CImmunitiesItemTypeEquip

Offset Size Type Field0x00 4 unsigned long m_type0x04 4 unsigned long m_error0x08 4 CGameEffect* m_pEffect

5.9.7 CImmunitiesItemTypeEquipList

Used by the CImmunitiesItemTypeEquipList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.8 CImmunitiesProjectile

Used by the CImmunitiesProjectile Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.9 CImmunitiesSchoolAndSecondary

Used by the CImmunitiesSchoolAndSecondary Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9. CI Structures 555

Page 560: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.9.10 CImmunitiesSchoolAndSecondaryDecrementing

Used by the CImmunitiesSchoolAndSecondaryDecrementing Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.11 CImmunitiesSpellLevel

Used by the CImmunitiesSpellLevel Class

Offset Size Type Field0x00 40 int m_levels[10]

5.9.12 CImmunitiesSpellLevelDecrementing

Used by the CImmunitiesSpellLevelDecrementing Class

Offset Size Type Field0x00 80 CSpellLevelDecrementing m_levels[10]

5.9.13 CImmunitiesSpellList

Used by the CImmunitiesSpellList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.9.14 CImmunitiesWeapon

Used by the CImmunitiesWeapon Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

556 Chapter 5. EE Game Structures (x86)

Page 561: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.9.15 CImmunitySpell

Offset Size Type Field0x00 8 CResRef m_res0x08 4 unsigned long m_error0x0C 4 int m_item

5.9.16 CImportGame

Used by the CImportGame Class

Offset Size Type Field0x00 1 unsigned char m_bDrizztDead

3 <padding>0x04 4 CGameFile* m_pGame0x08 1 unsigned char m_nVersion

3 <padding>0x0C 20 CTypedPtrArray m_aPartyCreatures0x20 20 CTypedPtrArray m_aNonPartyCreatures0x34 20 CTypedPtrArray m_aCreatureData0x48 20 CTypedPtrArray m_aNPCData0x5c 4 int m_nGlobalVariables0x60 4 unsigned char* m_pGlobalVariables0x64 4 unsigned long m_nPartyGold0x68 4 unsigned long m_nReputation

5.9.17 CInfButtonArray

Used by the CInfButtonArray Class

Offset Size Type Field0x00 5136 CInfButtonSettings m_buttonArray[12]0x1410 48 int m_configIcons[12]0x1440 48 int m_buttonTypes[12]0x1470 4 int m_buttonToConfigure0x1474 4 int m_nState0x1478 4 int m_nLastState0x147c 4 int m_bWayPointsOn0x1480 192 CVidCell m_vcButtons0x1540 192 CVidCell m_vcActions0x1600 4 int m_quickButtonToConfigure0x1604 4 int m_nListStartIndex0x1608 4 int m_nSelectedButton0x160C 4 int m_nFirstMageSpellIndex0x1610 4 int m_bToggleButtonCleric

5.9. CI Structures 557

Page 562: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.9.18 CInfButtonSettings

Offset Size Type Field0x00 4 int m_bEnabled0x04 4 int m_bShowIcon0x08 4 int m_bOverrideRender0x0C 4 int m_nButtonFrame0x10 4 int m_nButtonSelectedFrame0x14 192 CVidCell m_vcIcon0xD4 192 CVidCell m_vcLauncherIcon0x194 4 int m_bSelectable0x198 4 int m_bSelected0x19C 4 int m_bHighlighted0x1A0 4 int m_itemCount0x1A4 4 int m_itemCharge0x1A8 4 int m_bGreyOut

5.9.19 CInfCursor

Used by the CInfCursor Class

Offset Size Type Field0x00 4 int bVisible0x04 192 CVidCell vcCursors0xC4 192 CVidCell vcArrow0x184 192 CVidCell vcCustom0x244 268 CInfToolTip vcToolTip0x350 4 unsigned int nAnimationCounter0x354 4 int nAnimationSpeed0x358 4 int nCurrentCursor0x35C 4 int nDirection0x360 4 int nState0x364 1 unsigned char bAnimatingCustom

3 <padding>

5.9.20 CInfGame

Used by the CInfGame Class

Offset Size Type Field0x00 9472 CRuleTables m_ruleTables0x2500 8 CTimerWorld m_worldTime0x2508 4 int m_bGameLoaded0x250C 1 unsigned char m_bInLoadGame

Continued on next page

558 Chapter 5. EE Game Structures (x86)

Page 563: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 24 – continued from previous page0x250D 1 unsigned char m_bInLoadArea0x250E 1 unsigned char m_bInIniSpawn

1 <padding>0x2510 4 unsigned long m_nUniqueAreaID0x2514 4 unsigned long m_nAreaFirstObject0x2518 1 unsigned char m_bFromNewGame0x2519 1 unsigned char m_bInDestroyGame0x251A 1 unsigned char m_bAnotherPlayerJoinedGame0x251B 1 unsigned char m_bInAreaTransition0x251C 4 int m_bStartedDeathSequence0x2520 28 CTypedPtrList m_lstTargetIds0x253C 28 CTypedPtrList m_lstTargetPts0x2558 2 short m_nState

2 <padding>0x255C 4 int m_iconCount0x2560 1 unsigned char m_iconIndex0x2561 8 CResRef m_iconResRef0x2569 1 unsigned char m_tempCursor

2 <padding>0x256C 4 long m_iContainer0x2570 4 long m_iContainerSprite0x2574 4 int m_bAllowTargetDead0x2578 8 CGamePermission m_singlePlayerPermissions0x2580 188 CMultiplayerSettings m_multiPlayerSettings0x263C 24 CMachineStates m_machineStates0x2654 5652 CInfButtonArray m_cButtonArray0x3C68 8 CVRamPool m_cVRamPool0x3C70 4 int m_bSaveScreen0x3C74 4 CString m_sSaveScreenArea0x3C78 176 CVidBitmap m_rgbMasterBitmap

4 <padding>0x3D2C 116 CGameRemoteObjectArray m_remoteObjectsArray0x3DA0 1 unsigned char m_visibleArea0x3DA1 1 unsigned char m_bPlayerScriptStyle

2 <padding>0x3DA4 48 CGameArea* m_gameAreas[12]0x3DD4 4 CGameArea* m_pGameAreaMaster0x3DD8 24 long m_characters[6]0x3DF0 24 long m_charactersPortrait[6]0x3E08 2 short m_nCharacters

2 <padding>0x3E0C 28 CTypedPtrList m_lstGlobalCreatures0x3E28 20 CTypedPtrArray m_characterOverflow0x3E3C 2 short m_nCharacterOverflowCount0x3E3E 2 short m_nReputation0x3E40 4 CPathSearch* m_pathSearch0x3E44 4 CPathNode** m_listGrid0x3E48 36 CAIGroup m_group0x3E6C 28 CTypedPtrList m_allies0x3E88 28 CTypedPtrList m_familiars

Continued on next page

5.9. CI Structures 559

Page 564: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 24 – continued from previous page0x3EA4 72 unsigned char m_resrefFamiliarsDefault[9][8]0x3EEC 2268 CTypedPtrList m_resrefFamiliars[9][9]0x47C8 4 int m_bFamiliarBlock0x47CC 4 unsigned long m_nFamiliarSummoner0x47D0 4 CString m_sSaveGame0x47d4 4 int m_bAllowCutSceneBreak0x47d8 452 CGameSave m_gameSave0x499C 604 CGameOptions m_options0x4BF8 20 CGameJournal m_cGameJournal0x4C0C 28 CWorldMap m_cWorldMap0x4C28 2000 int m_pKeymap[500]0x53F8 2000 int m_pKeymapFlags[500]0x5BC8 8 CVariableHash m_variables0x5BD0 8 CVariableHash m_namedCreatures0x5BD8 24 STR_RES m_soundNeedParty0x5BF0 24 STR_RES m_soundAreaTransitionRefused0x5C08 1 unsigned char m_bForceDither

3 <padding>0x5C0C 192 CVidCell m_vcLocator0x5CCC 28 CTypedPtrList m_searchRequests0x5CE8 28 CTypedPtrList m_searchRequestsBack0x5D04 4 int m_searchRequestListEmpty0x5D08 4 int m_searchShutdown0x5D0C 28 CPtrList m_lDisposableItems0x5D28 2 short m_currArmor0x5D2A 2 short m_currAnimation0x5D2C 60 CAIIdList SAVE_OBJECT_LIST0x5D68 4 long m_nProtagonistId0x5D6C 1 unsigned char m_bPartyAI0x5D6D 1 unsigned char m_bShowAreaNotes0x5D6E 1 unsigned char m_nTravelScreenImageToUse0x5D6F 8 CResRef m_resrefTravelScreenImage

1 <padding>0x5D78 4 unsigned long m_dwLastProgressRenderTickCount0x5D7C 4 unsigned long m_dwLastProgressMsgTickCount0x5D80 4 unsigned long m_nLastSaveTime0x5D84 4 unsigned long m_gameTime0x5D88 4 unsigned long m_zoomLevel0x5D8C 4 unsigned long m_zoomEnabled0x5D90 8 CPoint m_lastClick0x5D98 4 long m_lastTarget0x5D9C 1 unsigned char m_bTriggerOutline

3 <padding>0x5DA0 36 CVidPalette m_entanglePalette0x5DC4 36 CVidPalette m_webHoldPalette0x5DE8 4 long m_nCharacterTerminationSequenceDelay0x5DEC 4 int m_bNoDreamTonight0x5DF0 1 unsigned char m_bContinueHealing

3 <padding>0x5DF4 28 CMoveList m_cMoveList

Continued on next page

560 Chapter 5. EE Game Structures (x86)

Page 565: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 24 – continued from previous page0x5E10 28 CMoveList m_cLimboList0x5E2C 28 CTypedPtrList m_lTransitionPiles0x5E48 4 CString m_transitionPilesResref0x5E4C 8 CPoint m_transitionPilesPtDest0x5E54 4 int m_bMissionPackInfo0x5e58 4 int m_bMissionPackInfo250x5e5c 4 int m_bMissionPackInfoTBP0x5e60 4 long m_nAIIndex0x5e64 4 long m_nTimeStop0x5e68 4 long m_nTimeStopCaster0x5e6c 4 long m_nGreyScale0x5e70 4 m_nBrownScale0x5e74 4 CAIScriptFile* m_globalScriptFile0x5e78 48 CStore* m_aServerStore[12]0x5EA8 12 unsigned char m_nServerStoreDemands[12]0x5EB4 4 CString m_appearanceWeapon0x5EB8 4 CString m_appearanceBody0x5EBC 4 CString m_appearanceShield0x5EC0 4 CString m_appearanceHelmet0x5EC4 7 unsigned char m_appearanceColorsWeapon[7]0x5ECb 7 unsigned char m_appearanceColorsBody[7]0x5ED2 7 unsigned char m_appearanceColorsShield[7]0x5ED9 7 unsigned char m_appearanceColorsHelmet[7]0x5EE0 4 int m_bOverrideRestEncounter0x5EE4 4 int m_bAddOnActivated0x5EE8 4 int m_bAddInActivated0x5EEC 4 CString m_sCurrentCampaign0x5EF0 4 int m_bCampaignEnabled0x5EF4 28 CTypedPtrList m_storedLocations0x5F10 28 CTypedPtrList m_storedLocationsPocketPlane0x5F2C 8 CVVCHash m_VVCPriorities0x5F34 4 long m_nCurrentVVCPriority

5.9.21 CInfTileSet

Used by the CInfTileSet Class

Offset Size Type Field0x00 8 CResTileSet* tis[2]0x08 164 CVidTile cVidTile0xAC 4 CVRamPool* pVRPool0xB0 4 CResInfTile** pResTiles0xB4 4 unsigned long nTiles0xB8 4 unsigned long nTileSize

5.9. CI Structures 561

Page 566: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.9.22 CInfToolTip

Offset Size Type Field0x00 189 CVidCell m_cVidCell

3 <padding>0xC0 4 CString m_sText0xC4 16 CRect m_rSource0xD4 4 int m_bUseSourceRect0xD8 32 CVidFont m_textFont0xF8 20 CSound m_openSnd

5.9.23 CInfinity

Used by the CInfinity Class

Offset Size Type Field0x00 20 CInfTileSet* pTileSets[5]0x14 4 CResWED* pResWED0x18 4 CVRamPool* pVRPool0x1C 4 CVidMode* pVidMode0x20 4 int bUseDestSrc0x24 4 int bRefreshVRamRect0x28 4 int bInitialized0x2C 4 int bWEDDemanded0x30 4 int nOffsetX0x34 4 int nOffsetY0x38 4 int nTilesX0x3C 4 int nTilesY0x40 4 int nNewX0x44 4 int nNewY0x48 16 CRect rViewPortNotZoomed0x58 16 CRect rViewPort0x68 16 CRect rVRamRect0x78 16 CRect rRequestRect0x88 4 int nVisibleTilesX0x8C 4 int nVisibleTilesY0x90 4 int nAreaX0x94 4 int nAreaY0x98 4 int nCurrentTileX0x9C 4 int nCurrentTileY0xA0 4 int nCurrentX0xA4 4 int nCurrentY0xA8 4 int nSub1XOffset0xAC 4 int nSub1YOffset0xB0 4 int nSub2XOffset0xB4 4 int nSub2YOffset0xB8 4 int nSub3XOffset

Continued on next page

562 Chapter 5. EE Game Structures (x86)

Page 567: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 25 – continued from previous page0xBC 4 int nSub3YOffset0xC0 4 int nSub4XOffset0xC4 4 int nSub4YOffset0xC8 20 CSound sndThunder0xDC 4 int nCurrentLightningFrequency0xE0 4 int nNextLightningFrequency0xE4 4 int nNewLightningFrequency0xE8 4 int nCurrentRainLevel0xEC 4 int nNextRainLevel0xF0 4 int nCurrentSnowLevel0xF4 4 int nCurrentWindLevel0xF8 4 int nCurrentFogLevel0xFC 4 int nNextWindLevel0x100 4 int nCurrentTimeOfDay0x104 4 int nTimeToNextThunder0x108 4 int nThunderLength0x10C 4 int bRenderCallLightning0x110 4 int nRenderLightningTimer0x114 8 CPoint cLightningPoint0x11C 192 CVidCell m_glowVidCell0x1DC 28 CTypedPtrList m_lAOE0x1F8 2 unsigned short m_areaType0x1FA 1 unsigned char m_renderDayNightCode0x1FB 1 unsigned char m_oldRenderDayNightCode0x1FC 1 unsigned char m_dayLightIntensity0x1FD 1 unsigned char m_requestDayNightCode0x1FE 1 unsigned char m_oldRequestDualTileCode0x1FF 1 unsigned char m_bResizedViewPort0x200 4 unsigned long m_nLastTickCount0x204 8 CPoint m_ptCurrentPosExact0x20C 2 short m_autoScrollSpeed

2 <padding>0x210 8 CPoint0x218 4 int m_nScrollAttempts0x21C 4 int m_nOldScrollState0x220 1 unsigned char m_nScrollDelay0x221 1 unsigned char m_bMovieBroadcast

2 <padding>0x224 4 int m_bStartLightning0x228 4 int m_bStopLightning0x22C 1 unsigned char m_lightningStrikeProb

3 <padding>0x230 4 unsigned long m_rgbRainColor0x234 4 unsigned long m_rgbLightningGlobalLighting0x238 4 unsigned long m_rgbOverCastGlobalLighting0x23C 4 unsigned long m_rgbGlobalLighting0x240 4 unsigned long m_rgbTimeOfDayGlobalLighting0x244 4 unsigned long m_rgbTimeOfDayRainColor0x248 4 int m_updateListenPosition0x24C 4 CGameArea* m_pArea

Continued on next page

5.9. CI Structures 563

Page 568: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 25 – continued from previous page0x250 176 CVidBitmap m_vbMessageScreen0x300 4 unsigned long m_strrefMessage0x304 4 int m_bScreenShake0x308 8 CPoint m_screenShakeDelta0x310 8 CPoint m_screenShakeDecrease0x318 4 float m_fZoomSaved0x31C 4 float m_fZoom0x320 4 float m_fStoredZoom0x324 4 int m_bZoomEnabled0x328 4 int m_bZooming

5.9.24 CItem

Used by the CItem Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 12 CResHelper m_cResHelper0x10 4 int m_nAbilities0x14 2 unsigned short m_useCount10x16 2 unsigned short m_useCount20x18 2 unsigned short m_useCount30x1A 2 unsigned short m_wear0x1C 4 unsigned long m_flags0x20 40 CSound m_useSound[2]0x48 2 short m_numSounds

2 <padding>0x4C 28 CGameEffectUsabilityList m_Usability

Notes

m_flags field can contain bit values from INVITEM.IDS:

1 IDENTIFIED2 NONSTEALABLE4 STOLEN8 NONDROPABLE

m_flags field is checked for identified value in CItem::GetGenericName and CItem::GetDescription

5.10 CK Structures

• CKeyInfo

564 Chapter 5. EE Game Structures (x86)

Page 569: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.10.1 CKeyInfo

Offset Size Type Field0x00 4 unsigned long m_repeatCount0x04 4 int m_keyCode0x08 1 unsigned char m_repeatDelay0x09 1 unsigned char m_repeatRate

2 <padding>

5.11 CL Structures

• CLUACheats

• CLUAConsole

• CLightning

• CList

• CList::CNode

5.11.1 CLUACheats

Offset Size Type Field1 <padding>

5.11.2 CLUAConsole

See CLUAConsole Class

Offset Size Type Field1 <padding>

5.11. CL Structures 565

Page 570: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.11.3 CLightning

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 2 short m_nType

2 <padding>0x4C 8 CPoint m_posDest0x54 8 CPoint m_posSrc0x5c 2 short m_nConjureDuration0x5e 2 short m_nSpellDuration0x60 4 long m_destId0x64 4 long m_srcId0x68 4 CAIAction* m_pTargetAction

5.11.4 CList

Note: defined as CList<long,long> or CList<unsigned long,unsigned long &>

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CList::CNode* m_pNodeHead0x08 4 CList::CNode* m_pNodeTail0x0C 4 int m_nCount0x10 4 CList::CNode* m_pNodeFree0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.11.5 CList::CNode

Note: defined as CList<long,long>::CNode or CList<unsigned long,unsigned long&>::CNode

Offset Size Type Field0x00 4 CList::CNode* pNext0x04 4 CList::CNode* pPrev0x08 4 long (or unsigned long) data

566 Chapter 5. EE Game Structures (x86)

Page 571: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12 CM Structures

• CMachineState

• CMachineStates

• CMapStringToPtr

• CMapStringToPtr::CAssoc

• CMapStringToString

• CMapStringToString::CAssoc

• CMapWordToPtr

• CMapWordToPtr::CAssoc

• CMarker

• CMemINI

• CMemINIFile

• CMemINIRes

• CMemINISection

• CMemINIValue

• CMessage

• CMessage Structures

• CMessageAddAction

• CMessageAddClairvoyance

• CMessageAddEffect

• CMessageAddItem

• CMessageAddVVCInternal

• CMessageAllowDialogInterrupt

• CMessageAnimationChange

• CMessageChangeDirection

• CMessageChangeStoreMarkup

• CMessageCheckForForcedDialogEnd

• CMessageCleanAir

• CMessageClearActions

• CMessageClearDialogActions

• CMessageClearDialogOnMachine

• CMessageClearGroupSlot

• CMessageClearTriggers

• CMessageColorChange

• CMessageColorReset

5.12. CM Structures 567

Page 572: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageColorUpdate

• CMessageContainerAddItem

• CMessageContainerItems

• CMessageContainerStatus

• CMessageCutSceneLite

• CMessageCutSceneModeStatus

• CMessageDisableAI

• CMessageDisplayText

• CMessageDisplayTextRef

• CMessageDisplayTextRefPoint

• CMessageDisplayTextRefSend

• CMessageDoorOpen

• CMessageDoorStatus

• CMessageDreamScriptResRef

• CMessageDropPath

• CMessageEnterDialog

• CMessageEnterDialogMode

• CMessageEnterStoreMode

• CMessageEscapeArea

• CMessageExitDialogMode

• CMessageExitStoreMode

• CMessageExploreArea

• CMessageFadeColor

• CMessageFakeExpireCheck

• CMessageFamiliarAdd

• CMessageFamiliarRemoveResRef

• CMessageFireProjectile

• CMessageFireSpell

• CMessageForcePosition

• CMessageForceRandomEncounter

• CMessageHandler

• CMessageInsertAction

• CMessageInsertResponse

• CMessageLeaveParty

• CMessageLoadDialog

• CMessageMakeGlobal

568 Chapter 5. EE Game Structures (x86)

Page 573: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageMoveGlobal

• CMessageNonControlledDialogReturn

• CMessageNonControlledDialogStart

• CMessagePartyGold

• CMessagePlaySound

• CMessagePlaySoundRef

• CMessageRemoveItem

• CMessageRemoveReplies

• CMessageRemoveVVCInternal

• CMessageReplaceItem

• CMessageReputationChange

• CMessageResetMorale

• CMessageSaveGame

• CMessageScreenShake

• CMessageSetAISpeed

• CMessageSetActive

• CMessageSetActiveImprisonment

• CMessageSetAreaFlag

• CMessageSetAreaScript

• CMessageSetBanterBlockFlag

• CMessageSetBanterBlockTime

• CMessageSetCampaign

• CMessageSetCommandPause

• CMessageSetCurrentActionId

• CMessageSetCurrentArea

• CMessageSetDialogPausing

• CMessageSetDialogResRef

• CMessageSetDialogWait

• CMessageSetDirection

• CMessageSetDrawPoly

• CMessageSetFamiliarSummoner

• CMessageSetForceActionPick

• CMessageSetHappiness

• CMessageSetInCutScene

• CMessageSetInDialog

• CMessageSetInStore

5.12. CM Structures 569

Page 574: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageSetLastAttacker

• CMessageSetLastObject

• CMessageSetMusic

• CMessageSetNumTimesTalkedTo

• CMessageSetPath

• CMessageSetPortraitLarge

• CMessageSetPortraitSmall

• CMessageSetRestEncounterProbability

• CMessageSetSequence

• CMessageSetSound

• CMessageSetStateOverrideFlag

• CMessageSetStateOverrideTime

• CMessageSetTarget

• CMessageSetTimeStop

• CMessageSetTrigger

• CMessageSetVariable

• CMessageSetVariableAll

• CMessageSetWorldmap

• CMessageSetWorldmapAreaFlag

• CMessageSpawnPtActivate

• CMessageSpawnPtSpawn

• CMessageSpriteDeath

• CMessageSpriteEquipment

• CMessageSpritePetrify

• CMessageSpriteUpdate

• CMessageStartCombatMusic

• CMessageStartFollow

• CMessageStartScroll

• CMessageStartSong

• CMessageStartTextScreen

• CMessageStartVEF

• CMessageStaticPalette

• CMessageStaticSequence

• CMessageStaticStart

• CMessageStopActions

• CMessageStopEscapeArea

570 Chapter 5. EE Game Structures (x86)

Page 575: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageStopFollow

• CMessageStoreAddItem

• CMessageStoreDemand

• CMessageStoreRelease

• CMessageStoreRemoveItem

• CMessageStoreReplaceItem

• CMessageTakeCreatureItems

• CMessageTransformItem

• CMessageTriggerStatus

• CMessageUnlock

• CMessageUpdateImmunities

• CMessageUpdateMachineState

• CMessageUpdateReaction

• CMessageUpdateScript

• CMessageUpdateStoredPartyLocations

• CMessageUseItemCharges

• CMessageVerbalConstant

• CMessageVisibilityMapMove

• CMessageVisualEffect

• CMessageWeaponImmumityUpdate

• CMoveList

• CMoveListEntry

• CMultiplayerSettings

• CMusicPosition

5.12.1 CMachineState

Offset Size Type Field0x00 4 unsigned long m_inputState

5.12.2 CMachineStates

Used by the CMachineStates Class

Offset Size Type Field0x00 24 CMachineState m_machineStates[6]

5.12. CM Structures 571

Page 576: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.3 CMapStringToPtr

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CMapStringToPtr::CAssoc** m_pHashTable0x08 4 unsigned int m_nHashTableSize0x0C 4 int m_nCount0x10 4 CMapStringToPtr::CAssoc* m_pFreeList0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.12.4 CMapStringToPtr::CAssoc

Offset Size Type Field0x00 4 CMapStringToPtr::CAssoc* pNext0x04 4 unsigned int nHashValue0x08 4 CString key0x0C 4 void* value

5.12.5 CMapStringToString

Used by the CMapStringToString Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CMapStringToString::CAssoc** m_pHashTable0x08 4 unsigned int nHashValue0x0C 4 int m_nCount0x10 4 CMapStringToString::CAssoc* m_pFreeList0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.12.6 CMapStringToString::CAssoc

Offset Size Type Field0x00 4 CMapStringToString::CAssoc* pNext0x04 4 unsigned int nHashValue0x08 4 CString key0x0C 4 CString value

572 Chapter 5. EE Game Structures (x86)

Page 577: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.7 CMapWordToPtr

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CMapWordToPtr::CAssoc** m_pHashTable0x08 4 unsigned int nHashValue0x0C 4 int m_nCount0x10 4 CMapWordToPtr::CAssoc* m_pFreeList0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.12.8 CMapWordToPtr::CAssoc

Offset Size Type Field0x00 4 CMapWordToPtr::CAssoc* pNext0x04 2 unsigned short key

2 <padding>0x08 4 void* value

5.12.9 CMarker

Offset Size Type Field0x00 1 unsigned char m_type

1 <padding>0x02 2 short m_nRecticleCounter0x04 1 unsigned char m_nRecticleForceRender0x05 1 unsigned char m_nRecticleForceRenderTarget

2 <padding>0x08 4 unsigned long m_rgbColor0x0C 28 CVIDMODE_RECTICLE_DESCRIPTION m_recticleDesc0x28 1 unsigned char m_bTalking0x29 1 unsigned char m_bDoubleSize

2 <padding>

5.12.10 CMemINI

Used by the CMemINI Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 CString mFileName0x20 4 CMemINISection* mpLastSection

5.12. CM Structures 573

Page 578: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.11 CMemINIFile

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 CString mFileName0x08 4 int mMode0x0C 16 CFile mFile0x1C 4 int mFileOpen

5.12.12 CMemINIRes

Offset Size Type Field0x00 12 CResHelper m_cResHelper0x0C 4 unsigned char* mpData0x10 4 int mDataLength0x14 8 CResRef ResRef0x1C 4 int mFilePosition0x20 4 int mEOF

5.12.13 CMemINISection

Used by the CMemINI Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 CString mSectionName

5.12.14 CMemINIValue

Used by the CMemINI Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 CString mName0x08 4 CString mValue

574 Chapter 5. EE Game Structures (x86)

Page 579: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.15 CMessage

Used by the CMessage Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 long m_targetId0x08 4 long m_sourceId

5.12.16 CMessage Structures

CMessageAddAction

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 100 CAIAction m_action

CMessageAddClairvoyance

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CPoint m_ptPosition0x14 4 long m_nDuration

CMessageAddEffect

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CGameEffect* m_effect0x10 1 unsigned char m_noSave

3 <padding>

5.12. CM Structures 575

Page 580: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageAddItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 104 CItem m_item

CMessageAddVVCInternal

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_res

CMessageAllowDialogInterrupt

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_cutSceneMode

3 <padding>

CMessageAnimationChange

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 unsigned short m_animationId

2 <padding>

CMessageChangeDirection

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_face

2 <padding>

576 Chapter 5. EE Game Structures (x86)

Page 581: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageChangeStoreMarkup

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_sStore0x14 4 unsigned long m_buy0x18 4 unsigned long m_sell

CMessageCheckForForcedDialogEnd

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bOverrideAction

3 <padding>

CMessageCleanAir

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_resref0x14 8 CResRef m_table

CMessageClearActions

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageClearDialogActions

Offset Size Type Field0x00 12 CMessage m_cMessage

5.12. CM Structures 577

Page 582: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageClearDialogOnMachine

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageClearGroupSlot

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_slotNum

2 <padding>

CMessageClearTriggers

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageColorChange

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 7 unsigned char m_colors[7]0x13 1 unsigned char m_bApply

CMessageColorReset

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageColorUpdate

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 28 CColorRanges m_appliedColorRanges0x28 28 CColorEffects m_appliedColorEffects

578 Chapter 5. EE Game Structures (x86)

Page 583: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageContainerAddItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 104 CItem m_item0x74 2 short m_slotNum0x76 1 unsigned char m_bCompressContainer

1 <padding>

CMessageContainerItems

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 unsigned short m_nItems

2 <padding>0x10 4 CItem** m_pItems

CMessageContainerStatus

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dwFlags0x10 2 unsigned short m_trapDetected0x12 2 unsigned short m_trapActivated

CMessageCutSceneLite

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_cutSceneMode

3 <padding>

CMessageCutSceneModeStatus

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_cutSceneMode

3 <padding>

5.12. CM Structures 579

Page 584: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageDisableAI

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_bDisable

CMessageDisplayText

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_name0x10 4 CString m_text0x14 4 unsigned long m_nameColor0x18 4 unsigned long m_textColor0x1C 4 long m_marker0x20 1 unsigned char m_moveToTop0x21 1 unsigned char m_overHead

1 unsigned char m_overrideDialogMode1 <padding>

CMessageDisplayTextRef

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_name0x10 4 unsigned long m_text0x14 4 unsigned long m_nameColor0x18 4 unsigned long m_textColor0x1C 4 long m_marker0x20 1 unsigned char m_moveToTop

3 <padding>0x24 4 unsigned long m_overHead0x28 1 unsigned char m_overrideDialogMode0x29 1 unsigned char m_bPlaySound

2 <padding>

CMessageDisplayTextRefPoint

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_text0x10 4 unsigned long m_textColor0x14 8 CPoint m_point

580 Chapter 5. EE Game Structures (x86)

Page 585: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageDisplayTextRefSend

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_name0x10 4 unsigned long m_text0x14 4 unsigned long m_nameColor0x18 4 unsigned long m_textColor0x1c 4 long m_marker0x20 1 unsigned char m_moveToTop0x21 1 unsigned char m_overHead

2 <padding>

CMessageDoorOpen

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bOpenDoor

3 <padding>

CMessageDoorStatus

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dwFlags0x10 2 unsigned short m_trapDetected0x12 2 unsigned short m_trapActivated0x14 1 unsigned char m_bOpen

3 <padding>

CMessageDreamScriptResRef

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResRefDialog

5.12. CM Structures 581

Page 586: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageDropPath

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageEnterDialog

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_entryNum0x10 1 unsigned char m_newDialog

3 <padding>0x14 4 int m_bItemDialog0x18 4 int m_bSuppressName

CMessageEnterDialogMode

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageEnterStoreMode

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 20 CAIObjectType m_cAIProprietor0x20 20 CAIObjectType m_cAICustomer0x34 8 CResRef m_cResStore

CMessageEscapeArea

Offset Size Type Field0x00 12 CMessage m_cMessage

582 Chapter 5. EE Game Structures (x86)

Page 587: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageExitDialogMode

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bButtonPushed

3 <padding>

CMessageExitStoreMode

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageExploreArea

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_sAreaString

CMessageFadeColor

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bFadeTo0x0D 1 unsigned char m_redFade0x0E 1 unsigned char m_greenFade0x0F 1 unsigned char m_blueFade

CMessageFakeExpireCheck

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_nTime

5.12. CM Structures 583

Page 588: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageFamiliarAdd

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bFamiliarAdd

3 <padding>

CMessageFamiliarRemoveResRef

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_resRef0x14 1 unsigned char m_nAlignment0x15 1 unsigned char m_nLevel

2 <padding>

CMessageFireProjectile

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 unsigned short m_projectileType

2 <padding>0x10 4 long m_projectileTargetId0x14 8 CPoint m_projectileTarget0x1C 4 long m_height

CMessageFireSpell

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_dialogRes0x10 4 long m_NPCId

CMessageForcePosition

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CPoint m_face

584 Chapter 5. EE Game Structures (x86)

Page 589: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageForceRandomEncounter

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cRes0x14 4 CString m_sEntryPoint

CMessageHandler

Offset Size Type Field0x00 28 CTypedPtrList m_messageList0x1C 1 unsigned char m_bLastArbitrationLockStatus

3 <padding>

CMessageInsertAction

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 100 CAIAction m_action

CMessageInsertResponse

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 36 CAIResponse m_response0x30 4 int m_checkCurrentResponse0x34 4 int m_clearActions

CMessageLeaveParty

Offset Size Type Field0x00 12 CMessage m_cMessage

5.12. CM Structures 585

Page 590: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageLoadDialog

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_dialogRes0x10 4 long m_NPCId0x14 4 int m_bItemDialog

CMessageMakeGlobal

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageMoveGlobal

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_sArea0x10 8 CPoint m_ptStart

CMessageNonControlledDialogReturn

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_return

3 <padding>

CMessageNonControlledDialogStart

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_dialogRes0x10 4 long m_NPCId

586 Chapter 5. EE Game Structures (x86)

Page 591: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessagePartyGold

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_gold0x10 1 unsigned char m_bAdjustment0x11 1 unsigned char m_bFeedback

2 <padding>

CMessagePlaySound

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_showText0x10 4 int m_showCircle0x14 1 unsigned char m_soundId

3 <padding>

CMessagePlaySoundRef

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResSound0x14 1 unsigned char m_nChannel0x15 1 unsigned char m_bPositioned

2 <padding>0x18 4 int m_bSendToMe

CMessageRemoveItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_slotNum

2 <padding>

5.12. CM Structures 587

Page 592: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageRemoveReplies

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_name0x10 4 long m_entryIndex0x14 4 long m_marker0x18 4 unsigned long m_nameColor

CMessageRemoveVVCInternal

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_res0x14 1 unsigned char m_level

3 <padding>

CMessageReplaceItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 104 CItem m_item0x74 8 CResRef m_cRes

CMessageReputationChange

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_deltaRep

2 <padding>

CMessageResetMorale

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_bMoraleFailure0x10 4 int m_iMoraleLevel

588 Chapter 5. EE Game Structures (x86)

Page 593: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSaveGame

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_nSlot

3 <padding>

CMessageScreenShake

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 unsigned short m_duration0x0E 1 char m_magnitudeX0x0F 1 char m_magnitudeY0x10 1 unsigned char m_bOverride

3 <padding>

CMessageSetAISpeed

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_nAISpeed

3 <padding>

CMessageSetActive

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_active

CMessageSetActiveImprisonment

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_active

5.12. CM Structures 589

Page 594: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetAreaFlag

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dFlag0x10 4 int m_bSet

CMessageSetAreaScript

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_script0x14 2 short m_nSlot

2 <padding>

CMessageSetBanterBlockFlag

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_cutSceneMode

3 <padding>

CMessageSetBanterBlockTime

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_time

CMessageSetCampaign

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_campaign

590 Chapter 5. EE Game Structures (x86)

Page 595: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetCommandPause

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_commandPause

2 <padding>

CMessageSetCurrentActionId

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_face

2 <padding>

CMessageSetCurrentArea

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResRefDialog

CMessageSetDialogPausing

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bOpenDoor

3 <padding>

CMessageSetDialogResRef

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResRefDialog

5.12. CM Structures 591

Page 596: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetDialogWait

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_wait0x10 4 long m_waitTarget

CMessageSetDirection

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CPoint m_face

CMessageSetDrawPoly

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_time

2 <padding>

CMessageSetFamiliarSummoner

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_bDone

4 int m_nSummoner

CMessageSetForceActionPick

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bOpenDoor

3 <padding>

592 Chapter 5. EE Game Structures (x86)

Page 597: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetHappiness

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_happiness

2 <padding>

CMessageSetInCutScene

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 int m_status

CMessageSetInDialog

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bState

1 <padding>0x0E 2 short m_nType

CMessageSetInStore

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bState

3 <padding>

CMessageSetLastAttacker

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 20 CAIObjectType m_lAttacker

5.12. CM Structures 593

Page 598: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetLastObject

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 20 CAIObjectType m_lAttacker0x20 2 unsigned short m_type

2 <padding>

CMessageSetMusic

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_sArea0x14 4 unsigned long m_music0x18 1 unsigned char m_slot

3 <padding>

CMessageSetNumTimesTalkedTo

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_nNumTimesTalkedTo

CMessageSetPath

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_nPath

2 <padding>0x10 4 long* m_pPath0x14 2 short m_currPath

2 <padding>0x18 8 CPoint m_currDest0x20 4 long m_position0x24 4 CString m_sAreaString

594 Chapter 5. EE Game Structures (x86)

Page 599: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetPortraitLarge

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResRefDialog

CMessageSetPortraitSmall

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_cResRefDialog

CMessageSetRestEncounterProbability

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_sArea0x14 1 unsigned char m_prob0x15 1 unsigned char m_bDayProb

2 <padding>

CMessageSetSequence

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_sequence

3 <padding>

CMessageSetSound

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_strref0x10 1 unsigned char m_soundId

3 <padding>

5.12. CM Structures 595

Page 600: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetStateOverrideFlag

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_cutSceneMode

3 <padding>

CMessageSetStateOverrideTime

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_time

CMessageSetTarget

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CPoint m_dest0x14 4 CSearchRequest* m_request0x18 1 unsigned char m_frontList

3 <padding>

CMessageSetTimeStop

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_time

CMessageSetTrigger

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 48 CAITrigger m_trigger

596 Chapter 5. EE Game Structures (x86)

Page 601: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetVariable

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_sAreaName0x10 4 CString m_sGlobalName0x14 4 long m_nValue0x18 1 unsigned char m_bIncrement

3 <padding>

CMessageSetVariableAll

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 CString m_sAreaName0x10 84 CVariable m_variable

CMessageSetWorldmap

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_worldmap

CMessageSetWorldmapAreaFlag

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_area0x14 4 int m_value0x18 4 int m_setreset

CMessageSpawnPtActivate

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bActivate

3 <padding>

5.12. CM Structures 597

Page 602: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSpawnPtSpawn

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CPoint m_ptFacingTowards

CMessageSpriteDeath

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_nDeathType

CMessageSpriteEquipment

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 168 CGameSpriteEquipment m_equipment

CMessageSpritePetrify

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bPetrify

3 <padding>

CMessageSpriteUpdate

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long* m_pPath0x10 2 short m_nPath0x12 2 short m_currPath0x14 8 CPoint m_ptDest0x1C 4 CString m_sAreaString0x20 2 short m_nSequence

2 <padding>0x24 8 CPoint m_ptPosition0x2C 2 short m_nFacing

Continued on next page

598 Chapter 5. EE Game Structures (x86)

Page 603: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 26 – continued from previous page2 <padding>

0x30 4 unsigned long m_dwState0x34 2 short m_nHitPoints0x36 2 short m_nMaxHitPoints0x38 2 short m_nArmorClass0x3a 2 short m_nACCrushingMod0x3c 2 short m_nACMissileMod0x3e 2 short m_nACPiercingMod0x40 2 short m_nACSlashingMod0x42 2 short m_nPortraitIcons0x44 4 long* m_pPortraitIcons0x48 1 unsigned char m_nEnemyAlly0x49 1 unsigned char m_nEnemyAllyLive0x4a 1 unsigned char m_nGeneral0x4b 1 unsigned char m_nGeneralLive0x4c 1 unsigned char m_bMoraleFailure0x4d 1 unsigned char m_nMoveScale

2 <padding>0x50 4 long m_nHPCONBonusTotalOld0x54 1 unsigned char m_bLevelUp0x55 1 unsigned char m_bSummonDisable0x56 1 unsigned char m_bDoNotJump0x57 1 unsigned char m_bSanctuary0x58 1 unsigned char m_bDisableCircle0x59 1 unsigned char m_bHeld0x5a 1 unsigned char m_bActiveImprisonment

1 <padding>0x5c 2 short m_nTranslucency0x5e 1 unsigned char m_bImmuneToBackstabs

1 <padding>0x60 32 unsigned long m_spellState[8]0x80 2 unsigned short m_nBitsRequired

2 <padding>

CMessageStartCombatMusic

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageStartFollow

Offset Size Type Field0x00 12 CMessage m_cMessage

5.12. CM Structures 599

Page 604: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStartScroll

Offset Size Type Field0x00 12 CMessage m_cMessage0x0c 4 CString m_sAreaString0x10 8 CPoint m_src0x18 8 CPoint m_dest0x20 1 unsigned char m_speed

3 <padding>

CMessageStartSong

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_music0x10 1 unsigned char m_slot

3 <padding>

CMessageStartTextScreen

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_screen

CMessageStartVEF

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_res0x14 4 CString m_sAreaString0x18 8 CPoint m_start0x20 8 CPoint m_target0x28 2 short m_height

2 <padding>

600 Chapter 5. EE Game Structures (x86)

Page 605: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStaticPalette

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_res

CMessageStaticSequence

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 unsigned short m_bSequence

2 <padding>

CMessageStaticStart

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bStart

3 <padding>

CMessageStopActions

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageStopEscapeArea

Offset Size Type Field0x00 12 CMessage m_cMessage

CMessageStopFollow

Offset Size Type Field0x00 12 CMessage m_cMessage

5.12. CM Structures 601

Page 606: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStoreAddItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_store0x14 20 CCreatureFileItem m_item0x28 4 unsigned long m_storeFlags

CMessageStoreDemand

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_store

CMessageStoreRelease

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_store

CMessageStoreRemoveItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_store0x14 8 CResRef m_itemId0x1C 4 unsigned long m_flags

CMessageStoreReplaceItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_store0x14 8 CResRef m_oldItem0x1C 8 CResRef m_newItem

602 Chapter 5. EE Game Structures (x86)

Page 607: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageTakeCreatureItems

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_itemType

CMessageTransformItem

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 104 CItem m_item0x74 8 CResRef m_cRes

CMessageTriggerStatus

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dwFlags0x10 2 unsigned short m_trapDetected0x12 2 unsigned short m_trapActivated

CMessageUnlock

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dwFlags

CMessageUpdateImmunities

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 28 CImmunitiesAIType m_cImmunitiesAIType

5.12. CM Structures 603

Page 608: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageUpdateMachineState

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 unsigned long m_dwFlags

CMessageUpdateReaction

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_nReaction

CMessageUpdateScript

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 8 CResRef m_resref0x14 2 short m_level

2 <padding>

CMessageUpdateStoredPartyLocations

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_bPocketPlane

3 <padding>0x10 28 CTypedPtrList m_storedLocations

CMessageUseItemCharges

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 2 short m_slotNum0x0E 2 short m_nCharges0x10 2 short m_nAbilityNum

2 <padding>

604 Chapter 5. EE Game Structures (x86)

Page 609: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageVerbalConstant

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 4 long m_verbalConstant0x10 1 unsigned char m_overHead

3 <padding>

CMessageVisibilityMapMove

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_moveOntoList

3 <padding>

CMessageVisualEffect

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 1 unsigned char m_nEffectType0x0D 1 unsigned char m_nEffectProperty

2 <padding>

CMessageWeaponImmumityUpdate

Offset Size Type Field0x00 12 CMessage m_cMessage0x0C 28 CImmunitiesWeapon m_weaponImmunities

5.12.17 CMoveList

Used by the CMoveList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.12. CM Structures 605

Page 610: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.18 CMoveListEntry

Offset Size Type Field0x00 4 long m_nSpiteIndex0x04 8 CResRef m_rAreaRes0x0C 8 CPoint m_ptDest0x14 8 CPoint m_ptSource0x1C 1 unsigned char m_nFacing

3 <padding>0x20 4 long m_nDelay

5.12.19 CMultiplayerSettings

Used by the CMultiplayerSettings Class

Offset Size Type Field0x00 48 CGamePermission m_pcPermissions[6]0x30 8 CGamePermission m_cDefaultPermissions0x38 24 int m_pnPlayerReady[6]0x50 24 int m_pnCharacterControlledByPlayer[6]0x68 6 unsigned char m_pbCharacterReady[6]0x6e 6 unsigned char m_pnCharacterStatus[6]0x74 24 int m_pnLoadGameControlledByPlayer[6]0x8c 1 unsigned char m_bRefreshCharacters0x8d 1 unsigned char m_nImportingBitField0x8e 1 unsigned char m_bRestrictStoreOption0x8f 1 unsigned char m_bJoinRequests0x90 1 unsigned char m_bAllowReformParty0x91 1 unsigned char m_bArbitrationLockStatus0x92 1 unsigned char m_bArbitrationLockAllowInput

1 <padding>0x94 8 CPoint m_ptAreaStart0x9c 4 CString m_sAreaName0xa0 4 CString m_sSaveName0xa4 4 int m_idHostPermittedDialog0xa8 4 long m_nHostPermittedDialogDelay0xac 1 unsigned char m_bHostPermittedDialog0xad 1 unsigned char m_bHostPermittedStore

2 <padding>0xb0 4 int m_idHostPermittedStore0xb4 1 unsigned char m_bFirstConnected

3 <padding>0xb8 4 CString m_sCampaignType

606 Chapter 5. EE Game Structures (x86)

Page 611: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.12.20 CMusicPosition

Offset Size Type Field0x00 4 int m_nSong0x04 4 int m_nSection0x08 4 int m_nPosition

5.13 CN Structures

• CNetwork

• CNetworkConnectionSettings

• CNetworkWindow

5.13.1 CNetwork

Used by the CNetwork Class

Offset Size Type Field0x00 16 GUID m_nApplicationGuid0x10 1 unsigned char m_bApplicationGuidDefined0x11 1 unsigned char m_bAutoConnectCheck0x12 1 unsigned char m_bServiceProviderEnumerated0x13 1 unsigned char m_bServiceProviderSelected0x14 4 int m_nServiceProvider0x18 4 int m_nTotalServiceProviders0x1C 16 CString m_ppszServiceProviderNames[4]0x2C 16 DP_ProviderID m_pnServiceProviderIDS[4]0x3C 1 unsigned char m_bConnectionInitialized0x3D 1 unsigned char m_bSocketConnecting0x3E 1 unsigned char m_bSocketConnected

1 <padding>0x40 4 CString m_sIPAddress0x44 1 unsigned char padding2

3 <padding>0x48 4 void* m_lpDPAddress0x4C 4 unsigned long m_dwDPAddressSize0x50 4 CString m_version0x54 1 unsigned char m_bSessionSelected

3 <padding>0x58 4 int m_nSession0x5C 1 unsigned char m_bSessionNameToMake0x5D 1 unsigned char padding3

2 <padding>0x60 4 CString m_sSessionNameToMake0x64 4 CString m_sSessionDescriptionToMake0x68 1 unsigned char m_bSessionPasswordEnabled0x69 1 unsigned char padding4

Continued on next page

5.13. CN Structures 607

Page 612: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 27 – continued from previous page2 <padding>

0x6C 4 CString m_sSessionPassword0x70 1 unsigned char m_bAllowNewConnections0x71 1 unsigned char m_bConnectionEstablished0x72 1 unsigned char m_bIsHost

1 <padding>0x74 72 DPWrapper m_directPlay0xBC 4 int m_nMaxPlayers0xC0 4 unsigned long m_dwSessionFlags0xC4 1 unsigned char m_bMaxPlayersDefined0xC5 1 unsigned char m_bSessionOptionsDefined

2 <padding>0xC8 4 CString m_sJoinedGame0xCC 4 CString m_sLeftGame0xD0 4 CString m_sDroppedGame0xD4 1 unsigned char m_bPlayerNameToMake0xD5 1 unsigned char m_bPlayerCreated

2 <padding>0xD8 4 int m_idLocalPlayer0xDC 4 CString m_sLocalPlayerName0xE0 4 int m_nTotalPlayers0xE4 24 CString m_psPlayerName[6]0xFC 24 int m_pPlayerID[6]0x114 6 unsigned char m_pbPlayerVisible[6]0x11A 6 unsigned char m_pbPlayerEnumerateFlag[6]0x120 4 int m_nLocalPlayer0x124 4 int m_nHostPlayer0x128 4 CString m_sHostIPAddress0x12C 4 int m_bAnnounceNewPlayers0x130 912 CNetworkWindow m_pSlidingWindow[6]0x4c0 152 CNetworkWindow m_SystemWindow0x558 1024 unsigned long m_dwCRC32[256]0x958 12 CNetworkConnectionSettings m_connectionSettings0x964 4 unsigned long m_lastMessage

5.13.2 CNetworkConnectionSettings

Offset Size Type Field0x00 4 unsigned long dwFlags0x04 4 unsigned long dwMaxPlayers0x08 4 CString sPlayerName

5.13.3 CNetworkWindow

608 Chapter 5. EE Game Structures (x86)

Page 613: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 1 unsigned char m_bInitialized0x01 1 unsigned char m_bVSSent0x02 1 unsigned char m_bVSReceived0x03 1 unsigned char m_nPlayerNumber0x04 2 unsigned short m_nAckExpected0x06 2 unsigned short m_nNextFrameToSend0x08 2 unsigned short m_nFrameExpected0x0A 2 unsigned short m_nTooFar0x0C 2 unsigned short m_nOldestFrame

2 <padding>0x10 20 cnetworkwindow_queueentry_st m_pOutgoingBuffers[1]0x24 20 cnetworkwindow_queueentry_st m_pIncomingBuffers[1]0x38 28 CTypedPtrList m_lQueueIncomingMessages0x54 28 CTypedPtrList m_lQueueOutgoingMessages0x70 1 unsigned char m_pbTimeOutSet[1]

3 <padding>0x74 4 unsigned long m_pnTimeOut[1]0x78 1 unsigned char m_pbArrived[1]

1 <padding>0x7A 2 unsigned short m_nNumBuffered0x7C 1 unsigned char m_bNoNak0x7D 1 unsigned char padding

2 <padding>0x80 4 unsigned long m_nPacketTimeout0x84 4 unsigned long m_nAckTimer0x88 1 unsigned char m_bAckTimerSet0x89 1 unsigned char m_bSomethingHappened

2 <padding>0x8C 4 unsigned long m_nNextEvent0x90 4 unsigned long m_nPlayerTimeout0x94 4 unsigned long m_nNoMessageTimeout

5.14 CO Structures

• CObArray

• CObList

• CObList::CNode

• CObject

• CObjectMarker

• COverridePath

5.14. CO Structures 609

Page 614: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.14.1 CObArray

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CObject** m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.14.2 CObList

Used by the CObList Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CObList::CNode* m_pNodeHead0x08 4 CObList::CNode* m_pNodeTail0x0C 4 int m_nCount0x10 4 CObList::CNode* m_pNodeFree0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.14.3 CObList::CNode

Offset Size Type Field0x00 4 CObList::CNode* pNext0x04 4 CObList::CNode* pPrev0x08 4 CObject data

5.14.4 CObject

Offset Size Type Field0x00 4 DWORD vfptr

610 Chapter 5. EE Game Structures (x86)

Page 615: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.14.5 CObjectMarker

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 28 CList m_lstObjectIds0x64 1 bool m_bHealthBarMarker

3 <padding>

5.14.6 COverridePath

Offset Size Type Field0x00 4 CString path0x04 4 int priority

5.15 CP Structures

• CParticle

• CPARTICLE_POINT

• CPathNode

• CPathSearch

• CPersistantEffect

• CPersistantEffectApplyEffect

• CPersistantEffectBurningDeath

• CPersistantEffectColorEffect

• CPersistantEffectDamage

• CPersistantEffectDisease

• CPersistantEffectElectricDeath

• CPersistantEffectFadeEffect

• CPersistantEffectFireDeath

• CPersistantEffectList

• CPersistantEffectListRegenerated

• CPersistantEffectMove

• CPersistantEffectPoison

• CPersistantEffectRegeneration

• CPlatform

• CPlex

5.15. CP Structures 611

Page 616: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CPoint

• CPortraitIcon

• CProgressBar

• CProjectile

• CProjectileAmbiant

• CProjectileArea

• CProjectileAreaFileFormat

• CProjectileBAM

• CProjectileBAMFileFormat

• CProjectileCallLightning

• CProjectileCastingGlow

• CProjectileChain

• CProjectileColorSpray

• CProjectileConeOfCold

• CProjectileFall

• CProjectileFile

• CProjectileFileFormat

• CProjectileFireHands

• CProjectileInstant

• CProjectileInvisibleTravelling

• CProjectileLightningBolt

• CProjectileLightningBoltGround

• CProjectileLightningBounce

• CProjectileLightningStorm

• CProjectileMagicMissileMulti

• CProjectileMulti

• CProjectileMushroom

• CProjectileNewScorcher

• CProjectileScorcher

• CProjectileSegment

• CProjectileSkyStrike

• CProjectileSkyStrikeBAM

• CProjectileSpellHit

• CProjectileTravelDoor

• CPtrArray

• CPtrList

612 Chapter 5. EE Game Structures (x86)

Page 617: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CPtrList::CNode

5.15.1 CParticle

Used by the CParticle Class

Offset Size Type Field0x00 2 short m_nTimeStamp0x02 2 short m_nTailLength0x04 2 short m_nRenderTime

2 <padding>0x08 4 unsigned long m_rgbColor0x0C 2 unsigned short m_wType

2 <padding>0x10 4 long m_nLifeSpan0x14 1 unsigned char m_bTag

3 <padding>0x18 12 CPARTICLE_POINT m_pos0x24 12 CPARTICLE_POINT m_vel0x30 4 long m_nGravity

5.15.2 CPARTICLE_POINT

Offset Size Type Field0x00 4 long x0x04 4 long y0x08 4 long z

5.15.3 CPathNode

Offset Size Type Field0x00 4 CPathNode* m_pathNodePrev0x04 4 CPathNode* m_listOpenLeft0x08 4 CPathNode* m_listOpenRight0x0C 4 CPathNode* m_listOpenParent0x10 4 long m_gridPosition0x14 4 long m_costStart0x18 4 long m_costTotal0x1C 1 unsigned char m_fIsOpen

3 <padding>

5.15. CP Structures 613

Page 618: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.4 CPathSearch

Used by the CPathSearch Class

Offset Size Type Field0x00 4 int PATH_SMOOTH0x04 4 CPathNode** m_pListGrid0x08 4 CPathNode* m_openList0x0C 2 short m_openListLevel0x0E 2 short m_nOpenList0x10 4 long* m_pathBegin0x14 2 short m_nPathNodes0x16 2 short m_pathCurrent

5.15.5 CPersistantEffect

Used by the CPersistantEffect Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 int m_done0x08 4 int m_deleted0x0C 2 short m_numDamage0x0E 2 short m_persistantType0x10 4 long m_sourceID0x14 2 short m_period0x16 2 short m_periodCounter0x18 4 long m_counter

5.15.6 CPersistantEffectApplyEffect

Offset Size Type Field0x00 40 CPersistantEffectDamage m_cPersistantEffectDamage0x28 8 CResRef m_res0x30 4 CGameEffect* m_pSourceEffect

5.15.7 CPersistantEffectBurningDeath

Offset Size Type Field0x00 28 CPersistantEffect m_cPersistantEffect0x1C 1 unsigned char m_charredDegree0x1D 1 unsigned char m_charredIncrement

2 <padding>

614 Chapter 5. EE Game Structures (x86)

Page 619: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.8 CPersistantEffectColorEffect

Offset Size Type Field0x00 28 CPersistantEffect m_cPersistantEffect0x1C 4 int m_undo0x20 1 unsigned char m_effectFinalRed0x21 1 unsigned char m_effectDegreeRed0x22 1 unsigned char m_effectIncrementRed0x23 1 unsigned char m_effectFinalGreen0x24 1 unsigned char m_effectDegreeGreen0x25 1 unsigned char m_effectIncrementGreen0x26 1 unsigned char m_effectFinalBlue0x27 1 unsigned char m_effectDegreeBlue0x28 1 unsigned char m_effectIncrementBlue0x29 1 unsigned char m_colorEffect

2 <padding>

5.15.9 CPersistantEffectDamage

Offset Size Type Field0x00 28 CPersistantEffect m_cPersistantEffect0x1C 2 short m_type0x1E 2 short m_maxDamage0x20 2 short m_damage

2 <padding>0x24 4 long m_duration

5.15.10 CPersistantEffectDisease

Offset Size Type Field0x00 40 CPersistantEffectDamage m_cPersistantEffectDamage0x28 8 CResRef m_res

5.15.11 CPersistantEffectElectricDeath

Offset Size Type Field0x00 32 CPersistantEffectBurningDeath m_cPersistantEffectBurningDeath

5.15. CP Structures 615

Page 620: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.12 CPersistantEffectFadeEffect

Offset Size Type Field0x00 28 CPersistantEffect m_cPersistantEffect0x1C 2 short m_fade0x1E 2 short m_type0x20 2 short m_increment

2 <padding>

5.15.13 CPersistantEffectFireDeath

Offset Size Type Field0x00 32 CPersistantEffectBurningDeath m_cPersistantEffectBurningDeath

5.15.14 CPersistantEffectList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.15.15 CPersistantEffectListRegenerated

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 unsigned long m_nCounter

5.15.16 CPersistantEffectMove

Offset Size Type Field0x00 28 CPersistantEffect m_cPersistantEffect0x1C 2 short m_type

2 <padding>0x20 4 long m_speed0x24 8 CPoint m_dest0x2C 4 long m_target

616 Chapter 5. EE Game Structures (x86)

Page 621: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.17 CPersistantEffectPoison

Offset Size Type Field0x00 40 CPersistantEffectDamage m_cPersistantEffectDamage

5.15.18 CPersistantEffectRegeneration

Offset Size Type Field0x00 40 CPersistantEffectDamage m_cPersistantEffectDamage

5.15.19 CPlatform

Offset Size Type Field1

5.15.20 CPlex

Used by the CPlex Class

Offset Size Type Field0x00 4 CPlex* pNext0x04 4 unsigned long dwReserved[1]

5.15.21 CPoint

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

Offset Size Type Field0x00 4 long x0x04 4 long y

5.15. CP Structures 617

Page 622: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.22 CPortraitIcon

Offset Size Type Field0x00 4 int icon0x04 4 int frame0x08 192 CVidCell bam

5.15.23 CProgressBar

Offset Size Type Field0x00 4 unsigned long m_nSecondsToTimeout0x04 4 long m_nProgressBarCaption0x08 4 long m_nParchmentCaption0x0C 4 long m_nActionProgress0x10 4 long m_nActionTarget0x14 1 unsigned char m_bTravelActive0x15 1 unsigned char m_bWaiting

2 <padding>0x18 4 long m_nWaitingReason0x1C 1 unsigned char m_bDisableMinibars0x1D 1 unsigned char m_bTimeoutVisible0x1E 1 unsigned char m_bProgressBarActivated0x1F 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]

5.15.24 CProjectile

Used by the CProjectile Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 2 unsigned short m_projectileType0x4A 1 unsigned char m_addToListType

1 <padding>0x4C 2 short m_speed

2 <padding>0x50 4 long m_sourceId0x54 4 long m_targetId0x58 4 long m_callBackProjectile0x5C 44 CGameEffectList m_effectList

Continued on next page

618 Chapter 5. EE Game Structures (x86)

Page 623: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 29 – continued from previous page0x88 2 short m_nType

2 <padding>0x8C 8 CPoint m_posExact0x94 8 CPoint m_posDelta0x9C 8 CPoint m_startDelta0xA4 8 CPoint m_minRandomSpeed0xAC 8 CPoint m_maxRandomSpeed0xB4 4 int m_startSpeed0xB8 8 CPoint m_posDest0xC0 16 unsigned char m_terrainTable[16]0xD0 2 unsigned short m_decAmmount

2 <padding>0xD4 4 int m_bSparkleTrail0xD8 4 unsigned long m_defaultRenderFlags0xDC 4 int m_bIgnoreTarget0xE0 20 CSound m_sound0xF4 8 CResRef m_fireSoundRef0xFC 4 int m_loopFireSound0x100 8 CResRef m_arrivalSoundRef0x108 4 int m_loopArrivalSound0x10C 1 unsigned char m_bHasHeight

1 <padding>0x10E 2 short m_nDeltaZ0x110 2 short m_nDeltaZLast

2 <padding>0x114 4 long m_nOrigDistance0x118 8 CPoint m_ptBamSize0x120 4 long m_dwFlags0x124 4 long m_maxBounces0x128 4 CString m_visualEffectRef0x12C 4 long m_visualEffect0x130 2 short m_maxDuration0x132 2 short m_lanceWidth0x134 4 unsigned long m_extFlags0x138 4 unsigned long m_strRef0x13C 4 unsigned long m_color0x140 2 unsigned short m_colorSpeed0x142 2 unsigned short m_shake0x144 2 unsigned short m_IDSValue10x146 2 unsigned short m_IDSType10x148 2 unsigned short m_IDSValue20x14A 2 unsigned short m_IDSType20x14C 8 CResRef m_failureSpell0x154 8 CResRef m_successSpell

5.15. CP Structures 619

Page 624: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.25 CProjectileAmbiant

Offset Size Type Field0x00 722 CProjectileSpellHit m_cProjectileSpellHit

2 <padding>

5.15.26 CProjectileArea

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 8 CResRef m_resref0x2A4 2 short m_explosionRange0x2A6 2 short m_triggerRange0x2A8 2 unsigned short m_secondaryProjectile0x2AA 2 short m_nRepetitionCount0x2AC 4 int m_bReachedDestination0x2B0 2 short m_nDelay0x2B2 2 short m_nDelayCount0x2B4 4 int m_bDetonateOnlyIfTargets0x2B8 20 CAIObjectType m_targetType0x2CC 1 unsigned char m_fireBallType

3 <padding>0x2D0 4 int m_bSparkleExplosion0x2D4 2 unsigned short m_sparkleExplosionProjectile

2 <padding>0x2D8 4 int m_bDelayedTrigger0x2DC 4 int m_bChunksExplosion0x2E0 4 int m_checkForNonSprites0x2E4 4 int m_centerBam0x2E8 2 unsigned short m_explodeId0x2EA 8 CResRef m_explosionSound0x2F2 1 unsigned char m_ringColor

1 <padding>0x2F4 4 int m_bVVCAtCenter0x2F8 8 CResRef m_centerVVC0x300 4 int m_bConeFromCaster0x304 2 unsigned short m_coneSize

2 <padding>0x308 4 int m_bIgnoreLOS0x30C 1 char m_portraitNum

3 <padding>0x310 4 int m_bResolvePortraitNum0x314 4 int m_centerBamWait0x318 4 int m_forceInitialWait0x31C 4 int m_oneTargetOnly0x320 4 unsigned long m_targetCount0x324 4 unsigned long m_hpLimit

Continued on next page

620 Chapter 5. EE Game Structures (x86)

Page 625: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 30 – continued from previous page0x328 4 unsigned long m_animationID0x32C 4 unsigned long m_animationIDStatic0x330 8 CResRef m_fireBallSound0x338 8 CResRef m_fireBallArea0x340 8 CResRef m_fireBallRing0x348 4 unsigned long m_fireBallFlags0x34C 2 unsigned short m_granularity0x34E 2 unsigned short m_granDivider0x350 2 unsigned short m_childCount

2 <padding>0x354 4 int m_bPointsInited0x358 32 CPoint m_points[4]

5.15.27 CProjectileAreaFileFormat

Offset Size Type Field0x00 504 CProjectileBAMFileFormat m_cProjectileBAMFileFormat0x1F8 4 unsigned long m_dwAreaFlags0x1FC 2 unsigned short m_triggerRange0x1FE 2 unsigned short m_explosionRange0x200 8 CResRef m_explodeSound0x208 2 unsigned short m_nDelay0x20A 2 unsigned short m_explodeId0x20C 2 unsigned short m_sparkleExplosionProjectile0x20E 1 unsigned char m_nRepetitionCount0x20F 1 unsigned char m_fireBallType0x210 1 unsigned char m_ringColor0x211 1 unsigned char padding10x212 2 unsigned short m_secondaryProjectile0x214 8 CResRef m_centerVVC0x21C 2 unsigned short m_coneSize0x21E 2 unsigned short padding20x220 8 CResRef m_fireBallArea0x228 8 CResRef m_fireBallRing0x230 8 CResRef m_fireBallSound0x238 4 unsigned long m_fireBallFlags0x23C 2 unsigned short m_targetDiceCount0x23E 2 unsigned short m_targetDiceSize0x240 2 unsigned short m_granularity0x242 2 unsigned short m_granDivider0x244 180 unsigned long reservedSpace[45]

Notes

Related to PRO V1 Projectile area of effect

5.15. CP Structures 621

Page 626: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.28 CProjectileBAM

Offset Size Type Field0x00 348 CProjectile m_cProjectile0x15C 4 CVidCell* m_currentVidCell0x160 4 CVidCell* m_shadowVidCell0x164 36 CVidPalette m_palette0x188 4 int m_tint0x18C 4 int m_height0x190 4 int m_glow0x194 8 CSize m_glowSize0x19C 2 short m_glowIntensity

2 <padding>0x1A0 4 int m_shadow0x1A4 2 short m_numDirections0x1A6 2 short m_direction0x1A8 2 short m_newDirection

2 <padding>0x1AC 4 int m_render0x1B0 176 CVidBitmap m_newPalette0x260 1 unsigned char m_bNewPalette0x261 1 unsigned char m_bDuration

2 <padding>0x264 4 int m_bSmoke0x268 1 unsigned char m_smokePeriod0x269 7 unsigned char m_smokeColorRange[7]0x270 1 unsigned char m_smokeCount

1 <padding>0x272 2 unsigned short m_smokeAnimationCode0x274 8 CResRef m_cPuffEffect10x27C 8 CResRef m_cPuffEffect20x284 8 CResRef m_cPuffEffect30x28C 2 unsigned short m_nPuff1Spacing0x28E 2 unsigned short m_nPuff2Spacing0x290 2 unsigned short m_nPuff3Spacing

2 <padding>0x294 4 unsigned long m_dwPuffFlags0x298 4 long m_puffCounter

Notes

Related to PRO V1 Projectile graphics

622 Chapter 5. EE Game Structures (x86)

Page 627: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.29 CProjectileBAMFileFormat

Offset Size Type Field0x00 248 CProjectileFileFormat m_cProjectileBAMFileFormat0xF8 4 unsigned long m_dwBAMFlags0xfC 8 CResRef m_vidCell0x104 8 CResRef m_shadowVidCell0x10C 1 unsigned char m_seqVidCell0x10D 1 unsigned char m_seqShadowVidCell0x10E 2 short m_glowIntensity0x110 2 short m_glowSizeX0x112 2 short m_glowSizeY0x114 8 CResRef m_paletteResRef0x11C 7 unsigned char m_colors[7]0x123 1 unsigned char m_smokePeriod0x124 7 unsigned char m_smokeColors[7]0x12B 1 unsigned char m_numDirections0x12C 2 unsigned short m_smokeAnimationCode0x12E 8 CResRef m_cPuffEffect10x136 8 CResRef m_cPuffEffect20x13E 8 CResRef m_cPuffEffect30x146 2 unsigned short m_nPuff1Spacing0x148 2 unsigned short m_nPuff2Spacing0x14A 2 unsigned short m_nPuff3Spacing0x14C 4 unsigned long m_dwPuffFlags0x150 168 unsigned long reservedSpace[42]

Notes

Related to PRO V1 Projectile graphics

5.15.30 CProjectileCallLightning

Offset Size Type Field0x00 348 CProjectileInstant m_cProjectileInstant

5.15.31 CProjectileCastingGlow

Offset Size Type Field0x00 348 CProjectile m_cProjectile0x15C 192 CVidCell m_animation0x21C 176 CVidBitmap m_newPalette0x2CC 4 unsigned long m_dwRenderFlags0x2D0 1 unsigned char m_bNewPalette0x2D1 1 unsigned char m_transparency0x2D2 1 unsigned char m_duration0x2D3 1 unsigned char m_delay

5.15. CP Structures 623

Page 628: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.32 CProjectileChain

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29c 2 short m_numProjectile0x29E 2 short m_nDelay0x2A0 4 int m_bOriginCaster0x2A4 2 unsigned short m_secondaryProjectileType

2 <padding>0x2A8 4 CProjectile* m_carrierProjectile0x2AC 4 int m_carrierArrived0x2B0 20 CAIObjectType m_targetType0x2C4 4 long m_nHeight0x2C8 2 short m_nType

2 <padding>0x2CC 4 int m_bUseLineOfSight0x2D0 2 short m_nDelayCount

2 <padding>

5.15.33 CProjectileColorSpray

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 2 short m_counter

2 <padding>

5.15.34 CProjectileConeOfCold

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 2 short m_counter

2 <padding>

624 Chapter 5. EE Game Structures (x86)

Page 629: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.35 CProjectileFall

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 4 int m_sideMove0x2A0 4 long m_nSideSpeed0x2A4 4 int m_bAreaEffect0x2A8 2 short m_nAreaRange

2 <padding>0x2AC 20 CAIObjectType m_targetType

5.15.36 CProjectileFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.15.37 CProjectileFileFormat

Offset Size Type Field0x00 2 unsigned short m_wFileType0x02 2 short m_speed0x04 4 unsigned long m_dwFlags0x08 8 CResRef m_fireSoundRef0x10 8 CResRef m_arrivalSoundRef0x18 8 CResRef m_visualEffectRef0x20 2 short m_sparkleColor0x22 2 short m_lanceWidth0x24 4 unsigned long m_extFlags0x28 4 unsigned long m_strRef0x2C 4 unsigned long m_color0x30 2 unsigned short m_colorSpeed0x32 2 unsigned short m_shake0x34 2 unsigned short m_IDSValue10x36 2 unsigned short m_IDSType10x38 2 unsigned short m_IDSValue20x3A 2 unsigned short m_IDSType20x3C 8 CResRef m_failureSpell0x44 8 CResRef m_successSpell0x4C 4 long m_maxBounces0x50 168 unsigned long reservedSpace[42]

Notes

Related to PRO V1 File Format

5.15. CP Structures 625

Page 630: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.38 CProjectileFireHands

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 2 short m_counter

2 <padding>

5.15.39 CProjectileInstant

Offset Size Type Field0x00 348 CProjectile m_cProjectile

5.15.40 CProjectileInvisibleTravelling

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM

5.15.41 CProjectileLightningBolt

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM

5.15.42 CProjectileLightningBoltGround

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 4 long m_maxBounces

5.15.43 CProjectileLightningBounce

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 4 long m_lifeSpan

626 Chapter 5. EE Game Structures (x86)

Page 631: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.44 CProjectileLightningStorm

Offset Size Type Field0x00 722 CProjectileChain m_cProjectileChain

2 <padding>

5.15.45 CProjectileMagicMissileMulti

Offset Size Type Field0x00 696 CProjectileMulti m_cProjectileMulti

5.15.46 CProjectileMulti

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 28 CTypedPtrList m_projectiles

5.15.47 CProjectileMushroom

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM

5.15.48 CProjectileNewScorcher

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 1 unsigned char m_nSegments

3 <padding>0x2A0 4 long m_deltaZ0x2A4 256 long itsAffectedCreatures[64]0x3A4 4 int itsNumAffectedCreatures0x3A8 4 int itsAIUpdateCounter0x3AC 4 int itsApplyEffectsInterval0x3B0 4 int itsClearAffectedCreaturesInterval0x3B4 4 int itsTargetID

5.15. CP Structures 627

Page 632: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.49 CProjectileScorcher

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 1 unsigned char m_lifeSpan0x29D 1 unsigned char m_nSegments

2 <padding>0x2A0 4 long m_deltaZ0x2A4 1 unsigned char m_bGlow

3 <padding>

5.15.50 CProjectileSegment

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM0x29C 2 short m_counter

2 <padding>

5.15.51 CProjectileSkyStrike

Offset Size Type Field0x00 348 CProjectile m_cProjectile0x15C 192 CVidCell m_animation0x21C 36 CVidPalette m_palette0x240 4 int m_bGlow0x244 2 unsigned short m_duration

2 <padding>

5.15.52 CProjectileSkyStrikeBAM

Offset Size Type Field0x00 668 CProjectileBAM m_cProjectileBAM

628 Chapter 5. EE Game Structures (x86)

Page 633: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.15.53 CProjectileSpellHit

Offset Size Type Field0x00 348 CProjectile m_cProjectile0x15C 192 CVidCell m_animation0x21C 176 CVidBitmap m_newPalette0x2CC 4 unsigned long m_dwRenderFlags0x2D0 1 unsigned char m_bNewPalette0x2D1 1 unsigned char m_transparency

2 <padding>

5.15.54 CProjectileTravelDoor

Offset Size Type Field0x00 348 CProjectile m_cProjectile0x15C 192 CVidCell m_animation0x21C 176 CVidBitmap m_newPalette0x2CC 4 unsigned long m_dwRenderFlags0x2D0 1 unsigned char m_bNewPalette0x2D1 1 unsigned char m_transparency

2 <padding>0x2D4 4 CString m_animationStr0x2D8 1 unsigned char m_nState

3 <padding>

5.15.55 CPtrArray

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 void** m_pData0x08 4 int m_nSize0x0C 4 int m_nMaxSize0x10 4 int m_nGrowBy

5.15.56 CPtrList

Used by the CPtrList Class

5.15. CP Structures 629

Page 634: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CPtrList::CNode* m_pNodeHead0x08 4 CPtrList::CNode* m_pNodeTail0x0C 4 int m_nCount0x10 4 CPtrList::CNode* m_pNodeFree0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.15.57 CPtrList::CNode

Offset Size Type Field0x00 4 CPtrList::CNode* pNext0x04 4 CPtrList::CNode* pPrev0x08 4 void* data

5.16 CR Structures

• CRainDrop

• CRainStorm

• CRect

• CRes

• CResArea

• CResBIO

• CResBinary

• CResBitmap

• CResCHR

• CResCRE

• CResCell

• CResDLG

• CResEffect

• CResFont

• CResGame

• CResHelper

• CResINI

• CResInfTile

• CResItem

630 Chapter 5. EE Game Structures (x86)

Page 635: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CResMosaic

• CResPLT

• CResPVR

• CResPng

• CResRef

• CResSpell

• CResStore

• CResText

• CResTile

• CResTileSet

• CResUI

• CResWED

• CResWave

• CResWebm

• CResWorldMap

• CRuleTables

5.16.1 CRainDrop

Offset Size Type Field0x00 52 CParticle m_cParticle

5.16.2 CRainStorm

Offset Size Type Field0x00 4 CRainDrop* m_pRainDrops0x04 2 unsigned short m_nCurrentDensity

2 <padding>0x08 16 CRect m_rOldWorldViewPort0x18 2 short m_nWindGustCounter

2 <padding>0x1C 4 int m_nRainDrops

5.16. CR Structures 631

Page 636: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.3 CRect

Note: Actually defined as RECT but adapted/recreated as its own structure.

Used by the CRect Class

Offset Size Type Field0x00 4 long left0x04 4 long top0x08 4 long right0x0C 4 long bottom

5.16.4 CRes

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 const char* resref0x08 4 int type0x0C 16 view_t view0x1C 4 unsigned int nID0x20 4 int zip_id0x24 4 int override_id0x28 4 void* pData0x2C 4 unsigned long nSize0x30 4 unsigned long nCount0x34 1 bool bWasMalloced0x35 1 bool bLoaded

2 <padding>

5.16.5 CResArea

Offset Size Type Field0x00 56 CRes m_cRes

5.16.6 CResBIO

Offset Size Type Field0x00 56 CRes m_cRes

632 Chapter 5. EE Game Structures (x86)

Page 637: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.7 CResBinary

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 char m_resVersion[4]

5.16.8 CResBitmap

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 unsigned char* m_pDataDecompressed0x3C 4 int texture0x40 4 int nColors0x44 4 int nXWords0x48 4 unsigned char* m_pData0x4C 4 BITMAPFILEHEADER* pBitmapFileHeader0x50 4 BITMAPINFOHEADER* pBitmapInfoHeader0x54 4 RGBQUAD* pColorTable

5.16.9 CResCHR

Offset Size Type Field0x00 56 CRes m_cRes

5.16.10 CResCRE

Offset Size Type Field0x00 56 CRes m_cRes

5.16. CR Structures 633

Page 638: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.11 CResCell

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 void* pUncompressedData0x3C 4 unsigned long nUncompressedSize0x40 4 bamHeader_st* m_pBamHeader0x44 4 BAMHEADERV2* m_pBamHeaderV20x48 4 MOSAICQUAD* m_pQuads0x4C 4 frameTableEntry_st* m_pFrames0x50 4 sequenceTableEntry_st* m_pSequences0x54 4 unsigned short* m_pFrameList0x58 2 unsigned short m_nFrameList

2 <padding>0x5C 4 RGBQUAD* m_pPalette0x60 4 int m_bParsing

5.16.12 CResDLG

Offset Size Type Field0x00 56 CRes m_cRes

5.16.13 CResEffect

Offset Size Type Field0x00 56 CRes m_cRes

5.16.14 CResFont

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 void* font

5.16.15 CResGame

Offset Size Type Field0x00 56 CRes m_cRes

634 Chapter 5. EE Game Structures (x86)

Page 639: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.16 CResHelper

Offset Size Type Field0x00 4 CResArea* pRes0x04 8 CResRef cResRef

5.16.17 CResINI

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 int bLoaded

5.16.18 CResInfTile

Offset Size Type Field0x00 12 CResTile m_cResTile0x0C 4 int nVRamTile0x10 4 TILE_CODE renderCode0x14 4 CResTile* pDualTileRes0x18 1 VRAM_FLAGS flags

3 <padding>

5.16.19 CResItem

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 Item_ability_st* pAbilities0x3C 4 Item_effect_st* pEffects0x40 4 Item_Header_st* pHeader

5.16. CR Structures 635

Page 640: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.20 CResMosaic

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 void* pUncompressedData0x3C 4 unsigned long nUncompressedSize0x40 4 int texture0x44 4 MOSAICHEADERV2* pMosaicHeaderV20x48 4 MOSAICQUAD* quads0x4C 4 mosHeader_st* pMosaicHeader0x50 4 RGBQUAD* pPalettes0x54 4 unsigned char* m_pData0x58 4 unsigned long* pOffsets

5.16.21 CResPLT

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 unsigned char* m_pData0x3C 4 PLTHeader_st* m_pHeader

5.16.22 CResPVR

Offset Size Type Field0x00 56 CRes m_cRes0x38 int texture0x3C int format0x40 int filtering0x44 CSize size

5.16.23 CResPng

Offset Size Type Field0x00 56 CRes m_cRes0x38 8 CSize size0x40 4 int texture

636 Chapter 5. EE Game Structures (x86)

Page 641: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.24 CResRef

Used by the CResRef Class

Offset Size Type Field0x00 8 unsigned char m_resRef[8]

5.16.25 CResSpell

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 Spell_ability_st* pAbilities0x3C 4 Item_effect_st* pEffects0x40 4 Spell_Header_st* pHeader

5.16.26 CResStore

Offset Size Type Field0x00 56 CRes m_cRes

5.16.27 CResText

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 CString m_string

5.16.28 CResTile

Offset Size Type Field0x00 4 CResTileSet* tis0x04 4 int tileIndex0x08 4 CResPVR* pvr

5.16. CR Structures 637

Page 642: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.29 CResTileSet

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 ResFixedHeader_st* h

5.16.30 CResUI

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 UI_Header_st* pHeader0x3C 4 UI_PanelHeader_st* pPanels0x40 4 UI_ControlTableEntry_st* pControlTable

5.16.31 CResWED

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 WED_WedHeader_st* pWEDHeader0x3C 4 WED_LayerHeader_st* pLayers0x40 4 WED_PolyHeader_st* pPolyHeader0x44 4 WED_ScreenSectionList* pScreenSectionList0x48 4 WED_PolyList_st* pPolyList0x4C 4 WED_PolyPoint_st* pPolyPoints

5.16.32 CResWave

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 int m_bCompressed0x3C 4 int m_bIsOgg0x40 4 unsigned long m_nWaveNormalSize0x44 4 unsigned long m_nWaveCompressedSize0x48 4 unsigned char* m_pWaveData0x4C 4 WAV_Header* m_pWaveFormatEx

638 Chapter 5. EE Game Structures (x86)

Page 643: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.16.33 CResWebm

Offset Size Type Field0x00 56 CRes m_cRes0x38 4 void* m_pCodec0x3C 4 unsigned long m_nFirstFrameTime0x40 4 unsigned long m_nFrameWaitTime0x44 1 bool m_bComplete0x45 1 bool m_bLooping

2 <padding>0x48 16 CRect m_rRender0x58 4 int m_texture0x5C 1 bool m_bGreyscale0x5D 1 bool m_bTiled

2 <padding>0x60 4 int m_nTransparent0x64 1 bool m_bUseTone

3 <padding>0x68 4 float m_nDeltaX0x6C 4 float m_nDeltaY0x70 4 float m_nOffsetX0x74 4 float m_nOffsetY

5.16.34 CResWorldMap

Offset Size Type Field0x00 56 CRes m_cRes

5.16.35 CRuleTables

Used by the CRuleTables Class

Offset Size Type Field0x00 32 C2DArray m_tReactionModCharisma0x20 32 C2DArray m_tReactionModReputation0x40 32 C2DArray m_tReputationMod0x60 60 CAIIdList m_lNoDecodeList0x9C 32 C2DArray m_tProficiencySlots0xBC 32 C2DArray m_tProficiencySlotsMax0xDC 32 C2DArray m_tSkillPointsRace0xFC 32 C2DArray m_tSkillPointsDex0x11C 32 C2DArray m_tSkillPointsBard0x13C 32 C2DArray m_tSkillPointsRanger0x15C 32 C2DArray m_tSkillPointsShaman

Continued on next page

5.16. CR Structures 639

Page 644: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous page0x17C 32 C2DArray m_tAbilityRaceReq0x19C 32 C2DArray m_tAbilityRaceAdj0x1BC 32 C2DArray m_tAbilityClassReq0x1DC 32 C2DArray m_tAbilityClassMod0x1FC 32 C2DArray m_tAbilityDualClassSrcReq0x21C 32 C2DArray m_tAbilityDualClassDstReq0x23C 32 C2DArray m_tSavingThrowPriest0x25C 32 C2DArray m_tSavingThrowWarrior0x27C 32 C2DArray m_tSavingThrowWizard0x29C 32 C2DArray m_tSavingThrowRogue0x2BC 32 C2DArray m_tSavingThrowDwarfHalfling0x2DC 32 C2DArray m_tSavingThrowGnome0x2FC 32 C2DArray m_tSavingThrowMonk0x31C 32 C2DArray m_tClassHitPointsTables0x33C 32 C2DArray m_tHitPointsCONBonus0x35C 32 C2DArray m_tStartingGold0x37C 32 C2DArray m_tTHAC00x39C 32 C2DArray m_tMaxSpellsPriest0x3BC 32 C2DArray m_tMaxSpellsPriestPaladin0x3DC 32 C2DArray m_tMaxSpellsPriestRanger0x3FC 32 C2DArray m_tMaxSpellsMage0x41C 32 C2DArray m_tMaxSpellsMageBard0x43C 32 C2DArray m_tMaxSpellsMageSorcerer0x45C 32 C2DArray m_tMaxSpellsMageDragonDisciple0x47C 32 C2DArray m_tMaxSpellsShaman0x49C 32 C2DArray m_tMaxSpellsPriestWISBonus0x4BC 32 C2DArray m_tMaxSpellsPriestDruid0x4DC 32 C2DArray m_tKnownSpellsSorcerer0x4FC 32 C2DArray m_tKnownSpellsShaman0x51C 32 C2DArray m_tBackstabMultiplier0x53C 32 C2DArray m_tSneakAttack0x55C 32 C2DArray m_tCripplingStrike0x57C 32 C2DArray m_tExperienceLevels0x59C 32 C2DArray m_tLayOnHandsAmount0x5BC 32 CAIIdList m_lInstantActions0x5F8 32 CAIIdList m_lAllowWhileSleepingActions0x634 32 C2DArray m_tMonsterSummon10x654 32 C2DArray m_tMonsterSummon20x674 32 C2DArray m_tMonsterSummon30x694 32 C2DArray m_tAnimalSummon10x6B4 32 C2DArray m_tAnimalSummon20x6D4 32 C2DArray m_tStrengthMod0x6F4 32 C2DArray m_tStrengthModExtra0x714 32 C2DArray m_tIntoxicationMod0x734 32 C2DArray m_tFatigueMod0x754 32 C2DArray m_tEffectText0x774 32 C2DArray m_tPlayerInteraction0x794 32 C2DArray m_tNumSpells0x7B4 32 C2DArray m_tToolTips0x7D4 32 C2DArray m_tStartArea

Continued on next page

640 Chapter 5. EE Game Structures (x86)

Page 645: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous page0x7F4 32 C2DArray m_tStartPos0x814 32 C2DArray m_tSparkleColors0x834 32 C2DArray m_tMonths0x854 32 C2DArray m_tYears0x874 32 C2DArray m_tDexterityMod0x894 32 C2DArray m_tPostDialog0x8B4 32 C2DArray m_tCharacterSounds0x8D4 32 C2DArray m_tRandomEquipment0x8F4 32 C2DArray m_tRandomTreasure0x914 32 C2DArray m_tRandomTreasureIWD0x934 32 C2DArray m_tRandomMagic0x954 32 C2DArray m_tRandomScroll0x974 32 C2DArray m_tRandomWeapon0x994 32 C2DArray m_tInteractionDialog0x9B4 32 C2DArray m_tIntelligenceMod0x9D4 32 C2DArray m_tDonateRumor0x9f4 32 C2DArray m_tAreaLinkageCaching0xA14 32 C2DArray m_tAreaLinkageCachingSingle0xA34 32 C2DArray m_tCacheValidation0xA54 32 C2DArray m_tScriptDescription0xA74 32 C2DArray m_tCharacterStateDescription0xA94 32 C2DArray m_tMasterArea0xAB4 32 C2DArray m_tMovieDescription0xAD4 32 C2DArray m_tSpellDescription0xAF4 32 C2DArray m_tBountyChance0xB14 32 C2DArray m_tNPCLevel0xB34 32 C2DArray m_tNPCLevel250xB54 32 C2DArray m_tDeathSounds0xB74 32 C2DArray m_tAlignment0xB94 32 C2DArray m_tReputationStoreMod0xBB4 32 C2DArray m_tReputationStart0xBD4 32 C2DArray m_tXPCap0xBF4 32 C2DArray m_tWeaponSpecialization0xC14 32 C2DArray m_tWeaponAttacks0xC34 32 C2DArray m_tLore0xC54 32 C2DArray m_tLoreBonus0xC74 32 C2DArray m_tCharismaStoreMod0xC94 32 C2DArray m_tRaiseDeadCost0xCB4 32 C2DArray m_tHappiness0xCD4 32 C2DArray m_tReputationDescription0xCF4 32 C2DArray m_tPortraitReplacement0xD14 32 C2DArray m_tIntoxication0xD34 32 C2DArray m_tCustomSound0xD54 32 C2DArray m_tExclusiveItems0xD74 32 CAIIdList m_lChaseActions0xDB0 32 CAIIdList m_lVEFProjectile0xDEC 32 CAIIdList m_lProjectile0xE28 32 C2DArray m_tContingencyConditions0xE48 32 C2DArray m_tContingencyTargets0xE68 32 C2DArray m_tAbilitiesStart

Continued on next page

5.16. CR Structures 641

Page 646: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous page0xE88 32 C2DArray m_tWeaponProficiencies0xEA8 32 C2DArray m_tClassAbilitiesFighterTrue0xEC8 32 C2DArray m_tClassAbilitiesFighterBerserker0xEE8 32 C2DArray m_tClassAbilitiesFighterWizardslayer0xF08 32 C2DArray m_tClassAbilitiesFighterKensai0xF28 32 C2DArray m_tClassAbilitiesPaladinTrue0xF48 32 C2DArray m_tClassAbilitiesPaladinCavalier0xF68 32 C2DArray m_tClassAbilitiesPaladinInquisitor0xF88 32 C2DArray m_tClassAbilitiesPaladinUndeadhunter0xFA8 32 C2DArray m_tClassAbilitiesPaladinFallen0xFC8 32 C2DArray m_tClassAbilitiesRangerTrue0xFE8 32 C2DArray m_tClassAbilitiesRangerFeralan0x1008 32 C2DArray m_tClassAbilitiesRangerStalker0x1028 32 C2DArray m_tClassAbilitiesRangerBeastmaster0x1048 32 C2DArray m_tClassAbilitiesRangerFallen0x1068 32 C2DArray m_tClassAbilitiesThiefTrue0x1088 32 C2DArray m_tClassAbilitiesThiefAssassin0x10A8 32 C2DArray m_tClassAbilitiesThiefBountyhunter0x10C8 32 C2DArray m_tClassAbilitiesThiefSwashbuckler0x10E8 32 C2DArray m_tClassAbilitiesBardTrue0x1108 32 C2DArray m_tClassAbilitiesBardBlade0x1128 32 C2DArray m_tClassAbilitiesBardJester0x1148 32 C2DArray m_tClassAbilitiesBardSkald0x1168 32 C2DArray m_tClassAbilitiesDruidTrue0x1188 32 C2DArray m_tClassAbilitiesShamanTrue0x11A8 32 C2DArray m_tClassAbilitiesDruidTotemicdruid0x11C8 32 C2DArray m_tClassAbilitiesDruidShapeshifter0x11E8 32 C2DArray m_tClassAbilitiesDruidBeastfriend0x1208 32 C2DArray m_tClassAbilitiesClericTrue0x1228 32 C2DArray m_tClassAbilitiesClericTalos0x1248 32 C2DArray m_tClassAbilitiesClericHelm0x1268 32 C2DArray m_tClassAbilitiesClericLathander0x1288 32 C2DArray m_tClassAbilitiesMageTrue0x12A8 32 C2DArray m_tClassAbilitiesMageAbjurer0x12C8 32 C2DArray m_tClassAbilitiesMageNecromancer0x12E8 32 C2DArray m_tClassAbilitiesMageTransmuter0x1308 32 C2DArray m_tClassAbilitiesMageDiviner0x1328 32 C2DArray m_tClassAbilitiesMageConjurer0x1348 32 C2DArray m_tClassAbilitiesMageInvoker0x1368 32 C2DArray m_tClassAbilitiesMageIllusionist0x1388 32 C2DArray m_tClassAbilitiesMageEnchanter0x13A8 32 C2DArray m_tClassAbilitiesMonkTrue0x13C8 32 C2DArray m_tClassAbilitiesMonkDarkMoon0x13E8 32 C2DArray m_tClassAbilitiesMonkSunSoul0x1408 32 C2DArray m_tClassAbilitiesBarbarianTrue0x1428 32 C2DArray m_tSpellAutmaticPicker0x1448 32 C2DArray m_tSpellAutmaticPickerShaman0x1468 32 C2DArray m_tDualClassAllowed0x1488 32 C2DArray m_tRandomColors0x14A8 32 C2DArray m_tSpawnGroup

Continued on next page

642 Chapter 5. EE Game Structures (x86)

Page 647: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous page0x14C8 32 C2DArray m_tItemUseAnimation0x14E8 32 C2DArray m_tRangerHatedRace0x1508 32 C2DArray m_tXPBonus0x1528 32 C2DArray m_tCleanAir0x1548 32 C2DArray m_tSplashScreens0x1568 32 C2DArray m_tLevelModWildMage0x1588 32 C2DArray m_tKitTable0x15A8 32 C2DArray m_tKitList0x15C8 1024 C2DArray* m_apKitList[256]0x19C8 32 C2DArray m_tSoundEnvironmentResRef0x19E8 32 C2DArray m_tSoundEnvironmentEnvirons0x1A08 32 C2DArray m_tItemDialog0x1A28 32 C2DArray m_tLoadingHints0x1A48 32 C2DArray m_tSchoolMessage0x1A68 32 C2DArray m_tSecTypeMessage0x1A88 32 C2DArray m_tContingencyExceptions0x1AA8 32 C2DArray m_tClassAbbreviations0x1AC8 32 C2DArray m_tNumLevelUpAbilities0x1AE8 32 C2DArray m_tXPList0x1B08 32 C2DArray m_tTracking0x1B28 32 C2DArray m_tMovieSoundOverride0x1B48 32 C2DArray m_t25StartEquipment0x1B68 32 C2DArray m_tWish0x1B88 32 C2DArray m_tEntries0x1BA8 32 C2DArray m_tLoadingHints250x1BC8 32 C2DArray m_tStartingWeapon0x1BE8 32 C2DArray m_tFamiliars0x1C08 32 C2DArray m_tThiefSkills0x1C28 32 C2DArray m_tThiefScaling0x1C48 32 C2DArray m_tClassTHAC00x1C68 32 C2DArray m_tClassInnateSkills0x1C88 32 C2DArray m_tTBPStartparty0x1CA8 32 C2DArray m_tExtraAnimations0x1CC8 32 C2DArray m_tExtraAnimationSpeeds0x1CE8 32 C2DArray m_tWildMagic0x1D08 32 C2DArray m_tItemType0x1d28 32 C2DArray m_tRaceTHAC0Bonus0x1D48 32 C2DArray m_tClassColours0x1D68 32 C2DArray m_tRaceColours0x1D88 32 C2DArray m_tSlotSteal0x1DA8 32 C2DArray m_tNumWeaponSlots0x1DC8 32 C2DArray m_tItemUse0x1DE8 32 C2DArray m_tRaceText0x1E08 32 C2DArray m_tTokenText0x1E28 32 C2DArray m_tClassText0x1E48 32 C2DArray m_tSetSnareLimit0x1E68 32 C2DArray m_tSummonLimit0x1E88 32 C2DArray m_tWeaponStyleBonus0x1EA8 32 C2DArray m_tBanterTimings0x1EC8 32 C2DArray m_tClassRaceRestrictions

Continued on next page

5.16. CR Structures 643

Page 648: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous page0x1EE8 32 C2DArray m_tMageRaceRestrictions0x1F08 32 C2DArray m_tClassSpecialBonuses0x1F28 32 C2DArray m_tMonkFists0x1F48 32 C2DArray m_tSpellsToHide0x1F68 32 C2DArray m_tSpellProtections0x1F88 32 C2DArray m_tSpellAbilities0x1FA8 32 C2DArray m_tSummoningTables0x1FC8 4 C2DArray* m_apSummoningList0x1FCC 32 C2DArray m_tSevenEyes0x1FEC 32 C2DArray m_tItemSpec0x200C 32 C2DArray m_tRaceFeatures0x202C 32 C2DArray m_tAreaCreatureNodes0x204C 32 C2DArray m_tFogAreaSettings0x206C 32 C2DArray m_tFogPointSettings0x208C 32 C2DArray m_tCampaign0x20AC 32 C2DArray m_tPartyAI0x20CC 32 C2DArray m_tContainerIcons0x20EC 32 C2DArray m_tFallen0x210C 32 C2DArray m_tAchievements0x212C 32 C2DArray m_tStatValues0x214C 60 CAIIdList m_lStats0x2188 32 C2DArray m_tSaveName0x21A8 1 unsigned char m_bPPHostile0x21A9 1 unsigned char m_bPPReport0x21AA 1 unsigned char m_bPPBreakInvis

1 <padding>0x21AC 4 int m_nConcentration0x21B0 128 CResRef m_damageSounds[16]0x2230 128 CResRef m_damageEffectAnims[16]0x22B0 128 CResRef m_damageSplashAnims[16]0x2330 64 unsigned long m_damageStrings[16]0x2370 200 int m_speechOffsets[50]0x2438 200 int m_speechNums[50]

5.17 CS Structures

• CSaveGameSlot

• CSavedGameFamiliars

• CSavedGameHeader

• CSavedGameJournalEntry

• CSavedGamePartyCreature

• CSavedGameStoredLocation

• CSchoolAndSecondaryDecrementing

• CScreenAI

• CScreenChapter

644 Chapter 5. EE Game Structures (x86)

Page 649: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CScreenCharacter

• CScreenCharacterStoredMageSpell

• CScreenConnection

• CScreenCreateChar

• CScreenCreateParty

• CScreenDLC

• CScreenInventory

• CScreenJournal

• CScreenLoad

• CScreenMap

• CScreenMovies

• CScreenMultiPlayer

• CScreenOptions

• CScreenPriestSpell

• CScreenSave

• CScreenStart

• CScreenStore

• CScreenStoreItem

• CScreenWizSpell

• CScreenWorld

• CScreenWorldMap

• CScriptCache

• CSearchBitmap

• CSearchRequest

• CSelectiveBonus

• CSelectiveBonusList

• CSelectiveWeaponType

• CSelectiveWeaponTypeList

• CSequenceSound

• CSequenceSoundList

• CSize

• CSnowFlake

• CSnowStorm

• CSound

• CSoundChannel

• CSoundExtensionBase

5.17. CS Structures 645

Page 650: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CSoundExtensionFile

• CSoundImp

• CSoundMixer

• CSoundMixerImp

• CSoundProperties

• CSparkle

• CSparkleCluster

• CSpawn

• CSpawnFile

• CSpawnList

• CSpawnPoint

• CSpawnPointArray

• CSpawnPointVar

• CSpawnVar

• CSpell

• CSpellLevelDecrementing

• CSteam

• CSteamID

• CSteamID::SteamID_t

• CSteamID::SteamID_t::SteamIDComponent_t

• CStore

• CStoreFile

• CStoreFileDrinks

• CStoreFileHeader

• CStoreFileItem

• CStoreFileSpell

• CString

• CStringData

• CStringList

• CStringList::CNode

646 Chapter 5. EE Game Structures (x86)

Page 651: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.1 CSaveGameSlot

Offset Size Type Field0x00 4 CString m_sFileName0x04 4 CString m_sSlotName0x08 88 CResBitmap m_cResScreenShot0x60 88 CResBitmap m_cBmpResPortrait00xB8 88 CResBitmap m_cBmpResPortrait10x110 88 CResBitmap m_cBmpResPortrait20x168 88 CResBitmap m_cBmpResPortrait30x1C0 88 CResBitmap m_cBmpResPortrait40x218 88 CResBitmap m_cBmpResPortrait50x270 8 CResRef m_cResPortrait0x278 4 CString m_sCharacterName0x27C 4 unsigned long m_nTime0x280 4 int m_nChapter0x284 4 CString m_sChapter

5.17.2 CSavedGameFamiliars

Offset Size Type Field0x00 72 unsigned char m_resrefDefault[9][8]0x48 4 unsigned long m_resrefOffset0x4C 324 unsigned long m_resrefCount[9][9]

5.17.3 CSavedGameHeader

Offset Size Type Field0x00 4 unsigned long m_worldTime0x04 2 short m_curFormation0x06 10 short m_quickFormations[5]0x10 4 unsigned long m_nPartyGold0x14 2 unsigned short m_nPCAreaViewed0x16 2 unsigned short m_wWeatherFlags0x18 4 unsigned long m_partyCreatureTableOffset0x1C 4 unsigned long m_partyCreatureTableCount0x20 4 unsigned long m_partyInventoryTableOffset0x24 4 unsigned long m_partyInventoryTableCount0x28 4 unsigned long m_globalCreatureTableOffset0x2C 4 unsigned long m_globalCreatureTableCount0x30 4 unsigned long m_globalVariablesOffset0x34 4 unsigned long m_globalVariablesCount0x38 8 unsigned char m_currentWorldArea[8]

Continued on next page

5.17. CS Structures 647

Page 652: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 33 – continued from previous page0x40 4 unsigned long m_currentLink0x44 4 unsigned long m_journalEntriesCount0x48 4 unsigned long m_journalEntriesOffset0x4C 4 long m_reputation0x50 8 unsigned char m_masterArea[8]0x58 4 unsigned long m_dwFlags0x5C 4 unsigned long m_versionNumber0x60 4 unsigned long m_familiarsOffset0x64 4 unsigned long m_storedLocationsOffset0x68 4 unsigned long m_storedLocationsCount0x6C 4 unsigned long m_gameTime0x70 4 unsigned long m_storedLocationsOffsetPocketPlane0x74 4 unsigned long m_storedLocationsCountPocketPlane0x78 4 unsigned long m_zoomLevel0x7C 8 unsigned char m_encounterArea[8]0x84 8 unsigned char m_worldMap[8]0x8C 8 unsigned char m_campaign[8]0x94 4 unsigned long m_nFamiliarSummoner0x98 20 char m_encounterEntry[20]

5.17.4 CSavedGameJournalEntry

Offset Size Type Field0x00 4 unsigned long m_strEntry0x04 4 unsigned long m_time0x08 1 unsigned char m_chapter0x09 1 unsigned char m_read0x0A 1 unsigned char m_type0x0B 1 unsigned char m_character

5.17.5 CSavedGamePartyCreature

Offset Size Type Field0x00 2 unsigned short m_wFlags0x02 2 unsigned short m_portraitId0x04 4 unsigned long m_creatureOffset0x08 4 unsigned long m_creatureSize0x0C 8 unsigned char m_creatureResRef[8]0x14 4 unsigned long m_creatureFacing0x18 8 unsigned char m_areaName[8]0x20 2 unsigned short m_posX0x22 2 unsigned short m_posY0x24 2 unsigned short m_posViewX0x26 2 unsigned short m_posViewY

Continued on next page

648 Chapter 5. EE Game Structures (x86)

Page 653: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 34 – continued from previous page0x28 2 unsigned short m_nModalState0x2A 2 short m_nHappiness0x2C 96 long m_nNumberOfTimesInteractedWith[24]0x8C 8 short m_quickWeaponsItemNum[4]0x94 8 short m_quickWeaponsAbilityNum[4]0x9C 24 unsigned char m_quickSpellsSpellId[3][8]0xB4 6 short m_quickItemsItemNum[3]0xBA 6 short m_quickItemsAbilityNum[3]0xC0 32 char m_name[32]0xE0 4 unsigned long m_numberTimesTalkedTo0xE4 4 unsigned long m_strStrongestKillName0xE8 4 unsigned long m_nStrongestKillXPValue0xEC 4 unsigned long m_nPreviousTimeWithParty0xF0 4 unsigned long m_nJoinPartyTime0xF4 1 unsigned char m_bWithParty0xF5 2 char m_pad1[2]0xF7 1 char m_cFirstResSlot0xF8 4 unsigned long m_nChapterKillsXPValue0xFC 4 unsigned long m_nChapterKillsNumber0x100 4 unsigned long m_nGameKillsXPValue0x104 4 unsigned long m_nGameKillsNumber0x108 32 unsigned char m_lSpellStatsName[4][8]0x128 8 short m_lSpellStatsCount[4]0x130 32 unsigned char m_lWeaponStatsName[4][8]0x150 8 short m_lWeaponStatsCount[4]0x158 8 unsigned char m_secondarySounds[8]

Notes

Related to GAM V2.0 file format

• Offset 0x00 to 0xE0 is related to GAME V2.0 NPCs (both in-party and out-of-party NPCs)

• Offset 0xE4 to 0x158 is related to GAME V2.0 Character stats

• m_nNumberOfTimesInteractedWith[24] (offset 0x2C) doesnt appear to be used

5.17.6 CSavedGameStoredLocation

Offset Size Type Field0x00 8 unsigned char m_areaName[8]0x08 2 unsigned short m_xPos0x0A 2 unsigned short m_yPos

5.17. CS Structures 649

Page 654: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.7 CSchoolAndSecondaryDecrementing

Offset Size Type Field0x00 4 unsigned long m_nType0x04 4 long m_nLevels

5.17.8 CScreenAI

Used by the CScreenAI Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 176 CVidBitmap m_bmpScreen0xDC 32 C2DArray m_tSplashScreens0xFC 2 short m_nSplashScreen

2 <padding>0x100 4 int m_nSplashTimer0x104 4 int m_bInteractiveDemoQuit0x108 1 unsigned char m_nBmpDraw

3 <padding>0x10c 60 CKeyInfo m_pVirtualKeys[5]0x148 20 int m_pVirtualKeysFlags[5]0x15c 1 unsigned char m_bCtrlKeyDown

3 <padding>

5.17.9 CScreenChapter

Used by the CScreenChapter Class

650 Chapter 5. EE Game Structures (x86)

Page 655: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 60 CKeyInfo m_pVirtualKeys[5]0x68 20 int m_pVirtualKeysFlags[5]0x7C 1 unsigned char m_bCtrlKeyDown

3 <padding>0x80 4 int m_nChapter0x84 4 int m_nDream0x88 8 CResRef m_cResText0x90 4 CList* m_pTextList0x94 28 CTypedPtrList m_bmpList0xB0 4 long m_nBmpFlip0xB4 4 long m_nCurrBmp0xB8 4 int m_nParagraph0xBC 4 int m_nLine0xC0 20 CSound m_cVoiceSound0xD4 4 int m_bStartSound0xD8 4 int m_nEngineState0xDC 8 CResRef m_cResPower0xE4 4 int m_nSongCountDown0xE8 32 CVidFont m_preLoadFontRealms0x108 4 int m_bMPRemoveTextScreen0x10C 4 int m_nCustomSong0x110 4 int m_waitingForNetwork0x114 4 CWarp* m_destinationEngine

5.17.10 CScreenCharacter

Used by the CScreenCharacter Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 28 CTypedPtrList m_lPopupStack0x668 1 unsigned char m_nDualClass

3 <padding>0x66C 4 CStringList* m_pScripts0x670 4 int m_nScriptIndex0x674 4 int m_nErrorState0x678 4 int m_nCharacterIndex0x67C 4 CStringList* m_pCharacters0x680 4 int m_bMultiPlayerViewable0x684 4 int m_bMultiPlayerModifyable0x688 4 __POSITION* m_nCurrentPortrait0x68C 4 CStringList* m_pAppearancePortraits0x690 4 CStringList* m_pPortraits

Continued on next page

5.17. CS Structures 651

Page 656: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 35 – continued from previous page0x694 4 int m_nCustomSoundSetIndex0x698 4 int m_nCustomSoundIndex0x69C 8 CResRef m_cResPortraitSmall0x6A4 8 CResRef m_cResPortraitLarge0x6AC 7 unsigned char m_aColor[7]

1 <padding>0x6B4 4 CString m_sScript0x6B8 44 int m_bSmartScriptFlags[11]0x6E4 4 CString m_sNewScript0x6E8 8 CResRef m_cResPortraitSmallTemp0x6F0 8 CResRef m_cResPortraitMediumTemp0x6F8 4 unsigned long m_nSpecialization0x6FC 4 CStringList* m_pSounds0x700 8 CResRef m_cResSoundSet0x708 4 CCreatureFileHeader* m_pTempBaseStats0x70C 4 CDerivedStats* m_pTempDerivedStats0x710 28 CTypedPtrList m_lstMageSpells0x72C 4 int m_bShiftKeyDown0x730 4 int m_bCapsLockKeyOn0x734 1 unsigned char m_bCtrlKeyDown

3 <padding>0x738 4 CString m_sExportName0x73C 4 int m_bAddInactiveAbilities0x740 36 int m_OldMageSpells[9]0x764 28 int m_OldPriestSpells[7]0x780 4 int m_bPauseState0x784 4 int m_bIsLevelingUp

5.17.11 CScreenCharacterStoredMageSpell

Offset Size Type Field0x00 8 CResRef m_cResSpell0x08 1 unsigned char m_nSpellLevel

5.17.12 CScreenConnection

Used by the CScreenConnection Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_bCtrlKeyDown0x650 4 int m_bShiftKeyDown

Continued on next page

652 Chapter 5. EE Game Structures (x86)

Page 657: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 36 – continued from previous page0x654 4 int m_bCapsLockKeyOn0x658 4 int m_nProtocol0x65C 4 int m_nSessionIndex0x660 16 GUID m_guidSession0x670 4 unsigned long m_dwLastSessionRefresh0x674 4 int m_nEnumServiceProvidersCountDown0x678 4 int m_bStartedCountDown0x67C 1 unsigned char m_bFirstRender0x67D 1 unsigned char m_bEliminateInitialize0x67E 1 unsigned char m_bEMSwapped0x67F 1 unsigned char m_bEMValue0x680 1 unsigned char m_bEMWaiting0x681 1 unsigned char m_nEMEvent0x682 1 unsigned char m_nEMEventStage

1 <padding>0x684 4 int m_nErrorState0x688 4 unsigned long m_strErrorText0x68C 4 int m_nNumErrorButtons0x690 12 unsigned long m_strErrorButtonText[3]0x69C 4 int m_bAllowInput0x6A0 1 unsigned char m_bEnumeratingAsynchronous0x6A1 1 unsigned char m_bJoinWaiting0x6A2 1 unsigned char m_bJoinComplete0x6A3 1 unsigned char m_nJoinEvent0x6A4 4 int m_nJoinErrorCode0x6A8 1 unsigned char m_bJoinReturnValue

3 <padding>0x6AC 4 int m_nWaitingForProviderNumber0x6B0 4 int m_nWaitingForProviderCount

5.17.13 CScreenCreateChar

Used by the CScreenCreateChar Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 32 C2DArray m_kitList0x4C 108 CImportGame m_importGame0xB8 1176 CKeyInfo m_pVirtualKeys[98]0x550 392 int m_pVirtualKeysFlags[98]0x6D8 4 int m_bCtrlKeyDown0x6DC 4 int m_bShiftKeyDown0x6E0 4 int m_bCapsLockKeyOn0x6E4 4 CScreenCreateCharStep m_nFirstStep0x6E8 4 CScreenCreateCharStep m_nCurrentStep0x6EC 4 CScreenCreateCharStep m_nNextStep0x6F0 4 int m_nGameSprite

Continued on next page

5.17. CS Structures 653

Page 658: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 37 – continued from previous page0x6F4 4 int m_nExtraProficiencySlots0x6F8 4 int m_nExtraAbilityPoints0x6FC 4 int m_nExtraSpells0x700 4 int m_nExtraSkillPoints0x704 4 int m_nBasePickPockets0x708 4 int m_nBaseOpenLocks0x70C 4 int m_nBaseDetectTraps0x710 4 int m_nBaseMoveSilently0x714 4 int m_nBaseHideInShadows0x718 4 int m_nBaseDetectIllusion0x71C 4 int m_nBaseSetTraps0x720 1 unsigned char m_nMinSTR0x721 1 unsigned char m_nMinDEX0x722 1 unsigned char m_nMinCON0x723 1 unsigned char m_nMinINT0x724 1 unsigned char m_nMinWIS0x725 1 unsigned char m_nMinCHR0x726 1 unsigned char m_nMaxSTR0x727 1 unsigned char m_nMaxDEX0x728 1 unsigned char m_nMaxCON0x729 1 unsigned char m_nMaxINT0x72A 1 unsigned char m_nMaxWIS0x72B 1 unsigned char m_nMaxCHR0x72C 1 unsigned char m_nPreviousMin0x72D 1 unsigned char m_nPreviousMax

2 <padding>0x730 4 int m_nMaxProficiencySlots0x734 4 __POSITION* m_nCurrentPortrait0x738 4 CStringList* m_pAppearancePortraits0x73C 28 CPtrList m_lPopupStack0x758 4 int m_nEngineState0x75C 4 int m_nCharacterSlot0x760 4 int m_nTopHatedRace0x764 1 unsigned char m_nPickRange0x765 1 unsigned char m_nMemorySTR0x766 1 unsigned char m_nMemorySTRExtra0x767 1 unsigned char m_nMemoryDEX0x768 1 unsigned char m_nMemoryCON0x769 1 unsigned char m_nMemoryINT0x76A 1 unsigned char m_nMemoryWIS0x76B 1 unsigned char m_nMemoryCHR0x76C 4 int m_nMemoryExtra0x770 4 int m_nPortraitSmallIndex0x774 4 int m_nPortraitMediumIndex0x778 4 CStringList* m_pPortraits0x77C 4 int m_nCustomSoundSetIndex0x780 4 int m_nCustomSoundIndex0x784 4 int m_nCharacterIndex0x788 4 int m_nPrerollTopIndex0x78C 4 CStringList* m_pCharacters

Continued on next page

654 Chapter 5. EE Game Structures (x86)

Page 659: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 37 – continued from previous page0x790 4 int m_bImported0x794 4 CStringList* m_pSounds0x798 32 CVidFont m_preLoadFontRealms0x7B8 32 CVidFont m_preLoadFontStnSml0x7D8 32 CVidFont m_preLoadFontTool0x7F8 1 unsigned char m_nCurrentSpellLevel

3 <padding>0x7FC 4 int m_nExtraMageSpells0x800 4 CCreatureFileHeader* m_pOldBaseStats0x804 4 CDerivedStats* m_pOldDerivedStats0x808 4 long m_nOldConHPBonus0x80C 1 unsigned char m_nCurrentSpellLevelChoice0x80D 1 unsigned char m_nCurrentSpellLevelChoiceMax0x80E 2 unsigned short m_nImportedCharHPs0x810 2 unsigned short m_nImportedCharConBonus0x812 1 unsigned char m_nImportedDualClass

1 <padding>0x814 4 unsigned long m_nImportedDualKit0x818 4 int m_nImportedDualReactivated0x81C 1 unsigned char m_byImportedCharVersion

1 <padding>0x81E 2 short m_nSelectedSpecialistSpells0x820 2 short m_nMemorizedSpecialistSpells

2 <padding>0x824 4 int m_nTotalKits0x828 2 unsigned short m_nHatedRaces

2 <padding>0x82C 4 importStateType m_importState0x830 4 unsigned long m_strDefaultHelpString0x834 1 unsigned char m_bUpdatedHelp

3 <padding>0x838 4 unsigned long m_strCurrentHelpString0x83C 4 int m_bGaveExtraXP0x840 4 long m_nExtraXP0x844 4 CString m_sImportCharName0x848 4 int m_nErrorState0x84C 4 unsigned long m_strErrorText0x850 4 int m_nNumErrorButtons0x854 12 unsigned long m_strErrorButtonText[3]0x860 36 int m_OldMageSpells[9]0x884 28 int m_OldPriestSpells[7]0x8A0 20 CTypedPtrArray m_aBaseProficiencySlots0x8B4 4 CCreatureFileHeader* m_pTempBaseStats0x8B8 4 CDerivedStats* m_pTempDerivedStats0x8BC 28 int m_storedSkillPoints[7]0x8D8 4 int m_bAddInactiveAbilities0x8DC 4 CStringList* m_szCharInfoStorage0x8E0 4 int m_nSpellcasterLevel0x8E4 4 int m_nNumLevelUpAbilities0x8E8 1 unsigned char m_nCurrentAbilityLevelChoice

Continued on next page

5.17. CS Structures 655

Page 660: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 37 – continued from previous page3 <padding>

0x8EC 4 int m_bFinishedAbilitySelection0x8F0 4 CGameAbilityList* m_lstLevelUpAbilitiesList0x8F4 24 unsigned char m_lstSelectedAbility[24]0x90C 1 unsigned char m_nSelectedAbilityInd

3 <padding>0x910 4 int m_nDualClass0x914 4 int m_nSpecialization

5.17.14 CScreenCreateParty

Used by the CScreenCreateParty Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 60 CKeyInfo m_pVirtualKeys[5]0x68 4 int m_bCtrlKeyDown0x6C 20 int m_pVirtualKeysFlags[5]0x80 4 int m_nEngineState0x84 4 int m_firstCall0x88 32 CVidFont m_preloadFontStnSml0xA8 4 int m_nCharacterSlot

5.17.15 CScreenDLC

Used by the CScreenDLC Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_bExitProgram0x650 28 CPtrList m_lPopupStack0x66C 4 unsigned long m_dwErrorTextId0x670 4 unsigned long m_dwErrorState0x674 4 int m_nNumErrorButtons0x678 12 unsigned long m_strErrorButtonText[3]0x684 28 CTypedPtrList m_lOptionsStack0x6A0 4 int m_bSpriteMirror0x6A4 1 unsigned char m_bCtrlKeyDown

3 <padding>0x6A8 32 CVidFont m_preLoadFontRealms0x6C8 32 CVidFont m_preLoadFontStnSml0x6E8 4 int m_nNumDLC0x6EC 4 int m_nCurrentDLC0x6F0 4 int m_nDlcState

656 Chapter 5. EE Game Structures (x86)

Page 661: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.16 CScreenInventory

Used by the CScreenInventory Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 4 CItem* m_pTempItem0x30 1176 CKeyInfo m_pVirtualKeys[98]0x4C8 392 int m_pVirtualKeysFlags[98]0x650 1 unsigned char m_bCtrlKeyDown

3 <padding>0x654 8 CPoint m_cLastMousePosition0x65C 4 int m_nTopGroundItem0x660 24 long m_nGroundPile[6]0x678 24 int m_bGroundPileQueried[6]0x690 4 int m_nErrorState0x694 4 unsigned long m_strErrorText0x698 4 int m_nNumErrorButtons0x69C 4 int m_nLastSwapPortrait0x6A0 4 unsigned long m_dwLastSwapButton0x6A4 4 int m_bMultiPlayerViewable0x6A8 8 CResRef m_cCheckLearnSpellRes0x6B0 4 int m_nCheckLearnSpellCountDown0x6B4 4 int m_bDroppedItemInHand0x6B8 1 unsigned char m_bPauseWarningDisplayed

3 <padding>0x6BC 32 CVidFont m_preLoadFontRealms0x6DC 32 CVidFont m_preLoadFontStnSml0x6FC 32 CVidFont m_preLoadFontTool0x71C 4 unsigned long m_stSpellsDisabled0x720 4 int m_bLearnSpellFailed0x724 4 unsigned long m_strLearnSpellFailedReason0x728 4 int m_bPauseState

5.17.17 CScreenJournal

Used by the CScreenJournal Class

5.17. CS Structures 657

Page 662: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_bShiftKeyDown0x650 4 int m_bCapsLockKeyOn0x654 1 unsigned char m_bCtrlKeyDown0x655 8 CResRef m_oldMosaic0x65D 8 CResRef m_oldFont

3 <padding>0x668 4 unsigned long m_rgbOldText0x66C 4 unsigned long m_rgbOldBackground0x670 32 CVidFont m_preLoadFontRealms0x690 32 CVidFont m_preLoadFontTool0x6B0 4 int m_bPauseState

5.17.18 CScreenLoad

Used by the CScreenLoad Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 60 CKeyInfo m_pVirtualKeys[5]0x68 20 int m_pVirtualKeysFlags[5]0x7C 1 unsigned char m_bCtrlKeyDown

3 <padding>0x80 4 int m_nTopGameSlot0x84 4 int m_nNumGameSlots0x88 4 int m_nEngineState0x8C 20 CTypedPtrArray m_aGameSlots0xA0 4 int m_nCurrentGameSlot0xA4 4 unsigned long m_strErrorText0xA8 12 unsigned long m_strErrorButtonText[3]0xB4 4 int m_nNumErrorButtons0xB8 28 CPtrList m_lPopupStack0xD4 4 int m_nMaxSlotNumber0xD8 32 CVidFont m_preLoadFontRealms0xF8 32 CVidFont m_preLoadFontStnSml0x118 4 int m_bHideSoA0x11C 4 int m_bHideToB

5.17.19 CScreenMap

Used by the CScreenMap Class

658 Chapter 5. EE Game Structures (x86)

Page 663: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 28 CPtrList m_lPopupStack0x668 2 short m_nLastPicked

2 <padding>0x66C 4 int m_nErrorState0x670 4 unsigned long m_strErrorText0x674 4 int m_nNumErrorButtons0x678 12 unsigned long m_strErrorButtonText[3]0x684 1 unsigned char m_bSelectWorldOnUp

3 <padding>0x688 32 CVidFont m_preLoadFontRealms0x6A8 32 CVidFont m_preLoadFontTool0x6C8 32 CVidFont m_preLoadFontStnSml0x6E8 4 unsigned long m_noteStrref0x6EC 4 int m_bShiftKeyDown0x6F0 4 int m_bCapsLockKeyOn0x6F4 1 unsigned char m_bCtrlKeyDown

3 <padding>0x6F8 4 long m_nClairvoyanceCaster0x6FC 4 long m_nClairvoyanceDuration0x700 1 unsigned char m_bClairvoyanceCastInBlack

3 <padding>0x704 4 int m_nScrollState0x708 4 unsigned long m_nTimeLButtonHeld0x70C 16 CRect m_HoldArea0x71C 1 bool m_bDisplayExploredMap

3 <padding>0x720 168 CVidMosaic m_vmMap0x7C8 4 int m_bHaveMap0x7CC 4 unsigned long m_mapTint0x7D0 4 CGameArea* m_pArea0x7D4 16 CRect m_rViewPort0x7E4 72 MAP_CHAR_POSITIONS m_charPositions[6]0x82C 2 unsigned short m_nCharInArea

2 <padding>0x830 4 int m_nCharactersChanged0x834 4 unsigned long m_nUserNoteId0x838 16 CRect m_rMap

5.17.20 CScreenMovies

Used by the CScreenMovies Class

5.17. CS Structures 659

Page 664: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_nEngineState0x650 4 CStringList* m_pMovies0x654 4 int m_nMovieIndex0x658 4 CString m_sSelectedMovie

5.17.21 CScreenMultiPlayer

Used by the CScreenMultiPlayer Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_bCtrlKeyDown0x650 4 int m_bShiftKeyDown0x654 4 int m_bCapsLockKeyOn0x658 28 CPtrList m_lPopupStack0x674 4 int m_nModifiedCharacterSlot0x678 4 int m_nEngineState0x67C 4 int m_nChatMessageCount0x680 4 int m_nPermissionsChatMessageCount0x684 4 int m_nKickPlayerSlot0x688 4 int m_nCharacterSlot0x68C 1 unsigned char m_bMultiplayerStartup

3 <padding>0x690 4 int m_bLastLockAllowInput0x694 32 CVidFont m_preLoadFontRealms0x6B4 32 CVidFont m_preLoadFontStnSml0x6D4 32 CVidFont m_preLoadFontTool0x6F4 1 unsigned char m_bSentGameDemand

3 <padding>0x6F8 24 CString m_playerNames[6]0x710 24 CString m_characterNames[6]0x728 24 CString m_characterPortrait[6]

5.17.22 CScreenOptions

Used by the CScreenOptions Class

Offset Size Type FieldContinued on next page

660 Chapter 5. EE Game Structures (x86)

Page 665: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 39 – continued from previous page0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_bExitProgram0x650 28 CPtrList m_lPopupStack0x66C 4 unsigned long m_dwErrorTextId0x670 4 unsigned long m_dwErrorState0x674 4 int m_nNumErrorButtons0x678 12 unsigned long m_strErrorButtonText[3]0x684 28 CTypedPtrList m_lOptionsStack0x6A0 4 int m_bSpriteMirror0x6A4 1 unsigned char m_bCtrlKeyDown

3 <padding>0x6A8 32 CVidFont m_preLoadFontRealms0x6C8 32 CVidFont m_preLoadFontStnSml0x6E8 1 unsigned char m_bFullScreenOptions0x6E9 1 unsigned char m_bReQuietSound

2 <padding>0x6EC 4 int m_nTopKeymap0x6F0 4 int m_nSelectedKeymap0x6F4 4 int m_nNumKeymapEntries0x6F8 4 int m_nKeymapEditIndex0x6FC 4 char* m_cKeymapEditSection0x700 4 char* m_cKeymapEditConflictSection0x704 4 char* m_cKeymapEditConflictKey0x708 4 int m_nKeymapEditConflictIndex0x70C 1 char m_cKeymapEditConflictValue

3 <padding>0x710 4 int m_bPauseState0x714 4 int m_nEngineState

<padding>

5.17.23 CScreenPriestSpell

Used by the CScreenPriestSpell Class

5.17. CS Structures 661

Page 666: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_nSpellLevel0x650 8 CResRef m_cResCurrentSpell0x658 4 int m_nErrorState0x65C 4 unsigned long m_strErrorText0x660 4 int m_nNumErrorButtons0x664 12 unsigned long m_strErrorButtonText[3]0x670 4 int m_bMultiPlayerViewable0x674 4 int m_nMemorizedSpellIndex0x678 1 unsigned char m_bCtrlKeyDown

3 <padding>0x67C 4 int m_nEngineState0x680 4 int m_bPriestPage0x684 4 int m_bPauseState0x688 4 int m_bControlled

5.17.24 CScreenSave

Used by the CScreenSave Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 4 int m_bQuitGameSave0x30 1176 CKeyInfo m_pVirtualKeys[98]0x4C8 392 int m_pVirtualKeysFlags[98]0x650 4 int m_bShiftKeyDown0x654 4 int m_bCapsLockKeyOn0x658 4 int m_nTopGameSlot0x65C 4 int m_nNumGameSlots0x660 4 int m_nEngineState0x664 20 CTypedPtrArray m_aGameSlots0x678 28 CPtrList m_lPopupStack0x694 4 unsigned long m_strErrorText0x698 12 unsigned long m_strErrorButtonText[3]0x6A4 4 int m_nNumErrorButtons0x6A8 4 int m_nCurrentGameSlot0x6AC 4 int m_nMaxSlotNumber0x6B0 1 unsigned char m_bCtrlKeyDown

3 <padding>0x6B4 32 CVidFont m_preLoadFontRealms0x6D4 32 CVidFont m_preLoadFontStnSml0x6F4 4 int m_bPauseState

662 Chapter 5. EE Game Structures (x86)

Page 667: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.25 CScreenStart

Used by the CScreenStart Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 4 int m_bStartMusic0x30 4 int m_bExitProgram0x34 60 CKeyInfo m_pVirtualKeys[5]0x70 4 int m_bCtrlKeyDown0x74 20 int m_pVirtualKeysFlags[5]0x88 1 unsigned char m_bMovieOn

3 <padding>0x8C 4 int m_nEngineState0x90 4 int m_firstCall0x94 28 CPtrList m_lPopupStack0xB0 4 int m_nErrorState0xB4 4 unsigned long m_strErrorText0xB8 4 int m_nNumErrorButtons0xBC 16 unsigned long m_strErrorButtonText[4]0xCC 4 int m_bPlayEndCredits0xD0 4 int m_bSplashScreens0xD4 4 int m_bNeedCDCheck0xD8 4 int m_nCurrentDLC0xDC 4 int m_nNumDLC0xE0 4 int m_nLastImageUpdate0xE4 4 int m_nDlcState0xE8 32 CVidFont m_preloadFontStnSml

5.17.26 CScreenStore

Used by the CScreenStore Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 1 unsigned char m_bCtrlKeyDown0x64D 1 unsigned char m_bShiftKeyDown

2 <padding>0x650 4 int m_bCapsLockKeyOn0x654 4 int m_nTopGroupItem0x658 28 CPtrList m_lGroupItems0x674 4 int m_nTopStoreItem0x678 28 CPtrList m_lStoreItems0x694 4 int m_nTopSpellItem0x698 28 CPtrList m_lSpellItems0x6B4 4 int m_nTopIdentifyItem

Continued on next page

5.17. CS Structures 663

Page 668: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 40 – continued from previous page0x6B8 28 CPtrList m_lIdentifyItems0x6D4 4 int m_nTopDrinkItem0x6D8 8 CResRef m_cResStore0x6E0 8 CResRef m_cResBag0x6E8 16 unsigned long m_adwButtonPanelId[4]0x6F8 4 CStore* m_pStore0x6FC 4 CStore* m_pBag0x700 4 long m_nStoreCost0x704 4 long m_nGroupCost0x708 4 unsigned long m_dwSpellCost0x70C 4 unsigned long m_dwIdentifyCost0x710 4 unsigned long m_dwRoomType0x714 20 CAIObjectType m_cAIProprietor0x728 20 CAIObjectType m_cAICustomer0x73C 4 unsigned long m_dwDonationAmount0x740 4 long m_nDrinkRumorIndex0x744 4 long m_nDonateRumorIndex0x748 28 CPtrList m_lPopupStack0x764 4 CItem* m_pHistoryItem0x768 4 int m_bHistoryUseEnabled0x76C 8 CResRef m_cResInfoSpell0x774 4 int m_nChatMessageCount0x778 4 int m_nErrorState0x77C 4 unsigned long m_strErrorText0x780 4 int m_nNumErrorButtons0x784 12 unsigned long m_strErrorButtonText[3]0x790 1 unsigned char m_nCharisma

3 <padding>0x794 32 CVidFont m_preLoadFontRealms0x7B4 32 CVidFont m_preLoadFontStnSml0x7D4 32 CVidFont m_preLoadFontTool0x7F4 4 unsigned long m_nRequesterAmount0x7F8 4 int m_nRequesterButtonId0x7FC 4 int m_bStoreIndex0x800 4 int m_bStoreStarted0x804 4 int m_nBagCount0x808 4 float m_fPanStorage

664 Chapter 5. EE Game Structures (x86)

Page 669: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.27 CScreenStoreItem

Offset Size Type Field0x00 8 CResRef m_cResSpell0x08 4 CItem* m_pItem0x0C 4 int m_bSelected0x10 4 int m_bEnabled0x14 4 int m_nSlot0x18 4 long m_nValue0x1C 4 long m_nSingleValue0x20 4 unsigned long m_nCount0x24 4 unsigned long m_nMaxCount0x28 4 unsigned long m_nStoreCount

5.17.28 CScreenWizSpell

Used by the CScreenWizSpell Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 4 int m_nSpellLevel0x650 4 int m_bMultiPlayerViewable0x654 4 int m_nMemorizedSpellIndex0x658 1 unsigned char m_bCtrlKeyDown

3 <padding>0x65C 4 int m_bMagePage0x660 1 unsigned char m_nContingencyMaxLevel0x661 1 unsigned char m_nContingencyMaxSpells0x662 2 short m_bContingencyRestrictTarget0x664 4 CBaldurEngine* m_pOldEngine0x668 1 unsigned char m_nContingencyCurrentLevel

3 <padding>0x66C 4 int m_bContingencyCleric0x670 2 unsigned short m_nMaxContingencies

2 <padding>0x674 28 CTypedPtrList m_spellList0x690 8 CResRef m_refContingencyResRef0x698 4 int m_bControlled0x69C 4 int m_bPauseState0x6A0 4 int m_bContingency

5.17. CS Structures 665

Page 670: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.29 CScreenWorld

Used by the CScreenWorld Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 4 long m_nStupidMovieWait0x30 4 int m_bProtagonistInStartArea0x34 4 long m_nProtagonistMoveMax0x38 4 int m_bWaitToRender0x3C 56 SDL_Event flickEvent0x74 4 int m_bIgnoreDisplayTextTop0x78 4 int nCounter0x7C 4 long m_boredCount0x80 4 int m_bored0x84 4 int m_playerShutdown0x88 4 int m_bShiftKeyDown0x8C 4 int m_bMenuKeyDown0x90 4 int m_bCtrlKeyDown0x94 4 int m_bCapsLockKeyOn0x98 1 unsigned char m_bPaused0x99 1 unsigned char m_bHardPaused0x9A 1 unsigned char m_bHostOnlyPaused0x9B 1 unsigned char m_bVisualPaused0x9C 1 unsigned char m_bFirstRender

3 <padding>0xA0 4 int m_bPausedBeforePickParty0xA4 4 int m_bCheatKeys0xA8 4 int m_bMButtonDown0xAC 4 int m_bMButtonDragged0xB0 4 int m_bSetStartViewCenter0xB4 8 CPoint m_ptStartViewCenter0xBC 2 short m_sequence0xBE 1 unsigned char m_facing0xBF 1 unsigned char m_bloodLevel0xC0 2 unsigned short m_castingGlow0xC2 1 unsigned char m_hitEffect

1 <padding>0xC4 2 short m_renderText

2 <padding>0xC8 4 int m_newText0xCC 32 CVidFont m_vidFont0xEC 32 CVidFont m_vidFont20x10C 1176 CKeyInfo m_pVirtualKeys[98]0x5A4 392 int m_pVirtualKeysFlags[98]0x72C 104 CGameDialogSprite m_internalLoadedDialog0x794 4 CGameDialogSprite* m_pCurrentDialog0x798 8 CPoint m_dialogStartPos0x7A0 8 CResRef m_dialogStartArea0x7A8 4 int m_dialogPausing0x7AC 16 CRect m_newViewSize

Continued on next page

666 Chapter 5. EE Game Structures (x86)

Page 671: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 41 – continued from previous page0x7BC 4 int m_bForceViewSize0x7C0 1 unsigned char m_waitingOnResize0x7C1 1 unsigned char m_storeText

2 <padding>0x7C4 4 CString m_consoleText0x7C8 4 int m_nTopContainerRow0x7CC 4 int m_nTopGroupRow0x7D0 1 unsigned char m_bForceDitherToggledOn

3 <padding>0x7D4 276 CWeather m_WeatherController0x8E8 4 long m_scrollLockId0x8EC 2 short m_nResponseMarker

2 <padding>0x8F0 4 int m_bBlockStepDialog0x8F4 4 long m_interactionIndex0x8F8 4 long m_interactionTarget0x8FC 4 CString m_interactionString0x900 4 long m_interactionCounter0x904 4 int m_interactionForce0x908 4 long m_interactionTime0x90C 4 long m_lastInteractionIndex0x910 1 unsigned char m_bSetNightOnActivate0x911 1 unsigned char m_bSetDayOnActivate

2 <padding>0x914 4 int m_ambianceForce0x918 4 unsigned long m_deltaTime0x91C 4 int m_nChatMessageCount0x920 8 CResRef m_movie0x928 1 unsigned char m_bInControlOfDialog0x929 1 unsigned char m_bInControlOfStore

2 <padding>0x92C 4 int m_bGameOverPanel0x930 8 CResRef m_movieDelay0x938 4 long m_autoPauseId0x93C 4 unsigned long m_autoPauseRef0x940 4 unsigned long m_autoPauseColor0x944 4 unsigned long m_autoPauseName0x948 4 int m_nStoreChatMessageCount0x94C 4 long m_nPickPartyRemoveCharacterId0x950 40 long m_aPickPartyCharacter[10]0x978 4 int m_nPickPartyNumCharacters0x97C 4 unsigned long m_strErrorText0x980 12 unsigned long m_strErrorButtonText[3]0x98C 4 unsigned long m_nDialogPanelOnStartDialog0x990 1 unsigned char m_bDialogPressedAButton0x991 1 unsigned char m_bEndMajorEventListenToJoin0x992 1 unsigned char m_bEndMajorEventPauseStatus0x993 1 unsigned char m_bChapterTransitionPending0x994 4 int m_nChapterTransition0x998 8 unsigned char m_szChapterTransitionResRef[8]—-

Continued on next page

5.17. CS Structures 667

Page 672: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 41 – continued from previous page0x9A0 1 unsigned char m_bTextScreenTransitionPending0x9A1 8 unsigned char m_szTextScreenTransitionResRef[8]0x9A9 1 unsigned char m_bMoviePending0x9AA 8 unsigned char m_szMovieResRef[8]0x9B2 1 unsigned char m_bPendingMapWorld

1 <padding>0x9B4 4 int m_idPendingMapWorldController0x9B8 2 short m_nPendingMapWorldDirection0x9BA 1 unsigned char m_bRestPending0x9BB 1 unsigned char m_bRestRenting0x9BC 1 unsigned char m_bRestMovie

3 <padding>0x9C0 4 int m_nRestHP0x9C4 4 int m_nRestGP0x9C8 4 long m_nBattleCryTimeOut0x9CC 28 CTypedPtrList m_deathSoundList0x9E8 4 long m_nPartySizeCheckStartDelay0x9EC 1 unsigned char m_bPlayEndCredits0x9ED 1 unsigned char m_bPendingReformParty0x9EE 1 unsigned char m_bLeaveAreaLuaPanicPending

1 <padding>0x9F0 4 unsigned long m_ulLeaveAreaLuaPanicTimer0x9F4 8 CPoint m_ptLeaveAreaLuaPanicLocation0x9FC 2 short m_nLeaveAreaLuaPanicDirection

2 <padding>0xA00 4 CString m_sLeaveAreaLuaPanicAreaName0xA04 4 CString m_sLeaveAreaLuaPanicParchment0xA08 4 unsigned long m_dwPausedTickCount0xA0C 4 unsigned long m_dwLastDialogTickCount0xA10 4 long m_lastAmbiance0xA14 4 long m_comingOutOfDialog0xA18 1 unsigned char m_nAutoHideInterface0xA19 1 unsigned char m_nAutoUnhideInterface

2 <padding>0xA1C 16 CRect m_rCurrViewPort0xA2C 4 int m_bLeftPanel0xA30 4 int m_bRightPanel0xA34 1 unsigned char m_bCheckRestrict

3 <padding>0xA38 28 CTypedPtrList m_otherTalkers0xA54 4 long m_nInteractionBlockCnt0xA58 4 int m_bInteractionBlock0xA5C 4 int m_nStateOverride0xA60 4 long m_nStateOverrideCnt0xA64 4 long m_nBlackOutCountDown0xA68 4 long m_nCutSceneDeadZoneCountDown0xA6C 4 long m_nContainerOutline0xA70 4 int m_tutorialWaitTimer0xA74 4 int m_bPausedBeforeStore0xA78 4 long m_nPauseMessageUpdate

Continued on next page

668 Chapter 5. EE Game Structures (x86)

Page 673: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 41 – continued from previous page0xA7C 4 unsigned long m_deathStrRef0xA80 4 int m_bHighlightEnabled0xA84 4 float m_fPanStorage0xA88 4 int m_bViewingContainer0xA8C 4 int m_bInDialog0xA90 4 int m_bDead0xA94 4 int m_bInCommand0xA98 4 int m_bPickingParty0xA9C 4 int m_bAutoZooming0xAA0 4 float m_fPreviousZoom0xAA4 4 float m_fTargetZoom0xAA8 16 CRect m_rPreviousViewPort0xAB8 8 CPoint m_ptPreviousView0xAC0 8 CPoint m_ptTarget0xAC8 4 int m_nZoomCurStep0xACC 16 CRect m_rOriginalViewPort0xADC 8 CPoint m_ptOriginalView0xAE4 4 float m_fOriginalZoom0xAE8 4 long* m_storedGroup0xAEC 4 int m_nStoredGroupMembers

5.17.30 CScreenWorldMap

Used by the CScreenWorldMap Class

Offset Size Type Field0x00 44 CBaldurEngine m_cBaldurEngine0x2C 1176 CKeyInfo m_pVirtualKeys[98]0x4C4 392 int m_pVirtualKeysFlags[98]0x64C 1 unsigned char m_bCtrlKeyDown0x64D 1 unsigned char m_bShiftKeyDown

2 <padding>0x650 4 int m_bCapsLockKeyOn0x654 28 CPtrList m_lPopupStack0x670 8 CSize m_mapSize0x678 4 int m_nEngineState0x67C 8 CPoint m_ptMapView0x684 168 CVidMosaic m_vmMap0x72C 192 CVidCell m_vcAreas0x7EC 192 CVidCell m_vcMarker0x8AC 32 CVidFont m_vfLabel0x8CC 1024 RGBQUAD m_aPalette[256]0xCCC 4 unsigned long m_wAreaForeground0xCD0 4 unsigned long m_nHighlightArea0xCD4 4 unsigned long m_nSelectedArea0xCD8 4 int m_bSelectedReachable0xCDC 4 int m_bOverSelectedArea

Continued on next page

5.17. CS Structures 669

Page 674: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 42 – continued from previous page0xCE0 8 CPoint m_ptMapStartMousePos0xCE8 8 CPoint m_ptMapStartView0xCF0 4 int m_bMapLeftDown0xCF4 4 int m_bMapDragging0xCF8 4 CGameArea* m_pCurrentArea0xCFC 4 long m_nLeaderSprite0xD00 4 CList* m_pPath0xD04 4 long m_nLeavingEdge0xD08 4 unsigned long m_nCurrentLink0xD0C 8 CResRef m_cResCurrentArea0xD14 20 CArray m_aAreaRect0xD28 4 CUIControlTextDisplay* m_pChatDisplay0xD2C 4 int m_nChatMessageCount0xD30 1 unsigned char m_bInControl0xD31 1 unsigned char m_bClickedArea

2 <padding>0xD34 4 int m_nCurrentSong0xD38 4 unsigned long m_nToolTip0xD3C 32 CVidFont m_preLoadFontRealms0xD5C 32 CVidFont m_preLoadFontTool0xD7C 1 unsigned char m_nScrollState0xD7D 8 CResRef m_rForceRandomEncounter

3 <padding>0xD88 4 CString m_sForcedEncounterEntry0xD8C 4 int m_bFontDropShadow

5.17.31 CScriptCache

Used by the CScriptCache Class

Offset Size Type Field0x00 4 CAIScript** m_scriptMap0x04 4 long m_nTableEntries

5.17.32 CSearchBitmap

Used by the CSearchBitmap Class

670 Chapter 5. EE Game Structures (x86)

Page 675: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 176 CVidBitmap m_resSearch0xb0 4 unsigned char* m_pDynamicCost0xb4 4 unsigned char* m_snapshotDynamicCost0xb8 4 const unsigned char* m_snapshotTerrainTable0xbc 8 CSize m_GridSquareDimensions0xc4 4 CGameArea* m_pArea0xc8 1 unsigned char m_sourceSide0xc9 1 unsigned char m_snapshotPersonalSpace

2 <padding>

5.17.33 CSearchRequest

Offset Size Type Field0x00 1 unsigned char m_serviceState0x01 1 unsigned char m_collisionDelay

2 <padding>0x04 4 int m_collisionSearch0x08 1 unsigned char m_sourceSide0x09 1 unsigned char m_nPartyIds0x0A 1 unsigned char m_nTargetIds0x0B 1 unsigned char m_nTargetPoints0x0C 4 int m_removeSelf0x10 1 unsigned char m_frontList

3 <padding>0x14 4 CSearchBitmap* m_searchBitmap0x18 16 unsigned char m_terrainTable[16]0x28 4 int m_pathSmooth0x2C 4 int m_exclusiveTargetPoints0x30 4 long m_sourceId0x34 8 POINT m_sourcePt0x3C 4 long* m_partyIds0x40 4 long* m_targetIds0x44 4 POINT* m_targetPoints0x48 4 long m_minNodes0x4C 4 long m_maxNodes0x50 4 long m_minNodesBack0x54 4 long m_maxNodesBack0x58 4 int m_bBump0x5C 2 short m_searchRc0x5E 2 short m_nPath0x60 4 long* m_pPath

5.17. CS Structures 671

Page 676: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.34 CSelectiveBonus

Offset Size Type Field0x00 20 CAIObjectType m_type0x14 4 long m_bonus

5.17.35 CSelectiveBonusList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.17.36 CSelectiveWeaponType

Offset Size Type Field0x00 4 int m_slot0x04 20 CAIObjectType m_type0x18 16 CWeaponIdentification m_weapon

5.17.37 CSelectiveWeaponTypeList

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList

5.17.38 CSequenceSound

Offset Size Type Field0x00 8 CResRef m_sound0x08 4 long m_offset

672 Chapter 5. EE Game Structures (x86)

Page 677: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.39 CSequenceSoundList

Used by the CSequenceSoundList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 __POSITION* m_currentSound0x20 4 int m_soundPlaying0x24 4 long m_channel

5.17.40 CSize

Note: Actually defined as SIZE but adapted/recreated as its own structure.

Offset Size Type Field0x00 4 long cx0x04 4 long cy

5.17.41 CSnowFlake

Offset Size Type Field0x00 52 CParticle m_cParticle0x34 1 unsigned char m_nDriftWidth0x35 1 unsigned char m_nDriftCounter0x36 2 unsigned short m_nMeltTime0x38 4 long m_nLastDriftVelocity

5.17.42 CSnowStorm

Offset Size Type Field0x00 4 CSnowFlake* m_pSnowFlakes0x04 2 unsigned short m_nCurrentDensity

2 <padding>0x08 16 CRect m_rOldWorldViewPort

5.17. CS Structures 673

Page 678: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.43 CSound

Used by the CSound Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 12 CResHelper m_cResHelper0x10 4 CSoundImp* pimpl

5.17.44 CSoundChannel

Used by the CSoundChannel Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 28 CObList lQueue0x20 4 long m_nVolumeInit0x24 4 long nVolume0x28 4 int nType0x2C 1 bool bDucked

3 <padding>0x30 4 int m_nDuckingAmount

5.17.45 CSoundExtensionBase

Offset Size Type Field0x00 4 unsigned long m_nRange0x04 4 unsigned long m_dwFlags0x08 4 long m_nPitchVariance0x0C 4 long m_nVolumeVariance0x10 240 unsigned long reservedSpace[60]

5.17.46 CSoundExtensionFile

Used by the CSoundExtensionFile Class

Offset Size Type Field0x00 12 CResHelper m_cResHelper

674 Chapter 5. EE Game Structures (x86)

Page 679: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.47 CSoundImp

Used by the CSoundImp Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 12 CResHelper m_cResHelper0x10 4 CSound* m_pParent0x14 4 int m_bPositionedSound0x18 4 int m_dwBufferSize0x1C 4 int m_dwFrequency0x20 4 int m_nBufferFormat0x24 4 int m_nRange0x28 4 int m_nRangeVolume0x2C 4 int m_nXCoordinate0x30 4 int m_nYCoordinate0x34 4 int m_nZCoordinate0x38 4 long m_nPan0x3C 4 long m_nVolume0x40 1 bool m_bSoundInitialized

3 <padding>0x44 4 int m_nChannel0x48 4 int m_nPriority0x4C 4 int m_nLooping0x50 4 long m_nPitchVariance0x54 4 long m_nVolumeVariance0x58 1 bool m_b3DPositionning

3 <padding>0x5C 4 unsigned int m_nSource0x60 4 unsigned int m_nBuffer0x64 1 bool m_bFireForget

3 <padding>0x68 4 unsigned int m_nArea0x6C 4 int m_dwOverrideFlags0x70 1 bool m_bSoundIsntDucked

3 <padding>

5.17.48 CSoundMixer

Used by the CSoundMixer Class

Offset Size Type Field0x00 4 CSoundMixerImp* pimpl

5.17.49 CSoundMixerImp

5.17. CS Structures 675

Page 680: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 4 ALCcontext_struct* alContext0x04 4 ALCdevice_struct* alDevice0x08 12 float pos[3]0x14 4 int bMixerInitialized0x18 4 int bStreamPlaying0x1C 4 int m_bMusicInitialized0x20 4 int bInPositionUpdate0x24 4 int bInSoundUpdate0x28 4 int bInQueueUpdate0x2C 4 int bInLoopingUpdate0x30 4 unsigned long m_dwEAXProperties0x34 16 CSoundProperties m_soundProperties0x44 4 int m_nNumSongs0x48 4 int m_nLastSong0x4C 4 int m_nCurrentSong0x50 4 int m_nQuietMusicVolume0x54 4 unsigned int m_nActiveArea0x58 4 int m_nDuckingOn0x5C 20 CDWordArray m_aMusicSlots0x70 10001 unsigned char m_tSqrtTable[10001]

3 <padding>0x2784 4 int nMaxVoices0x2788 28 CObList lVoices0x27A4 28 CObList lWaiting0x27C0 28 CObList lLooping0x27DC 20 CObArray aChannels0x27F0 4 int nMaxChannels0x27F4 4 int nGlobalVolume0x27F8 4 int nPanRange0x27FC 4 int nXCoordinate0x2800 4 int nYCoordinate0x2804 4 int nZCoordinate0x2808 28 CTypedPtrList m_lMusicPositions

5.17.50 CSoundProperties

Offset Size Type Field0x00 16 _EAXPRESET m_iEAXpreset

676 Chapter 5. EE Game Structures (x86)

Page 681: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.51 CSparkle

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 2 short m_nType

2 <padding>0x4C 8 CPoint m_posExact0x54 8 CPoint m_posDelta0x5C 8 CPoint m_posDest0x64 1 unsigned char m_moveScale0x65 16 unsigned char m_terrainTable[16]

10x76 2 short m_nConjureDuration0x78 4 long m_nTimer0x7C 4 long m_destId0x80 4 long m_srcId0x84 4 CAIAction* m_pTargetAction

5.17.52 CSparkleCluster

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 4 CVidMode* m_pVidMode0x4C 28 CTypedPtrList m_particleList0x68 4 unsigned long m_colorStart0x6C 4 unsigned long m_colorFade10x70 4 unsigned long m_colorFade20x74 4 unsigned long m_colorFade30x78 4 unsigned long m_colorFade40x7C 1 unsigned char m_fade1Height0x7D 1 unsigned char m_fade2Height0x7E 1 unsigned char m_fade3Height0x7F 1 unsigned char m_fade4Height0x80 16 CRect m_rBounding0x90 2 unsigned short m_wType

2 <padding>0x94 4 unsigned long m_nTimer0x98 2 unsigned short m_nConjureDuration

2 <padding>0x9C 8 CPoint m_explosionDir0xA4 4 int m_nGravity

5.17. CS Structures 677

Page 682: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.53 CSpawn

Used by the CSpawn Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 4 unsigned int Interval0x08 4 CString SectionAlias0x0C 4 unsigned long SpawnFlags0x10 4 int DataIsValid0x14 20 CAIObjectType mSearchAI0x28 4 int mSearchQty0x2C 16 int mSearchRegion[4]0x3C 4 CSpawnVar* mpSearchKeyVar0x40 4 CSpawnVar* mpSearchQtyVar0x44 28 CStringList mCREFiles0x60 4 int mCreateQty0x64 4 CString* mpCreateQtyScope0x68 4 CString* mpCreateQtyLabel0x6C 4 CString* mpScriptName0x70 1 unsigned char mEA0x71 1 unsigned char mGeneral0x72 1 unsigned char mRace0x73 1 unsigned char mClass0x74 1 unsigned char mGender0x75 1 unsigned char mSpecifics0x76 1 unsigned char mFaction0x77 1 unsigned char mTeam0x78 1 unsigned char mAlignment

3 <padding>0x7C 4 CString* mpOverrideScript0x80 4 CString* mpClassScript0x84 4 CString* mpRaceScript0x88 4 CString* mpGeneralScript0x8C 4 CString* mpDefaultScript0x90 4 CString* mpAreaScript0x94 4 CString* mpSpecificsScript0x98 28 CStringList mDialogFiles0xB4 4 int mDeathGoodModifier0xB8 4 int mDeathLawModifier0xBC 4 int mDeathLadyModifier0xC0 4 int mDeathMurderModifier0xC4 4 int Facing0xC8 24 CSpawnPointArray mSpawnPointArray0xE0 16 CSpawnPoint mSpelectedPoint0xF0 4 CSpawn::ePMode mPointSelectMode0xF4 4 CString* pPointIndexScope0xF8 4 CString* pPointIndexLabel0xFC 4 CSpawnPointVar* mpExplicitSpawnPoint0x100 4 CString* pExplicitSpawnFacingScope0x104 4 CString* pExplicitSpawnFacingLabel

Continued on next page

678 Chapter 5. EE Game Structures (x86)

Page 683: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 45 – continued from previous page0x108 4 CSpawnPointVar* mpSpawnPointStorage0x10C 4 CString* pSpawnFacingStorageScope0x110 4 CString* pSpawnFacingStorageLabel0x114 4 int mSequentialStartValue0x118 4 unsigned long mTimeOfDay

5.17.54 CSpawnFile

Used by the CSpawnFile Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 CSpawnList* mpExitList0x20 4 CSpawnList* mpEnterList0x24 4 int m_bInSpawn

5.17.55 CSpawnList

Used by the CSpawnList Class

Offset Size Type Field0x00 28 CTypedPtrList m_cTypedPtrList0x1C 4 CString mSectionAlias0x20 4 int ReceivedFirstSpawnCall0x24 4 unsigned long LastSpawnTime0x28 4 int CheckSpawnTimes0x2C 4 unsigned long SpawnTimeOfDay0x30 4 unsigned int mInterval0x34 4 CSpawnVar* pControlVar

5.17.56 CSpawnPoint

Used by the CSpawnPoint Class

Offset Size Type Field0x00 4 vfptr vfptr0x04 8 CPoint mLocation0x0c 4 int mFacing

5.17. CS Structures 679

Page 684: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.57 CSpawnPointArray

Offset Size Type Field0x00 20 CTypedPtrArray m_cTypedPtrArray0x14 4 int mDefaultFacing

5.17.58 CSpawnPointVar

Offset Size Type Field0x00 8 CSpawnVar m_cSpawnVar

5.17.59 CSpawnVar

Offset Size Type Field0x00 4 CString mScope0x04 4 CString mLabel

5.17.60 CSpell

Used by the CSpell Class

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.17.61 CSpellLevelDecrementing

Offset Size Type Field0x00 4 int m_bImmune0x04 4 long m_nLevels

680 Chapter 5. EE Game Structures (x86)

Page 685: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.62 CSteam

Note: Only applies to Steam builds, which are built with Steamworks integrations

Used by the CSteam Class

Offset Size Type Field0x00 1 bool m_isSteamConnected0x01 8 CSteamID m_SteamID

7 <padding>0x10 32 CCallResult m_CreateItemCompleted0x30 32 CCallResult m_PublishedQueryCompleted0x50 32 CCallResult m_SubmitItemUpdateCompleted0x70 4 int m_RemainingPublished0x74 4 int m_CurPagePublished0x78 4 CString m_PublishingName0x7C 4 CString m_PublishingDir0x80 4 int m_CloudState

4 <padding>0x88 32 CCallResult m_RequestUGCDetailsCompleted0xA8 136 CSteam::SubscribedItems m_Subscribed0x130 8 unsigned __int64 m_nUploadId0x138 4 ISteamRemoteStorage* m_RemoteStorage0x13C 4 ISteamUGC* m_UGC0x140 4 ISteamUserStats* m_UserStats0x144 4 void (__cdecl * logger)

5.17.63 CSteam::SubscribedItems

Note: Only applies to Steam builds, which are built with Steamworks integrations

Offset Size Type Field0x00 128 unsigned __int64 vecPublished[16]0x80 4 int curSubscribed0x84 4 int numSubscribed

5.17.64 CSteamID

Note: Only applies to Steam builds, which are built with Steamworks integrations

5.17. CS Structures 681

Page 686: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 8 CSteamID::SteamID_t m_steamid

5.17.65 CSteamID::SteamID_t (CSteamIDSteamID)

Note: Only applies to Steam builds, which are built with Steamworks integrations

Offset Size Type Field0x00 8 CSteamID::SteamID_t::SteamIDComponent_t m_comp0x00 8 unsigned __int64 m_unAll64Bits

5.17.66 CSteamID::SteamID_t::SteamIDComponent_t (CSteamIDSteamIDSteamID-Component)

Note: Only applies to Steam builds, which are built with Steamworks integrations

Offset Size Type Field0x00 4 unsigned int m_unAccountID : 320x04 4 unsigned int m_unAccountInstance : 200x04 4 unsigned int m_EAccountType : 40x04 4 EUniverse m_EUniverse : 8

5.17.67 CStore

Used by the CStore Class

Offset Size Type Field0x00 8 CResRef m_resRef0x08 148 CStoreFileHeader m_header0x9C 28 CTypedPtrList m_lInventory0xB8 4 unsigned long* m_pBuyTypes0xBC 4 unsigned long m_nBuyTypes0xC0 4 CStoreFileDrinks* m_pDrinks0xC4 4 unsigned long m_nDrinks0xC8 4 CStoreFileSpell* m_pSpells0xCC 4 unsigned long m_nSpells0xD0 8 unsigned char m_pVersion[8]0xD8 4 int m_bLocalCopy

682 Chapter 5. EE Game Structures (x86)

Page 687: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.68 CStoreFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.17.69 CStoreFileDrinks

Offset Size Type Field0x00 8 unsigned char m_icon[8]0x08 4 unsigned long m_strName0x0C 4 unsigned long m_nCost0x10 4 unsigned long m_nRumorChance

Notes

Related to STOR V1.0 Drinks for Sale

5.17.70 CStoreFileHeader

Offset Size Type Field0x00 4 unsigned long m_nStoreType0x04 4 unsigned long m_strName0x08 4 unsigned long m_nStoreFlags0x0C 4 unsigned long m_nBuyMarkUp0x10 4 unsigned long m_nSellMarkDown0x14 4 unsigned long m_nAdditionalMarkDown0x18 2 unsigned short m_nStealDifficulty0x1A 2 unsigned short m_nMaxItems0x1C 8 unsigned char m_script[8]0x24 4 unsigned long m_nbuyTypesOffset0x28 4 unsigned long m_nbuyTypesCount0x2C 4 unsigned long m_nInventoryOffset0x30 4 unsigned long m_nInventoryCount0x34 4 unsigned long m_nLore0x38 4 unsigned long m_nIdentifyCost0x3C 8 unsigned char m_resRumor[8]0x44 4 unsigned long m_drinkOffset0x48 4 unsigned long m_drinkCount0x4C 8 unsigned char m_resDonation[8]0x54 4 unsigned long m_nInnFlags0x58 4 unsigned long m_nRoomCostPeasant0x5C 4 unsigned long m_nRoomCostMerchant0x60 4 unsigned long m_nRoomCostNoble0x64 4 unsigned long m_nRoomCostRoyal

Continued on next page

5.17. CS Structures 683

Page 688: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 46 – continued from previous page0x68 4 unsigned long m_spellOffset0x6C 4 unsigned long m_spellCount0x70 4 unsigned long m_rouletMaxBet0x74 4 unsigned long m_crapsMaxBet0x78 4 unsigned long m_wheelMaxBet0x7C 4 unsigned long m_rouletWinChance0x80 4 unsigned long m_crapsWinChance0x84 4 unsigned long m_wheelWinChance0x88 4 unsigned long m_rouletWinAmount0x8C 4 unsigned long m_crapsWinAmount0x90 4 unsigned long m_wheelWinAmount

Notes

Related to STOR V1.0 Header

5.17.71 CStoreFileItem

Offset Size Type Field0x00 8 unsigned char m_itemId[8]0x08 2 unsigned short m_wear0x0A 6 unsigned short m_usageCount[3]0x10 4 unsigned long m_dynamicFlag0x14 4 unsigned long m_nInStock0x18 4 unsigned long m_nStoreFlags

Notes

Related to STOR V1.0 Items for Sale

5.17.72 CStoreFileSpell

Offset Size Type Field0x00 8 unsigned char m_spell[8]0x08 4 unsigned long m_cost

Notes

Related to STOR V1.0 Cures for Sale

684 Chapter 5. EE Game Structures (x86)

Page 689: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.17.73 CString

Used by the CString Class

Offset Size Type Field0x00 4 char* m_pchData

C Definition

typedef struct tagCString {DWORD m_pchData;

} CString; // size 0x4

5.17.74 CStringData

Offset Size Type Field0x00 4 long nRefs0x04 4 int nDataLength0x08 4 int nAllocLength

5.17.75 CStringList

Used by the CStringList Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CStringList::CNode* m_pNodeHead0x08 4 CStringList::CNode* m_pNodeTail0x0C 4 int m_nCount0x10 4 CStringList::CNode* m_pNodeFree0x14 4 CPlex* m_pBlocks0x18 4 int m_nBlockSize

5.17.76 CStringList::CNode

Offset Size Type Field0x00 4 CStringList::CNode* pNext0x04 4 CStringList::CNode* pPrev0x08 4 CString::CNode data

5.17. CS Structures 685

Page 690: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.18 CT Structures

• CTiledObject

• CTime

• CTimeSpan

• CTimer

• CTimerWorld

• CTlkFileOverride

• CTlkTable

• CTypedPtrArray

• CTypedPtrList

5.18.1 CTiledObject

Used by the CTiledObject Class

Offset Size Type Field0x00 4 long m_nWedIndex0x04 4 CResWED* m_pResWed0x08 2 unsigned short m_wAIState0x0A 2 unsigned short m_wRenderState0x0C 4 __POSITION* m_posAreaList0x10 8 CResRef m_resId

5.18.2 CTime

Used by the CTime Class

Offset Size Type Field0x00 8 __int64 m_time

5.18.3 CTimeSpan

Offset Size Type Field0x00 8 __int64 m_timeSpan

686 Chapter 5. EE Game Structures (x86)

Page 691: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.18.4 CTimer

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 int bEveryIteration0x08 4 int bOnceOnly0x0C 4 int bTimerStarted0x10 4 CWarp* pEngine0x14 4 __POSITION* pos0x18 4 long nTimerInterval0x1C 4 long nElaspedTime

5.18.5 CTimerWorld

Used by the CTimerWorld Class

Offset Size Type Field0x00 4 unsigned long m_gameTime0x04 1 unsigned char m_active0x05 1 unsigned char m_nLastPercentage

2 <padding>

5.18.6 CTlkFileOverride

Used by the CTlkFileOverride Class

Offset Size Type Field0x00 4 int bLoaded0x04 4 int m_UserAddedCount

5.18.7 CTlkTable

Used by the CTlkTable Class

Offset Size Type Field0x00 28 CMapStringToString m_mapTokens0x1c 1 unsigned char m_currentGender

3 <padding>0x20 8 CTlkFileOverride m_override0x28 8 CFileView* m_tlkFiles[2]0x30 4 unsigned long* m_engineStrings0x34 4 unsigned long m_nEngineStrings0x38 4 unsigned long m_nEngineStringBase

5.18. CT Structures 687

Page 692: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.18.8 CTypedPtrArray

Offset Size Type Field0x00 20 CPtrArray m_cPtrArray

5.18.9 CTypedPtrList

Offset Size Type Field0x00 28 CPtrList m_cPtrList

5.19 CU Structures

• CUIControlTextDisplay

• CUtil

5.19.1 CUIControlTextDisplay

Offset Size Type Field0 <padding>

5.19.2 CUtil

Offset Size Type Field1 <padding>

5.20 CV Structures

• CVariable

• CVariableHash

• CVEFEvent

• CVEFVidCell

• CVEFVidCellBase

• CVEFVidCellFile

688 Chapter 5. EE Game Structures (x86)

Page 693: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CVidBitmap

• CVidCell

• CVidCellFont

• CVidDrawable

• CVideo

• CVidFont

• CVidImage

• CVIDIMG_PALETTEAFFECT

• CVidMode

• CVidMosaic

• CVidPalette

• CVidPng

• CVidPoly

• CVidTile

• CVIDMODE_CLIP_OUTCODE

• CVIDMODE_RECTICLE_DESCRIPTION

• CVIDPALETTE_COLOR

• CVIDPOLY_VERTEX

• CVisibilityMap

• CVisibilityMapEllipse

• CVisibilityMapTreeNode

• CVisualEffect

• CVisualEffectBase

• CVisualEffectFile

• CVoice

• CVRamPool

• CVVCHash

• CVVCHashEntry

5.20.1 CVariable

Offset Size Type Field0x00 84 CAreaVariable m_cAreaVariable

5.20. CV Structures 689

Page 694: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.2 CVariableHash

Used by the CVariableHash Class

Offset Size Type Field0x00 4 CVariable* m_hashEntries0x04 4 long m_nTableEntries

5.20.3 CVEFEvent

Offset Size Type Field0x00 4 long m_nTimeFrame0x04 4 unsigned long m_dwFlags0x08 4 long m_nRepeatRate0x0C 4 unsigned long m_nResType0x10 8 CResRef m_res0x18 4 unsigned long m_specialFlags0x1C 196 unsigned long m_pad[49]

5.20.4 CVEFVidCell

Used by the CVEFVidCell Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 484 CVEFVidCellBase m_cVEFVidCellBase0x22C 4 CVidCell* m_cVidCell0x230 4 CVidCell* m_cShadowVidCell0x234 36 CVidPalette m_palette0x258 176 CVidBitmap m_newPalette0x308 4 int m_done0x30C 4 long m_newDirection0x310 16 unsigned char m_terrainTable[16]0x320 20 CSound m_sound0x334 4 CVidCell* m_cAlphaBam0x338 1 unsigned char m_level0x339 1 unsigned char m_nCurSound

2 <padding>0x33C 4 unsigned long m_renderMask0x340 4 unsigned long m_renderType0x344 4 unsigned long m_myRenderMask0x348 4 unsigned long m_priority

690 Chapter 5. EE Game Structures (x86)

Page 695: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.5 CVEFVidCellBase

Offset Size Type Field0x00 8 CResRef m_cVidCellRef0x08 8 CResRef m_cShadowVidCellRef0x10 4 unsigned long m_bltFlags0x14 4 unsigned long m_bltInfo0x18 4 unsigned long m_bltFlagsExtra0x1C 4 unsigned long m_bltInfoExtra0x20 8 CPoint m_offset0x28 4 unsigned long m_offsetFlags0x2C 4 long m_animationSpeed0x30 4 long m_numDirections0x34 4 long m_direction0x38 4 unsigned long m_directionFlags0x3C 8 CResRef m_cNewPaletteRef0x44 4 long m_height0x48 8 CPoint m_glowSize0x50 4 unsigned long m_glowIntensity0x54 4 long m_nDuration0x58 8 CResRef m_cVVCResRes0x60 4 long m_nStartSequence0x64 4 long m_nLoopSequence0x68 4 long m_nCurrentSequence0x6C 4 unsigned long m_sequenceFlags0x70 8 CResRef m_cStartSoundRef0x78 8 CResRef m_cLoopSoundRef0x80 8 CResRef m_cAlphaBamRef0x88 4 long m_nEndSequence0x8C 8 CResRef m_cEndSoundRef0x94 336 unsigned long m_extra[84]

5.20.6 CVEFVidCellFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.20.7 CVidBitmap

Used by the CVidBitmap Class

5.20. CV Structures 691

Page 696: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 156 CVidImage m_cVidImage0x9C 12 CResHelper m_cResHelper0xa8 2 short m_nBitCount

2 <padding>0xAC 4 CString m_szResFileName

5.20.8 CVidCell

Used by the CVidCell Class

Offset Size Type Field0x00 4 DWORD vfptr0x04 156 CVidImage m_cVidImage0xA0 12 CResHelper m_cResHelper0xAC 2 short m_nCurrentFrame0xAE 2 unsigned short m_nCurrentSequence0xB0 4 int m_nAnimType0xB4 4 int m_bPaletteChanged0xB8 4 frameTableEntry_st* m_pFrame0xBC 1 unsigned char m_bShadowOn

3 <padding>

5.20.9 CVidCellFont

Offset Size Type Field0x00 189 CVidCell m_cVidCell

3 <padding>

5.20.10 CVidDrawable

Used by the CVidDrawable Class

Offset Size Type Field0x00 4 int texType0x04 4 void* tex

692 Chapter 5. EE Game Structures (x86)

Page 697: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.11 CVideo

Used by the CVideo Class

Offset Size Type Field0x00 4 CVidMode* pCurrentMode

5.20.12 CVidFont

Used by the CVidFont Class

Offset Size Type Field0x00 12 CResHelper m_cResHelper0x0C 4 CVidCellFont* vidCellFont0x10 4 unsigned long foreground0x14 4 unsigned long tintcolor0x18 4 int pointSize0x1C 4 int zoom

5.20.13 CVidImage

Used by the CVidImage Class

Offset Size Type Field0x00 36 CVidPalette m_cPalette0x24 120 CVIDIMG_PALETTEAFFECT mPaletteAffects

5.20.14 CVIDIMG_PALETTEAFFECT

Offset Size Type Field0x00 4 unsigned long rgbTintColor0x04 4 unsigned long rgbAddColor0x08 4 unsigned long rgbLightColor0x0C 28 unsigned long* pRangeTints[7]0x28 8 unsigned char aRangeTintPeriods[8]0x30 28 unsigned long* pRangeAdds[7]0x4C 8 unsigned char aRangeAddPeriods[8]0x54 28 unsigned long* pRangeLights[7]0x70 7 unsigned char aRangeLightPeriods[7]0x77 1 unsigned char suppressTints

5.20. CV Structures 693

Page 698: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.15 CVidMode

Used by the CVidMode Class

Offset Size Type Field0x00 4 int m_nPrintFile0x04 4 int m_nPointerNumber0x08 4 unsigned long m_dwCursorRenderFlags0x0C 4 unsigned long m_dwRedMask0x10 4 unsigned long m_dwGreenMask0x14 4 unsigned long m_dwBlueMask0x18 1 unsigned char m_bFadeTo0x19 1 unsigned char m_nFade

2 <padding>0x1C 4 SDL_Window* m_pWindow0x20 4 void* m_glContext0x24 176 CVidBitmap m_circle0xD4 4 int nWidth0xD8 4 int nHeight0xDC 1 bool bRedrawEntireScreen0xDD 1 bool bHardwareMouseCursor

2 <padding>0xE0 4 CVidCell* pPointerVidCell0xE4 4 CVidCell* pTooltipVidCell0xE8 1 unsigned char m_bPrintScreen

3 <padding>0xEC 4 unsigned long nTickCount0xF0 4 float m_fInputScale0xF4 4 unsigned long rgbGlobalTint0xF8 1 unsigned char m_nGammaCorrection0xF9 1 unsigned char m_nBrightnessCorrection

2 <padding>0xFC 4 int m_nScreenScrollY0x100 4 int m_nScreenScrollX0x104 4 int nRShift0x108 4 int nGShift0x10C 4 int nBShift0x110 4 RGBQUAD rgbTint0x114 4 int bPointerEnabled0x118 16 CRect rPointerStorage0x128 16 CRect m_rLockedRect0x138 4 CVidCell* m_lastCursor0x13C 4 int m_lastCursorFrame0x140 4 int m_lastCursorSequence0x144 4 int m_lastCursorNumber0x148 4 unsigned long m_lastCursorFlags0x14C 4 unsigned int m_lastCursorResId0x150 4 SDL_Cursor* m_hwCursor0x154 4 SDL_Surface* m_hwCursorSurface0x158 4 int nVRamSurfaces0x15C 176 CVidBitmap m_rgbMasterBitmap

694 Chapter 5. EE Game Structures (x86)

Page 699: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.16 CVidMosaic

Used by the CVidMosaic Class

Offset Size Type Field0x00 156 CVidImage m_cVidImage0x9C 12 CResHelper m_cResHelper

5.20.17 CVidPalette

Used by the CVidPalette Class

Offset Size Type Field0x00 4 unsigned int m_nAUCounter0x04 4 unsigned int m_nAUCounterBase0x08 4 RGBQUAD* m_pPalette0x0C 4 int m_nEntries0x10 4 unsigned long rgbGlobalTint0x14 2 unsigned short m_nType0x16 1 unsigned char m_bPaletteOwner

1 <padding>0x18 4 int m_bSubRangesCalculated0x1C 7 unsigned char m_rangeColors[7]

1 <padding>

5.20.18 CVidPng

Used by the CVidPng Class

Offset Size Type Field0x00 156 CVidImage m_cVidImage0x9C 12 CResHelper m_cResHelper

5.20.19 CVidPoly

Used by the CVidPoly Class

Offset Size Type Field0x00 4 CVIDPOLY_VERTEX* m_pVertices0x04 4 int m_nVertices0x08 4 _EdgeDescription* m_pET0x0C 4 _EdgeDescription* m_pAET0x10 4 void m_pDrawHLineFunction

5.20. CV Structures 695

Page 700: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.20 CVidTile

Used by the CVidTile Class

Offset Size Type Field0x00 156 CVidImage m_cVidImage0x9C 4 CResTile* pRes0xA0 4 unsigned long m_dwFlags

5.20.21 CVIDMODE_CLIP_OUTCODE

Offset Size Type Field0x00 4 unsigned int all0x04 4 unsigned int left : 40x04 4 unsigned int right : 40x04 4 unsigned int bottom : 40x04 4 unsigned int top : 4

5.20.22 CVIDMODE_RECTICLE_DESCRIPTION

Offset Size Type Field0x00 8 CPoint ptCenter0x08 2 short xAxis0x0A 2 short yAxis0x0c 2 short piePiecePtXOffset0x0e 2 short piePiecePtYOffset0x10 2 short piePieceXOffset0x12 2 short piePieceYOffset0x14 2 short xGap0x16 2 short yGap0x18 2 short cursor

2 <padding>

5.20.23 CVIDPALETTE_COLOR

Offset Size Type Field0x00 4 int rgbRed0x04 4 int rgbGreen0x08 4 int rgbBlue

696 Chapter 5. EE Game Structures (x86)

Page 701: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.24 CVIDPOLY_VERTEX

Offset Size Type Field0x00 2 unsigned short x0x02 2 unsigned short y

5.20.25 CVisibilityMap

Used by the CVisibilityMap Class

Offset Size Type Field0x00 4 unsigned short* m_pMap0x04 4 long m_nMapSize0x08 2 short m_nWidth0x0A 2 short m_nHeight0x0C 1 unsigned char m_bOutDoor

3 <padding>0x10 4 CSearchBitmap* m_pSearchMap0x14 60 long m_aCharacterIds[15]0x50 4 CVisibilityMapTreeNode** m_pVisMapTrees0x54 4 CVisibilityMapEllipse* m_pVisMapEllipses

5.20.26 CVisibilityMapEllipse

Offset Size Type Field0x00 2 short m_nXExploreRange0x02 2 short m_nYExploreRange0x04 4 unsigned char* m_pXEllipsePts0x08 4 unsigned char* m_pYEllipsePts0x0C 1 unsigned char m_nXPtsSize0x0D 1 unsigned char m_nYPtsSize

2 <padding>

5.20.27 CVisibilityMapTreeNode

Offset Size Type Field0x00 8 CPoint m_relativePos0x08 2 unsigned short m_nRange0x0A 6 short m_aChildren[3]0x10 2 short m_parent

2 <padding>

5.20. CV Structures 697

Page 702: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.28 CVisualEffect

Used by the CVisualEffect Class

Offset Size Type Field0x00 71 CGameObject m_cGameObject

1 <padding>0x48 448 CVisualEffectBase m_cVisualEffectBase0x208 28 CTypedPtrList m_activeAnimations0x224 28 CTypedPtrList m_timedEvents0x240 28 CTypedPtrList m_triggeredEvents0x25C 8 CPoint m_ptTargetPos0x264 4 long m_nTargetId0x268 8 CPoint m_posExact0x270 8 CPoint m_posOld0x278 4 long m_nExistanceCounter0x27C 4 long m_nDirection0x280 4 long m_nNewDirection0x284 8 CPoint m_posDelta0x28C 16 unsigned char m_terrainTable[16]0x29C 4 CStringList* pList0x2A0 4 _POSITION* m_listPos0x2A4 4 int m_startedList0x2A8 4 unsigned long m_renderMask

5.20.29 CVisualEffectBase

Offset Size Type Field0x00 4 unsigned long m_nTimedEventOffset0x04 4 unsigned long m_nTimedEventCount0x08 4 unsigned long m_nTriggeredEventOffset0x0C 4 unsigned long m_nTriggeredEventCount0x10 4 unsigned long m_nTargetType0x14 4 long m_nSpeed0x18 4 long m_nDuration0x1C 8 CPoint m_ptStartDeltaV0x24 4 long m_nDeltaVDec0x28 4 long m_nHeight0x2C 4 unsigned long m_flags0x30 400 unsigned long m_extra[100]

5.20.30 CVisualEffectFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

698 Chapter 5. EE Game Structures (x86)

Page 703: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.20.31 CVoice

Used by the CVoice Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CSound* m_pSound0x08 4 unsigned int m_nBuffer0x0C 4 unsigned int m_nSource0x10 4 int m_nChannel0x14 4 int m_nPriority0x18 1 bool m_bDuckedOthers

3 <padding>

5.20.32 CVRamPool

Offset Size Type Field0x00 4 int nVTiles0x04 4 st_tiledef* pTileDef

5.20.33 CVVCHash

Offset Size Type Field0x00 4 CVVCHashEntry* m_hashEntries0x04 4 long m_nTableEntries

5.20.34 CVVCHashEntry

Offset Size Type Field0x00 8 CResRef m_name0x08 2 unsigned short m_priority

2 <padding>0x0C 4 unsigned long m_renderType0x10 4 unsigned long m_renderMask

5.20. CV Structures 699

Page 704: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.21 CW Structures

• CWarp

• CWeaponIdentification

• CWeather

• CWildSurge

• CWnd

• CWorldMap

• CWorldMapArea

• CWorldMapData

• CWorldMapFile

• CWorldMapHeader

• CWorldMapLinks

5.21.1 CWarp

Used by the CWarp Class

Offset Size Type Field0x00 4 CObject m_cObject0x04 4 CWarp* pLastEngine0x08 28 CObList lTimers

5.21.2 CWeaponIdentification

Offset Size Type Field0x00 2 unsigned short m_itemType

2 <padding>0x04 4 unsigned long m_itemFlags0x08 4 unsigned long m_itemFlagMask0x0C 4 unsigned long m_attributes

5.21.3 CWeather

Used by the CWeather Class

700 Chapter 5. EE Game Structures (x86)

Page 705: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Offset Size Type Field0x00 1 unsigned char m_bOverCast

1 <padding>0x02 2 unsigned short m_nLightningFreq0x04 2 unsigned short m_nCurrentWeather0x06 2 unsigned short m_nWeatherLevel0x08 4 unsigned long m_nWeatherEndTime0x0C 4 unsigned long m_nWeatherStageEndTime0x10 4 unsigned long m_nWeatherDuration0x14 4 unsigned long m_nLastTimeChecked0x18 2 unsigned short m_nWindLevel

2 <padding>0x1C 4 unsigned long m_rgbCurrentOverCastColor0x20 4 unsigned long m_nDurationCounter0x24 24 CSnowStorm m_snowStorm0x3C 32 CRainStorm m_rainStorm0x5C 124 CFog m_fog0xD8 20 CSound m_sndRain0xEC 20 CSound m_sndWind0x100 1 unsigned char m_bWindOn0x101 1 unsigned char m_bUpgrading

2 <padding>0x104 4 unsigned long m_nNextTimeToStartChecking0x108 4 unsigned long m_nWindVolumeLevel0x10C 4 unsigned long m_nRainVolumeLevel0x110 1 unsigned char m_bReInitialize

3 <padding>

5.21.4 CWildSurge

Offset Size Type Field0x00 2 unsigned short m_projectileOverride

2 <padding>0x04 4 unsigned long m_projectileSpeedMod0x08 4 unsigned long m_durationMod0x0C 4 unsigned long m_levelMod0x10 4 unsigned long m_bApplyEffects0x14 4 long m_saveMod0x18 4 int m_bClearTargetRestriction0x1C 4 int m_bClearSelfRestriction

5.21.5 CWnd

Offset Size Type Field0x00 4 CCmdTarget m_cCmdTarget0x04 4 HWND* m_hWnd

5.21. CW Structures 701

Page 706: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.21.6 CWorldMap

Used by the CWorldMap Class

Offset Size Type Field0x00 8 CResRef m_cResRef0x08 8 CWorldMapHeader m_cHeader0x10 4 CWorldMapData* m_pData0x14 4 CWorldMapArea** m_ppAreas0x18 4 CWorldMapLinks** m_ppLinks

5.21.7 CWorldMapArea

Offset Size Type Field0x00 8 unsigned char m_resCurrentArea[8]0x08 8 unsigned char m_resOriginalArea[8]0x10 32 char m_strName[32]0x30 4 unsigned long m_dwFlags0x34 4 unsigned long m_sequence0x38 4 unsigned long m_mapLocationX0x3C 4 unsigned long m_mapLocationY0x40 4 unsigned long m_strLabel0x44 4 unsigned long m_strAreaName0x48 8 unsigned char m_resAreaLoadMosaic[8]0x50 4 unsigned long m_nNorthEdgeStartingLink0x54 4 unsigned long m_nNorthEdgeCount0x58 4 unsigned long m_nWestEdgeStartingLink0x5C 4 unsigned long m_nWestEdgeCount0x60 4 unsigned long m_nSouthEdgeStartingLink0x64 4 unsigned long m_nSouthEdgeCount0x68 4 unsigned long m_nEastEdgeStartingLink0x6C 4 unsigned long m_nEastEdgeCount0x70 128 unsigned long nUnused[32]

702 Chapter 5. EE Game Structures (x86)

Page 707: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.21.8 CWorldMapData

Offset Size Type Field0x00 8 unsigned char m_resMosaic[8]0x08 4 unsigned long m_nWidth0x0C 4 unsigned long m_nHeight0x10 4 unsigned long m_nMapID0x14 4 unsigned long m_strTitle0x18 4 unsigned long m_nStartCenteredOnX0x1C 4 unsigned long m_nStartCenteredOnY0x20 4 unsigned long m_nAreas0x24 4 unsigned long m_nAreasOffset0x28 4 unsigned long m_nOffsetToLinks0x2C 4 unsigned long m_nLinks0x30 8 unsigned char m_resAreaIcons[8]0x38 4 unsigned long m_dwFlags0x3C 124 unsigned long nUnused[31]

5.21.9 CWorldMapFile

Offset Size Type Field0x00 12 CResHelper m_cResHelper

5.21.10 CWorldMapHeader

Offset Size Type Field0x00 4 unsigned long m_nMapCount0x04 4 unsigned long m_nMapOffset

5.21.11 CWorldMapLinks

Offset Size Type Field0x00 4 unsigned long m_nArea0x04 32 char m_entryPoint[32]0x24 4 unsigned long m_nDistanceScale0x28 4 unsigned long m_dwLinkFlags0x2C 8 unsigned char m_resRandomEncounterArea0[8]0x34 8 unsigned char m_resRandomEncounterArea1[8]0x3C 8 unsigned char m_resRandomEncounterArea2[8]0x44 8 unsigned char m_resRandomEncounterArea3[8]0x4C 8 unsigned char m_resRandomEncounterArea4[8]0x54 4 unsigned long m_nEncounterProbability0x58 128 unsigned long nUnused[32]

5.21. CW Structures 703

Page 708: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.22 CZ Structures

• CZipFile

5.22.1 CZipFile

Offset Size Type Field0x00 4 unsigned int zip0x04 4 const char* path0x08 4 const char* name0x0C 4 const char* ext0x10 4 long offset0x14 4 long size

5.23 UI Structures

• uiColumn

• uiItem

• uiItem::bam

• uiItem::bmp

• uiItem::button

• uiItem::edit

• uiItem::list

• uiItem::map

• uiItem::mosaic

• uiItem::movie

• uiItem::progressBar

• uiItem::rectangle

• uiItem::scrollbar

• uiItem::slider

• uiItem::slot

• uiItem::text

• uiItem::tooltip

• uiItem::uiTemplate

• uiMenu

• uiVariant

• UI_ControlTableEntry_st

• UI_Control_Button_st

704 Chapter 5. EE Game Structures (x86)

Page 709: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• UI_Control_Edit_st

• UI_Control_Label_st

• UI_Control_ScrollBar_st

• UI_Control_Slider_st

• UI_Control_TextDisplay_st

• UI_Control_st

• UI_Header_st

• UI_PanelHeader_st

5.23.1 uiColumn

Offset Size Type Field0x00 4 uiVariant* width0x04 4 uiItem* items0x08 4 uiColumn* next

5.23.2 uiItem

Offset Size Type Field0x00 4 uiItemType type0x04 4 uiMenu* menu0x08 4 const char* name0x0C 4 int instanceId0x10 4 const char* templateName0x14 16 Marker areaSrc0x24 16 SDL_Rect area0x34 16 SDL_Rect pad0x44 4 int enabled0x48 4 int ignoreEvents0x4C 4 int ha0x50 4 int va0x54 4 uiVariant* alpha0x58 4 uiVariant* fill0x5C 4 int useOverlayTint0x60 12 int overlayTint[3]0x6C 40 uiItem::text text0x94 4 uiItem::uiTemplate uiTemplate0x98 28 uiItem::bam bam0xB4 24 uiItem::bmp bmp0xCC 56 uiItem::list list0x104 40 uiItem::scrollbar scrollbar0x12C 20 uiItem::slider slider0x140 28 uiItem::edit edit

Continued on next page

5.23. UI Structures 705

Page 710: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 48 – continued from previous page0x15C 8 uiItem::mosaic mosaic0x164 36 uiItem::movie movie0x188 44 uiItem::button button0x1B4 4 uiItem::map map0x1B8 12 uiItem::progressBar progressBar0x1C4 20 uiItem::slot slot0x1D8 8 uiItem::rectangle rectangle0x1E0 4 int action0x1E4 4 int actionDbl0x1E8 4 int actionAlt0x1EC 4 int actionDrag0x1F0 4 int actionEnter0x1F4 4 int actionExit0x1F8 4 int actionUpdate0x1FC 4 int actionSimpleDrag0x200 4 int actionSimpleDrop0x204 4 int actionHold0x208 4 int actionScroll0x20C 4 int framesHeld0x210 20 uiItem::tooltip tooltip0x224 4 uiVariant* glow0x228 4 uiVariant* pulse0x22C 4 uiItem* next

Notes

enum uiItemType {ITEM_NONE = 0ITEM_TEXT = 1ITEM_BUTTON = 2ITEM_LIST = 3ITEM_EDIT = 4ITEM_MOVIE = 5ITEM_SLIDER = 6ITEM_HANDLE = 7ITEM_DRAGGABLE = 8ITEM_SLOT = 9ITEM_MAP = 10ITEM_TEMPLATE = 11

}

Note: UI elements defined and used in the UI.MENU file, use this data structure. Some of the field names are exposedvia lua and the UI system and are available to retrieve and/or set the field value.

Note: The fields beginning with action are processed as events (when something occurs) and can be assigned tolua script actions to perform when the event happens. The lua scripts to assign to an action event are enclosed indouble-quotes ". For example:

actionDbl "Infinity_OnPortraitDblClick(0)"

706 Chapter 5. EE Game Structures (x86)

Page 711: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

calls the lua Infinity_OnPortraitDblClick function when the mouse double clicks the portrait.

5.23.3 uiItem::bam

Offset Size Type Field0x00 4 uiVariant* resref0x04 4 uiVariant* sequence0x08 4 uiVariant* sequenceonce0x0C 4 uiVariant* frame0x10 4 uiVariant* greyscale0x14 4 uiVariant* usealpha0x18 4 int scaletoclip

5.23.4 uiItem::bmp

Offset Size Type Field0x00 4 int resname

5.23.5 uiItem::button

Offset Size Type Field0x00 4 uiVariant* portrait0x04 4 uiVariant* paperdoll0x08 4 int encumbrance0x0C 4 int colorDisplay0x10 4 int frameTimes0x14 4 const char* toggle0x18 4 const char* on0x1C 4 const char* highlightGroup0x20 4 uiVariant* clickable0x24 4 uiVariant* actionBar0x28 4 const char* sound

5.23. UI Structures 707

Page 712: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.6 uiItem::edit

Offset Size Type Field0x00 4 const char* var0x04 4 int maxlines0x08 4 int maxchars0x0C 4 uiVariant* placeholder0x10 4 int cursor0x14 4 int selectStart0x18 4 int selectEnd

5.23.7 uiItem::list

Offset Size Type Field0x00 4 int table0x04 4 int printrow0x08 4 int rowheight0x0C 4 int rowwidth0x10 4 uiVariant* rowbackground0x14 4 int dynamicHeight0x18 4 uiColumn* columns0x1C 4 int category0x20 4 int showHighlight0x24 4 int seperator0x28 4 int selected0x2C 4 int height0x30 4 uiVariant* color0x34 4 int currentRow

5.23.8 uiItem::map

Offset Size Type Field0x00 4 int type

5.23.9 uiItem::mosaic

Offset Size Type Field0x00 4 uiVariant* resref0x04 4 int respectClipping

708 Chapter 5. EE Game Structures (x86)

Page 713: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.10 uiItem::movie

Offset Size Type Field0x00 4 void* res0x04 16 SDL_Rect subtitle0x14 4 int transparent0x18 4 unsigned int background0x1C 4 int loop0x20 4 uiVariant* queuedMovie

5.23.11 uiItem::progressBar

Offset Size Type Field0x00 4 uiVariant* percent0x04 4 uiVariant* color0x08 4 uiVariant* fullColor

5.23.12 uiItem::rectangle

Offset Size Type Field0x00 4 int number0x04 4 uiVariant* opacity

5.23.13 uiItem::scrollbar

Offset Size Type Field0x00 4 const char* bam0x04 4 const char* function0x08 4 uiVariant* hide0x0C 4 int top0x10 4 int held0x14 4 int dragging0x18 4 int contentHeight0x1C 4 int respectConstraints0x20 4 int clunkyScroll0x24 4 int skipReset

5.23. UI Structures 709

Page 714: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.14 uiItem::slider

Offset Size Type Field0x00 4 const char* position0x04 4 uiVariant* settings0x08 4 int palette0x0C 4 const char* background0x10 4 int right

5.23.15 uiItem::slot

Offset Size Type Field0x00 4 uiVariant* icon0x04 4 uiVariant* count0x08 4 uiVariant* usages0x0C 4 uiVariant* highlight0x10 4 uiVariant* tint

5.23.16 uiItem::text

Offset Size Type Field0x00 4 const char* originalText0x04 4 uiVariant* text0x08 4 const char* font0x0C 4 int point0x10 4 int useFontZoom0x14 4 uiVariant* color0x18 4 int upper0x1C 4 int lower0x20 4 uiVariant* shadow0x24 4 uiVariant* showhighlight

5.23.17 uiItem::tooltip

Offset Size Type Field0x00 4 const char* originalText0x04 4 uiVariant* text0x08 4 uiVariant* force0x0C 4 int position0x10 4 int forceTop

710 Chapter 5. EE Game Structures (x86)

Page 715: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.18 uiItem::uiTemplate

Offset Size Type Field0x00 4 uiItem* item

5.23.19 uiMenu

Offset Size Type Field0x00 16 Marker menuSrc0x10 4 const char* name0x14 4 int panel0x18 4 int state0x1C 4 uiItem* items0x20 4 uiVariant* modal0x24 4 uiVariant* opacity0x28 4 uiVariant* greyscale0x2C 4 int onOpen0x30 4 int onClose0x34 4 SDL_Point offset0x3C 4 int ha0x40 4 int va0x44 4 int width0x48 4 int height0x4C 4 int enabled0x50 4 int ignoreEsc

5.23.20 uiVariant

Offset Size Type Field0x00 4 uiVariantType type0x04 4 uiVariant::value value

Notes

enum uiVariantType {UIVAR_INT = 0UIVAR_FUNCTION = 1UIVAR_STRING = 2UIVAR_FLOAT = 3

}

5.23. UI Structures 711

Page 716: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.21 UI_ControlTableEntry_st

Offset Size Type Field0x00 4 unsigned long nControlOffset0x04 4 unsigned long nControlSize

5.23.22 UI_Control_Button_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 8 unsigned char refBam[8]0x16 1 unsigned char nSequence0x17 1 unsigned char bFlags0x18 1 unsigned char nFrameUp0x19 1 unsigned char refPtXLower0x1A 1 unsigned char nFrameDown0x1B 1 unsigned char refPtXHigher0x1C 1 unsigned char nFrameFocus0x1D 1 unsigned char refPtYLower0x1E 1 unsigned char nFrameDisabled0x1F 1 unsigned char refPtYHigher

712 Chapter 5. EE Game Structures (x86)

Page 717: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.23 UI_Control_Edit_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 8 unsigned char refEdit[8]0x16 8 unsigned char refEditClientFocus[8]0x1E 8 unsigned char refEditClientNoFocus[8]0x26 8 unsigned char refEditCaret[8]0x2E 2 unsigned short nSequenceEditCaret0x30 2 unsigned short nFrameEditCaret0x32 2 unsigned short xEditClientOffset0x34 2 unsigned short yEditClientOffset0x36 2 unsigned short xEditCaretOffset0x38 2 unsigned short yEditCaretOffset0x3A 8 unsigned char refTextFont[8]0x42 2 unsigned short nSequenceText0x44 32 unsigned char defaultString[32]0x64 2 unsigned short maxChars0x66 2 unsigned short caseFormat0x68 2 unsigned short typeFormat

5.23.24 UI_Control_Label_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 4 unsigned long textStrRef0x12 8 unsigned char refTextFont[8]0x1A 4 unsigned long rgbTextForeground0x1E 4 unsigned long rgbBackground0x22 2 unsigned short nLabelType

5.23. UI Structures 713

Page 718: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.25 UI_Control_ScrollBar_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 8 unsigned char refBam[8]0x16 2 unsigned short nSequence0x18 2 unsigned short nTopFrameUp0x1A 2 unsigned short nTopFrameDown0x1C 2 unsigned short nBottomFrameUp0x1E 2 unsigned short nBottomFrameDown0x20 2 unsigned short nBarFrame0x22 2 unsigned short nThumbFrame0x24 4 unsigned long nControlWindowId

5.23.26 UI_Control_Slider_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 8 unsigned char refSlider[8]0x16 8 unsigned char refSliderThumb[8]0x1E 2 unsigned short nSequenceThumb0x20 2 unsigned short nFrameThumbNormal0x22 2 unsigned short nFrameThumbSelected0x24 2 unsigned short xThumbOffset0x26 2 unsigned short yThumbOffset0x28 2 unsigned short tickSize0x2A 2 unsigned short nTicks0x2C 2 unsigned short activeBarTop0x2E 2 unsigned short activeBarBottom0x30 2 unsigned short activeBarLeft0x32 2 unsigned short activeBarRight

714 Chapter 5. EE Game Structures (x86)

Page 719: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.27 UI_Control_TextDisplay_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 8 unsigned char refTextFont[8]0x16 8 unsigned char refNameFont[8]0x1E 4 unsigned long rgbTextForeground0x22 4 unsigned long rgbDefaultName0x26 4 unsigned long rgbBackground0x2A 4 unsigned long nScrollBarId

5.23.28 UI_Control_st

Offset Size Type Field0x00 4 unsigned long nID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType

5.23.29 UI_Header_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nPanels0x0C 4 unsigned long nOffsetToControlTable0x10 4 unsigned long nOffsetToPanelTable

5.23. UI Structures 715

Page 720: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.23.30 UI_PanelHeader_st

Offset Size Type Field0x00 4 unsigned long nPanelID0x04 2 unsigned short x0x06 2 unsigned short y0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nType0x0E 2 unsigned short nControls0x10 8 unsigned char refMosaic[8]0x18 2 unsigned short nFirstControl0x1A 2 unsigned short wFlags

5.24 Other Structures

• BAMHEADERV2

• Item_Header_st

• Item_ability_st

• Item_effect_st

• KeyFileHeader_st

• KeyFileKeyEntry_st

• KeyFileResFileName_st

• Marker

• MAP_CHAR_POSITIONS

• MOSAICHEADERV2

• MOSAICQUAD

• Mod_t

• PLTHeader_st

• PVRTextureHeaderV3

• RLEDestFormat

• ResFixedHeader_st

• SAreaFileCreatureWrapper

• SAreaFileDoorWrapper

• SAreaFileWrapper

• SDL_Rect

• STR_RES

• STR_RES_HEADER

• Spell_Header_st

716 Chapter 5. EE Game Structures (x86)

Page 721: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• Spell_ability_st

• SProjectileWrapper

• SSavedGamePartyCreatureReferenceWrapper

• StatRating

• STriggerObjectWrapper

• TILE_CODE

• TLK_FILE_HEADER

• TLK_FILE_OVERRIDE_ENTRY

• TLK_FILE_OVERRIDE_HEADER

• TLK_FILE_OVERRIDE_TEXT_BLOCK

• TLK_FILE_OVERRIDE_TEXT_HEADER

• WAV_Header

• WED_LayerHeader_st

• WED_PolyHeader_st

• WED_PolyList_st

• WED_PolyPoint_st

• WED_ScreenSectionList

• WED_TILE

• WED_TileData_st

• WED_TiledObject_st

• WED_WedHeader_st

• bamHeader_st

• biffFixedTableEntry_st

• biffHeader_st

• biffVarTableEntry_st

• biff_t

• campaignTable

• forcedTooltip

• frame

• frameTableEntry_st

• frameTableEntry_st::<unnamed-tag>::<unnamed-type-v2>

• mosHeader_st

• st_tiledef

5.24. Other Structures 717

Page 722: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.1 BAMHEADERV2

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nFrames0x0C 4 unsigned long nSequences0x10 4 unsigned long nQuads0x14 4 unsigned long nFramesOffset0x18 4 unsigned long nSequencesOffset0x1C 4 unsigned long nQuadsOffset

Notes

Related to BAM v2 Header

5.24.2 Item_Header_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long genericName0x0C 4 unsigned long identifiedName0x10 8 unsigned char usedUpItemID[8]0x18 4 unsigned long itemFlags0x1C 2 unsigned short itemType0x1E 4 unsigned long notUsableBy0x22 2 unsigned char animationType[2]0x24 2 unsigned short minLevelRequired0x26 2 unsigned short minSTRRequired0x28 1 unsigned char minSTRBonusRequired0x29 1 unsigned char notUsableBy2a0x2A 1 unsigned char minINTRequired0x2B 1 unsigned char notUsableBy2b0x2C 1 unsigned char minDEXRequired0x2D 1 unsigned char notUsableBy2c0x2E 1 unsigned char minWISRequired0x2F 1 unsigned char notUsableBy2d0x30 1 unsigned char minCONRequired0x31 1 unsigned char proficiencyType0x32 2 unsigned short minCHRRequired0x34 4 unsigned long baseValue0x38 2 unsigned short maxStackable0x3A 8 unsigned char itemIcon[8]0x42 2 unsigned short loreValue0x44 8 unsigned char groundIcon[8]0x4C 4 unsigned long baseWeight0x50 4 unsigned long genericDescription

Continued on next page

718 Chapter 5. EE Game Structures (x86)

Page 723: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 49 – continued from previous page0x54 4 unsigned long identifiedDescription0x58 8 unsigned char descriptionPicture[8]0x60 4 unsigned long attributes0x64 4 unsigned long abilityOffset0x68 2 unsigned short abilityCount0x6A 4 unsigned long effectsOffset0x6E 2 unsigned short equipedStartingEffect0x70 2 unsigned short equipedEffectCount

Notes

Related to ITM V1.0 Header

5.24.3 Item_ability_st

Offset Size Type Field0x00 2 unsigned short type0x02 1 unsigned char quickSlotType0x03 1 unsigned char largeDamageDice0x04 8 unsigned char quickSlotIcon[8]0x0C 1 unsigned char actionType0x0D 1 unsigned char actionCount0x0E 2 unsigned short range0x10 1 unsigned char launcherType0x11 1 unsigned char largeDamageDiceCount0x12 1 unsigned char speedFactor0x13 1 unsigned char largeDamageDiceBonus0x14 2 short thac0Bonus0x16 1 unsigned char damageDice0x17 1 unsigned char school0x18 1 unsigned char damageDiceCount0x19 1 unsigned char secondaryType0x1A 2 short damageDiceBonus0x1C 2 unsigned short damageType0x1E 2 unsigned short effectCount0x20 2 unsigned short startingEffect0x22 2 unsigned short maxUsageCount0x24 2 unsigned short usageFlags0x26 4 unsigned long abilityFlags0x2A 2 unsigned short missileType0x2C 12 unsigned short attackProbability[6]

Notes

Related to ITM V1.0 Extended Header

5.24. Other Structures 719

Page 724: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.4 Item_effect_st

Offset Size Type Field0x00 2 unsigned short effectID0x02 1 unsigned char targetType0x03 1 unsigned char spellLevel0x04 4 int effectAmount0x08 4 unsigned long dwFlags0x0C 2 unsigned short durationType0x0E 4 unsigned long duration0x12 1 unsigned char probabilityUpper0x13 1 unsigned char probabilityLower0x14 8 unsigned char res[8]0x1C 4 unsigned long numDice0x20 4 unsigned long diceSize0x24 4 unsigned long savingThrow0x28 4 long saveMod0x2C 4 unsigned long special

Notes

Related to ITM V1.0 Feature Block and SPL V1 Feature Block

5.24.5 KeyFileHeader_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nResFiles0x0C 4 unsigned long nKeys0x10 4 unsigned long nOffsetToFileTable0x14 4 unsigned long nOffsetToKeyTable

Notes

Related to KEY V1 Header

5.24.6 KeyFileKeyEntry_st

Offset Size Type Field0x00 8 unsigned char resRef[8]0x08 2 unsigned short nType0x0A 4 unsigned int nID

Notes

Related to KEY V1 Resource Entries

720 Chapter 5. EE Game Structures (x86)

Page 725: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.7 KeyFileResFileName_st

Offset Size Type Field0x00 4 unsigned long nFileSize0x04 4 unsigned long nFileNameOffset0x08 2 unsigned short nFileNameSize0x0A 2 unsigned short bDrives

Notes

Related to KEY V1 Bif Entries

5.24.8 Marker

Offset Size Type Field0x00 4 const char* src0x04 4 int start0x08 4 int count0x0C 4 int line

5.24.9 MAP_CHAR_POSITIONS

Offset Size Type Field0x00 8 CPoint ptPos0x08 4 long id

5.24.10 MOSAICHEADERV2

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nWidth0x0C 4 unsigned long nHeight0x10 4 unsigned long nQuads0x14 4 unsigned long nOffsetToQuads

Notes

Related to MOS V2 Header

5.24. Other Structures 721

Page 726: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.11 MOSAICQUAD

Offset Size Type Field0x00 4 int textureIndex0x04 4 int x0x08 4 int y0x0C 4 int w0x10 4 int h0x14 4 int sx0x18 4 int sy

Notes

Related to MOS V2 Data Block and BAM V2 Data Block

5.24.12 Mod_t

Offset Size Type Field0x00 4 CString archiveName0x04 4 CString osPath0x08 4 CString modName

5.24.13 PLTHeader_st

Offset Size Type Field0x00 4 unsigned long nType0x04 4 unsigned long nVersion0x08 4 unsigned long nLayers0x0C 4 unsigned long nCompressed0x10 4 unsigned long nWidth0x14 4 unsigned long nHeight

722 Chapter 5. EE Game Structures (x86)

Page 727: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.14 PVRTextureHeaderV3

Offset Size Type Field0x00 4 unsigned int u32Version0x04 4 unsigned int u32Flags0x08 4 unsigned int u64PixelFormatlo0x0C 4 unsigned int u64PixelFormathi0x10 4 unsigned int u32ColourSpace0x14 4 unsigned int u32ChannelType0x18 4 unsigned int u32Height0x1C 4 unsigned int u32Width0x20 4 unsigned int u32Depth0x24 4 unsigned int u32NumSurfaces0x28 4 unsigned int u32NumFaces0x2C 4 unsigned int u32MIPMapCount0x30 4 unsigned int u32MetaDataSize

5.24.15 RLEDestFormat

Offset Size Type Field0x00 1 unsigned char BytesPerPixel0x01 3 unsigned char padding[3]0x04 4 unsigned int Rmask0x08 4 unsigned int Gmask0x0C 4 unsigned int Bmask0x10 4 unsigned int Amask0x14 1 unsigned char Rloss0x15 1 unsigned char Gloss0x16 1 unsigned char Bloss0x17 1 unsigned char Aloss0x18 1 unsigned char Rshift0x19 1 unsigned char Gshift0x1A 1 unsigned char Bshift0x1B 1 unsigned char Ashift

5.24.16 ResFixedHeader_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nNumber0x0C 4 unsigned long nSize0x10 4 unsigned long nTableOffset

5.24. Other Structures 723

Page 728: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Notes

Related to TIS V1 Header

5.24.17 SAreaFileCreatureWrapper

Offset Size Type Field0x00 4 CAreaFileCreature* creature0x04 4 unsigned char* pCreatureOffset

5.24.18 SAreaFileDoorWrapper

Offset Size Type Field0x00 4 CAreaFileDoorObject* pDoorObject0x04 4 CAreaPoint* pClosedSearchSquaresStart0x08 4 CAreaPoint* pOpenSearchSquaresStart0x0C 4 CAreaPoint* pClosedSelectionPointStart0x10 4 CAreaPoint* pOpenSelectionPointStart

5.24.19 SAreaFileWrapper

Offset Size Type Field0x00 4 CAreaFileContainer* pContainer0x04 4 CCreatureFileItem* pStartingItem0x08 4 CAreaPoint* pPickPointStart

5.24.20 SDL_Rect

Offset Size | Type Field0x00 4 | int x0x04 4 | int y0x08 4 | int w0x0C 4 | int h

724 Chapter 5. EE Game Structures (x86)

Page 729: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.21 STR_RES

Offset Size Type Field0x00 4 CString szText0x04 20 CSound cSound

5.24.22 STR_RES_HEADER

Offset Size Type Field0x00 2 unsigned short wFlags0x02 8 unsigned char sndResRef[8]0x0A 4 unsigned long volumeVariance0x0E 4 unsigned long pitchVariance0x12 4 unsigned long offsetToStr0x16 4 unsigned long strSize

Notes

Related to TLK V1 Entries

5.24.23 Spell_Header_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long genericName0x0C 4 unsigned long identifiedName0x10 8 unsigned char usedUpItemID[8]0x18 4 unsigned long itemFlags0x1C 2 unsigned short itemType0x1E 4 unsigned long notUsableBy0x22 2 unsigned short castingAnimationType0x24 1 unsigned char minLevelRequired0x25 1 unsigned char school0x26 1 unsigned char minSTRRequired0x27 1 unsigned char secondaryType0x28 1 unsigned char minSTRBonusRequired0x29 1 unsigned char notUsableBy2a0x2A 1 unsigned char minINTRequired0x2B 1 unsigned char notUsableBy2b0x2C 1 unsigned char minDEXRequired0x2D 1 unsigned char notUsableBy2c0x2E 1 unsigned char minWISRequired0x2F 1 unsigned char notUsableBy2d

Continued on next page

5.24. Other Structures 725

Page 730: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 50 – continued from previous page0x30 2 unsigned short minCONRequired0x32 2 unsigned short minCHRRequired0x34 4 unsigned long spellLevel0x38 2 unsigned short maxStackable0x3A 8 unsigned char itemIcon[8]0x42 2 unsigned short loreValue0x44 8 unsigned char groundIcon[8]0x4C 4 unsigned long baseWeight0x50 4 unsigned long genericDescription0x54 4 unsigned long identifiedDescription0x58 8 unsigned char descriptionPicture[8]0x60 4 unsigned long attributes0x64 4 unsigned long abilityOffset0x68 2 unsigned short abilityCount0x6A 4 unsigned long effectsOffset0x6E 2 unsigned short castingStartingEffect0x70 2 unsigned short castingEffectCount

Notes

Related to SPL V1 Header

5.24.24 Spell_ability_st

Offset Size Type Field0x00 2 unsigned short type0x02 2 unsigned short quickSlotType0x04 8 unsigned char quickSlotIcon[8]0x0C 1 unsigned char actionType0x0D 1 unsigned char actionCount0x0E 2 unsigned short range0x10 2 unsigned short minCasterLevel0x12 2 unsigned short speedFactor0x14 2 unsigned short timesPerDay0x16 2 unsigned short damageDice0x18 2 unsigned short damageDiceCount0x1A 2 unsigned short damageDiceBonus0x1C 2 unsigned short damageType0x1E 2 unsigned short effectCount0x20 2 unsigned short startingEffect0x22 2 unsigned short maxUsageCount0x24 2 unsigned short usageFlags0x26 2 unsigned short missileType

Notes

Related to SPL V1 Extended Header

726 Chapter 5. EE Game Structures (x86)

Page 731: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.25 SProjectileWrapper

Offset Size Type Field0x00 4 CAreaFileProjectileObject* pProjectileObject0x04 4 unsigned char* pEffectList

5.24.26 SSavedGamePartyCreatureReferenceWrapper

Offset Size Type Field0x00 352 CSavedGamePartyCreature creature0x160 4 unsigned char* pCreatureOffset

5.24.27 StatRating

Offset Size Type Field0x00 4 CString name0x04 4 float value0x08 4 float rating

5.24.28 STriggerObjectWrapper

Offset Size Type Field0x00 4 CAreaFileTriggerObject* pTriggerObject0x04 4 CAreaPoint* pPickPointStart

5.24.29 TILE_CODE

Offset Size Type Field0x00 1 unsigned char tileNW0x01 1 unsigned char tileNE0x02 1 unsigned char tileSW0x03 1 unsigned char tileSE

5.24. Other Structures 727

Page 732: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.30 TLK_FILE_HEADER

Offset Size Type Field0x00 4 unsigned long fileType0x04 4 unsigned long versionNum0x08 2 unsigned short LanguageType0x0E 4 unsigned long nStrEntries0x0E 4 unsigned long strEntriesOffset

Notes

Related to TLK V1 Header

5.24.31 TLK_FILE_OVERRIDE_ENTRY

Offset Size Type Field0x00 4 unsigned long strRef0x04 4 unsigned long wFlags0x08 8 unsigned char sndResRef[8]0x10 4 unsigned long volumeVariance0x14 4 unsigned long pitchVariance0x18 4 unsigned long offsetToStr

Notes

Related to TLK V1 Entries

5.24.32 TLK_FILE_OVERRIDE_HEADER

Offset Size Type Field0x00 4 unsigned long fileType0x04 4 unsigned long versionNum0x08 4 unsigned long LanguageType0x0C 4 unsigned long nStrEntries0x10 4 unsigned long strEntriesOffset

Notes

Related to TLK V1 Header

728 Chapter 5. EE Game Structures (x86)

Page 733: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.33 TLK_FILE_OVERRIDE_TEXT_BLOCK

Offset Size Type Field0x00 4 unsigned long m_dwFlags0x04 4 unsigned long m_nOffsetToPrevious0x08 512 char m_text[512]0x208 4 unsigned long m_nOffsetToNext

5.24.34 TLK_FILE_OVERRIDE_TEXT_HEADER

Offset Size Type Field0x00 4 unsigned long m_nOffsetToFirstFree

5.24.35 WAV_Header

Offset Size Type Field0x00 2 unsigned short wFormatTag0x02 2 unsigned short nChannels0x04 4 unsigned long nSamplesPerSec0x08 4 unsigned long nAvgBytesPerSec0x0C 2 unsigned short nBlockAlign0x0E 2 unsigned short wBitsPerSample0x10 2 unsigned short cbSize

5.24.36 WED_LayerHeader_st

Offset Size Type Field0x00 2 unsigned short nTilesAcross0x02 2 unsigned short nTilesDown0x04 8 unsigned char rrTileSet[8]0x0C 2 unsigned short nNumUniqueTiles0x0E 2 unsigned short nLayerFlags0x10 4 unsigned long nOffsetToTileData0x14 4 unsigned long nOffsetToTileList

5.24. Other Structures 729

Page 734: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.37 WED_PolyHeader_st

Offset Size Type Field0x00 4 unsigned long nPolys0x04 4 unsigned long nOffsetToPolyList0x08 4 unsigned long nOffsetToPointList0x0C 4 unsigned long nOffsetToScreenSectionList0x10 4 unsigned long nOffsetToScreenPolyList

5.24.38 WED_PolyList_st

Offset Size Type Field0x00 4 unsigned long nStartingPoint0x04 4 unsigned long nNumPoints0x08 1 unsigned char nType0x09 1 unsigned char nHeight0x0A 2 unsigned short nLeft0x0C 2 unsigned short nRight0x0e 2 unsigned short nTop0x10 2 unsigned short nBottom

5.24.39 WED_PolyPoint_st

Offset Size Type Field0x00 2 unsigned short x0x02 2 unsigned short y

5.24.40 WED_ScreenSectionList

Offset Size Type Field0x00 2 unsigned short nStartingPoly0x02 2 unsigned short nNumPolys

730 Chapter 5. EE Game Structures (x86)

Page 735: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.41 WED_TILE

Offset Size Type Field0x00 4 int texture0x04 4 int x0x08 4 int y

5.24.42 WED_TileData_st

Offset Size Type Field0x00 2 unsigned short nStartingTile0x02 2 unsigned short nNumTiles0x04 2 short nSecondary0x06 1 unsigned char bFlags0x07 1 unsigned char bAnimSpeed0x08 2 unsigned short wFlags

5.24.43 WED_TiledObject_st

Offset Size Type Field0x00 8 unsigned char resID[8]0x08 2 unsigned short bType0x0A 2 unsigned short nStartingTile0x0C 2 unsigned short nNumTiles0x10 2 unsigned short nNumPrimaryPolys0x12 4 unsigned long nOffsetToPrimaryPolys0x16 4 unsigned long nOffsetToSecondaryPolys

5.24. Other Structures 731

Page 736: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.44 WED_WedHeader_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 4 unsigned long nLayers0x0c 4 unsigned long nTiledObjects0x10 4 unsigned long nOffsetToLayerHeaders0x14 4 unsigned long nOffsetToPolyHeader0x18 4 unsigned long nOffsetToTiledObjects0x1c 4 unsigned long nOffsetToObjectTileList0x20 2 unsigned short nVisiblityRange0x22 2 unsigned short nChanceOfRain0x24 2 unsigned short nChanceOfFog0x26 2 unsigned short nChanceOfSnow0x28 4 unsigned long dwFlags

5.24.45 bamHeader_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 2 unsigned short nFrames0x0A 1 unsigned char nSequences0x0B 1 unsigned char nTransparentColor0x0C 4 unsigned long nTableOffset0x10 4 unsigned long nPaletteOffset0x14 4 unsigned long nFrameListOffset

Notes

Related to BAM V1 Header

5.24.46 biffFixedTableEntry_st

Offset Size Type Field0x00 4 unsigned int nID0x04 4 unsigned long nOffset0x08 4 unsigned long nNumber0x0C 4 unsigned long nSize0x10 4 unsigned long nType

Notes

Related to BIFF V1 Tileset Entries

732 Chapter 5. EE Game Structures (x86)

Page 737: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.47 biffHeader_st

Offset Size Type Field0x00 4 unsigned long dwFileType0x04 4 unsigned long dwVersion0x08 4 unsigned long nVarRes0x0C 4 unsigned long nFixedRes0x10 4 unsigned long nTableOffset

Notes

Related to BIFF V1 Header

5.24.48 biffVarTableEntry_st

Offset Size Type Field0x00 4 unsigned int nID0x04 4 unsigned long nOffset0x08 4 unsigned long nSize0x0C 4 unsigned long nType

Notes

Related to BIFF V1 File Entries

5.24.49 biff_t

Offset Size Type Field0x00 4 const char* name0x04 20 file_t file0x18 16 view_t view0x28 4 biffVarTableEntry_st* v0x2C 4 biffFixedTableEntry_st* f

5.24.50 campaignTable

Offset Size Type Field0x00 4 char* column0x04 4 C2DArray* table

5.24. Other Structures 733

Page 738: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.51 forcedTooltip

Offset Size Type Field0x00 4 uiItem* current0x04 16 SDL_Rect r0x14 4 forcedTooltip* next0x18 4 int alpha

5.24.52 frame

Offset Size Type Field0x00 4 unsigned char* data0x04 4 unsigned int length0x08 4 frame* next

5.24.53 frameTableEntry_st

Offset Size Type Field0x00 2 unsigned short nWidth0x02 2 unsigned short nHeight0x04 2 short nCenterX0x06 2 short nCenterY0x08 4 unsigned long nOffset0x08 4 frameTableEntry_st::<unnamed-tag>::<unnamed-type-v2> v2

Notes

Related to BAM v2 Frame Entries

5.24.54 frameTableEntry_st::<unnamed-tag>::<unnamed-type-v2

Offset Size Type Field0x00 2 short nQuadStart0x02 2 short nQuadCount

Notes

Related to BAM v2 Cycle Entries

734 Chapter 5. EE Game Structures (x86)

Page 739: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.24.55 mosHeader_st

Offset Size Type Field0x00 4 unsigned long nFileType0x04 4 unsigned long nFileVersion0x08 2 unsigned short nWidth0x0A 2 unsigned short nHeight0x0C 2 unsigned short nXTiles0x0E 2 unsigned short nYTiles0x10 2 unsigned short nTileSize0x12 1 unsigned char nTransparentColor0x13 1 unsigned char nCompressed0x14 4 unsigned long nPaletteOffset

5.24.56 st_tiledef

Offset Size Type Field0x00 4 int nTile0x04 4 int nUsageCount0x08 4 int texture0x0C 4 CInfTileSet* pTileSet

5.25 File Format Structures

Note: The sections below link to structures that are related to each particular Infinty Engine (IE) and/or EnhancedEdition (EE) game file formats. For further details on these file formats please see IESDP (Infinity Engine StructuresDescription Project) File Formats

Note: Dont assume the EE game structures related to the IESDP file formats are a one-to-one match when loadedinto memory. There is a large amount of overlap between the two, but in some cases there are some differences. OtherEE game structures, which may be related to the file format, but have no direct mapping to them, may also be used tomanage or represent the underlying file format data.

5.25.1 2DA

• C2DArray

• CRuleTables

5.25.2 ARE

• CAreaFile

5.25. File Format Structures 735

Page 740: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CAreaFileCharacterEntryPoint

• CAreaFileContainer

• CAreaFileCreature

• CAreaFileDoorObject

• CAreaFileHeader

• CAreaFileOffsets

• CAreaFileProjectileObject

• CAreaFileRandomMonsterSpawningPoint

• CAreaFileRestEncounter

• CAreaFileSoundObject

• CAreaFileStaticObject

• CAreaFileTiledObject

• CAreaFileTriggerObject

• CAreaPoint

• CAreaSoundsAndMusic

• CAreaUserNote

• CAreaVariable

• CGameArea

• CGameAreaNotes

• CResArea

• CResWED

• CSearchBitmap

• CVisibilityMap

• SAreaFileCreatureWrapper

• SAreaFileDoorWrapper

• SAreaFileWrapper

5.25.3 BAM

• bamHeader_st

• BAMHEADERV2

• frame

• frameTableEntry_st

• frameTableEntry_st::<unnamed-tag>::<unnamed-type-v2>

• MOSAICQUAD

736 Chapter 5. EE Game Structures (x86)

Page 741: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.25.4 BIF

• biffFixedTableEntry_st

• biffHeader_st

• biffVarTableEntry_st

• biff_t

5.25.5 CRE

• CCreatureFileEquipment

• CCreatureFileHeader

• CCreatureFileItem

• CCreatureFileKnownSpell

• CCreatureFileMemorizedSpell

• CCreatureFileMemorizedSpellLevel

• CCreatureFileOffsets

• CResCRE

5.25.6 DLG

• CDialogFile

• CDialogFile_ActionScript

• CDialogFile_Dialog

• CDialogFile_Header

• CDialogFile_Reply

• CDialogFile_ReplyConditional

• CDialogFile_StartingConditional

• CResDLG

5.25.7 EFF

• CResEffect

• CGameEffectBase

• CGameEffect Structures

5.25.8 GAM

• CSaveGameSlot

• CSavedGameFamiliars

• CSavedGameHeader

5.25. File Format Structures 737

Page 742: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CSavedGameJournalEntry

• CSavedGamePartyCreature

• CSavedGameStoredLocation

• SSavedGamePartyCreatureReferenceWrapper

5.25.9 ITM

• Item_ability_st

• Item_effect_st

• Item_Header_st

• CItem

• CResItem

5.25.10 KEY

• KeyFileHeader_st

• KeyFileKeyEntry_st

• KeyFileResFileName_st

• CResRef

5.25.11 MOS

• MOSAICHEADERV2

• MOSAICQUAD

• mosHeader_st

• PVRTextureHeaderV3

• CResMosaic

• CResPVR

5.25.12 PLT

• PLTHeader_st

• CResPLT

.._PRO:

5.25.13 PRO

• CProjectileAreaFileFormat

• CProjectileBAMFileFormat

• CProjectileFileFormat

738 Chapter 5. EE Game Structures (x86)

Page 743: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.25.14 SAV

• CSaveGameSlot

• CSavedGameFamiliars

• CSavedGameHeader

• CSavedGameJournalEntry

• CSavedGamePartyCreature

• CSavedGameStoredLocation

• SSavedGamePartyCreatureReferenceWrapper

5.25.15 SPL

• Item_effect_st

• Spell_ability_st

• Spell_Header_st

• CResSpell

5.25.16 STO

• CStore

• CStoreFile

• CStoreFileDrinks

• CStoreFileHeader

• CStoreFileItem

• CStoreFileSpell

• CResStore

5.25.17 TIS

• CResInfTile

• CResTile

• CResTileSet

• CResPVR

• CTiledObject

• ResFixedHeader_st

• st_tiledef

• TILE_CODE

5.25. File Format Structures 739

Page 744: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

5.25.18 TLK

• CTlkFileOverride

• CTlkTable

• STR_RES

• STR_RES_HEADER

• TLK_FILE_HEADER

• TLK_FILE_OVERRIDE_ENTRY

• TLK_FILE_OVERRIDE_HEADER

• TLK_FILE_OVERRIDE_TEXT_BLOCK

• TLK_FILE_OVERRIDE_TEXT_HEADER

5.25.19 WBM

• CResWebm

5.25.20 WED

• CResWED

• WED_LayerHeader_st

• WED_PolyHeader_st

• WED_PolyList_st

• WED_PolyPoint_st

• WED_ScreenSectionList

• WED_TILE

• WED_TileData_st

• WED_TiledObject_st

• WED_WedHeader_st

5.25.21 WMAP

• CResWorldMap

• CWorldMap

• CWorldMapArea

• CWorldMapData

• CWorldMapFile

• CWorldMapHeader

• CWorldMapLinks

740 Chapter 5. EE Game Structures (x86)

Page 745: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Note: The structures, information and data listed here have been extracted primarily from debug symbol informationlocated in .pdb files and from debugging the EE game executables - using IDA, x64dbg, llvm-pdbutil and other tools.As the primary source of this information is Baldur.pdb from Baldur’s Gate II: Throne of Bhall EnhancedEdition, please note that some of the information presented may be incorrect when compared to other EnhancedEdition games.

Note: Structures (class and struct definitions) are output using llvm-pdbutil with: llvm-pdbutil pretty-classes -class-definitions=layout -class-order=name baldur.pdb > out.txt

5.26 Data Types

The following table lists some of the basic standard win32 data-types that may be encountered in the various structuresand other data listed in this section.

Type Size NotesBYTE 1 A byte (8 bits). 8-bit unsigned integer. 0 through 255WORD 2 16-bit unsigned integer. 0 through 65535DWORD 4 32-bit unsigned integer. 0 through 4294967295QWORD 8 64-bit unsigned integer. 0 through 18446744073709551615void 4 Any typebool 1 Boolean variable (should be TRUE or FALSE)char 1 8-bit character (a sequence of chars is denoted with [n])unsigned char 1 8-bit character (a sequence of chars is denoted with [n])short 2 16-bit integer. 32768 through 32767unsigned short 2 16-bit integer. 0 through 65535long 4 32-bit signed integer. 2147483648 through 2147483647unsigned long 4 32-bit unsigned integer. 0 through 4294967295int 4 32-bit signed integer. -2147483648 through 2147483647unsigned int 4 32-bit unsigned integer. 0 through 4294967295fieldname[n] * length of fieldname is denoted by the n value inside the brackets<type>* 4 Pointer to a structure or other data type, denoted by asterisk char<padding> * padding for structure alignment, length is in the size field

5.26. Data Types 741

Page 746: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

742 Chapter 5. EE Game Structures (x86)

Page 747: EEex Documentation - Read the Docs

CHAPTER 6

EE Game Classes (x86)

6.1 C2DArray Class

• Overview

• Quick Reference

• Constructors

• Methods

6.1.1 Overview

Note: The C2DArray class handles 2D (two dimensional) arrays for handling .2da text files that store game data(typically rules etc) in columns and rows. See 2DA file format for details.

The structure used for this class is C2DArray

743

Page 748: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.1.2 Quick Reference

Quick Refvoid C2DArray::~C2DArray()unsigned char C2DArray::Find(CString& sSearchString, CString& sXLabel, CString& sYLabel, unsigned charbSearchLabels)unsigned char C2DArray::Find(CString& sSearchString, CPoint& ptLocation, unsigned char bSearchLabels)CString& C2DArray::GetAt(CString& nX, CString& nY)const long C2DArray::GetAtLong(CPoint& coordinates)void C2DArray::Load(CResRef & res)void C2DArray::LoadLines(CResRef & res)

6.1.3 Constructors

Name DescriptionC2DArray::~C2DArray Destroys a C2DArray object

C2DArray::~C2DArray

Destroys the C2DArray object.

~C2DArray();

Remarks

Destroys the C2DArray object.

6.1.4 Methods

Name DescriptionC2DArray::Find Locate a text value in the 2da array using column and row text headers to limit searchC2DArray::GetAt Return a text value from the specified x and y coords of the 2da arrayC2DArray::GetAtLong Return a long integer value from the specified x and y coords of the 2da arrayC2DArray::Load Load a 2da resource into the C2DArray classC2DArray::LoadLines Load a 2da resource into the C2DArray class

C2DArray::Find

Locates a text value in the 2da array using column and row text headers to limit search.

744 Chapter 6. EE Game Classes (x86)

Page 749: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char C2DArray::Find(CString& sSearchString,CString& sXLabel,CString& sYLabel,unsigned char bSearchLabels);

Parameters

• CString& sSearchString - text string to search for

• CString& sXLabel - column to search

• CString& sYLabel - row to search

• unsigned char bSearchLabels - search among labels for sSearchString

Return Value

Returns the result of the search as an unsigned char.

Remarks

bSearchLabels can be set to TRUE to search labels.

C2DArray::Find

Locate a text value in the 2da array using x and y coords to limit search

unsigned char C2DArray::Find(CString& sSearchString,CPoint& ptLocation,unsigned char bSearchLabels);

Parameters

• CString& sSearchString - text string to search for

• CPoint& ptLocation - x and y coordinates to search

• unsigned char bSearchLabels - search among labels for sSearchString

Return Value

Returns the result of the search as an unsigned char.

Remarks

bSearchLabels can be set to TRUE to search labels.

C2DArray::GetAt

Get a text value from the specified x and y coordinates

CString& C2DArray::GetAt(CString& nX,CString& nY);

Parameters

6.1. C2DArray Class 745

Page 750: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CString& nX - x coordinate to get the text value from

• CString& nY - y coordinate to get the text value from

Return Value

Returns the text value as CString&

C2DArray::GetAtLong

Get a numeric value from the specified x and y coordinates

const long C2DArray::GetAtLong(CPoint& coordinates);

Parameters

• CPoint& coordinates - x and y coordinates to get the numeric value from

Return Value

Returns the numeric value as a long integer

C2DArray::Load

Loads the specified 2da resource

void C2DArray::Load(CResRef& res);

Parameters

• CResRef & res - resource reference of the 2da file to load

Remarks

The disassembly below shows the following:

• in a loop, loading of 17 strings and turning them into resource references with the CResRef::CResRef classmethod

• passing the newly created CResRef (resource reference) to the C2DArray::Load class method to load thespecified .2da file resource

• note: esi is compared to 18 decimal (0x12) and continues the loop is below that value: cmp esi,12, jbbaldur.604232

746 Chapter 6. EE Game Classes (x86)

Page 751: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

The equivalant in C++ might be:

string 2dalist[18] = {"LOADHINT", "MASTAREA", "NPCLEVEL", "TBPPARTY", "PDIALOG",→˓"STARTARE", "STRTGOLD", "STARTPOS", "STWEAPON", "XPCAP", "XPLIST", "25STWEAP",→˓"INTERACT", "YEARS", "REPUTATION" ,"CLASTEXT", "RACETEXT"};

CResRef ref;C2DArray array;

for (int i = 0; i < 18; i++){

CResRef ref((const char*)2dalist[i]);array.Load(ref);

}

C2DArray::LoadLines

Loads the specified 2da resource

void C2DArray::LoadLines(CResRef& res);

Parameters

• CResRef & res - resource reference of the 2da file to load

6.2 CAIAction Class

• Overview

• Quick Reference

• Constructors

• Methods

6.2. CAIAction Class 747

Page 752: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.2.1 Overview

Note: The CAIAction class handles AI processing of creature actions

The structure used for this class is CAIAction

6.2.2 Quick Reference

Quick Refvoid CAIAction::CAIAction()void CAIAction::~CAIAction()void CAIAction::Decode(CGameAIBase* caller)unsigned char CAIAction::OfType(short type)void CAIAction::Read(CString data, CString source)

6.2.3 Constructors

Name DescriptionCAIAction::CAIAction Constructs a CAIAction objectCAIAction::~CAIAction Destroys a CAIAction object

CAIAction::CAIAction

Constructs a CAIAction object

void CAIAction();

Remarks

Constructs a CAIAction object

CAIAction::~CAIAction

Destroys the CAIAction object

void ~CAIAction();

Remarks

Destroys the CAIAction object

748 Chapter 6. EE Game Classes (x86)

Page 753: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.2.4 Methods

Name DescriptionCAIAction::Decode DecodesCAIAction::OfTypeCAIAction::Read Reads

CAIAction::Decode

Decode action

void CAIAction::Decode(CGameAIBase* caller);

Parameters

• CGameAIBase* caller - pointer to the CGameAIBase caller

Remarks

Decodes action

CAIAction::OfType

OfType

unsigned char CAIAction::OfType(short type);

Parameters

• short type - the type to get

Return Value

Returns as an unsigned char

Remarks

CAIAction::Read

Reads the action

void CAIAction::Read(CString data, CString source);

Parameters

• CString data - action data to read

• CString source - source of action

Remarks

6.2. CAIAction Class 749

Page 754: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.3 CAICondition Class

• Overview

• Quick Reference

• Constructors

• Methods

6.3.1 Overview

Note: The CAICondition class handles conditions for triggers

The structure used for this class is CAICondition

6.3.2 Quick Reference

Quick Refvoid CAICondition::~CAICondition()void CAICondition::Add(CAITrigger& trigger)int CAICondition::Hold(CTypedPtrList& triggerList, CGameAIBase* caller)void CAICondition::Read(CString data)void CAICondition::Set(CAICondition& temp)int CAICondition::TriggerHolds(CAITrigger* pTrigger, CTypedPtrList& triggerList, CGameAIBase* caller)

6.3.3 Constructors

Name DescriptionCAICondition::~CAICondition Destroys a CAICondition object

CAICondition::~CAICondition

Destroys the CAICondition object

void ~CAICondition();

Remarks

Destroys the CAICondition object

750 Chapter 6. EE Game Classes (x86)

Page 755: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.3.4 Methods

Name DescriptionCAICondition::Add Adds a trigger to a conditionCAICondition::HoldCAICondition::ReadCAICondition::SetCAICondition::TriggerHolds

CAICondition::Add

Adds a trigger to a condition

void CAICondition::Add(CAITrigger& trigger);

Parameters

• CAITrigger& trigger - trigger to add to condition

Remarks

CAICondition::Hold

int CAICondition::Hold(CTypedPtrList& triggerList,CGameAIBase* caller);

Parameters

• CTypedPtrList& triggerList -

• CGameAIBase* caller -

Return Value

int

Remarks

CAICondition::Read

void CAICondition::Read(CString data);

Parameters

• CString data -

Remarks

6.3. CAICondition Class 751

Page 756: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAICondition::Set

void CAICondition::Set(CAICondition& temp);

Parameters

• CAICondition& temp -

Remarks

CAICondition::TriggerHolds

int CAICondition::TriggerHolds(CAITrigger* pTrigger,CTypedPtrList& triggerList,CGameAIBase* caller);

Parameters

• CAITrigger* pTrigger -

• CTypedPtrList& triggerList -

• CGameAIBase* caller -

Return Value

Returns an int value

Remarks

6.4 CAIGroup Class

• Overview

• Quick Reference

• Methods

6.4.1 Overview

Note: The CAIGroup class handles group selection of party, characters and/or allied creatures

The structure used for this class is CAIGroup

752 Chapter 6. EE Game Classes (x86)

Page 757: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.4.2 Quick Reference

Quick RefPOSITION* CAIGroup::Add(long spriteIndex)void CAIGroup::Add(CGameSprite* pSprite)void CAIGroup::AddEffect(CGameEffect* effect)void CAIGroup::AddToSearch(CSearchBitmap* search)void CAIGroup::AddTrigger(CAITrigger& trigger)void CAIGroup::ClearActions()void CAIGroup::FollowLeader(CPoint target, int additive)short* CAIGroup::GetFacings(short formationType, short direction)long CAIGroup::GetGroupLeader()long* CAIGroup::GetGroupList()CPoint* CAIGroup::GetOffsets(short formationType, short direction, unsigned char bFullParty)void CAIGroup::GroupAction(CAIAction action, int override, CAIAction* leaderAction)void CAIGroup::GroupCancelMove()void CAIGroup::GroupDrawMove(CPoint target, short formationType, CPoint cursor)void CAIGroup::GroupProtectPoint(CPoint target, short formationType, CPoint cursor, long range)void CAIGroup::GroupSetTarget(long iObject)void CAIGroup::GroupSetTarget(CPoint target, int additive, short formationType, CPoint cursor)void CAIGroup::HandleFollowPath(long* pPath, short nPath, CPoint target, CPoint start, int additive)int CAIGroup::InList(long index)int CAIGroup::IsPartyLeader()void CAIGroup::Remove(long id)void CAIGroup::Remove(CGameSprite* pSprite)void CAIGroup::RemoveFromSearch(CSearchBitmap* search)virtual void __cdecl CAIGroup::RotateOffsets(CPoint* offsets, short numOffsets, short degreesOfRotation) = 0void CAIGroup::SetGroupTriggerId(long triggerId)void CAIGroup::Sort()

6.4. CAIGroup Class 753

Page 758: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.4.3 Methods

Name DescriptionCAIGroup::AddCAIGroup::AddCAIGroup::AddEffectCAIGroup::AddToSearchCAIGroup::AddTriggerCAIGroup::ClearActionsCAIGroup::FollowLeaderCAIGroup::GetFacingsCAIGroup::GetGroupLeaderCAIGroup::GetGroupListCAIGroup::GetOffsetsCAIGroup::GroupActionCAIGroup::GroupCancelMoveCAIGroup::GroupDrawMoveCAIGroup::GroupProtectPointCAIGroup::GroupSetTargetCAIGroup::GroupSetTargetCAIGroup::HandleFollowPathCAIGroup::InListCAIGroup::IsPartyLeaderCAIGroup::RemoveCAIGroup::RemoveFromSearchCAIGroup::RotateOffsetsCAIGroup::SetGroupTriggerIdCAIGroup::Sort

CAIGroup::Add

POSITION* CAIGroup::Add(long spriteIndex);

Parameters

• long spriteIndex -

Return Value

POSITION

Remarks

CAIGroup::Add

void CAIGroup::Add(CGameSprite* pSprite);

Parameters

754 Chapter 6. EE Game Classes (x86)

Page 759: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameSprite* pSprite -

Remarks

CAIGroup::AddEffect

void CAIGroup::AddEffect(CGameEffect* effect);

Parameters

• CGameEffect* effect -

Remarks

CAIGroup::AddToSearch

void CAIGroup::AddToSearch(CSearchBitmap* search);

Parameters

• CSearchBitmap* search -

Remarks

CAIGroup::AddTrigger

void CAIGroup::AddTrigger(CAITrigger& trigger);

Parameters

• CAITrigger& trigger -

Remarks

CAIGroup::ClearActions

void CAIGroup::ClearActions();

Remarks

6.4. CAIGroup Class 755

Page 760: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::FollowLeader

void CAIGroup::FollowLeader(CPoint target,int additive);

Parameters

• CPoint target -

• int additive -

Remarks

CAIGroup::GetFacings

short* CAIGroup::GetFacings(short formationType,short direction);

Parameters

• short formationType -

• short direction -

Return Value

short*

Remarks

CAIGroup::GetGroupLeader

long CAIGroup::GetGroupLeader();

Return Value

long

Remarks

CAIGroup::GetGroupList

long* CAIGroup::GetGroupList();

Return Value

long*

Remarks

756 Chapter 6. EE Game Classes (x86)

Page 761: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::GetOffsets

CPoint* CAIGroup::GetOffsets(short formationType,short direction,unsigned char bFullParty);

Parameters

• short formationType -

• short direction -

• unsigned char bFullParty -

Return Value

CPoint*

Remarks

CAIGroup::GroupAction

void CAIGroup::GroupAction(CAIAction action,int override,CAIAction* leaderAction);

Parameters

• CAIAction action -

• int override -

• CAIAction* leaderAction -

Return Value

Remarks

CAIGroup::GroupCancelMove

void CAIGroup::GroupCancelMove();

Remarks

6.4. CAIGroup Class 757

Page 762: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::GroupDrawMove

void CAIGroup::GroupDrawMove(CPoint target,short formationType,CPoint cursor);

Parameters

• CPoint target -

• short formationType -

• CPoint cursor -

Remarks

CAIGroup::GroupProtectPoint

void CAIGroup::GroupProtectPoint(CPoint target,short formationType,CPoint cursor,long range);

Parameters

• CPoint target -

• short formationType -

• CPoint cursor -

• long range -

Remarks

CAIGroup::GroupSetTarget

void CAIGroup::GroupSetTarget(long iObject);

Parameters

• long iObject -

Remarks

758 Chapter 6. EE Game Classes (x86)

Page 763: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::GroupSetTarget

void CAIGroup::GroupSetTarget(CPoint target,int additive,short formationType,CPoint cursor);

Parameters

• CPoint target -

• int additive -

• short formationType -

• CPoint cursor -

Remarks

CAIGroup::HandleFollowPath

void CAIGroup::HandleFollowPath(long* pPath,short nPath,CPoint target,CPoint start,int additive);

Parameters

• long* pPath -

• short nPath -

• CPoint target -

• CPoint start -

• int additive

Remarks

CAIGroup::InList

int CAIGroup::InList(long index);

Parameters

• long index -

Return Value

int

Remarks

6.4. CAIGroup Class 759

Page 764: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::IsPartyLeader

int CAIGroup::IsPartyLeader();

Return Value

int

Remarks

CAIGroup::Remove

void CAIGroup::Remove(long id);

Parameters

• long id -

Remarks

CAIGroup::Remove

void CAIGroup::Remove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Remarks

CAIGroup::RemoveFromSearch

void CAIGroup::RemoveFromSearch(CSearchBitmap* search);

Parameters

• CSearchBitmap* search -

Remarks

760 Chapter 6. EE Game Classes (x86)

Page 765: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIGroup::RotateOffsets

virtual void __cdecl CAIGroup::RotateOffsets(CPoint* offsets,short numOffsets,short degreesOfRotation);

Parameters

• CPoint* offsets -

• short numOffsets -

• short degreesOfRotation -

Remarks

CAIGroup::SetGroupTriggerId

void CAIGroup::SetGroupTriggerId(long triggerId);

Parameters

• long triggerId -

Remarks

CAIGroup::Sort

void CAIGroup::Sort();

Remarks

6.5 CAIIdList Class

The structure used for this class is CAIIdList

Quick Refvoid CAIIdList::CAIIdList(CResRef id)void CAIIdList::CAIIdList()virtual void CAIIdList::~CAIIdList()CAIId* CAIIdList::Find(long id)CAIId* CAIIdList::Find(CString name, int caseSensetive)void CAIIdList::LoadList(int faster)void CAIIdList::LoadList(CResRef id, int faster)

6.5. CAIIdList Class 761

Page 766: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.5.1 Constructors

CAIIdList::CAIIdList

Constructs a CAIIdList object

void CAIIdList::CAIIdList();

Remarks

Constructs a CAIIdList object

CAIIdList::CAIIdList

Constructs a CAIIdList object

void CAIIdList::CAIIdList(CResRef id);

Parameters

• CResRef id - resource reference id

Remarks

Constructs a CAIIdList object

CAIIdList::~CAIIdList

Destroys the CAIIdList object

void ~CAIIdList();;

Remarks

Destroys the CAIIdList object

6.5.2 Methods

Name DescriptionCAIIdList::FindCAIIdList::LoadList

762 Chapter 6. EE Game Classes (x86)

Page 767: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIIdList::Find

CAIId* CAIIdList::Find(long id);

Parameters

• long id -

Return Value

Returns a pointer to CAIId

Remarks

CAIIdList::Find

CAIId* CAIIdList::Find(CString name,int caseSensetive);

Parameters

• CString name - text to search for

• int caseSensetive - case sensitive searching enabled or not

Return Value

Returns a pointer to CAIId

Remarks

CAIIdList::LoadList

void CAIIdList::LoadList(int faster);

Parameters

• int faster -

Remarks

CAIIdList::LoadList

void CAIIdList::LoadList(CResRef id, int faster);

Parameters

• CResRef id - resource reference id

• int faster -

Remarks

6.5. CAIIdList Class 763

Page 768: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.6 CAIObjectType Class

The structure used for this class is CAIObjectType

Quick Refvoid CAIObjectType::CAIObjectType(unsigned char EnemyAlly, unsigned char General, unsigned char Race,unsigned char Class, unsigned char Specifics, unsigned char Gender, unsigned char Alignment, long Instance)void CAIObjectType::CAIObjectType(unsigned char EnemyAlly, unsigned char General, unsigned char Race,unsigned char Class, unsigned char Specifics, unsigned char Gender, unsigned char Alignment, long Instance, constunsigned char* SpecialCase, CString& name)void CAIObjectType::Decode(CGameAIBase* caller)void CAIObjectType::GetActiveInactiveClasses(unsigned char& nActiveClass, unsigned char& nInactiveClass)unsigned char CAIObjectType::GetClass()CAIObjectType CAIObjectType::GetEnemyOf()CGameObject* CAIObjectType::GetShare(CGameAIBase* caller, int checkBackList)CGameObject* CAIObjectType::GetShareType(CGameAIBase* caller, unsigned char type, int checkBackList)int CAIObjectType::IsAllyOf(CAIObjectType& type)int CAIObjectType::IsEnemyOf(CAIObjectType& type)int CAIObjectType::IsUsableSubClass(unsigned char nSubClass, int bAsync)int CAIObjectType::Match(CAIObjectType& y)unsigned char CAIObjectType::OfType(CAIObjectType* type, int checkForNonSprites, int noNonSprites, intdeathMatchAllowance)void CAIObjectType::Read(CString data)void CAIObjectType::Set(CAIObjectType& type)void CAIObjectType::SetSpecialCase(unsigned char* temp)CAIObjectType& CAIObjectType::operator=(CAIObjectType& y)int CAIObjectType::operator==(CAIObjectType& y)

6.6.1 Constructors

Name DescriptionCAIObjectType::CAIObjectType Constructs a CAIObjectType object

CAIObjectType::CAIObjectType

Constructs a CAIObjectType object

void CAIObjectType::CAIObjectType(unsigned char EnemyAlly,unsigned char General,unsigned char Race,unsigned char Class,unsigned char Specifics,unsigned char Gender,unsigned char Alignment,long Instance);

Parameters

764 Chapter 6. EE Game Classes (x86)

Page 769: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char EnemyAlly - * *

• unsigned char General - * *

• unsigned char Race - * *

• unsigned char Class - * *

• unsigned char Specifics - * *

• unsigned char Gender - * *

• unsigned char Alignment - * *

• long Instance - * *

Remarks

Constructs a CAIObjectType object

CAIObjectType::CAIObjectType

Constructs a CAIObjectType object

void CAIObjectType::CAIObjectType(unsigned char EnemyAlly,unsigned char General,unsigned char Race,unsigned char Class,unsigned char Specifics,unsigned char Gender,unsigned char Alignment,long Instance,const unsigned char* SpecialCase,CString& name);

Parameters

• unsigned char EnemyAlly - * *

• unsigned char General - * *

• unsigned char Race - * *

• unsigned char Class - * *

• unsigned char Specifics - * *

• unsigned char Gender - * *

• unsigned char Alignment - * *

• long Instance - * *

• const unsigned char* SpecialCase - * *

• CString& name - * *

Remarks

Constructs a CAIObjectType object

6.6. CAIObjectType Class 765

Page 770: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.6.2 Methods

Name DescriptionCAIObjectType::DecodeCAIObjectType::GetActiveInactiveClassesCAIObjectType::GetClassCAIObjectType::GetEnemyOfCAIObjectType::GetShareCAIObjectType::GetShareTypeCAIObjectType::IsAllyOfCAIObjectType::IsEnemyOfCAIObjectType::IsUsableSubClassCAIObjectType::MatchCAIObjectType::OfTypeCAIObjectType::ReadCAIObjectType::SetCAIObjectType::SetSpecialCase

CAIObjectType::Decode

Decode CAIObjectType

void CAIObjectType::Decode(CGameAIBase* caller);

Parameters

• CGameAIBase* caller -

Remarks

CAIObjectType::GetActiveInactiveClasses

Gets active and inactive classes

void CAIObjectType::GetActiveInactiveClasses(unsigned char& nActiveClass,unsigned char& nInactiveClass) ;

Parameters

• unsigned char& nActiveClass -

• ‘‘unsigned char‘‘& nInactiveClass -

Remarks

CAIObjectType::GetClass

Get class

766 Chapter 6. EE Game Classes (x86)

Page 771: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CAIObjectType::GetClass();

Return Value

unsigned char

Remarks

CAIObjectType::GetEnemyOf

CAIObjectType CAIObjectType::GetEnemyOf();

Return Value

CAIObjectType

Remarks

CAIObjectType::GetShare

CGameObject* CAIObjectType::GetShare(CGameAIBase* caller,int checkBackList);

Parameters

• CGameAIBase* caller -

• int checkBackList -

Return Value

Returns a pointer to CGameObject

Remarks

CAIObjectType::GetShareType

CGameObject<CGameObject>* CAIObjectType::GetShareType(CGameAIBase* caller,unsigned char type,int checkBackList);

Parameters

• CGameAIBase* caller -

• unsigned char type -

• int checkBackList -

6.6. CAIObjectType Class 767

Page 772: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns a pointer to CGameObject

Remarks

CAIObjectType::IsAllyOf

int CAIObjectType::IsAllyOf(CAIObjectType& type);

Parameters

• CAIObjectType& type -

Return Value

int

Remarks

CAIObjectType::IsEnemyOf

int CAIObjectType::IsEnemyOf(CAIObjectType& type);

Parameters

• CAIObjectType& type -

Return Value

int

Remarks

CAIObjectType::IsUsableSubClass

int CAIObjectType::IsUsableSubClass(unsigned char nSubClass,int bAsync);

Parameters

• unsigned char nSubClass -

• int bAsync - asynchronous or synchronous

Return Value

int

Remarks

768 Chapter 6. EE Game Classes (x86)

Page 773: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIObjectType::Match

int CAIObjectType::Match(CAIObjectType& y);

Parameters

• CAIObjectType& y -

Return Value

int

Remarks

CAIObjectType::OfType

unsigned char CAIObjectType::OfType(CAIObjectType* type,int checkForNonSprites,int noNonSprites,int deathMatchAllowance);

Parameters

• CAIObjectType* type - * *

• int checkForNonSprites -

• int noNonSprites -

• int deathMatchAllowance -

Return Value

unsigned char

Remarks

CAIObjectType::Read

void CAIObjectType::Read(CString data);

Parameters

• CString data - string containing data to read

Remarks

6.6. CAIObjectType Class 769

Page 774: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIObjectType::Set

void CAIObjectType::Set(CAIObjectType& type);

Parameters

• CAIObjectType& type - type to set object as

Remarks

CAIObjectType::SetSpecialCase

void CAIObjectType::SetSpecialCase(unsigned char* temp);

Parameters

• unsigned char* temp -

Remarks

6.6.3 Operators

Name DescriptionCAIObjectType::operator= Assign a new value to a CAIObjectType objectCAIObjectType::operator== Determines if two values are equal

CAIObjectType::operator=

Assign y to a CAIObjectType object

CAIObjectType& CAIObjectType::operator=(CAIObjectType& y);

Parameters

• CAIObjectType& y - the new value to assign

Return Value

CAIObjectType&

Remarks

770 Chapter 6. EE Game Classes (x86)

Page 775: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIObjectType::operator==

Logical comparison equals operator

int CAIObjectType::operator==(CAIObjectType& y);

Parameters

• CAIObjectType& y - the value to be compared

Return Value

int

Remarks

6.7 CAIResponse Class

The structure used for this class is CAIResponse

Quick Refvoid CAIResponse::CAIResponse()void CAIResponse::~CAIResponse()void CAIResponse::Add(CAIResponse& res)void CAIResponse::Add(CAIAction& action)unsigned char CAIResponse::InListEnd(short actionID)void CAIResponse::Read(CString data, CString source)void CAIResponse::Set(CAIResponse& temp)

6.7.1 Constructors

Name DescriptionCAIResponse::CAIResponse Constructs a CAIResponse objectCAIResponse::~CAIResponse Destroys a CAIResponse object

CAIResponse::CAIResponse

Constructs a CAIResponse object

void CAIResponse();

Remarks

Constructs a CAIResponse object

6.7. CAIResponse Class 771

Page 776: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIResponse::~CAIResponse

Destroys the CAIResponse object

void ~CAIResponse();

Remarks

Destroys the CAIResponse object

6.7.2 Methods

Name DescriptionCAIResponse::AddCAIResponse::InListEndCAIResponse::ReadCAIResponse::Set

CAIResponse::Add

void CAIResponse::Add(CAIResponse& res);

Parameters

• CAIResponse& res - response to add

Remarks

CAIResponse::Add

void CAIResponse::Add(CAIAction& action);

Parameters

• CAIAction& action - action to add to response object

Remarks

CAIResponse::InListEnd

unsigned char CAIResponse::InListEnd(short actionID);

Parameters

• short actionID - action id to check occurs in the list

772 Chapter 6. EE Game Classes (x86)

Page 777: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

unsigned char

Remarks

CAIResponse::Read

void CAIResponse::Read(CString data,CString source);

Parameters

• CString data - string containing data

• CString source - string containing source

Remarks

CAIResponse::Set

void CAIResponse::Set(CAIResponse& temp);

Parameters

• CAIResponse& temp -

Remarks

6.8 CAIScript Class

The structure used for this class is CAIScript

Quick Refvoid CAIScript::CAIScript(CResRef cNewResRef, int playerscript)void CAIScript::CAIScript()void CAIScript::~CAIScript()void CAIScript::Add(CAICondition& condition, CAIResponseSet& responseSet)void CAIScript::Copy(CTypedPtrList& copyList)CAIResponse* CAIScript::Find(CTypedPtrList& triggerList, CGameAIBase* caller)void CAIScript::Read(CResRef fileName, int playerScript)void CAIScript::WriteToDisk(CString fileName, CGameObject* pAIObj)

6.8. CAIScript Class 773

Page 778: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.8.1 Constructors

Name DescriptionCAIScript::CAIScript Constructs a CAIScript objectCAIScript::~CAIScript Destroys a CAIScript object

CAIScript::CAIScript

Constructs a CAIScript object

void CAIScript();

Remarks

Constructs a CAIScript object

CAIScript::CAIScript

Constructs a CAIScript object

void **CAIScript\:\:CAIScript**\(:ref:`CResRef<CResRef>` cNewResRef, int→˓playerscript);

Parameters

• CResRef cNewResRef -

• int playerscript -

Remarks

Constructs a CAIScript object

CAIScript::~CAIScript

Destroys the CAIScript object

void ~CAIScript();;

Remarks

Destroys the CAIScript object

774 Chapter 6. EE Game Classes (x86)

Page 779: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.8.2 Methods

Name DescriptionCAIScript::Add Add a condition and response to an existing scriptCAIScript::Copy Copy a list of script itemsCAIScript::Find Find a trigger within a script and return the response for thatCAIScript::Read Read a script file from disk as specified by fileNameCAIScript::WriteToDisk Writes a script to a file as specified by fileName

CAIScript::Add

Add a condition (CAICondition) and a response (CAIResponseSet) to an existing script

void CAIScript::Add(CAICondition& condition,CAIResponseSet& responseSet);

Parameters

• CAICondition& condition -

• CAIResponseSet& responseSet -

Remarks

CAIScript::Copy

Copy a list of script items

void CAIScript::Copy(CTypedPtrList& copyList);

Parameters

• CTypedPtrList& copyList -

Remarks

CAIScript::Find

Find a trigger within a script and return the response for that

CAIResponse* CAIScript::Find(CTypedPtrList& triggerList,CGameAIBase* caller);

Parameters

• CTypedPtrList& triggerList -

• CGameAIBase* caller -

6.8. CAIScript Class 775

Page 780: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns a pointer to a CAIResponse

Remarks

CAIScript::Read

Read a script file from disk as specified by fileName

void CAIScript::Read(CResRef fileName,int playerScript);

Parameters

• CResRef fileName - resource reference of script file to read

• int playerScript -

Remarks

CAIScript::WriteToDisk

Writes a script to a file as specified by fileName

void CAIScript::WriteToDisk(CString fileName,CGameObject* pAIObj);

Parameters

• CString fileName - script filename to write data to

• CGameObject* pAIObj -

Remarks

6.9 CAIScriptFile Class

The structure used for this class is CAIScriptFile

Quick Refvoid CAIScriptFile::CAIScriptFile()void CAIScriptFile::~CAIScriptFile()void CAIScriptFile::Clear()short CAIScriptFile::DecodeActionID(CString name)short CAIScriptFile::DecodeActionType(CString IDLine, long& paramCount)unsigned char CAIScriptFile::DecodeSpecialCase(CString name)short CAIScriptFile::DecodeTriggerID(CString name)void CAIScriptFile::DecompileAction(CAIAction action, CGameObject* pAIObj)

Continued on next page

776 Chapter 6. EE Game Classes (x86)

Page 781: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 1 – continued from previous pagevoid CAIScriptFile::DecompileInt(long num, CString constFile)void CAIScriptFile::DecompileObject(CAIObjectType object, CGameObject* pAIObj)void CAIScriptFile::DecompilePoint(CPoint point)void CAIScriptFile::DecompileResponseSet(CAIResponseSet& resSet, CGameObject* pAIObj)void CAIScriptFile::DecompileScript(CAIScript& script, CGameObject* pAIObj)void CAIScriptFile::DecompileTrigger(CAITrigger& trigger, CGameObject* pAIObj)unsigned char CAIScriptFile::DontMergeStrings(CString IDLine)CString CAIScriptFile::GetConstFile(CString parameter)CString CAIScriptFile::GetIdLine(CAIIdList& ids, CString& name)CString CAIScriptFile::GetParameter(short parNum, CString IDLine)CString CAIScriptFile::GetParameterType(CString param)void CAIScriptFile::NewConditional()void CAIScriptFile::NewResponse(short weight)void CAIScriptFile::NewResponseSet()CAIAction CAIScriptFile::ParseAction(CString line)void CAIScriptFile::ParseConditionalString(CString data)void CAIScriptFile::ParseError(CString message)long CAIScriptFile::ParseInt(CString input, CString constFile)CAIObjectType CAIScriptFile::ParseObjectAtomic(CString input)CAIObjectType CAIScriptFile::ParseObjectFunction(CString input)CAIObjectType CAIScriptFile::ParseObjectType(CString& input)short CAIScriptFile::ParseOneLine(CString line)CPoint CAIScriptFile::ParsePoint(CString input)void CAIScriptFile::ParseResponseString(CString data)short CAIScriptFile::ParseTrigger(CString line)CString CAIScriptFile::ReadAfterChar(CString line, char c)CString CAIScriptFile::ReadToChar(CString line, char c)void CAIScriptFile::SaveEntry()int CAIScriptFile::WriteDecompileText(CString text)

6.9.1 Constructors

Name DescriptionCAIScriptFile::CAIScriptFile Constructs a CAIScriptFile objectCAIScriptFile::~CAIScriptFile Destroys a CAIScriptFile object

CAIScriptFile::CAIScriptFile

Constructs a CAIScriptFile object

void CAIScriptFile::CAIScriptFile();

Remarks

Constructs a CAIScriptFile object

6.9. CAIScriptFile Class 777

Page 782: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::~CAIScriptFile

Destroys the CAIScriptFile object

void CAIScriptFile::~CAIScriptFile();;

Remarks

Destroys the CAIScriptFile object

6.9.2 Methods

Name DescriptionCAIScriptFile::Clear Clear the contents of a script fileCAIScriptFile::DecodeActionID Decodes and returns an action id name for the name specifiedCAIScriptFile::DecodeActionType Decodes and returns an action type name for the line specifiedCAIScriptFile::DecodeSpecialCase Decodes a special caseCAIScriptFile::DecodeTriggerID Decodes and returns an trigger id name for the name specifiedCAIScriptFile::DecompileAction Decompile an actionCAIScriptFile::DecompileIntCAIScriptFile::DecompileObject Decompile an objectCAIScriptFile::DecompilePoint Decompile an x and y point coordinateCAIScriptFile::DecompileResponseSet Decompile a response setCAIScriptFile::DecompileScript Decompile a scriptCAIScriptFile::DecompileTrigger Decompile a triggerCAIScriptFile::DontMergeStringsCAIScriptFile::GetConstFileCAIScriptFile::GetIdLineCAIScriptFile::GetParameter Returns a parameter from a line in a scriptCAIScriptFile::GetParameterType Returns a parameter type from the specified parameter nameCAIScriptFile::NewConditional Creates a new conditionCAIScriptFile::NewResponse Create a new responseCAIScriptFile::NewResponseSet Create a new response setCAIScriptFile::ParseAction Parse a line in a script file for an actionCAIScriptFile::ParseConditionalString Parse a string that contains a conditionalCAIScriptFile::ParseError Parse an error message for a script fileCAIScriptFile::ParseInt Parse a script file and returns an integer from the inputCAIScriptFile::ParseObjectAtomic Parse input for an atomic object and return a CAIObjectType objectCAIScriptFile::ParseObjectFunction Parse input for an object function and return a CAIObjectType objectCAIScriptFile::ParseObjectType Parse input for an object type and return a CAIObjectType objectCAIScriptFile::ParseOneLine Parse a single lineCAIScriptFile::ParsePointCAIScriptFile::ParseResponseString Parse a string containing response dataCAIScriptFile::ParseTrigger Parse a string line containing a triggerCAIScriptFile::ReadAfterChar Read a script line for a specific character and return the rest after that characterCAIScriptFile::ReadToChar Read a script line up to a specific character and return the portion before thatCAIScriptFile::SaveEntry Save entry to a script fileCAIScriptFile::WriteDecompileText Write decompiled text to a script

778 Chapter 6. EE Game Classes (x86)

Page 783: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::Clear

Clear the contents of a script file

void CAIScriptFile::Clear();

Remarks

CAIScriptFile::DecodeActionID

Decodes and returns an action id name for the name specified

short CAIScriptFile::DecodeActionID(CString name);

Parameters

• CString name - action name

Return Value

Returns a short value representing the action id for the name specified

Remarks

CAIScriptFile::DecodeActionType

Decodes and returns an action type name for the line specified

short CAIScriptFile::DecodeActionType(CString IDLine,long& paramCount);

Parameters

• CString IDLine - line identifier

• long& paramCount - count of parameters

Return Value

Returns a short value representing the action type

Remarks

CAIScriptFile::DecodeSpecialCase

Decodes a special case

unsigned char CAIScriptFile::DecodeSpecialCase(CString name);

Parameters

• CString name - special case name

6.9. CAIScriptFile Class 779

Page 784: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

unsigned char

Remarks

CAIScriptFile::DecodeTriggerID

Decodes and returns an trigger id name for the name specified

short CAIScriptFile::DecodeTriggerID(CString name);

Parameters

• CString name - trigger name

Return Value

Returns a short value representing the trigger id for the name specified

Remarks

CAIScriptFile::DecompileAction

Decompile an action

void CAIScriptFile::DecompileAction(CAIAction action,CGameObject* pAIObj);

Parameters

• CAIAction action - the action to decompile

• CGameObject* pAIObj - pointer to game object

Remarks

CAIScriptFile::DecompileInt

void CAIScriptFile::DecompileInt(long num,CString constFile);

Parameters

• long num -

• CString constFile - string containing filename to decompile

Remarks

780 Chapter 6. EE Game Classes (x86)

Page 785: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::DecompileObject

Decompile a CAIObjectType object

void CAIScriptFile::DecompileObject(CAIObjectType object,CGameObject* pAIObj);

Parameters

• CAIObjectType object - object to decompile

• CGameObject* pAIObj - pointer to game object

Remarks

CAIScriptFile::DecompilePoint

Decompile an x and y point coordinate

void CAIScriptFile::DecompilePoint(CPoint point);

Parameters

• CPoint point - x, y coordinate to decompile

Remarks

CAIScriptFile::DecompileResponseSet

Decompile a response set

void CAIScriptFile::DecompileResponseSet(CAIResponseSet& resSet,CGameObject* pAIObj);

Parameters

• CAIResponseSet& resSet - address of response set to decompile

• CGameObject* pAIObj -*pointer to game object

Remarks

CAIScriptFile::DecompileScript

Decompile a script

void CAIScriptFile::DecompileScript(CAIScript& script,CGameObject* pAIObj);

6.9. CAIScriptFile Class 781

Page 786: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CAIScript& script - address of script to decompile

• CGameObject* pAIObj - pointer to game object

Remarks

CAIScriptFile::DecompileTrigger

Decompile a CAITrigger trigger

void CAIScriptFile::DecompileTrigger(CAITrigger& trigger,CGameObject* pAIObj);

Parameters

• CAITrigger& trigger - address of trigger to decompile

• CGameObject* pAIObj - pointer to game object

Remarks

CAIScriptFile::DontMergeStrings

unsigned char CAIScriptFile::DontMergeStrings(CString IDLine);

Parameters

• CString IDLine - line identifier

Return Value

unsigned char

Remarks

CAIScriptFile::GetConstFile

CString CAIScriptFile::GetConstFile(CString parameter);

Parameters

• CString parameter -

Return Value

Returns a CString

Remarks

782 Chapter 6. EE Game Classes (x86)

Page 787: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::GetIdLine

CString CAIScriptFile::GetIdLine(CAIIdList& ids,CString& name);

Parameters

• CAIIdList& ids -

• CString& name -

Return Value

Returns a CString

Remarks

CAIScriptFile::GetParameter

Returns a parameter from a line in a script

CString CAIScriptFile::GetParameter(short parNum,CString IDLine);

Parameters

• short parNum - parameter number to fetch

• CString IDLine - line identifier

Return Value

Returns a CString

Remarks

CAIScriptFile::GetParameterType

Returns a parameter type from the specified parameter name

CString CAIScriptFile::GetParameterType(CString param);

Parameters

• CString param - name of the parameter to return the type for

Return Value

Returns a CString

Remarks

6.9. CAIScriptFile Class 783

Page 788: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::NewConditional

Creates a new condition

void CAIScriptFile::NewConditional();

Remarks

CAIScriptFile::NewResponse

Create a new response

void CAIScriptFile::NewResponse(short weight);

Parameters

• short weight -

Remarks

CAIScriptFile::NewResponseSet

Create a new response set

void CAIScriptFile::NewResponseSet();

Remarks

CAIScriptFile::ParseAction

Parse a line in a script file for an action

CAIAction CAIScriptFile::ParseAction(CString line);

Parameters

• CString line - the line number of the script to parse for an action

Return Value

Returns a CAIAction

Remarks

CAIScriptFile::ParseConditionalString

Parse a string that contains a conditional

784 Chapter 6. EE Game Classes (x86)

Page 789: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CAIScriptFile::ParseConditionalString(CString data);

Parameters

• CString data - string containing the conditional to parse

Remarks

CAIScriptFile::ParseError

Parse an error message for a script file

void CAIScriptFile::ParseError(CString message);

Parameters

• CString message - the error message to parse

Remarks

CAIScriptFile::ParseInt

Parse a script file and returns an integer from the input

long CAIScriptFile::ParseInt(CString input,CString constFile);

Parameters

• CString input - string containing input to parse

• CString constFile - string containing script filename to parse an integer for

Return Value

Returns a long value

Remarks

CAIScriptFile::ParseObjectAtomic

Parse input for an atomic object and return a CAIObjectType

CAIObjectType CAIScriptFile::ParseObjectAtomic(CString input);

Parameters

• CString input - string containing input to parse

Return Value

Returns a CAIObjectType

Remarks

6.9. CAIScriptFile Class 785

Page 790: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::ParseObjectFunction

Parse input for an object function and return a CAIObjectType

CAIObjectType CAIScriptFile::ParseObjectFunction(CString input);

Parameters

• CString input - string containing input to parse

Return Value

Returns a CAIObjectType

Remarks

CAIScriptFile::ParseObjectType

Parse input for an object type and return a CAIObjectType

CAIObjectType CAIScriptFile::ParseObjectType(CString& input);

Parameters

• CString& input - address of string containing input to parse

Return Value

Returns a CAIObjectType

Remarks

CAIScriptFile::ParseOneLine

Parse a single line

short CAIScriptFile::ParseOneLine(CString line);

Parameters

• CString line - string containing line to parse

Return Value

Returns a short value

Remarks

786 Chapter 6. EE Game Classes (x86)

Page 791: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIScriptFile::ParsePoint

CPoint CAIScriptFile::ParsePoint(CString input);

Parameters

• CString input - string containing input to parse

Return Value

Returns an x and y point coordinate as CPoint

Remarks

CAIScriptFile::ParseResponseString

Parse a string containing response data

void CAIScriptFile::ParseResponseString(CString data);

Parameters

• CString data - string containing response data to parse

Remarks

CAIScriptFile::ParseTrigger

Parse a string line containing a trigger

short CAIScriptFile::ParseTrigger(CString line);

Parameters

• CString line - string containing line that has a trigger to parse

Return Value

Returns a short value

Remarks

CAIScriptFile::ReadAfterChar

Read a script line for a specific character and return the rest of line after that character

CString CAIScriptFile::ReadAfterChar(CString line,char c);

Parameters

• CString line - string containing line to read

6.9. CAIScriptFile Class 787

Page 792: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• char c - character byte to read after

Return Value

Returns a CString

Remarks

CAIScriptFile::ReadToChar

Read a script line up to a specific character and return the portion before that

CString CAIScriptFile::ReadToChar(CString line,char c);

Parameters

• CString line - string containing line to read

• char c - character byte to read up to

Return Value

Returns a CString

Remarks

CAIScriptFile::SaveEntry

Save entry to a script file

void CAIScriptFile::SaveEntry();

Remarks

CAIScriptFile::WriteDecompileText

Write decompiled text to a script

int CAIScriptFile::WriteDecompileText(CString text);

Parameters

• CString text - string containing script text to write to script file

Return Value

Returns an int value

Remarks

788 Chapter 6. EE Game Classes (x86)

Page 793: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.10 CAITrigger Class

The structure used for this class is CAITrigger

Quick Refvoid CAITrigger::CAITrigger(CAITrigger& __that)void CAITrigger::~CAITrigger()void CAITrigger::CAITrigger(short triggerID, CAIObjectType& cause, long specific)void CAITrigger::CAITrigger(short triggerID, long specific)unsigned char CAITrigger::OfType(CAITrigger& trigger)void CAITrigger::Read(CString& sData)CAITrigger& CAITrigger::operator=(CAITrigger& __that)

6.10.1 Constructors

Name DescriptionCAITrigger::CAITrigger Constructs a CAITrigger objectCAITrigger::~CAITrigger Destroys a CAITrigger object

CAITrigger::CAITrigger

Constructs a CAITrigger object

void CAITrigger(CAITrigger& __that);

Parameters

• CAITrigger& __that -

Remarks

Constructs a CAITrigger object

CAITrigger::CAITrigger

Constructs a CAITrigger object

void CAITrigger(short triggerIDCAIObjectType& cause,long specific);

Parameters

• short triggerID -

• CAIObjectType& cause -

• long specific -

6.10. CAITrigger Class 789

Page 794: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CAITrigger object

CAITrigger::CAITrigger

Constructs a CAITrigger object

void CAITrigger(short triggerID,long specific);

Parameters

• short triggerID -

• long specific -

Remarks

Constructs a CAITrigger object

CAITrigger::~CAITrigger

Destroys the CAITrigger object

void CAITrigger::~CAITrigger();

Remarks

Destroys the CAITrigger object

6.10.2 Methods

Name DescriptionCAITrigger::OfTypeCAITrigger::Read

CAITrigger::OfType

unsigned char CAITrigger::OfType(CAITrigger& trigger);

Parameters

• CAITrigger& trigger -

Return Value

unsigned char

Remarks

790 Chapter 6. EE Game Classes (x86)

Page 795: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAITrigger::Read

void CAITrigger::Read(CString& sData);

Parameters

• CString& sData - string containing trigger data to read

Remarks

6.10.3 Operators

Name DescriptionCAITrigger::operator=

CAITrigger::operator=

CAITrigger& CAITrigger::operator=(CAITrigger& __that);

Parameters

• CAITrigger& __that -

Return Value

CAITrigger&

Remarks

6.11 CAIUtil Class

Utility class

Quick Refvirtual long __cdecl CAIUtil::CountSquares(CPoint& start, CPoint& end) = 0virtual CString __cdecl CAIUtil::ReadAfterChar(CString& line, char c) = 0virtual CString __cdecl CAIUtil::ReadBetween(CString& in, CString pattern) = 0virtual CString __cdecl CAIUtil::ReadTo(CString& in, CString pattern, int updateIn) = 0virtual CString __cdecl CAIUtil::ReadToChar(CString& line, char c) = 0virtual CString __cdecl CAIUtil::RemoveAllWS(CString in) = 0virtual long __cdecl CAIUtil::RangeSquared(CPoint start, CPoint end) = 0

6.11. CAIUtil Class 791

Page 796: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.11.1 Methods

Name DescriptionCAIUtil::CountSquares Count all squares in the specified pointsCAIUtil::ReadAfterChar Reads a string and returns the portion of the string after the specified characterCAIUtil::ReadBetween Reads a string and returns the portion of the string that matches the pattern specifiedCAIUtil::ReadTo Reads a string and returns the portion of the string that matches up to the patternCAIUtil::ReadToChar Reads a string and returns the portion of the string before and upto the specified charCAIUtil::RemoveAllWS Removes all whitespace characters (space, tab, line feed, carriage return) from a stringCAIUtil::RangeSquared Returns the range squared of the specified points

CAIUtil::CountSquares

Count all squares in the specified points

virtual long __cdecl CAIUtil::CountSquares(CPoint& start,CPoint& end);

Parameters

• CPoint& start - start coordinates

• CPoint& end - end coordinates

Return Value

Returns a long value representing the count of squares

Remarks

CAIUtil::ReadAfterChar

Read a string and returns the portion of the string after the specified character

virtual CString __cdecl CAIUtil::ReadAfterChar(CString& line,char c);

Parameters

• CString& line - the source string to read

• char c - the character byte to start reading the portion of the string after

Return Value

Returns a CString as the portion of the string read

Remarks

792 Chapter 6. EE Game Classes (x86)

Page 797: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CAIUtil::ReadBetween

Reads a string and returns the portion of the string that matches the pattern specified

virtual CString __cdecl CAIUtil::ReadBetween(CString& in,CString pattern);

Parameters

• CString& in - the source string to read

• CString pattern - the string pattern to match

Return Value

CString

Remarks

CAIUtil::ReadTo

Reads a string and returns the portion of the string that matches up to the pattern specified

virtual CString __cdecl CAIUtil::ReadTo(CString& in,CString pattern,int updateIn);

Parameters

• CString& in - the source string to read

• CString pattern - the string pattern to match

• int updateIn -

Return Value

CString

Remarks

CAIUtil::ReadToChar

Reads a string and returns the portion of the string before and upto the specified character

virtual CString __cdecl CAIUtil::ReadToChar(CString& line,char c);

Parameters

• CString& line - the source string to read

• char c - the character byte to start reading the portion of the string before and upto

6.11. CAIUtil Class 793

Page 798: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns a CString as the portion of the string read

Remarks

CAIUtil::RemoveAllWS

Removes all whitespace characters (space, tab, line feed, carriage return) from a string

virtual CString __cdecl CAIUtil::RemoveAllWS(CString in);

Parameters

• CString in - the source string to strip of whitespace

Return Value

Returns a CString which has all the whitespace characters removed

Remarks

CAIUtil::RangeSquared

Returns the range squared of the specified points

virtual long __cdecl CAIUtil::RangeSquared(CPoint start,CPoint end);

Parameters

• CPoint start - start coordinate for range

• CPoint end - end coordinates for range

Return Value

Returns a long value

Remarks

6.12 CBaldurChitin Class

• Overview

• Quick Reference

• Constructors

• Methods

794 Chapter 6. EE Game Classes (x86)

Page 799: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.12.1 Overview

The structure used for this class is CBaldurChitin

6.12.2 Quick Reference

Quick Refvoid CBaldurChitin::CBaldurChitin(int argc, char** argv)void CBaldurChitin::~CBaldurChitin()void CBaldurChitin::AddPlayedMovie(CResRef & cResMovie)virtual CRes* CBaldurChitin::AllocResObject(int nType)virtual void CBaldurChitin::AsynchronousUpdate(unsigned int uTimerID, unsigned int uMsg, unsigned long dwUser, unsigned long dw1, unsigned long dw2)virtual void CBaldurChitin::BroadcastMultiplayerProgressBarInfo()void CBaldurChitin::CheckGUISong()virtual int CBaldurChitin::ConfirmQuit()virtual unsigned char CBaldurChitin::CutsceneModeActive()virtual int CBaldurChitin::FontRectOutline()virtual int CBaldurChitin::GetEAXActive()virtual void CBaldurChitin::GetGameSpyCode(CString& sGameSpyCode)virtual void CBaldurChitin::GetGameSpyGameName(CString& sGameSpyName)virtual CString& CBaldurChitin::GetIconRes()virtual unsigned long CBaldurChitin::GetIDSBadDeskTopBitDepth()virtual unsigned long CBaldurChitin::GetIDSChoosePixelFormat()virtual unsigned long CBaldurChitin::GetIDSExclusiveMode()virtual unsigned long CBaldurChitin::GetIDSInvalidVideoMode()virtual unsigned long CBaldurChitin::GetIDSOpenGLDll()virtual unsigned long CBaldurChitin::GetIDSSetGameBitDepth()virtual unsigned long CBaldurChitin::GetIDSSetGameResolution()virtual unsigned long CBaldurChitin::GetIDSSetPixelFormat()virtual unsigned long CBaldurChitin::GetIDSWindowsFonts()virtual const char* CBaldurChitin::GetKeyFileName()virtual long CBaldurChitin::GetMovieVolume()virtual unsigned short CBaldurChitin::GetMultiplayerDirectPlayPort()virtual unsigned short CBaldurChitin::GetMultiplayerGameSpyPort()virtual unsigned char CBaldurChitin::GetNumberSoundChannels()virtual void CBaldurChitin::GetPanicCDStrings(CString& sMediaRemoved, CString& sPlaceCD, CString& sInDrive)CStringList* CBaldurChitin::GetPlayedMovies()virtual void CBaldurChitin::GetScreenShotFilePrefix(CString& szGameFileName)virtual unsigned char CBaldurChitin::GetSoundEnvironment(CString stAreaRef, unsigned long& dwEnvironment, float& fDamping, float& fDecay, float& fVolume, float& fReverbLevel)void CBaldurChitin::Init()virtual int CBaldurChitin::Is3DSound(int nChannel)void CBaldurChitin::LoadDialogFiles()virtual void CBaldurChitin::LoadOptions()virtual void __cdecl CBaldurChitin::Log(const char* format, . . . ) = 0virtual int CBaldurChitin::MessageCallback(unsigned char* pData, unsigned long dwSize)virtual void CBaldurChitin::OnMixerInitialize()virtual void CBaldurChitin::OnMultiplayerPlayerJoin(int playerID, CString& sPlayerName)virtual void CBaldurChitin::OnMultiplayerPlayerLeave(int playerID, CString& sPlayerName)

Continued on next page

6.12. CBaldurChitin Class 795

Page 800: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 3 – continued from previous pagevirtual void CBaldurChitin::OnMultiplayerPlayerVisible(int playerID)virtual void CBaldurChitin::OnMultiplayerSessionClose()virtual void CBaldurChitin::OnMultiplayerSessionOpen(CString& sJoinedGame, CString& sDroppedGame, CString& sLeftGame)virtual void CBaldurChitin::OnMultiplayerSessionToClose()virtual void CBaldurChitin::PreLoadFonts()void CBaldurChitin::SaveOptions()virtual void CBaldurChitin::SetProgressBar(unsigned char bEnabled, long nProgressBarCaption, int nBytesCopied, int nTotalBytes, unsigned char bTravel, long nParchmentCaption, unsigned char bWaiting, long nWaitingReason, unsigned char bDisplayMinibars, unsigned char bTimeoutCounter, unsigned long nSecondsToTimeout)virtual void CBaldurChitin::SetProgressBarActivateEngine(int bValue)virtual void CBaldurChitin::SetSoundVolumes()virtual void CBaldurChitin::SetupPanels()virtual void CBaldurChitin::ShutDown(int nLineNumber, char* szFileName, const char* text)virtual void CBaldurChitin::SynchronousUpdate()virtual void CBaldurChitin::UnloadFonts()

6.12.3 Constructors

Name DescriptionCBaldurChitin::CBaldurChitin Constructs a CBaldurChitin objectCBaldurChitin::~CBaldurChitin Destroys a CBaldurChitin object

CBaldurChitin::CBaldurChitin

Constructs a CBaldurChitin object

void CBaldurChitin::CBaldurChitin(int argc,char** argv);

Parameters

• int argc - An integer that contains the count of arguments that follow in argv

• char** argv - An array of null-terminated strings representing command-line arguments

Remarks

By convention, argv[0] is the command with which the program is invoked, argv[1] is the first command-lineargument, and so on.

Constructs a CBaldurChitin object

CBaldurChitin::~CBaldurChitin

Destroys the CBaldurChitin object

void CBaldurChitin::~CBaldurChitin()

Remarks

Destroys the CBaldurChitin object

796 Chapter 6. EE Game Classes (x86)

Page 801: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.12.4 Methods

Name DescriptionCBaldurChitin::AddPlayedMovie Add a movie to the already played listCBaldurChitin::AllocResObject Creates and allocates memory for a resourceCBaldurChitin::AsynchronousUpdateCBaldurChitin::BroadcastMultiplayerProgressBarInfo Broadcast to all connected sessions the progress bar informationCBaldurChitin::CheckGUISongCBaldurChitin::ConfirmQuit Displays a prompt to confirm if players wishes to quit, save before quit, etcCBaldurChitin::CutsceneModeActive Determines if the cutscene mode is active or not (for dreams etc)CBaldurChitin::FontRectOutlineCBaldurChitin::GetEAXActive Determines if the EAX sound feature is active or notCBaldurChitin::GetGameSpyCode Gets the game spy codeCBaldurChitin::GetGameSpyGameName Gets the game spy game nameCBaldurChitin::GetIconRes Gets default icon resolutionCBaldurChitin::GetIDSBadDeskTopBitDepthCBaldurChitin::GetIDSChoosePixelFormatCBaldurChitin::GetIDSExclusiveModeCBaldurChitin::GetIDSInvalidVideoModeCBaldurChitin::GetIDSOpenGLDllCBaldurChitin::GetIDSSetGameBitDepthCBaldurChitin::GetIDSSetGameResolutionCBaldurChitin::GetIDSSetPixelFormatCBaldurChitin::GetIDSWindowsFontsCBaldurChitin::GetKeyFileName Returns a pointer to a string containing the default key file (usually chitin.key)CBaldurChitin::GetMovieVolume Returns movie volumeCBaldurChitin::GetMultiplayerDirectPlayPort Returns port no used in DirectPlayCBaldurChitin::GetMultiplayerGameSpyPort Returns port no used in GameSpyCBaldurChitin::GetNumberSoundChannels Returns number of sound channels supported by local machineCBaldurChitin::GetPanicCDStrings Legacy function for when game was distributed on CD/DVDCBaldurChitin::GetPlayedMovies Returns a list of movies that have been playedCBaldurChitin::GetScreenShotFilePrefixCBaldurChitin::GetSoundEnvironmentCBaldurChitin::Init Initialize CBaldurChitin classCBaldurChitin::Is3DSound* Returns if 3D sound is supported on local machineCBaldurChitin::LoadDialogFiles Load dialog filesCBaldurChitin::LoadOptions Load optionsCBaldurChitin::Log Output text to a log, similar to printf and uses variable no of argumentsCBaldurChitin::MessageCallbackCBaldurChitin::OnMixerInitializeCBaldurChitin::OnMultiplayerPlayerJoin Event action when a player joins a multiplayer game sessionCBaldurChitin::OnMultiplayerPlayerLeave Event action when a player leaves a multiplayer game sessionCBaldurChitin::OnMultiplayerPlayerVisible Event action when a player in a multiplayer game session becomes visible to othersCBaldurChitin::OnMultiplayerSessionClose Event action when a multiplayer game session closesCBaldurChitin::OnMultiplayerSessionOpen Event action when a multiplayer game session opensCBaldurChitin::OnMultiplayerSessionToClose Event action when a multiplayer game session is about to closeCBaldurChitin::PreLoadFonts Preload fonts for gameCBaldurChitin::SaveOptions Save optionsCBaldurChitin::SetProgressBar Set progress bar on screenCBaldurChitin::SetProgressBarActivateEngine

Continued on next page

6.12. CBaldurChitin Class 797

Page 802: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 4 – continued from previous pageCBaldurChitin::SetSoundVolumesCBaldurChitin::SetupPanelsCBaldurChitin::ShutDownCBaldurChitin::SynchronousUpdateCBaldurChitin::UnloadFonts Unload fonts previously loaded by game engine, typically when game is closing

CBaldurChitin::AddPlayedMovie

Add a movie to the already played list

void CBaldurChitin::AddPlayedMovie(CResRef& cResMovie);

Parameters

• CResRef & cResMovie - resource reference of movie to add to played list

Remarks

CBaldurChitin::AllocResObject

Creates and allocates memory for a resource

virtual CRes* CBaldurChitin::AllocResObject(int nType);

Parameters

• int nType - type of resource to create

Return Value

Returns a CRes object

Remarks

CBaldurChitin::AsynchronousUpdate

virtual void CBaldurChitin::AsynchronousUpdate(unsigned int uTimerID,unsigned int uMsg,unsigned long dwUser,unsigned long dw1,unsigned long dw2);

Parameters

• unsigned int uTimerID -

• unsigned int uMsg -

• unsigned long dwUser -

• unsigned long dw1 -

798 Chapter 6. EE Game Classes (x86)

Page 803: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long dw2 -

Remarks

CBaldurChitin::BroadcastMultiplayerProgressBarInfo

Broadcast to all connected sessions the progress bar information

virtual void CBaldurChitin::BroadcastMultiplayerProgressBarInfo();

Remarks

CBaldurChitin::CheckGUISong

void CBaldurChitin::CheckGUISong();

Remarks

CBaldurChitin::ConfirmQuit

Displays a prompt to confirm if players wishes to quit, save before quit, etc

virtual int CBaldurChitin::ConfirmQuit();

Return Value

Returns an int

Remarks

CBaldurChitin::CutsceneModeActive

Determines if the cutscene mode is active or not (for dreams etc)

virtual unsigned char CBaldurChitin::CutsceneModeActive();

Return Value

Returns a unsigned char

Remarks

6.12. CBaldurChitin Class 799

Page 804: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::FontRectOutline

virtual int CBaldurChitin::FontRectOutline();

Return Value

Returns an int

Remarks

CBaldurChitin::GetEAXActive

Determines if the EAX sound feature is active or not

virtual int CBaldurChitin::GetEAXActive();

Return Value

Returns an int representing true 1 or false 0

Remarks

CBaldurChitin::GetGameSpyCode

Gets the game spy code

virtual void CBaldurChitin::GetGameSpyCode(CString& sGameSpyCode);

Parameters

• CString& sGameSpyCode - address of string to store the game spy code in

Remarks

CBaldurChitin::GetGameSpyGameName

Gets the game spy game name

virtual void CBaldurChitin::GetGameSpyGameName(CString& sGameSpyName);

Parameters

• CString& sGameSpyName - address of string to store the game spy name in

Remarks

CBaldurChitin::GetIconRes

Gets default icon resolution

800 Chapter 6. EE Game Classes (x86)

Page 805: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual CString& CBaldurChitin::GetIconRes();

Return Value

Returns a CString&

Remarks

CBaldurChitin::GetIDSBadDeskTopBitDepth

virtual unsigned long CBaldurChitin::GetIDSBadDeskTopBitDepth();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSChoosePixelFormat

virtual unsigned long CBaldurChitin::GetIDSChoosePixelFormat();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSExclusiveMode

virtual unsigned long CBaldurChitin::GetIDSExclusiveMode();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSInvalidVideoMode

virtual unsigned long CBaldurChitin::GetIDSInvalidVideoMode();

Return Value

Returns an unsigned long

Remarks

6.12. CBaldurChitin Class 801

Page 806: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::GetIDSOpenGLDll

virtual unsigned long CBaldurChitin::GetIDSOpenGLDll();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSSetGameBitDepth

virtual unsigned long CBaldurChitin::GetIDSSetGameBitDepth();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSSetGameResolution

virtual unsigned long CBaldurChitin::GetIDSSetGameResolution();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSSetPixelFormat

virtual unsigned long CBaldurChitin::GetIDSSetPixelFormat();

Return Value

Returns an unsigned long

Remarks

CBaldurChitin::GetIDSWindowsFonts

virtual unsigned long CBaldurChitin::GetIDSWindowsFonts();

Return Value

Returns an unsigned long

Remarks

802 Chapter 6. EE Game Classes (x86)

Page 807: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::GetKeyFileName

Returns a pointer to a string containing the default key file (usually chitin.key) for the game engine

virtual const char* CBaldurChitin::GetKeyFileName();

Return Value

Returns const char*, a pointer to a string containing key file

Remarks

CBaldurChitin::GetMovieVolume

Returns movie volume

virtual long CBaldurChitin::GetMovieVolume();

Return Value

Returns long representing movie volume

Remarks

CBaldurChitin::GetMultiplayerDirectPlayPort

Returns port no used in DirectPlay

virtual unsigned short CBaldurChitin::GetMultiplayerDirectPlayPort();

Return Value

Returns an unsigned short representing the port

Remarks

CBaldurChitin::GetMultiplayerGameSpyPort

Returns port no used in GameSpy

virtual unsigned short CBaldurChitin::GetMultiplayerGameSpyPort();

Return Value

Returns an unsigned short representing the port

Remarks

6.12. CBaldurChitin Class 803

Page 808: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::GetNumberSoundChannels

Returns number of sound channels supported by local machine

virtual unsigned char CBaldurChitin::GetNumberSoundChannels();

Return Value

Returns unsigned char

Remarks

CBaldurChitin::GetPanicCDStrings

Legacy function for when game was distributed on CD/DVD

virtual void CBaldurChitin::GetPanicCDStrings(CString& sMediaRemoved,CString& sPlaceCD,CString& sInDrive);

Parameters

• CString& sMediaRemoved - address of string to store media string

• CString& sPlaceCD - address of string to store place cd/dvd string

• CString& sInDrive - address of string to store in drive string

Remarks

CBaldurChitin::GetPlayedMovies

Returns a list of movies that have been played

CStringList* CBaldurChitin::GetPlayedMovies();

Return Value

Returns a CStringList*

Remarks

CBaldurChitin::GetScreenShotFilePrefix

virtual void CBaldurChitin::GetScreenShotFilePrefix(CString& szGameFileName);

Parameters

• CString& szGameFileName - address of string to store screenshot filename prefix to

Remarks

804 Chapter 6. EE Game Classes (x86)

Page 809: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::GetSoundEnvironment

virtual unsigned char CBaldurChitin::GetSoundEnvironment(CString stAreaRef,unsigned long& dwEnvironment,float& fDamping,float& fDecay,float& fVolume,float& fReverbLevel;

Parameters

• CString stAreaRef - string containing area resource reference

• unsigned long& dwEnvironment - address of long variable to store sound environment info

• float& fDamping - address of float variable to store sound damping value

• float& fDecay - address of float variable to store sound decay value

• float& fVolume - address of float variable to store sound volume

• float& fReverbLevel - address of float variable to store reverb level

Return Value

Returns unsigned char

Remarks

CBaldurChitin::Init

Initialize CBaldurChitin class

void CBaldurChitin::Init();

Remarks

CBaldurChitin::Is3DSound

Returns true if 3D sound is supported on local machine

virtual int CBaldurChitin::Is3DSound(int nChannel);

Parameters

• int nChannel -

Return Value

Returns an int representing true 1 or false 0

Remarks

6.12. CBaldurChitin Class 805

Page 810: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::LoadDialogFiles

Load dialog files

void CBaldurChitin::LoadDialogFiles();

Remarks

CBaldurChitin::LoadOptions

Load options

virtual void CBaldurChitin::LoadOptions();

Remarks

CBaldurChitin::Log

Output text to a log, similar to printf and uses variable no of arguments after the format string

virtual void __cdecl CBaldurChitin::Log(const char* format,...);

Parameters

• const char* format - special format string for handling other passed parameters

• . . . - * *

Remarks

CBaldurChitin::MessageCallback

virtual int CBaldurChitin::MessageCallback(unsigned char* pData,unsigned long dwSize);

Parameters

• unsigned char* pData - pointer to data to send in message callback

• unsigned long dwSize - size of message callback data

Return Value

Returns int

Remarks

806 Chapter 6. EE Game Classes (x86)

Page 811: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::OnMixerInitialize

virtual void CBaldurChitin::OnMixerInitialize();

Remarks

CBaldurChitin::OnMultiplayerPlayerJoin

Event action when a player joins a multiplayer game session

virtual void CBaldurChitin::OnMultiplayerPlayerJoin(int playerID,CString& sPlayerName);

Parameters

• int playerID - id of player joining multiplayer session

• CString& sPlayerName - address of string variable that contains player name

Remarks

CBaldurChitin::OnMultiplayerPlayerLeave

Event action when a player leaves a multiplayer game session

virtual void CBaldurChitin::OnMultiplayerPlayerLeave(int playerID,CString& sPlayerName);

Parameters

• int playerID - id of player leaving multiplayer session

• CString& sPlayerName - address of string variable that contains player name

Remarks

CBaldurChitin::OnMultiplayerPlayerVisible

Event action when a player in a multiplayer game session becomes visible to other existing players

virtual void CBaldurChitin::OnMultiplayerPlayerVisible(int playerID);

Parameters

• int playerID - id of multiplayer player

Remarks

6.12. CBaldurChitin Class 807

Page 812: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::OnMultiplayerSessionClose

Event action when a multiplayer game session closes

virtual void CBaldurChitin::OnMultiplayerSessionClose();

Remarks

CBaldurChitin::OnMultiplayerSessionOpen

Event action when a multiplayer game session opens

virtual void CBaldurChitin::OnMultiplayerSessionOpen(CString& sJoinedGame,CString& sDroppedGame,CString& sLeftGame);

Parameters

• CString& sJoinedGame - address of string containing joined game text

• CString& sDroppedGame - address of string containing dropped game text

• CString& sLeftGame - address of string containing left game text

Remarks

CBaldurChitin::OnMultiplayerSessionToClose

Event action when a multiplayer game session is about to close

virtual void CBaldurChitin::OnMultiplayerSessionToClose();

Remarks

CBaldurChitin::PreLoadFonts

Preload fonts for game

virtual void CBaldurChitin::PreLoadFonts();

Remarks

CBaldurChitin::SaveOptions

Save options

808 Chapter 6. EE Game Classes (x86)

Page 813: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CBaldurChitin::SaveOptions();

Remarks

CBaldurChitin::SetProgressBar

Set progress bar on screen

virtual void CBaldurChitin::SetProgressBar(unsigned char bEnabled,long nProgressBarCaption,int nBytesCopied,int nTotalBytes,unsigned char bTravel,long nParchmentCaption,unsigned char bWaiting,long nWaitingReason,unsigned char bDisplayMinibars,unsigned char bTimeoutCounter,unsigned long nSecondsToTimeout);

Parameters

• unsigned char bEnabled -

• long nProgressBarCaption -

• int nBytesCopied -

• int nTotalBytes -

• unsigned char bTravel -

• long nParchmentCaption -

• unsigned char bWaiting -

• long nWaitingReason -

• unsigned char bDisplayMinibars -

• unsigned char bTimeoutCounter -

• unsigned long nSecondsToTimeout -

Remarks

CBaldurChitin::SetProgressBarActivateEngine

virtual void CBaldurChitin::SetProgressBarActivateEngine(int bValue);

Parameters

• int bValue -

Remarks

6.12. CBaldurChitin Class 809

Page 814: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurChitin::SetSoundVolumes

virtual void CBaldurChitin::SetSoundVolumes();

Remarks

CBaldurChitin::SetupPanels

virtual void CBaldurChitin::SetupPanels();

Remarks

CBaldurChitin::ShutDown

virtual void CBaldurChitin::ShutDown(int nLineNumber,char* szFileName,const char* text);

Parameters

• int nLineNumber - line number that shutdown occured at

• char* szFileName - file that shutdown occured at

• const char* text - message text for shutdown reason to output to log

Remarks

CBaldurChitin::SynchronousUpdate

virtual void CBaldurChitin::SynchronousUpdate();

Remarks

CBaldurChitin::UnloadFonts

Unload fonts previously loaded by game engine, typically when game is closing.

virtual void CBaldurChitin::UnloadFonts();

Remarks

810 Chapter 6. EE Game Classes (x86)

Page 815: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.13 CBaldurEngine Class

• Overview

• Quick Reference

• Constructors

• Methods

6.13.1 Overview

Note: The CBaldurEngine class handles

The structure used for this class is CBaldurEngine

6.13.2 Quick Reference

Quick Refvoid CBaldurEngine::CBaldurEngine()virtual void CBaldurEngine::CancelEngine()virtual void CBaldurEngine::CheckEnableLeftPanel()virtual void CBaldurEngine::CheckEnablePortraits(unsigned long dwPanelId)virtual void CBaldurEngine::EnablePortrait(unsigned long dwPanelId, unsigned long dwControlId, int bEnable)virtual CString __cdecl CBaldurEngine::FetchDialogString(const unsigned long dwStrId)virtual CString __cdecl CBaldurEngine::FetchString(const unsigned long dwStrId)virtual void CBaldurEngine::GetChatEditBoxStatus(CString& sChatText, int& bInputCapture)virtual int CBaldurEngine::GetPickedCharacter()virtual int CBaldurEngine::GetSelectedCharacter()virtual bool CBaldurEngine::OnEvent(SDL_Event* e)void CBaldurEngine::OnLeftPanelButtonClick(unsigned long dwButtonId)virtual void CBaldurEngine::OnLowMemory()virtual void CBaldurEngine::OnPortraitLClick(unsigned long id)virtual void CBaldurEngine::OnPortraitLDblClick(unsigned long __formal)virtual void CBaldurEngine::OnRestButtonClick()void CBaldurEngine::PlayGUISound(CResRef & cResSound)virtual void CBaldurEngine::RenderUI()virtual void CBaldurEngine::RequestPause()virtual void CBaldurEngine::SelectEngine(CWarp* pWarp)virtual void CBaldurEngine::SetChatEditBoxStatus(CString& sChatText, int bInputCapture)virtual void CBaldurEngine::SetPickedCharacter(int nPickedCharacter)virtual void CBaldurEngine::SetSelectedCharacter(int nNewSelectedCharacter)virtual void __cdecl CBaldurEngine::SetupFullKeyboardInput(CKeyInfo* keys, int* flags, int keyCount)virtual void __cdecl CBaldurEngine::SetupSmallKeyboardInput(CKeyInfo* keys, int* flags, int keyCount)virtual int CBaldurEngine::StopMusic()virtual void CBaldurEngine::TimerUpdate()

Continued on next page

6.13. CBaldurEngine Class 811

Page 816: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 5 – continued from previous pagevirtual void CBaldurEngine::UpdateCharacterStatus(long nCharacterId)virtual void CBaldurEngine::UpdateContainerStatus(long __formal)virtual void CBaldurEngine::UpdateCursorShape(unsigned char nCursor)virtual void CBaldurEngine::UpdateGroundItems()virtual void CBaldurEngine::UpdatePartyGoldStatus()virtual void CBaldurEngine::UpdatePersonalItemStatus(long __formal)

6.13.3 Constructors

Name DescriptionCBaldurEngine::CBaldurEngine Constructs a CBaldurEngine object

CBaldurEngine::CBaldurEngine

Constructs a CBaldurEngine object

void CBaldurEngine::CBaldurEngine();

Remarks

Constructs a CBaldurEngine object

6.13.4 Methods

Name DescriptionCBaldurEngine::CancelEngineCBaldurEngine::CheckEnableLeftPanelCBaldurEngine::CheckEnablePortraitsCBaldurEngine::EnablePortraitCBaldurEngine::FetchDialogStringCBaldurEngine::FetchStringCBaldurEngine::GetChatEditBoxStatusCBaldurEngine::GetPickedCharacterCBaldurEngine::GetSelectedCharacterCBaldurEngine::OnEventCBaldurEngine::OnLeftPanelButtonClickCBaldurEngine::OnLowMemoryCBaldurEngine::OnPortraitLClickCBaldurEngine::OnPortraitLDblClickCBaldurEngine::OnRestButtonClickCBaldurEngine::PlayGUISoundCBaldurEngine::RenderUICBaldurEngine::RequestPauseCBaldurEngine::SelectEngineCBaldurEngine::SetChatEditBoxStatus

Continued on next page

812 Chapter 6. EE Game Classes (x86)

Page 817: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 6 – continued from previous pageCBaldurEngine::SetPickedCharacterCBaldurEngine::SetSelectedCharacterCBaldurEngine::SetupFullKeyboardInputCBaldurEngine::SetupSmallKeyboardInputCBaldurEngine::StopMusicCBaldurEngine::TimerUpdateCBaldurEngine::UpdateCharacterStatusCBaldurEngine::UpdateContainerStatusCBaldurEngine::UpdateCursorShapeCBaldurEngine::UpdateGroundItemsCBaldurEngine::UpdatePartyGoldStatusCBaldurEngine::UpdatePersonalItemStatus

CBaldurEngine::CancelEngine

virtual void CBaldurEngine::CancelEngine();

Remarks

CBaldurEngine::CheckEnableLeftPanel

virtual void CBaldurEngine::CheckEnableLeftPanel();

Remarks

CBaldurEngine::CheckEnablePortraits

virtual void CBaldurEngine::CheckEnablePortraits(unsigned long dwPanelId);

Parameters

• unsigned long dwPanelId -

Remarks

CBaldurEngine::EnablePortrait

virtual void CBaldurEngine::EnablePortrait(unsigned long dwPanelId,unsigned long dwControlId,int bEnable);

Parameters

• unsigned long dwPanelId -

6.13. CBaldurEngine Class 813

Page 818: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long dwControlId -

• int bEnable -

Remarks

CBaldurEngine::FetchDialogString

virtual CString __cdecl CBaldurEngine::FetchDialogString(const unsigned long dwStrId);

Parameters

• const unsigned long dwStrId -

Return Value

Returns CString

Remarks

CBaldurEngine::FetchString

virtual CString __cdecl CBaldurEngine::FetchString(const unsigned long dwStrId);

Parameters

• const unsigned long dwStrId -

Return Value

Returns CString

Remarks

CBaldurEngine::GetChatEditBoxStatus

virtual void CBaldurEngine::GetChatEditBoxStatus(CString& sChatText,int& bInputCapture);

Parameters

• CString& sChatText -

• int& bInputCapture -

Remarks

CBaldurEngine::GetPickedCharacter

814 Chapter 6. EE Game Classes (x86)

Page 819: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual int CBaldurEngine::GetPickedCharacter();

Return Value

Returns int

Remarks

CBaldurEngine::GetSelectedCharacter

virtual int CBaldurEngine::GetSelectedCharacter();

Return Value

Returns int

Remarks

CBaldurEngine::OnEvent

virtual bool CBaldurEngine::OnEvent(SDL_Event* e);

Parameters

• SDL_Event* e -

Return Value

Returns bool

Remarks

CBaldurEngine::OnLeftPanelButtonClick

void CBaldurEngine::OnLeftPanelButtonClick(unsigned long dwButtonId);

Parameters

• unsigned long dwButtonId -

Remarks

CBaldurEngine::OnLowMemory

virtual void CBaldurEngine::OnLowMemory();

Remarks

6.13. CBaldurEngine Class 815

Page 820: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurEngine::OnPortraitLClick

virtual void CBaldurEngine::OnPortraitLClick((unsigned long id);

Parameters

• unsigned long id -

Remarks

CBaldurEngine::OnPortraitLDblClick

virtual void CBaldurEngine::OnPortraitLDblClick(unsigned long __formal);

Parameters

• unsigned long __formal -

Remarks

CBaldurEngine::OnRestButtonClick

virtual void CBaldurEngine::OnRestButtonClick();

Remarks

CBaldurEngine::PlayGUISound

void CBaldurEngine::PlayGUISound(CResRef& cResSound);

Parameters

• CResRef & cResSound - resource reference of sound to play

Remarks

CBaldurEngine::RenderUI

virtual void CBaldurEngine::RenderUI();

Remarks

CBaldurEngine::RequestPause

816 Chapter 6. EE Game Classes (x86)

Page 821: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CBaldurEngine::RequestPause();

Remarks

CBaldurEngine::SelectEngine

virtual void CBaldurEngine::SelectEngine(CWarp* pWarp);

Parameters

• CWarp* pWarp -

Remarks

CBaldurEngine::SetChatEditBoxStatus

virtual void CBaldurEngine::SetChatEditBoxStatus(CString& sChatText,int bInputCapture);

Parameters

• CString& sChatText -

• int bInputCapture -

Remarks

CBaldurEngine::SetPickedCharacter

virtual void CBaldurEngine::SetPickedCharacter(int nPickedCharacter);

Parameters

• int nPickedCharacter -

Remarks

CBaldurEngine::SetSelectedCharacter

virtual void CBaldurEngine::SetSelectedCharacter(int nNewSelectedCharacter);

Parameters

• int nNewSelectedCharacter -

Remarks

6.13. CBaldurEngine Class 817

Page 822: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurEngine::SetupFullKeyboardInput

virtual void __cdecl CBaldurEngine::SetupFullKeyboardInput(CKeyInfo* keys,int* flags,int keyCount);

Parameters

• CKeyInfo* keys -

• int* flags -

• int keyCount -

Remarks

CBaldurEngine::SetupSmallKeyboardInput

virtual void __cdecl CBaldurEngine::SetupSmallKeyboardInput(CKeyInfo* keys,int* flags,int keyCount);

Parameters

• CKeyInfo* keys -

• int* flags -

• int keyCount -

Remarks

CBaldurEngine::StopMusic

virtual int CBaldurEngine::StopMusic();

Return Value

Returns int

Remarks

CBaldurEngine::TimerUpdate

virtual void CBaldurEngine::TimerUpdate();

Remarks

818 Chapter 6. EE Game Classes (x86)

Page 823: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurEngine::UpdateCharacterStatus

virtual void CBaldurEngine::UpdateCharacterStatus(long nCharacterId);

Parameters

• long nCharacterId -

Remarks

CBaldurEngine::UpdateContainerStatus

virtual void CBaldurEngine::UpdateContainerStatus(long nCharacterId);

Parameters

• long nCharacterId -

Remarks

CBaldurEngine::UpdateContainerStatus

virtual void CBaldurEngine::UpdateContainerStatus(long __formal);

Parameters

• long __formal -

Remarks

CBaldurEngine::UpdateCursorShape

virtual void CBaldurEngine::UpdateCursorShape(unsigned char nCursor);

Parameters

• unsigned char nCursor -

Remarks

CBaldurEngine::UpdateGroundItems

virtual void CBaldurEngine::UpdateGroundItems();

Remarks

6.13. CBaldurEngine Class 819

Page 824: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurEngine::UpdatePartyGoldStatus

virtual void CBaldurEngine::UpdatePartyGoldStatus();

Remarks

CBaldurEngine::UpdatePersonalItemStatus

virtual void CBaldurEngine::UpdatePersonalItemStatus(long __formal);

Parameters

• long __formal -

Remarks

6.14 CBaldurMessage Class

• Overview

• Quick Reference

• Constructors

• Methods

6.14.1 Overview

The structure used for this class is CBaldurMessage

6.14.2 Quick Reference

Quick Refvoid CBaldurMessage::CBaldurMessage()void CBaldurMessage::~CBaldurMessage()int CBaldurMessage::AddDroppedPlayer(int playerID)unsigned char CBaldurMessage::AnnounceAreaMapANote(CString area, unsigned short startX, unsigned short startY, CString szNote, unsigned long dwFlags, unsigned long strRef)unsigned char CBaldurMessage::AnnounceAreaMapNote(CString area, unsigned short startX, unsigned short startY, CString szNote, unsigned long dwFlags, unsigned long strRef)unsigned char CBaldurMessage::AnnounceBiography(unsigned char nFixedPartyId, CString szBio)unsigned char CBaldurMessage::AnnounceJournalDeleteEntry(unsigned long strText)unsigned char CBaldurMessage::AnnounceJournalEntry(unsigned long strText, int nChapter, long nTime, unsigned short nType)unsigned char CBaldurMessage::AnnounceJournalEntryChange(CString szText, unsigned char nCharacter, int nChapter, unsigned long nIndex)unsigned char CBaldurMessage::AnnounceJournalSetQuestDone(unsigned long strText)unsigned char CBaldurMessage::AnnounceJournalUserEntry(CString szText, unsigned char nCharacter, int nChapter, long nTime, unsigned long nIndex, unsigned short nType, unsigned long strRef)void CBaldurMessage::BroadcastDemandCharacterSlotReply(unsigned char bUpdateAllCharacters, int nUpdatedCharacterSlot, unsigned char bProgressBarInPlace)

Continued on next page

820 Chapter 6. EE Game Classes (x86)

Page 825: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pagevoid CBaldurMessage::BroadcastUpdateCharacterSlot(unsigned char bUpdateAllCharacters, int nUpdatedCharacterSlot, unsigned char bProgressBarInPlace)unsigned char CBaldurMessage::CancelCloseSessionPoll()unsigned char CBaldurMessage::CancelDeleteAreaPoll()unsigned char CBaldurMessage::CancelDialogRequestToServer()unsigned char CBaldurMessage::ChapterAnnounceStatus(unsigned char newChapter, CResRef cResRef)unsigned char CBaldurMessage::CharacterPartyOrderAnnounce()unsigned char CBaldurMessage::CharacterPartyOrderRequest()unsigned char CBaldurMessage::CharacterPartyRemovePickPanel(unsigned char bPauseStatus)void CBaldurMessage::CleanLeaveAreaLuaRequest()void CBaldurMessage::CleanLeaveAreaNameRequest()unsigned char CBaldurMessage::CloseSessionBallotComplete()unsigned char CBaldurMessage::CloseSessionCloseSession(unsigned char bVoteResult)unsigned char CBaldurMessage::CloseSessionReturnBallot(unsigned char bVote)unsigned char CBaldurMessage::CloseSessionStartPoll(unsigned char bResendBallot)unsigned char CBaldurMessage::DeleteAreaBallotComplete()unsigned char CBaldurMessage::DeleteAreaBallotResult()unsigned char CBaldurMessage::DeleteAreaDeleteArea(CString sAreaToDelete, unsigned char bVoteResult)unsigned char CBaldurMessage::DeleteAreaReturnBallot(CString sArea, unsigned char bVote)unsigned char CBaldurMessage::DeleteAreaStartPoll(CString sAreaToDelete, unsigned char bResendBallot)unsigned char CBaldurMessage::DemandCharacterSlot(short nCharacterSlot, unsigned char bDemandFromHost, short nPlayerSlot)unsigned char CBaldurMessage::DemandCharacterSlotReply(CString& sSendTo, short nCharacterSlot, unsigned char bSendCharInfo)unsigned char CBaldurMessage::DemandResourceFromServer(CString& sResName, unsigned int nType, unsigned char bSendMessage, unsigned char bWaitForMessage, unsigned char bSaveToTemp)unsigned char CBaldurMessage::DemandSettingsNightmareMode(bool waitForIt)unsigned char CBaldurMessage::DialogRequestKillOrUse()void CBaldurMessage::HandleBlockingMessages()unsigned char CBaldurMessage::KickOutWaitingForSignal(unsigned char signalType, unsigned char signalToWaitFor)int CBaldurMessage::KickPlayerRequest(CString& sPlayerName)void CBaldurMessage::KickPlayerServerSupport(CString& sPlayerName)unsigned char CBaldurMessage::MovieAnnounceStatus(CResRef cResMovie)unsigned char CBaldurMessage::MultiplayerSynchReply()unsigned char CBaldurMessage::MultiplayerSynchRequest()unsigned char CBaldurMessage::NonBlockingWaitForSignal(unsigned char signalType, unsigned char signalToWaitFor)int CBaldurMessage::ObjectAdd(long localObjectID, unsigned char nObjectType, unsigned char* pObjectData, unsigned long dwObjectDataSize)int CBaldurMessage::ObjectArrayDelete()int CBaldurMessage::ObjectControl()int CBaldurMessage::ObjectControlRequest(long localObjectID)int CBaldurMessage::ObjectControlSuggestion(int playerToSuggestID, long localObjectID)int CBaldurMessage::ObjectDelete(long localObjectID)int CBaldurMessage::ObjectDeleteRequest(long localObjectID)unsigned char CBaldurMessage::OnAnnounceAreaMapANote(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceAreaMapNote(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceBiography(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceJournalDeleteEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceJournalEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceJournalEntryChange(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceJournalSetQuestDone(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnAnnounceJournalUserEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCancelDialogRequestToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnChapterAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnChapterSendRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)

Continued on next page

6.14. CBaldurMessage Class 821

Page 826: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pageunsigned char CBaldurMessage::OnCharacterPartyOrderAnnounce(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCharacterPartyOrderRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCharacterPartyRemovePickPanel(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnChatMessage(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCloseSessionCloseSession(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCloseSessionReturnBallot(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnCloseSessionStartPoll(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDeleteAreaDeleteArea(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDeleteAreaReturnBallot(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDeleteAreaStartPoll(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDemandCharacterSlot(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDemandCharacterSlotReply(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDemandSettingsNightmareMode(int nMsgFrom)unsigned char CBaldurMessage::OnDialogReplyFromServer(unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDialogRequestKillOrUse(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnDialogRequestToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)int CBaldurMessage::OnKickPlayerHoofedOut(int nMsgFrom)int CBaldurMessage::OnKickPlayerRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnKickPlayerServerSupport(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaLuaAnnouncement(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaLuaPanicToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaLuaReplyFromServer(unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaLuaRequestToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaNameAnnouncement(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaNameReplyFromServer(unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnLeaveAreaNameRequestToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldAnnounceArea(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldAnnounceAreaRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldCancelRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMapWorldRevealArea(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMovieAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMovieEndCredits(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMovieRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMultiplayerSynchReply(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnMultiplayerSynchRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)int CBaldurMessage::OnObjectAdd(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectArrayDelete(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectControl(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectControlRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectControlSuggestion(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectDelete(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnObjectDeleteRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnPauseAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnPauseRequestToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnProgressBarStatus(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnReformPartyAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnReformPartyRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnRequestClientSignal(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)

Continued on next page

822 Chapter 6. EE Game Classes (x86)

Page 827: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pageunsigned char CBaldurMessage::OnResourceDemanded(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnResourceReply(unsigned char* pByteMessage, unsigned long dwSize, unsigned char bSaveToTemp)unsigned char CBaldurMessage::OnResourceSuggestLoad(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnRestAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnRestRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendAreaMapANote(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendAreaMapNote(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendBiography(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendEntryJournalChange(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendJournalDeleteEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendJournalEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendJournalSetQuestDone(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendJournalUserEntry(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSendResourceToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsArbitrationLockAllowInput(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsArbitrationLockRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsArbitrationLockStatus(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsCharacterControlSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsCharacterReadySet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsCharacterSlotStatus(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsFullDemanded(int nMsgFrom)int CBaldurMessage::OnSettingsFullSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsGoreRequirement(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsImportingOptionSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsJoinRequestOptionSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsNightmareMode(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsPermissionSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSettingsPlayerReadySet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)int CBaldurMessage::OnSettingsRestrictStoreOptionSet(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSignal(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnSwapItemReply(unsigned char* pMessage, unsigned long dwSize, CItem*& pNewItem, unsigned long& strError)unsigned char CBaldurMessage::OnSwapItemRequest(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnTextScreenAnnounceStatus(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnTextScreenCompletion(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnTextScreenSendRequest(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnTimeChangeToServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnTimeSynchBroadcast(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnUpdateCharacterSlotReply(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnUpdateDemandCharacterSlot(int nMsgFrom, unsigned char* pMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnVersionServer(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::OnWeatherBroadcast(int nMsgFrom, unsigned char* pByteMessage, unsigned long dwSize)unsigned char CBaldurMessage::PauseAnnounceStatus(unsigned char bHardPauseStatus, unsigned char bPauseStatus, int idPauser, unsigned char bVisualPause, unsigned char bForceCall, unsigned char bRequireHostUnpause)unsigned char* CBaldurMessage::PollSpecificMessageType(unsigned char nMsgType, unsigned char nMsgSubType, int& nMsgFrom, unsigned long& dwSize)int CBaldurMessage::PurgeDroppedPlayers()unsigned char CBaldurMessage::RemoveSignalsFromQueue(unsigned char signalType, unsigned char signalData)unsigned char CBaldurMessage::RequestClientSignal(unsigned char signalToSend)unsigned char CBaldurMessage::ResourceSuggestLoad(CString& sResName, unsigned int nType, unsigned long dwFlags)unsigned char CBaldurMessage::RestAnnounceStatus(unsigned char nDreamToDisplay, int nHP, unsigned char bRenting, unsigned char bMovie, int nGP)unsigned char CBaldurMessage::SendArbitrationLockAllowInput(unsigned char bStatus)unsigned char CBaldurMessage::SendArbitrationLockRequestToServer(unsigned char bLockValue)

Continued on next page

6.14. CBaldurMessage Class 823

Page 828: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pageunsigned char CBaldurMessage::SendArbitrationLockStatus(unsigned char bStatus)unsigned char CBaldurMessage::SendAreaMapANoteToServer(CString area, unsigned short startX, unsigned short startY, CString szNote, unsigned long dwFlags, unsigned long strRef)unsigned char CBaldurMessage::SendAreaMapNoteToServer(CString area, unsigned short startX, unsigned short startY, CString szNote, unsigned long dwFlags, unsigned long strRef)unsigned char CBaldurMessage::SendBiographyToServer(unsigned char nFixedPartyId, CString szBio)unsigned char CBaldurMessage::SendChapterRequestToServer(unsigned char newChapter, CResRef cResRef)int CBaldurMessage::SendCharacterControlToServer(CString& sPlayerName, int nCharacterSlot, unsigned char bFlush, unsigned char bCharacterUpdate)int CBaldurMessage::SendCharacterReadyToServer(int nCharacterSlot, unsigned char bCharacterReady)unsigned char CBaldurMessage::SendCharacterSlotStatusToServer(short nCharacterSlot, unsigned char nStatus)unsigned char CBaldurMessage::SendChatMessage(CString& sChatMessage, int nameless)unsigned char CBaldurMessage::SendDialogRequestToServer(unsigned char bTestPermission)int CBaldurMessage::SendFullSettingsToClients(CString& sPlayerName)int CBaldurMessage::SendGoreRequirementToServer(unsigned long nGore, unsigned long nGoreOption)int CBaldurMessage::SendImportingOptionToServer(unsigned char nImportingBitField)int CBaldurMessage::SendJoinRequestOptionToServer(unsigned char bListenToJoin)unsigned char CBaldurMessage::SendJournalDeleteEntryToServer(unsigned long strText)unsigned char CBaldurMessage::SendJournalEntryChangeToServer(CString szText, unsigned char nCharacter, int nChapter, unsigned long nIndex)unsigned char CBaldurMessage::SendJournalEntryToServer(unsigned long strText, int nChapter, long nTime, unsigned short nType)unsigned char CBaldurMessage::SendJournalSetQuestDoneToServer(unsigned long strText)unsigned char CBaldurMessage::SendJournalUserEntry(CString szText, unsigned char nCharacter, int nChapter, long nTime, unsigned long nIndex, unsigned short nType, unsigned long strRef)unsigned char CBaldurMessage::SendLeaveAreaLuaAnnouncement(long iSprite, CPoint ptStart, short nDirection, CString sAreaName, CString sParchment)unsigned char CBaldurMessage::SendLeaveAreaLuaPanicToServer(CPoint ptStart, short nDirection, CString sAreaName, CString sParchment)unsigned char CBaldurMessage::SendLeaveAreaLuaRequestToServer(long iSprite, CPoint ptStart, short nDirection, CString sAreaName, CString sParchment)unsigned char CBaldurMessage::SendLeaveAreaNameAnnouncement(long iSprite, long iTrigger, CString sAreaName)unsigned char CBaldurMessage::SendLeaveAreaNameRequestToServer(long iSprite, long iTrigger, CString sAreaName)unsigned char CBaldurMessage::SendMapWorldAnnounceArea(CString sAreaResRef, unsigned long nLink, CString sEntryPoint, short nFacing, unsigned char bEncounter, unsigned long nTravelTime)unsigned char CBaldurMessage::SendMapWorldAnnounceAreaRequest(CString sAreaResRef, unsigned long nLink, CString sEntryPoint, short nFacing, unsigned char bEncounter, unsigned long nTravelTime)unsigned char CBaldurMessage::SendMapWorldAnnounceStatus(unsigned char bActive, int idController, long nLeavingEdge)unsigned char CBaldurMessage::SendMapWorldCancelRequestToServer()unsigned char CBaldurMessage::SendMapWorldRequestToServer(long facingDirection)unsigned char CBaldurMessage::SendMapWorldRevealArea(CString sAreaResRef, unsigned char enable)unsigned char CBaldurMessage::SendMovieEndCreditsToServer()unsigned char CBaldurMessage::SendMovieRequestToServer(CResRef cResMovie)unsigned char CBaldurMessage::SendPauseRequestToServer(unsigned char bVisualPause, unsigned char bPauseToBeSetTo)int CBaldurMessage::SendPermissionToServer(CString& sPlayerName, int nPermission, unsigned char bValue)unsigned char CBaldurMessage::SendPlayerReadyToServer(int idPlayer, unsigned char bValue)unsigned char CBaldurMessage::SendProgressBarStatus(long nActionProgress, long nActionTarget, unsigned char bWaiting, long nWaitingReason, unsigned char bTimeoutVisible, unsigned long nSecondsToTimeout)unsigned char CBaldurMessage::SendReformPartyAnnounceStatus()unsigned char CBaldurMessage::SendReformPartyRequestToServer()unsigned char CBaldurMessage::SendRestRequestToServer(int nHP, unsigned char bRenting, unsigned char bMovie, int nGP)int CBaldurMessage::SendRestrictStoreOptionToServer(unsigned char bRestrictStore)unsigned char CBaldurMessage::SendSettingsNightmareMode(CString& sPlayerName)unsigned char CBaldurMessage::SendSignal(unsigned char signalType, unsigned char signalToSend)unsigned char CBaldurMessage::SendTextScreenRequestToServer(CResRef cResRef)void CBaldurMessage::SetSignalDefaultSecondsToTimeout()void CBaldurMessage::SetVersionControlShutdownClientString(CString sValue)void CBaldurMessage::SetVersionControlShutdownServerString(CString sValue)unsigned char CBaldurMessage::SwapItemReply(int nSendToLocation, unsigned char bRemoteRetValue, CItem* pItem, unsigned long strError)unsigned char CBaldurMessage::SwapItemRequest(unsigned char nSwapItemType, long localObjectId, short nSlotNumber, CItem*& pNewItem, unsigned long& strError, unsigned short wCount, int bAutoStacking, int bFlexibleSlot)unsigned char CBaldurMessage::TextScreenAnnounceStatus(CResRef cResRef)unsigned char CBaldurMessage::TextScreenCompletion()

Continued on next page

824 Chapter 6. EE Game Classes (x86)

Page 829: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 7 – continued from previous pageunsigned char CBaldurMessage::TimeChangeToServer(unsigned long deltaTime)unsigned char CBaldurMessage::TimeSynchBroadcast(unsigned long nGameTime, unsigned char bCompressTime)unsigned char CBaldurMessage::UpdateCharacterSlotReply(CString& sSendTo, short nCharacterSlot, unsigned char bSendCharInfo)unsigned char CBaldurMessage::UpdateDemandCharacterSlot(short nCharacterSlot, short nPlayerSlot, unsigned char bForceClientToWorld)void CBaldurMessage::UpdateDemandCharacters(unsigned char bUpdateAllCharacters, int nUpdatedCharacterSlot, unsigned char bProgressBarInPlace, unsigned char bForceClientsToWorld)unsigned char CBaldurMessage::VersionServer(CString sPlayerName)unsigned char CBaldurMessage::WaitForSignal(unsigned char signalType, unsigned char signalToWaitFor)unsigned char CBaldurMessage::WeatherBroadcast(unsigned short wWeatherFlags)

6.14.3 Constructors

Name DescriptionCBaldurMessage::CBaldurMessage Constructs a CBaldurMessage objectCBaldurMessage::~CBaldurMessage Destroys a CBaldurMessage object

CBaldurMessage::CBaldurMessage

Constructs a CBaldurMessage object

void CBaldurMessage::CBaldurMessage();

Remarks

Constructs a CBaldurMessage object

CBaldurMessage::~CBaldurMessage

Destroys the CBaldurMessage object

void CBaldurMessage::~CBaldurMessage();

Remarks

Destroys the CBaldurMessage object

6.14.4 Methods

Name DescriptionCBaldurMessage::AddDroppedPlayerCBaldurMessage::AnnounceAreaMapANoteCBaldurMessage::AnnounceAreaMapNoteCBaldurMessage::AnnounceBiographyCBaldurMessage::AnnounceJournalDeleteEntry

Continued on next page

6.14. CBaldurMessage Class 825

Page 830: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageCBaldurMessage::AnnounceJournalEntryCBaldurMessage::AnnounceJournalEntryChangeCBaldurMessage::AnnounceJournalSetQuestDoneCBaldurMessage::AnnounceJournalUserEntryCBaldurMessage::BroadcastDemandCharacterSlotReplyCBaldurMessage::BroadcastUpdateCharacterSlotCBaldurMessage::CancelCloseSessionPollCBaldurMessage::CancelDeleteAreaPollCBaldurMessage::CancelDialogRequestToServerCBaldurMessage::ChapterAnnounceStatusCBaldurMessage::CharacterPartyOrderAnnounceCBaldurMessage::CharacterPartyOrderRequestCBaldurMessage::CharacterPartyRemovePickPanelCBaldurMessage::CleanLeaveAreaLuaRequestCBaldurMessage::CleanLeaveAreaNameRequestCBaldurMessage::CloseSessionBallotCompleteCBaldurMessage::CloseSessionCloseSessionCBaldurMessage::CloseSessionReturnBallotCBaldurMessage::CloseSessionStartPollCBaldurMessage::DeleteAreaBallotCompleteCBaldurMessage::DeleteAreaBallotResultCBaldurMessage::DeleteAreaDeleteAreaCBaldurMessage::DeleteAreaReturnBallotCBaldurMessage::DeleteAreaStartPollCBaldurMessage::DemandCharacterSlotCBaldurMessage::DemandCharacterSlotReplyCBaldurMessage::DemandResourceFromServerCBaldurMessage::DemandSettingsNightmareModeCBaldurMessage::DialogRequestKillOrUseCBaldurMessage::HandleBlockingMessagesCBaldurMessage::KickOutWaitingForSignalCBaldurMessage::KickPlayerRequestCBaldurMessage::KickPlayerServerSupportCBaldurMessage::MovieAnnounceStatusCBaldurMessage::MultiplayerSynchReplyCBaldurMessage::MultiplayerSynchRequestCBaldurMessage::NonBlockingWaitForSignalCBaldurMessage::ObjectAddCBaldurMessage::ObjectArrayDeleteCBaldurMessage::ObjectControlCBaldurMessage::ObjectControlRequestCBaldurMessage::ObjectControlSuggestionCBaldurMessage::ObjectDeleteCBaldurMessage::ObjectDeleteRequestCBaldurMessage::OnAnnounceAreaMapANoteCBaldurMessage::OnAnnounceAreaMapNoteCBaldurMessage::OnAnnounceBiographyCBaldurMessage::OnAnnounceJournalDeleteEntryCBaldurMessage::OnAnnounceJournalEntryCBaldurMessage::OnAnnounceJournalEntryChange

Continued on next page

826 Chapter 6. EE Game Classes (x86)

Page 831: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageCBaldurMessage::OnAnnounceJournalSetQuestDoneCBaldurMessage::OnAnnounceJournalUserEntryCBaldurMessage::OnCancelDialogRequestToServerCBaldurMessage::OnChapterAnnounceStatusCBaldurMessage::OnChapterSendRequestCBaldurMessage::OnCharacterPartyOrderAnnounceCBaldurMessage::OnCharacterPartyOrderRequestCBaldurMessage::OnCharacterPartyRemovePickPanelCBaldurMessage::OnChatMessageCBaldurMessage::OnCloseSessionCloseSessionCBaldurMessage::OnCloseSessionReturnBallotCBaldurMessage::OnCloseSessionStartPollCBaldurMessage::OnDeleteAreaDeleteAreaCBaldurMessage::OnDeleteAreaReturnBallotCBaldurMessage::OnDeleteAreaStartPollCBaldurMessage::OnDemandCharacterSlotCBaldurMessage::OnDemandCharacterSlotReplyCBaldurMessage::OnDemandSettingsNightmareModeCBaldurMessage::OnDialogReplyFromServerCBaldurMessage::OnDialogRequestKillOrUseCBaldurMessage::OnDialogRequestToServerCBaldurMessage::OnKickPlayerHoofedOutCBaldurMessage::OnKickPlayerRequestCBaldurMessage::OnKickPlayerServerSupportCBaldurMessage::OnLeaveAreaLuaAnnouncementCBaldurMessage::OnLeaveAreaLuaPanicToServerCBaldurMessage::OnLeaveAreaLuaReplyFromServerCBaldurMessage::OnLeaveAreaLuaRequestToServerCBaldurMessage::OnLeaveAreaNameAnnouncementCBaldurMessage::OnLeaveAreaNameReplyFromServerCBaldurMessage::OnLeaveAreaNameRequestToServerCBaldurMessage::OnMapWorldAnnounceAreaCBaldurMessage::OnMapWorldAnnounceAreaRequestCBaldurMessage::OnMapWorldAnnounceStatusCBaldurMessage::OnMapWorldCancelRequestCBaldurMessage::OnMapWorldRequestCBaldurMessage::OnMapWorldRevealAreaCBaldurMessage::OnMovieAnnounceStatusCBaldurMessage::OnMovieEndCreditsCBaldurMessage::OnMovieRequestCBaldurMessage::OnMultiplayerSynchReplyCBaldurMessage::OnMultiplayerSynchRequestCBaldurMessage::OnObjectAddCBaldurMessage::OnObjectArrayDeleteCBaldurMessage::OnObjectControlCBaldurMessage::OnObjectControlRequestCBaldurMessage::OnObjectControlSuggestionCBaldurMessage::OnObjectDeleteCBaldurMessage::OnObjectDeleteRequestCBaldurMessage::OnPauseAnnounceStatus

Continued on next page

6.14. CBaldurMessage Class 827

Page 832: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageCBaldurMessage::OnPauseRequestToServerCBaldurMessage::OnProgressBarStatusCBaldurMessage::OnReformPartyAnnounceStatusCBaldurMessage::OnReformPartyRequestCBaldurMessage::OnRequestClientSignalCBaldurMessage::OnResourceDemandedCBaldurMessage::OnResourceReplyCBaldurMessage::OnResourceSuggestLoadCBaldurMessage::OnRestAnnounceStatusCBaldurMessage::OnRestRequestCBaldurMessage::OnSendAreaMapANoteCBaldurMessage::OnSendAreaMapNoteCBaldurMessage::OnSendBiographyCBaldurMessage::OnSendEntryJournalChangeCBaldurMessage::OnSendJournalDeleteEntryCBaldurMessage::OnSendJournalEntryCBaldurMessage::OnSendJournalSetQuestDoneCBaldurMessage::OnSendJournalUserEntryCBaldurMessage::OnSendResourceToServerCBaldurMessage::OnSettingsArbitrationLockAllowInputCBaldurMessage::OnSettingsArbitrationLockRequestCBaldurMessage::OnSettingsArbitrationLockStatusCBaldurMessage::OnSettingsCharacterControlSetCBaldurMessage::OnSettingsCharacterReadySetCBaldurMessage::OnSettingsCharacterSlotStatusCBaldurMessage::OnSettingsFullDemandedCBaldurMessage::OnSettingsFullSetCBaldurMessage::OnSettingsGoreRequirementCBaldurMessage::OnSettingsImportingOptionSetCBaldurMessage::OnSettingsJoinRequestOptionSetCBaldurMessage::OnSettingsNightmareModeCBaldurMessage::OnSettingsPermissionSetCBaldurMessage::OnSettingsPlayerReadySetCBaldurMessage::OnSettingsRestrictStoreOptionSetCBaldurMessage::OnSignalCBaldurMessage::OnSwapItemReplyCBaldurMessage::OnSwapItemRequestCBaldurMessage::OnTextScreenAnnounceStatusCBaldurMessage::OnTextScreenCompletionCBaldurMessage::OnTextScreenSendRequestCBaldurMessage::OnTimeChangeToServerCBaldurMessage::OnTimeSynchBroadcastCBaldurMessage::OnUpdateCharacterSlotReplyCBaldurMessage::OnUpdateDemandCharacterSlotCBaldurMessage::OnVersionServerCBaldurMessage::OnWeatherBroadcastCBaldurMessage::PauseAnnounceStatusCBaldurMessage::PollSpecificMessageTypeCBaldurMessage::PurgeDroppedPlayersCBaldurMessage::RemoveSignalsFromQueue

Continued on next page

828 Chapter 6. EE Game Classes (x86)

Page 833: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageCBaldurMessage::RequestClientSignalCBaldurMessage::ResourceSuggestLoadCBaldurMessage::RestAnnounceStatusCBaldurMessage::SendArbitrationLockAllowInputCBaldurMessage::SendArbitrationLockRequestToServerCBaldurMessage::SendArbitrationLockStatusCBaldurMessage::SendAreaMapANoteToServerCBaldurMessage::SendAreaMapNoteToServerCBaldurMessage::SendBiographyToServerCBaldurMessage::SendChapterRequestToServerCBaldurMessage::SendCharacterControlToServerCBaldurMessage::SendCharacterReadyToServerCBaldurMessage::SendCharacterSlotStatusToServerCBaldurMessage::SendChatMessageCBaldurMessage::SendDialogRequestToServerCBaldurMessage::SendFullSettingsToClientsCBaldurMessage::SendGoreRequirementToServerCBaldurMessage::SendImportingOptionToServerCBaldurMessage::SendJoinRequestOptionToServerCBaldurMessage::SendJournalDeleteEntryToServerCBaldurMessage::SendJournalEntryChangeToServerCBaldurMessage::SendJournalEntryToServerCBaldurMessage::SendJournalSetQuestDoneToServerCBaldurMessage::SendJournalUserEntryCBaldurMessage::SendLeaveAreaLuaAnnouncementCBaldurMessage::SendLeaveAreaLuaPanicToServerCBaldurMessage::SendLeaveAreaLuaRequestToServerCBaldurMessage::SendLeaveAreaNameAnnouncementCBaldurMessage::SendLeaveAreaNameRequestToServerCBaldurMessage::SendMapWorldAnnounceAreaCBaldurMessage::SendMapWorldAnnounceAreaRequestCBaldurMessage::SendMapWorldAnnounceStatusCBaldurMessage::SendMapWorldCancelRequestToServerCBaldurMessage::SendMapWorldRequestToServerCBaldurMessage::SendMapWorldRevealAreaCBaldurMessage::SendMovieEndCreditsToServerCBaldurMessage::SendMovieRequestToServerCBaldurMessage::SendPauseRequestToServerCBaldurMessage::SendPermissionToServerCBaldurMessage::SendPlayerReadyToServerCBaldurMessage::SendProgressBarStatusCBaldurMessage::SendReformPartyAnnounceStatusCBaldurMessage::SendReformPartyRequestToServerCBaldurMessage::SendRestRequestToServerCBaldurMessage::SendRestrictStoreOptionToServerCBaldurMessage::SendSettingsNightmareModeCBaldurMessage::SendSignalCBaldurMessage::SendTextScreenRequestToServerCBaldurMessage::SetSignalDefaultSecondsToTimeoutCBaldurMessage::SetVersionControlShutdownClientString

Continued on next page

6.14. CBaldurMessage Class 829

Page 834: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 8 – continued from previous pageCBaldurMessage::SetVersionControlShutdownServerStringCBaldurMessage::SwapItemReplyCBaldurMessage::SwapItemRequestCBaldurMessage::TextScreenAnnounceStatusCBaldurMessage::TextScreenCompletionCBaldurMessage::TimeChangeToServerCBaldurMessage::TimeSynchBroadcastCBaldurMessage::UpdateCharacterSlotReplyCBaldurMessage::UpdateDemandCharacterSlotCBaldurMessage::UpdateDemandCharactersCBaldurMessage::VersionServerCBaldurMessage::WaitForSignalCBaldurMessage::WeatherBroadcast

CBaldurMessage::AddDroppedPlayer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::AnnounceAreaMapANote

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

830 Chapter 6. EE Game Classes (x86)

Page 835: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::AnnounceAreaMapNote

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::AnnounceBiography

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::AnnounceJournalDeleteEntry

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

6.14. CBaldurMessage Class 831

Page 836: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::AnnounceJournalEntry

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::AnnounceJournalEntryChange

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::AnnounceJournalSetQuestDone

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

832 Chapter 6. EE Game Classes (x86)

Page 837: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::AnnounceJournalUserEntry

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::BroadcastDemandCharacterSlotReply

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::BroadcastUpdateCharacterSlot

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

6.14. CBaldurMessage Class 833

Page 838: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::CancelCloseSessionPoll

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CancelDeleteAreaPoll

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CancelDialogRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

834 Chapter 6. EE Game Classes (x86)

Page 839: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::ChapterAnnounceStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CharacterPartyOrderAnnounce

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CharacterPartyOrderRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

6.14. CBaldurMessage Class 835

Page 840: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurMessage::CharacterPartyRemovePickPanel

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CleanLeaveAreaLuaRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CleanLeaveAreaNameRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CloseSessionBallotComplete

836 Chapter 6. EE Game Classes (x86)

Page 841: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CloseSessionCloseSession

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CloseSessionReturnBallot

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::CloseSessionStartPoll

6.14. CBaldurMessage Class 837

Page 842: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DeleteAreaBallotComplete

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DeleteAreaBallotResult

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DeleteAreaDeleteArea

838 Chapter 6. EE Game Classes (x86)

Page 843: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DeleteAreaReturnBallot

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DeleteAreaStartPoll

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DemandCharacterSlot

6.14. CBaldurMessage Class 839

Page 844: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DemandCharacterSlotReply

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DemandResourceFromServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DemandSettingsNightmareMode

840 Chapter 6. EE Game Classes (x86)

Page 845: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::DialogRequestKillOrUse

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::HandleBlockingMessages

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::KickOutWaitingForSignal

6.14. CBaldurMessage Class 841

Page 846: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::KickPlayerRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::KickPlayerServerSupport

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::MovieAnnounceStatus

842 Chapter 6. EE Game Classes (x86)

Page 847: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::MultiplayerSynchReply

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::MultiplayerSynchRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::NonBlockingWaitForSignal

6.14. CBaldurMessage Class 843

Page 848: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectAdd

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectArrayDelete

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectControl

844 Chapter 6. EE Game Classes (x86)

Page 849: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectControlRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectControlSuggestion

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectDelete

6.14. CBaldurMessage Class 845

Page 850: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::ObjectDeleteRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceAreaMapANote

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceAreaMapNote

846 Chapter 6. EE Game Classes (x86)

Page 851: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceBiography

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceJournalDeleteEntry

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceJournalEntry

6.14. CBaldurMessage Class 847

Page 852: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceJournalEntryChange

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceJournalSetQuestDone

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnAnnounceJournalUserEntry

848 Chapter 6. EE Game Classes (x86)

Page 853: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCancelDialogRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnChapterAnnounceStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnChapterSendRequest

6.14. CBaldurMessage Class 849

Page 854: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCharacterPartyOrderAnnounce

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCharacterPartyOrderRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCharacterPartyRemovePickPanel

850 Chapter 6. EE Game Classes (x86)

Page 855: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnChatMessage

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCloseSessionCloseSession

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCloseSessionReturnBallot

6.14. CBaldurMessage Class 851

Page 856: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnCloseSessionStartPoll

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDeleteAreaDeleteArea

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDeleteAreaReturnBallot

852 Chapter 6. EE Game Classes (x86)

Page 857: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDeleteAreaStartPoll

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDemandCharacterSlot

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDemandCharacterSlotReply

6.14. CBaldurMessage Class 853

Page 858: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDemandSettingsNightmareMode

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDialogReplyFromServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDialogRequestKillOrUse

854 Chapter 6. EE Game Classes (x86)

Page 859: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnDialogRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnKickPlayerHoofedOut

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnKickPlayerRequest

6.14. CBaldurMessage Class 855

Page 860: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnKickPlayerServerSupport

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaLuaAnnouncement

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaLuaPanicToServer

856 Chapter 6. EE Game Classes (x86)

Page 861: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaLuaReplyFromServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaLuaRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaNameAnnouncement

6.14. CBaldurMessage Class 857

Page 862: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaNameReplyFromServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnLeaveAreaNameRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldAnnounceArea

858 Chapter 6. EE Game Classes (x86)

Page 863: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldAnnounceAreaRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldAnnounceStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldCancelRequest

6.14. CBaldurMessage Class 859

Page 864: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMapWorldRevealArea

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMovieAnnounceStatus

860 Chapter 6. EE Game Classes (x86)

Page 865: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMovieEndCredits

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMovieRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMultiplayerSynchReply

6.14. CBaldurMessage Class 861

Page 866: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnMultiplayerSynchRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectAdd

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectArrayDelete

862 Chapter 6. EE Game Classes (x86)

Page 867: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectControl

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectControlRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectControlSuggestion

6.14. CBaldurMessage Class 863

Page 868: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectDelete

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnObjectDeleteRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnPauseAnnounceStatus

864 Chapter 6. EE Game Classes (x86)

Page 869: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnPauseRequestToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnProgressBarStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnReformPartyAnnounceStatus

6.14. CBaldurMessage Class 865

Page 870: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnReformPartyRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnRequestClientSignal

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnResourceDemanded

866 Chapter 6. EE Game Classes (x86)

Page 871: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnResourceReply

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnResourceSuggestLoad

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnRestAnnounceStatus

6.14. CBaldurMessage Class 867

Page 872: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnRestRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendAreaMapANote

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendAreaMapNote

868 Chapter 6. EE Game Classes (x86)

Page 873: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendBiography

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendEntryJournalChange

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendJournalDeleteEntry

6.14. CBaldurMessage Class 869

Page 874: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendJournalEntry

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendJournalSetQuestDone

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendJournalUserEntry

870 Chapter 6. EE Game Classes (x86)

Page 875: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSendResourceToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsArbitrationLockAllowInput

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsArbitrationLockRequest

6.14. CBaldurMessage Class 871

Page 876: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsArbitrationLockStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsCharacterControlSet

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsCharacterReadySet

872 Chapter 6. EE Game Classes (x86)

Page 877: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsCharacterSlotStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsFullDemanded

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsFullSet

6.14. CBaldurMessage Class 873

Page 878: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsGoreRequirement

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsImportingOptionSet

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsJoinRequestOptionSet

874 Chapter 6. EE Game Classes (x86)

Page 879: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsNightmareMode

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsPermissionSet

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsPlayerReadySet

6.14. CBaldurMessage Class 875

Page 880: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSettingsRestrictStoreOptionSet

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSignal

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSwapItemReply

876 Chapter 6. EE Game Classes (x86)

Page 881: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnSwapItemRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnTextScreenAnnounceStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnTextScreenCompletion

6.14. CBaldurMessage Class 877

Page 882: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnTextScreenSendRequest

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnTimeChangeToServer

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnTimeSynchBroadcast

878 Chapter 6. EE Game Classes (x86)

Page 883: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnUpdateCharacterSlotReply

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnUpdateDemandCharacterSlot

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnVersionServer

6.14. CBaldurMessage Class 879

Page 884: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::OnWeatherBroadcast

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::PauseAnnounceStatus

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::PollSpecificMessageType

880 Chapter 6. EE Game Classes (x86)

Page 885: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::PurgeDroppedPlayers

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::RemoveSignalsFromQueue

x;

Parameters

• – * ·

• – * ·

• – * ·

• – * ·

Return Value

Remarks

CBaldurMessage::RequestClientSignal

6.14. CBaldurMessage Class 881

Page 886: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::ResourceSuggestLoad

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::RestAnnounceStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendArbitrationLockAllowInput

882 Chapter 6. EE Game Classes (x86)

Page 887: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendArbitrationLockRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendArbitrationLockStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendAreaMapANoteToServer

6.14. CBaldurMessage Class 883

Page 888: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendAreaMapNoteToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendBiographyToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendChapterRequestToServer

884 Chapter 6. EE Game Classes (x86)

Page 889: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendCharacterControlToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendCharacterReadyToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendCharacterSlotStatusToServer

6.14. CBaldurMessage Class 885

Page 890: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendChatMessage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendDialogRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendFullSettingsToClients

886 Chapter 6. EE Game Classes (x86)

Page 891: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendGoreRequirementToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendImportingOptionToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJoinRequestOptionToServer

6.14. CBaldurMessage Class 887

Page 892: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJournalDeleteEntryToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJournalEntryChangeToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJournalEntryToServer

888 Chapter 6. EE Game Classes (x86)

Page 893: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJournalSetQuestDoneToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendJournalUserEntry

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendLeaveAreaLuaAnnouncement

6.14. CBaldurMessage Class 889

Page 894: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendLeaveAreaLuaPanicToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendLeaveAreaLuaRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendLeaveAreaNameAnnouncement

890 Chapter 6. EE Game Classes (x86)

Page 895: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendLeaveAreaNameRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldAnnounceArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldAnnounceAreaRequest

6.14. CBaldurMessage Class 891

Page 896: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldAnnounceStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldCancelRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldRequestToServer

892 Chapter 6. EE Game Classes (x86)

Page 897: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMapWorldRevealArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMovieEndCreditsToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendMovieRequestToServer

6.14. CBaldurMessage Class 893

Page 898: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendPauseRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendPermissionToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendPlayerReadyToServer

894 Chapter 6. EE Game Classes (x86)

Page 899: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendProgressBarStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendReformPartyAnnounceStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendReformPartyRequestToServer

6.14. CBaldurMessage Class 895

Page 900: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendRestRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendRestrictStoreOptionToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendSettingsNightmareMode

896 Chapter 6. EE Game Classes (x86)

Page 901: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendSignal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SendTextScreenRequestToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SetSignalDefaultSecondsToTimeout

6.14. CBaldurMessage Class 897

Page 902: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SetVersionControlShutdownClientString

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SetVersionControlShutdownServerString

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SwapItemReply

898 Chapter 6. EE Game Classes (x86)

Page 903: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::SwapItemRequest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::TextScreenAnnounceStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::TextScreenCompletion

6.14. CBaldurMessage Class 899

Page 904: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::TimeChangeToServer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::TimeSynchBroadcast

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::UpdateCharacterSlotReply

900 Chapter 6. EE Game Classes (x86)

Page 905: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::UpdateDemandCharacterSlot

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::UpdateDemandCharacters

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::VersionServer

6.14. CBaldurMessage Class 901

Page 906: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::WaitForSignal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CBaldurMessage::WeatherBroadcast

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

902 Chapter 6. EE Game Classes (x86)

Page 907: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.15 CBaldurProjector Class

• Overview

• Quick Reference

• Constructors

• Methods

6.15.1 Overview

Note: The CBaldurProjector class handles playing chapter movies

The structure used for this class is CBaldurProjector

6.15.2 Quick Reference

Quick Refvoid CBaldurProjector::CBaldurProjector()virtual void CBaldurProjector::~CBaldurProjector()virtual int CBaldurProjector::CheckMouseLButton()virtual void CBaldurProjector::EngineActivated()virtual void CBaldurProjector::EngineDeactivated()virtual void CBaldurProjector::EngineGameInit()virtual void CBaldurProjector::EngineGameUninit()virtual CKeyInfo* CBaldurProjector::GetVirtualKeys()virtual int* CBaldurProjector::GetVirtualKeysFlags()virtual short CBaldurProjector::GetNumVirtualKeys()virtual bool CBaldurProjector::OnEvent(SDL_Event* e)virtual void CBaldurProjector::OnKeyUp(int nKeyFlags)virtual void CBaldurProjector::OnLButtonUp(CPoint cPoint)void CBaldurProjector::PlayMovie(CResRef & cResRef)void CBaldurProjector::PlayMovieInternal(CResRef & cResRef, int bAsynchThread)void CBaldurProjector::PlayMovieNext(CResRef & cResRef)virtual int CBaldurProjector::StopMusic()virtual void CBaldurProjector::TimerAsynchronousUpdate()virtual void CBaldurProjector::TimerSynchronousUpdate()

6.15.3 Constructors

Name DescriptionCBaldurProjector::CBaldurProjector Constructs a x objectCBaldurProjector::~CBaldurProjector Destroys a x object

6.15. CBaldurProjector Class 903

Page 908: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurProjector::CBaldurProjector

Constructs a CBaldurProjector object

void CBaldurProjector::CBaldurProjector();

Remarks

Constructs a CBaldurProjector object

CBaldurProjector::~CBaldurProjector

Destroys the CBaldurProjector object

virtual void CBaldurProjector::~CBaldurProjector();

Remarks

Destroys the CBaldurProjector object

6.15.4 Methods

Name DescriptionCBaldurProjector::CheckMouseLButton Checks if left mouse button is downCBaldurProjector::EngineActivated Event signalling for when CBaldurProjector is activatedCBaldurProjector::EngineDeactivated Event signalling for when CBaldurProjector is deactivatedCBaldurProjector::EngineGameInit Initialize CBaldurProjectorCBaldurProjector::EngineGameUninit Uninitialize CBaldurProjectorCBaldurProjector::GetVirtualKeys Key press event processingCBaldurProjector::GetVirtualKeysFlags Key press event processing for key flagsCBaldurProjector::GetNumVirtualKeys Returns number of keys supported by keyboard for key event pro-

cessingCBaldurProjector::OnEvent Event handling using SDL libraryCBaldurProjector::OnKeyUp Key press event for when a key has been pressed and releasedCBaldurProjector::OnLButtonUp Mouse button event for when the left mouse has been clicked and

releasedCBaldurProjector::PlayMovie Plays the WEBM movie as specified by the resource referenceCBaldurProjector::PlayMovieInternal Plays the WEBM movie as specified by the resource referenceCBaldurProjector::PlayMovieNext Play the next movieCBaldurProjector::StopMusic Stop the movie music/sound/voice-over curently playingCBaldurProjec-tor::TimerAsynchronousUpdate

Timer asynchronous update

CBaldurProjec-tor::TimerSynchronousUpdate

Timer synchronous update

904 Chapter 6. EE Game Classes (x86)

Page 909: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurProjector::CheckMouseLButton

Checks if left mouse button is down

virtual int CBaldurProjector::CheckMouseLButton();

Return Value

Returns an int that represents true (1) or false (0)

Remarks

CBaldurProjector::EngineActivated

Event signalling for when CBaldurProjector is activated

virtual void CBaldurProjector::EngineActivated();

Remarks

CBaldurProjector::EngineDeactivated

Event signalling for when CBaldurProjector is deactivated

virtual void CBaldurProjector::EngineDeactivated();

Remarks

CBaldurProjector::EngineGameInit

Initialize CBaldurProjector

virtual void CBaldurProjector::EngineGameInit();

Remarks

CBaldurProjector::EngineGameUninit

Uninitialize CBaldurProjector

virtual void CBaldurProjector::EngineGameUninit();

Remarks

6.15. CBaldurProjector Class 905

Page 910: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurProjector::GetVirtualKeys

Return keyCode and other information for current keypress

virtual CKeyInfo* CBaldurProjector::GetVirtualKeys();

Return Value

Returns CKeyInfo*

Remarks

CKeyInfo contains keyCode and other keyboard information: repeatCount, repeatDelay and repeatRate

CBaldurProjector::GetVirtualKeysFlags

Key press event processing for key flags

virtual int* CBaldurProjector::GetVirtualKeysFlags();

Return Value

Returns int*

Remarks

CBaldurProjector::GetNumVirtualKeys

Returns number of keys supported by keyboard for key event processing

virtual short CBaldurProjector::GetNumVirtualKeys();

Return Value

Returns a short value indicating number of keys supported

Remarks

CBaldurProjector::OnEvent

Event handling using SDL library

virtual bool CBaldurProjector::OnEvent(SDL_Event* e);

Parameters

• SDL_Event* e - SDL event

Return Value

Returns bool

Remarks

906 Chapter 6. EE Game Classes (x86)

Page 911: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBaldurProjector::OnKeyUp

Key press event for when a key has been pressed (down) and released (up)

virtual void CBaldurProjector::OnKeyUp(int nKeyFlags);

Parameters

• int nKeyFlags -

Remarks

CBaldurProjector::OnLButtonUp

Mouse button event for when the left mouse has been clicked (down) and released (up)

virtual void CBaldurProjector::OnLButtonUp(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate for the mouse position

Remarks

CBaldurProjector::PlayMovie

Plays the WEBM movie as specified by the resource reference

void CBaldurProjector::PlayMovie(CResRef& cResRef);

Parameters

• CResRef & cResRef - WBM movie resource reference to play

Remarks

Calls CBaldurProjector::PlayMovieInternal which handles the internals of playing the movie

CBaldurProjector::PlayMovieInternal

Plays the WEBM movie as specified by the resource reference

void CBaldurProjector::PlayMovieInternal(CResRef& cResRef,int bAsynchThread);

Parameters

• CResRef & cResRef - WBM movie resource reference to play

• int bAsynchThread - boolean indicating the use of an asynchronous thread (true) or a synchronous threadinstead (false)

6.15. CBaldurProjector Class 907

Page 912: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Called from CBaldurProjector::PlayMovie. Depending on the thread type specified by bAsyncThread determines theupdate used: CBaldurProjector::TimerAsynchronousUpdate or CBaldurProjector::TimerSynchronousUpdate

CBaldurProjector::PlayMovieNext

Play the next movie. Adds movie to queue to play next?

void CBaldurProjector::PlayMovieNext(CResRef& cResRef);

Parameters

• CResRef & cResRef - WBM movie resource reference to play next

Remarks

CBaldurProjector::StopMusic

Stop the movie music/sound/voice-over curently playing

virtual int CBaldurProjector::StopMusic();

Return Value

Returns int

Remarks

CBaldurProjector::TimerAsynchronousUpdate

Timer asynchronous update

virtual void CBaldurProjector::TimerAsynchronousUpdate();

Remarks

CBaldurProjector::TimerSynchronousUpdate

Timer synchronous update

virtual void CBaldurProjector::TimerSynchronousUpdate();

Remarks

908 Chapter 6. EE Game Classes (x86)

Page 913: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.16 CBounceList Class

The structure used for this class is CBounceList

Quick Refvoid CBounceList::Add(CGameEffect* pEffect, long levelDecrement, unsigned long effectId, CGameSprite*pSprite, int decrementOnly, unsigned long string, int stringOnly, int recoverSpellLevels)void CBounceList::ClearAll()void CBounceList::Process(CGameSprite* pSprite)

6.16.1 Methods

Name DescriptionCBounceList::AddCBounceList::ClearAllCBounceList::Process

CBounceList::Add

void CBounceList::Add(CGameEffect* pEffect,long levelDecrement,unsigned long effectId,CGameSprite* pSprite,int decrementOnly,unsigned long string,int stringOnly,int recoverSpellLevels);

Parameters

• CGameEffect* pEffect - pointer to game effect to add

• long levelDecrement -

• unsigned long effectId -

• CGameSprite* pSprite - pointer to game sprite object

• int decrementOnly -

• unsigned long string -

• int stringOnly -

• int recoverSpellLevels -

Remarks

6.16. CBounceList Class 909

Page 914: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CBounceList::ClearAll

void CBounceList::ClearAll();

Remarks

CBounceList::Process

void CBounceList::Process(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.17 CCacheStatus Class

The structure used for this class is CCacheStatus

Quick Refvoid CCacheStatus::Init()void CCacheStatus::CCacheStatus()void CCacheStatus::~CCacheStatus()void CCacheStatus::InvalidateScreen()

6.17.1 Constructors

Name DescriptionCCacheStatus::CCacheStatus Constructs a CCacheStatus objectCCacheStatus::~CCacheStatus Destroys a CCacheStatus object

CCacheStatus::CCacheStatus

Constructs a CCacheStatus object

void CCacheStatus::CCacheStatus();

Remarks

Constructs a CCacheStatus object

910 Chapter 6. EE Game Classes (x86)

Page 915: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CCacheStatus::~CCacheStatus

Destroys the CCacheStatus object

void CCacheStatus::~CCacheStatus();

Remarks

Destroys the CCacheStatus object

6.17.2 Methods

Name DescriptionCCacheStatus::Init Initialize screen cache statusCCacheStatus::InvalidateScreen Invalidate cache status to allow screen to update

CCacheStatus::Init

Initialize screen cache status

void CCacheStatus::Init();

Remarks

CCacheStatus::InvalidateScreen

Invalidate cache status to allow screen to update

void CCacheStatus::InvalidateScreen();

Remarks

6.18 CChatBuffer Class

The structure used for this class is CChatBuffer

Quick Refvoid CChatBuffer::CChatBuffer()void CChatBuffer::~CChatBuffer()void CChatBuffer::AddMessage(CString& sLabel, CString& sNewMessage)void CChatBuffer::ClearMessages()void CChatBuffer::UpdateTextDisplay()

6.18. CChatBuffer Class 911

Page 916: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.18.1 Constructors

Name DescriptionCChatBuffer::CChatBuffer Constructs a CChatBuffer objectCChatBuffer::~CChatBuffer Destroys a CChatBuffer object

CChatBuffer::CChatBuffer

Constructs a CChatBuffer object

void CChatBuffer::CChatBuffer();

Remarks

Constructs a CChatBuffer object

CChatBuffer::~CChatBuffer

Destroys the CChatBuffer object

void CChatBuffer::~CChatBuffer();

Remarks

Destroys the CChatBuffer object

6.18.2 Methods

Name DescriptionCChatBuffer::AddMessage Add a message to chatCChatBuffer::ClearMessages Clear chat messagesCChatBuffer::UpdateTextDisplay Refresh and update chat

CChatBuffer::AddMessage

Add a message to chat

void CChatBuffer::AddMessage(CString& sLabel,CString& sNewMessage);

Parameters

• CString& sLabel - address of string containing label text

• CString& sNewMessage - address of string containing message text

Remarks

912 Chapter 6. EE Game Classes (x86)

Page 917: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChatBuffer::ClearMessages

Clear chat messages

void CChatBuffer::ClearMessages();

Remarks

CChatBuffer::UpdateTextDisplay

Refresh and update chat

void CChatBuffer::UpdateTextDisplay();

Remarks

6.19 CChitin Class

• Overview

• Quick Reference

• Constructors

• Methods

6.19.1 Overview

The structure used for this class is CChitin

6.19.2 Quick Reference

Quick Refvoid CChitin::CChitin(int argc, char** argv)void CChitin::~CChitin()void CChitin::AddEngine(CWarp* pNewEngine)virtual CRes* CChitin::AllocResObject(int nType)virtual void CChitin::AsynchronousUpdate(unsigned int __formal)virtual void CChitin::BroadcastMultiplayerProgressBarInfo()virtual int CChitin::ConfirmQuit()virtual unsigned char CChitin::CutsceneModeActive()virtual int CChitin::FontRectOutline()unsigned char CChitin::FullScreen()void CChitin::EnginesGameInit()void CChitin::EnginesGameUninit()

Continued on next page

6.19. CChitin Class 913

Page 918: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 9 – continued from previous pagevirtual int CChitin::GetEAXActive()virtual unsigned char CChitin::GetGamespyResponse(unsigned char __formal)virtual void CChitin::GetGameSpyCode(CString& sGameSpyCode)virtual void CChitin::GetGameSpyGameName(CString& sGameSpyName)virtual CString& CChitin::GetIconRes()virtual unsigned long CChitin::GetIDSBadDeskTopBitDepth()virtual unsigned long CChitin::GetIDSChoosePixelFormat()virtual unsigned long CChitin::GetIDSExclusiveMode()virtual unsigned long CChitin::GetIDSInvalidVideoMode()virtual unsigned long CChitin::GetIDSOpenGLDll()virtual unsigned long CChitin::GetIDSSetGameBitDepth()virtual unsigned long CChitin::GetIDSSetGameResolution()virtual unsigned long CChitin::GetIDSSetPixelFormat()virtual unsigned long CChitin::GetIDSWindowsFonts()virtual const char* CChitin::GetKeyFileName()virtual long CChitin::GetMovieVolume()virtual CString __cdecl CChitin::GetNetworkVersionString() = 0virtual unsigned char CChitin::GetNumberSoundChannels()virtual void CChitin::GetPanicCDStrings(CString& sMediaRemoved, CString& sPlaceCD, CString& sInDrive)virtual void CChitin::GetScreenShotFilePrefix(CString& szGameFileName)int CChitin::GetTimer(int timer)virtual CString __cdecl CChitin::GetVersionString() = 0virtual unsigned short CChitin::GetMultiplayerDirectPlayPort()virtual unsigned short CChitin::GetMultiplayerGameSpyPort()int CChitin::HasDirectX()void CChitin::HideVirtualKeyboard()int CChitin::InitInstance()void CChitin::InitResources()unsigned char CChitin::InitSound()void CChitin::InitVideo()virtual int CChitin::InitializeServices()void CChitin::InitializeVariables()virtual int CChitin::Is3DSound(int nChannel)int CChitin::IsAndroid()int CChitin::IsHosting()int CChitin::IsIOS()int CChitin::IsMultiplayer()int CChitin::IsTouchUI()virtual void CChitin::LoadOptions()void CChitin::OnAltEnter()void CChitin::OnDropFile(const char* path)void CChitin::OnLowMemory()virtual void CChitin::OnMixerInitialize()virtual void CChitin::OnMultiplayerPlayerJoin(int __formal)virtual void CChitin::OnMultiplayerPlayerLeave(int __formal)virtual void CChitin::OnMultiplayerPlayerVisible(int __formal)virtual void CChitin::OnMultiplayerSessionClose()virtual void CChitin::OnMultiplayerSessionOpen(CString& __formal)virtual void CChitin::OnMultiplayerSessionToClose()void CChitin::OnResizeWindow(int w, int h)

Continued on next page

914 Chapter 6. EE Game Classes (x86)

Page 919: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 9 – continued from previous pagevirtual int CChitin::MessageCallback(unsigned char* __formal)void CChitin::ParseCommandLine()virtual void CChitin::PreLoadFonts()int CChitin::ProcessEvents()void CChitin::ReadIniFiles()virtual void CChitin::RedrawScreen()void CChitin::Resume()virtual void CChitin::SetCDSwitchActivateEngine(int bValue)virtual void CChitin::SetCDSwitchStatus(unsigned char __formal)virtual void CChitin::SelectEngine(CWarp* pNewEngine)virtual void CChitin::SetupPanels()virtual void CChitin::SetProgressBar(unsigned char __formal)virtual void CChitin::SetProgressBarActivateEngine(int bValue)virtual void CChitin::SetRenderCount(unsigned char nCount)virtual void CChitin::SetSoundVolumes()void CChitin::ShowVirtualKeyboard(int multiline)virtual void CChitin::ShutDown(int nLineNumber, const char* szFileName, const char* text)virtual void CChitin::SynchronousUpdate()unsigned char CChitin::UninitSound()void CChitin::Update()int CChitin::WinMain()

6.19.3 Constructors

Name DescriptionCChitin::CChitin Constructs a CChitin objectCChitin::~CChitin Destroys a CChitin object

CChitin::CChitin

Constructs a CChitin object

void CChitin::CChitin(int argc,char** argv);

Parameters

• int argc - An integer that contains the count of arguments that follow in argv

• char** argv - An array of null-terminated strings representing command-line arguments

Remarks

By convention, argv[0] is the command with which the program is invoked, argv[1] is the first command-lineargument, and so on. See CChitin::ParseCommandLine for details on command line parsing.

Constructs a CChitin object

6.19. CChitin Class 915

Page 920: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::~CChitin

Destroys the CChitin object

void CChitin::~CChitin();

Remarks

Destroys the CChitin object

6.19.4 Methods

Name DescriptionCChitin::AddEngineCChitin::AllocResObject Creates and allocates memory for a resourceCChitin::AsynchronousUpdateCChitin::BroadcastMultiplayerProgressBarInfo Broadcast to all connected sessions the progress bar informationCChitin::ConfirmQuit Displays a prompt to confirm if players wishes to quit, save before quit, etcCChitin::CutsceneModeActive Determines if the cutscene mode is active or not (for dreams etc)CChitin::FontRectOutlineCChitin::FullScreenCChitin::EnginesGameInitCChitin::EnginesGameUninitCChitin::GetEAXActive Determines if the EAX sound feature is active or notCChitin::GetGamespyResponseCChitin::GetGameSpyCode Gets the game spy codeCChitin::GetGameSpyGameName Gets the game spy game nameCChitin::GetIconRes Gets default icon resolutionCChitin::GetIDSBadDeskTopBitDepthCChitin::GetIDSChoosePixelFormatCChitin::GetIDSExclusiveModeCChitin::GetIDSInvalidVideoModeCChitin::GetIDSOpenGLDllCChitin::GetIDSSetGameBitDepthCChitin::GetIDSSetGameResolutionCChitin::GetIDSSetPixelFormatCChitin::GetIDSWindowsFontsCChitin::GetKeyFileName Returns a pointer to a string containing the default key file (usually chitin.key)CChitin::GetMovieVolume Returns movie volumeCChitin::GetNetworkVersionStringCChitin::GetNumberSoundChannels Returns number of sound channels supported by local machineCChitin::GetPanicCDStrings Legacy function for when game was distributed on CD/DVDCChitin::GetScreenShotFilePrefixCChitin::GetTimerCChitin::GetVersionStringCChitin::GetMultiplayerDirectPlayPort Returns port no used in DirectPlayCChitin::GetMultiplayerGameSpyPort Returns port no used in GameSpyCChitin::HasDirectXCChitin::HideVirtualKeyboard

Continued on next page

916 Chapter 6. EE Game Classes (x86)

Page 921: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 10 – continued from previous pageCChitin::InitInstanceCChitin::InitResourcesCChitin::InitSoundCChitin::InitVideoCChitin::InitializeServicesCChitin::InitializeVariablesCChitin::Is3DSound Returns if 3D sound is supported on local machineCChitin::IsAndroid Returns true if running on an Android operating systemCChitin::IsHosting Returns true if game instance is hosting a multiplayer gameCChitin::IsIOS Returns true if running on an Apple IOS (iPad) operating systemCChitin::IsMultiplayer Returns true if game instance is a multiplayer gameCChitin::IsTouchUI Returns true if a touch sensitive interface is supported on deviceCChitin::LoadOptions Load optionsCChitin::OnAltEnter Event action for when Alt+Enter keys are pressedCChitin::OnDropFile Event for handling a file dropped onto running game instanceCChitin::OnLowMemoryCChitin::OnMixerInitializeCChitin::OnMultiplayerPlayerJoin Event action when a player joins a multiplayer game sessionCChitin::OnMultiplayerPlayerLeave Event action when a player leaves a multiplayer game sessionCChitin::OnMultiplayerPlayerVisible Event action when a player in a multiplayer game session becomes visible to othersCChitin::OnMultiplayerSessionClose Event action when a multiplayer game session closesCChitin::OnMultiplayerSessionOpen Event action when a multiplayer game session opensCChitin::OnMultiplayerSessionToClose Event action when a multiplayer game session is about to closeCChitin::OnResizeWindow Event action for when window is being resizedCChitin::MessageCallbackCChitin::ParseCommandLine Parses the command line passed to the game executableCChitin::PreLoadFonts Preload fonts for gameCChitin::ProcessEventsCChitin::ReadIniFilesCChitin::RedrawScreenCChitin::ResumeCChitin::SetCDSwitchActivateEngineCChitin::SetCDSwitchStatusCChitin::SelectEngineCChitin::SetupPanelsCChitin::SetProgressBar Set progress bar on screenCChitin::SetProgressBarActivateEngineCChitin::SetRenderCountCChitin::SetSoundVolumesCChitin::ShowVirtualKeyboardCChitin::ShutDownCChitin::SynchronousUpdateCChitin::UninitSoundCChitin::UpdateCChitin::WinMain

CChitin::AddEngine

6.19. CChitin Class 917

Page 922: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CChitin::AddEngine(CWarp* pNewEngine);

Parameters

• CWarp* pNewEngine - pointer to new engine instance to add

Remarks

CChitin::AllocResObject

Creates and allocates memory for a resource

virtual CRes* CChitin::AllocResObject(int nType);

Parameters

• int nType - type of resource to create

Return Value

Returns a CRes object

Remarks

CChitin::AsynchronousUpdate

virtual void CChitin::AsynchronousUpdate(unsigned int __formal);

Parameters

• unsigned int __formal -

Remarks

CChitin::BroadcastMultiplayerProgressBarInfo

Broadcast to all connected sessions the progress bar information

virtual void CChitin::BroadcastMultiplayerProgressBarInfo();

Remarks

918 Chapter 6. EE Game Classes (x86)

Page 923: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::ConfirmQuit

Displays a prompt to confirm if players wishes to quit, save before quit, etc

virtual int CChitin::ConfirmQuit();

Return Value

Returns an int

Remarks

CChitin::CutsceneModeActive

Determines if the cutscene mode is active or not (for dreams etc)

virtual unsigned char CChitin::CutsceneModeActive();

Return Value

Returns an unsigned char

Remarks

CChitin::FontRectOutline

virtual int CChitin::FontRectOutline();

Return Value

Returns an int

Remarks

CChitin::FullScreen

unsigned char CChitin::FullScreen();

Return Value

Returns an unsigned char

Remarks

CChitin::EnginesGameInit

void CChitin::EnginesGameInit();

Remarks

6.19. CChitin Class 919

Page 924: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::EnginesGameUninit

void CChitin::EnginesGameUninit();

Remarks

CChitin::GetEAXActive

Determines if the EAX sound feature is active or not

virtual int CChitin::GetEAXActive();

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::GetGamespyResponse

virtual unsigned char CChitin::GetGamespyResponse(unsigned char __formal);

Parameters

• unsigned char __formal -

Return Value

Returns unsigned char

Remarks

CChitin::GetGameSpyCode

Gets the game spy code

virtual void CChitin::GetGameSpyCode(CString& sGameSpyCode);

Parameters

• CString& sGameSpyCode - address of string variable to store game spy code

Remarks

CChitin::GetGameSpyGameName

Gets the game spy game name

920 Chapter 6. EE Game Classes (x86)

Page 925: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CChitin::GetGameSpyGameName(CString& sGameSpyName);

Parameters

• CString& sGameSpyName - address of string variable to store game spy name

Remarks

CChitin::GetIconRes

Gets default icon resolution

virtual CString& CChitin::GetIconRes();

Return Value

Returns a CString&

Remarks

CChitin::GetIDSBadDeskTopBitDepth

virtual unsigned long CChitin::GetIDSBadDeskTopBitDepth();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSChoosePixelFormat

virtual unsigned long CChitin::GetIDSChoosePixelFormat();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSExclusiveMode

virtual unsigned long CChitin::GetIDSExclusiveMode();

Return Value

Returns unsigned long

Remarks

6.19. CChitin Class 921

Page 926: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::GetIDSInvalidVideoMode

virtual unsigned long CChitin::GetIDSInvalidVideoMode();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSOpenGLDll

virtual unsigned long CChitin::GetIDSOpenGLDll();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSSetGameBitDepth

virtual unsigned long CChitin::GetIDSSetGameBitDepth();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSSetGameResolution

virtual unsigned long CChitin::GetIDSSetGameResolution();

Return Value

Returns unsigned long

Remarks

CChitin::GetIDSSetPixelFormat

virtual unsigned long CChitin::GetIDSSetPixelFormat();

Return Value

Returns unsigned long

Remarks

922 Chapter 6. EE Game Classes (x86)

Page 927: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::GetIDSWindowsFonts

virtual unsigned long CChitin::GetIDSWindowsFonts();

Return Value

Returns unsigned long

Remarks

CChitin::GetKeyFileName

Returns a pointer to a string containing the default key file (usually chitin.key)

virtual const char* CChitin::GetKeyFileName();

Return Value

Returns const char*, a pointer to a string containing key file

Remarks

CChitin::GetMovieVolume

Returns movie volume

virtual long CChitin::GetMovieVolume();

Return Value

Returns long representing movie volume

Remarks

CChitin::GetNetworkVersionString

virtual CString __cdecl CChitin::GetNetworkVersionString();

Return Value

Returns a CString containing the network version

Remarks

CChitin::GetNumberSoundChannels

Returns number of sound channels supported by local machine

6.19. CChitin Class 923

Page 928: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual unsigned char CChitin::GetNumberSoundChannels();

Return Value

Returns unsigned char

Remarks

CChitin::GetPanicCDStrings

Legacy function for when game was distributed on CD/DVD

virtual void CChitin::GetPanicCDStrings(CString& sMediaRemoved,CString& sPlaceCD,CString& sInDrive);

Parameters

• CString& sMediaRemoved - address of string to store media string

• CString& sPlaceCD - address of string to store place cd/dvd string

• CString& sInDrive - address of string to store in drive string

Remarks

CChitin::GetScreenShotFilePrefix

virtual void CChitin::GetScreenShotFilePrefix(CString& szGameFileName);

Parameters

• CString& szGameFileName - address of string to store screenshot filename prefix to

Remarks

CChitin::GetTimer

int CChitin::GetTimer(int timer);

Parameters

• int timer -

Return Value

Returns an int value

Remarks

924 Chapter 6. EE Game Classes (x86)

Page 929: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::GetVersionString

virtual CString __cdecl CChitin::GetVersionString();

Return Value

Returns a CString containing the game version

Remarks

CChitin::GetMultiplayerDirectPlayPort

Returns port no used in DirectPlay

virtual unsigned short CChitin::GetMultiplayerDirectPlayPort();

Return Value

Returns an unsigned short representing the port

Remarks

CChitin::GetMultiplayerGameSpyPort

Returns port no used in GameSpy

virtual unsigned short CChitin::GetMultiplayerGameSpyPort();

Return Value

Returns an unsigned short representing the port

Remarks

CChitin::HasDirectX

int CChitin::HasDirectX();

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::HideVirtualKeyboard

Hides the virtual keyboard from the screen ui

6.19. CChitin Class 925

Page 930: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CChitin::HideVirtualKeyboard();

Remarks

See also CChitin::ShowVirtualKeyboard

CChitin::InitInstance

int CChitin::InitInstance();

Return Value

Returns an int value

Remarks

CChitin::InitResources

void CChitin::InitResources();

Remarks

CChitin::InitSound

unsigned char CChitin::InitSound();

Return Value

Returns unsigned char

Remarks

CChitin::InitVideo

void CChitin::InitVideo();

Remarks

926 Chapter 6. EE Game Classes (x86)

Page 931: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::InitializeServices

virtual int CChitin::InitializeServices();

Return Value

Returns an int value

Remarks

CChitin::InitializeVariables

void CChitin::InitializeVariables();

Remarks

CChitin::Is3DSound

Returns if 3D sound is supported on local machine

virtual int CChitin::Is3DSound(int nChannel);

Parameters

• int nChannel -

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::IsAndroid

Returns true if running on an Android operating system

int CChitin::IsAndroid();

Return Value

Returns an int representing true 1 or false 0

Remarks

Compiled and hardcoded to return false 0 on other operating system builds

CChitin::IsHosting

Returns true if game instance is hosting a multiplayer game, or false otherwise

6.19. CChitin Class 927

Page 932: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CChitin::IsHosting();

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::IsIOS

Returns true if running on an Apple IOS (iPad) operating system

int CChitin::IsIOS();

Return Value

Returns an int representing true 1 or false 0

Remarks

Compiled and hardcoded to return false 0 on other operating system builds

CChitin::IsMultiplayer

Returns true if game instance is a multiplayer game, or false otherwise

int CChitin::IsMultiplayer();

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::IsTouchUI

Returns true if a touch sensitive interface is supported on device (IOS, Android, Surface etc), or false otherwise

int CChitin::IsTouchUI();

Return Value

Returns an int representing true 1 or false 0

Remarks

CChitin::LoadOptions

Load options

928 Chapter 6. EE Game Classes (x86)

Page 933: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CChitin::LoadOptions();

Remarks

CChitin::OnAltEnter

Event action for when Alt+Enter keys are pressed

void CChitin::OnAltEnter();

Remarks

Legacy function for entering and exiting fullscreen mode

CChitin::OnDropFile

Event for handling a file dropped into a specific folder whilst the game instance is running.

void CChitin::OnDropFile(const char* path);

Parameters

• const char* path - full filepath to file “dropped”

Remarks

Unzips the archive file contents to specific folders (based on the extension detected) and then deletes the zip archive.

Looks for files with the following extensions:

• “.bg1character”

• “.bg2character”

• “.iwdcharacter”

• “.bg1data”

• “.bg2data”

• “.iwddata”

• “.bg1portrait”

• “.bg2portrait”

• “.iwdportrait”

• “.bg1override”

• “.bg2override”

• “.iwdoverride”

• “.bg1sounds”

• “.bg2sounds”

• “.iwdsounds”

6.19. CChitin Class 929

Page 934: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• “.bg1save”

• “.bg1mpsave”

• “.bg1mpbpsave”

• “.bg2save”

• “.bg2mpsave”

• “.bg2mpbpsave”

• “.iwdsave”

• “.iwdmpsave”

• “.sodsave”

• “.sodmpsave”

• “.mpsodsave”

CChitin::OnLowMemory

void CChitin::OnLowMemory();

Remarks

CChitin::OnMixerInitialize

virtual void CChitin::OnMixerInitialize();

Remarks

CChitin::OnMultiplayerPlayerJoin

Event action when a player joins a multiplayer game session

virtual void CChitin::OnMultiplayerPlayerJoin(int __formal);

Parameters

• int __formal -

Remarks

See also CBaldurChitin::OnMultiplayerPlayerJoin

930 Chapter 6. EE Game Classes (x86)

Page 935: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::OnMultiplayerPlayerLeave

Event action when a player leaves a multiplayer game session

virtual void CChitin::OnMultiplayerPlayerLeave(int __formal);

Parameters

• int __formal -

Remarks

See also CBaldurChitin::OnMultiplayerPlayerLeave

CChitin::OnMultiplayerPlayerVisible

Event action when a player in a multiplayer game session becomes visible to other existing players

virtual void CChitin::OnMultiplayerPlayerVisible(int __formal);

Parameters

• int __formal -

Remarks

See also CBaldurChitin::OnMultiplayerPlayerVisible

CChitin::OnMultiplayerSessionClose

Event action when a multiplayer game session closes

virtual void CChitin::OnMultiplayerSessionClose();

Remarks

See also CBaldurChitin::OnMultiplayerSessionClose

CChitin::OnMultiplayerSessionOpen

Event action when a multiplayer game session opens

virtual void CChitin::OnMultiplayerSessionOpen(CString& __formal);

Parameters

• CString& __formal -

Remarks

See also CBaldurChitin::OnMultiplayerSessionOpen

6.19. CChitin Class 931

Page 936: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::OnMultiplayerSessionToClose

Event action when a multiplayer game session is about to close

virtual void CChitin::OnMultiplayerSessionToClose();

Remarks

See also CBaldurChitin::OnMultiplayerSessionToClose

CChitin::OnResizeWindow

Event action for when window is being resized

void CChitin::OnResizeWindow(int w,int h);

Parameters

• int w - new width of main window

• int h - new height of main window

Remarks

CChitin::MessageCallback

virtual int CChitin::MessageCallback(unsigned char* __formal);

Parameters

• unsigned char* __formal -

Return Value

Returns an int value

Remarks

CChitin::ParseCommandLine

Parses the command line passed to the game executable

void CChitin::ParseCommandLine();

Remarks

The command line accepts the following recognised options and parameters:

• +host "201.48.99.234" - address of the host machine for all players to connect to

• +connect "201.48.99.234" - address of machine to connect to that is hosting the session

932 Chapter 6. EE Game Classes (x86)

Page 937: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• +name "Super5Gang Adventure" - custom description of the hosted session

• +password "mypassword" - secure the online session with a custom password

• +newgame - specified a new multiplayer game is to be created

• +loadgame - specifies an existing game

• +hostname "Boo" - name of the host machine

• +location "location" - location

• +maxplayers "5" - specified max players to allow: 1-6

• +tob - multiplayer game is set for Throne of Bhaal

Options are preceded with a +, parameter values can be enclosed in quotes "

Note: After some reasech it has been determined that this method does not work in the EE games, it can be consideredlegacy code that was originally intended to work with GameSpy networking.

CChitin::PreLoadFonts

Preload fonts for game

virtual void CChitin::PreLoadFonts();

Remarks

CChitin::ProcessEvents

int CChitin::ProcessEvents();

Return Value

Returns an int value

Remarks

CChitin::ReadIniFiles

void CChitin::ReadIniFiles();

Remarks

CChitin::RedrawScreen

6.19. CChitin Class 933

Page 938: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CChitin::RedrawScreen();

Remarks

CChitin::Resume

void CChitin::Resume();

Remarks

CChitin::SetCDSwitchActivateEngine

virtual void CChitin::SetCDSwitchActivateEngine(int bValue);

Parameters

• int bValue - true or false

Remarks

CChitin::SetCDSwitchStatus

virtual void CChitin::SetCDSwitchStatus(unsigned char __formal);

Parameters

• unsigned char __formal -

Remarks

CChitin::SelectEngine

virtual void CChitin::SelectEngine(CWarp* pNewEngine);

Parameters

• CWarp* pNewEngine - pointer to new engine to select

Remarks

CChitin::SetupPanels

934 Chapter 6. EE Game Classes (x86)

Page 939: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CChitin::SetupPanels();

Remarks

CChitin::SetProgressBar

Set progress bar on screen

virtual void CChitin::SetProgressBar(unsigned char __formal);

Parameters

• unsigned char __formal -

Remarks

CChitin::SetProgressBarActivateEngine

virtual void CChitin::SetProgressBarActivateEngine(int bValue);

Parameters

• int bValue - true or false

Remarks

CChitin::SetRenderCount

virtual void CChitin::SetRenderCount(unsigned char nCount);

Parameters

• unsigned char nCount - set render count

Remarks

CChitin::SetSoundVolumes

virtual void CChitin::SetSoundVolumes();

Remarks

CChitin::ShowVirtualKeyboard

6.19. CChitin Class 935

Page 940: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CChitin::ShowVirtualKeyboard(int multiline);

Parameters

• int multiline - true or false to show multiline virtual keyboard

Remarks

See also CChitin::HideVirtualKeyboard

CChitin::ShutDown

virtual void CChitin::ShutDown(int nLineNumber,const char* szFileName,const char* text);

Parameters

• int nLineNumber - line number that shutdown occured at

• const char* szFileName - file that shutdown occured at

• const char* text - message text for shutdown reason to output to log

Remarks

CChitin::SynchronousUpdate

virtual void CChitin::SynchronousUpdate();

Remarks

CChitin::UninitSound

unsigned char CChitin::UninitSound();

Return Value

Returns unsigned char

Remarks

CChitin::Update

void CChitin::Update();

Remarks

936 Chapter 6. EE Game Classes (x86)

Page 941: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CChitin::WinMain

Main entry point function for windows OS build

int CChitin::WinMain();

Return Value

Returns an int value

Remarks

6.20 CColorEffects Class

Quick RefCColorEffects& CColorEffects::operator=(CColorEffects& y)void CColorEffects::Apply(CGameSprite* pSprite)unsigned long CColorEffects::Marshal(unsigned char** ptrPtr)void CColorEffects::Unmarshal(unsigned char* data, unsigned long nSize)void CColorEffects::ClearAll()

6.20.1 Methods

Name DescriptionCColorEffects::Apply Apply color effects to a game spriteCColorEffects::MarshalCColorEffects::UnmarshalCColorEffects::ClearAll Clear all color effects

CColorEffects::Apply

Apply color effects to a game sprite

void CColorEffects::Apply(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CColorEffects::Marshal

unsigned long CColorEffects::Marshal(unsigned char** ptrPtr);

Parameters

6.20. CColorEffects Class 937

Page 942: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char** ptrPtr - pointer to a pointer

Return Value

Returns unsigned long

Remarks

CColorEffects::Unmarshal

void CColorEffects::Unmarshal(unsigned char* data,unsigned long nSize);

Parameters

• unsigned char* data - pointer to data

• unsigned long nSize - size of data

Remarks

CColorEffects::ClearAll

Clear all color effects

void CColorEffects::ClearAll();

Remarks

6.20.2 Operators

Name DescriptionCColorEffects::operator=

CColorEffects::operator=

CColorEffects& CColorEffects::operator=(CColorEffects& y);

Parameters

• CColorEffects& y -

Return Value

CColorEffects&

Remarks

938 Chapter 6. EE Game Classes (x86)

Page 943: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.21 CContingency Class

The structure used for this class is CContingency

Quick Refvoid CContingency::CContingency()CContingency& CContingency::operator=(CContingency& __that)

6.21.1 Constructors

Name DescriptionCContingency::CContingency Constructs a CContingency object

CContingency::CContingency

Constructs a CContingency object

void CContingency::CContingency();

Remarks

Constructs a CContingency object

6.21.2 Operators

Name DescriptionCContingency::operator=

CContingency::operator=

CContingency& CContingency::operator=(CContingency& __that);

Parameters

• CContingency& __that -

Return Value

Returns CContingency&

Remarks

6.21. CContingency Class 939

Page 944: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.22 CDerivedStats Class

• Overview

• Quick Reference

• Constructors

• Methods

6.22.1 Overview

The structure used for this class is CDerivedStats

6.22.2 Quick Reference

Quick Refvoid CDerivedStats::CDerivedStats()void CDerivedStats::~CDerivedStats()void CDerivedStats::BonusInit()void CDerivedStats::CheckLimits()long CDerivedStats::GetAtOffset(short offset)unsigned char CDerivedStats::GetAverageLevel(unsigned char nClass)unsigned long CDerivedStats::GetCastingTime(int nAbilitySpeed)unsigned char CDerivedStats::GetClassLevel(unsigned char nClass, unsigned char nSubClass)int CDerivedStats::GetCriticalValue(int leftHand, int itemType, int attackType, int hitOrMiss)unsigned long CDerivedStats::GetExtState()unsigned char CDerivedStats::GetFalseColor(unsigned char range)unsigned char CDerivedStats::GetLevel(unsigned char nClass, unsigned char nSubClass)void CDerivedStats::GetLevelField(unsigned char nClass, unsigned char nSubClass, unsigned short*& pLevel)unsigned char CDerivedStats::GetMaximumLevel(unsigned char nClass)unsigned char CDerivedStats::GetPriestLevel(unsigned char nClass)unsigned char CDerivedStats::GetPriestLevelCast(unsigned char nClass)float CDerivedStats::GetRating(CArray<StatRating,StatRating &>& stats)unsigned char CDerivedStats::GetRogueLevel(unsigned char nClass)int CDerivedStats::GetSpellState(unsigned long bit)unsigned char CDerivedStats::GetWarriorLevel(unsigned char nClass)unsigned char CDerivedStats::GetWizardLevel(unsigned char nClass)unsigned char CDerivedStats::GetWizardLevelCast(unsigned char nClass)unsigned long CDerivedStats::GetXP(unsigned char nClass, unsigned char nSubClass, unsigned char nActiveClass, unsigned char nInactiveClass)void CDerivedStats::Marshal(unsigned char** pStats, long* nStats)virtual short __cdecl CDerivedStats::NumAttacksFloatToShort(float f) = 0virtual float __cdecl CDerivedStats::NumAttacksShortToFloat(short s) = 0void CDerivedStats::Reload(CCreatureFileHeader* header, CCreatureFileMemorizedSpellLevel** mageSpells, CCreatureFileMemorizedSpellLevel** priestSpells)void CDerivedStats::SetExtState(unsigned long bit)void CDerivedStats::SetLevel(unsigned char nClass, unsigned char nSubClass, unsigned char nLevel)int CDerivedStats::SetSpellState(unsigned long bit)

Continued on next page

940 Chapter 6. EE Game Classes (x86)

Page 945: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 11 – continued from previous pagevoid CDerivedStats::Unmarshal(unsigned char* pStats, long nStats)CDerivedStats& CDerivedStats::operator=(CDerivedStats& header)CDerivedStats& CDerivedStats::operator+=(CDerivedStats& header)

6.22.3 Constructors

Name DescriptionCDerivedStats::CDerivedStats Constructs a CDerivedStats objectCDerivedStats::~CDerivedStats Destroys a CDerivedStats object

CDerivedStats::CDerivedStats

Constructs a CDerivedStats object

void CDerivedStats::CDerivedStats();

Remarks

Constructs a CDerivedStats object

CDerivedStats::~CDerivedStats

Destroys the CDerivedStats object

void CDerivedStats::~CDerivedStats();

Remarks

Destroys the CDerivedStats object

6.22. CDerivedStats Class 941

Page 946: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.22.4 Methods

Name DescriptionCDerivedStats::BonusInitCDerivedStats::CheckLimitsCDerivedStats::GetAtOffsetCDerivedStats::GetAverageLevelCDerivedStats::GetCastingTimeCDerivedStats::GetClassLevelCDerivedStats::GetCriticalValueCDerivedStats::GetExtStateCDerivedStats::GetFalseColorCDerivedStats::GetLevelCDerivedStats::GetLevelFieldCDerivedStats::GetMaximumLevelCDerivedStats::GetPriestLevelCDerivedStats::GetPriestLevelCastCDerivedStats::GetRatingCDerivedStats::GetRogueLevelCDerivedStats::GetSpellStateCDerivedStats::GetWarriorLevelCDerivedStats::GetWizardLevelCDerivedStats::GetWizardLevelCastCDerivedStats::GetXPCDerivedStats::MarshalCDerivedStats::NumAttacksFloatToShortCDerivedStats::NumAttacksShortToFloatCDerivedStats::ReloadCDerivedStats::SetExtStateCDerivedStats::SetLevelCDerivedStats::SetSpellStateCDerivedStats::Unmarshal

CDerivedStats::BonusInit

void CDerivedStats::BonusInit();

Remarks

CDerivedStats::CheckLimits

void CDerivedStats::CheckLimits();

Remarks

942 Chapter 6. EE Game Classes (x86)

Page 947: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDerivedStats::GetAtOffset

long CDerivedStats::GetAtOffset(short offset);

Parameters

• short offset -

Return Value

Returns long

Remarks

CDerivedStats::GetAverageLevel

unsigned char CDerivedStats::GetAverageLevel(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetCastingTime

unsigned long CDerivedStats::GetCastingTime(int nAbilitySpeed);

Parameters

• int nAbilitySpeed -

Return Value

Returns unsigned long

Remarks

CDerivedStats::GetClassLevel

unsigned char CDerivedStats::GetClassLevel(unsigned char nClass,unsigned char nSubClass);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

6.22. CDerivedStats Class 943

Page 948: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetCriticalValue

int CDerivedStats::GetCriticalValue(int leftHand,int itemType,int attackType,int hitOrMiss);

Parameters

• int leftHand -

• int itemType -

• int attackType -

• int hitOrMiss -

Return Value

Returns int

Remarks

CDerivedStats::GetExtState

unsigned long CDerivedStats::GetExtState();

Return Value

Returns unsigned long

Remarks

CDerivedStats::GetFalseColor

unsigned char CDerivedStats::GetFalseColor(unsigned char range);

Parameters

• unsigned char range -

Return Value

Returns unsigned char

Remarks

944 Chapter 6. EE Game Classes (x86)

Page 949: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDerivedStats::GetLevel

unsigned char CDerivedStats::GetLevel(unsigned char nClass,unsigned char nSubClass);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetLevelField

void CDerivedStats::GetLevelField(unsigned char nClass,unsigned char nSubClass,unsigned short*& pLevel);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

• unsigned short*& pLevel -

Remarks

CDerivedStats::GetMaximumLevel

unsigned char CDerivedStats::GetMaximumLevel(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetPriestLevel

6.22. CDerivedStats Class 945

Page 950: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CDerivedStats::GetPriestLevel(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetPriestLevelCast

unsigned char CDerivedStats::GetPriestLevelCast(unsigned char nClass)

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetRating

float CDerivedStats::GetRating(CArray& stats);

Parameters

• CArray& stats -

Return Value

Returns float

Remarks

CDerivedStats::GetRogueLevel

unsigned char CDerivedStats::GetRogueLevel(unsigned char nClass)

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

946 Chapter 6. EE Game Classes (x86)

Page 951: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDerivedStats::GetSpellState

int CDerivedStats::GetSpellState(unsigned long bit);

Parameters

• unsigned long bit -

Return Value

Returns int

Remarks

CDerivedStats::GetWarriorLevel

unsigned char CDerivedStats::GetWarriorLevel(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetWizardLevel

unsigned char CDerivedStats::GetWizardLevel(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

CDerivedStats::GetWizardLevelCast

unsigned char CDerivedStats::GetWizardLevelCast(unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns unsigned char

Remarks

6.22. CDerivedStats Class 947

Page 952: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDerivedStats::GetXP

unsigned long CDerivedStats::GetXP(unsigned char nClass,unsigned char nSubClass,unsigned char nActiveClass,unsigned char nInactiveClass);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

Return Value

Remarks

CDerivedStats::Marshal

void CDerivedStats::Marshal(unsigned char** pStats,long* nStats);

Parameters

• unsigned char** pStats -

• long* nStats -

Remarks

CDerivedStats::NumAttacksFloatToShort

virtual short __cdecl CDerivedStats::NumAttacksFloatToShort(float f);

Parameters

• float f -

Return Value

Returns short

Remarks

CDerivedStats::NumAttacksShortToFloat

948 Chapter 6. EE Game Classes (x86)

Page 953: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual float __cdecl CDerivedStats::NumAttacksShortToFloat(short s);

Parameters

• short s -

Return Value

Returns float

Remarks

CDerivedStats::Reload

void CDerivedStats::Reload(CCreatureFileHeader* header,CCreatureFileMemorizedSpellLevel** mageSpells,CCreatureFileMemorizedSpellLevel** priestSpells);

Parameters

• CCreatureFileHeader* header -

• CCreatureFileMemorizedSpellLevel** mageSpells -

• CCreatureFileMemorizedSpellLevel** priestSpells -

Remarks

CDerivedStats::SetExtState

void CDerivedStats::SetExtState(unsigned long bit);

Parameters

• unsigned long bit -

Remarks

CDerivedStats::SetLevel

void CDerivedStats::SetLevel(unsigned char nClass,unsigned char nSubClass,unsigned char nLevel);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

• unsigned char nLevel -

6.22. CDerivedStats Class 949

Page 954: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CDerivedStats::SetSpellState

int CDerivedStats::SetSpellState(unsigned long bit);

Parameters

• unsigned long bit -

Return Value

Returns int

Remarks

CDerivedStats::Unmarshal

void CDerivedStats::Unmarshal(unsigned char* pStats,long nStats);

Parameters

• unsigned char* pStats -

• long nStats -

Remarks

Operators

Name DescriptionCDerivedStats::operator=CDerivedStats::operator+=

CDerivedStats::operator=

CDerivedStats& CDerivedStats::operator=(CDerivedStats& header);

Parameters

• CDerivedStats& header -

Return Value

Returns CDerivedStats&

Remarks

950 Chapter 6. EE Game Classes (x86)

Page 955: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDerivedStats::operator+=

CDerivedStats& CDerivedStats::operator+=(CDerivedStats& header);

Parameters

• CDerivedStats& header -

Return Value

Returns CDerivedStats&

Remarks

6.23 CDungeonMaster Class

The structure used for this class is CDungeonMaster which is the same as CBaldurEngine

Quick Refvoid CDungeonMaster::CDungeonMaster()virtual void CDungeonMaster::EngineActivated()virtual void CDungeonMaster::EngineDeactivated()virtual void CDungeonMaster::EngineDestroyed()virtual void CDungeonMaster::EngineInitialized()virtual void CDungeonMaster::TimerAsynchronousUpdate()virtual void CDungeonMaster::TimerSynchronousUpdate()

6.23.1 Constructors

Name DescriptionCDungeonMaster::CDungeonMaster Constructs a CDungeonMaster object

CDungeonMaster::CDungeonMaster

Constructs a CDungeonMaster object

void CDungeonMaster::CDungeonMaster();

Remarks

Constructs a CDungeonMaster object

6.23. CDungeonMaster Class 951

Page 956: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.23.2 Methods

Name DescriptionCDungeonMaster::EngineActivated Engine activatedCDungeonMaster::EngineDeactivated Engine deactivatedCDungeonMaster::EngineDestroyed Engine destroyedCDungeonMaster::EngineInitialized Engine initializedCDungeonMaster::TimerAsynchronousUpdate Update timer asynchronouslyCDungeonMaster::TimerSynchronousUpdate Update timer synchronously

CDungeonMaster::EngineActivated

Engine activated

virtual void CDungeonMaster::EngineActivated();

Remarks

CDungeonMaster::EngineDeactivated

Engine deactivated

virtual void CDungeonMaster::EngineDeactivated();

Remarks

CDungeonMaster::EngineDestroyed

Engine destroyed

virtual void CDungeonMaster::EngineDestroyed();

Remarks

CDungeonMaster::EngineInitialized

Engine initialized

virtual void CDungeonMaster::EngineInitialized();

Remarks

952 Chapter 6. EE Game Classes (x86)

Page 957: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CDungeonMaster::TimerAsynchronousUpdate

Update timer asynchronously

virtual void CDungeonMaster::TimerAsynchronousUpdate();

Remarks

CDungeonMaster::TimerSynchronousUpdate

Update timer synchronously

virtual void CDungeonMaster::TimerSynchronousUpdate();

Remarks

6.24 CFile Class

• Overview

• Quick Reference

• Constructors

• Methods

6.24.1 Overview

Note: The CFile class handles basic file operations

The structure used for this class is CFile

6.24. CFile Class 953

Page 958: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.24.2 Quick Reference

Quick Refvoid CFile::CFile()virtual void CFile::~CFile()virtual void CFile::Abort()virtual void CFile::Close()virtual void CFile::Flush()virtual unsigned int CFile::GetBufferPtr(unsigned int nCommand, unsigned int __formal)virtual CString CFile::GetFileName()virtual CString CFile::GetFilePath()virtual CString CFile::GetFileTitle()virtual unsigned long CFile::GetLength()virtual unsigned long CFile::GetPosition()int CFile::GetStatus(CFileStatus& rStatus)virtual int CFile::Open(const char* lpszFileName, unsigned int nOpenFlags, CFileException* pException)virtual unsigned int CFile::Read(void* lpBuf, unsigned int nCount)virtual void __stdcall CFile::Remove(const char* lpszFileName) = 0virtual long CFile::Seek(long lOff, unsigned int nFrom)virtual void CFile::SetFilePath(const char* lpszNewName)virtual void CFile::SetLength(unsigned long dwNewLen)virtual unsigned int CFile::Write(const void* lpBuf, unsigned int nCount)

6.24.3 Constructors

Name DescriptionCFile::CFile Constructs a CFile objectCFile::~CFile Destroys a CFile object

CFile::CFile

Constructs a CFile object

void CFile::CFile();

Remarks

Constructs a CFile object

CFile::~CFile

Destroys the CFile object

virtual void CFile::~CFile();

954 Chapter 6. EE Game Classes (x86)

Page 959: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Destroys the CFile object

6.24.4 Methods

Name DescriptionCFile::Abort Closes a file ignoring all warnings and errorsCFile::Close Closes a file and deletes the objectCFile::Flush Flushes any data yet to be writtenCFile::GetBufferPtrCFile::GetFileName Retrieves the filename of the selected fileCFile::GetFilePath Retrieves the full file path of the selected fileCFile::GetFileTitle Retrieves the title of the selected fileCFile::GetLength Retrieves the length of the fileCFile::GetPosition Retrieves the current file pointerCFile::GetStatus Retrieves the status of the open fileCFile::Open Safely opens a file with an error-testing optionCFile::Read Reads (unbuffered) data from a file at the current file positionCFile::Remove Deletes the specified fileCFile::Seek Positions the current file pointerCFile::SetFilePath Sets the full file path of the selected fileCFile::SetLength Changes the length of the fileCFile::Write Writes (unbuffered) data in a file to the current file position

CFile::Abort

Closes a file ignoring all warnings and errors

virtual void CFile::Abort();

Remarks

If you haven’t closed the file before destroying the object, the destructor closes it for you.

When handling exceptions, CFile::Abort differs from CFile::Close in that it won’t throw an exception on failures,because failures are ignored by Abort.

CFile::Close

Closes a file and deletes the object

virtual void CFile::Close();

Remarks

If you haven’t closed the file before destroying the object, the destructor closes it for you.

6.24. CFile Class 955

Page 960: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFile::Flush

Flushes any data yet to be written

virtual void CFile::Flush();

Remarks

CFile::GetBufferPtr

virtual unsigned int CFile::GetBufferPtr(unsigned int nCommand,unsigned int __formal);

Parameters

• unsigned int nCommand -

• unsigned int __formal -

Return Value

Returns unsigned int

Remarks

CFile::GetFileName

Retrieves the filename of the selected file

virtual CString CFile::GetFileName();

Return Value

Returns a CString

Remarks

To return the entire path of the file, including the name, call CFile::GetFilePath. To return the title of the file (myfile),call CFile::GetFileTitle.

CFile::GetFilePath

Retrieves the full file path of the selected file

virtual CString CFile::GetFilePath();

Return Value

Returns a CString

Remarks

956 Chapter 6. EE Game Classes (x86)

Page 961: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

To return just the name of the file (myfile.wri), call CFile::GetFileName. To return the title of the file (myfile), callCFile::GetFileTitle.

CFile::GetFileTitle

Retrieves the title of the selected file

virtual CString CFile::GetFileTitle();

Return Value

Returns a CString

Remarks

To return the entire path of the file, including the name, call CFile::GetFilePath. To return just the name of the file,call CFile::GetFileName.

CFile::GetLength

Obtains the current logical length of the file in bytes.

virtual unsigned long CFile::GetLength();

Return Value

Returns unsigned long

Remarks

CFile::GetPosition

Obtains the current value of the file pointer, which can be used in later calls to CFile::Seek

virtual unsigned long CFile::GetPosition();

Return Value

Returns unsigned long

Remarks

6.24. CFile Class 957

Page 962: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFile::GetStatus

This method retrieves status information related to a given CFile object instance or a given file path.

int CFile::GetStatus(CFileStatus& rStatus);

Parameters

• CFileStatus& rStatus - A reference to a user-supplied CFileStatus structure that will receive the status informa-tion

Return Value

Returns an int value representing one or more of the following values:

• 0x00 normal

• 0x01 readOnly

• 0x02 hidden

• 0x04 system

• 0x08 volume

• 0x10 directory

• 0x20 archive

Remarks

The CFileStatus structure has the following fields:

• CTime m_ctime - The date and time the file was created.

• CTime m_mtime - The date and time the file was last modified.

• CTime m_atime - The date and time the file was last accessed for reading.

• ULONGLONG m_size - The logical size of the file in bytes, as reported by the DIR command.

• BYTE m_attribute - The attribute byte of the file.

• char m_szFullName[_MAX_PATH] - The absolute filename in the Windows character set.

CFile::Open

Safely opens a file with an error-testing option

virtual int CFile::Open(const char* lpszFileName,unsigned int nOpenFlags,CFileException* pException);

Parameters

• const char* lpszFileName - A string that contains the path to the desired file. The path can be relative,absolute, or a network name (UNC)

• unsigned int nOpenFlags - A UINT that defines the file’s sharing and access mode. It specifies the actionto take when opening the file.

958 Chapter 6. EE Game Classes (x86)

Page 963: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CFileException* pException - A pointer to an existing file-exception object that will receive the status of a failedoperation.

Return Value

Nonzero if the open was successful; otherwise 0.

Remarks

“safe” method for opening a file, where a failure is a normal, expected condition.

CFile::Read

Reads data into a buffer from the file associated with the CFile object.

virtual unsigned int CFile::Read(void* lpBuf,unsigned int nCount);

Parameters

• void* lpBuf - Pointer to the user-supplied buffer that is to receive the data read from the file.

• unsigned int nCount - The maximum number of bytes to be read from the file. For text-mode files, carriagereturn-line feed pairs are counted as single characters.

Return Value

The number of bytes transferred to the buffer.

Remarks

For all CFile classes, the return value may be less than nCount if the end of file was reached.

CFile::Remove

Deletes the specified file

virtual void __stdcall CFile::Remove(const char* lpszFileName);

Parameters

• const char* lpszFileName - A string that is the path to the desired file. The path can be relative or absolute,and can contain a network name.

Remarks

CFile::Remove won’t remove a directory.

CFile::Seek

Positions the current file pointer

6.24. CFile Class 959

Page 964: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual long CFile::Seek(long lOff,unsigned int nFrom);

Parameters

• long lOff - Number of bytes to move the file pointer. Positive values move the file pointer towards the end ofthe file; negative values move the file pointer towards the start of the file.

• unsigned int nFrom - Position to seek from. See the Remarks section for possible values.

Return Value

The position of the file pointer if the method was successful; otherwise, the return value is undefined and a pointer toa CFileException exception is thrown.

Remarks

The following table lists possible values for the nFrom parameter.

• CFile::begin - Seek from the start of the file.

• CFile::current - Seek from the current location of the file pointer.

• CFile::end - Seek from the end of the file.

When a file is opened, the file pointer is positioned at 0, the start of the file.

You can set the file pointer to a position beyond the end of a file. If you do, the size of the file doesn’t increase untilyou write to the file.

The exception handler for this method must delete the exception object after the exception is processed.

CFile::SetFilePath

Sets the full file path of the selected file

virtual void CFile::SetFilePath(const char* lpszNewName);

Parameters

• const char* lpszNewName - Pointer to a string specifying the new path.

Remarks

CFile::SetFilePath does not open the file or create the file; it simply associates the CFile object with a path name,which can then be used.

CFile::SetLength

Changes the length of the file

virtual void CFile::SetLength(unsigned long dwNewLen);

Parameters

• unsigned long dwNewLen - Desired length of the file in bytes. This value can be larger or smaller than thecurrent length of the file. The file will be extended or truncated as appropriate.

960 Chapter 6. EE Game Classes (x86)

Page 965: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFile::Write

Writes (unbuffered) data in a file to the current file position

virtual unsigned int CFile::Write(const void* lpBuf,unsigned int nCount);

Parameters

• const void* lpBuf - A pointer to the user-supplied buffer that contains the data to be written to the file.

• unsigned int nCount - The number of bytes to be transferred from the buffer. For text-mode files, carriagereturn-line feed pairs are counted as single characters.

Return Value

Returns unsigned int of bytes written

Remarks

CFile::Write throws an exception in response to several conditions, including the disk-full condition.

6.25 CFileException Class

The structure used for this class is CFileException

Quick Refvirtual void __stdcall CFileException::ThrowOsError(long lOsError, const char* lpszFileName) = 0virtual int __stdcall CFileException::OsErrorToException(long lOsErr) = 0

6.25.1 Methods

Name DescriptionCFileException::ThrowOsErrorCFileException::OsErrorToException

CFileException::ThrowOsError

virtual void __stdcall CFileException::ThrowOsError(long lOsError,const char* lpszFileName);

Parameters

• long lOsError -

• const char* lpszFileName -

6.25. CFileException Class 961

Page 966: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CFileException::OsErrorToException

virtual int __stdcall CFileException::OsErrorToException(long lOsErr);

Parameters

• long lOsErr -

Return Value

Returns int

Remarks

6.26 CFileFind Class

The structure used for this class is CFileFind

Quick Refvoid CFileFind::CFileFind()virtual void CFileFind::~CFileFind()void CFileFind::Close()virtual void CFileFind::CloseContext()virtual int CFileFind::FindFile(const char* pstrName, unsigned long __formal)virtual int CFileFind::FindNextFileA()virtual CString CFileFind::GetFileName()virtual CString CFileFind::GetFilePath()virtual CString CFileFind::GetFileTitle()virtual CString CFileFind::GetFileURL()unsigned long CFileFind::GetLength()virtual void CFileFind::GetNameAndExt(CString& name, CString& ext)virtual CString CFileFind::GetRoot()virtual int CFileFind::IsDots()virtual int CFileFind::MatchesMask(unsigned long dwMask)

6.26.1 Constructors

Name DescriptionCFileFind::CFileFind Constructs a CFileFind objectCFileFind::~CFileFind Destroys a CFileFind object

962 Chapter 6. EE Game Classes (x86)

Page 967: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileFind::CFileFind

Constructs a CFileFind object

void CFileFind::CFileFind();

Remarks

Constructs a CFileFind object

CFileFind::~CFileFind

Destroys the CFileFind object

virtual void CFileFind::~CFileFind();

Remarks

Destroys the CFileFind object

6.26.2 Methods

Name DescriptionCFileFind::Close Closes the search requestCFileFind::CloseContext Closes the search requestCFileFind::FindFile Searches a directory for a specified file nameCFileFind::FindNextFileA Continues a file search from a previous call to FindFileCFileFind::GetFileName Gets the name, including the extension, of the found fileCFileFind::GetFilePath Gets the whole path of the found fileCFileFind::GetFileTitle Gets the title of the found file. The title does not include the extensionCFileFind::GetFileURL Gets the URL, including the file path, of the found fileCFileFind::GetLength Gets the length of the found file, in bytesCFileFind::GetNameAndExt Gets the title and extension of the found fileCFileFind::GetRoot Gets the root directory of the found fileCFileFind::IsDots Determines if the name of the found file has “.” or “..”, indicating a directoryCFileFind::MatchesMask Indicates the desired file attributes of the file to be found

CFileFind::Close

Closes the search request. Call this member function to end the search, reset the context, and release all resources.

void CFileFind::Close();

Remarks

After calling Close, you do not have to create a new CFileFind instance before calling CFileFind::FindFile to begin anew search.

6.26. CFileFind Class 963

Page 968: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileFind::CloseContext

Closes the file specified by the current search handle

virtual void CFileFind::CloseContext();

Remarks

Closes the file specified by the current value of the search handle

CFileFind::FindFile

Searches a directory for a specified file name

virtual int CFileFind::FindFile(const char* pstrName,unsigned long __formal);

Parameters

• const char* pstrName - A pointer to a string containing the name of the file to find. If you pass NULL forpstrName, FindFile does a wildcard (*.*) search.

• unsigned long __formal - Reserved - Must be 0

Return Value

Nonzero if successful; otherwise 0

Remarks

After calling CFileFind::FindFile to begin the file search, call CFileFind::FindNextFileA to retrieve subsequent files.You must call CFileFind::FindNextFileA at least once before calling any of the following attribute member functions:

• CFileFind::GetFileName

• CFileFind::GetFilePath

• CFileFind::GetFileTitle

• CFileFind::GetFileURL

• CFileFind::GetLength

• CFileFind::GetNameAndExt

• CFileFind::GetRoot

• CFileFind::IsDots

• CFileFind::MatchesMask

964 Chapter 6. EE Game Classes (x86)

Page 969: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileFind::FindNextFileA

Continues a file search from a previous call to CFileFind::FindFile

virtual int CFileFind::FindNextFileA();

Return Value

Nonzero if there are more files; zero if the file found is the last one in the directory or if an error occurred

Remarks

You must call CFileFind::FindNextFileA at least once before calling any of the following attribute member functions:

• CFileFind::GetFileName

• CFileFind::GetFilePath

• CFileFind::GetFileTitle

• CFileFind::GetFileURL

• CFileFind::GetLength

• CFileFind::GetNameAndExt

• CFileFind::GetRoot

• CFileFind::IsDots

• CFileFind::MatchesMask

CFileFind::GetFileName

Gets the name, including the extension, of the found file

virtual CString CFileFind::GetFileName();

Return Value

Returns a CString containg the name of the most-recently-found file

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetFileName

CFileFind::GetFilePath

Gets the whole path of the found file

virtual CString CFileFind::GetFilePath();

Return Value

Returns a CString containing the path of the specified file

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetFilePath

6.26. CFileFind Class 965

Page 970: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileFind::GetFileTitle

Gets the title of the found file. The title does not include the extension

virtual CString CFileFind::GetFileTitle();

Return Value

Returns a CString containing the title of the file

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetFileTitle

CFileFind::GetFileURL

Gets the URL, including the file path, of the found file

virtual CString CFileFind::GetFileURL();

Return Value

Returns a CString containing the complete URL

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetFileURL

CFileFind::GetLength

Gets the length of the found file, in bytes

unsigned long CFileFind::GetLength();

Return Value

The length of the found file, in bytes

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetLength

CFileFind::GetNameAndExt

Gets the title and extension of the found file

virtual void CFileFind::GetNameAndExt(CString& name,CString& ext);

Parameters

• CString& name - address of variable to hold file name

966 Chapter 6. EE Game Classes (x86)

Page 971: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CString& ext - address of variable to file extension

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetNameAndExt

CFileFind::GetRoot

Gets the root directory of the found file

virtual CString CFileFind::GetRoot();

Return Value

Returns a CString containing the root of the active search

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::GetRoot

CFileFind::IsDots

Determines if the name of the found file has the name “.” or “..”, indicating that is actually a directory

virtual int CFileFind::IsDots();

Return Value

Nonzero if the found file has the name “.” or “..”, which indicates that the found file is actually a directory. Otherwise0

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::IsDots

CFileFind::MatchesMask

Indicates the desired file attributes of the file to be found

virtual int CFileFind::MatchesMask(unsigned long dwMask);

Parameters

• unsigned long dwMask - Specifies one or more file attributes for the found file

Return Value

Nonzero if successful; otherwise 0

Remarks

You must call CFileFind::FindNextFileA at least once before calling CFileFind::MatchesMask

6.26. CFileFind Class 967

Page 972: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.27 CFileView Class

The structure used for this class is CFileView

Quick Refvoid CFileView::CFileView()void CFileView::~CFileView()int CFileView::Open(const char* fileName)char* CFileView::fgets(char* buffer, int size)int CFileView::fseek(long offset, int origin)long CFileView::ftell()

6.27.1 Constructors

Name DescriptionCFileView::CFileView Constructs a CFileView objectCFileView::~CFileView Destroys a CFileView object

CFileView::CFileView

Constructs a CFileView object

void CFileView::CFileView();

Remarks

Constructs a CFileView object

CFileView::~CFileView

Destroys the CFileView object

void CFileView::~CFileView();

Remarks

Destroys the CFileView object

6.27.2 Methods

Name DescriptionCFileView::Open Open a view of a file which is memory mappedCFileView::fgets Reads the file view contents into a buffer of a specified sizeCFileView::fseek Move the file view pointerCFileView::ftell Returns the file view pointer position

968 Chapter 6. EE Game Classes (x86)

Page 973: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileView::Open

Open a view of a file which is memory mapped

int CFileView::Open\(const char* fileName);

Parameters

• const char* fileName - string containing file name to open a view of a memory mapped file

Return Value

Returns int, a pointer to the file contents in memory

Remarks

CFileView::fgets

Reads the file view contents into a buffer of a specified size

char* CFileView::fgets(char* buffer,int size);

Parameters

• char* buffer - pointer to buffer to read file view data

• int size - size of buffer to read data into

Return Value

Returns char*

Remarks

CFileView::fseek

Move the file view pointer

int CFileView::fseek(long offset,int origin);

Parameters

• long offset - address offset to move file view pointer to

• int origin - move file view pointer relative to beginning, current position or end of file view

Return Value

Returns int

Remarks

6.27. CFileView Class 969

Page 974: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CFileView::ftell

Returns the file view pointer position

long CFileView::ftell();

Return Value

Returns long

Remarks

6.28 CGameAIBase Class

• Overview

• Quick Reference

• Constructors

• Methods

6.28.1 Overview

The structure used for this class is CGameAIBase

6.28.2 Quick Reference

Quick Refvoid CGameAIBase::CGameAIBase()virtual void CGameAIBase::~CGameAIBase()virtual void CGameAIBase::AddAction(CAIAction& action)virtual void CGameAIBase::AddEffect(CGameEffect* pEffect, unsigned char list, int noSave, int immediateApply)short CGameAIBase::AddExperiencePartyGlobal()short CGameAIBase::AddGlobals()short CGameAIBase::AddStoreItem()short CGameAIBase::AddXP2DA()void CGameAIBase::ApplyEffectToParty(CGameEffect* effect)short CGameAIBase::ApplySpell(CGameSprite* target)virtual void CGameAIBase::ApplyTriggers()short CGameAIBase::AttachTransitionToDoor(CGameDoor* pObject)virtual void CGameAIBase::AutoPause(unsigned long type)int CGameAIBase::BlowThroughInstantActions()short CGameAIBase::ChangeAIScript()short CGameAIBase::ChangeTileState(CGameTiledObject* target)int CGameAIBase::CheckAppropriateTarget(CSpell* pSpell, CGameAIBase* pTarget)void CGameAIBase::CheckTimers(long cycles)short CGameAIBase::ClearActions(CGameAIBase* pSprite)

Continued on next page

970 Chapter 6. EE Game Classes (x86)

Page 975: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 12 – continued from previous pagevirtual void CGameAIBase::ClearActions(int leaveOverrides)virtual void CGameAIBase::ClearAI(unsigned char setSequence)short CGameAIBase::ClearAllActions()void CGameAIBase::ClearTriggers()short CGameAIBase::ClickLButtonObject(CGameObject* target)short CGameAIBase::ClickLButtonPoint()short CGameAIBase::ClickRButtonObject(CGameObject* target)short CGameAIBase::ClickRButtonPoint()short CGameAIBase::CloseDoor(CGameDoor* pDoor)virtual unsigned char CGameAIBase::CompressTime(unsigned long deltaTime)short CGameAIBase::ContainerEnable(CGameContainer* pContainer)short CGameAIBase::CreateCreature()short CGameAIBase::CreateCreatureObject(CGameAIBase* pObject)short CGameAIBase::CreateItem()short CGameAIBase::CreateVisualEffect()short CGameAIBase::CreateVisualEffectObject(CGameAIBase* pObject)short CGameAIBase::DeathMatchPosition()void CGameAIBase::DecodeSpell(long spellId, CString& res)short CGameAIBase::DestroyItem()short CGameAIBase::DetectSecretDoor(CGameDoor* target)short CGameAIBase::DisplayString(CGameAIBase* sprite)short CGameAIBase::DisplayStringPoint(CGameArea* area, unsigned long text, CPoint& dest)short CGameAIBase::DisplayStringWait(CGameAIBase* sprite)virtual void CGameAIBase::DoAction()short CGameAIBase::DoubleClickLButton(CPoint dest)short CGameAIBase::DoubleClickLButtonObject(CGameObject* target)short CGameAIBase::DoubleClickLButtonPoint()short CGameAIBase::DoubleClickRButton(CPoint dest)short CGameAIBase::DoubleClickRButtonObject(CGameObject* target)short CGameAIBase::DoubleClickRButtonPoint()long CGameAIBase::EncodeSpell(CString& res, long level)virtual int CGameAIBase::EvaluateStatusTrigger(CAITrigger& inTrigger)virtual short CGameAIBase::ExecuteAction()short CGameAIBase::ExportParty()short CGameAIBase::FadeFromColor()short CGameAIBase::FadeToColor()short CGameAIBase::FireItem(CItem* pItem, long abilityNum, CGameObject* pTarget)short CGameAIBase::FireItemPoint(CItem* pItem, long abilityNum, CPoint& target)short CGameAIBase::FireSpell(CResRef & res, CGameObject* target, int checkRange, unsigned long rangeError, CWildSurge* pSurge, int displayString, int suppressCastingGlow)short CGameAIBase::FireSpellPoint(CResRef & res, CPoint& ptTarget, int checkRange, unsigned long rangeError, CWildSurge* pSurge, int displayString, int suppressCastingGlow)short CGameAIBase::ForceSpell(CGameSprite* target)short CGameAIBase::ForceSpellPoint()virtual short CGameAIBase::GetAttackRange()virtual CRect CGameAIBase::GetBounding()virtual int CGameAIBase::GetCanSeeInvisible()CVariable* CGameAIBase::GetGlobalVariable(CString areaName, CString globalName)virtual short CGameAIBase::GetHelpRange()CAIAction& CGameAIBase::GetNextAction(CAIAction& action)unsigned char CGameAIBase::GetReaction(CGameSprite* pSprite)CGameObject* CGameAIBase::GetTargetShare(CAIObjectType& type)

Continued on next page

6.28. CGameAIBase Class 971

Page 976: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 12 – continued from previous pageCGameObject* CGameAIBase::GetTargetShare()CGameObject* CGameAIBase::GetTargetShareType(CAIObjectType& AItype, unsigned char type)CGameObject* CGameAIBase::GetTargetShareType(unsigned char type)virtual const unsigned char* CGameAIBase::GetTerrainTable()CVariable* CGameAIBase::GetVariableReference(CString& areaName, CString& globalName)virtual const unsigned char* CGameAIBase::GetVisibleTerrainTable()virtual short CGameAIBase::GetVisualRange()short CGameAIBase::GiveItemCreate(CGameSprite* pSprite)short CGameAIBase::GiveObjectGoldGlobal(CGameObject* pObject)short CGameAIBase::GiveOrder(CGameAIBase* sprite)short CGameAIBase::GivePartyGold()short CGameAIBase::GivePartyGoldGlobal()short CGameAIBase::IncrementChapter()short CGameAIBase::IncrementGlobal()virtual void CGameAIBase::InsertAction(CAIAction& action)void CGameAIBase::InsertResponse(CAIResponse& res, int checkCurrentResponse, int clearActions)short CGameAIBase::LeaveAreaLuaPanic()short CGameAIBase::LeaveAreaLuaPanicEntry()short CGameAIBase::Lock(CGameAIBase* pObject)short CGameAIBase::MoveContainerContents(CString arg1, CString arg2)short CGameAIBase::MoveCursor(CPoint dest, short speed)short CGameAIBase::MoveCursorPoint()short CGameAIBase::MoveGlobal(CGameSprite* pSprite)short CGameAIBase::MoveGlobalObject(CGameSprite* pTarget)short CGameAIBase::MoveView(CPoint dest, short speed)short CGameAIBase::MoveViewObject(CGameObject* target)short CGameAIBase::MoveViewPoint()short CGameAIBase::MultiPlayerSynch()virtual void CGameAIBase::OnActionRemoval(CAIAction& curAction)short CGameAIBase::OpenDoor(CGameDoor* pDoor)int CGameAIBase::PartyHasItem(CResRef & res)int CGameAIBase::PlaceItem(CItem* pItem, int haveDeny, int dropUnplaced, unsigned long num, int feedback)short CGameAIBase::PlaySound()virtual void CGameAIBase::ProcessAI()void CGameAIBase::ProcessPendingTriggers(int overrideOnly)void CGameAIBase::PutItemGround(CItem* pItem)virtual int CGameAIBase::QuickDecode(CAITrigger& trigger, CGameSprite*& pSprite)virtual void CGameAIBase::RemoveFromArea()short CGameAIBase::RemoveStoreItem()short CGameAIBase::RemoveTrapsNonSprite(CGameAIBase* pObject)short CGameAIBase::RevealAreaOnMap()short CGameAIBase::SaveLocation()short CGameAIBase::SaveObjectLocation(CGameObject* pObject)short CGameAIBase::SendTrigger(CGameAIBase* sprite)void CGameAIBase::SetClassScript(CAIScript* script)virtual void CGameAIBase::SetCurrAction(CAIAction& action)short CGameAIBase::SetGabber(CGameSprite* pCharacter)void CGameAIBase::SetGeneralScript(CAIScript* script)short CGameAIBase::SetGlobal()short CGameAIBase::SetGlobalTimer()

Continued on next page

972 Chapter 6. EE Game Classes (x86)

Page 977: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 12 – continued from previous pagevoid CGameAIBase::SetOverrideScript(CAIScript* script)short CGameAIBase::SetupWish(long column, long count)void CGameAIBase::SetRaceScript(CAIScript* script)virtual void CGameAIBase::SetScript(short level, CAIScript* script)void CGameAIBase::SetTrigger(CAITrigger& trigger)short CGameAIBase::Shout()short CGameAIBase::SmallWait()short CGameAIBase::SpawnPtActivate(CGameSpawning* pObject)short CGameAIBase::SpawnPtDeactivate(CGameSpawning* pObject)short CGameAIBase::SpawnPtSpawn(CGameSpawning* pObject)short CGameAIBase::StartCutScene(unsigned char evaluateCondition)short CGameAIBase::StartMovie()short CGameAIBase::StartTextScreen()short CGameAIBase::StartTimer()short CGameAIBase::StaticPalette(CGameStatic* pObject, CString palette)short CGameAIBase::StaticSequence(CGameStatic* pObject, unsigned short nSequence)short CGameAIBase::StaticStart(CGameStatic* pObject, int bStart)int CGameAIBase::SubtractPartyItemUse(CResRef & res, short charges, short abilityNum)void CGameAIBase::SynchLastObjects()short CGameAIBase::TakeObjectGoldGlobal(CGameObject* pObject)short CGameAIBase::TakePartyGold()short CGameAIBase::TakePartyItem()short CGameAIBase::TakePartyItemList()short CGameAIBase::TransformItem()short CGameAIBase::TriggerActivation(CGameTrigger* target)virtual void CGameAIBase::UpdateTarget(CGameObject* __formal)short CGameAIBase::Unlock(CGameAIBase* pObject)short CGameAIBase::Wait()short CGameAIBase::XEquipItem(CGameSprite* target)

6.28.3 Constructors

Name DescriptionCGameAIBase::CGameAIBase Constructs a CGameAIBase objectCGameAIBase::~CGameAIBase Destroys a CGameAIBase object

CGameAIBase::CGameAIBase

Constructs a CGameAIBase object

void CGameAIBase::CGameAIBase();

Remarks

Constructs a CGameAIBase object

6.28. CGameAIBase Class 973

Page 978: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::~CGameAIBase

Destroys the CGameAIBase object

virtual void CGameAIBase::~CGameAIBase();

Remarks

Destroys the CGameAIBase object

6.28.4 Methods

Name DescriptionCGameAIBase::AddActionCGameAIBase::AddEffectCGameAIBase::AddExperiencePartyGlobalCGameAIBase::AddGlobalsCGameAIBase::AddStoreItemCGameAIBase::AddXP2DACGameAIBase::ApplyEffectToPartyCGameAIBase::ApplySpellCGameAIBase::ApplyTriggersCGameAIBase::AttachTransitionToDoorCGameAIBase::AutoPauseCGameAIBase::BlowThroughInstantActionsCGameAIBase::ChangeAIScriptCGameAIBase::ChangeTileStateCGameAIBase::CheckAppropriateTargetCGameAIBase::CheckTimersCGameAIBase::ClearActionsCGameAIBase::ClearAICGameAIBase::ClearAllActionsCGameAIBase::ClearTriggersCGameAIBase::ClickLButtonObjectCGameAIBase::ClickLButtonPointCGameAIBase::ClickRButtonObjectCGameAIBase::ClickRButtonPointCGameAIBase::CloseDoorCGameAIBase::CompressTimeCGameAIBase::ContainerEnableCGameAIBase::CreateCreatureCGameAIBase::CreateCreatureObjectCGameAIBase::CreateItemCGameAIBase::CreateVisualEffectCGameAIBase::CreateVisualEffectObjectCGameAIBase::DeathMatchPositionCGameAIBase::DecodeSpellCGameAIBase::DestroyItemCGameAIBase::DetectSecretDoor

Continued on next page

974 Chapter 6. EE Game Classes (x86)

Page 979: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 13 – continued from previous pageCGameAIBase::DisplayStringCGameAIBase::DisplayStringPointCGameAIBase::DisplayStringWaitCGameAIBase::DoActionCGameAIBase::DoubleClickLButtonCGameAIBase::DoubleClickLButtonObjectCGameAIBase::DoubleClickLButtonPointCGameAIBase::DoubleClickRButtonCGameAIBase::DoubleClickRButtonObjectCGameAIBase::DoubleClickRButtonPointCGameAIBase::EncodeSpellCGameAIBase::EvaluateStatusTriggerCGameAIBase::ExecuteActionCGameAIBase::ExportPartyCGameAIBase::FadeFromColorCGameAIBase::FadeToColorCGameAIBase::FireItemCGameAIBase::FireItemPointCGameAIBase::FireSpellCGameAIBase::FireSpellPointCGameAIBase::ForceSpellCGameAIBase::ForceSpellPointCGameAIBase::GetAttackRangeCGameAIBase::GetBoundingCGameAIBase::GetCanSeeInvisibleCGameAIBase::GetGlobalVariableCGameAIBase::GetHelpRangeCGameAIBase::GetNextActionCGameAIBase::GetReactionCGameAIBase::GetTargetShareCGameAIBase::GetTargetShareTypeCGameAIBase::GetTerrainTableCGameAIBase::GetVariableReferenceCGameAIBase::GetVisibleTerrainTableCGameAIBase::GetVisualRangeCGameAIBase::GiveItemCreateCGameAIBase::GiveObjectGoldGlobalCGameAIBase::GiveOrderCGameAIBase::GivePartyGoldCGameAIBase::GivePartyGoldGlobalCGameAIBase::IncrementChapterCGameAIBase::IncrementGlobalCGameAIBase::InsertActionCGameAIBase::InsertResponseCGameAIBase::LeaveAreaLuaPanicCGameAIBase::LeaveAreaLuaPanicEntryCGameAIBase::LockCGameAIBase::MoveContainerContentsCGameAIBase::MoveCursorCGameAIBase::MoveCursorPoint

Continued on next page

6.28. CGameAIBase Class 975

Page 980: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 13 – continued from previous pageCGameAIBase::MoveGlobalCGameAIBase::MoveGlobalObjectCGameAIBase::MoveViewCGameAIBase::MoveViewObjectCGameAIBase::MoveViewPointCGameAIBase::MultiPlayerSynchCGameAIBase::OnActionRemovalCGameAIBase::OpenDoorCGameAIBase::PartyHasItemCGameAIBase::PlaceItemCGameAIBase::PlaySoundCGameAIBase::ProcessAICGameAIBase::ProcessPendingTriggersCGameAIBase::PutItemGroundCGameAIBase::QuickDecodeCGameAIBase::RemoveFromAreaCGameAIBase::RemoveStoreItemCGameAIBase::RemoveTrapsNonSpriteCGameAIBase::RevealAreaOnMapCGameAIBase::SaveLocationCGameAIBase::SaveObjectLocationCGameAIBase::SendTriggerCGameAIBase::SetClassScriptCGameAIBase::SetCurrActionCGameAIBase::SetGabberCGameAIBase::SetGeneralScriptCGameAIBase::SetGlobalCGameAIBase::SetGlobalTimerCGameAIBase::SetOverrideScriptCGameAIBase::SetupWishCGameAIBase::SetRaceScriptCGameAIBase::SetScriptCGameAIBase::SetTriggerCGameAIBase::ShoutCGameAIBase::SmallWaitCGameAIBase::SpawnPtActivateCGameAIBase::SpawnPtDeactivateCGameAIBase::SpawnPtSpawnCGameAIBase::StartCutSceneCGameAIBase::StartMovieCGameAIBase::StartTextScreenCGameAIBase::StartTimerCGameAIBase::StaticPaletteCGameAIBase::StaticSequenceCGameAIBase::StaticStartCGameAIBase::SubtractPartyItemUseCGameAIBase::SynchLastObjectsCGameAIBase::TakeObjectGoldGlobalCGameAIBase::TakePartyGoldCGameAIBase::TakePartyItem

Continued on next page

976 Chapter 6. EE Game Classes (x86)

Page 981: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 13 – continued from previous pageCGameAIBase::TakePartyItemListCGameAIBase::TransformItemCGameAIBase::TriggerActivationCGameAIBase::UpdateTargetCGameAIBase::UnlockCGameAIBase::WaitCGameAIBase::XEquipItem

CGameAIBase::AddAction

virtual void CGameAIBase::AddAction(CAIAction& action);

Parameters

• CAIAction& action -

Remarks

CGameAIBase::AddEffect

virtual void CGameAIBase::AddEffect(CGameEffect* pEffect,unsigned char list,int noSave,int immediateApply);

Parameters

• CGameEffect* pEffect -

• unsigned char list -

• int noSave -

• int immediateApply -

Remarks

CGameAIBase::AddExperiencePartyGlobal

short CGameAIBase::AddExperiencePartyGlobal();

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 977

Page 982: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::AddGlobals

short CGameAIBase::AddGlobals();

Return Value

Returns short

Remarks

CGameAIBase::AddStoreItem

short CGameAIBase::AddStoreItem();

Return Value

Returns short

Remarks

CGameAIBase::AddXP2DA

short CGameAIBase::AddXP2DA();

Return Value

Returns short

Remarks

CGameAIBase::ApplyEffectToParty

void CGameAIBase::ApplyEffectToParty(CGameEffect* effect);

Parameters

• CGameEffect* effect -

Remarks

978 Chapter 6. EE Game Classes (x86)

Page 983: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::ApplySpell

short CGameAIBase::ApplySpell(CGameSprite* target);

Parameters

• CGameSprite* target -

Return Value

Returns short

Remarks

CGameAIBase::ApplyTriggers

virtual void CGameAIBase::ApplyTriggers();

Remarks

CGameAIBase::AttachTransitionToDoor

short CGameAIBase::AttachTransitionToDoor(CGameDoor* pObject);

Parameters

• CGameDoor* pObject -

Return Value

Returns short

Remarks

CGameAIBase::AutoPause

virtual void CGameAIBase::AutoPause(unsigned long type);

Parameters

• unsigned long type -

Remarks

6.28. CGameAIBase Class 979

Page 984: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::BlowThroughInstantActions

int CGameAIBase::BlowThroughInstantActions();

Return Value

Returns int

Remarks

CGameAIBase::ChangeAIScript

short CGameAIBase::ChangeAIScript();

Return Value

Returns short

Remarks

CGameAIBase::ChangeTileState

short CGameAIBase::ChangeTileState(CGameTiledObject* target);

Parameters

• CGameTiledObject* target -

Return Value

Returns short

Remarks

CGameAIBase::CheckAppropriateTarget

int CGameAIBase::CheckAppropriateTarget(CSpell* pSpell,CGameAIBase* pTarget);

Parameters

• CSpell* pSpell -

• CGameAIBase* pTarget -

Return Value

Returns int

Remarks

980 Chapter 6. EE Game Classes (x86)

Page 985: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::CheckTimers

void CGameAIBase::CheckTimers(long cycles);

Parameters

• long cycles -

Remarks

CGameAIBase::ClearActions

short CGameAIBase::ClearActions(CGameAIBase* pSprite);

Parameters

• CGameAIBase* pSprite -

Return Value

Returns short

Remarks

CGameAIBase::ClearActions

virtual void CGameAIBase::ClearActions(int leaveOverrides);

Parameters

• int leaveOverrides -

Remarks

CGameAIBase::ClearAI

virtual void CGameAIBase::ClearAI(unsigned char setSequence);

Parameters

• unsigned char setSequence -

Remarks

6.28. CGameAIBase Class 981

Page 986: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::ClearAllActions

short CGameAIBase::ClearAllActions();

Return Value

Returns short

Remarks

CGameAIBase::ClearTriggers

void CGameAIBase::ClearTriggers();

Remarks

CGameAIBase::ClickLButtonObject

short CGameAIBase::ClickLButtonObject(CGameObject* target);

Parameters

• CGameObject* target -

Return Value

Returns short

Remarks

CGameAIBase::ClickLButtonPoint

short CGameAIBase::ClickLButtonPoint();

Return Value

Returns short

Remarks

982 Chapter 6. EE Game Classes (x86)

Page 987: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::ClickRButtonObject

short CGameAIBase::ClickRButtonObject(CGameObject* target);

Parameters

• CGameObject* target -

Return Value

Returns short

Remarks

CGameAIBase::ClickRButtonPoint

short CGameAIBase::ClickRButtonPoint();

Return Value

Returns short

Remarks

CGameAIBase::CloseDoor

short CGameAIBase::CloseDoor(CGameDoor* pDoor);

Parameters

• CGameDoor* pDoor -

Return Value

Returns short

Remarks

CGameAIBase::CompressTime

virtual unsigned char CGameAIBase::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

6.28. CGameAIBase Class 983

Page 988: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::ContainerEnable

short CGameAIBase::ContainerEnable(CGameContainer* pContainer);

Parameters

• CGameContainer* pContainer -

Return Value

Returns short

Remarks

CGameAIBase::CreateCreature

short CGameAIBase::CreateCreature();

Return Value

Returns short

Remarks

CGameAIBase::CreateCreatureObject

short CGameAIBase::CreateCreatureObject(CGameAIBase* pObject);

Parameters

• CGameAIBase* pObject -

Return Value

Returns short

Remarks

CGameAIBase::CreateItem

short CGameAIBase::CreateItem();

Return Value

Returns short

Remarks

CGameAIBase::CreateVisualEffect

984 Chapter 6. EE Game Classes (x86)

Page 989: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::CreateVisualEffect();

Return Value

Returns short

Remarks

CGameAIBase::CreateVisualEffectObject

short CGameAIBase::CreateVisualEffectObject(CGameAIBase* pObject);

Parameters

• CGameAIBase* pObject -

Return Value

Returns short

Remarks

CGameAIBase::DeathMatchPosition

short CGameAIBase::DeathMatchPosition();

Return Value

Returns short

Remarks

CGameAIBase::DecodeSpell

void CGameAIBase::DecodeSpell(long spellId,CString& res);

Parameters

• long spellId -

• CString& res -

Remarks

CGameAIBase::DestroyItem

6.28. CGameAIBase Class 985

Page 990: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::DestroyItem();

Return Value

Returns short

Remarks

CGameAIBase::DetectSecretDoor

short CGameAIBase::DetectSecretDoor(CGameDoor* target);

Parameters

• CGameDoor* target -

Return Value

Returns short

Remarks

CGameAIBase::DisplayString

short CGameAIBase::DisplayString(CGameAIBase* sprite);

Parameters

• CGameAIBase* sprite -

Return Value

Returns short

Remarks

CGameAIBase::DisplayStringPoint

short CGameAIBase::DisplayStringPoint(CGameArea* area,unsigned long text,CPoint& dest);

Parameters

• CGameArea* area -

• unsigned long text -

• CPoint& dest -

986 Chapter 6. EE Game Classes (x86)

Page 991: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns short

Remarks

CGameAIBase::DisplayStringWait

short CGameAIBase::DisplayStringWait(CGameAIBase* sprite);

Parameters

• CGameAIBase* sprite -

Return Value

Returns short

Remarks

CGameAIBase::DoAction

virtual void CGameAIBase::DoAction();

Remarks

CGameAIBase::DoubleClickLButton

short CGameAIBase::DoubleClickLButton(CPoint dest);

Parameters

• CPoint dest -

Return Value

Returns short

Remarks

CGameAIBase::DoubleClickLButtonObject

short CGameAIBase::DoubleClickLButtonObject(CGameObject* target);

Parameters

• CGameObject* target -

6.28. CGameAIBase Class 987

Page 992: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns short

Remarks

CGameAIBase::DoubleClickLButtonPoint

short CGameAIBase::DoubleClickLButtonPoint();

Return Value

Returns short

Remarks

CGameAIBase::DoubleClickRButton

short CGameAIBase::DoubleClickRButton(CPoint dest);

Parameters

• CPoint dest -

Return Value

Returns short

Remarks

CGameAIBase::DoubleClickRButtonObject

short CGameAIBase::DoubleClickRButtonObject(CGameObject* target);

Parameters

• CGameObject* target -

Return Value

Returns short

Remarks

988 Chapter 6. EE Game Classes (x86)

Page 993: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::DoubleClickRButtonPoint

short CGameAIBase::DoubleClickRButtonPoint();

Return Value

Returns short

Remarks

CGameAIBase::EncodeSpell

long CGameAIBase::EncodeSpell(CString& res,long level);

Parameters

• CString& res -

• long level -

Return Value

Returns long

Remarks

CGameAIBase::EvaluateStatusTrigger

virtual int CGameAIBase::EvaluateStatusTrigger(CAITrigger& inTrigger);

Parameters

• CAITrigger& inTrigger -

Return Value

Returns int

Remarks

CGameAIBase::ExecuteAction

virtual short CGameAIBase::ExecuteAction();

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 989

Page 994: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::ExportParty

short CGameAIBase::ExportParty();

Return Value

Returns short

Remarks

CGameAIBase::FadeFromColor

short CGameAIBase::FadeFromColor();

Return Value

Returns short

Remarks

CGameAIBase::FadeToColor

short CGameAIBase::FadeToColor();

Return Value

Returns short

Remarks

CGameAIBase::FireItem

short CGameAIBase::FireItem(CItem* pItem,long abilityNum,CGameObject* pTarget);

Parameters

• CItem* pItem -

• long abilityNum -

• CGameObject* pTarget -

Return Value

Returns short

Remarks

990 Chapter 6. EE Game Classes (x86)

Page 995: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::FireItemPoint

short CGameAIBase::FireItemPoint(CItem* pItem,long abilityNum,CPoint& target);

Parameters

• CItem* pItem -

• long abilityNum -

• CPoint& target -

Return Value

Returns short

Remarks

CGameAIBase::FireSpell

short CGameAIBase::FireSpell(CResRef& res,CGameObject* target,int checkRange,unsigned long rangeError,CWildSurge* pSurge,int displayString,int suppressCastingGlow);

Parameters

• CResRef & res -

• CGameObject* target -

• int checkRange -

• unsigned long rangeError -

• CWildSurge* pSurge -

• int displayString -

• int suppressCastingGlow -

Return Value

Returns short

Remarks

CGameAIBase::FireSpellPoint

6.28. CGameAIBase Class 991

Page 996: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::FireSpellPoint(CResRef& res,:CPoint& ptTarget,int checkRange,unsigned long rangeError,CWildSurge* pSurge,int displayString,int suppressCastingGlow);

Parameters

• CResRef & res -

• CPoint& ptTarget -

• int checkRange -

• unsigned long rangeError -

• CWildSurge* pSurge -

• int displayString -

• int suppressCastingGlow -

Return Value

Returns short

Remarks

CGameAIBase::ForceSpell

short CGameAIBase::ForceSpell(CGameSprite* target);

Parameters

• CGameSprite* target -

Return Value

Returns short

Remarks

CGameAIBase::ForceSpellPoint

short CGameAIBase::ForceSpellPoint();

Return Value

Returns short

Remarks

992 Chapter 6. EE Game Classes (x86)

Page 997: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::GetAttackRange

virtual short CGameAIBase::GetAttackRange();

Return Value

Returns short

Remarks

CGameAIBase::GetBounding

virtual CRect CGameAIBase::GetBounding();

Return Value

Returns CRect

Remarks

CGameAIBase::GetCanSeeInvisible

virtual int CGameAIBase::GetCanSeeInvisible();

Return Value

Returns int

Remarks

CGameAIBase::GetGlobalVariable

CVariable* CGameAIBase::GetGlobalVariable(CString areaName,CString globalName);

Parameters

• CString areaName -

• CString vglobalName -

Return Value

Returns CVariable*

Remarks

CGameAIBase::GetHelpRange

6.28. CGameAIBase Class 993

Page 998: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual short CGameAIBase::GetHelpRange();

Return Value

Returns short

Remarks

‘CGameAIBase::GetNextAction

CAIAction& CGameAIBase::GetNextAction(CAIAction& action);

Parameters

• CAIAction& action -

Return Value

Returns CAIAction&

Remarks

CGameAIBase::GetReaction

unsigned char CGameAIBase::GetReaction(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns unsigned char

Remarks

CGameAIBase::GetTargetShare

CGameObject* CGameAIBase::GetTargetShare(CAIObjectType& type);

Parameters

• CAIObjectType& type -

Return Value

Returns CGameObject*

Remarks

CGameAIBase::GetTargetShare

994 Chapter 6. EE Game Classes (x86)

Page 999: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject* CGameAIBase::GetTargetShare();

Return Value

Returns CGameObject*

Remarks

CGameAIBase::GetTargetShareType

CGameObject* CGameAIBase::GetTargetShareType(CAIObjectType& AItype,unsigned char type);

Parameters

• CAIObjectType& AItype -

• unsigned char type -

Return Value

Returns CGameObject*

Remarks

CGameAIBase::GetTargetShareType

CGameObject* CGameAIBase::GetTargetShareType(unsigned char type);

Parameters

• unsigned char type -

Return Value

Returns CGameObject*

Remarks

CGameAIBase::GetTerrainTable

virtual const unsigned char* CGameAIBase::GetTerrainTable();

Return Value

Returns const unsigned char*

Remarks

6.28. CGameAIBase Class 995

Page 1000: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::GetVariableReference

CVariable* CGameAIBase::GetVariableReference(CString& areaName,CString& globalName);

Parameters

• CString& areaName -

• CString& globalName -

Return Value

Returns CVariable*

Remarks

CGameAIBase::GetVisibleTerrainTable

virtual const unsigned char* CGameAIBase::GetVisibleTerrainTable();

Return Value

Returns const unsigned char*

Remarks

CGameAIBase::GetVisualRange

virtual short CGameAIBase::GetVisualRange();

Return Value

Returns short

Remarks

CGameAIBase::GiveItemCreate

short CGameAIBase::GiveItemCreate(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns short

Remarks

996 Chapter 6. EE Game Classes (x86)

Page 1001: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::GiveObjectGoldGlobal

short CGameAIBase::GiveObjectGoldGlobal(CGameObject* pObject);

Parameters

• CGameObject* pObject -

Return Value

Returns short

Remarks

CGameAIBase::GiveOrder

short CGameAIBase::GiveOrder(CGameAIBase* sprite);

Parameters

• CGameAIBase* sprite -

Return Value

Returns short

Remarks

CGameAIBase::GivePartyGold

short CGameAIBase::GivePartyGold();

Return Value

Returns short

Remarks

CGameAIBase::GivePartyGoldGlobal

short CGameAIBase::GivePartyGoldGlobal();

Return Value

Returns short

Remarks

CGameAIBase::IncrementChapter

6.28. CGameAIBase Class 997

Page 1002: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::IncrementChapter();

Return Value

Returns short

Remarks

CGameAIBase::IncrementGlobal

short CGameAIBase::IncrementGlobal();

Return Value

Returns short

Remarks

CGameAIBase::InsertAction

virtual void CGameAIBase::InsertAction(CAIAction& action);

Parameters

• CAIAction& action -

Remarks

CGameAIBase::InsertResponse

void CGameAIBase::InsertResponse(CAIResponse& res,int checkCurrentResponse,int clearActions);

Parameters

• CAIResponse& res -

• int checkCurrentResponse -

• int clearActions -

Remarks

CGameAIBase::LeaveAreaLuaPanic

998 Chapter 6. EE Game Classes (x86)

Page 1003: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::LeaveAreaLuaPanic();

Return Value

Returns short

Remarks

CGameAIBase::LeaveAreaLuaPanicEntry

short CGameAIBase::LeaveAreaLuaPanicEntry();

Return Value

Returns short

Remarks

CGameAIBase::Lock

short CGameAIBase::Lock(CGameAIBase* pObject);

Parameters

• CGameAIBase* pObject -

Return Value

Returns short

Remarks

CGameAIBase::MoveContainerContents

short CGameAIBase::MoveContainerContents(CString arg1,CString arg2);

Parameters

• CString arg1 -

• CString arg2 -

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 999

Page 1004: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::MoveCursor

short CGameAIBase::MoveCursor(CPoint dest,short speed);

Parameters

• CPoint dest -

• short speed -

Return Value

Returns short

Remarks

CGameAIBase::MoveCursorPoint

short CGameAIBase::MoveCursorPoint();

Return Value

Returns short

Remarks

CGameAIBase::MoveGlobal

short CGameAIBase::MoveGlobal(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns short

Remarks

CGameAIBase::MoveGlobalObject

short CGameAIBase::MoveGlobalObject(CGameSprite* pTarget);

Parameters

• CGameSprite* pTarget -

1000 Chapter 6. EE Game Classes (x86)

Page 1005: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns short

Remarks

CGameAIBase::MoveView

short CGameAIBase::MoveView(CPoint dest,short speed);

Parameters

• CPoint dest -

• short speed -

Return Value

Returns short

Remarks

CGameAIBase::MoveViewObject

short CGameAIBase::MoveViewObject(CGameObject* target);

Parameters

• CGameObject* target -

Return Value

Returns short

Remarks

CGameAIBase::MoveViewPoint

short CGameAIBase::MoveViewPoint();

Return Value

Returns short

Remarks

CGameAIBase::MultiPlayerSynch

6.28. CGameAIBase Class 1001

Page 1006: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::MultiPlayerSynch();

Return Value

Returns short

Remarks

CGameAIBase::OnActionRemoval

virtual void CGameAIBase::OnActionRemoval(CAIAction& curAction);

Parameters

• CAIAction& curAction -

Remarks

CGameAIBase::OpenDoor

short CGameAIBase::OpenDoor(CGameDoor* pDoor);

Parameters

• CGameDoor* pDoor -

Return Value

Returns short

Remarks

CGameAIBase::PartyHasItem

int CGameAIBase::PartyHasItem(CResRef& res);

Parameters

• CResRef & res -

Return Value

Returns int

Remarks

CGameAIBase::PlaceItem

1002 Chapter 6. EE Game Classes (x86)

Page 1007: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CGameAIBase::PlaceItem(CItem* pItem,int haveDeny,int dropUnplaced,unsigned long num,int feedback);

Parameters

• CItem* pItem -

• int haveDeny -

• int dropUnplaced -

• unsigned long num -

• int feedback -

Return Value

Returns int

Remarks

CGameAIBase::PlaySound

short CGameAIBase::PlaySound();

Return Value

Returns short

Remarks

CGameAIBase::ProcessAI

virtual void CGameAIBase::ProcessAI();

Remarks

CGameAIBase::ProcessPendingTriggers

void CGameAIBase::ProcessPendingTriggers(int overrideOnly);

Parameters

• int overrideOnly -

Remarks

6.28. CGameAIBase Class 1003

Page 1008: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::PutItemGround

void CGameAIBase::PutItemGround(CItem* pItem);

Parameters

• CItem* pItem -

Remarks

CGameAIBase::QuickDecode

virtual int CGameAIBase::QuickDecode(CAITrigger& trigger,CGameSprite*& pSprite);

Parameters

• CAITrigger& trigger -

• CGameSprite*& pSprite -

Return Value

Returns int

Remarks

CGameAIBase::RemoveFromArea

virtual void CGameAIBase::RemoveFromArea();

Remarks

CGameAIBase::RemoveStoreItem

short CGameAIBase::RemoveStoreItem();

Return Value

Returns short

Remarks

1004 Chapter 6. EE Game Classes (x86)

Page 1009: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::RemoveTrapsNonSprite

short CGameAIBase::RemoveTrapsNonSprite(CGameAIBase* pObject);

Parameters

• CGameAIBase* pObject -

Return Value

Returns short

Remarks

CGameAIBase::RevealAreaOnMap

short CGameAIBase::RevealAreaOnMap();

Return Value

Returns short

Remarks

CGameAIBase::SaveLocation

short CGameAIBase::SaveLocation();

Return Value

Returns short

Remarks

CGameAIBase::SaveObjectLocation

short CGameAIBase::SaveObjectLocation(CGameObject* pObject);

Parameters

• CGameObject* pObject -

Return Value

Returns short

Remarks

CGameAIBase::SendTrigger

6.28. CGameAIBase Class 1005

Page 1010: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

short CGameAIBase::SendTrigger(CGameAIBase* sprite);

Parameters

• CGameAIBase* sprite -

Return Value

Returns short

Remarks

CGameAIBase::SetClassScript

void CGameAIBase::SetClassScript(CAIScript* script);

Parameters

• CAIScript* script -

Remarks

CGameAIBase::SetCurrAction

virtual void CGameAIBase::SetCurrAction(CAIAction& action);

Parameters

• CAIAction& action -

Remarks

CGameAIBase::SetGabber

short CGameAIBase::SetGabber(CGameSprite* pCharacter);

Parameters

• CGameSprite* pCharacter -

Return Value

Returns short

Remarks

CGameAIBase::SetGeneralScript

1006 Chapter 6. EE Game Classes (x86)

Page 1011: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameAIBase::SetGeneralScript(CAIScript* script);

Parameters

• CAIScript* script -

Remarks

CGameAIBase::SetGlobal

short CGameAIBase::SetGlobal();

Return Value

Returns short

Remarks

CGameAIBase::SetGlobalTimer

short CGameAIBase::SetGlobalTimer();

Return Value

Returns short

Remarks

CGameAIBase::SetOverrideScript

void CGameAIBase::SetOverrideScript(CAIScript* script);

Parameters

• CAIScript* script -

Remarks

CGameAIBase::SetupWish

short CGameAIBase::SetupWish(long column,long count);

Parameters

• long column -

6.28. CGameAIBase Class 1007

Page 1012: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• long count -

Return Value

Returns short

Remarks

CGameAIBase::SetRaceScript

void CGameAIBase::SetRaceScript(CAIScript* script);

Parameters

• CAIScript* script -

Remarks

CGameAIBase::SetScript

virtual void CGameAIBase::SetScript(short level,CAIScript* script);

Parameters

• short level -

• CAIScript* script -

Remarks

CGameAIBase::SetTrigger

void CGameAIBase::SetTrigger(CAITrigger& trigger);

Parameters

• CAITrigger& trigger -

Remarks

CGameAIBase::Shout

short CGameAIBase::Shout();

Return Value

Returns short

Remarks

1008 Chapter 6. EE Game Classes (x86)

Page 1013: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::SmallWait

short CGameAIBase::SmallWait();

Return Value

Returns short

Remarks

CGameAIBase::SpawnPtActivate

short CGameAIBase::SpawnPtActivate(CGameSpawning* pObject);

Parameters

• CGameSpawning* pObject -

Return Value

Returns short

Remarks

CGameAIBase::SpawnPtDeactivate

short CGameAIBase::SpawnPtDeactivate(CGameSpawning* pObject);

Parameters

• CGameSpawning* pObject -

Return Value

Returns short

Remarks

CGameAIBase::SpawnPtSpawn

short CGameAIBase::SpawnPtSpawn(CGameSpawning* pObject);

Parameters

• CGameSpawning* pObject -

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 1009

Page 1014: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::StartCutScene

short CGameAIBase::StartCutScene(unsigned char evaluateCondition);

Parameters

• unsigned char evaluateCondition -

Return Value

Returns short

Remarks

CGameAIBase::StartMovie

short CGameAIBase::StartMovie();

Return Value

Returns short

Remarks

CGameAIBase::StartTextScreen

short CGameAIBase::StartTextScreen();

Return Value

Returns short

Remarks

CGameAIBase::StartTimer

short CGameAIBase::StartTimer();

Return Value

Returns short

Remarks

1010 Chapter 6. EE Game Classes (x86)

Page 1015: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::StaticPalette

short CGameAIBase::StaticPalette(CGameStatic* pObject,CString palette);

Parameters

• CGameStatic* pObject -

• CString palette -

Return Value

Returns short

Remarks

CGameAIBase::StaticSequence

short CGameAIBase::StaticSequence(CGameStatic* pObject,unsigned short nSequence);

Parameters

• CGameStatic* pObject -

• unsigned short nSequence -

Return Value

Returns short

Remarks

CGameAIBase::StaticStart

short CGameAIBase::StaticStart(CGameStatic* pObject,int bStart);

Parameters

• CGameStatic* pObject -

• int bStart -

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 1011

Page 1016: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::SubtractPartyItemUse

int CGameAIBase::SubtractPartyItemUse(CResRef& res,short charges,short abilityNum);

Parameters

• CResRef & res -

• short charges -

• short abilityNum -

Return Value

Returns int

Remarks

CGameAIBase::SynchLastObjects

void CGameAIBase::SynchLastObjects();

Remarks

CGameAIBase::TakeObjectGoldGlobal

short CGameAIBase::TakeObjectGoldGlobal(CGameObject* pObject);

Parameters

• CGameObject* pObject -

Return Value

Returns short

Remarks

CGameAIBase::TakePartyGold

short CGameAIBase::TakePartyGold();

Return Value

Returns short

Remarks

1012 Chapter 6. EE Game Classes (x86)

Page 1017: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::TakePartyItem

short CGameAIBase::TakePartyItem();

Return Value

Returns short

Remarks

CGameAIBase::TakePartyItemList

short CGameAIBase::TakePartyItemList();

Return Value

Returns short

Remarks

CGameAIBase::TransformItem

short CGameAIBase::TransformItem();

Return Value

Returns short

Remarks

CGameAIBase::TriggerActivation

short CGameAIBase::TriggerActivation(CGameTrigger* target);

Parameters

• CGameTrigger* target -

Return Value

Returns short

Remarks

6.28. CGameAIBase Class 1013

Page 1018: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAIBase::UpdateTarget

virtual void CGameAIBase::UpdateTarget(CGameObject* __formal);

Parameters

• CGameObject* __formal -

Remarks

CGameAIBase::Unlock

short CGameAIBase::Unlock(CGameAIBase* pObject);

Parameters

• CGameAIBase* pObject -

Return Value

Returns short

Remarks

CGameAIBase::Wait

short CGameAIBase::Wait();

Return Value

Returns short

Remarks

CGameAIBase::XEquipItem

short CGameAIBase::XEquipItem(CGameSprite* target);

Parameters

• CGameSprite* target -

Return Value

Returns short

Remarks

1014 Chapter 6. EE Game Classes (x86)

Page 1019: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.29 CGameAnimation Class

• Overview

• Quick Reference

• Methods

6.29.1 Overview

Note: The CGameAnimation class handles game animations

The structure used for this class is CGameAnimation

6.29.2 Quick Reference

Quick Refunsigned char CGameAnimation::DetectedByInfravision()unsigned char CGameAnimation::GetPersonalSpace()int CGameAnimation::IsAnkhegType()

6.29.3 Methods

Name DescriptionCGameAnimation::DetectedByInfravisionCGameAnimation::GetPersonalSpaceCGameAnimation::IsAnkhegType

CGameAnimation::DetectedByInfravision

unsigned char CGameAnimation::DetectedByInfravision();

Return Value

Returns unsigned char

Remarks

6.29. CGameAnimation Class 1015

Page 1020: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAnimation::GetPersonalSpace

unsigned char CGameAnimation::GetPersonalSpace();

Return Value

Returns unsigned char

Remarks

CGameAnimation::IsAnkhegType

int CGameAnimation::IsAnkhegType();

Return Value

Returns int

Remarks

6.30 CGameAreaNotes Class

The structure used for this class is CGameAreaNotes

Quick Refvoid CGameAreaNotes::CGameAreaNotes()void CGameAreaNotes::~CGameAreaNotes()void CGameAreaNotes::Add(CString area, unsigned short startX, unsigned short startY, CString szNote, un-signed long dwFlags, unsigned long strRef)void CGameAreaNotes::Add()int CGameAreaNotes::AddANote(CAreaUserNote* cNote)int CGameAreaNotes::AddButton(CPoint ptWorld)void CGameAreaNotes::AddPredefinedNote(unsigned long strref, unsigned long flags, CPoint cPoint, int bAd-dToEnd)int CGameAreaNotes::DeleteANote(unsigned long nButtonId)CAreaUserNote* CGameAreaNotes::GetNoteAt(CPoint& cPt)int CGameAreaNotes::GetNoteButtonColor(unsigned long iD)unsigned long CGameAreaNotes::GetNoteButtonText(unsigned long iD)void CGameAreaNotes::IntrnlInitialize()int CGameAreaNotes::IsANoteThere(CPoint& cPt)void CGameAreaNotes::Marshal(unsigned char**& pArea, unsigned long& cnt)void CGameAreaNotes::PushNoteToLua(CPoint ptWorld, CPoint ptScreen)void CGameAreaNotes::RemoveTextFromNote(unsigned long strref, CPoint cPoint)void CGameAreaNotes::Uninitialize()int CGameAreaNotes::UpdateButton(CPoint ptWorld, int nID)void CGameAreaNotes::UpdateButtonPositions()

1016 Chapter 6. EE Game Classes (x86)

Page 1021: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.30.1 Constructors

Name DescriptionCGameAreaNotes::CGameAreaNotes Constructs a CGameAreaNotes objectCGameAreaNotes::~CGameAreaNotes Destroys a CGameAreaNotes object

CGameAreaNotes::CGameAreaNotes

Constructs a CGameAreaNotes object

void CGameAreaNotes::CGameAreaNotes();

Remarks

Constructs a CGameAreaNotes object

CGameAreaNotes::~CGameAreaNotes

Destroys the CGameAreaNotes object

void CGameAreaNotes::~CGameAreaNotes();

Remarks

Destroys the CGameAreaNotes object

6.30.2 Methods

Name DescriptionCGameAreaNotes::Add Add notes to an areaCGameAreaNotes::AddANote Add a note to areaCGameAreaNotes::AddButton Add a note buttonCGameAreaNotes::AddPredefinedNote Add a predefined note using a string reference from the tlk tableCGameAreaNotes::DeleteANote Delete an existing note buttonCGameAreaNotes::GetNoteAt Get note information at a specified coordinateCGameAreaNotes::GetNoteButtonColor Returns note color for a specified note buttonCGameAreaNotes::GetNoteButtonText Returns note text for a specified note buttonCGameAreaNotes::IntrnlInitializeCGameAreaNotes::IsANoteThere Determines if a note exists at the specified coordinatesCGameAreaNotes::MarshalCGameAreaNotes::PushNoteToLua Push a note at a specified world and screen location to the lua stackCGameAreaNotes::RemoveTextFromNote Remove text from an existing noteCGameAreaNotes::UninitializeCGameAreaNotes::UpdateButton Refresh and update note buttonCGameAreaNotes::UpdateButtonPositions Update note positions

6.30. CGameAreaNotes Class 1017

Page 1022: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAreaNotes::Add

Add notes to an area

void CGameAreaNotes::Add(CString area,unsigned short startX,unsigned short startY,CString szNote,unsigned long dwFlags,unsigned long strRef);

Parameters

• CString area - map area name to add notes to

• unsigned short startX - x coordinate to add note at

• unsigned short startY - y coordinate to add note at

• CString szNote - the text content of the note to add

• unsigned long dwFlags - flags

• unsigned long strRef - string reference

Remarks

CGameAreaNotes::AddANote

Add a note to area

int CGameAreaNotes::AddANote(CAreaUserNote* cNote);

Parameters

• CAreaUserNote* cNote - note structure to use for adding a note

Return Value

Returns int

Remarks

CGameAreaNotes::AddButton

Add a note button

int CGameAreaNotes::AddButton(CPoint ptWorld);

Parameters

• CPoint ptWorld - x and y coordinates to add note button at

1018 Chapter 6. EE Game Classes (x86)

Page 1023: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CGameAreaNotes::AddPredefinedNote

Add a predefined note using a string reference from the tlk table

void CGameAreaNotes::AddPredefinedNote(unsigned long strref,unsigned long flags,CPoint cPoint,int bAddToEnd);

Parameters

• unsigned long strref - string reference of existing note defined in tlk table to add

• unsigned long flags - flags

• CPoint cPoint - x and y coordinates to add note at

• int bAddToEnd - add note to end or beginning

Remarks

CGameAreaNotes::DeleteANote

Delete an existing note button

int CGameAreaNotes::DeleteANote(unsigned long nButtonId);

Parameters

• unsigned long nButtonId - id of note button to delete

Return Value

Returns int

Remarks

CGameAreaNotes::GetNoteAt

Get note information at a specified coordinate

CAreaUserNote* CGameAreaNotes::GetNoteAt(CPoint& cPt);

Parameters

• CPoint& cPt - x and y coordinates to return note at this location for

6.30. CGameAreaNotes Class 1019

Page 1024: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns CAreaUserNote*

Remarks

CGameAreaNotes::GetNoteButtonColor

Returns note color for a specified note button

int CGameAreaNotes::GetNoteButtonColor(unsigned long iD);

Parameters

• unsigned long iD - id of note button to return color for

Return Value

Returns int

Remarks

CGameAreaNotes::GetNoteButtonText

Returns note text for a specified note button

unsigned long CGameAreaNotes::GetNoteButtonText(unsigned long iD);

Parameters

• unsigned long iD - id of note button

Return Value

Returns unsigned long

Remarks

CGameAreaNotes::IntrnlInitialize

void CGameAreaNotes::IntrnlInitialize();

Remarks

1020 Chapter 6. EE Game Classes (x86)

Page 1025: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAreaNotes::IsANoteThere

Determines if a note exists at the specified coordinates

int CGameAreaNotes::IsANoteThere(CPoint& cPt);

Parameters

• CPoint& cPt - x and y coordinates to check if a note exists at

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CGameAreaNotes::Marshal

void CGameAreaNotes::Marshal(unsigned char**& pArea,unsigned long& cnt);

Parameters

• unsigned char**& pArea - pointer to area

• unsigned long& cnt - count

Remarks

CGameAreaNotes::PushNoteToLua

Push a note at a specified world and screen location to the lua stack

void CGameAreaNotes::PushNoteToLua(CPoint ptWorld,CPoint ptScreen);

Parameters

• CPoint ptWorld - x and y coordinates of world

• CPoint ptScreen - x and y coordinates of screen

Remarks

6.30. CGameAreaNotes Class 1021

Page 1026: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameAreaNotes::RemoveTextFromNote

Remove text from an existing note

void CGameAreaNotes::RemoveTextFromNote(unsigned long strref,CPoint cPoint);

Parameters

• unsigned long strref - string reference to remove from note

• CPoint cPoint - x and y coordinates of note button

Remarks

CGameAreaNotes::Uninitialize

void CGameAreaNotes::Uninitialize();

Remarks

CGameAreaNotes::UpdateButton

Refresh and update note button

int CGameAreaNotes::UpdateButton(CPoint ptWorld,int nID);

Parameters

• CPoint ptWorld - x and y coordinates of note button

• int nID - button id

Return Value

Returns int

Remarks

CGameAreaNotes::UpdateButtonPositions

Update note positions

void CGameAreaNotes::UpdateButtonPositions();

Remarks

1022 Chapter 6. EE Game Classes (x86)

Page 1027: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.31 CGameChunk Class

• Overview

• Quick Reference

• Constructors

• Methods

6.31.1 Overview

Note: The CGameChunk class handles game chunks

The structure used for this class is CGameChunk

6.31.2 Quick Reference

Quick Refvoid CGameChunk::CGameChunk(unsigned short animationID, unsigned char* colorRangeValues, CString&sSoundChunk, CGameArea* pArea, CPoint& pos, CPoint& posDelta, long posZ, long posZDelta, unsigned charduration, unsigned char durationFade)virtual void CGameChunk::AIUpdate()virtual unsigned char CGameChunk::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual void CGameChunk::RemoveFromArea()virtual void CGameChunk::Render(CGameArea* pArea, CVidMode* pVidMode)

6.31.3 Constructors

Name DescriptionCGameChunk::CGameChunk Constructs a CGameChunk object

CGameChunk::CGameChunk

Constructs a CGameChunk object

void CGameChunk::CGameChunk(unsigned short animationID,unsigned char* colorRangeValues,CString& sSoundChunk,CGameArea* pArea,CPoint& pos,

(continues on next page)

6.31. CGameChunk Class 1023

Page 1028: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

CPoint& posDelta,long posZ,long posZDelta,unsigned char duration,unsigned char durationFade);

Parameters

• unsigned short animationID -

• unsigned char* colorRangeValues -

• CString& sSoundChunk -

• CGameArea* pArea -

• CPoint& pos -

• CPoint& posDelta -

• long posZ -

• long posZDelta -

• unsigned char duration -

• unsigned char durationFade -

Remarks

Constructs a CGameChunk object

6.31.4 Methods

Name DescriptionCGameChunk::AIUpdateCGameChunk::CanSaveGameCGameChunk::RemoveFromAreaCGameChunk::Render

CGameChunk::AIUpdate

virtual void CGameChunk::AIUpdate();

Remarks

CGameChunk::CanSaveGame

1024 Chapter 6. EE Game Classes (x86)

Page 1029: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual unsigned char CGameChunk::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameChunk::RemoveFromArea

virtual void CGameChunk::RemoveFromArea();

Remarks

CGameChunk::Render

virtual void CGameChunk::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea -

• CVidMode* pVidMode -

Remarks

6.32 CGameContainer Class

The structure used for this class is CGameContainer

Quick Refvoid CGameContainer::CGameContainer(CGameArea* pArea, CRect& rBound)void CGameContainer::CGameContainer(CGameArea* pArea, CAreaFileContainer* pContainerObject, CAreaPoint* pPoints, unsigned short maxPts, CCreatureFileItem* pItems, unsigned long maxItems)virtual void CGameContainer::~CGameContainer()virtual void CGameContainer::AIUpdate()virtual void CGameContainer::AddEffect(CGameEffect* pEffect, unsigned char list, int noSave, int immediateApply)virtual unsigned char CGameContainer::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)

Continued on next page

6.32. CGameContainer Class 1025

Page 1030: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 14 – continued from previous pagevoid CGameContainer::CompressContainer()virtual unsigned char CGameContainer::CompressTime(unsigned long deltaTime)short CGameContainer::CountItem(CResRef & res)virtual void CGameContainer::DebugDump(CString& message, unsigned char bEchoToScreen)virtual unsigned char CGameContainer::DoAIUpdate(unsigned char active, long counter)short CGameContainer::FindItemSlot(CResRef & res)virtual CRect CGameContainer::GetBounding()CItem* CGameContainer::GetItem(short nSlotNum)virtual short CGameContainer::GetNPoly()short CGameContainer::GetNumTrueItems()virtual CPoint* CGameContainer::GetPoly()unsigned char CGameContainer::HasItemType(unsigned long type)unsigned char CGameContainer::HasItemWithFlag(unsigned long flag, int ignoreDestructible)virtual int CGameContainer::IsOver(CPoint& pt)void CGameContainer::Marshal(SAreaFileWrapper* pContainerWrapper)void CGameContainer::MarshalMessage(unsigned char** pData, unsigned long* dwSize)virtual void CGameContainer::OnActionButton(CPoint& pt)void CGameContainer::OpenContainer(CAIObjectType& user)void CGameContainer::PlaceAllGold(unsigned long gold)unsigned char CGameContainer::PlaceItemInBlankSlot(CItem* pItem, unsigned char bCompressContainer, short nRecommendedSlotNum, int useMessage)void CGameContainer::RefreshRenderPile()virtual void CGameContainer::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CGameContainer::SetCursor(long nToolTip)void CGameContainer::SetDrawPoly(short time)void CGameContainer::SetFlags(unsigned long dwFlags)void CGameContainer::SetItem(short nSlotNum, CItem* pItem)void CGameContainer::SetTrapActivated(unsigned short active)void CGameContainer::SetTrapDetected(unsigned short state)unsigned long CGameContainer::TakeAllGold()void CGameContainer::TakeCreatureItems(CGameSprite* pSprite, int Type)virtual void CGameContainer::RemoveFromArea()

6.32.1 Constructors

Name DescriptionCGameContainer::CGameContainer Constructs a CGameContainer objectCGameContainer::~CGameContainer Destroys a CGameContainer object

CGameContainer::CGameContainer

Constructs a CGameContainer object

void CGameContainer::CGameContainer(CGameArea* pArea,CRect& rBound);

Parameters

1026 Chapter 6. EE Game Classes (x86)

Page 1031: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameArea* pArea - pointer to area

• CRect& rBound - bounding rectanble of the container to add to area

Remarks

Constructs a CGameContainer object

CGameContainer::CGameContainer

Constructs a CGameContainer object

void CGameContainer::CGameContainer(CGameArea* pArea,CAreaFileContainer* pContainerObject,CAreaPoint* pPoints,unsigned short maxPts,CCreatureFileItem* pItems,unsigned long maxItems);

Parameters

• CGameArea* pArea - pointer to area

• CAreaFileContainer* pContainerObject - pointer to container object

• CAreaPoint* pPoints - pointer to array of points used for polygon to highlight container

• unsigned short maxPts - count of points in array for polygon

• CCreatureFileItem* pItems - pointer to array of items to add to container

• unsigned long maxItems - count of items in array to add to container

Remarks

Constructs a CGameContainer object

CGameContainer::~CGameContainer

Destroys the CGameContainer object

virtual void CGameContainer::~CGameContainer();

Remarks

Destroys the CGameContainer object

Continued on next page

6.32. CGameContainer Class 1027

Page 1032: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 15 – continued from previous page

6.32.2 Methods

Name DescriptionCGameContainer::AIUpdateCGameContainer::AddEffect Add a game effect to a containerCGameContainer::CanSaveGameCGameContainer::CompressContainerCGameContainer::CompressTimeCGameContainer::CountItem Returns the number of items in containerCGameContainer::DebugDump Debug message from container classCGameContainer::DoAIUpdateCGameContainer::FindItemSlot Return the slot id for a specific item in a containerCGameContainer::GetBounding Get the bounding rectangle for the containerCGameContainer::GetItem Return an item from a specified slot in a containerCGameContainer::GetNPoly Returns no of polygons points for the containerCGameContainer::GetNumTrueItemsCGameContainer::GetPoly Returns a pointer to an array of points which define the container polygonCGameContainer::HasItemType Determines if a container contains a specific item typeCGameContainer::HasItemWithFlag Determines if a container contains a specific item type with an item flagCGameContainer::IsOver Determines if mouse position is over the containerCGameContainer::MarshalCGameContainer::MarshalMessageCGameContainer::OnActionButton Event action for when mouse is clicked on the containerCGameContainer::OpenContainer Opens container by the specified characterCGameContainer::PlaceAllGold Takes gold and places the specified amount into the shared party gold stashCGameContainer::PlaceItemInBlankSlot Places an item into a blank slot of the containerCGameContainer::RefreshRenderPileCGameContainer::RenderCGameContainer::SetCursor Set the cursor and tooltip when mouse is over the containerCGameContainer::SetDrawPolyCGameContainer::SetFlags Set container flagsCGameContainer::SetItem Set an item in a container slotCGameContainer::SetTrapActivated Sets or clears if a trap is activated on the containerCGameContainer::SetTrapDetected Sets if a trap on a container has been detected yetCGameContainer::TakeAllGold Take all goldCGameContainer::TakeCreatureItems Take items from a creatureCGameContainer::RemoveFromArea Remove from area

CGameContainer::AIUpdate

virtual void CGameContainer::AIUpdate();

Remarks

CGameContainer::AddEffect

Add a game effect to a container

1028 Chapter 6. EE Game Classes (x86)

Page 1033: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CGameContainer::AddEffect(CGameEffect* pEffect,unsigned char list,int noSave,int immediateApply);

Parameters

• CGameEffect* pEffect - pointer to game effect to add to container

• unsigned char list -

• int noSave - if a saving throw is allowed to avoid or reduce effect if trap is triggered

• int immediateApply - if the effect is immediate or delayed

Remarks

Used for setting trap effects on containers, eg. fireball, lightning, poison, or piercing, slashing damage etc

CGameContainer::CanSaveGame

virtual unsigned char CGameContainer::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameContainer::CompressContainer

void CGameContainer::CompressContainer();

Remarks

6.32. CGameContainer Class 1029

Page 1034: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameContainer::CompressTime

virtual unsigned char CGameContainer::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

CGameContainer::CountItem

Returns the number of items in container

short CGameContainer::CountItem(CResRef& res)

Parameters

• CResRef & res - resource reference of the container to return count of items for

Return Value

Returns a short value reprenting the number of items in the container

Remarks

CGameContainer::DebugDump

Debug message from container class

virtual void CGameContainer::DebugDump(CString& message,unsigned char bEchoToScreen);

Parameters

• CString& message - debug message to output to console

• unsigned char bEchoToScreen - output debug message to screen as well as console

Remarks

1030 Chapter 6. EE Game Classes (x86)

Page 1035: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameContainer::DoAIUpdate

virtual unsigned char CGameContainer::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameContainer::FindItemSlot

Return the slot id for a specific item in a container

short CGameContainer::FindItemSlot(CResRef& res);

Parameters

• CResRef & res - resource reference of item in container

Return Value

Returns a short value representing the slot id for the item in a container

Remarks

Does this return 0 or -1 if item not found in container ?

CGameContainer::GetBounding

Get the bounding rectangle for the container

virtual CRect CGameContainer::GetBounding();

Return Value

Returns a CRect which defines the bounding dimensions of the container

Remarks

CGameContainer::GetItem

Return an item from a specified slot in a container

6.32. CGameContainer Class 1031

Page 1036: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem* CGameContainer::GetItem(short nSlotNum);

Parameters

• short nSlotNum - slot id to return the item associated with this slot

Return Value

Returns CItem*

Remarks

CGameContainer::GetNPoly

Returns the number of polygons points for the container

virtual short CGameContainer::GetNPoly();

Return Value

Returns a short value indicating no of points that define the containers polygon

Remarks

Polygons are used when highlighting containers with a bright colored outline

See also CGameContainer::GetPoly and CGameContainer::SetDrawPoly

CGameContainer::GetNumTrueItems

short CGameContainer::GetNumTrueItems();

Return Value

Returns short

Remarks

CGameContainer::GetPoly

Returns a pointer to an array of points which define the container polygon

virtual CPoint* CGameContainer::GetPoly();

Return Value

Returns CPoint*, an array of points which define the container polygon

Remarks

Polygons are used when highlighting containers with a bright colored outline

See also CGameContainer::GetNPoly and CGameContainer::SetDrawPoly

1032 Chapter 6. EE Game Classes (x86)

Page 1037: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameContainer::HasItemType

Determines if a container contains a specific item type

unsigned char CGameContainer::HasItemType(unsigned long type);

Parameters

• unsigned long type - the type of item to check for

Return Value

Returns unsigned char

Remarks

CGameContainer::HasItemWithFlag

Determines if a container contains a specific item type with an item flag

unsigned char CGameContainer::HasItemWithFlag(unsigned long flag,int ignoreDestructible);

Parameters

• unsigned long flag - item flag to check for

• int ignoreDestructible - ignore destructible items

Return Value

Returns unsigned char

Remarks

CGameContainer::IsOver

Determines if mouse position is over the container

virtual int CGameContainer::IsOver(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinates of the mouse position

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CGameContainer::Marshal

6.32. CGameContainer Class 1033

Page 1038: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameContainer::Marshal(SAreaFileWrapper* pContainerWrapper);

Parameters

• SAreaFileWrapper* pContainerWrapper -

Remarks

CGameContainer::MarshalMessage

void CGameContainer::MarshalMessage(unsigned char** pData,unsigned long* dwSize);

Parameters

• unsigned char** pData - pointer to data

• unsigned long* dwSize - size of data

Remarks

CGameContainer::OnActionButton

Event action for when mouse is clicked on the container

virtual void CGameContainer::OnActionButton(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinates of the mouse pointer

Remarks

CGameContainer::OpenContainer

Opens container by the specified character

void CGameContainer::OpenContainer(CAIObjectType& user);

Parameters

• CAIObjectType& user - character that opens the container

Remarks

CGameContainer::PlaceAllGold

Takes gold and places the specified amount into the shared party gold stash

1034 Chapter 6. EE Game Classes (x86)

Page 1039: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameContainer::PlaceAllGold(unsigned long gold);

Parameters

• unsigned long gold - amount of gold

Remarks

CGameContainer::PlaceItemInBlankSlot

Places an item into a blank slot of the container

unsigned char CGameContainer::PlaceItemInBlankSlot(CItem* pItem,unsigned char bCompressContainer,short nRecommendedSlotNum,int useMessage);

Parameters

• CItem* pItem - item to place in container

• unsigned char bCompressContainer - if the container should be compressed

• short nRecommendedSlotNum - the slot id to place the item into the container at

• int useMessage -

Return Value

Returns unsigned char

Remarks

CGameContainer::RefreshRenderPile

void CGameContainer::RefreshRenderPile();

Remarks

CGameContainer::Render

virtual void CGameContainer::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• :ref:‘CVidMode<CVidMode>* pVidMode - pointer to vid mode

Remarks

6.32. CGameContainer Class 1035

Page 1040: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameContainer::SetCursor

Set the cursor and tooltip when mouse is over the container

virtual void CGameContainer::SetCursor(long nToolTip);

Parameters

• long nToolTip - pointer to tooltip text?

Remarks

CGameContainer::SetDrawPoly

void CGameContainer::SetDrawPoly(short time);

Parameters

• short time - time value

Remarks

Polygons are used when highlighting containers with a bright colored outline

See also CGameContainer::GetNPoly and CGameContainer::GetPoly

CGameContainer::SetFlags

Set container flags

void CGameContainer::SetFlags(unsigned long dwFlags);

Parameters

• unsigned long dwFlags - flags to set for container

Remarks

CGameContainer::SetItem

Set an item in a container slot

void CGameContainer::SetItem(short nSlotNum,CItem* pItem);

Parameters

• short nSlotNum - slot id to set item for

• CItem* pItem - pointer to item to associate with this slot id

Remarks

1036 Chapter 6. EE Game Classes (x86)

Page 1041: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameContainer::SetTrapActivated

Sets or clears if a trap is activated on the container

void CGameContainer::SetTrapActivated(unsigned short active);

Parameters

• unsigned short active - trap activated state

Remarks

if trap is to be activated or already sprung, or not enabled

CGameContainer::SetTrapDetected

Sets if a trap on a container has been detected yet

void CGameContainer::SetTrapDetected(unsigned short state);

Parameters

• unsigned short state - trap detected state

Remarks

CGameContainer::TakeAllGold

Take all gold

unsigned long CGameContainer::TakeAllGold();

Return Value

Returns unsigned long

Remarks

CGameContainer::TakeCreatureItems

Take items from a creature

void CGameContainer::TakeCreatureItems(CGameSprite* pSprite,int Type);

Parameters

• CGameSprite* pSprite - pointer to creature to take items from

• int Type - type of item to take

6.32. CGameContainer Class 1037

Page 1042: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Typically a dead creature is seen as a container for looting purposes.

CGameContainer::RemoveFromArea

Remove from area

virtual void CGameContainer::RemoveFromArea();

Remarks

6.33 CGameDialogEntry Class

The structure used for this class is CGameDialogEntry

Quick Refvirtual void CGameDialogEntry::~CGameDialogEntry()void CGameDialogEntry::Display(CGameSprite* pSprite, unsigned long playerColor, int newDialog, int bSup-pressName, CResRef resItem)CGameDialogIdentifier* CGameDialogEntry::Handle(CGameSprite* pSprite, unsigned long playerColor, intnewDialog, int bSuppressName, CResRef resItem)void CGameDialogEntry::RemoveReplies(long marker, unsigned long nameColor, CString& name)

6.33.1 Constructors

Name DescriptionCGameDialogEntry::~CGameDialogEntry Destroys a CGameDialogEntry object

CGameDialogEntry::~CGameDialogEntry

Destroys the CGameDialogEntry object

virtual void CGameDialogEntry::~CGameDialogEntry();

Remarks

Destroys the CGameDialogEntry object

1038 Chapter 6. EE Game Classes (x86)

Page 1043: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.33.2 Methods

Name DescriptionCGameDialogEntry::DisplayCGameDialogEntry::HandleCGameDialogEntry::RemoveReplies

CGameDialogEntry::Display

void CGameDialogEntry::Display(CGameSprite* pSprite,unsigned long playerColor,int newDialog,int bSuppressName,CResRef resItem);

Parameters

• CGameSprite* pSprite - pointer to game sprite object to display in dialog entry

• unsigned long playerColor -

• int newDialog -

• int bSuppressName -

• CResRef resItem - resource reference

Remarks

CGameDialogEntry::Handle

CGameDialogIdentifier* CGameDialogEntry::Handle(CGameSprite* pSprite,unsigned long playerColor,int newDialog,int bSuppressName,CResRef resItem);

Parameters

• CGameSprite* pSprite - pointer to game sprite object to display in dialog entry

• unsigned long playerColor -

• int newDialog -

• int bSuppressName -

• CResRef resItem - resource reference

Return Value

Returns CGameDialogIdentifier*

Remarks

6.33. CGameDialogEntry Class 1039

Page 1044: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDialogEntry::RemoveReplies

void CGameDialogEntry::RemoveReplies(long marker,unsigned long nameColor,CString& name);

Parameters

• long marker -

• unsigned long nameColor -

• CString& name -

Remarks

6.34 CGameDialogReply Class

The structure used for this class is CGameDialogReply

Quick Refint CGameDialogReply::Hold(CGameSprite* pSprite)CGameDialogIdentifier* CGameDialogReply::Pick(CGameSprite* pSprite)void CGameDialogReply::ProcessInstants(CGameSprite* pSprite)

6.34.1 Methods

Name DescriptionCGameDialogReply::HoldCGameDialogReply::PickCGameDialogReply::ProcessInstants

CGameDialogReply::Hold

int CGameDialogReply::Hold(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns int

Remarks

1040 Chapter 6. EE Game Classes (x86)

Page 1045: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDialogReply::Pick

CGameDialogIdentifier* CGameDialogReply::Pick(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns CGameDialogIdentifier*

Remarks

CGameDialogReply::ProcessInstants

void CGameDialogReply::ProcessInstants(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.35 CGameDialogSprite Class

The structure used for this class is CGameDialogSprite

Quick Refvoid CGameDialogSprite::CGameDialogSprite()void CGameDialogSprite::~CGameDialogSprite()void CGameDialogSprite::AsynchronousUpdate()void CGameDialogSprite::ClearMarshal()void CGameDialogSprite::EndDialog()int CGameDialogSprite::EnterDialog(unsigned long index, CGameSprite* pSprite, int newDialog, int bSup-pressName, int bItemDialog)int CGameDialogSprite::FetchRumor(CResRef & file, CGameSprite* pSprite, long& nIndex, STR_RES& str-Res)virtual unsigned long __cdecl CGameDialogSprite::GetFlagsFromFile(CResRef & res) = 0void CGameDialogSprite::Load(CResRef file, long characterId, long NPCId, int bItemDialog)int CGameDialogSprite::Reload(CResRef file, CGameSprite* pSprite)void CGameDialogSprite::ResetDialogStates()void CGameDialogSprite::SetResponseMarker(long marker)void CGameDialogSprite::SetUpdateScroll()int CGameDialogSprite::StartDialog(CGameSprite* pSprite)void CGameDialogSprite::Unmarshal(unsigned char* pDialog, long dialogSize, long characterId, long NPCId,CResRef & loadedFile, int fast)

6.35. CGameDialogSprite Class 1041

Page 1046: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.35.1 Constructors

Name DescriptionCGameDialogSprite::CGameDialogSprite Constructs a CGameDialogSprite objectCGameDialogSprite::~CGameDialogSprite Destroys a CGameDialogSprite object

CGameDialogSprite::CGameDialogSprite

Constructs a CGameDialogSprite object

void CGameDialogSprite::CGameDialogSprite();

Remarks

Constructs a CGameDialogSprite object

CGameDialogSprite::~CGameDialogSprite

Destroys the CGameDialogSprite object

void CGameDialogSprite::~CGameDialogSprite();

Remarks

Destroys the CGameDialogSprite object

6.35.2 Methods

Name DescriptionCGameDialogSprite::AsynchronousUpdateCGameDialogSprite::ClearMarshalCGameDialogSprite::EndDialogCGameDialogSprite::EnterDialogCGameDialogSprite::FetchRumorCGameDialogSprite::GetFlagsFromFileCGameDialogSprite::LoadCGameDialogSprite::ReloadCGameDialogSprite::ResetDialogStatesCGameDialogSprite::SetResponseMarkerCGameDialogSprite::SetUpdateScrollCGameDialogSprite::StartDialogCGameDialogSprite::Unmarshal

CGameDialogSprite::AsynchronousUpdate

1042 Chapter 6. EE Game Classes (x86)

Page 1047: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameDialogSprite::AsynchronousUpdate();

Remarks

CGameDialogSprite::ClearMarshal

void CGameDialogSprite::ClearMarshal();

Remarks

CGameDialogSprite::EndDialog

void CGameDialogSprite::EndDialog();

Remarks

CGameDialogSprite::EnterDialog

int CGameDialogSprite::EnterDialog(unsigned long index,CGameSprite* pSprite,int newDialog,int bSuppressName,int bItemDialog);

Parameters

• unsigned long index -

• CGameSprite* pSprite - pointer to game sprite object

• int newDialog -

• int bSuppressName -

• int bItemDialog -*

Return Value

Returns int

Remarks

6.35. CGameDialogSprite Class 1043

Page 1048: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDialogSprite::FetchRumor

int CGameDialogSprite::FetchRumor(CResRef& file,CGameSprite* pSprite,long& nIndex,STR_RES& strRes);

Parameters

• CResRef & file -

• CGameSprite* pSprite - pointer to game sprite object

• long& nIndex -

• STR_RES& strRes -

Return Value

Returns int

Remarks

CGameDialogSprite::GetFlagsFromFile

virtual unsigned long __cdecl CGameDialogSprite::GetFlagsFromFile(CResRef& res);

Parameters

• CResRef & res - resource reference

Return Value

Returns unsigned long

Remarks

CGameDialogSprite::Load

void CGameDialogSprite::Load(CResRef file,long characterId,long NPCId,int bItemDialog);

Parameters

• CResRef file - resource reference

• long characterId -

• long NPCId -

• int bItemDialog -

Remarks

1044 Chapter 6. EE Game Classes (x86)

Page 1049: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDialogSprite::Reload

int CGameDialogSprite::Reload(CResRef file,CGameSprite* pSprite);

Parameters

• CResRef file - resource reference

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns int

Remarks

CGameDialogSprite::ResetDialogStates

void CGameDialogSprite::ResetDialogStates() ;

Remarks

CGameDialogSprite::SetResponseMarker

void CGameDialogSprite::SetResponseMarker(long marker);

Parameters

• long marker - * *

Remarks

CGameDialogSprite::SetUpdateScroll

void CGameDialogSprite::SetUpdateScroll();

Remarks

6.35. CGameDialogSprite Class 1045

Page 1050: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDialogSprite::StartDialog

int CGameDialogSprite::StartDialog(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns int

Remarks

CGameDialogSprite::Unmarshal

void CGameDialogSprite::Unmarshal(unsigned char* pDialog,long dialogSize,long characterId,long NPCId,CResRef& loadedFile,int fast);

Parameters

• unsigned char* pDialog -

• long dialogSize -

• long characterId -

• long NPCId -

• CResRef & loadedFile -

• int fast -

Remarks

6.36 CGameDoor Class

The structure used for this class is CGameDoor

1046 Chapter 6. EE Game Classes (x86)

Page 1051: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameDoor::CGameDoor(CGameArea* pArea, CAreaFileDoorObject* pDoorObject, CAreaPoint*pPoints, unsigned short maxPts)virtual void CGameDoor::~CGameDoor()virtual void CGameDoor::AIUpdate()virtual void CGameDoor::AddEffect(CGameEffect* pEffect, unsigned char list, int noSave, int immediateApply)virtual unsigned char CGameDoor::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameDoor::CompressTime(unsigned long deltaTime)virtual void CGameDoor::DebugDump(CString& message, unsigned char bEchoToScreen)virtual unsigned char CGameDoor::DoAIUpdate(unsigned char active, long counter)CRect CGameDoor::GetBoundingRectClosed()CRect CGameDoor::GetBoundingRectOpen()CPoint& CGameDoor::GetMoveDest(CPoint& ptSource)virtual int CGameDoor::IsOver(CPoint& pt)void CGameDoor::Marshal(SAreaFileDoorWrapper* pDoorWrapper)virtual void CGameDoor::OnActionButton(CPoint& pt)void CGameDoor::OnDoorStatusUpdate(unsigned char bDoorOpened, unsigned long dwFlags, unsigned shortnTrapActivated, unsigned short nTrapDetected)virtual void CGameDoor::RemoveFromArea()virtual void CGameDoor::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CGameDoor::SetCursor(long nToolTip)void CGameDoor::SetDrawPoly(short time)void CGameDoor::ToggleDoor(CAIObjectType& user, int ignoreLocked)void CGameDoor::ToggleTransitionTrigger(int bClosed)

6.36.1 Constructors

Name DescriptionCGameDoor::CGameDoor Constructs a CGameDoor objectCGameDoor::~CGameDoor Destroys a CGameDoor object

CGameDoor::CGameDoor

Constructs a CGameDoor object

void CGameDoor::CGameDoor(CGameArea* pArea,CAreaFileDoorObject* pDoorObject,CAreaPoint* pPoints,unsigned short maxPts);

Parameters

• CGameArea* pArea - pointer to area

• CAreaFileDoorObject* pDoorObject - pointer to door object

• CAreaPoint* pPoints - pointer to array of points used for polygon to highlight door

• unsigned short maxPts - count of points in array for polygon

6.36. CGameDoor Class 1047

Page 1052: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CGameDoor object

CGameDoor::~CGameDoor

Destroys the CGameDoor object

virtual void CGameDoor::~CGameDoor();

Remarks

Destroys the CGameDoor object

6.36.2 Methods

Name DescriptionCGameDoor::AIUpdateCGameDoor::AddEffect Add a game effect to a doorCGameDoor::CanSaveGameCGameDoor::CompressTimeCGameDoor::DebugDump Debug message from door classCGameDoor::DoAIUpdateCGame-Door::GetBoundingRectClosed

Get the bounding rectangle for the door when it is closed

CGame-Door::GetBoundingRectOpen

Get the bounding rectangle for the door when it is open

CGameDoor::GetMoveDestCGameDoor::IsOver Determines if mouse position is over the doorCGameDoor::MarshalCGameDoor::OnActionButton Event action for when mouse is clicked on the doorCGameDoor::OnDoorStatusUpdateCGameDoor::RemoveFromAreaCGameDoor::RenderCGameDoor::SetCursor Set the cursor and tooltip when mouse is over the doorCGameDoor::SetDrawPolyCGameDoor::ToggleDoor Toggles door, opens door if it is currently closed, and closes if currently

openCGame-Door::ToggleTransitionTrigger

CGameDoor::AIUpdate

virtual void CGameDoor::AIUpdate();

Remarks

1048 Chapter 6. EE Game Classes (x86)

Page 1053: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDoor::AddEffect

Add a game effect to a door

virtual void CGameDoor::AddEffect(CGameEffect* pEffect,unsigned char list,int noSave,int immediateApply);

Parameters

• CGameEffect* pEffect - pointer to game effect to add to door

• unsigned char list -

• int noSave - if a saving throw is allowed to avoid or reduce effect if trap is triggered

• int immediateApply - if the effect is immediate or delayed

Remarks

Used for setting trap effects on doors, eg. fireball, lightning, poison, or piercing, slashing damage etc

CGameDoor::CanSaveGame

virtual unsigned char CGameDoor::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck) ;

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Remarks

CGameDoor::CompressTime

virtual unsigned char CGameDoor::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Remarks

6.36. CGameDoor Class 1049

Page 1054: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDoor::DebugDump

Debug message from door class

virtual void CGameDoor::DebugDump(CString& message,unsigned char bEchoToScreen);

Parameters

• CString& message - address of debug message string to output to console

• unsigned char bEchoToScreen - output debug message to screen as well as console

Remarks

CGameDoor::DoAIUpdate

virtual unsigned char CGameDoor::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Remarks

CGameDoor::GetBoundingRectClosed

Get the bounding rectangle for the door when it is closed

CRect CGameDoor::GetBoundingRectClosed();

Return Value

Returns a CRect which defines the bounding dimensions of the closed door

Remarks

CGameDoor::GetBoundingRectOpen

Get the bounding rectangle for the door when it is open

CRect CGameDoor::GetBoundingRectOpen();

1050 Chapter 6. EE Game Classes (x86)

Page 1055: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns a CRect which defines the bounding dimensions of the open door

Remarks

CGameDoor::GetMoveDest

CPoint& CGameDoor::GetMoveDest\(CPoint& ptSource);

Parameters

• CPoint& ptSource -

Return Value

Returns CPoint&

Remarks

CGameDoor::IsOver

Determines if mouse position is over the door

virtual int CGameDoor::IsOver(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinates of the mouse position

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CGameDoor::Marshal

void CGameDoor::Marshal(SAreaFileDoorWrapper* pDoorWrapper);

Parameters

• SAreaFileDoorWrapper* pDoorWrapper -

Remarks

CGameDoor::OnActionButton

Event action for when mouse is clicked on the door

6.36. CGameDoor Class 1051

Page 1056: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CGameDoor::OnActionButton(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinates of the mouse pointer

Remarks

CGameDoor::OnDoorStatusUpdate

void CGameDoor::OnDoorStatusUpdate(unsigned char bDoorOpened,unsigned long dwFlags,unsigned short nTrapActivated,unsigned short nTrapDetected);

Parameters

• unsigned char bDoorOpened -

• unsigned long dwFlags -

• unsigned short nTrapActivated -

• unsigned short nTrapDetected -

Remarks

CGameDoor::RemoveFromArea

virtual void CGameDoor::RemoveFromArea();

Remarks

CGameDoor::Render

virtual void CGameDoor::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

1052 Chapter 6. EE Game Classes (x86)

Page 1057: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameDoor::SetCursor

Set the cursor and tooltip when mouse is over the door

virtual void CGameDoor::SetCursor(long nToolTip);

Parameters

• long nToolTip - pointer to tooltip text?

Remarks

CGameDoor::SetDrawPoly

void CGameDoor::SetDrawPoly(short time);

Parameters

• short time -

Remarks

CGameDoor::ToggleDoor

Toggles door by the specified character, opens door if it is currently closed, and closes if currently open

void CGameDoor::ToggleDoor(CAIObjectType& user,int ignoreLocked);

Parameters

• CAIObjectType& user - character that opens the door

• int ignoreLocked - true of false to ignore locked door

Remarks

CGameDoor::ToggleTransitionTrigger

void CGameDoor::ToggleTransitionTrigger(int bClosed);

Parameters

• int bClosed - true or false for door open or closed

Remarks

6.36. CGameDoor Class 1053

Page 1058: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.37 CGameEffect Class

• Overview

• Quick Reference

• Constructors

• Methods

• Operators

6.37.1 Overview

Note: The CGameEffect class handles game effects

The structure used for this class is CGameEffect

6.37.2 Quick Reference

Quick Ref

6.37.3 Constructors

Name DescriptionCGameEffect::CGameEffect Constructs a CGameEffect object

CGameEffect::CGameEffect

Constructs a CGameEffect object

void CGameEffect::CGameEffect();

Remarks

Constructs a CGameEffect object

1054 Chapter 6. EE Game Classes (x86)

Page 1059: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.37.4 Methods

Name DescriptionCGameEffect::ApplyEffectCGameEffect::CheckAddCGameEffect::CheckSaveCGameEffect::ClearItemEffectCGameEffect::CopyCGameEffect::CopyFromBaseCGameEffect::DecodeEffectCGameEffect::DecodeEffectFromBaseCGameEffect::DisplayStringCGameEffect::EqualClassCGameEffect::FireSpellCGameEffect::OnAddCGameEffect::OnAddSpecificCGameEffect::OnLoadCGameEffect::OnRemoveCGameEffect::PlaySoundCGameEffect::ResolveEffectCGameEffect::SetIdentifiedCGameEffect::UsesDice

CGameEffect::ApplyEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::CheckAdd

x;

Parameters

• – *

6.37. CGameEffect Class 1055

Page 1060: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::CheckSave

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::ClearItemEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::Copy

1056 Chapter 6. EE Game Classes (x86)

Page 1061: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::CopyFromBase

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::DecodeEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.37. CGameEffect Class 1057

Page 1062: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffect::DecodeEffectFromBase

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::DisplayString

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::EqualClass

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1058 Chapter 6. EE Game Classes (x86)

Page 1063: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffect::FireSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::OnAdd

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::OnAddSpecific

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.37. CGameEffect Class 1059

Page 1064: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffect::OnLoad

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::OnRemove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::PlaySound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1060 Chapter 6. EE Game Classes (x86)

Page 1065: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffect::ResolveEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::SetIdentified

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameEffect::UsesDice

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.37. CGameEffect Class 1061

Page 1066: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.37.5 Operators

Name DescriptionCGameEffect::operator=CGameEffect::operator==

CGameEffect::operator=

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

CGameEffect::operator==

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Remarks

6.38 CGameEffect<Effect> Classes

• Overview

• Methods

• Notes

• Specific CGameEffect<Effect> Classes

1062 Chapter 6. EE Game Classes (x86)

Page 1067: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.38.1 Overview

Note: There are lots of game effect classes that are similar in definition. Rather than document each one individu-ally, there are all referenced here collectively instead. CGameEffect<Effect> classes handle specific effects, where<Effect> is a placeholder for the game effect name.

Note: Please see the CGameEffect Structures section for a game effect structure used by a specific game effect class.

Tip: See Notes for details of the game effect classes, that the class methods documented here apply to. See SpecificCGameEffect<Effect> Classes for classes that share the same methods as the others listed, but have additional classmethods as well.

6.38.2 Methods

Name* DescriptionCGameEffect<Effect>::CGameEffect<Effect> Constructor for a specific game effectCGameEffect<Effect>::ApplyEffect Apply effectCGameEffect<Effect>::Copy Copy effect

* <Effect> is a placeholder for the game effect name

CGameEffect<Effect>::CGameEffect<Effect>

Constructs a specific game effect object

void CGameEffect<Effect>::CGameEffect<Effect>(Item_effect_st* effect,CPoint& source,long sourceID,CPoint target);

Parameters

• Item_effect_st* effect -

• CPoint& source -

• long sourceID -

• CPoint target -

Remarks

Constructor for a specific game effect. See Notes for the specific class names this applies to.

Example: CGameEffectEntangle::CGameEffectEntangle(effect,source,sourceID,target);

6.38. CGameEffect<Effect> Classes 1063

Page 1068: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffect<Effect>::ApplyEffect

virtual int CGameEffect<Effect>::ApplyEffect(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns int

Remarks

See Notes for the specific class names this applies to.

Example: virtual int CGameEffectEntangle::ApplyEffect(CGameSprite* pSprite);

CGameEffect<Effect>::Copy

Copy game effect

virtual CGameEffect* CGameEffect<Effect>::Copy();

Return Value

Returns CGameEffect*

Remarks

See Notes for the specific class names this applies to.

Example: virtual CGameEffect* CGameEffectEntangle::Copy();

6.38.3 Notes

Note: CGameEffect<Effect> used in the documentation above is a placeholder for the actual class name, as listedbelow.

The following class names apply to the documented class methods above as the share the same basic methods and aconstructor for each class:

• CGameEffectAC

• CGameEffectAIChange

• CGameEffectAddInnateAbility

• CGameEffectAlignmentChange

• CGameEffectApplyEffectEquipItemType

• CGameEffectApplyEffectEquipItem

• CGameEffectApplySpellOnMove

1064 Chapter 6. EE Game Classes (x86)

Page 1069: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectApplySpell

• CGameEffectAssassination

• CGameEffectAttackNo

• CGameEffectAuraCleansing

• CGameEffectAwaken

• CGameEffectBackStabMod

• CGameEffectBackStabSpell

• CGameEffectBardSong

• CGameEffectBerserkStage1

• CGameEffectBerserkStage2

• CGameEffectBerserk

• CGameEffectBlur

• CGameEffectBounceEffect

• CGameEffectBounceLevel

• CGameEffectBounceProjectile

• CGameEffectBounceSchoolDecrement

• CGameEffectBounceSchool

• CGameEffectBounceSecondaryTypeDecrement

• CGameEffectBounceSecondaryType

• CGameEffectBounceSpell

• CGameEffectCHR

• CGameEffectCON

• CGameEffectCalm

• CGameEffectCannotSaveOrRest

• CGameEffectCastSpellPoint

• CGameEffectCastSpell

• CGameEffectCastingFailure

• CGameEffectCastingGlow

• CGameEffectCastingLevelBonus

• CGameEffectChangeStatic

• CGameEffectChangeWeather

• CGameEffectChaosShield

• CGameEffectCheckForBerserk

• CGameEffectClairvoyance

• CGameEffectClassStringOverride

• CGameEffectCleanAir

6.38. CGameEffect<Effect> Classes 1065

Page 1070: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectColorChange

• CGameEffectColorGlowDissipate

• CGameEffectColorGlowPulse

• CGameEffectColorLightSolid

• CGameEffectColorTintSolid

• CGameEffectConfusion

• CGameEffectContingencyInstance

• CGameEffectContingencyStart

• CGameEffectCopySelf

• CGameEffectCreateItem

• CGameEffectCreateWeapon

• CGameEffectCriticalHitBonus

• CGameEffectCriticalHitSpell

• CGameEffectCriticalMissModifier

• CGameEffectCriticalMissSpell

• CGameEffectCureBlindness

• CGameEffectCureDeafness

• CGameEffectCureDisease

• CGameEffectCureFeebleMindedness

• CGameEffectCurePoison

• CGameEffectDEX

• CGameEffectDamageLuck

• CGameEffectDamageMod

• CGameEffectDamageVisualEffect

• CGameEffectDeafness

• CGameEffectDefrost

• CGameEffectDestroyItem

• CGameEffectDestroySelf

• CGameEffectDestroyWeapon

• CGameEffectDetectAlignment

• CGameEffectDetectIllusion

• CGameEffectDetectTraps

• CGameEffectDisableButton

• CGameEffectDisableCircle

• CGameEffectDisableSpellType

• CGameEffectDisintegrate

1066 Chapter 6. EE Game Classes (x86)

Page 1071: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectDispelEffects

• CGameEffectDispelInvisible

• CGameEffectDispelSanctuary

• CGameEffectDispelSchoolOne

• CGameEffectDispelSchool

• CGameEffectDispelSecondaryTypeOne

• CGameEffectDispelSecondaryType

• CGameEffectDisplayString

• CGameEffectDither

• CGameEffectDrainChargeFromAllItems

• CGameEffectDurationCasting

• CGameEffectEnableButton

• CGameEffectEndNonDetection

• CGameEffectEntangle

• CGameEffectEquipWeapon

• CGameEffectEvadeAreaOfEffect

• CGameEffectExistanceDelayOverride

• CGameEffectExplore

• CGameEffectFamiliarBlock

• CGameEffectFatigue

• CGameEffectFeebleMindedness

• CGameEffectFindFamiliar

• CGameEffectFistDamageBonus

• CGameEffectFistTHAC0Bonus

• CGameEffectFloatText

• CGameEffectForceSurge

• CGameEffectForceVisible

• CGameEffectFreedom

• CGameEffectGold

• CGameEffectGreasePool

• CGameEffectHaste2

• CGameEffectHaste

• CGameEffectHideInShadows

• CGameEffectHighLevelAbility

• CGameEffectHitMod

• CGameEffectHitPointsOnDeath

6.38. CGameEffect<Effect> Classes 1067

Page 1072: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectHoldCreature

• CGameEffectINT

• CGameEffectIdentify

• CGameEffectIgnoreDialogPause

• CGameEffectIgnoreDrainDeath

• CGameEffectIgnoreReputationBreak

• CGameEffectImmuneToTracking

• CGameEffectImmuneToWeapon

• CGameEffectImmunitySchoolDecrement

• CGameEffectImmunitySchool

• CGameEffectImmunitySecondaryTypeDecrement

• CGameEffectImmunitySecondaryType

• CGameEffectImmunitySpellIWD

• CGameEffectImmunitySpell

• CGameEffectImmunityToBackstab

• CGameEffectImmunityToDisplayString

• CGameEffectImmunityToPortraitIcon

• CGameEffectImmunityToProjectile

• CGameEffectImmunityToSequester

• CGameEffectImmunityToSpellLevel

• CGameEffectImmunityToTimeStop

• CGameEffectImmunityToTurnUndead

• CGameEffectImmunityToVisualEffect

• CGameEffectImprisonment

• CGameEffectInfravisionOff

• CGameEffectInfravision

• CGameEffectIntoxication

• CGameEffectInvisible

• CGameEffectJumpToArea

• CGameEffectJumpToPocketPlane

• CGameEffectKnock

• CGameEffectLearnSpell

• CGameEffectLevelRestoration

• CGameEffectLevel

• CGameEffectLore

• CGameEffectLuck

1068 Chapter 6. EE Game Classes (x86)

Page 1073: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectMeleeDamageBonus

• CGameEffectMeleeEffect

• CGameEffectMeleeTHAC0Bonus

• CGameEffectMentalSpeed

• CGameEffectMinHitPoints

• CGameEffectMinorGlobe

• CGameEffectMirrorImageRun

• CGameEffectMirrorImage

• CGameEffectMissileDamageBonus

• CGameEffectMissileTHAC0Bonus

• CGameEffectMoraleBreak

• CGameEffectMorale

• CGameEffectMovementRateModal

• CGameEffectMovementRate

• CGameEffectNPCBump

• CGameEffectName

• CGameEffectNoPermanentDeath

• CGameEffectNonDetection

• CGameEffectNon_CumulativeAid

• CGameEffectNon_CumulativeBless

• CGameEffectNon_CumulativeChantBad

• CGameEffectNon_CumulativeChant

• CGameEffectNon_CumulativeDrawUponHolyMight

• CGameEffectNon_CumulativeLuck

• CGameEffectOverrideWeaponType

• CGameEffectPanic

• CGameEffectPauseCaster

• CGameEffectPetrification

• CGameEffectPhysicalSpeed

• CGameEffectPlayMovie

• CGameEffectPlaySound

• CGameEffectPortraitIcon

• CGameEffectPowerWordKill

• CGameEffectPreventAISlowDown

• CGameEffectPreventSpellProtectionEffects

• CGameEffectProficiency

6.38. CGameEffect<Effect> Classes 1069

Page 1074: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectProtectionCircle

• CGameEffectProtectionFromCreature

• CGameEffectPuppetMaster

• CGameEffectRandomDrop

• CGameEffectRandomPhase

• CGameEffectRandomSummon

• CGameEffectRandomTeleport

• CGameEffectRangeEffect

• CGameEffectRememorizeSpell

• CGameEffectRemoveAllOfType

• CGameEffectRemoveConfusion

• CGameEffectRemoveCurse

• CGameEffectRemoveEffectOfResource

• CGameEffectRemoveHold

• CGameEffectRemoveInnateAbility

• CGameEffectRemoveIntoxication

• CGameEffectRemovePanic

• CGameEffectRemovePortraitIcon

• CGameEffectRemoveRandomSpell

• CGameEffectRemoveSpellImmunity

• CGameEffectRepeatingApplyEffect

• CGameEffectReplaceItem

• CGameEffectReplaceSelf

• CGameEffectReputation

• CGameEffectResistAcid

• CGameEffectResistCold

• CGameEffectResistCrushing

• CGameEffectResistElectricity

• CGameEffectResistFire

• CGameEffectResistMagicCold

• CGameEffectResistMagicFire

• CGameEffectResistMagic

• CGameEffectResistMissile

• CGameEffectResistPiercing

• CGameEffectResistSlashing

• CGameEffectResistanceToMagic

1070 Chapter 6. EE Game Classes (x86)

Page 1075: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectResistanceToPoison

• CGameEffectRest

• CGameEffectRestoreMovementRate

• CGameEffectRestrictEquipItemType

• CGameEffectRestrictEquipItem

• CGameEffectResurrectParty

• CGameEffectResurrect

• CGameEffectRetreatFrom

• CGameEffectRevealMagic

• CGameEffectSTRExtra

• CGameEffectSTR

• CGameEffectSanctuary

• CGameEffectSaveVsBreath

• CGameEffectSaveVsDeath

• CGameEffectSaveVsPoly

• CGameEffectSaveVsSchoolMod

• CGameEffectSaveVsSpell

• CGameEffectSaveVsWands

• CGameEffectSavingThrowChange

• CGameEffectScreenShake

• CGameEffectScriptingState

• CGameEffectSecondaryCastList

• CGameEffectSeeInvisible

• CGameEffectSelectiveDamageBonus

• CGameEffectSelectiveEnchantmentBonus

• CGameEffectSelectiveToHitBonus

• CGameEffectSequencerFirePoint

• CGameEffectSequencerFire

• CGameEffectSequencerInstance

• CGameEffectSequencerStart

• CGameEffectSetAIScript

• CGameEffectSetDoNotJump

• CGameEffectSetGlobal

• CGameEffectSetLocalExternal

• CGameEffectSetLocalVariable

• CGameEffectSetSequence

6.38. CGameEffect<Effect> Classes 1071

Page 1076: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectSetSnare

• CGameEffectSetSpellState

• CGameEffectSetTrap

• CGameEffectSevenEyesRun

• CGameEffectShieldGlobe

• CGameEffectShowArea

• CGameEffectShowCreatures

• CGameEffectSilence

• CGameEffectSingleColorPulseAll

• CGameEffectSkillLockPicking

• CGameEffectSkillPickPocket

• CGameEffectSkillStealth

• CGameEffectSkillTracking

• CGameEffectSkillTraps

• CGameEffectSlay

• CGameEffectSleep

• CGameEffectSlowPoison

• CGameEffectSlow

• CGameEffectSparkle

• CGameEffectSpecificDamageMod

• CGameEffectSpellMemorizationCleric

• CGameEffectSpellMemorizationMage

• CGameEffectSpellTrapLevelDecrement

• CGameEffectStoneToFlesh

• CGameEffectStun

• CGameEffectSummonDisable

• CGameEffectSurgeMod

• CGameEffectSwapHitpoints

• CGameEffectTeleport

• CGameEffectThac0Left

• CGameEffectThac0Right

• CGameEffectThac0

• CGameEffectTimeStop

• CGameEffectTracking

• CGameEffectTranslucent

• CGameEffectTurnUndeadModifier

1072 Chapter 6. EE Game Classes (x86)

Page 1077: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameEffectTurnUndead

• CGameEffectUnpauseCaster

• CGameEffectUnstun

• CGameEffectUnsummon

• CGameEffectUsability

• CGameEffectUseAnyItem

• CGameEffectVisible

• CGameEffectVisualAnimationEffect

• CGameEffectVisualEffect

• CGameEffectVisualRange

• CGameEffectVisualSpellHitIWD

• CGameEffectVisualSpellHit

• CGameEffectVocalize

• CGameEffectWIS

• CGameEffectWebHold

• CGameEffectWish

• CGameEffectXP

6.38.4 Specific CGameEffect<Effect> Classes

Note: The following class names also apply to the above documentation, but also contain additional class methods.They are listed here as well for completeness as they share the same basic class methods, but they are documentedindividually as well due to the additional class methods they contain - see the specific class for details.

CGameEffectAlignmentReversal Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectAlignmentReversal::Reverse Reverse the alignment of the character

6.38. CGameEffect<Effect> Classes 1073

Page 1078: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectAlignmentReversal::Reverse

Reverse the alignment of the character

unsigned char CGameEffectAlignmentReversal::Reverse(unsigned char alignment);

Parameters

• unsigned char alignment -

Return Value

Returns unsigned char

Remarks

CGameEffectAnimationChange Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectAnimationChange::OnAddSpecificCGameEffectAnimationChange::OnRemove

CGameEffectAnimationChange::OnAddSpecific

virtual void CGameEffectAnimationChange::OnAddSpecific\(:ref:`CGameSprite<CGameSprite>→˓`\* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectAnimationChange::OnRemove

virtual void CGameEffectAnimationChange::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1074 Chapter 6. EE Game Classes (x86)

Page 1079: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectApplyEffect Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectApplyEf-fect::CGameEffectApplyEffect

Constructor (additional constructor) creates aCGameEffectApplyEffect object

CGameEffectApplyEffect::OnRemove

CGameEffectApplyEffect::CGameEffectApplyEffect

Constructor - creates a CGameEffectApplyEffect object

void CGameEffectApplyEffect::CGameEffectApplyEffect();

Remarks

Additional constructor for CGameEffectApplyEffect

CGameEffectApplyEffect::OnRemove

virtual void CGameEffectApplyEffect::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectBase Class

Note: This class has no other methods, just a constructor.

6.38. CGameEffect<Effect> Classes 1075

Page 1080: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Constructors

CGameEffectBase::CGameEffectBase

Constructs a CGameEffectBase object

void CGameEffectBase::CGameEffectBase();

Remarks

Constructs a CGameEffectBase object

CGameEffectBlindness Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectBlindness::OnAddSpecificCGameEffectBlindness::OnRemove

CGameEffectBlindness::OnAddSpecific

virtual void CGameEffectBlindness::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectBlindness::OnRemove

virtual void CGameEffectBlindness::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1076 Chapter 6. EE Game Classes (x86)

Page 1081: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectBounceLevelDecrement Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectBounceLevelDecrement::OnRemove

CGameEffectBounceLevelDecrement::OnRemove

virtual void CGameEffectBounceLevelDecrement::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectCharm Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectCharm::DisplayStringCGameEffectCharm::OnAddSpecific

6.38. CGameEffect<Effect> Classes 1077

Page 1082: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectCharm::DisplayString

virtual void CGameEffectCharm::DisplayString(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectCharm::OnAddSpecific

virtual void CGameEffectCharm::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectColorGlowSolid Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectColorGlowSolid::OnRemove

CGameEffectColorGlowSolid::OnRemove

virtual void CGameEffectColorGlowSolid::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1078 Chapter 6. EE Game Classes (x86)

Page 1083: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectCurseApplyEffect Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectCurseApplyEffect::OnRemove

CGameEffectCurseApplyEffect::OnRemove

virtual void CGameEffectCurseApplyEffect::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectDamage Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectDam-age::CGameEffectDamage

Constructor (additional constructor) - creates aCGameEffectDamage object

CGameEffectDamage::CheckSaveCGameEffectDamage::DecodeHitSoundCGameEffectDam-age::DisplayDamageAmountCGameEffectDamage::DisplayStringCGameEffectDamage::OnAddSpecificCGameEffectDamage::UsesDice

6.38. CGameEffect<Effect> Classes 1079

Page 1084: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDamage::CGameEffectDamage

Constructor - creates a CGameEffectDamage object

void CGameEffectDamage::CGameEffectDamage();

Remarks

Additional constructor for CGameEffectDamage

CGameEffectDamage::CheckSave

virtual int CGameEffectDamage::CheckSave(CGameSprite* pSprite,unsigned char& saveVSDeathRoll,unsigned char& saveVSWandsRoll,unsigned char& saveVSPolyRoll,unsigned char& saveVSBreathRoll,unsigned char& saveVSSpellRoll,unsigned char& magicResistRoll);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned char& saveVSDeathRoll -

• unsigned char& saveVSWandsRoll -

• unsigned char& saveVSPolyRoll -

• unsigned char& saveVSBreathRoll -

• unsigned char& saveVSSpellRoll -

• unsigned char& magicResistRoll -

Return Value

Returns int

Remarks

CGameEffectDamage::DecodeHitSound

void CGameEffectDamage::DecodeHitSound(unsigned long type,CGameSprite* pSprite);

Parameters

• unsigned long type -

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1080 Chapter 6. EE Game Classes (x86)

Page 1085: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDamage::DisplayDamageAmount

virtual void CGameEffectDamage::DisplayDamageAmount(CGameSprite* pSprite,long damageResisted);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• long damageResisted -

Remarks

CGameEffectDamage::DisplayString

virtual void CGameEffectDamage::DisplayString(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectDamage::OnAddSpecific

virtual void CGameEffectDamage::OnAddSpecific\(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectDamage::UsesDice

virtual int CGameEffectDamage::UsesDice();

Return Value

Returns int

Remarks

CGameEffectDeath Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

6.38. CGameEffect<Effect> Classes 1081

Page 1086: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffect-Death::CGameEffectDeath

Constructor (additional constructor) creates a CGameEffectDeathobject

CGameEffectDeath::DeathNoticeCGameEffectDeath::DisplayStringCGameEffectDeath::OnAddSpecific

CGameEffectDeath::CGameEffectDeath

Constructor - creates a CGameEffectDeath object

void CGameEffectDeath::CGameEffectDeath();

Remarks

Additional constructor for CGameEffectDeath

CGameEffectDeath::DeathNotice

virtual void __cdecl CGameEffectDeath::DeathNotice(CGameSprite* pSprite,long sourceId,int reverse);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• long sourceId -

• int reverse -

Remarks

CGameEffectDeath::DisplayString

virtual void CGameEffectDeath::DisplayString(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1082 Chapter 6. EE Game Classes (x86)

Page 1087: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDeath::OnAddSpecific

virtual void CGameEffectDeath::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectDisease Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectDisease::OnAddSpecific

CGameEffectDisease::OnAddSpecific

virtual void CGameEffectDisease::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectDoNotDraw Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectDoNotDraw::OnRemove

6.38. CGameEffect<Effect> Classes 1083

Page 1088: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectDoNotDraw::OnRemove

virtual void CGameEffectDoNotDraw\:\:OnRemove\(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectFile Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectFile::CGameEffectFile Constructor (only this constructor) - creates a CGameEffectFile ob-

jectCGameEffect-File::~CGameEffectFile

Destructor - destroys CGameEffectFile object

CGameEffectFile::GetEffect Get effect

CGameEffectFile::CGameEffectFile

Constructor - creates a CGameEffectFile object

void CGameEffectFile::CGameEffectFile(CResRef cNewResRef);

Parameters

• CResRef cNewResRef - new resource reference

Remarks

Only this constructor is available for CGameEffectFile

1084 Chapter 6. EE Game Classes (x86)

Page 1089: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectFile::~CGameEffectFile

Destructor - destroys CGameEffectFile object

void CGameEffectFile::~CGameEffectFile();

Remarks

Destructor for CGameEffectFile

CGameEffectFile::GetEffect

Get effect

CGameEffect* CGameEffectFile::GetEffect();

Return Value

Returns CGameEffect*

Remarks

CGameEffectHeal Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectHeal::CGameEffectHeal Constructor (additional constructor) creates a CGameEffectHeal ob-

jectCGameEf-fectHeal::CalculateHPHealed

Calculate hit points healed

CGameEffectHeal::UsesDice

CGameEffectHeal::CGameEffectHeal

Constructor - creates a CGameEffectHeal object

void CGameEffectHeal::CGameEffectHeal();

Remarks

Additional constructor for CGameEffectHeal

6.38. CGameEffect<Effect> Classes 1085

Page 1090: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectHeal::CalculateHPHealed

Calculate hit points healed

long CGameEffectHeal::CalculateHPHealed(long nMaxHitPoints);

Parameters

• long nMaxHitPoints -

Return Value

Returns long value indicating the calculated hit points healed

Remarks

CGameEffectHeal::UsesDice

virtual int CGameEffectHeal::UsesDice();

Return Value

Returns int

Remarks

CGameEffectHitPoints Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectHitPoints::OnAddSpecificCGameEffectHitPoints::OnRemoveCGameEffectHitPoints::UsesDice

CGameEffectHitPoints::OnAddSpecific

virtual void CGameEffectHitPoints::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

1086 Chapter 6. EE Game Classes (x86)

Page 1091: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CGameEffectHitPoints::OnRemove

virtual void CGameEffectHitPoints::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectHitPoints::UsesDice

virtual int CGameEffectHitPoints::UsesDice();

Return Value

Returns int

Remarks

CGameEffectHoldCreatureSpell Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectHoldCreature-Spell::CGameEffectHoldCreatureSpell

Constructor (additional constructor) createCGameEffectHoldCreatureSpell object

CGameEffectHoldCreature-Spell::DisplayString

CGameEffectHoldCreatureSpell::CGameEffectHoldCreatureSpell

Constructor - create CGameEffectHoldCreatureSpell object

6.38. CGameEffect<Effect> Classes 1087

Page 1092: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameEffectHoldCreatureSpell::CGameEffectHoldCreatureSpell(Item_effect_st* effect,CPoint& source,long sourceID,CPoint target);

Parameters

• Item_effect_st* effect -

• CPoint& source -

• long sourceID -

• CPoint target -

Remarks

Additional constructor for CGameEffectHoldCreatureSpell::CGameEffectHoldCreatureSpell

CGameEffectHoldCreatureSpell::DisplayString

virtual void CGameEffectHoldCreatureSpell::DisplayString(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectImmunityLevelDecrement Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectImmunityLevelDecrement::OnRemove

CGameEffectImmunityLevelDecrement::OnRemove

virtual void CGameEffectImmunityLevelDecrement::OnRemove(CGameSprite* pSprite);

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1088 Chapter 6. EE Game Classes (x86)

Page 1093: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectImmunityToEffect Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectImmunityToEffect::OnRemove

CGameEffectImmunityToEffect::OnRemove

virtual void CGameEffectImmunityToEffect\:\:OnRemove\(:ref:`CGameSprite<CGameSprite>→˓`\* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectList Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

6.38. CGameEffect<Effect> Classes 1089

Page 1094: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffectList::CheckEffectsCGameEffectList::FakeExpireCheckCGameEffectList::GetTypeOnListCGameEffectList::HandleListCGameEffectList::IsTypeOnListCGameEffectList::MarshalCGameEffectList::ModifyAllOfTypeCGameEffectList::RemoveCGameEffectList::RemoveAllEffectsCGameEffectList::RemoveAllEffectsFromSourceResCGameEffectList::RemoveAllEffectsIgnoreMoreThenPermanentCGameEffectList::RemoveAllOfSchoolCGameEffectList::RemoveAllOfSecondaryTypeCGameEffectList::RemoveAllOfTypeCGameEffectList::RemoveOneOfSchoolCGameEffectList::RemoveOneOfSecondaryTypeCGameEffectList::RemoveOneOfTypeCGameEffectList::Unmarshal

CGameEffectList::CheckEffects

int CGameEffectList::CheckEffects();

Return Value

Returns int

Remarks

CGameEffectList::FakeExpireCheck

void CGameEffectList::FakeExpireCheck(CGameSprite* pSprite,long elapsedTime);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• long elapsedTime -

Remarks

1090 Chapter 6. EE Game Classes (x86)

Page 1095: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectList::GetTypeOnList

CGameEffect* CGameEffectList::GetTypeOnList(unsigned short effectId,unsigned long flags);

Parameters

• unsigned short effectId -

• unsigned long flags -

Return Value

Returns CGameEffect*

Remarks

CGameEffectList::HandleList

int CGameEffectList::HandleList(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns int

Remarks

CGameEffectList::IsTypeOnList

unsigned char CGameEffectList::IsTypeOnList(unsigned short effectId,unsigned long flags);

Parameters

• unsigned short effectId -

• unsigned long flags -

Return Value

Returns unsigned char

Remarks

CGameEffectList::Marshal

6.38. CGameEffect<Effect> Classes 1091

Page 1096: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned long CGameEffectList::Marshal(unsigned char** ptrPtr,unsigned char version,int moreThenPermanentOnly,int stripEquiped);

Parameters

• unsigned char** ptrPtr -

• unsigned char version -

• int moreThenPermanentOnly -

• int stripEquiped -

Return Value

Returns unsigned long

Remarks

CGameEffectList::ModifyAllOfType

int CGameEffectList::ModifyAllOfType(unsigned short effectId,long newEffectAmount,int increment,unsigned long dwFlags,int useFlags,int moreThenPermanentOnly);

Parameters

• unsigned short effectId -

• long newEffectAmount -

• int increment -

• unsigned long dwFlags -

• int useFlags -

• int moreThenPermanentOnly -

Return Value

Returns int

Remarks

CGameEffectList::ModifyAllOfType

1092 Chapter 6. EE Game Classes (x86)

Page 1097: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameEffectList::ModifyAllOfType(CGameSprite* pSprite,unsigned short effectId,POSITION* posLeave,long effectAmount);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned short effectId -

• POSITION* posLeave -

• long effectAmount -

Return Value

Returns

Remarks

CGameEffectList::Remove

int CGameEffectList::Remove(CGameEffect* effect,CGameSprite* pSprite,int compareSourceType);

Parameters

• CGameEffect* effect - pointer to game effect object

• CGameSprite* pSprite - pointer to game sprite object

• int compareSourceType* -

Return Value

Returns int

Remarks

CGameEffectList::RemoveAllEffects

void CGameEffectList::RemoveAllEffects(CGameSprite* pSprite,POSITION* posLeave,int checkDispellable,int useLevelDiff,unsigned char prob,unsigned char dispelLevel);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

6.38. CGameEffect<Effect> Classes 1093

Page 1098: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• POSITION* posLeave -

• int checkDispellable -

• int useLevelDiff -

• unsigned char prob -

• unsigned char dispelLevel -

Remarks

CGameEffectList::RemoveAllEffectsFromSourceRes

void CGameEffectList::RemoveAllEffectsFromSourceRes(CGameSprite* pSprite,POSITION* posLeave,CResRef& res);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• POSITION* posLeave -

• CResRef & res - resource reference

Remarks

CGameEffectList::RemoveAllEffectsIgnoreMoreThenPermanent

void CGameEffectList::RemoveAllEffectsIgnoreMoreThenPermanent(CGameSprite* pSprite,POSITION* posLeave,int checkDispellable,int useLevelDiff,unsigned char prob,unsigned char dispelLevel);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• POSITION* posLeave -

• int checkDispellable -

• int useLevelDiff -

• unsigned char prob -

• unsigned char dispelLevel -

Remarks

1094 Chapter 6. EE Game Classes (x86)

Page 1099: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectList::RemoveAllOfSchool

int CGameEffectList::RemoveAllOfSchool(CGameSprite* pSprite,unsigned long school,POSITION* posLeave,long maxLevel,int& found);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned long school -

• POSITION* posLeave -

• long maxLevel -

• int& found -

Return Value

Returns int

Remarks

CGameEffectList::RemoveAllOfSecondaryType

int CGameEffectList::RemoveAllOfSecondaryType(CGameSprite* pSprite,unsigned long secType,POSITION* posLeave,long maxLevel,int& found);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned long secType -

• POSITION* posLeave -

• long maxLevel -

• int& found -

Return Value

Returns int

Remarks

CGameEffectList::RemoveAllOfType

6.38. CGameEffect<Effect> Classes 1095

Page 1100: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameEffectList::RemoveAllOfType(CGameSprite* pSprite,unsigned short effectId,POSITION* posLeave,long effectAmount,CResRef res,int leaveMoreThenPermanent);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned short effectId -

• POSITION* posLeave -

• long effectAmount -

• CResRef res -

• int leaveMoreThenPermanent -

Remarks

CGameEffectList::RemoveOneOfSchool

int CGameEffectList::RemoveOneOfSchool(CGameSprite* pSprite,unsigned long school,POSITION* posLeave,long maxLevel,int& found);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned long school -

• POSITION* posLeave -

• long maxLevel -

• int& found -

Return Value

Returns int

Remarks

CGameEffectList::RemoveOneOfSecondaryType

1096 Chapter 6. EE Game Classes (x86)

Page 1101: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CGameEffectList::RemoveOneOfSecondaryType(CGameSprite* pSprite,unsigned long secType,POSITION* posLeave,long maxLevel,int& found);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned long secType -

• POSITION* posLeave -

• long maxLevel -

• int& found -

Return Value

Returns int

Remarks

CGameEffectList::RemoveOneOfType

int CGameEffectList::RemoveOneOfType(CGameSprite* pSprite,unsigned short effectId,POSITION* posLeave,long effectAmount,CResRef res);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned short effectId -

• POSITION* posLeave -

• ‘‘long effectAmount -

• CResRef res -

Return Value

Returns int

Remarks

CGameEffectList::Unmarshal

6.38. CGameEffect<Effect> Classes 1097

Page 1102: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameEffectList::Unmarshal(unsigned char* data,unsigned long nSize,CGameSprite* pSprite,unsigned char version);

Parameters

• unsigned char* data -

• unsigned long nSize -

• CGameSprite* pSprite - pointer to game sprite object

• unsigned char version -

Remarks

CGameEffectMakeUnselectable Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectMakeUnselectable::OnRemove

CGameEffectMakeUnselectable::OnRemove

virtual void CGameEffectMakeUnselectable::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectMaze Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

1098 Chapter 6. EE Game Classes (x86)

Page 1103: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffect-Maze::CGameEffectMaze

Constructor (additional constructor) - creates a CGameEffectMaze ob-ject

CGameEffectMaze::OnAddSpecificCGameEffectMaze::OnRemove

CGameEffectMaze::CGameEffectMaze

Constructor - creates a CGameEffectMaze object

void CGameEffectMaze::CGameEffectMaze();

Remarks

Additional constructor for CGameEffectMaze

CGameEffectMaze::OnAddSpecific

virtual void CGameEffectMaze::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectMaze::OnRemove

virtual void CGameEffectMaze::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectOverrideAnimation Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

6.38. CGameEffect<Effect> Classes 1099

Page 1104: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffectOverrideAnimation::OnRemove

CGameEffectOverrideAnimation::OnRemove

virtual void CGameEffectOverrideAnimation::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPoison Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectPoison::OnAddSpecific

CGameEffectPoison::OnAddSpecific

virtual void CGameEffectPoison::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPolymorph Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

1100 Chapter 6. EE Game Classes (x86)

Page 1105: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffectPolymorph::OnRemove

CGameEffectPolymorph::OnRemove

virtual void CGameEffectPolymorph::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPortrait Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectPortrait::OnRemove

CGameEffectPortrait::OnRemove

virtual void CGameEffectPortrait::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPowerWordSleep Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

6.38. CGameEffect<Effect> Classes 1101

Page 1106: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffectPowerWordSleep::OnRemove

CGameEffectPowerWordSleep::OnRemove

virtual void CGameEffectPowerWordSleep::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPowerWordStun Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectPowerWordStun::OnRemove

CGameEffectPowerWordStun::OnRemove

virtual void CGameEffectPowerWordStun::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectPushPull Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

1102 Chapter 6. EE Game Classes (x86)

Page 1107: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCGameEffectPushPull::CheckSave

CGameEffectPushPull::CheckSave

virtual int CGameEffectPushPull::CheckSave(CGameSprite* pSprite,unsigned char& saveVSDeathRoll,unsigned char& saveVSWandsRoll,unsigned char& saveVSPolyRoll,unsigned char& saveVSBreathRoll,unsigned char& saveVSSpellRoll,unsigned char& magicResistRoll);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned char& saveVSDeathRoll -

• unsigned char& saveVSWandsRoll -

• unsigned char& saveVSPolyRoll -

• unsigned char& saveVSBreathRoll -

• unsigned char& saveVSSpellRoll -

• unsigned char& magicResistRoll -

Return Value

Returns int

Remarks

CGameEffectRegeneration Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectRegeneration::OnAddSpecific

6.38. CGameEffect<Effect> Classes 1103

Page 1108: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectRegeneration::OnAddSpecific

virtual void CGameEffectRegeneration::OnAddSpecific(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectSevenEyes Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectSevenEyes::OnRemove

CGameEffectSevenEyes::OnRemove

virtual void CGameEffectSevenEyes::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectSexChange Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectSexChange::OnRemove

1104 Chapter 6. EE Game Classes (x86)

Page 1109: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSexChange::OnRemove

virtual void CGameEffectSexChange::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectStaticCharge Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectStaticCharge::UsesDice

CGameEffectStaticCharge::UsesDice

virtual int CGameEffectStaticCharge::UsesDice();

Return Value

Returns int

Remarks

CGameEffectStoneSkins Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectStoneSkins::OnRemoveCGameEffectStoneSkins::UsesDice

6.38. CGameEffect<Effect> Classes 1105

Page 1110: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectStoneSkins::OnRemove

virtual void CGameEffectStoneSkins::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CGameEffectStoneSkins::UsesDice

virtual int CGameEffectStoneSkins::UsesDice();

Return Value

Returns

Remarks

CGameEffectStoneSkinsGolem Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectStoneSkinsGolem::OnRemove

CGameEffectStoneSkinsGolem::OnRemove

virtual void CGameEffectStoneSkinsGolem::OnRemove(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1106 Chapter 6. EE Game Classes (x86)

Page 1111: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameEffectSummon Class

Note: See CGameEffect<Effect> Methods for methods that are shared by all game effect classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCGameEffectSummon::ApplyVisualEffectCGameEffectSummon::ApplyVisualEffectArea

CGameEffectSummon::ApplyVisualEffect

virtual void __cdecl CGameEffectSummon::ApplyVisualEffect(CResRef& res,CPoint& dest,CGameSprite* pSprite,CGameArea* pArea);

Parameters

• CResRef & res -

• CPoint& dest -

• CGameSprite* pSprite - pointer to game sprite object

• CGameArea* pArea -

Remarks

CGameEffectSummon::ApplyVisualEffectArea

virtual void __cdecl CGameEffectSummon::ApplyVisualEffectArea(CResRef& res,CPoint& dest,CGameSprite* pSprite,CGameArea* pArea);

Parameters

• CResRef & res -

• CPoint& dest -

• CGameSprite* pSprite - pointer to game sprite object

• CGameArea* pArea -

Remarks

6.38. CGameEffect<Effect> Classes 1107

Page 1112: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.39 CGameFireball3d Class

The structure used for this class is CGameFireball3d

Quick Refvoid CGameFireball3d::CGameFireball3d(unsigned char type, unsigned short projectileID, unsigned char* col-orRangeValues, short radius, unsigned char speed, unsigned char collision, unsigned long projectileFlags, shortholdDuration, int bCone, unsigned short coneSize, CPoint& posEdge)virtual void CGameFireball3d::~CGameFireball3d()virtual void CGameFireball3d::AIUpdate()int CGameFireball3d::AddToAreaFireball(CGameArea* pArea, CPoint& pos, long posZ, unsigned char list-Type)virtual unsigned char CGameFireball3d::CanSaveGame(unsigned long& strError, int restCheck, int combat-Check)void CGameFireball3d::CreateStaticTemporal(short duration, CPoint& ptTemp, CPoint& ptSpeed)void CGameFireball3d::CreateTemporal(short duration, CPoint& ptTemp, CPoint& ptSpeed)virtual void CGameFireball3d::RemoveFromArea()virtual void CGameFireball3d::Render(CGameArea* pArea, CVidMode* pVidMode)void CGameFireball3d::SetFlags(unsigned long flags)void CGameFireball3d::SetSndExplosion(CResRef resref)void CGameFireball3d::SetSpriteSplashVidCell(CResRef resref, int paletted)

6.39.1 Constructors

Name DescriptionCGameFireball3d::CGameFireball3d Constructs a CGameFireball3d objectCGameFireball3d::~CGameFireball3d Destroys a CGameFireball3d object

CGameFireball3d::CGameFireball3d

Constructs a CGameFireball3d object

void CGameFireball3d::CGameFireball3d(unsigned char type,unsigned short projectileID,unsigned char* colorRangeValues,short radius,unsigned char speed,unsigned char collision,unsigned long projectileFlags,short holdDuration,int bCone,unsigned short coneSize,CPoint& posEdge);

Parameters

• unsigned char type -

• unsigned short projectileID -

1108 Chapter 6. EE Game Classes (x86)

Page 1113: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char* colorRangeValues -

• short radius -

• unsigned char speed -

• unsigned char collision -

• unsigned long projectileFlags -

• short holdDuration -

• int bCone -

• unsigned short coneSize -

• CPoint& posEdge -

Remarks

Constructs a CGameFireball3d object

CGameFireball3d::~CGameFireball3d

Destroys the CGameFireball3d object

virtual void **CGameFireball3d\:\:~CGameFireball3d**\();

Remarks

Destroys the CGameFireball3d object

6.39.2 Methods

Name DescriptionCGameFireball3d::AIUpdateCGameFireball3d::AddToAreaFireball Add fireball object to areaCGameFireball3d::CanSaveGameCGameFireball3d::CreateStaticTemporalCGameFireball3d::CreateTemporalCGameFireball3d::RemoveFromArea Remove fireball object from areaCGameFireball3d::Render Render fireball objectCGameFireball3d::SetFlags Set fireball object flagsCGameFireball3d::SetSndExplosion Set sound explosion for the fireball objectCGameFireball3d::SetSpriteSplashVidCell Set sprite splash for the fireball object

CGameFireball3d::AIUpdate

virtual void CGameFireball3d::AIUpdate();

Remarks

6.39. CGameFireball3d Class 1109

Page 1114: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameFireball3d::AddToAreaFireball

Add fireball object to area

int CGameFireball3d::AddToAreaFireball(CGameArea* pArea,CPoint& pos,long posZ,unsigned char listType);

Parameters

• CGameArea* pArea - pointer to area to add fireball to

• CPoint& pos - x and y coordinates where to add fireball

• long posZ - z height position of fireball

• unsigned char listType -

Return Value

Returns int

Remarks

CGameFireball3d::CanSaveGame

virtual unsigned char CGameFireball3d::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameFireball3d::CreateStaticTemporal

void CGameFireball3d::CreateStaticTemporal(short duration,CPoint& ptTemp,CPoint& ptSpeed);

Parameters

• short duration -

1110 Chapter 6. EE Game Classes (x86)

Page 1115: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CPoint& ptTemp -

• CPoint& ptSpeed -

Remarks

CGameFireball3d::CreateTemporal

void CGameFireball3d::CreateTemporal(short duration,CPoint& ptTemp,CPoint& ptSpeed);

Parameters

• short duration -

• CPoint& ptTemp -

• CPoint& ptSpeed -

Remarks

CGameFireball3d::RemoveFromArea

Remove fireball object from area

virtual void CGameFireball3d::RemoveFromArea();

Remarks

CGameFireball3d::Render

Render fireball object

virtual void CGameFireball3d::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

CGameFireball3d::SetFlags

Set fireball object flags

6.39. CGameFireball3d Class 1111

Page 1116: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameFireball3d::SetFlags(unsigned long flags);

Parameters

• unsigned long flags -

Remarks

CGameFireball3d::SetSndExplosion

Set sound explosion for the fireball object

void CGameFireball3d::SetSndExplosion(CResRef resref);

Parameters

• CResRef resref - resource reference for explosion sound to play

Remarks

CGameFireball3d::SetSpriteSplashVidCell

Set sprite splash for the fireball object

void CGameFireball3d::SetSpriteSplashVidCell(CResRef resref,int paletted);

Parameters

• CResRef resref - resource reference for sprite splash

• int paletted - true or false?

Remarks

6.40 CGameJournal Class

The structure used for this class is CGameJournal

1112 Chapter 6. EE Game Classes (x86)

Page 1117: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameJournal::CGameJournal()void CGameJournal::~CGameJournal()int CGameJournal::AddEntry(unsigned long strText, unsigned short nType)int CGameJournal::AddEntry(unsigned long strText, int nChapter, long nTime, unsigned short nType)void CGameJournal::AlphabetizeQuests(int nChapter)void CGameJournal::ChangeEntry(unsigned long strRef, CString szNewText)void CGameJournal::ChangeEntry(unsigned long nIndex, CString szNewText, int nChapter, unsigned charnCharacter)void CGameJournal::ClearAllEntries()unsigned short CGameJournal::CountEntries()void CGameJournal::DeleteEntry(unsigned long strRef)int CGameJournal::InsertEntryAfter(CString strText, unsigned long nEntry, unsigned short nType)int CGameJournal::InsertEntryAfter(CString szText, unsigned long nIndex, int nChapter, long nTime, unsignedchar nCharacter, unsigned short nType, unsigned long strRef)void CGameJournal::Marshal(CSavedGameJournalEntry* pSavedEntry)void CGameJournal::SetQuestDone(unsigned long strRef)void CGameJournal::Unmarshal(CSavedGameJournalEntry* pSavedEntry, unsigned long nSavedEntry)void CGameJournal::UpdateJournalEntry(unsigned long strText, long time, unsigned short type, int chapter,CString timeStamp)

6.40.1 Constructors

Name DescriptionCGameJournal::CGameJournal Constructs a CGameJournal objectCGameJournal::~CGameJournal Destroys a CGameJournal object

CGameJournal::CGameJournal

Constructs a CGameJournal object

void CGameJournal::CGameJournal();

Remarks

Constructs a CGameJournal object

CGameJournal::~CGameJournal

Destroys the CGameJournal object

void CGameJournal::~CGameJournal();

Remarks

Destroys the CGameJournal object

6.40. CGameJournal Class 1113

Page 1118: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.40.2 Methods

Name DescriptionCGameJournal::AddEntry Add a journal entryCGameJournal::AlphabetizeQuests Sorts quests in the specified chapter in alphabetical orderCGameJournal::ChangeEntry Change a journal entryCGameJournal::ClearAllEntries Clear all journal entriesCGameJournal::CountEntries Returns count of all journal entriesCGameJournal::DeleteEntry Delete a journal entryCGameJournal::InsertEntryAfter Insert a new journal entry after a specific journal entryCGameJournal::MarshalCGameJournal::SetQuestDone Mark a journal quest entry as completedCGameJournal::UnmarshalCGameJournal::UpdateJournalEntry Update a journal entry

CGameJournal::AddEntry

Add a journal entry

int CGameJournal::AddEntry(unsigned long strText,unsigned short nType);

Parameters

• unsigned long strText - pointer to string containing text to add to journal

• unsigned short nType - type of journal entry to add

Return Value

Returns an int value

Remarks

CGameJournal::AddEntry

Add a journal entry

int CGameJournal::AddEntry(unsigned long strText,int nChapter,long nTime,unsigned short nType);

Parameters

• unsigned long strText - pointer to string containing text to add to journal

• int nChapter - chapter to add journal entry to

• long nTime - date time stamp for journal entry

• unsigned short nType - type of journal entry to add

1114 Chapter 6. EE Game Classes (x86)

Page 1119: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns an int value

Remarks

CGameJournal::AlphabetizeQuests

Sorts quests in the specified chapter in alphabetical order

void CGameJournal::AlphabetizeQuests(int nChapter);

Parameters

• int nChapter - chapter number to sort

Remarks

CGameJournal::ChangeEntry

Change a journal entry

void CGameJournal::ChangeEntry(unsigned long strRef,CString szNewText);

Parameters

• unsigned long strRef - string reference

• CString szNewText - string containing new text to use in journal entry

Remarks

CGameJournal::ChangeEntry

Change a journal entry

void CGameJournal::ChangeEntry(unsigned long nIndex,CString szNewText,int nChapter,unsigned char nCharacter);

Parameters

• unsigned long nIndex - journal entry index id

• CString szNewText - string containing new text to use in journal entry

• int nChapter - chapter number that entry is located in

• unsigned char nCharacter -

Remarks

6.40. CGameJournal Class 1115

Page 1120: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameJournal::ClearAllEntries

Clear all journal entries

void CGameJournal::ClearAllEntries();

Remarks

CGameJournal::CountEntries

Returns count of all journal entries

unsigned short CGameJournal::CountEntries();

Return Value

Returns an unsigned short value which is the count of all journal entries

Remarks

CGameJournal::DeleteEntry

Delete a journal entry

void CGameJournal::DeleteEntry(unsigned long strRef);

Parameters

• unsigned long strRef - string reference of journal entry to delete

Remarks

CGameJournal::InsertEntryAfter

Insert a new journal entry after a specific journal entry

int CGameJournal::InsertEntryAfter(:ref:`CString<CString>` strText,unsigned long nEntry,unsigned short nType);

Parameters

• CString strText - string containing new text to use in journal entry

• unsigned long nEntry - journal entry id to insert new entry after

• unsigned short nType - type of journal entry to add

Return Value

Returns an int value

Remarks

1116 Chapter 6. EE Game Classes (x86)

Page 1121: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameJournal::InsertEntryAfter

Insert a new journal entry after a specific journal entry

int CGameJournal::InsertEntryAfter(CString szText,unsigned long nIndex,int nChapter,long nTime,unsigned char nCharacter,unsigned short nType,unsigned long strRef);

Parameters

• CString szText - string containing new text to use in journal entry

• unsigned long nIndex - journal entry id to insert new entry after

• int nChapter - chapter to add journal entry to

• long nTime - date time stamp for journal entry

• unsigned char nCharacter -

• unsigned short nType - type of journal entry to add

• unsigned long strRef - string reference

Return Value

Returns an int value

Remarks

CGameJournal::Marshal

void CGameJournal::Marshal(CSavedGameJournalEntry* pSavedEntry);

Parameters

• CSavedGameJournalEntry* pSavedEntry -

Remarks

CGameJournal::SetQuestDone

Mark a journal quest entry as completed

void CGameJournal::SetQuestDone(unsigned long strRef);

Parameters

• unsigned long strRef - string reference of journal entry to mark as completed

Remarks

6.40. CGameJournal Class 1117

Page 1122: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameJournal::Unmarshal

void CGameJournal::Unmarshal(CSavedGameJournalEntry* pSavedEntry,unsigned long nSavedEntry);

Parameters

• CSavedGameJournalEntry* pSavedEntry -

• unsigned long nSavedEntry -

Remarks

CGameJournal::UpdateJournalEntry

Update a journal entry

void CGameJournal::UpdateJournalEntry(unsigned long strText,long time,unsigned short type,int chapter,CString timeStamp);

Parameters

• unsigned long strText - string containing journal entry text

• long time - date time stamp for journal entry

• unsigned short type - type of journal entry

• int chapter - chapter number

• CString timeStamp - date time stamp text

Remarks

6.41 CGameObject Class

The structure used for this class is CGameObject

1118 Chapter 6. EE Game Classes (x86)

Page 1123: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameObject::CGameObject()virtual void CGameObject::AddToArea(CGameArea* pNewArea, CPoint& pos, long posZ, unsigned char list-Type)virtual void CGameObject::AIUpdate()virtual unsigned char CGameObject::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameObject::CompressTime(unsigned long deltaTime)virtual void CGameObject::DebugDump(CString& __formal)virtual unsigned char CGameObject::DoAIUpdate(unsigned char active, long counter)virtual int CGameObject::DoesIntersect(CRect __formal)virtual int CGameObject::EvaluateStatusTrigger(CAITrigger& __formal)virtual CAIObjectType& CGameObject::GetAIType()virtual void CGameObject::GetNextWaypoint(CPoint* pt)virtual unsigned char CGameObject::GetObjectType()virtual long CGameObject::GetTargetId()virtual __POSITION* CGameObject::GetVertListPos()virtual unsigned char CGameObject::GetVertListType()unsigned char CGameObject::InControl()virtual int CGameObject::IsOver(CPoint& __formal)int CGameObject::IsPicked()virtual void CGameObject::OnActionButton(CPoint& pt)virtual void CGameObject::OnFormationButton(CPoint& pt)virtual int CGameObject::OnSearchMap()virtual void CGameObject::RemoveFromArea()virtual void CGameObject::Render(CGameArea* __formal)virtual void CGameObject::SetTarget(CPoint __formal)virtual void CGameObject::SetAIType(CAIObjectType& typeAI, int dummy)virtual void CGameObject::SetVertListPos(__POSITION* posVertList)virtual void CGameObject::SetVertListType(unsigned char type)virtual void CGameObject::SetCursor(long nToolTip)

6.41.1 Constructors

Name DescriptionCGameObject::CGameObject Constructs a CGameObject object

CGameObject::CGameObject

Constructs a CGameObject object

void CGameObject::CGameObject();

Remarks

Constructs a CGameObject object

6.41. CGameObject Class 1119

Page 1124: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.41.2 Methods

Name DescriptionCGameObject::AddToAreaCGameObject::AIUpdateCGameObject::CanSaveGameCGameObject::CompressTimeCGameObject::DebugDumpCGameObject::DoAIUpdateCGameObject::DoesIntersectCGameObject::EvaluateStatusTriggerCGameObject::GetAITypeCGameObject::GetNextWaypointCGameObject::GetObjectTypeCGameObject::GetTargetIdCGameObject::GetVertListPosCGameObject::GetVertListTypeCGameObject::InControlCGameObject::IsOverCGameObject::IsPickedCGameObject::OnActionButtonCGameObject::OnFormationButtonCGameObject::OnSearchMapCGameObject::RemoveFromAreaCGameObject::RenderCGameObject::SetTargetCGameObject::SetAITypeCGameObject::SetVertListPosCGameObject::SetVertListTypeCGameObject::SetCursor

CGameObject::AddToArea

virtual void CGameObject::AddToArea(CGameArea* pNewArea,CPoint& pos,long posZ,unsigned char listType);

Parameters

• CGameArea* pNewArea -

• CPoint& pos -

• long posZ -

• unsigned char listType -

Remarks

1120 Chapter 6. EE Game Classes (x86)

Page 1125: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::AIUpdate

virtual void CGameObject::AIUpdate();

Remarks

CGameObject::CanSaveGame

virtual unsigned char CGameObject::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameObject::CompressTime

virtual unsigned char CGameObject::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

CGameObject::DebugDump

virtual void CGameObject::DebugDump(CString& __formal);

Parameters

• CString& __formal -

Remarks

6.41. CGameObject Class 1121

Page 1126: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::DoAIUpdate

virtual unsigned char CGameObject::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameObject::DoesIntersect

virtual int CGameObject::DoesIntersect(CRect __formal);

Parameters

• CRect __formal -

Return Value

Returns int

Remarks

CGameObject::EvaluateStatusTrigger

virtual int CGameObject::EvaluateStatusTrigger(CAITrigger& __formal);

Parameters

• CAITrigger& __formal -

Return Value

Returns int

Remarks

1122 Chapter 6. EE Game Classes (x86)

Page 1127: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::GetAIType

virtual CAIObjectType& CGameObject::GetAIType();

Return Value

Returns CAIObjectType&

Remarks

CGameObject::GetNextWaypoint

virtual void CGameObject::GetNextWaypoint(CPoint* pt);

Parameters

• CPoint* pt -

Remarks

CGameObject::GetObjectType

virtual unsigned char CGameObject::GetObjectType();

Return Value

Returns unsigned char - see remarks for object types

Remarks

Object Type Object Type Description0x00 TYPE_NONE0x01 TYPE_AIBASE0x10 TYPE_SOUND0x11 TYPE_CONTAINER0x20 TYPE_SPAWNING0x21 TYPE_DOOR0x30 TYPE_STATIC0x31 TYPE_SPRITE0x40 TYPE_OBJECT_MARKER0x41 TYPE_TRIGGER0x51 TYPE_TILED_OBJECT0x60 TYPE_TEMPORAL0x61 TYPE_AREA_AI0x70 TYPE_FIREBALL0x71 TYPE_GAME_AI

6.41. CGameObject Class 1123

Page 1128: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::GetTargetId

virtual long CGameObject::GetTargetId();

Return Value

Returns long

Remarks

CGameObject::GetVertListPos

virtual __POSITION* CGameObject::GetVertListPos();

Return Value

Returns __POSITION*

Remarks

CGameObject::GetVertListType

virtual unsigned char CGameObject::GetVertListType();

Return Value

Returns unsigned char

Remarks

CGameObject::InControl

unsigned char CGameObject::InControl();

Return Value

Returns unsigned char

Remarks

1124 Chapter 6. EE Game Classes (x86)

Page 1129: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::IsOver

virtual int CGameObject::IsOver(CPoint& __formal);

Parameters

• CPoint& __formal -

Return Value

Returns int

Remarks

CGameObject::IsPicked

int CGameObject::IsPicked();

Return Value

Returns int

Remarks

CGameObject::OnActionButton

virtual void CGameObject::OnActionButton(CPoint& pt);

Parameters

• CPoint& pt -

Remarks

CGameObject::OnFormationButton

virtual void CGameObject::OnFormationButton(CPoint& pt);

Parameters

• CPoint& pt -

Remarks

6.41. CGameObject Class 1125

Page 1130: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::OnSearchMap

virtual int CGameObject::OnSearchMap();

Return Value

Returns int

Remarks

CGameObject::RemoveFromArea

virtual void CGameObject::RemoveFromArea();

Remarks

CGameObject::Render

virtual void CGameObject::Render(CGameArea* __formal);

Parameters

• CGameArea* __formal -

Remarks

CGameObject::SetTarget

virtual void CGameObject::SetTarget(CPoint __formal);

Parameters

• CPoint __formal -

Remarks

CGameObject::SetAIType

virtual void CGameObject::SetAIType(CAIObjectType& typeAI,int dummy);

Parameters

• CAIObjectType& typeAI -

• int dummy -

Remarks

1126 Chapter 6. EE Game Classes (x86)

Page 1131: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObject::SetVertListPos

virtual void CGameObject::SetVertListPos(__POSITION* posVertList);

Parameters

• __POSITION* posVertList -

Remarks

CGameObject::SetVertListType

virtual void CGameObject::SetVertListType(unsigned char type);

Parameters

• unsigned char type -

Remarks

CGameObject::SetCursor

virtual void CGameObject::SetCursor(long nToolTip);

Parameters

• long nToolTip -

Remarks

6.42 CGameObjectArray Class

The structure used for this class is CGameObjectArray

Quick Refvoid CGameObjectArray::~CGameObjectArray()unsigned char CGameObjectArray::Add(long* index, CGameObject* ptr)unsigned char CGameObjectArray::ChangeEntry(long index, CGameObject* ptr)void CGameObjectArray::Clean()unsigned char CGameObjectArray::Delete(long index)virtual unsigned char __cdecl CGameObjectArray::GetDeny(long index, CGameObject** ptr)virtual unsigned char __cdecl CGameObjectArray::GetShare(long index, CGameObject** ptr)

6.42.1 Constructors

Name DescriptionCGameObjectArray::~CGameObjectArray Destroys a CGameObjectArray object

6.42. CGameObjectArray Class 1127

Page 1132: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObjectArray::~CGameObjectArray

Destroys the CGameObjectArray object

void CGameObjectArray::~CGameObjectArray();

Remarks

Destroys the CGameObjectArray object

6.42.2 Methods

Name DescriptionCGameObjectArray::AddCGameObjectArray::ChangeEntryCGameObjectArray::CleanCGameObjectArray::DeleteCGameObjectArray::GetDenyCGameObjectArray::GetShare

CGameObjectArray::Add

unsigned char CGameObjectArray::Add(long* index,CGameObject* ptr);

Parameters

• long* index -

• CGameObject* ptr -

Return Value

Returns unsigned char

Remarks

CGameObjectArray::ChangeEntry

unsigned char CGameObjectArray::ChangeEntry(long index,CGameObject* ptr);

Parameters

• long index -

• CGameObject* ptr -

1128 Chapter 6. EE Game Classes (x86)

Page 1133: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char

Remarks

CGameObjectArray::Clean

void CGameObjectArray::Clean();

Remarks

CGameObjectArray::Delete

unsigned char CGameObjectArray::Delete(long index);

Parameters

• long index -

Return Value

Returns unsigned char

Remarks

CGameObjectArray::GetDeny

virtual unsigned char __cdecl CGameObjectArray::GetDeny(long index,CGameObject** ptr);

Parameters

• long index -

• CGameObject** ptr -

Return Value

Returns unsigned char

Remarks

6.42. CGameObjectArray Class 1129

Page 1134: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameObjectArray::GetShare

virtual unsigned char __cdecl CGameObjectArray::GetShare(long index,CGameObject** ptr);

Parameters

• long index -

• CGameObject** ptr -

Return Value

Returns unsigned char

Remarks

6.43 CGamePermission Class

The structure used for this class is CGamePermission

Quick Refvoid CGamePermission::CGamePermission()void CGamePermission::~CGamePermission()unsigned char CGamePermission::GetSinglePermission(int nPermission)void CGamePermission::SetSinglePermission(int nPermission, unsigned char bValue)

6.43.1 Constructors

Name DescriptionCGamePermission::CGamePermission Constructs a CGamePermission objectCGamePermission::~CGamePermission Destroys a CGamePermission object

CGamePermission::CGamePermission

Constructs a CGamePermission object

void CGamePermission::CGamePermission();

Remarks

Constructs a CGamePermission object

1130 Chapter 6. EE Game Classes (x86)

Page 1135: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGamePermission::~CGamePermission

Destroys the CGamePermission object

void CGamePermission::~CGamePermission();

Remarks

Destroys the CGamePermission object

6.43.2 Methods

Name DescriptionCGamePermission::GetSinglePermissionCGamePermission::SetSinglePermission

CGamePermission::GetSinglePermission

unsigned char CGamePermission::GetSinglePermission(int nPermission);

Parameters

• int nPermission -

Return Value

Returns unsigned char

Remarks

CGamePermission::SetSinglePermission

void CGamePermission::SetSinglePermission(int nPermission,unsigned char bValue);

Parameters

• int nPermission -

• unsigned char bValue -

Remarks

6.44 CGameSave Class

Quick Refvoid CGameSave::SetInputMode(unsigned long mode)void CGameSaveCharacter::CGameSaveCharacter()

6.44. CGameSave Class 1131

Page 1136: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.44.1 Methods

Name DescriptionCGameSave::SetInputModeCGameSaveCharacter::CGameSaveCharacter

CGameSave::SetInputMode

void CGameSave::SetInputMode(unsigned long mode);

Parameters

• unsigned long mode -

Remarks

The structure used for this class method is CGameSave

CGameSaveCharacter::CGameSaveCharacter

void CGameSaveCharacter::CGameSaveCharacter();

Remarks

The structure used for this class method is CGameSaveCharacter

6.45 CGameSound Class

The structure used for this class is CGameSound

Quick Refvoid CGameSound::CGameSound(CGameArea* pArea, CAreaFileSoundObject* pSoundObject)virtual unsigned char CGameSound::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameSound::CompressTime(unsigned long deltaTime)virtual unsigned char CGameSound::DoAIUpdate(unsigned char active, long counter)void CGameSound::Marshal(CAreaFileSoundObject** pSoundObject)virtual void CGameSound::RemoveFromArea()void CGameSound::SetActive(int bActive)

6.45.1 Constructors

Name DescriptionCGameSound::CGameSound Constructs a CGameSound object

1132 Chapter 6. EE Game Classes (x86)

Page 1137: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSound::CGameSound

Constructs a CGameSound object

void CGameSound::CGameSound(CGameArea* pArea,CAreaFileSoundObject* pSoundObject);

Parameters

• CGameArea* pArea -

• CAreaFileSoundObject* pSoundObject -

Remarks

Constructs a CGameSound object

6.45.2 Methods

Name DescriptionCGameSound::CanSaveGameCGameSound::CompressTimeCGameSound::DoAIUpdateCGameSound::MarshalCGameSound::RemoveFromAreaCGameSound::SetActive

CGameSound::CanSaveGame

virtual unsigned char CGameSound::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameSound::CompressTime

6.45. CGameSound Class 1133

Page 1138: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual unsigned char CGameSound::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

CGameSound::DoAIUpdate

virtual unsigned char CGameSound::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameSound::Marshal

void CGameSound::Marshal(CAreaFileSoundObject** pSoundObject);

Parameters

• CAreaFileSoundObject** pSoundObject -

Remarks

CGameSound::RemoveFromArea

virtual void CGameSound::RemoveFromArea();

Remarks

CGameSound::SetActive

1134 Chapter 6. EE Game Classes (x86)

Page 1139: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameSound::SetActive(int bActive);

Parameters

• int bActive -

Remarks

6.46 CGameSpawning Class

The structure used for this class is CGameSpawning

Quick Refvoid CGameSpawning::CGameSpawning(CGameArea* pArea, CAreaFileRandomMonsterSpawningPoint*pSpawningObject)virtual unsigned char CGameSpawning::CanSaveGame(unsigned long& strError, int restCheck, int combat-Check)virtual unsigned char CGameSpawning::CompressTime(unsigned long deltaTime)virtual unsigned char CGameSpawning::DoAIUpdate(unsigned char active, long counter)unsigned long CGameSpawning::GetDifficulty(int nTotalCharacterLevels)unsigned long CGameSpawning::GetFrequency()unsigned long CGameSpawning::GetMaximum()unsigned long CGameSpawning::GetProbability(long probability)long CGameSpawning::GetRandomCreatureType()void CGameSpawning::Marshal(CAreaFileRandomMonsterSpawningPoint** pSpawningObject)virtual void CGameSpawning::RemoveFromArea()virtual void CGameSpawning::Render(CGameArea* pArea, CVidMode* pMode)void CGameSpawning::Spawn(CPoint& ptFacingTowards, int nTotalCharacterLevels)

6.46.1 Constructors

Name DescriptionCGameSpawning::CGameSpawning Constructs a CGameSpawning object

CGameSpawning::CGameSpawning

Constructs a CGameSpawning object

void CGameSpawning::CGameSpawning(CGameArea* pArea,CAreaFileRandomMonsterSpawningPoint* pSpawningObject);

Parameters

• CGameArea* pArea -

• CAreaFileRandomMonsterSpawningPoint* pSpawningObject -

6.46. CGameSpawning Class 1135

Page 1140: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CGameSpawning object

6.46.2 Methods

Name DescriptionCGameSpawning::CanSaveGameCGameSpawning::CompressTimeCGameSpawning::DoAIUpdateCGameSpawning::GetDifficultyCGameSpawning::GetFrequencyCGameSpawning::GetMaximumCGameSpawning::GetProbabilityCGameSpawning::GetRandomCreatureTypeCGameSpawning::MarshalCGameSpawning::RemoveFromAreaCGameSpawning::RenderCGameSpawning::Spawn

CGameSpawning::CanSaveGame

virtual unsigned char CGameSpawning::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameSpawning::CompressTime

virtual unsigned char CGameSpawning::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

1136 Chapter 6. EE Game Classes (x86)

Page 1141: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char

Remarks

CGameSpawning::DoAIUpdate

virtual unsigned char CGameSpawning::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameSpawning::GetDifficulty

unsigned long CGameSpawning::GetDifficulty(int nTotalCharacterLevels);

Parameters

• int nTotalCharacterLevels -

Return Value

Returns unsigned long

Remarks

CGameSpawning::GetFrequency

unsigned long CGameSpawning::GetFrequency();

Return Value

Returns unsigned long

Remarks

CGameSpawning::GetMaximum

6.46. CGameSpawning Class 1137

Page 1142: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned long CGameSpawning::GetMaximum();

Return Value

Returns unsigned long

Remarks

CGameSpawning::GetProbability

unsigned long CGameSpawning::GetProbability(long probability);

Parameters

• long probability -

Return Value

Returns unsigned long

Remarks

CGameSpawning::GetRandomCreatureType

long CGameSpawning::GetRandomCreatureType();

Return Value

Returns long

Remarks

CGameSpawning::Marshal

void CGameSpawning::Marshal(CAreaFileRandomMonsterSpawningPoint** pSpawningObject);

Parameters

• CAreaFileRandomMonsterSpawningPoint** pSpawningObject -

Remarks

CGameSpawning::RemoveFromArea

virtual void CGameSpawning::RemoveFromArea();

Remarks

1138 Chapter 6. EE Game Classes (x86)

Page 1143: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSpawning::Render

virtual void CGameSpawning::Render(CGameArea* pArea,CVidMode* pMode);

Parameters

• CGameArea* pArea -

• CVidMode* pMode -

Remarks

CGameSpawning::Spawn

void CGameSpawning::Spawn(:ref:`CPoint<CPoint>`\& ptFacingTowards,int nTotalCharacterLevels);

Parameters

• CPoint& ptFacingTowards -

• int nTotalCharacterLevels -

Remarks

6.47 CGameSprite Class

• Overview

• Quick Reference

• Constructors

• Methods

6.47.1 Overview

Note: The CGameSprite class handles game sprites

The structure used for this class is CGameSprite

6.47.2 Quick Reference

6.47. CGameSprite Class 1139

Page 1144: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameSprite::CGameSprite()void CGameSprite::CGameSprite(unsigned char* pCreature, long creatureSize, unsigned short type, unsigned long expirationTime, unsigned short huntingRange, unsigned short followRange, unsigned long timeOfDayVisible, CPoint startPos, unsigned short facing, int copyScript)virtual void CGameSprite::~CGameSprite()virtual void CGameSprite::AIUpdate()void CGameSprite::AIUpdateFly()void CGameSprite::AIUpdateWalk()void CGameSprite::AddBlood(short nHeight, short nDirection, short nType)void CGameSprite::AddClassAbilities(unsigned char nClass, short numLevels, int bDisplayFeedback)virtual void CGameSprite::AddEffect(CGameEffect* pEffect, unsigned char list, int noSave, int immediateResolve)int CGameSprite::AddItemBags(CItem& cItem, short slotNum)int CGameSprite::AddKnownSpell(CResRef & cResSpell, int nSpellLevel, CTypedPtrList<CPtrList,CCreatureFileKnownSpell *>* pKnownList, unsigned char nMagicType)int CGameSprite::AddKnownSpellMage(CResRef & cResSpell, int nSpellLevel)int CGameSprite::AddKnownSpellPriest(CResRef & cResSpell, int nSpellLevel)void CGameSprite::AddNewSpecialAbilities(CDerivedStats& OldDStats, int bDisplayFeedback)void CGameSprite::AddNewSpellsPriest()void CGameSprite::AddObjectSearch(CPoint& point, unsigned char sourceSide, unsigned char personalSpaceRange, int bBumpable, int checkIfRemoved)void CGameSprite::AddPortraitIcon(int icon)void CGameSprite::AddReplacementToArea(CGameArea* pNewArea, CPoint ptPos, long posZ, unsigned char listType, __POSITION* vertListPos, unsigned char bInfravision)void CGameSprite::AddSpecialAbility(CResRef & cResInnateSpell, int feedBack)virtual void __cdecl CGameSprite::AddStatToRating(CArray<StatRating,StatRating &>& stats, float& totalRating, CString statName, float value) = 0virtual void CGameSprite::AddToArea(CGameArea* pNewArea, CPoint& pos, long posZ, unsigned char listType)void CGameSprite::AddVVC(CResRef & res)void CGameSprite::AddVVCInEffect(CResRef res)CPoint CGameSprite::AdjustTargetFollowTheLeader(long*& pPath, long& nPath, short groupPosition, unsigned char& noPathLeft)int CGameSprite::AllowSpecialStates()short CGameSprite::Ally()int CGameSprite::Animate()short CGameSprite::AnkhegEmerge()short CGameSprite::AnkhegHide()void CGameSprite::ApplyCastingEffect(CSpell* pSpell, Spell_ability_st* ability, CPoint& target)void CGameSprite::ApplyCastingEffectPost(CSpell* pSpell, Spell_ability_st* ability)void CGameSprite::ApplyCriticals(CGameSprite* target, int leftHand, int itemType, int attackType, int hitOrMiss)void CGameSprite::ApplyItem(CResRef itemName, int slot, int abNo)virtual void CGameSprite::ApplyTriggers()short CGameSprite::Attack(CGameSprite* target)short CGameSprite::AttackReevaluate(int bForceNewTarget)void CGameSprite::ArenaSetUp()virtual void CGameSprite::AutoPause(unsigned long type)short CGameSprite::BashDoor(CGameAIBase* pObject)short CGameSprite::BattleSong()short CGameSprite::Berserk()unsigned char CGameSprite::CanChangeWeapon()int CGameSprite::CanEquipRanged()virtual unsigned char CGameSprite::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)long CGameSprite::CalculateHealingPotential(long nMaxHitPoints)unsigned char CGameSprite::CanSeeInfra()int CGameSprite::CanSpeak(int ignoreDeath, unsigned long& ref)int CGameSprite::CanWriteSpellScroll(CGameEffect* pEffect)short CGameSprite::ChangeAnimation()

Continued on next page

1140 Chapter 6. EE Game Classes (x86)

Page 1145: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pagevoid CGameSprite::ChangeDirection()void CGameSprite::CheckBerserkActive()int CGameSprite::CheckBumpable()int CGameSprite::CheckCastingRange(CSpell* pSpell, CPoint& target)void CGameSprite::CheckCutSceneStateOverride()void CGameSprite::CheckCombatStats()void CGameSprite::CheckCombatStatsHaste()void CGameSprite::CheckCombatStatsWeapon(CItem* curWeapon, int offhand)int CGameSprite::CheckDialogWait()int CGameSprite::CheckEffect(CGameEffect* pEffect)void CGameSprite::CheckExpiredWeapons()void CGameSprite::CheckExtraDestruction()void CGameSprite::CheckFatigue()void CGameSprite::CheckForBerserkStage2()int CGameSprite::CheckForDead()void CGameSprite::CheckForDialogWaitCancel()void CGameSprite::CheckForForcedDialogEnd(int overrideAction)void CGameSprite::CheckHappiness()int CGameSprite::CheckIfUsedUp(short slotNum, short abilityNum)void CGameSprite::CheckIfVisible()int CGameSprite::CheckLauncherType(Item_ability_st* curAbility, CItem* pLauncher)void CGameSprite::CheckLoadState()CGameDialogSprite* CGameSprite::CheckLoadedBanter(CResRef & res)CGameDialogSprite* CGameSprite::CheckLoadedDialog(CResRef & res)void CGameSprite::CheckSleeping()void CGameSprite::ContingencyCheck()void CGameSprite::CheckModal()int CGameSprite::CheckMorale()void CGameSprite::CheckMoveForCutScenes()void CGameSprite::CheckPuppetMaster()void CGameSprite::CheckQuickLists(CAbilityId& ab, short changeAmount, int remove, int removeSpellIfZero)void CGameSprite::CheckReputation(int nForcedRep)void CGameSprite::CheckSevenEyes(CGameEffect*& pEffect)void CGameSprite::CheckSequence(unsigned char& sequence)void CGameSprite::CheckSpellLoss()void CGameSprite::CheckStatsChange()void CGameSprite::CheckToolTipItem(unsigned char buttonNum)virtual void CGameSprite::ClearAI(unsigned char setSequence)void CGameSprite::ClearDialogActions()void CGameSprite::ClearStoredPaths()void CGameSprite::CleanUpTempSprites(CGameSprite* pTempSprite, int nInventoryId, CItem* pTestingItem)int CGameSprite::ClearBumpPath(CPoint& start, CPoint& goal)void CGameSprite::ClearMarshal(int unequip)void CGameSprite::CombineActiveInactiveProficiency(int nProficiencyType)void CGameSprite::CombineAllActiveInactiveProficiencies()virtual unsigned char CGameSprite::CompressTime(unsigned long deltaTime)int CGameSprite::ConcentrationFailed()int CGameSprite::ControlledByPlayer()CGameSprite* CGameSprite::Copy(int bMarkItemsAsNonDroppable, int copyNonDroppable, int copyEffects, int copyScripts)unsigned long CGameSprite::CountItemBags(CString& nameIn)

Continued on next page

6.47. CGameSprite Class 1141

Page 1146: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pageshort CGameSprite::CountItemPersonal(CString& nameIn)CGameEffectDamage* CGameSprite::Damage(CItem* curWeaponIn, CItem* pLauncher, long curAttackNum, int criticalDamage, CAIObjectType& type, short facing, short myFacing, CGameSprite* target, int lastSwing)virtual void CGameSprite::DebugDump(CString& message, unsigned char bEchoToScreen)void CGameSprite::DecodeSwingSound(CItem* pItem, CItem* pLauncher)void CGameSprite::DestroyItemInSlot(long slot, int checkPaw)short CGameSprite::Dialogue(CGameSprite* target)int CGameSprite::DisableOffhand(short itemType)void CGameSprite::DisplayTextRef(unsigned long nameRef, unsigned long text, unsigned long nameColor, unsigned long textColor)virtual unsigned char CGameSprite::DoAIUpdate(unsigned char active, long counter)void CGameSprite::DoAction(int sequenceCheck)short CGameSprite::DropInventory(unsigned char bDestroyInventory, int bPackOnly)short CGameSprite::DropItem()short CGameSprite::DropItem(short slotNum, CPoint dropPoint)short CGameSprite::DropItem(CItem* pItem, CPoint dropPoint)virtual int CGameSprite::DoesIntersect(CRect rect)void CGameSprite::DoMoraleFailure()int CGameSprite::DrainChargesFromBags(CString& nameIn, long charges, short abilityNum)void CGameSprite::DropPath()void CGameSprite::DropSearchRequest()void CGameSprite::EndMoraleFailure()short CGameSprite::Enemy()void CGameSprite::Equip(short slotNum)void CGameSprite::EquipAll(int animationOnly)short CGameSprite::EquipItem()short CGameSprite::EquipMostDamagingMelee()short CGameSprite::EquipNextAmmo(CItem* pLauncher, CString OldAmmo)short CGameSprite::EquipRanged()short CGameSprite::EscapeArea(CGameAIBase* pObject)virtual int CGameSprite::EvaluateStatusTrigger(CAITrigger& inTrigger)virtual short CGameSprite::ExecuteAction()short CGameSprite::Face()short CGameSprite::FaceObject(CGameAIBase* pObject)short CGameSprite::FakeWalkToArea(CString areaName)void CGameSprite::FeedBack(unsigned long feedBackId, long int1, long int2, long int3, const unsigned long ref1, long int4, CString& stringIn)void CGameSprite::FetchCommonStrings()short CGameSprite::FillSlot()void CGameSprite::FilterSpecialAbilities()int CGameSprite::FindDamageEffect(CItem* curEquip, unsigned long abilityNum, unsigned long effectCount, unsigned long& effectAmount, unsigned long& numDice, unsigned long& diceSize)short CGameSprite::FindIdentifyItem()short CGameSprite::FindItemBags(CString& nameIn, long number, int checkForIdentified)short CGameSprite::FindItemPersonal(CString& nameIn, int number, int restrictToEquiped, int reallyRestrictToEquiped)short CGameSprite::FindTraps()void CGameSprite::FloatingHP(int force, unsigned char durationNew, unsigned char durationExisting)void CGameSprite::FloatingText(CString text, unsigned char durationNew, unsigned char durationExisting)short CGameSprite::Fly()short CGameSprite::Follow()short CGameSprite::FollowObjectFormation(CGameSprite* target)void CGameSprite::ForceVisible()short CGameSprite::Formation(CGameSprite* target)int CGameSprite::GetActiveProficiency(int nProficiencyType)

Continued on next page

1142 Chapter 6. EE Game Classes (x86)

Page 1147: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pageint CGameSprite::GetAbilityProjectileType(CAbilityId& abilityID, int level)CDerivedStats* CGameSprite::GetActiveStats()int CGameSprite::GetActiveWeaponStyleAndLevel(int& nLevel)virtual short CGameSprite::GetAttackRange()short CGameSprite::GetBackstabDamageMultiplier()virtual int CGameSprite::GetCanSeeInvisible()unsigned long CGameSprite::GetCarriedWeight()short CGameSprite::GetCasterLevel(CSpell* pSpell, int includeWildMage)unsigned char CGameSprite::GetChannel()virtual const int* __cdecl CGameSprite::GetColorArray(int nPickRange) = 0virtual int __cdecl CGameSprite::GetColorCount(int nPickRange) = 0short CGameSprite::GetDirection(CPoint& target)virtual short __cdecl CGameSprite::GetDirection(CPoint& ptStart, CPoint& ptTarget) = 0CString CGameSprite::GetExperience()CString CGameSprite::GetExperienceEntry(int nSubClass)virtual short CGameSprite::GetHelpRange()unsigned long CGameSprite::GetKit()unsigned long CGameSprite::GetKitIDS()unsigned long CGameSprite::GetKitMask()int CGameSprite::GetInactiveProficiency(int nProficiencyType)CGameButtonList* CGameSprite::GetInternalButtonList()CItem* CGameSprite::GetItemBags(CString& nameIn)CGameButtonList* CGameSprite::GetItemUsages(short slotNum, unsigned short buttonType, short abilityNum)CString CGameSprite::GetKitDescription()int CGameSprite::GetKnownSpellIndex(CResRef & cResSpell, CTypedPtrList<CPtrList,CCreatureFileKnownSpell *>* pKnownList)int CGameSprite::GetKnownSpellIndexMage(CResRef & cResSpell, int nSpellLevel)int CGameSprite::GetKnownSpellIndexPriest(CResRef & cResSpell, int nSpellLevel)CCreatureFileKnownSpell* CGameSprite::GetKnownSpellInnate(int nSpellLevel, int nKnownSpellIndex)CCreatureFileKnownSpell* CGameSprite::GetKnownSpellMage(int nSpellLevel, int nKnownSpellIndex)CCreatureFileKnownSpell* CGameSprite::GetKnownSpellPriest(int nSpellLevel, int nKnownSpellIndex)CItem* CGameSprite::GetLauncher(Item_ability_st* curAbility, short& launcherSlot)short CGameSprite::GetLauncherSlot(short slotNum, short abilityNum)short CGameSprite::GetLayOnHandsAmount()long CGameSprite::GetLength(long verbalConstant)unsigned long CGameSprite::GetMapScreenColor()long CGameSprite::GetMaxDamage(int offhand)int CGameSprite::GetMaxEncumbrance()CCreatureFileMemorizedSpell* CGameSprite::GetMemorizedSpellInnate(int nSpellLevel, int nMemorizedSpellIndex)CCreatureFileMemorizedSpell* CGameSprite::GetMemorizedSpellMage(int nSpellLevel, int nMemorizedSpellIndex)CCreatureFileMemorizedSpell* CGameSprite::GetMemorizedSpellPriest(int nSpellLevel, int nMemorizedSpellIndex)long CGameSprite::GetMinCasterLevel(long spellLevel, long nType)long CGameSprite::GetMinDamage(int offhand)CString& CGameSprite::GetName(int ignoreSTRREFON)unsigned long CGameSprite::GetNameRef()virtual void CGameSprite::GetNextWaypoint(CPoint* pt)void CGameSprite::GetNumInventoryPersonalSlots(int& nUsedSlots, int& nTotalSlots)short CGameSprite::GetNumQuickWeaponSlots()int CGameSprite::GetNumSounds(const unsigned char type, int& offset)int CGameSprite::GetNumSounds(int nOffset, int nMaxNum)CString CGameSprite::GetPortraitToolTipText()

Continued on next page

6.47. CGameSprite Class 1143

Page 1148: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pageCGameButtonList* CGameSprite::GetQuickButtons(unsigned short buttonType, unsigned char existanceCheck)void CGameSprite::GetQuickWeapon(unsigned char buttonNum, CButtonData& buttonData)float CGameSprite::GetRating(CArray<StatRating,StatRating &>& stats)bool CGameSprite::GetRatingWithItem(float& rating, CString& ratingBreakdown, int nInventoryId)short CGameSprite::GetResistance(CGameSprite* target, Item_ability_st* curAttack)unsigned long CGameSprite::GetResistanceString(short nOffset)CString CGameSprite::GetSavingThrow(const unsigned long strName, const int nBaseValue, const int nDerivedValue)long CGameSprite::GetSecretDoorDetection()void CGameSprite::GetSelectedWeaponButton(CButtonData& buttonData)virtual unsigned long __cdecl CGameSprite::GetSkillHelp(unsigned char index) = 0virtual unsigned long __cdecl CGameSprite::GetSkillName(unsigned char index) = 0int CGameSprite::GetSkillValue(unsigned char index, unsigned char otherClass, int bBaseValue)unsigned char CGameSprite::GetSound(unsigned char soundID)void CGameSprite::GetStatBreakdown(CString* ACText, CString* HPText, CString* THAC0Text, CString* damageText)CString CGameSprite::GetStyleBonus(const int nProf, const int nLev)virtual long CGameSprite::GetTargetId()CGameObject* CGameSprite::GetTargetShare()virtual const unsigned char* CGameSprite::GetTerrainTable()long CGameSprite::GetTHAC0()virtual const unsigned char* CGameSprite::GetVisibleTerrainTable()virtual short CGameSprite::GetVisualRange()short CGameSprite::GetTurnUndeadLevel()CString CGameSprite::GetWeaponProficiency(const int nModifier, const unsigned long dwDescId, const unsigned long dwDescRef)short CGameSprite::GiveItem(CGameSprite* target)short CGameSprite::GivePartyAllEquipment()short CGameSprite::GroupAttack(CGameSprite* pTarget)int CGameSprite::HandleEffects()int CGameSprite::HandlePersistantEffects(long deltaT)unsigned char CGameSprite::HasItemTypeEquiped(unsigned short itemType, unsigned char checkForEquip)unsigned char CGameSprite::HasItemWithFlag(unsigned long flag, int ignoreDestructible)bool CGameSprite::HasWeaponType(int weaponType)int CGameSprite::HaveKnownSpell(CString& spellName)int CGameSprite::HaveSpell(CString& spellName)short CGameSprite::Help()short CGameSprite::Hide()unsigned char CGameSprite::Hit(CGameSprite* target, CItem* curWeaponIn, long curAttackNum, int& criticalDamage, int leftHand)void CGameSprite::InitBlur()void CGameSprite::InitQuickItemData(short itemNum, short abilityNum, CButtonData& buttonData)void CGameSprite::InitQuickSpellData(CResRef spellId, CButtonData& buttonData)void CGameSprite::InitializeWalkingSound()char CGameSprite::InDark()int CGameSprite::InDialog()int CGameSprite::InPersonalRadius(CPoint& pt)short CGameSprite::Interact(CGameSprite* target)int CGameSprite::IsOnPortraitIconList(int icon)virtual int CGameSprite::IsOver(CPoint& pt)int CGameSprite::IsSpecialist()int CGameSprite::IsSpellSchool(unsigned char spellSchool)short CGameSprite::JoinParty(bool bReplaceGlobal)short CGameSprite::JumpThroughTransition(CGameTrigger* pTrigger, long delay)

Continued on next page

1144 Chapter 6. EE Game Classes (x86)

Page 1149: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pageshort CGameSprite::JumpToArea(CString areaName, CPoint& dest, short facingDirection, short delay, int allowNullArea, CPoint& source)short CGameSprite::JumpToPoint()short CGameSprite::JumpToPoint(CPoint dest, int spriteUpdate, int allowPathToContinue, int clearBump, int forcePoint)short CGameSprite::Leader()short CGameSprite::LeaveArea()void CGameSprite::LeaveAreaGlobal(CString& sArea, CPoint& ptStart)short CGameSprite::LeaveAreaLUA()short CGameSprite::LeaveAreaLUA(CString& areaName, CPoint ptStart, short facingDirection, CResRef parchment, long coordinate)short CGameSprite::LeaveAreaLUAEntry()short CGameSprite::LeaveAreaName()short CGameSprite::LeaveParty()void CGameSprite::LoadAreaInformation(CAreaFileCreature* pCreature)void CGameSprite::LoadProjectile(CProjectile* proj, CItem* weapon, short abilityNum, CPoint& ptTarget, long targetId)void CGameSprite::MainActionPicking()void CGameSprite::MakeGlobal(bool bReplace)void CGameSprite::MakeLocal()void CGameSprite::Marshal(SSavedGamePartyCreatureReferenceWrapper& creatureWrapper, unsigned char bNetworkMessage)void CGameSprite::Marshal(unsigned char** pCreature, long* creatureSize, unsigned short* facing, unsigned char bIncludeAllEffects)void CGameSprite::Marshal(SAreaFileCreatureWrapper* pCreatureWrapper)void CGameSprite::MarshalMessage(unsigned char** pData, unsigned long* dwSize)void CGameSprite::MemorizeAllSpellsInnate()void CGameSprite::MemorizeAllSpellsMage()void CGameSprite::MemorizeAllSpellsPriest()int CGameSprite::MemorizeSpell(int nKnownSpellIndex, int& nMemorizedSpellIndex, CTypedPtrList<CPtrList,CCreatureFileKnownSpell *>* pKnownList, CTypedPtrList<CPtrList,CCreatureFileMemorizedSpell *>* pMemorizedList, CCreatureFileMemorizedSpellLevel* pMemorizedLevel, CCreatureFileMemorizedSpellLevel* pDerivedLevel)int CGameSprite::MemorizeSpellInnate(int nSpellLevel, int nKnownSpellIndex, int& nMemorizedSpellIndex)int CGameSprite::MemorizeSpellMage(int nSpellLevel, int nKnownSpellIndex, int& nMemorizedSpellIndex)int CGameSprite::MemorizeSpellPriest(int nSpellLevel, int nKnownSpellIndex, int& nMemorizedSpellIndex)void CGameSprite::MoveOntoArea(CGameArea* pArea, CPoint& dest, short facingDirection)int CGameSprite::MoveToBack()int CGameSprite::MoveToFront()short CGameSprite::MoveToObject(CGameAIBase* target)short CGameSprite::MoveToOffset()short CGameSprite::MoveToPoint(CPoint& dest)short CGameSprite::MoveToPoint()void CGameSprite::MultiplayerUpdate()void CGameSprite::NightmareDowngrade()void CGameSprite::NightmareUpgrade()void CGameSprite::NullActionProcess()virtual void CGameSprite::OnActionButton(CPoint& pt)virtual void CGameSprite::OnActionRemoval(CAIAction& curAction)void CGameSprite::OnDeath(int imprisonment)short CGameSprite::OneSwing()virtual void CGameSprite::OnFormationButton(CPoint& pt)void CGameSprite::OnLightningStrike()int CGameSprite::OnScreen(int bExactCheck)virtual int CGameSprite::OnSearchMap()int CGameSprite::Orderable(int bIgnoreControl)int CGameSprite::OutOfControl()short CGameSprite::Panic()int CGameSprite::ParseAbilityHeader(const const char* equipName, const const char* lowerDice, CItem* curEquip, unsigned long abilityNum, Item_ability_st* pAbility, CString& damageText)

Continued on next page

6.47. CGameSprite Class 1145

Page 1150: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pageint CGameSprite::PartyHeal(long iSprite, int nHP, int bFirstHeal)short CGameSprite::PickLock(CGameAIBase* pObject)short CGameSprite::PickPockets(CGameSprite* target)short CGameSprite::PickUpItem()short CGameSprite::PlayDead()void CGameSprite::PlayDialogSound(CGameSprite* pNPC)void CGameSprite::PlaySound(CResRef & res, int bUseVoiceChannel)void CGameSprite::PlaySound(unsigned char soundID, int showText, int showCircle, int overrideOption)short CGameSprite::PlayerDialog(CGameSprite* target)short CGameSprite::PolymorphCopy(CGameSprite* pSprite)void CGameSprite::PostMoveCharacterFromOverflowToParty()virtual void CGameSprite::ProcessAI()int CGameSprite::ProcessEffectList(int bCheckSpellLoss)virtual void CGameSprite::ProcessPendingTriggers(int overrideOnly)short CGameSprite::Proficiencies(CItem* curWeapon)short CGameSprite::ProtectObject(CGameAIBase* target)short CGameSprite::ProtectPoint()void CGameSprite::QuickLoad(unsigned char* pCreature, long creatureSize)short CGameSprite::RandomFly()short CGameSprite::RandomWalk()short CGameSprite::RandomWalkContinuous()int CGameSprite::ReadyCursor()void CGameSprite::ReadyItem(short buttonNum, unsigned char firstCall)void CGameSprite::ReadyItem(CButtonData button, unsigned char firstCall)void CGameSprite::ReadyOffInternalList(CButtonData button, unsigned char firstCall)void CGameSprite::ReadySpell(short buttonNum, unsigned char firstCall)void CGameSprite::ReadySpell(CButtonData button, unsigned char firstCall)short CGameSprite::Recoil()void CGameSprite::RemoveBags()void CGameSprite::RemoveClassAbilities(unsigned char nClass, short numLevels)void CGameSprite::RemoveAllSpellsInnate()void CGameSprite::RemoveAllSpellsMage()void CGameSprite::RemoveAllSpellsPriest()virtual void CGameSprite::RemoveFromArea()int CGameSprite::RemoveKnownSpell(CResRef & cResSpell, CTypedPtrList<CPtrList,CCreatureFileKnownSpell *>* pKnownList)int CGameSprite::RemoveKnownSpellInnate(CResRef & cResSpell, int nSpellLevel)int CGameSprite::RemoveKnownSpellMage(CResRef & cResSpell, int nSpellLevel)int CGameSprite::RemoveKnownSpellPriest(CResRef & cResSpell, int nSpellLevel)void CGameSprite::RemoveNewSpecialAbilities(CDerivedStats& OldDStats)void CGameSprite::RemoveObjectSearch(CPoint& point, unsigned char sourceSide, unsigned char personalSpaceRange, int bBumpable)void CGameSprite::RemovePortraitIcon(int icon)void CGameSprite::RemoveReplacementFromArea()void CGameSprite::RemoveSanctuary()void CGameSprite::RemoveSpecialAbility(CResRef & cResInnateSpell)short CGameSprite::RemoveSpell()short CGameSprite::RemoveSpell(CString& spellName)short CGameSprite::RemoveTraps(CGameAIBase* pObject)void CGameSprite::RemoveVVC(CResRef & res, unsigned char level)virtual void CGameSprite::Render(CGameArea* pArea, CVidMode* pVidMode)void CGameSprite::RenderActions()

Continued on next page

1146 Chapter 6. EE Game Classes (x86)

Page 1151: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pagevoid CGameSprite::RenderDamageArrow(CGameArea* pArea, CVidMode* pVidMode)void CGameSprite::RenderHealthBar(CVidMode* pVidMode)void CGameSprite::RenderMarkers(CVidMode* pVidMode)void CGameSprite::RenderMirrorImage(int placement, CRect& rFX, CRect& rGCBounds, CRect& rViewRect, CPoint& ptReference, CSearchBitmap* pSearch, CVisibilityMap* pVisibility, CVidMode* pVidMode, unsigned long& rgbTint, unsigned char& bDithered, unsigned char& bFadeOut, unsigned long& dwRenderFlags)void CGameSprite::RenderPortrait(CPoint& cpRenderPosition, CSize& szControl, int bPressed, int reorderHighlight, int selectFromMarker, CRect& rClip, int renderSelection)void CGameSprite::RenderSpriteCover(CVidMode* pVidMode, CVidCell* pVidCell, unsigned long dwRenderFlags, unsigned char bBrightest, unsigned char nTranslucency, int bFadeOut, int bDithered)void CGameSprite::RenderSpriteEffect(CVidMode* pVidMode, int bFadeOut, int bDithered)void CGameSprite::RenderToMapScreen(CRect& rClipBase, CPoint& ptCharPos)void CGameSprite::RenderTrackingArrow(CGameArea* pArea, CVidMode* pVidMode)int CGameSprite::ReplaceItemBags(CString& oldItem, CString& newItem, short slotNum)short CGameSprite::ResetAIScript()void CGameSprite::ResolveInstants(int dropNonInstants)void CGameSprite::ResolvePausedAction(CAIAction* curAction, __POSITION* pos)void CGameSprite::ResolveTargetPoint(CAIAction* curAction, __POSITION* pos)short CGameSprite::Rest(int bMemorizeSpells, int bSaveIfAppropriate)virtual void CGameSprite::ResetAIType()virtual void CGameSprite::ResetAITypeLive()void CGameSprite::RestoreActiveAI()short CGameSprite::RunAwayFrom(CGameAIBase* target)void CGameSprite::Select()short CGameSprite::SelectWeaponAbility()int CGameSprite::SelectWeaponAbility(unsigned char nWeapon, unsigned char nAbility, unsigned char checkCursed, unsigned char attemptReequip)virtual void CGameSprite::SetAIType(CAIObjectType& typeAI, int updateLive, int updateStart)void CGameSprite::SetActiveAI(int active)void CGameSprite::SetActiveImprisonment(int active)void CGameSprite::SetActiveProficiency(int nProficiencyType, int nValue, int forceRefresh)void CGameSprite::SetAllSpellsMemorized()short CGameSprite::SetAtOffset(unsigned long stat, unsigned long value, unsigned long modifyType)void CGameSprite::SetBumped(CPoint& pt)void CGameSprite::SetCharacterToolTip()void CGameSprite::SetColor(int nPickRange, int nIndex)virtual void CGameSprite::SetCurrAction(CAIAction& action)virtual void CGameSprite::SetCursor(long nToolTip)short CGameSprite::SetDialog()void CGameSprite::SetDialog(CResRef & cResDialog)void CGameSprite::SetDialogState(int state, long type)void CGameSprite::SetDirection(short direction)void CGameSprite::SetFacing(short direction)void CGameSprite::SetFootstepChannel()short CGameSprite::SetItemFlags()void CGameSprite::SetInactiveProficiency(int nProficiencyType, int nValue, int forceRefresh)void CGameSprite::SetLuaAttr(CString attr, unsigned long strRef, int current, int base, int extra, int extraBase)void CGameSprite::SetLuaOrderedPro(int index, unsigned long strRef, CString current, unsigned long helpString)void CGameSprite::SetLuaPro(CString attr, unsigned long strRef, CString current, unsigned long helpString)void CGameSprite::SetMaxMemorizedSpellsInnate(int nSpellLevel, int nMaxSpells)void CGameSprite::SetMaxMemorizedSpellsMage(int nSpellLevel, int nMaxSpells)void CGameSprite::SetMaxMemorizedSpellsPriest(int nSpellLevel, int nMaxSpells)void CGameSprite::SetMemorizedFlag(CSpell* pSpell, int flag)void CGameSprite::SetModalState(unsigned char modalState, int bUpdateToolbar)void CGameSprite::SetMonkAbilities()

Continued on next page

6.47. CGameSprite Class 1147

Page 1152: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pagevoid CGameSprite::SetPath(long* pPath, short nPath)void CGameSprite::SetResRef(CResRef & resref)void CGameSprite::SetEntangle(unsigned char bEntangle)void CGameSprite::SetGreasePool(unsigned char bGreasePool)void CGameSprite::SetInvisible(unsigned char bInvisible)void CGameSprite::SetInvisibleImproved(unsigned char bInvisible)void CGameSprite::SetMinorGlobe(unsigned char bMinorGlobe)void CGameSprite::SetQuickItem(unsigned char buttonNum, CButtonData buttonData)void CGameSprite::SetQuickWeapon(unsigned char buttonNum, CButtonData buttonData)void CGameSprite::SetSanctuary(unsigned char bSanctuary)void CGameSprite::SetShieldGlobe(unsigned char bShieldGlobe)void CGameSprite::SetWebHold(unsigned char bWebHold)virtual void CGameSprite::SetScript(short level, CAIScript* script)void CGameSprite::SetSelectedWeaponButton(short buttonNum)void CGameSprite::SetSequence(short sequence)void CGameSprite::SetSkillValue(unsigned char index, unsigned char value)void CGameSprite::SetStoreState(int state)void CGameSprite::SetTarget(CSearchRequest* oldSearchRequest, int collisionPath, unsigned char frontList)virtual void CGameSprite::SetTarget(CPoint& target, int collisionPath)void CGameSprite::SetTargetFly(unsigned char circleType, unsigned char facing, long radius)void CGameSprite::SetUpBaalAbilities(int enhanced)short CGameSprite::SetVisualRange(short newVisualRange)unsigned char CGameSprite::ShamanSpellCount(long nLevel, CResRef res)void CGameSprite::ShamanSpellDecrement(long nLevel, CResRef & res, int ignoreProvidedRes)void CGameSprite::ShamanSpellRememorize(long nLevel, CResRef & res, int ignoreProvidedRes)void CGameSprite::Shatter(unsigned char shatterType)int CGameSprite::ShouldAvertCriticalHit()unsigned char CGameSprite::SorcererSpellCount(long nLevel, CResRef res)void CGameSprite::SorcererSpellDecrement(long nLevel, CResRef & res, int ignoreProvidedRes)void CGameSprite::SorcererSpellRememorize(long nLevel, CResRef & res, int ignoreProvidedRes)virtual void __cdecl CGameSprite::SortColors() = 0void CGameSprite::SortMemorizedSpells()int CGameSprite::SpecialStateProcessing()short CGameSprite::Spell(CGameAIBase* target)short CGameSprite::SpellPoint()short CGameSprite::StartDialog(CGameSprite* target)short CGameSprite::StartStore(CGameSprite* pSprite)void CGameSprite::SwapAllActiveInactiveProficiencies()short CGameSprite::Swing(CGameSprite* target)void CGameSprite::StartSpriteEffect(unsigned char spriteEffect, unsigned char intensityLevel, unsigned char effectDuration)int CGameSprite::SuppressHitPointsDisplay()void CGameSprite::TakeCreatureItems(CGameSprite* pSprite, int Type)short CGameSprite::TakeItemBags(CString& nameIn, long number, short slotNum)int CGameSprite::TryToTurn(CGameSprite* pSprite)short CGameSprite::Turn()void CGameSprite::UnapplySpell(CResRef & ref)void CGameSprite::Unequip(short slotNum)void CGameSprite::UnequipAll(int animationOnly)void CGameSprite::Unmarshal(unsigned char* pCreature, long creatureSize, unsigned short facing)void CGameSprite::Unmarshal(CSavedGamePartyCreature* pCreature, unsigned char bPartyMember, unsigned char bProgressBarInPlace)

Continued on next page

1148 Chapter 6. EE Game Classes (x86)

Page 1153: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 16 – continued from previous pagevoid CGameSprite::UnmarshalScripts()void CGameSprite::UnmemorizeAllSpellsMage()void CGameSprite::UnmemorizeAllSpellsPriest()void CGameSprite::UnmemorizeAllOfResSpellInnate(int nSpellLevel, CResRef resSpell)void CGameSprite::UnmemorizeAllOfResSpellMage(int nSpellLevel, CResRef resSpell)void CGameSprite::UnmemorizeAllOfResSpellPriest(int nSpellLevel, CResRef resSpell)int CGameSprite::UnmemorizeSpellInnate(int nSpellLevel, int nMemorizedSpellIndex)int CGameSprite::UnmemorizeSpellMage(int nSpellLevel, int nMemorizedSpellIndex)int CGameSprite::UnmemorizeSpellPriest(int nSpellLevel, int nMemorizedSpellIndex)void CGameSprite::Unselect()void CGameSprite::UpdateAOE(CAbilityId& abilityID)void CGameSprite::UpdateActive()void CGameSprite::UpdateLuaEquipment()void CGameSprite::UpdateLuaSpells()void CGameSprite::UpdateLuaStats()void CGameSprite::UpdateQuickItemData(int nSlot)void CGameSprite::UpdateSpriteEffect()virtual void CGameSprite::UpdateTarget(CGameObject* target)void CGameSprite::UpdateToolbar(unsigned char requiredState)void CGameSprite::UpdateVisibleGroundItems()short CGameSprite::UseContainer()short CGameSprite::UseDoor()short CGameSprite::UseItem(CGameAIBase* target)short CGameSprite::UseItemPoint()void CGameSprite::VerbalConstant(long verbalConstant, int overHead)short CGameSprite::WaitInLine()short CGameSprite::WalkToArea(CString areaName)int CGameSprite::WeaponCanDamage(CGameSprite* target, int leftorright)int CGameSprite::WeaponEffectiveVs(CGameSprite* target, int leftorright)short CGameSprite::WildSpell(CSpell* pSpell, CGameAIBase* pTarget, CPoint& target, int addLevel)

6.47.3 Constructors

Name DescriptionCGameSprite::CGameSprite Constructs a CGameSprite objectCGameSprite::CGameSprite Destroys a CGameSprite object

CGameSprite::CGameSprite

Constructs a CGameSprite object

void CGameSprite::CGameSprite();

Remarks

Constructs a CGameSprite object

6.47. CGameSprite Class 1149

Page 1154: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CGameSprite

Constructs a CGameSprite object

void CGameSprite::CGameSprite(unsigned char* pCreature,

long creatureSize,unsigned short type,unsigned long expirationTime,unsigned short huntingRange,unsigned short followRange,unsigned long timeOfDayVisible,CPoint startPos,unsigned short facing,int copyScript);

Parameters

• unsigned char* pCreature -

• long creatureSize -

• unsigned short type -

• unsigned long expirationTime -

• unsigned short huntingRange -

• unsigned short followRange -

• unsigned long timeOfDayVisible -

• CPoint startPos -

• unsigned short facing -

• int copyScript -

Remarks

Constructs a CGameSprite object

CGameSprite::~CGameSprite

Destroys the CGameSprite object

virtual void CGameSprite::~CGameSprite();

Remarks

Destroys the CGameSprite object

6.47.4 Methods

1150 Chapter 6. EE Game Classes (x86)

Page 1155: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Name DescriptionCGameSprite::AIUpdateCGameSprite::AIUpdateFlyCGameSprite::AIUpdateWalkCGameSprite::AddBloodCGameSprite::AddClassAbilitiesCGameSprite::AddEffectCGameSprite::AddItemBagsCGameSprite::AddKnownSpellCGameSprite::AddKnownSpellMageCGameSprite::AddKnownSpellPriestCGameSprite::AddNewSpecialAbilitiesCGameSprite::AddNewSpellsPriestCGameSprite::AddObjectSearchCGameSprite::AddPortraitIconCGameSprite::AddReplacementToAreaCGameSprite::AddSpecialAbilityCGameSprite::AddStatToRatingCGameSprite::AddToAreaCGameSprite::AddVVCCGameSprite::AddVVCInEffectCGameSprite::AdjustTargetFollowTheLeaderCGameSprite::AllowSpecialStatesCGameSprite::AllyCGameSprite::AnimateCGameSprite::AnkhegEmergeCGameSprite::AnkhegHideCGameSprite::ApplyCastingEffectCGameSprite::ApplyCastingEffectPostCGameSprite::ApplyCriticalsCGameSprite::ApplyItemCGameSprite::ApplyTriggersCGameSprite::AttackCGameSprite::AttackReevaluateCGameSprite::ArenaSetUpCGameSprite::AutoPauseCGameSprite::BashDoorCGameSprite::BattleSongCGameSprite::BerserkCGameSprite::CanChangeWeaponCGameSprite::CanEquipRangedCGameSprite::CanSaveGameCGameSprite::CalculateHealingPotentialCGameSprite::CanSeeInfraCGameSprite::CanSpeakCGameSprite::CanWriteSpellScrollCGameSprite::ChangeAnimationCGameSprite::ChangeDirectionCGameSprite::CheckBerserkActiveCGameSprite::CheckBumpable

Continued on next page

6.47. CGameSprite Class 1151

Page 1156: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::CheckCastingRangeCGameSprite::CheckCutSceneStateOverrideCGameSprite::CheckCombatStatsCGameSprite::CheckCombatStatsHasteCGameSprite::CheckCombatStatsWeaponCGameSprite::CheckDialogWaitCGameSprite::CheckEffectCGameSprite::CheckExpiredWeaponsCGameSprite::CheckExtraDestructionCGameSprite::CheckFatigueCGameSprite::CheckForBerserkStage2CGameSprite::CheckForDeadCGameSprite::CheckForDialogWaitCancelCGameSprite::CheckForForcedDialogEndCGameSprite::CheckHappinessCGameSprite::CheckIfUsedUpCGameSprite::CheckIfVisibleCGameSprite::CheckLauncherTypeCGameSprite::CheckLoadStateCGameSprite::CheckLoadedBanterCGameSprite::CheckLoadedDialogCGameSprite::CheckSleepingCGameSprite::ContingencyCheckCGameSprite::CheckModalCGameSprite::CheckMoraleCGameSprite::CheckMoveForCutScenesCGameSprite::CheckPuppetMasterCGameSprite::CheckQuickListsCGameSprite::CheckReputationCGameSprite::CheckSevenEyesCGameSprite::CheckSequenceCGameSprite::CheckSpellLossCGameSprite::CheckStatsChangeCGameSprite::CheckToolTipItemCGameSprite::ClearAICGameSprite::ClearDialogActionsCGameSprite::ClearStoredPathsCGameSprite::CleanUpTempSpritesCGameSprite::ClearBumpPathCGameSprite::ClearMarshalCGameSprite::CombineActiveInactiveProficiencyCGameSprite::CombineAllActiveInactiveProficienciesCGameSprite::CompressTimeCGameSprite::ConcentrationFailedCGameSprite::ControlledByPlayerCGameSprite::CopyCGameSprite::CountItemBagsCGameSprite::CountItemPersonalCGameSprite::DamageCGameSprite::DebugDump

Continued on next page

1152 Chapter 6. EE Game Classes (x86)

Page 1157: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::DecodeSwingSoundCGameSprite::DestroyItemInSlotCGameSprite::DialogueCGameSprite::DisableOffhandCGameSprite::DisplayTextRefCGameSprite::DoAIUpdateCGameSprite::DoActionCGameSprite::DropInventoryCGameSprite::DropItemCGameSprite::DoesIntersectCGameSprite::DoMoraleFailureCGameSprite::DrainChargesFromBagsCGameSprite::DropPathCGameSprite::DropSearchRequestCGameSprite::EndMoraleFailureCGameSprite::EnemyCGameSprite::EquipCGameSprite::EquipAllCGameSprite::EquipItemCGameSprite::EquipMostDamagingMeleeCGameSprite::EquipNextAmmoCGameSprite::EquipRangedCGameSprite::EscapeAreaCGameSprite::EvaluateStatusTriggerCGameSprite::ExecuteActionCGameSprite::FaceCGameSprite::FaceObjectCGameSprite::FakeWalkToAreaCGameSprite::FeedBackCGameSprite::FetchCommonStringsCGameSprite::FillSlotCGameSprite::FilterSpecialAbilitiesCGameSprite::FindDamageEffectCGameSprite::FindIdentifyItemCGameSprite::FindItemBagsCGameSprite::FindItemPersonalCGameSprite::FindTrapsCGameSprite::FloatingHPCGameSprite::FloatingTextCGameSprite::FlyCGameSprite::FollowCGameSprite::FollowObjectFormationCGameSprite::ForceVisibleCGameSprite::FormationCGameSprite::GetActiveProficiencyCGameSprite::GetAbilityProjectileTypeCGameSprite::GetActiveStatsCGameSprite::GetActiveWeaponStyleAndLevelCGameSprite::GetAttackRangeCGameSprite::GetBackstabDamageMultiplier

Continued on next page

6.47. CGameSprite Class 1153

Page 1158: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::GetCanSeeInvisibleCGameSprite::GetCarriedWeightCGameSprite::GetCasterLevelCGameSprite::GetChannelCGameSprite::GetColorArrayCGameSprite::GetColorCountCGameSprite::GetDirectionCGameSprite::GetExperienceCGameSprite::GetExperienceEntryCGameSprite::GetHelpRangeCGameSprite::GetKitCGameSprite::GetKitIDSCGameSprite::GetKitMaskCGameSprite::GetInactiveProficiencyCGameSprite::GetInternalButtonListCGameSprite::GetItemBagsCGameSprite::GetItemUsagesCGameSprite::GetKitDescriptionCGameSprite::GetKnownSpellIndexCGameSprite::GetKnownSpellIndexMageCGameSprite::GetKnownSpellIndexPriestCGameSprite::GetKnownSpellInnateCGameSprite::GetKnownSpellMageCGameSprite::GetKnownSpellPriestCGameSprite::GetLauncherCGameSprite::GetLauncherSlotCGameSprite::GetLayOnHandsAmountCGameSprite::GetLengthCGameSprite::GetMapScreenColorCGameSprite::GetMaxDamageCGameSprite::GetMaxEncumbranceCGameSprite::GetMemorizedSpellInnateCGameSprite::GetMemorizedSpellMageCGameSprite::GetMemorizedSpellPriestCGameSprite::GetMinCasterLevelCGameSprite::GetMinDamageCGameSprite::GetNameCGameSprite::GetNameRefCGameSprite::GetNextWaypointCGameSprite::GetNumInventoryPersonalSlotsCGameSprite::GetNumQuickWeaponSlotsCGameSprite::GetNumSoundsCGameSprite::GetPortraitToolTipTextCGameSprite::GetQuickButtonsCGameSprite::GetQuickWeaponCGameSprite::GetRatingCGameSprite::GetRatingWithItemCGameSprite::GetResistanceCGameSprite::GetResistanceStringCGameSprite::GetSavingThrow

Continued on next page

1154 Chapter 6. EE Game Classes (x86)

Page 1159: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::GetSecretDoorDetectionCGameSprite::GetSelectedWeaponButtonCGameSprite::GetSkillHelpCGameSprite::GetSkillNameCGameSprite::GetSkillValueCGameSprite::GetSoundCGameSprite::GetStatBreakdownCGameSprite::GetStyleBonusCGameSprite::GetTargetIdCGameSprite::GetTargetShareCGameSprite::GetTerrainTableCGameSprite::GetTHAC0CGameSprite::GetVisibleTerrainTableCGameSprite::GetVisualRangeCGameSprite::GetTurnUndeadLevelCGameSprite::GetWeaponProficiencyCGameSprite::GiveItemCGameSprite::GivePartyAllEquipmentCGameSprite::GroupAttackCGameSprite::HandleEffectsCGameSprite::HandlePersistantEffectsCGameSprite::HasItemTypeEquipedCGameSprite::HasItemWithFlagCGameSprite::HasWeaponTypeCGameSprite::HaveKnownSpellCGameSprite::HaveSpellCGameSprite::HelpCGameSprite::HideCGameSprite::HitCGameSprite::InitBlurCGameSprite::InitQuickItemDataCGameSprite::InitQuickSpellDataCGameSprite::InitializeWalkingSoundCGameSprite::InDarkCGameSprite::InDialogCGameSprite::InPersonalRadiusCGameSprite::InteractCGameSprite::IsOnPortraitIconListCGameSprite::IsOverCGameSprite::IsSpecialistCGameSprite::IsSpellSchoolCGameSprite::JoinPartyCGameSprite::JumpThroughTransitionCGameSprite::JumpToAreaCGameSprite::JumpToPointCGameSprite::LeaderCGameSprite::LeaveAreaCGameSprite::LeaveAreaGlobalCGameSprite::LeaveAreaLUACGameSprite::LeaveAreaLUAEntry

Continued on next page

6.47. CGameSprite Class 1155

Page 1160: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::LeaveAreaNameCGameSprite::LeavePartyCGameSprite::LoadAreaInformationCGameSprite::LoadProjectileCGameSprite::MainActionPickingCGameSprite::MakeGlobalCGameSprite::MakeLocalCGameSprite::MarshalCGameSprite::MarshalMessageCGameSprite::MemorizeAllSpellsInnateCGameSprite::MemorizeAllSpellsMageCGameSprite::MemorizeAllSpellsPriestCGameSprite::MemorizeSpellCGameSprite::MemorizeSpellInnateCGameSprite::MemorizeSpellMageCGameSprite::MemorizeSpellPriestCGameSprite::MoveOntoAreaCGameSprite::MoveToBackCGameSprite::MoveToFrontCGameSprite::MoveToObjectCGameSprite::MoveToOffsetCGameSprite::MoveToPointCGameSprite::MultiplayerUpdateCGameSprite::NightmareDowngradeCGameSprite::NightmareUpgradeCGameSprite::NullActionProcessCGameSprite::OnActionButtonCGameSprite::OnActionRemovalCGameSprite::OnDeathCGameSprite::OneSwingCGameSprite::OnFormationButtonCGameSprite::OnLightningStrikeCGameSprite::OnScreenCGameSprite::OnSearchMapCGameSprite::OrderableCGameSprite::OutOfControlCGameSprite::PanicCGameSprite::ParseAbilityHeaderCGameSprite::PartyHealCGameSprite::PickLockCGameSprite::PickPocketsCGameSprite::PickUpItemCGameSprite::PlayDeadCGameSprite::PlayDialogSoundCGameSprite::PlaySoundCGameSprite::PlayerDialogCGameSprite::PolymorphCopyCGameSprite::PostMoveCharacterFromOverflowToPartyCGameSprite::ProcessAICGameSprite::ProcessEffectList

Continued on next page

1156 Chapter 6. EE Game Classes (x86)

Page 1161: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::ProcessPendingTriggersCGameSprite::ProficienciesCGameSprite::ProtectObjectCGameSprite::ProtectPointCGameSprite::QuickLoadCGameSprite::RandomFlyCGameSprite::RandomWalkCGameSprite::RandomWalkContinuousCGameSprite::ReadyCursorCGameSprite::ReadyItemCGameSprite::ReadyOffInternalListCGameSprite::ReadySpellCGameSprite::RecoilCGameSprite::RemoveBagsCGameSprite::RemoveClassAbilitiesCGameSprite::RemoveAllSpellsInnateCGameSprite::RemoveAllSpellsMageCGameSprite::RemoveAllSpellsPriestCGameSprite::RemoveFromAreaCGameSprite::RemoveKnownSpellCGameSprite::RemoveKnownSpellInnateCGameSprite::RemoveKnownSpellMageCGameSprite::RemoveKnownSpellPriestCGameSprite::RemoveNewSpecialAbilitiesCGameSprite::RemoveObjectSearchCGameSprite::RemovePortraitIconCGameSprite::RemoveReplacementFromAreaCGameSprite::RemoveSanctuaryCGameSprite::RemoveSpecialAbilityCGameSprite::RemoveSpellCGameSprite::RemoveTrapsCGameSprite::RemoveVVCCGameSprite::RenderCGameSprite::RenderActionsCGameSprite::RenderDamageArrowCGameSprite::RenderHealthBarCGameSprite::RenderMarkersCGameSprite::RenderMirrorImageCGameSprite::RenderPortraitCGameSprite::RenderSpriteCoverCGameSprite::RenderSpriteEffectCGameSprite::RenderToMapScreenCGameSprite::RenderTrackingArrowCGameSprite::ReplaceItemBagsCGameSprite::ResetAIScriptCGameSprite::ResolveInstantsCGameSprite::ResolvePausedActionCGameSprite::ResolveTargetPointCGameSprite::RestCGameSprite::ResetAIType

Continued on next page

6.47. CGameSprite Class 1157

Page 1162: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::ResetAITypeLiveCGameSprite::RestoreActiveAICGameSprite::RunAwayFromCGameSprite::SelectCGameSprite::SelectWeaponAbilityCGameSprite::SetAITypeCGameSprite::SetActiveAICGameSprite::SetActiveImprisonmentCGameSprite::SetActiveProficiencyCGameSprite::SetAllSpellsMemorizedCGameSprite::SetAtOffsetCGameSprite::SetBumpedCGameSprite::SetCharacterToolTipCGameSprite::SetColorCGameSprite::SetCurrActionCGameSprite::SetCursorCGameSprite::SetDialogCGameSprite::SetDialogStateCGameSprite::SetDirectionCGameSprite::SetFacingCGameSprite::SetFootstepChannelCGameSprite::SetItemFlagsCGameSprite::SetInactiveProficiencyCGameSprite::SetLuaAttrCGameSprite::SetLuaOrderedProCGameSprite::SetLuaProCGameSprite::SetMaxMemorizedSpellsInnateCGameSprite::SetMaxMemorizedSpellsMageCGameSprite::SetMaxMemorizedSpellsPriestCGameSprite::SetMemorizedFlagCGameSprite::SetModalStateCGameSprite::SetMonkAbilitiesCGameSprite::SetPathCGameSprite::SetResRefCGameSprite::SetEntangleCGameSprite::SetGreasePoolCGameSprite::SetInvisibleCGameSprite::SetInvisibleImprovedCGameSprite::SetMinorGlobeCGameSprite::SetQuickItemCGameSprite::SetQuickWeaponCGameSprite::SetSanctuaryCGameSprite::SetShieldGlobeCGameSprite::SetWebHoldCGameSprite::SetScriptCGameSprite::SetSelectedWeaponButtonCGameSprite::SetSequenceCGameSprite::SetSkillValueCGameSprite::SetStoreStateCGameSprite::SetTarget

Continued on next page

1158 Chapter 6. EE Game Classes (x86)

Page 1163: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::SetTargetFlyCGameSprite::SetUpBaalAbilitiesCGameSprite::SetVisualRangeCGameSprite::ShamanSpellCountCGameSprite::ShamanSpellDecrementCGameSprite::ShamanSpellRememorizeCGameSprite::ShatterCGameSprite::ShouldAvertCriticalHitCGameSprite::SorcererSpellCountCGameSprite::SorcererSpellDecrementCGameSprite::SorcererSpellRememorizeCGameSprite::SortColorsCGameSprite::SortMemorizedSpellsCGameSprite::SpecialStateProcessingCGameSprite::SpellCGameSprite::SpellPointCGameSprite::StartDialogCGameSprite::StartStoreCGameSprite::SwapAllActiveInactiveProficienciesCGameSprite::SwingCGameSprite::StartSpriteEffectCGameSprite::SuppressHitPointsDisplayCGameSprite::TakeCreatureItemsCGameSprite::TakeItemBagsCGameSprite::TryToTurnCGameSprite::TurnCGameSprite::UnapplySpellCGameSprite::UnequipCGameSprite::UnequipAllCGameSprite::UnmarshalCGameSprite::UnmarshalScriptsCGameSprite::UnmemorizeAllSpellsMageCGameSprite::UnmemorizeAllSpellsPriestCGameSprite::UnmemorizeAllOfResSpellInnateCGameSprite::UnmemorizeAllOfResSpellMageCGameSprite::UnmemorizeAllOfResSpellPriestCGameSprite::UnmemorizeSpellInnateCGameSprite::UnmemorizeSpellMageCGameSprite::UnmemorizeSpellPriestCGameSprite::UnselectCGameSprite::UpdateAOECGameSprite::UpdateActiveCGameSprite::UpdateLuaEquipmentCGameSprite::UpdateLuaSpellsCGameSprite::UpdateLuaStatsCGameSprite::UpdateQuickItemDataCGameSprite::UpdateSpriteEffectCGameSprite::UpdateTargetCGameSprite::UpdateToolbarCGameSprite::UpdateVisibleGroundItems

Continued on next page

6.47. CGameSprite Class 1159

Page 1164: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 17 – continued from previous pageCGameSprite::UseContainerCGameSprite::UseDoorCGameSprite::UseItemCGameSprite::UseItemPointCGameSprite::VerbalConstantCGameSprite::WaitInLineCGameSprite::WalkToAreaCGameSprite::WeaponCanDamageCGameSprite::WeaponEffectiveVsCGameSprite::WildSpell

CGameSprite::AIUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AIUpdateFly

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1160 Chapter 6. EE Game Classes (x86)

Page 1165: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AIUpdateWalk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddBlood

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddClassAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1161

Page 1166: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AddEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddKnownSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1162 Chapter 6. EE Game Classes (x86)

Page 1167: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AddKnownSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddKnownSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddNewSpecialAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1163

Page 1168: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AddNewSpellsPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddObjectSearch

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddPortraitIcon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1164 Chapter 6. EE Game Classes (x86)

Page 1169: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AddReplacementToArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddSpecialAbility

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddStatToRating

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1165

Page 1170: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AddToArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddVVC

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AddVVCInEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1166 Chapter 6. EE Game Classes (x86)

Page 1171: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AdjustTargetFollowTheLeader

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AllowSpecialStates

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Ally

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1167

Page 1172: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Animate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AnkhegEmerge

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AnkhegHide

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1168 Chapter 6. EE Game Classes (x86)

Page 1173: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ApplyCastingEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ApplyCastingEffectPost

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ApplyCriticals

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1169

Page 1174: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ApplyItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ApplyTriggers

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Attack

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1170 Chapter 6. EE Game Classes (x86)

Page 1175: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::AttackReevaluate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ArenaSetUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::AutoPause

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1171

Page 1176: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::BashDoor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::BattleSong

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Berserk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1172 Chapter 6. EE Game Classes (x86)

Page 1177: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CanChangeWeapon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CanEquipRanged

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CanSaveGame

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1173

Page 1178: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CalculateHealingPotential

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CanSeeInfra

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CanSpeak

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1174 Chapter 6. EE Game Classes (x86)

Page 1179: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CanWriteSpellScroll

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ChangeAnimation

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ChangeDirection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1175

Page 1180: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckBerserkActive

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckBumpable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckCastingRange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1176 Chapter 6. EE Game Classes (x86)

Page 1181: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckCutSceneStateOverride

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckCombatStats

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckCombatStatsHaste

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1177

Page 1182: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckCombatStatsWeapon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckDialogWait

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1178 Chapter 6. EE Game Classes (x86)

Page 1183: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckExpiredWeapons

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckExtraDestruction

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckFatigue

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1179

Page 1184: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckForBerserkStage2

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckForDead

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckForDialogWaitCancel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1180 Chapter 6. EE Game Classes (x86)

Page 1185: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckForForcedDialogEnd

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckHappiness

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckIfUsedUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1181

Page 1186: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckIfVisible

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckLauncherType

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckLoadState

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1182 Chapter 6. EE Game Classes (x86)

Page 1187: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckLoadedBanter

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckLoadedDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckSleeping

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1183

Page 1188: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ContingencyCheck

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckModal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckMorale

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1184 Chapter 6. EE Game Classes (x86)

Page 1189: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckMoveForCutScenes

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckPuppetMaster

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckQuickLists

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1185

Page 1190: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckReputation

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckSevenEyes

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckSequence

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1186 Chapter 6. EE Game Classes (x86)

Page 1191: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CheckSpellLoss

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckStatsChange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CheckToolTipItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1187

Page 1192: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ClearAI

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ClearDialogActions

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ClearStoredPaths

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1188 Chapter 6. EE Game Classes (x86)

Page 1193: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CleanUpTempSprites

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ClearBumpPath

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ClearMarshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1189

Page 1194: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CombineActiveInactiveProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CombineAllActiveInactiveProficiencies

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CompressTime

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1190 Chapter 6. EE Game Classes (x86)

Page 1195: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ConcentrationFailed

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ControlledByPlayer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Copy

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1191

Page 1196: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::CountItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::CountItemPersonal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Damage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1192 Chapter 6. EE Game Classes (x86)

Page 1197: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::DebugDump

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DecodeSwingSound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DestroyItemInSlot

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1193

Page 1198: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Dialogue

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DisableOffhand

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DisplayTextRef

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1194 Chapter 6. EE Game Classes (x86)

Page 1199: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::DoAIUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DoAction

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DropInventory

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1195

Page 1200: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::DropItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DropItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DropItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1196 Chapter 6. EE Game Classes (x86)

Page 1201: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::DoesIntersect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DoMoraleFailure

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DrainChargesFromBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1197

Page 1202: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::DropPath

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::DropSearchRequest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EndMoraleFailure

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1198 Chapter 6. EE Game Classes (x86)

Page 1203: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Enemy

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Equip

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EquipAll

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1199

Page 1204: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::EquipItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EquipMostDamagingMelee

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EquipNextAmmo

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1200 Chapter 6. EE Game Classes (x86)

Page 1205: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::EquipRanged

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EscapeArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::EvaluateStatusTrigger

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1201

Page 1206: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ExecuteAction

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Face

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FaceObject

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1202 Chapter 6. EE Game Classes (x86)

Page 1207: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::FakeWalkToArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FeedBack

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FetchCommonStrings

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1203

Page 1208: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::FillSlot

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FilterSpecialAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FindDamageEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1204 Chapter 6. EE Game Classes (x86)

Page 1209: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::FindIdentifyItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FindItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FindItemPersonal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1205

Page 1210: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::FindTraps

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FloatingHP

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FloatingText

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1206 Chapter 6. EE Game Classes (x86)

Page 1211: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Fly

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Follow

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::FollowObjectFormation

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1207

Page 1212: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ForceVisible

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Formation

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetActiveProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1208 Chapter 6. EE Game Classes (x86)

Page 1213: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetAbilityProjectileType

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetActiveStats

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetActiveWeaponStyleAndLevel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1209

Page 1214: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetAttackRange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetBackstabDamageMultiplier

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetCanSeeInvisible

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1210 Chapter 6. EE Game Classes (x86)

Page 1215: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetCarriedWeight

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetCasterLevel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetChannel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1211

Page 1216: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetColorArray

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetColorCount

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetDirection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1212 Chapter 6. EE Game Classes (x86)

Page 1217: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetDirection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetExperience

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetExperienceEntry

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1213

Page 1218: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetHelpRange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKitIDS

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1214 Chapter 6. EE Game Classes (x86)

Page 1219: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetKitMask

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetInactiveProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetInternalButtonList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1215

Page 1220: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetItemUsages

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKitDescription

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1216 Chapter 6. EE Game Classes (x86)

Page 1221: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetKnownSpellIndex

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKnownSpellIndexMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKnownSpellIndexPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1217

Page 1222: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetKnownSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKnownSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetKnownSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1218 Chapter 6. EE Game Classes (x86)

Page 1223: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetLauncher

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetLauncherSlot

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetLayOnHandsAmount

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1219

Page 1224: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetLength

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMapScreenColor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMaxDamage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1220 Chapter 6. EE Game Classes (x86)

Page 1225: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetMaxEncumbrance

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMemorizedSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMemorizedSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1221

Page 1226: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetMemorizedSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMinCasterLevel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetMinDamage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1222 Chapter 6. EE Game Classes (x86)

Page 1227: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetName

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetNameRef

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetNextWaypoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1223

Page 1228: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetNumInventoryPersonalSlots

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetNumQuickWeaponSlots

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetNumSounds

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1224 Chapter 6. EE Game Classes (x86)

Page 1229: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetNumSounds

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetPortraitToolTipText

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetQuickButtons

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1225

Page 1230: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetQuickWeapon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetRating

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetRatingWithItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1226 Chapter 6. EE Game Classes (x86)

Page 1231: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetResistance

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetResistanceString

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetSavingThrow

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1227

Page 1232: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetSecretDoorDetection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetSelectedWeaponButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetSkillHelp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1228 Chapter 6. EE Game Classes (x86)

Page 1233: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetSkillName

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetSkillValue

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetSound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1229

Page 1234: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetStatBreakdown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetStyleBonus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetTargetId

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1230 Chapter 6. EE Game Classes (x86)

Page 1235: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetTargetShare

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetTerrainTable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetTHAC0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1231

Page 1236: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetVisibleTerrainTable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetVisualRange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GetTurnUndeadLevel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1232 Chapter 6. EE Game Classes (x86)

Page 1237: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GetWeaponProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GiveItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::GivePartyAllEquipment

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1233

Page 1238: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::GroupAttack

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::HandleEffects

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::HandlePersistantEffects

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1234 Chapter 6. EE Game Classes (x86)

Page 1239: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::HasItemTypeEquiped

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::HasItemWithFlag

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::HasWeaponType

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1235

Page 1240: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::HaveKnownSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::HaveSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Help

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1236 Chapter 6. EE Game Classes (x86)

Page 1241: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Hide

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Hit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::InitBlur

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1237

Page 1242: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::InitQuickItemData

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::InitQuickSpellData

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::InitializeWalkingSound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1238 Chapter 6. EE Game Classes (x86)

Page 1243: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::InDark

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::InDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::InPersonalRadius

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1239

Page 1244: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Interact

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::IsOnPortraitIconList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::IsOver

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1240 Chapter 6. EE Game Classes (x86)

Page 1245: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::IsSpecialist

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::IsSpellSchool

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::JoinParty

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1241

Page 1246: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::JumpThroughTransition

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::JumpToArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::JumpToPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1242 Chapter 6. EE Game Classes (x86)

Page 1247: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::JumpToPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Leader

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LeaveArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1243

Page 1248: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::LeaveAreaGlobal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LeaveAreaLUA

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LeaveAreaLUA

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1244 Chapter 6. EE Game Classes (x86)

Page 1249: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::LeaveAreaLUAEntry

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LeaveAreaName

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LeaveParty

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1245

Page 1250: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::LoadAreaInformation

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::LoadProjectile

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MainActionPicking

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1246 Chapter 6. EE Game Classes (x86)

Page 1251: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MakeGlobal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MakeLocal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Marshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1247

Page 1252: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Marshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Marshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MarshalMessage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1248 Chapter 6. EE Game Classes (x86)

Page 1253: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MemorizeAllSpellsInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MemorizeAllSpellsMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MemorizeAllSpellsPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1249

Page 1254: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MemorizeSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MemorizeSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MemorizeSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1250 Chapter 6. EE Game Classes (x86)

Page 1255: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MemorizeSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MoveOntoArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MoveToBack

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1251

Page 1256: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MoveToFront

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MoveToObject

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MoveToOffset

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1252 Chapter 6. EE Game Classes (x86)

Page 1257: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::MoveToPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MoveToPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::MultiplayerUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1253

Page 1258: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::NightmareDowngrade

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::NightmareUpgrade

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::NullActionProcess

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1254 Chapter 6. EE Game Classes (x86)

Page 1259: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::OnActionButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::OnActionRemoval

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::OnDeath

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1255

Page 1260: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::OneSwing

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::OnFormationButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::OnLightningStrike

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1256 Chapter 6. EE Game Classes (x86)

Page 1261: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::OnScreen

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::OnSearchMap

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Orderable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1257

Page 1262: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::OutOfControl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Panic

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ParseAbilityHeader

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1258 Chapter 6. EE Game Classes (x86)

Page 1263: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::PartyHeal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PickLock

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PickPockets

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1259

Page 1264: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::PickUpItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PlayDead

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PlayDialogSound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1260 Chapter 6. EE Game Classes (x86)

Page 1265: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::PlaySound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PlaySound

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PlayerDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1261

Page 1266: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::PolymorphCopy

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::PostMoveCharacterFromOverflowToParty

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ProcessAI

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1262 Chapter 6. EE Game Classes (x86)

Page 1267: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ProcessEffectList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ProcessPendingTriggers

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Proficiencies

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1263

Page 1268: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ProtectObject

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ProtectPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::QuickLoad

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1264 Chapter 6. EE Game Classes (x86)

Page 1269: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RandomFly

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RandomWalk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RandomWalkContinuous

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1265

Page 1270: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ReadyCursor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ReadyItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ReadyItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1266 Chapter 6. EE Game Classes (x86)

Page 1271: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ReadyOffInternalList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ReadySpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ReadySpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1267

Page 1272: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Recoil

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveClassAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1268 Chapter 6. EE Game Classes (x86)

Page 1273: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveAllSpellsInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveAllSpellsMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveAllSpellsPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1269

Page 1274: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveFromArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveKnownSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveKnownSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1270 Chapter 6. EE Game Classes (x86)

Page 1275: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveKnownSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveKnownSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveNewSpecialAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1271

Page 1276: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveObjectSearch

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemovePortraitIcon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveReplacementFromArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1272 Chapter 6. EE Game Classes (x86)

Page 1277: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveSanctuary

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveSpecialAbility

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1273

Page 1278: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RemoveSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveTraps

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RemoveVVC

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1274 Chapter 6. EE Game Classes (x86)

Page 1279: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Render

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderActions

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderDamageArrow

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1275

Page 1280: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RenderHealthBar

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderMarkers

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderMirrorImage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1276 Chapter 6. EE Game Classes (x86)

Page 1281: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RenderPortrait

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderSpriteCover

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderSpriteEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1277

Page 1282: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::RenderToMapScreen

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RenderTrackingArrow

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ReplaceItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1278 Chapter 6. EE Game Classes (x86)

Page 1283: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ResetAIScript

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ResolveInstants

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ResolvePausedAction

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1279

Page 1284: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ResolveTargetPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Rest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ResetAIType

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1280 Chapter 6. EE Game Classes (x86)

Page 1285: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ResetAITypeLive

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RestoreActiveAI

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::RunAwayFrom

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1281

Page 1286: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Select

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SelectWeaponAbility

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SelectWeaponAbility

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1282 Chapter 6. EE Game Classes (x86)

Page 1287: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetAIType

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetActiveAI

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetActiveImprisonment

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1283

Page 1288: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetActiveProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetAllSpellsMemorized

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetAtOffset

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1284 Chapter 6. EE Game Classes (x86)

Page 1289: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetBumped

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetCharacterToolTip

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetColor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1285

Page 1290: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetCurrAction

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetCursor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1286 Chapter 6. EE Game Classes (x86)

Page 1291: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetDialogState

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetDirection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1287

Page 1292: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetFacing

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetFootstepChannel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetItemFlags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1288 Chapter 6. EE Game Classes (x86)

Page 1293: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetInactiveProficiency

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetLuaAttr

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetLuaOrderedPro

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1289

Page 1294: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetLuaPro

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetMaxMemorizedSpellsInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetMaxMemorizedSpellsMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1290 Chapter 6. EE Game Classes (x86)

Page 1295: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetMaxMemorizedSpellsPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetMemorizedFlag

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetModalState

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1291

Page 1296: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetMonkAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetPath

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetResRef

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1292 Chapter 6. EE Game Classes (x86)

Page 1297: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetEntangle

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetGreasePool

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetInvisible

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1293

Page 1298: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetInvisibleImproved

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetMinorGlobe

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetQuickItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1294 Chapter 6. EE Game Classes (x86)

Page 1299: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetQuickWeapon

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetSanctuary

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetShieldGlobe

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1295

Page 1300: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetWebHold

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetScript

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetSelectedWeaponButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1296 Chapter 6. EE Game Classes (x86)

Page 1301: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetSequence

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetSkillValue

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetStoreState

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1297

Page 1302: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetTarget

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetTarget

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetTargetFly

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1298 Chapter 6. EE Game Classes (x86)

Page 1303: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SetUpBaalAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SetVisualRange

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ShamanSpellCount

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1299

Page 1304: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ShamanSpellDecrement

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::ShamanSpellRememorize

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Shatter

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1300 Chapter 6. EE Game Classes (x86)

Page 1305: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::ShouldAvertCriticalHit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SorcererSpellCount

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SorcererSpellDecrement

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1301

Page 1306: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SorcererSpellRememorize

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SortColors

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SortMemorizedSpells

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1302 Chapter 6. EE Game Classes (x86)

Page 1307: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::SpecialStateProcessing

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Spell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SpellPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1303

Page 1308: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::StartDialog

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::StartStore

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SwapAllActiveInactiveProficiencies

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1304 Chapter 6. EE Game Classes (x86)

Page 1309: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Swing

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::StartSpriteEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::SuppressHitPointsDisplay

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1305

Page 1310: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::TakeCreatureItems

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::TakeItemBags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::TryToTurn

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1306 Chapter 6. EE Game Classes (x86)

Page 1311: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Turn

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnapplySpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Unequip

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1307

Page 1312: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UnequipAll

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Unmarshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::Unmarshal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1308 Chapter 6. EE Game Classes (x86)

Page 1313: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UnmarshalScripts

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeAllSpellsMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeAllSpellsPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1309

Page 1314: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UnmemorizeAllOfResSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeAllOfResSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeAllOfResSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1310 Chapter 6. EE Game Classes (x86)

Page 1315: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UnmemorizeSpellInnate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeSpellMage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UnmemorizeSpellPriest

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1311

Page 1316: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::Unselect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateAOE

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateActive

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1312 Chapter 6. EE Game Classes (x86)

Page 1317: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UpdateLuaEquipment

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateLuaSpells

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateLuaStats

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1313

Page 1318: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UpdateQuickItemData

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateSpriteEffect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateTarget

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1314 Chapter 6. EE Game Classes (x86)

Page 1319: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UpdateToolbar

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UpdateVisibleGroundItems

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UseContainer

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1315

Page 1320: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::UseDoor

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UseItem

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::UseItemPoint

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1316 Chapter 6. EE Game Classes (x86)

Page 1321: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::VerbalConstant

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::WaitInLine

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::WalkToArea

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.47. CGameSprite Class 1317

Page 1322: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSprite::WeaponCanDamage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::WeaponEffectiveVs

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CGameSprite::WildSpell

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1318 Chapter 6. EE Game Classes (x86)

Page 1323: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.48 CGameSpriteEquipment Class

• Overview

• Quick Reference

• Constructors

• Methods

6.48.1 Overview

Note: The CGameSpriteEquipment class handles equipment for game sprites

The structure used for this class is CGameSpriteEquipment

6.48.2 Quick Reference

Quick Refvoid CGameSpriteEquipment::CGameSpriteEquipment()void CGameSpriteEquipment::~CGameSpriteEquipment()void CGameSpriteEquipment::ClearMarshal(int bUnequip)void CGameSpriteEquipment::Marshal(CCreatureFileEquipment* pHeader, CCreatureFileItem** pItems, un-signed long* nItems, int bSaveBags, int bSaveTempItem)void CGameSpriteEquipment::Unmarshal(CCreatureFileEquipment* pHeader, CCreatureFileItem* pItems,unsigned long nItems, CGameSprite* pSprite, int bSaveTempItem)

6.48.3 Constructors

Name DescriptionCGameSpriteEquipment::CGameSpriteEquipment Constructs a CGameSpriteEquipment objectCGameSpriteEquipment::CGameSpriteEquipment Destroys a CGameSpriteEquipment object

CGameSpriteEquipment::CGameSpriteEquipment

Constructs a CGameSpriteEquipment object

void CGameSpriteEquipment::CGameSpriteEquipment();

Remarks

Constructs a CGameSpriteEquipment object

6.48. CGameSpriteEquipment Class 1319

Page 1324: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSpriteEquipment::~CGameSpriteEquipment

Destroys the CGameSpriteEquipment object

void CGameSpriteEquipment::~CGameSpriteEquipment();

Remarks

Destroys the CGameSpriteEquipment object

6.48.4 Methods

Name DescriptionCGameSpriteEquipment::ClearMarshalCGameSpriteEquipment::MarshalCGameSpriteEquipment::Unmarshal

CGameSpriteEquipment::ClearMarshal

void CGameSpriteEquipment::ClearMarshal(int bUnequip);

Parameters

• int bUnequip -

Remarks

CGameSpriteEquipment::Marshal

void CGameSpriteEquipment::Marshal(CCreatureFileEquipment* pHeader,CCreatureFileItem** pItems,unsigned long* nItems,int bSaveBags,int bSaveTempItem);

Parameters

• CCreatureFileEquipment* pHeader -

• CCreatureFileItem** pItems -

• unsigned long* nItems -

• int bSaveBags -

• int bSaveTempItem -

Remarks

1320 Chapter 6. EE Game Classes (x86)

Page 1325: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameSpriteEquipment::Unmarshal

void CGameSpriteEquipment::Unmarshal(CCreatureFileEquipment* pHeader,CCreatureFileItem* pItems,unsigned long nItems,CGameSprite* pSprite,int bSaveTempItem);

Parameters

• CCreatureFileEquipment* pHeader -

• CCreatureFileItem* pItems -

• unsigned long nItems -

• CGameSprite* pSprite -

• int bSaveTempItem -

Remarks

6.49 CGameSpriteLastUpdate Class

• Overview

• Quick Reference

• Constructors

• Methods

6.49.1 Overview

Note: The CGameSpriteLastUpdate class handles game sprite last update

The structure used for this class is CGameSpriteLastUpdate

6.49.2 Quick Reference

Quick Refvoid CGameSpriteLastUpdate::CGameSpriteLastUpdate()void CGameSpriteLastUpdate::Initialize(int bFullUpdateRequired)

6.49. CGameSpriteLastUpdate Class 1321

Page 1326: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.49.3 Constructors

Name DescriptionCGameSpriteLastUpdate::CGameSpriteLastUpdate Constructs a CGameSpriteLastUpdate object

CGameSpriteLastUpdate::CGameSpriteLastUpdate

Constructs a CGameSpriteLastUpdate object

void CGameSpriteLastUpdate::CGameSpriteLastUpdate();

Remarks

Constructs a CGameSpriteLastUpdate object

6.49.4 Methods

Name DescriptionCGameSpriteLastUpdate::Initialize

CGameSpriteLastUpdate::Initialize

void CGameSpriteLastUpdate::Initialize(int bFullUpdateRequired);

Parameters

• int bFullUpdateRequired -

Remarks

6.50 CGameStatic Class

The structure used for this class is CGameStatic

1322 Chapter 6. EE Game Classes (x86)

Page 1327: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameStatic::CGameStatic(CGameArea* pArea, CAreaFileStaticObject* pStaticObject)virtual void CGameStatic::~CGameStatic()virtual void CGameStatic::AIUpdate()virtual unsigned char CGameStatic::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameStatic::CompressTime(unsigned long deltaTime)virtual unsigned char CGameStatic::DoAIUpdate(unsigned char active, long counter)void CGameStatic::Marshal(CAreaFileStaticObject** pStaticObject)virtual void CGameStatic::RemoveFromArea()virtual void CGameStatic::Render(CGameArea* pArea, CVidMode* pVidMode)void CGameStatic::RenderBam(CGameArea* pArea, CVidMode* pVidMode)void CGameStatic::RenderPVR(CGameArea* pArea, CVidMode* pVidMode)void CGameStatic::RenderWebm(CGameArea* pArea, CVidMode* pVidMode)void CGameStatic::SetActivated(unsigned short active)void CGameStatic::SetPalette(CResRef res)

6.50.1 Constructors

Name DescriptionCGameStatic::CGameStatic Constructs a CGameStatic objectCGameStatic::~CGameStatic Destroys a CGameStatic object

CGameStatic::CGameStatic

Constructs a CGameStatic object

void CGameStatic::CGameStatic(CGameArea* pArea,CAreaFileStaticObject* pStaticObject);

Parameters

• CGameArea* pArea -

• CAreaFileStaticObject* pStaticObject -

Remarks

Constructs a CGameStatic object

CGameStatic::~CGameStatic

Destroys the CGameStatic object

virtual void CGameStatic::~CGameStatic();

6.50. CGameStatic Class 1323

Page 1328: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Destroys the CGameStatic object

6.50.2 Methods

Name DescriptionCGameStatic::AIUpdateCGameStatic::CanSaveGameCGameStatic::CompressTimeCGameStatic::DoAIUpdateCGameStatic::MarshalCGameStatic::RemoveFromAreaCGameStatic::RenderCGameStatic::RenderBam Render BAM imageCGameStatic::RenderPVR Render PowerVR based imageCGameStatic::RenderWebm Render WBM movie frameCGameStatic::SetActivatedCGameStatic::SetPalette

CGameStatic::AIUpdate

virtual void CGameStatic::AIUpdate();

Remarks

CGameStatic::CanSaveGame

virtual unsigned char CGameStatic::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

1324 Chapter 6. EE Game Classes (x86)

Page 1329: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameStatic::CompressTime

virtual unsigned char CGameStatic::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

CGameStatic::DoAIUpdate

virtual unsigned char CGameStatic::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameStatic::Marshal

void CGameStatic::Marshal(CAreaFileStaticObject** pStaticObject);

Parameters

• CAreaFileStaticObject** pStaticObject -

Remarks

CGameStatic::RemoveFromArea

virtual void CGameStatic::RemoveFromArea();

Remarks

CGameStatic::Render

6.50. CGameStatic Class 1325

Page 1330: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CGameStatic::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

CGameStatic::RenderBam

Render BAM image

void CGameStatic::RenderBam(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

CGameStatic::RenderPVR

Render PowerVR based image

void CGameStatic::RenderPVR(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

Enhanced Edition games use PVR/PVRZ based MOS, TIS and BAM file formats

1326 Chapter 6. EE Game Classes (x86)

Page 1331: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameStatic::RenderWebm

Render WBM movie frame

void CGameStatic::RenderWebm(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

WebM is an audiovisual media file format. Movie files in the Enhanced Edition games use the .WBM extension

CGameStatic::SetActivated

void CGameStatic::SetActivated(unsigned short active);

Parameters

• unsigned short active -

Remarks

CGameStatic::SetPalette

void CGameStatic::SetPalette(:ref:`CResRef<CResRef>` res);

Parameters

• CResRef res -

Remarks

6.51 CGameStatsSprite Class

The structure used for this class is CGameStatsSprite

6.51. CGameStatsSprite Class 1327

Page 1332: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameStatsSprite::CGameStatsSprite()void CGameStatsSprite::GetFavouriteSpell(CResRef & cResSpell)void CGameStatsSprite::GetFavouriteWeapon(CResRef & cResWeapon)void CGameStatsSprite::GetStrongestKill(unsigned long& strName)void CGameStatsSprite::GetTimeWithParty(unsigned long& nCurrentTimeWithParty)void CGameStatsSprite::RecordJoinParty()void CGameStatsSprite::RecordKill(CGameSprite* pSprite)void CGameStatsSprite::RecordLeaveParty()void CGameStatsSprite::RecordSpellUse(CResRef & cResSpell)void CGameStatsSprite::RecordWeaponUse(CResRef & cResWeapon)void CGameStatsSprite::ResetChapterStats()

6.51.1 Constructors

CGameStatsSprite::CGameStatsSprite

Constructs a CGameStatsSprite object

void CGameStatsSprite::CGameStatsSprite();

Remarks

Constructs a CGameStatsSprite object

6.51.2 Methods

Name DescriptionCGameStatsSprite::GetFavouriteSpell Returns a characters favourite spell they have used the mostCGameStatsSprite::GetFavouriteWeapon Returns a characters favourite weapon they have used the mostCGameStatsSprite::GetStrongestKill Returns a characters strongest creature they have killedCGameStatsSprite::GetTimeWithParty Returns a characters time with the partyCGameStatsSprite::RecordJoinParty Records the time stamp when a character joins the partyCGameStatsSprite::RecordKill Records the strongest creature killedCGameStatsSprite::RecordLeaveParty Records the time stamp when a character leaves the partyCGameStatsSprite::RecordSpellUse Records favourite spell used by a characterCGameStatsSprite::RecordWeaponUse Records favourite weapon used by a characterCGameStatsSprite::ResetChapterStats Reset chapter statistics

CGameStatsSprite::GetFavouriteSpell

Returns a characters favourite spell they have used the most

void CGameStatsSprite::GetFavouriteSpell(CResRef& cResSpell);

Parameters

1328 Chapter 6. EE Game Classes (x86)

Page 1333: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CResRef & cResSpell - address of variable to store spell resource reference

Remarks

See also CGameStatsSprite::RecordSpellUse

CGameStatsSprite::GetFavouriteWeapon

Returns a characters favourite weapon they have used the most

void CGameStatsSprite::GetFavouriteWeapon(CResRef& cResWeapon);

Parameters

• CResRef & cResWeapon - address of variable to store weapon resource reference

Remarks

See also CGameStatsSprite::RecordWeaponUse

CGameStatsSprite::GetStrongestKill

Returns a characters strongest creature they have killed

void CGameStatsSprite::GetStrongestKill(unsigned long& strName);

Parameters

• unsigned long& strName - address of string variable to store name of creature killed

Remarks

See also CGameStatsSprite::RecordKill

CGameStatsSprite::GetTimeWithParty

Returns a characters time with the party

void CGameStatsSprite::GetTimeWithParty(unsigned long& nCurrentTimeWithParty);

Parameters

• unsigned long& nCurrentTimeWithParty - address of long variable used to store character’s time with party

Remarks

See also CGameStatsSprite::RecordJoinParty and CGameStatsSprite::RecordLeaveParty

6.51. CGameStatsSprite Class 1329

Page 1334: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameStatsSprite::RecordJoinParty

Records the time stamp when a character joins the party

void CGameStatsSprite::RecordJoinParty();

Remarks

See also CGameStatsSprite::GetTimeWithParty and CGameStatsSprite::RecordLeaveParty

CGameStatsSprite::RecordKill

Records the strongest creature killed

void CGameStatsSprite::RecordKill(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite creature to be recorded as strongest kill by character

Remarks

See also CGameStatsSprite::GetStrongestKill

CGameStatsSprite::RecordLeaveParty

Records the time stamp when a character leaves the party

void CGameStatsSprite::RecordLeaveParty();

Remarks

See also CGameStatsSprite::GetTimeWithParty and CGameStatsSprite::RecordJoinParty

CGameStatsSprite::RecordSpellUse

Records favourite spell used by a character

void CGameStatsSprite::RecordSpellUse(CResRef& cResSpell);

Parameters

• CResRef & cResSpell - address of variable for spell resource reference to store as favourite

Remarks

See also CGameStatsSprite::GetFavouriteSpell

1330 Chapter 6. EE Game Classes (x86)

Page 1335: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameStatsSprite::RecordWeaponUse

Records favourite weapon used by a character

void CGameStatsSprite::RecordWeaponUse(CResRef& cResWeapon);

Parameters

• CResRef & cResWeapon - address of variable for weapon resource reference to store as favourite

Remarks

CGameStatsSprite::ResetChapterStats

Reset chapter statistics

void CGameStatsSprite::ResetChapterStats();

Remarks

6.52 CGameText Class

The structure used for this class is CGameText

Quick Refvoid CGameText::CGameText(CGameArea* pArea, CPoint& pt, long posZ, int nDuration, unsigned char nBe-ginFade, CString& sText, int hasSound, CGameObject* pTarget)virtual void CGameText::AIUpdate()virtual unsigned char CGameText::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameText::DoAIUpdate(unsigned char active, long counter)virtual void CGameText::RemoveFromArea()virtual void CGameText::Render(CGameArea* pArea, CVidMode* pVidMode)void CGameText::SetText(CPoint& pt, long posZ, int nDuration, unsigned char nBeginFade, CString& sText, inthasSound)

6.52.1 Constructors

Name DescriptionCGameText::CGameText Constructs a CGameText object

CGameText::CGameText

Constructs a CGameText object

6.52. CGameText Class 1331

Page 1336: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameText::CGameText(CGameArea* pArea,CPoint& pt,long posZ,int nDuration,unsigned char nBeginFade,CString& sText,int hasSound,CGameObject* pTarget);

Parameters

• CGameArea* pArea - pointer to area

• CPoint& pt - x and y coordinates of text position

• long posZ - z height of text position

• int nDuration - how long text is displayed on screen

• unsigned char nBeginFade -

• CString& sText - address of string containing text to display

• int hasSound -

• CGameObject* pTarget - pointer to target object to display text at

Remarks

Constructs a CGameText object

6.52.2 Methods

Name DescriptionCGameText::AIUpdateCGameText::CanSaveGameCGameText::DoAIUpdateCGameText::RemoveFromAreaCGameText::RenderCGameText::SetText

CGameText::AIUpdate

virtual void CGameText::AIUpdate();

Remarks

CGameText::CanSaveGame

1332 Chapter 6. EE Game Classes (x86)

Page 1337: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual unsigned char CGameText::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CGameText::DoAIUpdate

virtual unsigned char CGameText::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameText::RemoveFromArea

virtual void CGameText::RemoveFromArea();

Remarks

CGameText::Render

Render text

virtual void CGameText::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

6.52. CGameText Class 1333

Page 1338: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

CGameText::SetText

void CGameText::SetText(CPoint& pt,long posZ,int nDuration,unsigned char nBeginFade,CString& sText,int hasSound);

Parameters

• CPoint& pt - x and y coordinates of text position

• long posZ - z height of text position

• int nDuration - how long text is displayed on screen

• unsigned char nBeginFade -

• CString& sText - address of string containing text to display

• int hasSound -

Remarks

6.53 CGameTiledObject Class

Quick Refvoid CGameTiledObject::CGameTiledObject(CGameArea* pArea, CAreaFileTiledObject* pTiledObject,CAreaPoint* pPoints, unsigned short maxPts)virtual void CGameTiledObject::RemoveFromArea()void CGameTiledObject::ToggleState()

6.53.1 Constructors

Name DescriptionCGameTiledObject::CGameTiledObject Constructs a CGameTiledObject object

CGameTiledObject::CGameTiledObject

Constructs a CGameTiledObject object

1334 Chapter 6. EE Game Classes (x86)

Page 1339: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CGameTiledObject::CGameTiledObject(CGameArea* pArea,CAreaFileTiledObject* pTiledObject,CAreaPoint* pPoints,unsigned short maxPts);

Parameters

• CGameArea* pArea - pointer to area

• CAreaFileTiledObject* pTiledObject - pointer to tiled object

• CAreaPoint* pPoints - pointer to array of points

• unsigned short maxPts - count of points in array

Remarks

Constructs a CGameTiledObject object

6.53.2 Methods

Name DescriptionCGameTiledObject::RemoveFromAreaCGameTiledObject::ToggleState

CGameTiledObject::RemoveFromArea

virtual void CGameTiledObject::RemoveFromArea();

Remarks

CGameTiledObject::ToggleState

void CGameTiledObject::ToggleState();

Remarks

6.54 CGameTrigger Class

The structure used for this class is CGameTrigger

6.54. CGameTrigger Class 1335

Page 1340: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CGameTrigger::CGameTrigger(CGameArea* pArea, CAreaFileTriggerObject* pTriggerObject, CArea-Point* pPoints, unsigned short maxPts)virtual void CGameTrigger::AIUpdate()virtual void CGameTrigger::AddEffect(CGameEffect* pEffect, unsigned char list, int noSave, int immediateAp-ply)virtual unsigned char CGameTrigger::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CGameTrigger::CompressTime(unsigned long deltaTime)virtual void CGameTrigger::DebugDump(CString& message, unsigned char bEchoToScreen)virtual unsigned char CGameTrigger::DoAIUpdate(unsigned char active, long counter)virtual CRect CGameTrigger::GetBounding()unsigned short CGameTrigger::GetTrapActivated()virtual int CGameTrigger::IsOver(CPoint& pt)virtual int CGameTrigger::IsOverActivate(CPoint& pt)void CGameTrigger::Marshal(STriggerObjectWrapper* pTriggerWrapper)virtual void CGameTrigger::OnActionButton(CPoint& pt)virtual void CGameTrigger::RemoveFromArea()virtual void CGameTrigger::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CGameTrigger::SetCursor(long nToolTip)void CGameTrigger::SetDrawPoly(short time)

6.54.1 Constructors

Name DescriptionCGameTrigger::CGameTrigger Constructs a CGameTrigger object

CGameTrigger::CGameTrigger

Constructs a CGameTrigger object

void CGameTrigger::CGameTrigger(CGameArea* pArea,CAreaFileTriggerObject* pTriggerObject,CAreaPoint* pPoints,unsigned short maxPts);

Parameters

• CGameArea* pArea - pointer to area

• CAreaFileTriggerObject* pTriggerObject - pointer to trigger object

• CAreaPoint* pPoints - pointer to array of points

• unsigned short maxPts - count of points in array

Remarks

Constructs a CGameTrigger object

1336 Chapter 6. EE Game Classes (x86)

Page 1341: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.54.2 Methods

Name DescriptionCGameTrigger::AIUpdateCGameTrigger::AddEffectCGameTrigger::CanSaveGameCGameTrigger::CompressTimeCGameTrigger::DebugDumpCGameTrigger::DoAIUpdateCGameTrigger::GetBoundingCGameTrigger::GetTrapActivatedCGameTrigger::IsOverCGameTrigger::IsOverActivateCGameTrigger::MarshalCGameTrigger::OnActionButtonCGameTrigger::RemoveFromAreaCGameTrigger::RenderCGameTrigger::SetCursorCGameTrigger::SetDrawPoly

CGameTrigger::AIUpdate

virtual void CGameTrigger::AIUpdate();

Remarks

CGameTrigger::AddEffect

Add a game effect to a trigger object

virtual void CGameTrigger::AddEffect(CGameEffect* pEffect,unsigned char list,int noSave,int immediateApply);

Parameters

• CGameEffect* pEffect - pointer to game effect to add to trigger

• unsigned char list -

• int noSave - if a saving throw is allowed to avoid or reduce damage caused by effect

• int immediateApply - if the effect is immediate or delayed

Remarks

6.54. CGameTrigger Class 1337

Page 1342: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameTrigger::CanSaveGame

virtual unsigned char CGameTrigger::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError* -

• int restCheck* -

• int combatCheck* -

Return Value

Returns unsigned char

Remarks

CGameTrigger::CompressTime

virtual unsigned char CGameTrigger::CompressTime(unsigned long deltaTime);

Parameters

• unsigned long deltaTime -

Return Value

Returns unsigned char

Remarks

CGameTrigger::DebugDump

Debug message from CGameTrigger class

virtual void CGameTrigger::DebugDump(CString& message,unsigned char bEchoToScreen);

Parameters

• CString& message - debug message to output to console

• unsigned char bEchoToScreen - output debug message to screen as well as console

Remarks

CGameTrigger::DoAIUpdate

1338 Chapter 6. EE Game Classes (x86)

Page 1343: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual unsigned char CGameTrigger::DoAIUpdate(unsigned char active,long counter);

Parameters

• unsigned char active -

• long counter -

Return Value

Returns unsigned char

Remarks

CGameTrigger::GetBounding

Get the bounding rectangle for the trigger object

virtual CRect CGameTrigger::GetBounding();

Return Value

Returns a CRect which defines the bounding dimensions of the trigger object

Remarks

CGameTrigger::GetTrapActivated

unsigned short CGameTrigger::GetTrapActivated();

Return Value

Returns short

Remarks

CGameTrigger::IsOver

Determines if mouse position is over the trigger object

virtual int CGameTrigger::IsOver(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinate of mouse position

Return Value

Returns int

Remarks

6.54. CGameTrigger Class 1339

Page 1344: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameTrigger::IsOverActivate

Determines if mouse position is over the trigger object and the trigger is activated

virtual int CGameTrigger::IsOverActivate(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinate of mouse position

Return Value

Returns int

Remarks

CGameTrigger::Marshal

void CGameTrigger::Marshal(STriggerObjectWrapper* pTriggerWrapper);

Parameters

• STriggerObjectWrapper* pTriggerWrapper -

Remarks

CGameTrigger::OnActionButton

virtual void CGameTrigger::OnActionButton(CPoint& pt);

Parameters

• CPoint& pt - x and y coordinate of mouse position

Remarks

CGameTrigger::RemoveFromArea

virtual void CGameTrigger::RemoveFromArea();

Remarks

1340 Chapter 6. EE Game Classes (x86)

Page 1345: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CGameTrigger::Render

virtual void CGameTrigger::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea - pointer to area

• CVidMode* pVidMode - pointer to vid mode

Remarks

CGameTrigger::SetCursor

virtual void CGameTrigger::SetCursor(long nToolTip);

Parameters

• long nToolTip -

Remarks

CGameTrigger::SetDrawPoly

void CGameTrigger::SetDrawPoly(short time);

Parameters

• short time -

Remarks

6.55 CIcon Class

Quick Refvoid CIcon::RenderIcon(CPoint& pos, CSize& size, CRect& rBoundingBox, CResRef & cResIcon, unsignedlong dwFlags, unsigned short wCount, int bForceCount, unsigned short wSecondCount, int bForceSecondCount,CRect& rClipIn, int transVal)

6.55.1 Methods

Name DescriptionCIcon::RenderIcon Render an icon

6.55. CIcon Class 1341

Page 1346: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CIcon::RenderIcon

Render an icon

void CIcon::RenderIcon(CPoint& pos,CSize\& size,CRect& rBoundingBox,CResRef& cResIcon,unsigned long dwFlags,unsigned short wCount,int bForceCount,unsigned short wSecondCount,int bForceSecondCount,CRect& rClipIn,int transVal);

Parameters

• CPoint& pos - x and y coordinates of icon position

• CSize& size - width and height of icon

• CRect& rBoundingBox - bounding rectangle of icon

• CResRef & cResIcon - resource reference of icon to render

• unsigned long dwFlags -

• unsigned short wCount -

• int bForceCount -

• unsigned short wSecondCount -

• int bForceSecondCount -

• CRect& rClipIn - clipping rectangle

• int transVal -

Remarks

6.56 CImmunitiesAIType Class

The structure used for this class is CImmunitiesAIType

Quick Refvoid CImmunitiesAIType::ClearAll()int CImmunitiesAIType::OnList(CAIObjectType& type)CImmunitiesAIType& CImmunitiesAIType::operator=(CImmunitiesAIType& y)int CImmunitiesAIType::operator==(CImmunitiesAIType& y)

1342 Chapter 6. EE Game Classes (x86)

Page 1347: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.56.1 Methods

Name DescriptionCImmunitiesAIType::ClearAllCImmunitiesAIType::OnList

CImmunitiesAIType::ClearAll

void CImmunitiesAIType::ClearAll();

Remarks

CImmunitiesAIType::OnList

int CImmunitiesAIType::OnList(CAIObjectType& type);

Parameters

• CAIObjectType& type -

Return Value

Returns int

Remarks

6.56.2 Operators

Name DescriptionCImmunitiesAIType::operator=CImmunitiesAIType::operator==

CImmunitiesAIType::operator=

CImmunitiesAIType& CImmunitiesAIType::operator=(CImmunitiesAIType& y);

Parameters

• CImmunitiesAIType& y -

Return Value

Returns CImmunitiesAIType&

Remarks

6.56. CImmunitiesAIType Class 1343

Page 1348: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

:ref:‘CImmunitiesAIType::operator==

int CImmunitiesAIType::operator==(CImmunitiesAIType& y);

Parameters

• CImmunitiesAIType& y -

Return Value

Returns int

Remarks

6.57 CImmunitiesEffect Class

The structure used for this class is CImmunitiesEffect

Quick Refvoid CImmunitiesEffect::ClearAll()int CImmunitiesEffect::OnList(CGameEffect* effect)CImmunitiesEffect& CImmunitiesEffect::operator=(CImmunitiesEffect& y)

6.57.1 Methods

Name DescriptionCImmunitiesEffect::ClearAllCImmunitiesEffect::OnList

CImmunitiesEffect::ClearAll

void CImmunitiesEffect::ClearAll();

Remarks

CImmunitiesEffect::OnList

int CImmunitiesEffect::OnList(CGameEffect* effect);

Parameters

• CGameEffect* effect - pointer to game effect

Return Value

Returns int

Remarks

1344 Chapter 6. EE Game Classes (x86)

Page 1349: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.57.2 Operators

Name DescriptionCImmunitiesEffect::operator=

CImmunitiesEffect::operator=

CImmunitiesEffect& CImmunitiesEffect::operator=(CImmunitiesEffect& y);

Parameters

• CImmunitiesEffect& y -

Return Value

Returns CImmunitiesEffect&

Remarks

6.58 CImmunitiesItemEquipList Class

The structure used for this class is CImmunitiesItemEquipList

Quick Refvoid CImmunitiesItemEquipList::ClearAll()int CImmunitiesItemEquipList::OnList(CResRef & type, unsigned long& ref, CGameEffect*& effect)CImmunitiesItemEquipList& CImmunitiesItemEquipList::operator=(CImmunitiesItemEquipList& y)

6.58.1 Methods

Name DescriptionCImmunitiesItemEquipList::ClearAllCImmunitiesItemEquipList::OnList

CImmunitiesItemEquipList::ClearAll

void CImmunitiesItemEquipList::ClearAll();

Remarks

CImmunitiesItemEquipList::OnList

6.58. CImmunitiesItemEquipList Class 1345

Page 1350: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CImmunitiesItemEquipList::OnList(CResRef& type,unsigned long& ref,CGameEffect*& effect);

Parameters

• CResRef & type - resource reference for item type

• unsigned long& ref -

• CGameEffect*& effect - pointer to game effect

Return Value

Returns int

Remarks

6.58.2 Operators

Name DescriptionCImmunitiesItemEquipList::operator=

CImmunitiesItemEquipList::operator

CImmunitiesItemEquipList&→˓CImmunitiesItemEquipList::operator=(CImmunitiesItemEquipList& y);

Parameters

• CImmunitiesItemEquipList& y -

Return Value

Returns CImmunitiesItemEquipList&

Remarks

6.59 CImmunitiesItemTypeEquipList Class

The structure used for this class is CImmunitiesItemTypeEquipList

Quick Refvoid CImmunitiesItemTypeEquipList::ClearAll()int CImmunitiesItemTypeEquipList::OnList(unsigned long type, unsigned long& ref, CGameEffect*& effect)CImmunitiesItemTypeEquipList& CImmunitiesItemTypeEquipList::operator=(CImmunitiesItemTypeEquipList&y)

1346 Chapter 6. EE Game Classes (x86)

Page 1351: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.59.1 Methods

Name DescriptionCImmunitiesItemTypeEquipList::ClearAllCImmunitiesItemTypeEquipList::OnList

CImmunitiesItemTypeEquipList::ClearAll

void CImmunitiesItemTypeEquipList::ClearAll();

Remarks

CImmunitiesItemTypeEquipList::OnList

int CImmunitiesItemTypeEquipList::OnList(unsigned long type,unsigned long& ref,CGameEffect*& effect);

Parameters

• unsigned long type -

• unsigned long& ref -

• CGameEffect*& effect -

Return Value

Returns int

Remarks

6.59.2 Operators

Name DescriptionCImmunitiesItemTypeEquipList::operator=

CImmunitiesItemTypeEquipList::operator=

CImmunitiesItemTypeEquipList&→˓CImmunitiesItemTypeEquipList::operator=(CImmunitiesItemTypeEquipList& y);

Parameters

• CImmunitiesItemTypeEquipList& y -

Return Value

Returns CImmunitiesItemTypeEquipList&

Remarks

6.59. CImmunitiesItemTypeEquipList Class 1347

Page 1352: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.60 CImmunitiesProjectile Class

The structure used for this class is CImmunitiesProjectile

Quick RefCImmunitiesProjectile& CImmunitiesProjectile::operator=(CImmunitiesProjectile& y)

6.60.1 Operators

Name DescriptionCImmunitiesProjectile::operator=

CImmunitiesProjectile::operator=

CImmunitiesProjectile& CImmunitiesProjectile::operator=(CImmunitiesProjectile& y);

Parameters

• CImmunitiesProjectile& y -

Return Value

Returns CImmunitiesProjectile&

Remarks

6.61 CImmunitiesSchoolAndSecondary Class

The structure used for this class is CImmunitiesSchoolAndSecondary

Quick RefCImmunitiesSchoolAndSecondary& CImmunitiesSchoolAndSecondary::operator=(CImmunitiesSchoolAndSecondary&y)

6.61.1 Operators

Name DescriptionCImmunitiesSchoolAndSecondary::operator=

CImmunitiesSchoolAndSecondary::operator=

1348 Chapter 6. EE Game Classes (x86)

Page 1353: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CImmunitiesSchoolAndSecondary&→˓CImmunitiesSchoolAndSecondary::operator=(CImmunitiesSchoolAndSecondary& y);

Parameters

• CImmunitiesSchoolAndSecondary& y -

Return Value

Returns CImmunitiesSchoolAndSecondary&

Remarks

6.62 CImmunitiesSchoolAndSecondaryDecrementing Class

The structure used for this class is CImmunitiesSchoolAndSecondaryDecrementing

Quick Refvoid CImmunitiesSchoolAndSecondaryDecrementing::ClearAll()int CImmunitiesSchoolAndSecondaryDecrementing::OnList(unsigned long type)CImmunitiesSchoolAndSecondaryDecrementing& CImmunitiesSchoolAndSecondaryDecrement-ing::operator=(CImmunitiesSchoolAndSecondaryDecrementing& y)

6.62.1 Methods

Name DescriptionCImmunitiesSchoolAndSecondaryDecrementing::ClearAllCImmunitiesSchoolAndSecondaryDecrementing::OnList

CImmunitiesSchoolAndSecondaryDecrementing::ClearAll

void CImmunitiesSchoolAndSecondaryDecrementing::ClearAll();

Remarks

CImmunitiesSchoolAndSecondaryDecrementing::OnList

int CImmunitiesSchoolAndSecondaryDecrementing::OnList(unsigned long type);

Parameters

• unsigned long type -

Return Value

Returns int

Remarks

6.62. CImmunitiesSchoolAndSecondaryDecrementing Class 1349

Page 1354: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.62.2 Operators

Name DescriptionCImmunitiesSchoolAndSecondaryDecrementing::operator=

CImmunitiesSchoolAndSecondaryDecrementing::operator=

CImmunitiesSchoolAndSecondaryDecrementing&→˓CImmunitiesSchoolAndSecondaryDecrementing::operator=(CImmunitiesSchoolAndSecondaryDecrementing&→˓ y);

Parameters

• CImmunitiesSchoolAndSecondaryDecrementing& y -

Return Value

Returns CImmunitiesSchoolAndSecondaryDecrementing&

Remarks

6.63 CImmunitiesSpellLevel Class

The structure used for this class is CImmunitiesSpellLevel

Quick Refvoid CImmunitiesSpellLevel::ClearAll()int CImmunitiesSpellLevel::IsEmpty()int CImmunitiesSpellLevel::OnList(unsigned char level)CImmunitiesSpellLevel& CImmunitiesSpellLevel::operator=(CImmunitiesSpellLevel& y)

6.63.1 Methods

Name DescriptionCImmunitiesSpellLevel::ClearAllCImmunitiesSpellLevel::IsEmptyCImmunitiesSpellLevel::OnList

CImmunitiesSpellLevel::ClearAll

void CImmunitiesSpellLevel::ClearAll();

Remarks

1350 Chapter 6. EE Game Classes (x86)

Page 1355: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CImmunitiesSpellLevel::IsEmpty

int CImmunitiesSpellLevel::IsEmpty();

Return Value

Returns int

Remarks

CImmunitiesSpellLevel::OnList

int CImmunitiesSpellLevel::OnList(unsigned char level);

Parameters

• unsigned char level -

Return Value

Returns int

Remarks

6.63.2 Operators

Name DescriptionCImmunitiesSpellLevel::operator=

CImmunitiesSpellLevel::operator

CImmunitiesSpellLevel& CImmunitiesSpellLevel::operator=(CImmunitiesSpellLevel& y);

Parameters

• ref:CImmunitiesSpellLevel<CImmunitiesSpellLevel>& y -

Return Value

Returns CImmunitiesSpellLevel&

Remarks

6.64 CImmunitiesSpellLevelDecrementing Class

The structure used for this class is CImmunitiesSpellLevelDecrementing

6.64. CImmunitiesSpellLevelDecrementing Class 1351

Page 1356: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CImmunitiesSpellLevelDecrementing::CImmunitiesSpellLevelDecrementing()void CImmunitiesSpellLevelDecrementing::ClearAll()int CImmunitiesSpellLevelDecrementing::IsEmpty()int CImmunitiesSpellLevelDecrementing::OnList(unsigned char level)CImmunitiesSpellLevelDecrementing& CImmunitiesSpellLevelDecrementing::operator=(CImmunitiesSpellLevelDecrementing&y)

6.64.1 Constructors

Name DescriptionCImmunitiesSpellLevelDecrement-ing::CImmunitiesSpellLevelDecrementing

Constructs a CImmunitiesSpellLevelDecrementingobject

CImmunitiesSpellLevelDecrementing::CImmunitiesSpellLevelDecrementing

Constructs a CImmunitiesSpellLevelDecrementing object

void CImmunitiesSpellLevelDecrementing::CImmunitiesSpellLevelDecrementing();

Remarks

Constructs a CImmunitiesSpellLevelDecrementing object

6.64.2 Methods

Name DescriptionCImmunitiesSpellLevelDecrementing::ClearAllCImmunitiesSpellLevelDecrementing::IsEmptyCImmunitiesSpellLevelDecrementing::OnList

CImmunitiesSpellLevelDecrementing::ClearAll

void CImmunitiesSpellLevelDecrementing::ClearAll();

Remarks

1352 Chapter 6. EE Game Classes (x86)

Page 1357: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CImmunitiesSpellLevelDecrementing::IsEmpty

int CImmunitiesSpellLevelDecrementing::IsEmpty();

Return Value

Returns int

Remarks

CImmunitiesSpellLevelDecrementing::OnList

int CImmunitiesSpellLevelDecrementing::OnList(unsigned char level);

Parameters

• unsigned char level -

Return Value

Returns int

Remarks

6.64.3 Operators

Name DescriptionCImmunitiesSpellLevelDecrementing::operator=

CImmunitiesSpellLevelDecrementing::operator=

CImmunitiesSpellLevelDecrementing&→˓CImmunitiesSpellLevelDecrementing::operator=(CImmunitiesSpellLevelDecrementing& y);

Parameters

• CImmunitiesSpellLevelDecrementing& y -

Return Value

Returns CImmunitiesSpellLevelDecrementing&

Remarks

6.65 CImmunitiesSpellList Class

The structure used for this class is CImmunitiesSpellList

6.65. CImmunitiesSpellList Class 1353

Page 1358: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CImmunitiesSpellList::ClearAll()CImmunitySpell* CImmunitiesSpellList::FindRes(CResRef & type, int bOnlySpell)int CImmunitiesSpellList::OnList(CResRef & res, int bOnlySpell)CImmunitiesSpellList& CImmunitiesSpellList::operator=(CImmunitiesSpellList& y)

6.65.1 Methods

Name DescriptionCImmunitiesSpellList::ClearAllCImmunitiesSpellList::FindResCImmunitiesSpellList::OnList

CImmunitiesSpellList::ClearAll

void CImmunitiesSpellList::ClearAll();

Remarks

CImmunitiesSpellList::FindRes

CImmunitySpell* CImmunitiesSpellList::FindRes(CResRef& type,int bOnlySpell);

Parameters

• CResRef & type -

• int bOnlySpell -

Return Value

Returns CImmunitySpell*

Remarks

CImmunitiesSpellList::OnList

int CImmunitiesSpellList::OnList(CResRef& res,int bOnlySpell);

Parameters

• CResRef & res -

1354 Chapter 6. EE Game Classes (x86)

Page 1359: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int bOnlySpell -

Return Value

Returns int

Remarks

6.65.2 Operators

Name DescriptionCImmunitiesSpellList::operator=

CImmunitiesSpellList::operator=

CImmunitiesSpellList& CImmunitiesSpellList::operator=(CImmunitiesSpellList& y);

Parameters

• CImmunitiesSpellList& y -

Return Value

Returns CImmunitiesSpellList&

Remarks

6.66 CImmunitiesWeapon Class

The structure used for this class is CImmunitiesWeapon

Quick Refvoid CImmunitiesWeapon::ClearAll()unsigned long CImmunitiesWeapon::Marshal(unsigned char** ptrPtr)int CImmunitiesWeapon::OnList(CWeaponIdentification& type)void CImmunitiesWeapon::Unmarshal(unsigned char* data, unsigned long nSize)CImmunitiesWeapon& CImmunitiesWeapon::operator=(CImmunitiesWeapon& y)

6.66.1 Methods

Name DescriptionCImmunitiesWeapon::ClearAllCImmunitiesWeapon::MarshalCImmunitiesWeapon::OnListCImmunitiesWeapon::Unmarshal

6.66. CImmunitiesWeapon Class 1355

Page 1360: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CImmunitiesWeapon::ClearAll

void CImmunitiesWeapon::ClearAll();

Remarks

CImmunitiesWeapon::Marshal

unsigned long CImmunitiesWeapon::Marshal(unsigned char** ptrPtr);

Parameters

• unsigned char** ptrPtr - pointer to a pointer

Return Value

Returns unsigned long

Remarks

CImmunitiesWeapon::OnList

int CImmunitiesWeapon::OnList(CWeaponIdentification& type);

Parameters

• CWeaponIdentification& type -

Return Value

Returns int

Remarks

CImmunitiesWeapon::Unmarshal

void CImmunitiesWeapon::Unmarshal(unsigned char* data,unsigned long nSize);

Parameters

• unsigned char* data - data

• unsigned long nSize - size of data

Remarks

1356 Chapter 6. EE Game Classes (x86)

Page 1361: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.66.2 Operators

Name DescriptionCImmunitiesWeapon::operator=

CImmunitiesWeapon::operator=

CImmunitiesWeapon& CImmunitiesWeapon::operator=(CImmunitiesWeapon& y);

Parameters

• CImmunitiesWeapon& y -

Return Value

Returns CImmunitiesWeapon&

Remarks

6.67 CImportGame Class

The structure used for this class is CImportGame

Quick Refvoid CImportGame::CImportGame()void CImportGame::~CImportGame()void CImportGame::CopyGlobals(CInfGame* pGame, bool importNpcs)long CImportGame::GetCharacter(CString characterName)long CImportGame::GetCharacterAtIndex(int index)CStringList* CImportGame::GetImportableCharacters(int importAll)long CImportGame::GetNPCAtIndex(int index)unsigned char CImportGame::LoadGame(CString& sInFile)unsigned char CImportGame::Unmarshal(CFile* pFile)

6.67.1 Constructors

Name DescriptionCImportGame::CImportGame Constructs a CImportGame objectCImportGame::~CImportGame Destroys a CImportGame object

CImportGame::CImportGame

Constructs a CImportGame object

void CImportGame::CImportGame();

6.67. CImportGame Class 1357

Page 1362: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CImportGame object

CImportGame::~CImportGame

Destroys the CImportGame object

void CImportGame::~CImportGame();

Remarks

Destroys the CImportGame object

6.67.2 Methods

Name DescriptionCImportGame::CopyGlobalsCImportGame::GetCharacterCImportGame::GetCharacterAtIndexCImportGame::GetImportableCharactersCImportGame::GetNPCAtIndexCImportGame::LoadGameCImportGame::Unmarshal

CImportGame::CopyGlobals

void CImportGame::CopyGlobals(CInfGame* pGame,bool importNpcs);

Parameters

• CInfGame* pGame -

• bool importNpcs -

Remarks

CImportGame::GetCharacter

long CImportGame::GetCharacter(CString characterName);

Parameters

• CString characterName -

1358 Chapter 6. EE Game Classes (x86)

Page 1363: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns long

Remarks

CImportGame::GetCharacterAtIndex

long CImportGame::GetCharacterAtIndex(int index);

Parameters

• in index -

Return Value

Returns long

Remarks

CImportGame::GetImportableCharacters

CStringList* CImportGame::GetImportableCharacters(int importAll);

Parameters

• int importAll -

Return Value

Returns CStringList*

Remarks

CImportGame::GetNPCAtIndex

long CImportGame::GetNPCAtIndex(int index);

Parameters

• int index -

Return Value

Returns long

Remarks

CImportGame::LoadGame

6.67. CImportGame Class 1359

Page 1364: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CImportGame::LoadGame(CString& sInFile);

Parameters

• CString& sInFile -

Return Value

Returns unsigned char

Remarks

CImportGame::Unmarshal

unsigned char CImportGame::Unmarshal(CFile* pFile);

Parameters

• CFile* pFile -

Return Value

Returns unsigned char

Remarks

6.68 CInfButtonArray Class

The structure used for this class is CInfButtonArray

1360 Chapter 6. EE Game Classes (x86)

Page 1365: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CInfButtonArray::CInfButtonArray()void CInfButtonArray::~CInfButtonArray()int CInfButtonArray::CannotCast(CResRef spl, CGameSprite* sprite)int CInfButtonArray::CheckActivation(long buttonId)virtual void __cdecl CInfButtonArray::ClearList()CString CInfButtonArray::GetButtonBam(int buttonID)unsigned char CInfButtonArray::GetButtonId(int buttonType)int CInfButtonArray::GetButtonSequence(int buttonID)virtual void __cdecl CInfButtonArray::GetQuickSlotData(int nSlot, CButtonData& cButtonData, int nType)virtual unsigned char __cdecl CInfButtonArray::GetSelectedModalMode()virtual void __cdecl CInfButtonArray::GetSelectedQuickWeaponData(CButtonData& cButtonData)int CInfButtonArray::OnLButtonPressed(int buttonID)int CInfButtonArray::OnRButtonPressed(int buttonID)virtual unsigned char __cdecl CInfButtonArray::PickAbility(CButtonData* pButtonData)virtual unsigned char __cdecl CInfButtonArray::PickItem(CButtonData* pButtonData, int instantUse)virtual unsigned char __cdecl CInfButtonArray::PickOffInternalList(CButtonData* pButtonData, int instan-tUse)virtual void __cdecl CInfButtonArray::PickQuickSlot(int nButton, int nType)virtual unsigned char __cdecl CInfButtonArray::PickSpell(CButtonData* pButtonData, int instantUse)int CInfButtonArray::PostRenderButton(CPoint& cRenderLocation, CRect& rClipControl, int bPressed, intbuttonID)int CInfButtonArray::PreRenderButton(CPoint& cRenderLocation, CRect& rClipControl, int bPressed, int but-tonID)int CInfButtonArray::ResetState()virtual void __cdecl CInfButtonArray::SetQuickSlot(CButtonData* pButtonData, int nButton, int nType)int CInfButtonArray::SetState(int nState)void CInfButtonArray::SetTooltip(CString sFunctionKey, unsigned long strRef, int hotKey1, int hotKey2, intnButton)int CInfButtonArray::UpdateButtons()void CInfButtonArray::UpdateState()

6.68.1 Constructors

Name DescriptionCInfButtonArray::CInfButtonArray Constructs a CInfButtonArray objectCInfButtonArray::~CInfButtonArray Destroys a CInfButtonArray object

CInfButtonArray::CInfButtonArray

Constructs a CInfButtonArray object

void CInfButtonArray::CInfButtonArray();

Remarks

Constructs a CInfButtonArray object

6.68. CInfButtonArray Class 1361

Page 1366: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfButtonArray::~CInfButtonArray

Destroys the CInfButtonArray object

void CInfButtonArray::~CInfButtonArray();

Remarks

Destroys the CInfButtonArray object

6.68.2 Methods

Name DescriptionCInfButtonArray::CannotCastCInfButtonArray::CheckActivation Checks if the specified button id is active (enabled)CInfButtonArray::ClearList Clears all buttonsCInfButtonArray::GetButtonBamCInfButtonArray::GetButtonId Return the button id for the specified button typeCInfButtonArray::GetButtonSequence Returns button frame image if specified button id is selected or notCInfButtonArray::GetQuickSlotData Get quick slot data for a specified slotCInfButtonAr-ray::GetSelectedModalMode

Returns modal state for the currently selected group of characters

CInfButtonAr-ray::GetSelectedQuickWeaponData

Get quick slot data for the selected weapon quick button

CInfButtonArray::OnLButtonPressed Event action for when the left mouse button is clicked and the buttonis pressed

CInfButtonArray::OnRButtonPressed Event action for when the right mouse button is clicked and the buttonis pressed

CInfButtonArray::PickAbility Select a quick slot button that has been assigned to using an abilityCInfButtonArray::PickItem Select a quick slot button that has been assigned to using an itemCInfButtonArray::PickOffInternalList Select a quick slot button that has been assigned to using an internal

listCInfButtonArray::PickQuickSlot Select a quick slot button that has been assigned to using a weapon, a

spell or an itemCInfButtonArray::PickSpell Select a quick slot button that has been assigned to casting a spellCInfButtonArray::PostRenderButton Draw the specified actionbar button’s icon on top of the prerendered

slotCInfButtonArray::PreRenderButton Draw the specified actionbar button’s slotCInfButtonArray::ResetState Resets actionbar buttons stateCInfButtonArray::SetQuickSlot Customize quick slot button for casting a favourite spell, using an item

or abilityCInfButtonArray::SetState Sets actionbar buttons stateCInfButtonArray::SetTooltip Set a tooltip for a button on the actionbar when the mouse hovers over

buttonCInfButtonArray::UpdateButtons Refreshes and updates actionbar buttons: button data and quick slot

button dataCInfButtonArray::UpdateState Updates actionbar buttons state

1362 Chapter 6. EE Game Classes (x86)

Page 1367: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfButtonArray::CannotCast

int CInfButtonArray::CannotCast(CResRef spl,CGameSprite* sprite);

Parameters

• CResRef spl - resource reference of spell

• CGameSprite* sprite - pointer to game sprite object

Return Value

Returns int

Remarks

Called from CInfButtonArray::UpdateButtons

CInfButtonArray::CheckActivation

Checks if the specified button id is active (enabled)

int CInfButtonArray::CheckActivation(long buttonId);

Parameters

• long buttonId - id of button to check activation (enabled) status for

Return Value

Returns an int value reprenting true 1 or false 0 if the button is active (not disabled)

Remarks

buttonId > 30 always returns true

Checks index of button id in CDerivedStats.m_disabledButtons.

If CDerivedStats.m_disabledButtons is 0 (enabled) then CInfButtonArray::CheckActivation returns true 1, otherwise

If CDerivedStats.m_disabledButtons is 1 (disabled), then CInfButtonArray::CheckActivation returns false 0

CInfButtonArray::ClearList

Clears all buttons

virtual void __cdecl CInfButtonArray::ClearList();

Remarks

Frees the list and sets CGameButtonList.m_cButtonDataList to 0

6.68. CInfButtonArray Class 1363

Page 1368: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfButtonArray::GetButtonBam

CString CInfButtonArray::GetButtonBam(int buttonID);

Parameters

• int buttonID - id of button

Return Value

Returns CString

Remarks

CInfButtonArray::GetButtonId

Return the button id for the specified button type

unsigned char CInfButtonArray::GetButtonId(int buttonType);

Parameters

• int buttonType - type of button - see remarks for details

Return Value

Returns unsigned char representing the index (0-``11] of the buttonType on the actionbar or -1 if error

Remarks

Skips buttons that are disabled. Checks CInfButtonSettings.m_bGreyOut = 0 (enabled) in CInfButtonArray and returnsindex for that button type, otherwise returns 0xFF (-1)

buttonType values can be one of the following:

Button Type ID Button Type Notes0 Left Arrow1 Right Arrow2 Bard Song3 Cast Spell4 Find Traps5 Talk6 Unknown / Blank7 Guard8 Attack9 Shape Change10 Special Abilities11 Stealth12 Thieving13 Turn Unded14 Use Item15 Stop16 Quick Formation - Rectangle17 Quick Formation - Defensive Wedge18 Quick Formation - T-Shape

Continued on next page

1364 Chapter 6. EE Game Classes (x86)

Page 1369: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 18 – continued from previous page19 Quick Formation - Offsensive Wedge20 Quick Formation - Circle21 Quick Item 122 Quick Item 223 Quick Item 324 Quick Spell 125 Quick Spell 226 Quick Spell 327 Quick Weapon 128 Quick Weapon 229 Quick Weapon 330 Quick Weapon 443 Left Arrow44 Right Arrow67 Crashes game - dont use100 None

Note: other button types not listed may be available, but typically are used internally for spell buttons and otherdynamic buttons for the game engine.

CInfButtonArray::GetButtonSequence

Returns button frame image if specified button id is selected or not

int CInfButtonArray::GetButtonSequence(int buttonID);

Parameters

• int buttonID - id of button

Return Value

Returns an int value representing a pointer to a button frame image

Remarks

Checks CInfButtonSettings.m_bSelected = 0 (enabled) in CInfButtonArray and returns CInfButtonSet-tings.m_nButtonSelectedFrame if it is otherwise returns CInfButtonSettings.m_nButtonFrame

CInfButtonArray::GetQuickSlotData

Get quick slot data for a specified slot

virtual void __cdecl CInfButtonArray::GetQuickSlotData(int nSlot,CButtonData& cButtonData,int nType);

Parameters

• int nSlot -

6.68. CInfButtonArray Class 1365

Page 1370: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CButtonData& cButtonData - address

• int nType -

Remarks

Fills in quick slot data to a CButtonData structure which is stored at the address of the cButtonData parameter

CInfButtonArray::GetSelectedModalMode

Returns modal state for the currently selected group of characters

virtual unsigned char __cdecl CInfButtonArray::GetSelectedModalMode();

Return Value

Returns unsigned char

Remarks

Returns CGameSprite.m_nModalState field value if successful or 0 otherwise

The values that can be returned can be found in MODAL.IDS:

0 NONE1 BATTLESONG2 DETECTTRAPS3 STEALTH4 TURNUNDEAD5 SHAMANDANCE

CInfButtonArray::GetSelectedQuickWeaponData

Get quick slot data for the selected weapon quick button

virtual void __cdecl CInfButtonArray::GetSelectedQuickWeaponData(CButtonData&→˓cButtonData);

Parameters

• CButtonData& cButtonData -

Remarks

CInfButtonArray::OnLButtonPressed

Event action for when the left mouse button is clicked and the button is pressed

int CInfButtonArray::OnLButtonPressed(int buttonID);

Parameters

• int buttonID - id of button pressed

1366 Chapter 6. EE Game Classes (x86)

Page 1371: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

Selects the button pressed

CInfButtonArray::OnRButtonPressed

Event action for when the right mouse button is clicked and the button is pressed

int CInfButtonArray::OnRButtonPressed(int buttonID);

Parameters

• int buttonID - id of button pressed

Return Value

Returns int

Remarks

Allows the assignment of quick slot buttons for casting a spell, using an item or ability. See CInfButtonAr-ray::SetQuickSlot

CInfButtonArray::PickAbility

Select a quick slot button that has been assigned to using an ability

virtual unsigned char __cdecl CInfButtonArray::PickAbility(CButtonData* pButtonData);

Parameters

• CButtonData* pButtonData - pointer to button data

Return Value

Returns unsigned char - true 1 if succesful or false 0 if ability cannot be used

Remarks

CInfButtonArray::PickItem

Select a quick slot button that has been assigned to using an item

virtual unsigned char __cdecl CInfButtonArray::PickItem(CButtonData* pButtonData,int instantUse);

Parameters

• CButtonData* pButtonData - pointer to button data

6.68. CInfButtonArray Class 1367

Page 1372: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int instantUse - boolean instant use

Return Value

Returns unsigned char - true 1 if succesful or false 0 if item cannot be used (no charges etc)

Remarks

CInfButtonArray::PickOffInternalList

Select a quick slot button that has been assigned to using an internal list

virtual unsigned char __cdecl CInfButtonArray::PickOffInternalList(CButtonData* pButtonData,int instantUse);

Parameters

• CButtonData* pButtonData - pointer to button data

• int instantUse - boolean instant use

Return Value

Returns unsigned char

Remarks

CInfButtonArray::PickQuickSlot

Select a quick slot button that has been assigned to using a weapon, a spell or an item

virtual void __cdecl CInfButtonArray::PickQuickSlot(int nButton,int nType);

Parameters

• int nButton - button id

• int nType - type of button to set as quick slot button

Remarks

CInfButtonArray::PickSpell

Select a quick slot button that has been assigned to casting a spell

virtual unsigned char __cdecl CInfButtonArray::PickSpell(CButtonData* pButtonData,int instantUse);

Parameters

1368 Chapter 6. EE Game Classes (x86)

Page 1373: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CButtonData* pButtonData - pointer to button data

• int instantUse - boolean instant use

Return Value

Returns unsigned char - true 1 if succesful or false 0 if spell cannot be used (not memorized or already used)

Remarks

See also CInfButtonArray::PostRenderButton

CInfButtonArray::PostRenderButton

Draw the specified actionbar button’s icon on top of the prerendered slot

int CInfButtonArray::PostRenderButton(CPoint& cRenderLocation,CRect& rClipControl,int bPressed,int buttonID);

Parameters

• CPoint& cRenderLocation - x and y coordinates of button rendering location

• CRect& rClipControl - clipping rectangle for button rendering

• int bPressed - boolean if button is pressed or not

• int buttonID - button id for post render

Return Value

Returns int

Remarks

See also CInfButtonArray::PreRenderButton

CInfButtonArray::PreRenderButton

Draw the specified actionbar button’s slot

int CInfButtonArray::PreRenderButton(CPoint& cRenderLocation,CRect& rClipControl,int bPressed,int buttonID);

Parameters

• CPoint& cRenderLocation - x and y coordinates of button rendering location

• CRect& rClipControl - clipping rectangle for button rendering

• int bPressed - boolean if button is pressed or not

• int buttonID - button id for pre render

6.68. CInfButtonArray Class 1369

Page 1374: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfButtonArray::ResetState

Resets actionbar buttons state

int CInfButtonArray::ResetState();

Return Value

Returns int - always returns true 1

Remarks

Sets CInfButtonArray.m_nState to 0 and sets CInfButtonArray.m_bToggleButtonCleric to 1

CInfButtonArray::SetQuickSlot

Customize quick slot button to another type for casting a favourite spell, using an item or special ability

virtual void __cdecl CInfButtonArray::SetQuickSlot(CButtonData* pButtonData,int nButton,int nType);

Parameters

• CButtonData* pButtonData - pointer to button data

• int nButton - id of button

• int nType - type of button to set quick slot button to

Remarks

CInfButtonArray::SetState

Sets actionbar buttons state

int CInfButtonArray::SetState(int nState);

Parameters

• int nState - state id to set the actionbar to, see remarks

1370 Chapter 6. EE Game Classes (x86)

Page 1375: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

nState can be one of the following values:

Unique Config State(s) Notes[0] 1 Mage / Sorcerer[1] 2 Fighter[2] 3 Cleric[3] 4 Thief[4] 5 Bard[5] 6 Paladin[6] 7 Fighter Mage[7] 8 Fighter Cleric[8] 9 Fighter Thief[9] 10 Fighter Mage Thief[10] 11 Druid[11] 12 Ranger[12] 13 Mage Thief[13] 14 Cleric Mage[14] 15 Cleric Thief[15] 16 Fighter Druid[16] 17 Fighter Mage Cleric[17] 18 Cleric Ranger[18] 20 Monk[19] 21 Shaman[20] 101 Select Weapon Ability[21] 102 Spells (Select Quick Spell)[21] 103 Spells (Cast)[22] 104 Select Quick Item Ability[22] 105 Use Item[23] 106 Special Abilities[24] 107 Select Quick Formation[25] 108 Defunct Select Quick Formation (Not used)[26] 109 Group Selected[27] 110 Unknown (No buttons defined; not used?)[28] 111 Internal List (Opcode #214)[29] 112 Controlled (Class doesn’t have a dedicated state)[30] 113 Cleric / Mage Spells (Cast)[30] 114 Cleric / Mage Spells (Select Quick Spell)

Note: “Unique Config” refers to the button types that eventually get set from the state(s) on the right. In a fewinstances the engine reuses the same button configuration for multiple purposes. You can see this in the Spells config;one state is for setting a quick button, while another is actually for casting.

Each class will have their own default class actionbar. Summoned creatures will use state 112 for their actionbar.

6.68. CInfButtonArray Class 1371

Page 1376: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfButtonArray::SetTooltip

Set a tooltip for a button on the actionbar when the mouse hovers over button

void CInfButtonArray::SetTooltip(CString sFunctionKey,unsigned long strRef,int hotKey1,int hotKey2,int nButton);

Parameters

• CString sFunctionKey -

• unsigned long strRef - string reference containing tooltip text to display

• int hotKey1 - string reference to hotkey that can activate the button

• int hotKey2 - string reference to 2nd key in the hotkey combination (if ussed) that can activate the button

• int nButton - id of button to set tooltip for

Remarks

CInfButtonArray::UpdateButtons

Refreshes and updates actionbar buttons: button data and quick slot button data

int CInfButtonArray::UpdateButtons();

Return Value

Returns int

Remarks

CInfButtonArray::UpdateState

Updates actionbar buttons state

void CInfButtonArray::UpdateState();

Remarks

6.68.3 EEex Notes

Some of the CInfButtonArray methods are directly or indirectly used and/or callable via the EEex ActionBar Functions

• EEex_AddActionbarListener - Add a listener function to the actionbar

• EEex_GetActionbarButton - Retrieves the type of an actionbar button

• EEex_GetActionbarButtonFrame - Returns the current frame of the actionbar button

• EEex_GetActionbarState - Returns the state of the actionbar

1372 Chapter 6. EE Game Classes (x86)

Page 1377: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• EEex_GetLastActionbarState - Returns the last state of the actionbar

• EEex_IsActionbarButtonDown - Determines if an actionbar button is being clicked

• EEex_SetActionbarButton - Sets the type of an actionbar button

• EEex_SetActionbarState - Sets the state of the actionbar

• EEex_UpdateActionbar - Forces the actionbar to refresh its state

The EEex pattern database (EEex.db) defines the following labels for use with the EEex_Label function:

• CInfButtonArray::OnLButtonPressed()_InvalidSpecialAbility

• CInfButtonArray::OnLButtonPressed()_MainSwitchTable

• CInfButtonArray::SetState

• CInfButtonArray::SetState()_AfterUpdate

• CInfButtonArray::SetState()_BeforeUpdate

• CInfButtonArray::SetState()_IndirectJumpTable

• CInfButtonArray::SetState()_NormalPath

• CInfButtonArray::SetTooltip

• CInfButtonArray::UpdateButtons

• CInfButtonArray::UpdateState

6.69 CInfCursor Class

The structure used for this class is CInfCursor

Quick Refvoid CInfCursor::CInfCursor()void CInfCursor::~CInfCursor()void CInfCursor::CursorUpdate()void CInfCursor::Initialize()void CInfCursor::SetCursor(int nNewCursor, unsigned char bForce, int nPointerNumber)int CInfCursor::SetCustomCursor(CResRef customResRef, unsigned char bAnimating, int nPointerNumber)void CInfCursor::SetGreyScale(unsigned char bGreyScale)void CInfCursor::SetScrollArrowDirection()void CInfCursor::SetToolTip(const unsigned long& toolTipRef, CString& sExtraText)

6.69.1 Constructors

Name DescriptionCInfCursor::CInfCursor Constructs a CInfCursor objectCInfCursor::~CInfCursor Destroys a CInfCursor object

6.69. CInfCursor Class 1373

Page 1378: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfCursor::CInfCursor

Constructs a CInfCursor object

void CInfCursor::CInfCursor();

Remarks

Constructs a CInfCursor object

CInfCursor::~CInfCursor

Destroys the CInfCursor object

void CInfCursor::~CInfCursor();

Remarks

Destroys the CInfCursor object

6.69.2 Methods

Name DescriptionCInfCursor::CursorUpdateCInfCursor::InitializeCInfCursor::SetCursorCInfCursor::SetCustomCursorCInfCursor::SetGreyScaleCInfCursor::SetScrollArrowDirectionCInfCursor::SetToolTip

CInfCursor::CursorUpdate

void CInfCursor::CursorUpdate();

Remarks

CInfCursor::Initialize

void CInfCursor::Initialize();

Remarks

1374 Chapter 6. EE Game Classes (x86)

Page 1379: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfCursor::SetCursor

void CInfCursor::SetCursor(int nNewCursor,unsigned char bForce,int nPointerNumber);

Parameters

• int nNewCursor -

• unsigned char bForce -

• int nPointerNumber -

Remarks

CInfCursor::SetCustomCursor

int CInfCursor::SetCustomCursor(CResRef customResRef,unsigned char bAnimating,int nPointerNumber);

Parameters

• CResRef customResRef -

• unsigned char bAnimating -

• int nPointerNumber -

Return Value

Returns int

Remarks

CInfCursor::SetGreyScale

void CInfCursor::SetGreyScale(unsigned char bGreyScale);

Parameters

• unsigned char bGreyScale -

Remarks

CInfCursor::SetScrollArrowDirection

void CInfCursor::SetScrollArrowDirection();

Remarks

6.69. CInfCursor Class 1375

Page 1380: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfCursor::SetToolTip

void CInfCursor::SetToolTip(const unsigned long& toolTipRef,CString& sExtraText);

Parameters

• const unsigned long& toolTipRef -

• CString& sExtraText -

Remarks

6.70 CInfGame Class

• Overview

• Quick Reference

• Constructors

• Methods

6.70.1 Overview

Note: The CInfGame class handles general game features

The structure used for this class is CInfGame

6.70.2 Quick Reference

Quick Refvoid CInfGame::CInfGame()void CInfGame::~CInfGame()int CInfGame::AddCharacterToAllies(long id)int CInfGame::AddCharacterToFamiliars(long id)int CInfGame::AddCharacterToOverflow(long id)int CInfGame::AddCharacterToParty(long id, short nPortraitNumber)void CInfGame::AddDisposableItem(CItem* pItem)int CInfGame::AddItemToStore(CResRef & cResStore, CItem* pItem, unsigned long& errorStrRef)void CInfGame::AddPartyGold(long dwAddPartyGold)void CInfGame::AddPartyXP(unsigned long nXPBonus)void CInfGame::ApplyVolumeSliders()CSaveGameSlot* CInfGame::BuildGameSlot(CString sFileName, CString sGamePath, bool bStoreFullPath)int CInfGame::CanEnterStore(unsigned long& strError)

Continued on next page

1376 Chapter 6. EE Game Classes (x86)

Page 1381: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 20 – continued from previous pageint CInfGame::CanRestParty(unsigned long& strError, unsigned char bRenting)unsigned char CInfGame::CanSaveGame(unsigned long& strError, unsigned char bInRestGame, unsigned char bInStore, unsigned char bCheckCombat)void CInfGame::CenterOnGroupLeader()void CInfGame::ChangeBiography(unsigned char nFixedPartyId, CString szBiography)int CInfGame::ChangeMarkupStore(CResRef & cResStore, int buymarkup, int sellmarkup)void CInfGame::ChangeReputation(short eventCode)void CInfGame::CharacterExport(long nCharacterId, CString fileName, int osOpenExportedCharacter)long CInfGame::CharacterImport(CString fileName, unsigned char& nVersion, unsigned char nSlot)int CInfGame::CheckForInteractiveDream()int CInfGame::CheckItemExclusive(CGameSprite* pSprite, int nSlot, CItem* pItem, unsigned long& strError)int CInfGame::CheckItemNotUsableByClass(unsigned char nClass, unsigned long dwNotUsableBy, unsigned long baseFlags)int CInfGame::CheckItemSlot(short nPortraitNum, short nSlotNum, CItem*& item, unsigned long& errorCode)int CInfGame::CheckItemSlot(CGameSprite* pSprite, short nSlotNum, CItem*& item, unsigned long& errorCode)int CInfGame::CheckItemUsable(short nPortraitNum, CItem* item, unsigned long& errorCode, int bAsync)int CInfGame::CheckItemUsable(CGameSprite* pSprite, CItem* item, unsigned long& errorCode, int bAsync)int CInfGame::CheckItemUsableByClass(CItem* pItem, unsigned char nClass, unsigned char nActiveClass, unsigned char nInactiveClass, int bInactiveUsable, unsigned long& errorCode, unsigned long baseFlags)int CInfGame::CheckStoredAreas(CString areaName)int CInfGame::ClearCharacterSlot(int nCharacterSlot)void CInfGame::ClearTransitionPiles()void CInfGame::CompressContainer(long nContainerId)void CInfGame::DeleteCharacters(int nStartingFrom)int CInfGame::DeleteSaveGame(CString& sSaveGame)void CInfGame::DemandServerStore(CResRef & store, int bSaveToDisk)void CInfGame::DestroyGame(unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace)int CInfGame::DrainItemInStore(CResRef & cResStore, CResRef & ref, int number, int abilityNum)void CInfGame::EnablePortrait(unsigned char nControlId, int bEnable)unsigned char CInfGame::ExtendedDayNightAreaActive()void CInfGame::FeedBack(unsigned short feedBackId, long int1)virtual int __cdecl CInfGame::FilterSounds(CRes* pRes)unsigned char CInfGame::FindAreaID(unsigned long nAreaID)short CInfGame::FindEmptyItemPersonalInventory(short nPortraitNum)unsigned long CInfGame::FindItemInStore(CResRef & cResStore, CResRef & ref, int checkForIdentified)int CInfGame::FindNewestSlot(int nSlot)int CInfGame::FindOldestSlot(int nSlot)int CInfGame::GetAnimationVidCell(CVidCell& cVidCell, CString& sPaperDoll, unsigned char nRange)CGameArea* CInfGame::GetArea(CString areaName)long CInfGame::GetAveragePartyLevel()int CInfGame::GetCampaignIcon()int CInfGame::GetCanImportSavedGames()long CInfGame::GetCharacterCriteria(short criteria)long CInfGame::GetCharacterId(short nPortrait)short CInfGame::GetCharacterPortraitNum(long characterId)long CInfGame::GetCharacterSlot(int nCharacterSlot)int CInfGame::GetCharacterSlotFromId(long nCharacterId)unsigned char CInfGame::GetCharactersControlled()CString CInfGame::GetCloudSavePrefix()unsigned short CInfGame::GetContainerType(long nContainerId)int CInfGame::GetCurrentChapter()CString CInfGame::GetDirSave()CString CInfGame::GetDirSaveRoot(unsigned char nSaveRoot)

Continued on next page

6.70. CInfGame Class 1377

Page 1382: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 20 – continued from previous pagevoid CInfGame::GetFamiliar(unsigned char nLevel, unsigned char alignment, CString& resref)long CInfGame::GetFixedOrderCharacterId(short nSlot)short CInfGame::GetFixedOrderCharacterPortraitNum(long characterId)long CInfGame::GetGroundPile(long iSprite)CStringList* CInfGame::GetImportCharacters()CStringList* CInfGame::GetImportableSaveGames()CItem* CInfGame::GetItemFromStore(CResRef & cResStore, CResRef & ref)CResRef CInfGame::GetItemTint(CItem* pItem)int CInfGame::GetJournalOpenable()short CInfGame::GetNumGroundSlots(long nContainerId)short CInfGame::GetNumQuickWeaponSlots(short nPortraitNum)long CInfGame::GetNumSummoned()long CInfGame::GetNumSummonedDiva()int CInfGame::GetPaletteSize(int nPickRange)unsigned long CInfGame::GetParchmentCaption(CString sParchment)CStringList* CInfGame::GetPortraits()long CInfGame::GetProtagonist()short CInfGame::GetReputation()CString CInfGame::GetSaveGameName(int nSlot, int resolve)int CInfGame::GetSaveGameTime(CString sFileName)CStringList* CInfGame::GetSaveGames(unsigned char bReturnFullPath, unsigned char bBothMPandSP, int bAllowReadOnly, int bHideTOB, int bHideSOA, int bMigrate)CStringList* CInfGame::GetScripts()unsigned long CInfGame::GetScrollSpeed()CStore* CInfGame::GetServerStore(CResRef & store)CStringList* CInfGame::GetSounds()unsigned long CInfGame::GetTotalPartyKillsNumber()CString CInfGame::GetWorldmapName()int CInfGame::HealParty(int nHP, int bFirstHeal)void CInfGame::InitDifficulty()void CInfGame::InitGame(unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace)void CInfGame::IntegrateAddInAreas(unsigned long nMap, CString sAreaData)void CInfGame::InventoryInfoGround(long nContainerId, short nSlotNum, CItem*& pItem, unsigned long& description, CResRef & cResIcon, CResRef & cResItem, unsigned short& wCount)void CInfGame::InventoryInfoPersonal(short nPortraitNum, short nSlotNum, CItem*& pItem, unsigned long& description, CResRef & cResIcon, CResRef & cResItem, unsigned short& wCount)int CInfGame::Is3DSound(int nChannel)int CInfGame::IsAlly(long id)int CInfGame::IsFamiliar(long id)void CInfGame::LeaveAreaLuaMultiplayer(long iSprite, CPoint ptStart, short nDirection, CString sAreaName, CString sParchment)void CInfGame::LeaveAreaNameMultiplayer(long iLSprite, long iTrigger, CString sAreaName)CGameArea* CInfGame::LoadArea(CString areaName, unsigned char nTravelScreenImageToUse, unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace)int CInfGame::LoadGame(unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace)void CInfGame::LoadKey(int code, short cnt)void CInfGame::LoadKeymap()void CInfGame::LoadMultiPlayerPermissions()void CInfGame::LoadOptions()void CInfGame::MakeCharacterProtagonist(long nID)void CInfGame::Marshal(unsigned char** pGame, long* nGame, unsigned char bProgressBarInPlace)void CInfGame::MoveGlobals(CString& sFromArea, CString& sToArea, CPoint& ptDest, long runningAIId)void CInfGame::MoveToCampaign(CString campaign)void CInfGame::MoveToExpansionMap(CString sMapRes, CString sArea, CPoint ptStartLoc)void CInfGame::MultiplayerSetCharacterCreationLocation()

Continued on next page

1378 Chapter 6. EE Game Classes (x86)

Page 1383: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 20 – continued from previous pagevoid CInfGame::NewGame(unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace)void CInfGame::OnPortraitLClick(unsigned long id)void CInfGame::OnPortraitLDblClick(unsigned long id)void CInfGame::PanicRescueItem(CItem* pItem, long nCharacterId)unsigned char CInfGame::PrivilegedSlot(CString& sSaveGame)void CInfGame::ProgressBarCallback(unsigned long dwSize, unsigned char bInitialize)void CInfGame::PushGameSlot(CSaveGameSlot* pSlot, int nSlot)void CInfGame::ReadyCharacterTerminationSequence()void CInfGame::ReleaseServerStore(CResRef & store)void CInfGame::RememorizeSpells()int CInfGame::RemoveCharacterFromAllies(long id)int CInfGame::RemoveCharacterFromFamiliars(long id)int CInfGame::RemoveCharacterFromParty(long id, int& overflow, int addToNonPartyList)void CInfGame::RemoveDisposableItem(CItem* pItem)void CInfGame::RemoveFamiliarResRef(CResRef & resref, unsigned char nAlignment, unsigned char nLevel)void CInfGame::RenderAppearance(CPoint position, int bRenderEquipment)void CInfGame::RenderColorDisplay(CRect r, int nPickRange, int frame)void CInfGame::RenderPalette(CRect r, int nPickRange)void CInfGame::RenderPortrait(unsigned long portraitId, CPoint& cpRenderPosition, CSize& szControl, int bPressed, int reorderHighlight, int selectFromMarker, CRect& rClip)int CInfGame::ReplaceItemInStore(CResRef & cResStore, CResRef & oldRef, CResRef & newRef)void CInfGame::ReputationAdjustment(short reputationAdjustment, int set)unsigned char CInfGame::RestParty(unsigned char nSuggestedDreamToDisplay, int nHP, unsigned char bRenting, unsigned char bMovie, int nGP)unsigned char CInfGame::RestPartyPrivate(unsigned char nSuggestedDreamToDisplay, int nHP, unsigned char bRenting, unsigned char bMovie, int nGP)short CInfGame::RestorePartyToLocations(CGameSprite* pCaller, int pocketPlane)int CInfGame::SaveGame(unsigned char bProgressBarRequired, unsigned char bProgressBarInPlace, unsigned char bSaveScreen, unsigned char exportSave)int CInfGame::SaveGameExists(CString& sSaveGame, unsigned char nSaveRoot)void CInfGame::SaveMultiPlayerPermissions()void CInfGame::SaveOptions()int CInfGame::SelectAll(unsigned char bPlaySound)int CInfGame::SelectCharacter(long characterId, unsigned char bPlaySelectSound)void CInfGame::SelectToolbar()void CInfGame::SetAppearanceColorsBody(unsigned char* appearanceColorsBody)void CInfGame::SetAppearanceColorsHelmet(unsigned char* appearanceColorsHelmet)void CInfGame::SetAppearanceColorsShield(unsigned char* appearanceColorsShield)void CInfGame::SetAppearanceColorsWeapon(unsigned char* appearanceColorsWeapon)int CInfGame::SetCampaign(CString campaign)int CInfGame::SetCharacterSlot(int nCharacterSlot, long nCharacterId)void CInfGame::SetIconIndex(unsigned char iconIndex)int CInfGame::SetItemToStore(CResRef & cResStore, CResRef & cResItem, int nItems, int itemFlags)void CInfGame::SetLastTarget(long id)void CInfGame::SetProtagonist(long nId)void CInfGame::SetReputation(short rep, int checkBounds)void CInfGame::SetStartArea2DA(CString start2da)void CInfGame::SetStartParty2DA(CString startParty2da)void CInfGame::SetState(short state, int allowDead)void CInfGame::SetTravelScreenImageResRef(CResRef & resrefTravelScreenImage)void CInfGame::SetVisibleArea(unsigned char nAreaId)void CInfGame::SetupCharacters(unsigned char bProgressBarInPlace)void CInfGame::ShowCreatureTooltips(unsigned char time)void CInfGame::StartCharacterTerminationSequence()

Continued on next page

6.70. CInfGame Class 1379

Page 1384: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 20 – continued from previous pagevoid CInfGame::StepAnimation(unsigned char direction)void CInfGame::StorePartyLocations(int pocketPlane)void CInfGame::SwapCharacters(unsigned long pos1, unsigned long pos2)int CInfGame::SwapItemGround(long nContainerId, short nSlotNum, CItem*& pNewItem, unsigned long& errorCode, unsigned short wCount, unsigned char bFromServer)int CInfGame::SwapItemPersonal(short nPortraitNum, short nSlotNum, CItem*& pNewItem, unsigned long& errorCode, unsigned short wCount, unsigned char bFromServer, CGameSprite* pSprite)int CInfGame::SwapItemPersonalInventory(short nPortraitNum, CItem*& pNewItem, short nSlotNum, unsigned long& errorCode, unsigned short wCount, unsigned char bFromServer, int bAutoStacking, int bFlexibleSlot)void CInfGame::SynchronousUpdate()short CInfGame::TakeItemFromStore(CResRef & cResStore, CResRef & ref, int number)unsigned char CInfGame::ToggleAI()int CInfGame::Unmarshal(unsigned char* pGame, long nGame, unsigned char bProgressBarInPlace)void CInfGame::UnselectAll()unsigned char CInfGame::UpdateCharacterPartyOrder(long* pCharacterIds, short nOverflowCharacters, long* pOverflowCharacterIds)void CInfGame::UpdateCharacterSlots()void CInfGame::UpdatePartyToExpansionPack(int bStart, int bForceDefault, long nXPGiven)void CInfGame::UpdatePortrait(short nPortrait, unsigned long panelId)void CInfGame::UpdateTokens(CGameSprite* pSprite)int CInfGame::UseMagicOnGround(CPoint ptTarget)int CInfGame::UseMagicOnObject(long target)void CInfGame::WorldEngineActivated(CVidMode* pVidMode)void CInfGame::WorldEngineDeactivated()

6.70.3 Constructors

Name DescriptionCInfGame::CInfGame Constructs a CInfGame objectCInfGame::~CInfGame Destroys a CInfGame object

CInfGame::CInfGame

Constructs a CInfGame object

void CInfGame::CInfGame();

Remarks

Constructs a CInfGame object

CInfGame::~CInfGame

Destroys the CInfGame object

void CInfGame::~CInfGame();

Remarks

Destroys the CInfGame object

1380 Chapter 6. EE Game Classes (x86)

Page 1385: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.70.4 Methods

Name DescriptionCInfGame::AddCharacterToAlliesCInfGame::AddCharacterToFamiliarsCInfGame::AddCharacterToOverflowCInfGame::AddCharacterToPartyCInfGame::AddDisposableItemCInfGame::AddItemToStoreCInfGame::AddPartyGoldCInfGame::AddPartyXPCInfGame::ApplyVolumeSlidersCInfGame::BuildGameSlotCInfGame::CanEnterStoreCInfGame::CanRestPartyCInfGame::CanSaveGameCInfGame::CenterOnGroupLeaderCInfGame::ChangeBiographyCInfGame::ChangeMarkupStoreCInfGame::ChangeReputationCInfGame::CharacterExportCInfGame::CharacterImportCInfGame::CheckForInteractiveDreamCInfGame::CheckItemExclusiveCInfGame::CheckItemNotUsableByClassCInfGame::CheckItemSlotCInfGame::CheckItemUsableCInfGame::CheckItemUsableByClassCInfGame::CheckStoredAreasCInfGame::ClearCharacterSlotCInfGame::ClearTransitionPilesCInfGame::CompressContainerCInfGame::DeleteCharactersCInfGame::DeleteSaveGameCInfGame::DemandServerStoreCInfGame::DestroyGameCInfGame::DrainItemInStoreCInfGame::EnablePortraitCInfGame::ExtendedDayNightAreaActiveCInfGame::FeedBackCInfGame::FilterSoundsCInfGame::FindAreaIDCInfGame::FindEmptyItemPersonalInventoryCInfGame::FindItemInStoreCInfGame::FindNewestSlotCInfGame::FindOldestSlotCInfGame::GetAnimationVidCellCInfGame::GetAreaCInfGame::GetAveragePartyLevelCInfGame::GetCampaignIcon

Continued on next page

6.70. CInfGame Class 1381

Page 1386: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous pageCInfGame::GetCanImportSavedGamesCInfGame::GetCharacterCriteriaCInfGame::GetCharacterIdCInfGame::GetCharacterPortraitNumCInfGame::GetCharacterSlotCInfGame::GetCharacterSlotFromIdCInfGame::GetCharactersControlledCInfGame::GetCloudSavePrefixCInfGame::GetContainerTypeCInfGame::GetCurrentChapterCInfGame::GetDirSaveCInfGame::GetDirSaveRootCInfGame::GetFamiliarCInfGame::GetFixedOrderCharacterIdCInfGame::GetFixedOrderCharacterPortraitNumCInfGame::GetGroundPileCInfGame::GetImportCharactersCInfGame::GetImportableSaveGameCInfGame::GetItemFromStoreCInfGame::GetItemTintCInfGame::GetJournalOpenableCInfGame::GetNumGroundSlotsCInfGame::GetNumQuickWeaponSlotsCInfGame::GetNumSummonedCInfGame::GetNumSummonedDivaCInfGame::GetPaletteSizeCInfGame::GetParchmentCaptionCInfGame::GetPortraitsCInfGame::GetProtagonistCInfGame::GetReputationCInfGame::GetSaveGameNameCInfGame::GetSaveGameTimeCInfGame::GetSaveGamesCInfGame::GetScriptsCInfGame::GetScrollSpeedCInfGame::GetServerStoreCInfGame::GetSoundsCInfGame::GetTotalPartyKillsNumberCInfGame::GetWorldmapNameCInfGame::HealPartyCInfGame::InitDifficultyCInfGame::InitGameCInfGame::IntegrateAddInAreasCInfGame::InventoryInfoGroundCInfGame::InventoryInfoPersonalCInfGame::Is3DSoundCInfGame::IsAllyCInfGame::IsFamiliarCInfGame::LeaveAreaLuaMultiplayerCInfGame::LeaveAreaNameMultiplayer

Continued on next page

1382 Chapter 6. EE Game Classes (x86)

Page 1387: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous pageCInfGame::LoadAreaCInfGame::LoadGameCInfGame::LoadKeyCInfGame::LoadKeymapCInfGame::LoadMultiPlayerPermissionsCInfGame::LoadOptionsCInfGame::MakeCharacterProtagonistCInfGame::MarshalCInfGame::MoveGlobalsCInfGame::MoveToCampaignCInfGame::MoveToExpansionMapCInfGame::MultiplayerSetCharacterCreationLocationCInfGame::NewGameCInfGame::OnPortraitLClickCInfGame::OnPortraitLDblClickCInfGame::PanicRescueItemCInfGame::PrivilegedSlotCInfGame::ProgressBarCallbackCInfGame::PushGameSlotCInfGame::ReadyCharacterTerminationSequenceCInfGame::ReleaseServerStoreCInfGame::RememorizeSpellsCInfGame::RemoveCharacterFromAlliesCInfGame::RemoveCharacterFromFamiliarsCInfGame::RemoveCharacterFromPartyCInfGame::RemoveDisposableItemCInfGame::RemoveFamiliarResRefCInfGame::RenderAppearanceCInfGame::RenderColorDisplayCInfGame::RenderPaletteCInfGame::RenderPortraitCInfGame::ReplaceItemInStoreCInfGame::ReputationAdjustmentCInfGame::RestPartyCInfGame::RestPartyPrivateCInfGame::RestorePartyToLocationsCInfGame::SaveGameCInfGame::SaveGameExistsCInfGame::SaveMultiPlayerPermissionsCInfGame::SaveOptionsCInfGame::SelectAllCInfGame::SelectCharacterCInfGame::SelectToolbarCInfGame::SetAppearanceColorsBodyCInfGame::SetAppearanceColorsHelmetCInfGame::SetAppearanceColorsShieldCInfGame::SetAppearanceColorsWeaponCInfGame::SetCampaignCInfGame::SetCharacterSlotCInfGame::SetIconIndex

Continued on next page

6.70. CInfGame Class 1383

Page 1388: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 21 – continued from previous pageCInfGame::SetItemToStoreCInfGame::SetLastTargetCInfGame::SetProtagonistCInfGame::SetReputationCInfGame::SetStartArea2DACInfGame::SetStartParty2DACInfGame::SetStateCInfGame::SetTravelScreenImageResRefCInfGame::SetVisibleAreaCInfGame::SetupCharactersCInfGame::ShowCreatureTooltipsCInfGame::StartCharacterTerminationSequenceCInfGame::StepAnimationCInfGame::StorePartyLocationsCInfGame::SwapCharactersCInfGame::SwapItemGroundCInfGame::SwapItemPersonalCInfGame::SwapItemPersonalInventoryCInfGame::SynchronousUpdateCInfGame::TakeItemFromStoreCInfGame::ToggleAICInfGame::UnmarshalCInfGame::UnselectAllCInfGame::UpdateCharacterPartyOrderCInfGame::UpdateCharacterSlotsCInfGame::UpdatePartyToExpansionPackCInfGame::UpdatePortraitCInfGame::UpdateTokensCInfGame::UseMagicOnGroundCInfGame::UseMagicOnObjectCInfGame::WorldEngineActivatedCInfGame::WorldEngineDeactivated

CInfGame::AddCharacterToAllies

int CInfGame::AddCharacterToAllies(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

1384 Chapter 6. EE Game Classes (x86)

Page 1389: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::AddCharacterToFamiliars

int CInfGame::AddCharacterToFamiliars(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

CInfGame::AddCharacterToOverflow

int CInfGame::AddCharacterToOverflow(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

CInfGame::AddCharacterToParty

int CInfGame::AddCharacterToParty(long id, short nPortraitNumber);

Parameters

• long id -

• short nPortraitNumber -

Return Value

Returns int

Remarks

CInfGame::AddDisposableItem

void CInfGame::AddDisposableItem(CItem* pItem);

Parameters

• CItem* pItem -

Remarks

6.70. CInfGame Class 1385

Page 1390: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::AddItemToStore

int CInfGame::AddItemToStore(CResRef& cResStore,CItem* pItem,unsigned long& errorStrRef);

Parameters

• CResRef & cResStore -

• CItem* pItem -

• unsigned long& errorStrRef -

Return Value

Returns int

Remarks

CInfGame::AddPartyGold

void CInfGame::AddPartyGold(long dwAddPartyGold);

Parameters

• long dwAddPartyGold -

Remarks

CInfGame::AddPartyXP

void CInfGame::AddPartyXP(unsigned long nXPBonus);

Parameters

• unsigned long nXPBonus -

Remarks

CInfGame::ApplyVolumeSliders

void CInfGame::ApplyVolumeSliders();

Remarks

‘CInfGame::BuildGameSlot

1386 Chapter 6. EE Game Classes (x86)

Page 1391: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CSaveGameSlot* CInfGame::BuildGameSlot(CString sFileName,CString sGamePath,bool bStoreFullPath);

Parameters

• CString sFileName -

• CString sGamePath -

• bool bStoreFullPath -

Return Value

CSaveGameSlot*

Remarks

CInfGame::CanEnterStore

int CInfGame::CanEnterStore(unsigned long& strError);

Parameters

• unsigned long& strError -

Return Value

Returns int

Remarks

CInfGame::CanRestParty

int CInfGame::CanRestParty(unsigned long& strError,unsigned char bRenting);

Parameters

• unsigned long& strError -

• unsigned char bRenting -

Return Value

Returns int

Remarks

CInfGame::CanSaveGame

6.70. CInfGame Class 1387

Page 1392: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CInfGame::CanSaveGame(unsigned long& strError,unsigned char bInRestGame,unsigned char bInStore,unsigned char bCheckCombat);

Parameters

• unsigned long& strError -

• unsigned char bInRestGame -

• unsigned char bInStore -

• unsigned char bCheckCombat -

Return Value

Remarks

CInfGame::CenterOnGroupLeader

void CInfGame::CenterOnGroupLeader();

Remarks

CInfGame::ChangeBiography

void CInfGame::ChangeBiography(unsigned char nFixedPartyId,CString szBiography);

Parameters

• unsigned char nFixedPartyId -

• CString szBiography -

Remarks

CInfGame::ChangeMarkupStore

int CInfGame::ChangeMarkupStore(CResRef& cResStore,int buymarkup,int sellmarkup);

Parameters

• CResRef & cResStore -

• int buymarkup -

1388 Chapter 6. EE Game Classes (x86)

Page 1393: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int sellmarkup -

Return Value

Returns int

Remarks

CInfGame::ChangeReputation

void CInfGame::ChangeReputation(short eventCode);

Parameters

• short eventCode -

Remarks

CInfGame::CharacterExport

void CInfGame::CharacterExport(long nCharacterId,CString fileName,int osOpenExportedCharacter);

Parameters

• long nCharacterId -

• CString fileName -

• int osOpenExportedCharacter -

Remarks

CInfGame::CharacterImport

long CInfGame::CharacterImport(CString fileName,unsigned char& nVersion,unsigned char nSlot);

Parameters

• CString fileName -

• unsigned char& nVersion -

• unsigned char nSlot -

Return Value

Returns long

Remarks

6.70. CInfGame Class 1389

Page 1394: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::CheckForInteractiveDream

int CInfGame::CheckForInteractiveDream();

Return Value

Returns int

Remarks

CInfGame::CheckItemExclusive

int CInfGame::CheckItemExclusive(CGameSprite* pSprite,int nSlot,CItem* pItem,unsigned long& strError);

Parameters

• CGameSprite* pSprite -

• int nSlot -

• CItem* pItem -

• unsigned long& strError -

Return Value

Returns int

Remarks

CInfGame::CheckItemNotUsableByClass

int CInfGame::CheckItemNotUsableByClass(unsigned char nClass,unsigned long dwNotUsableBy,unsigned long baseFlags);

Parameters

• unsigned char nClass -

• unsigned long dwNotUsableBy -

• unsigned long baseFlags -

Return Value

Returns int

Remarks

1390 Chapter 6. EE Game Classes (x86)

Page 1395: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::CheckItemSlot

int CInfGame::CheckItemSlot(short nPortraitNum,short nSlotNum,CItem*& item,unsigned long& errorCode);

Parameters

• short nPortraitNum -

• short nSlotNum -

• CItem*& item -

• unsigned long& errorCode -

Return Value

Returns int

Remarks

CInfGameCheckItemSlot

int CInfGame::CheckItemSlot(CGameSprite* pSprite,short nSlotNum,CItem*& item,unsigned long& errorCode);

Parameters

• CGameSprite* pSprite -

• short nSlotNum -

• CItem*& item -

• unsigned long& errorCode -

Return Value

Returns int

Remarks

CInfGame::CheckItemUsable

int CInfGame::CheckItemUsable(short nPortraitNum,CItem* item,unsigned long& errorCode,int bAsync);

Parameters

6.70. CInfGame Class 1391

Page 1396: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• short nPortraitNum -

• CItem* item -

• unsigned long& errorCode -

• int bAsync -

Return Value

Returns int

Remarks

CInfGame::CheckItemUsable

int CInfGame::CheckItemUsable(CGameSprite* pSprite,CItem* item,unsigned long& errorCode,int bAsync);

Parameters

• CGameSprite* pSprite -

• CItem* item -

• unsigned long& errorCode -

• int bAsync -

Return Value

Returns int

Remarks

CInfGame::CheckItemUsableByClass

int CInfGame::CheckItemUsableByClass(CItem* pItem,unsigned char nClass,unsigned char nActiveClass,unsigned char nInactiveClass,int bInactiveUsable,unsigned long& errorCode,unsigned long baseFlags);

Parameters

• CItem* pItem -

• unsigned char nClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

1392 Chapter 6. EE Game Classes (x86)

Page 1397: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int bInactiveUsable -

• unsigned long& errorCode -

• unsigned long baseFlags -

Return Value

Returns int

Remarks

CInfGame::CheckStoredAreas

int CInfGame::CheckStoredAreas(CString areaName);

Parameters

• CString areaName -

Return Value

Returns int

Remarks

CInfGame::ClearCharacterSlot

int CInfGame::ClearCharacterSlot(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

Returns int

Remarks

CInfGame::ClearTransitionPiles

void CInfGame::ClearTransitionPiles();

Remarks

6.70. CInfGame Class 1393

Page 1398: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::CompressContainer

void CInfGame::CompressContainer(long nContainerId);

Parameters

• long nContainerId -

Remarks

CInfGame::DeleteCharacters

void CInfGame::DeleteCharacters(int nStartingFrom);

Parameters

• int nStartingFrom -

Remarks

CInfGame::DeleteSaveGame

int CInfGame::DeleteSaveGame(CString& sSaveGame);

Parameters

• CString& sSaveGame -

Return Value

Returns int

Remarks

CInfGame::DemandServerStore

void CInfGame::DemandServerStore(CResRef& store,int bSaveToDisk);

Parameters

• CResRef & store -

• int bSaveToDisk -

Remarks

CInfGame::DestroyGame

1394 Chapter 6. EE Game Classes (x86)

Page 1399: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CInfGame::DestroyGame(unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace);

Parameters

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

Remarks

CInfGame::DrainItemInStore

int CInfGame::DrainItemInStore(CResRef& cResStore,CResRef& ref,int number,int abilityNum);

Parameters

• CResRef & cResStore -

• CResRef & ref -

• int number -

• int abilityNum -

Return Value

Returns int

Remarks

CInfGame::EnablePortrait

void CInfGame::EnablePortrait(unsigned char nControlId,int bEnable);

Parameters

• unsigned char nControlId -

• int bEnable -

Remarks

CInfGame::ExtendedDayNightAreaActive

6.70. CInfGame Class 1395

Page 1400: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CInfGame::ExtendedDayNightAreaActive();

Return Value

Returns unsigned char

Remarks

CInfGame::FeedBack

void CInfGame::FeedBack(unsigned short feedBackId,long int1);

Parameters

• unsigned short feedBackId -

• long int1 -

Remarks

CInfGame::FilterSounds

virtual int __cdecl CInfGame::FilterSounds(CRes* pRes);

Parameters

• CRes* pRes -

Return Value

Returns int

Remarks

CInfGame::FindAreaID

unsigned char CInfGame::FindAreaID(unsigned long nAreaID);

Parameters

• unsigned long nAreaID -

Return Value

Returns unsigned char

Remarks

1396 Chapter 6. EE Game Classes (x86)

Page 1401: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::FindEmptyItemPersonalInventory

short CInfGame::FindEmptyItemPersonalInventory(short nPortraitNum);

Parameters

• short nPortraitNum -

Return Value

Returns short

Remarks

CInfGame::FindItemInStore

unsigned long CInfGame::FindItemInStore(CResRef& cResStore,CResRef& ref,int checkForIdentified);

Parameters

• CResRef & cResStore -

• CResRef & ref -

• int checkForIdentified -

Return Value

Returns unsigned long

Remarks

CInfGame::FindNewestSlot

int CInfGame::FindNewestSlot(int nSlot);

Parameters

• int nSlot -

Return Value

Returns int

Remarks

6.70. CInfGame Class 1397

Page 1402: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::FindOldestSlot

int CInfGame::FindOldestSlot(int nSlot);

Parameters

• int nSlot -

Return Value

Returns int

Remarks

CInfGame::GetAnimationVidCell

int CInfGame::GetAnimationVidCell(CVidCell& cVidCell,CString& sPaperDoll,unsigned char nRange);

Parameters

• CVidCell& cVidCell -

• CString& sPaperDoll -

• unsigned char nRange -

Return Value

Returns int

Remarks

CInfGame::GetArea

CGameArea* CInfGame::GetArea(CString areaName);

Parameters

• CString areaName -

Return Value

CGameArea*

Remarks

1398 Chapter 6. EE Game Classes (x86)

Page 1403: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetAveragePartyLevel

long CInfGame::GetAveragePartyLevel();

Return Value

Returns long

Remarks

CInfGame::GetCampaignIcon

int CInfGame::GetCampaignIcon();

Return Value

Returns int

Remarks

CInfGame::GetCanImportSavedGames

int CInfGame::GetCanImportSavedGames();

Return Value

Returns int

Remarks

CInfGame::GetCharacterCriteria

long CInfGame::GetCharacterCriteria(short criteria);

Parameters

• short criteria -

Return Value

Returns long

Remarks

6.70. CInfGame Class 1399

Page 1404: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetCharacterId

long CInfGame::GetCharacterId(short nPortrait);

Parameters

• short nPortrait -

Return Value

Returns long

Remarks

CInfGame::GetCharacterPortraitNum

short CInfGame::GetCharacterPortraitNum(long characterId);

Parameters

• long characterId -

Return Value

Returns short

Remarks

CInfGame::GetCharacterSlot

long CInfGame::GetCharacterSlot(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

Returns long

Remarks

CInfGame::GetCharacterSlotFromId

int CInfGame::GetCharacterSlotFromId(long nCharacterId);

Parameters

• long characterId -

Return Value

Returns int

Remarks

1400 Chapter 6. EE Game Classes (x86)

Page 1405: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetCharactersControlled

unsigned char CInfGame::GetCharactersControlled();

Return Value

Returns unsigned char

Remarks

CInfGame::GetCloudSavePrefix

CString CInfGame::GetCloudSavePrefix();

Return Value

CString

Remarks

CInfGame::GetContainerType

unsigned short CInfGame::GetContainerType(long nContainerId);

Parameters

• long nContainerId -

Return Value

Returns unsigned short

Remarks

CInfGame::GetCurrentChapter

int CInfGame::GetCurrentChapter();

Return Value

Returns int

Remarks

6.70. CInfGame Class 1401

Page 1406: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetDirSave

CString CInfGame::GetDirSave();

Return Value

CString

Remarks

CInfGame::GetDirSaveRoot

CString CInfGame::GetDirSaveRoot(unsigned char nSaveRoot);

Parameters

• unsigned char nSaveRoot -

Return Value

CString

Remarks

CInfGame::GetFamiliar

void CInfGame::GetFamiliar(unsigned char nLevel,unsigned char alignment,CString& resref);

Parameters

• unsigned char nLevel -

• unsigned char alignment -

• CString& resref -

Remarks

CInfGame::GetFixedOrderCharacterId

long CInfGame::GetFixedOrderCharacterId(short nSlot);

Parameters

• short nSlot -

Return Value

Returns long

Remarks

1402 Chapter 6. EE Game Classes (x86)

Page 1407: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetFixedOrderCharacterPortraitNum

short CInfGame::GetFixedOrderCharacterPortraitNum(long characterId);

Parameters

• long characterId -

Return Value

Returns short

Remarks

CInfGame::GetGroundPile

long CInfGame::GetGroundPile(long iSprite);

Parameters

• long iSprite -

Return Value

Returns long

Remarks

CInfGame::GetImportCharacters

CStringList* CInfGame::GetImportCharacters();

Return Value

CStringList*

Remarks

CInfGame::GetImportableSaveGame

CStringList* CInfGame::GetImportableSaveGames();

Return Value

CStringList*

Remarks

CInfGame::GetItemFromStore

6.70. CInfGame Class 1403

Page 1408: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem* CInfGame::GetItemFromStore(CResRef& cResStore,CResRef& ref);

Parameters

• CResRef & cResStore -

• CResRef & ref -

Return Value

CItem*

Remarks

CInfGame::GetItemTint

CResRef CInfGame::GetItemTint(CItem* pItem);

Parameters

• CItem* pItem -

Return Value

CResRef

Remarks

CInfGame::GetJournalOpenable

int CInfGame::GetJournalOpenable();

Return Value

Returns int

Remarks

CInfGame::GetNumGroundSlots

short CInfGame::GetNumGroundSlots(long nContainerId);

Parameters

• long nContainerId -

Return Value

Returns short

Remarks

1404 Chapter 6. EE Game Classes (x86)

Page 1409: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetNumQuickWeaponSlots

short CInfGame::GetNumQuickWeaponSlots(short nPortraitNum);

Parameters

• short nPortraitNum -

Return Value

Returns short

Remarks

CInfGame::GetNumSummoned

long CInfGame::GetNumSummoned();

Return Value

Returns long

Remarks

CInfGame::GetNumSummonedDiva

long CInfGame::GetNumSummonedDiva();

Return Value

Returns long

Remarks

CInfGame::GetPaletteSize

int CInfGame::GetPaletteSize(int nPickRange);

Parameters

• int nPickRange -

Return Value

Returns int

Remarks

CInfGame::GetParchmentCaption

6.70. CInfGame Class 1405

Page 1410: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned long CInfGame::GetParchmentCaption(CString sParchment);

Parameters

• CString sParchment -

Return Value

Returns unsigned long

Remarks

CInfGame::GetPortraits

CStringList* CInfGame::GetPortraits();

Return Value

CStringList*

Remarks

CInfGame::GetProtagonist

long CInfGame::GetProtagonist();

Return Value

Returns long

Remarks

CInfGame::GetReputation

short CInfGame::GetReputation();

Return Value

Returns short

Remarks

1406 Chapter 6. EE Game Classes (x86)

Page 1411: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetSaveGameName

CString CInfGame::GetSaveGameName(int nSlot,int resolve);

Parameters

• int nSlot -

• int resolve -

Return Value

CString

Remarks

CInfGame::GetSaveGameTime

int CInfGame::GetSaveGameTime(CString sFileName);

Parameters

• CString sFileName -

Return Value

Returns int

Remarks

CInfGame::GetSaveGames

CStringList* CInfGame::GetSaveGames(unsigned char bReturnFullPath,unsigned char bBothMPandSP,int bAllowReadOnly,int bHideTOB,int bHideSOA,int bMigrate);

Parameters

• unsigned char bReturnFullPath -

• unsigned char bBothMPandSP -

• int bAllowReadOnly -

• int bHideTOB -

• int bHideSOA -

• int bMigrate -

6.70. CInfGame Class 1407

Page 1412: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

CStringList*

Remarks

CInfGame::GetScripts

CStringList* CInfGame::GetScripts();

Return Value

CStringList*

Remarks

CInfGame::GetScrollSpeed

unsigned long CInfGame::GetScrollSpeed();

Return Value

Returns unsigned long

Remarks

CInfGame::GetServerStore

CStore* CInfGame::GetServerStore(CResRef& store);

Parameters

• CResRef & store -

Return Value

CStore*

Remarks

CInfGame::GetSounds

CStringList* CInfGame::GetSounds();

Return Value

CStringList*

Remarks

1408 Chapter 6. EE Game Classes (x86)

Page 1413: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::GetTotalPartyKillsNumber

unsigned long CInfGame::GetTotalPartyKillsNumber();

Return Value

Returns unsigned long

Remarks

CInfGame::GetWorldmapName

CString CInfGame::GetWorldmapName();

Return Value

CString

Remarks

CInfGame::HealParty

int CInfGame::HealParty(int nHP,int bFirstHeal);

Parameters

• int nHP -

• int bFirstHeal -

Return Value

Returns int

Remarks

CInfGame::InitDifficulty

void CInfGame::InitDifficulty();

Remarks

6.70. CInfGame Class 1409

Page 1414: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::InitGame

void CInfGame::InitGame(unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace);

Parameters

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

Remarks

CInfGame::IntegrateAddInAreas

void CInfGame::IntegrateAddInAreas(unsigned long nMap,CString sAreaData);

Parameters

• unsigned long nMap -

• CString sAreaData -

Remarks

CInfGame::InventoryInfoGround

void CInfGame::InventoryInfoGround(long nContainerId,short nSlotNum,CItem*& pItem,unsigned long& description,CResRef& cResIcon,CResRef& cResItem,unsigned short& wCount);

Parameters

• long nContainerId -

• short nSlotNum -

• CItem*& pItem -

• unsigned long& description -

• CResRef & cResIcon -

• CResRef & cResItem -

• unsigned short& wCount -

Remarks

1410 Chapter 6. EE Game Classes (x86)

Page 1415: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::InventoryInfoPersonal

void CInfGame::InventoryInfoPersonal(short nPortraitNum,short nSlotNum,CItem*& pItem,unsigned long& description,CResRef& cResIcon,CResRef& cResItem,unsigned short& wCount);

Parameters

• short nPortraitNum -

• short nSlotNum -

• CItem*& pItem -

• unsigned long& description -

• CResRef & cResIcon -

• CResRef & cResItem -

• unsigned short& wCount -

Remarks

CInfGame::Is3DSound

int CInfGame::Is3DSound(int nChannel);

Parameters

• int nChannel -

Return Value

Returns int

Remarks

CInfGame::IsAlly

int CInfGame::IsAlly(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

6.70. CInfGame Class 1411

Page 1416: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::IsFamiliar

int CInfGame::IsFamiliar(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

CInfGame::LeaveAreaLuaMultiplayer

void CInfGame::LeaveAreaLuaMultiplayer(long iSprite,CPoint ptStart,short nDirection,CString sAreaName,CString sParchment);

Parameters

• long iSprite -

• CPoint ptStart -

• short nDirection -

• CString sAreaName -

• CString sParchment -

Return Value

Remarks

CInfGame::LeaveAreaNameMultiplayer

void CInfGame::LeaveAreaNameMultiplayer(long iLSprite,long iTrigger,CString sAreaName);

Parameters

• long iLSprite -

• long iTrigger -

• CString sAreaName -

Remarks

1412 Chapter 6. EE Game Classes (x86)

Page 1417: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::LoadArea

CGameArea* CInfGame::LoadArea(CString areaName,unsigned char nTravelScreenImageToUse,unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace);

Parameters

• CString areaName -

• unsigned char nTravelScreenImageToUse -

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

Return Value

CGameArea*

Remarks

CInfGame::LoadGame

int CInfGame::LoadGame(unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace);

Parameters

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

Return Value

Returns int

Remarks

CInfGame::LoadKey

void CInfGame::LoadKey(int code,short cnt);

Parameters

• int code -

• short cnt -

Return Value

Remarks

6.70. CInfGame Class 1413

Page 1418: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::LoadKeymap

void CInfGame::LoadKeymap();

Remarks

CInfGame::LoadMultiPlayerPermissions

void CInfGame::LoadMultiPlayerPermissions();

Remarks

CInfGame::LoadOptions

void CInfGame::LoadOptions();

Remarks

CInfGame::MakeCharacterProtagonist

void CInfGame::MakeCharacterProtagonist(long nID);

Parameters

• long nID -

Remarks

CInfGame::Marshal

void CInfGame::Marshal(unsigned char** pGame,long* nGame,unsigned char bProgressBarInPlace);

Parameters

• unsigned char** pGame -

• long* nGame -

• unsigned char bProgressBarInPlace -

Remarks

1414 Chapter 6. EE Game Classes (x86)

Page 1419: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::MoveGlobals

void CInfGame::MoveGlobals(CString& sFromArea,CString& sToArea,CPoint& ptDest,long runningAIId);

Parameters

• CString& sFromArea -

• CString& sToArea -

• CPoint& ptDest -

• long runningAIId -

Remarks

CInfGame::MoveToCampaign

void CInfGame::MoveToCampaign(CString campaign);

Parameters

• CString campaign -

Remarks

CInfGame::MoveToExpansionMap

void CInfGame::MoveToExpansionMap(CString sMapRes,CString sArea,CPoint ptStartLoc);

Parameters

• CString sMapRes -

• CString sArea -

• CPoint ptStartLoc -

Remarks

CInfGame::MultiplayerSetCharacterCreationLocation

void CInfGame::MultiplayerSetCharacterCreationLocation();

Remarks

6.70. CInfGame Class 1415

Page 1420: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::NewGame

void CInfGame::NewGame(unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace);

Parameters

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

Remarks

CInfGame::OnPortraitLClick

void CInfGame::OnPortraitLClick(unsigned long id);

Parameters

• unsigned long id -

Remarks

CInfGame::OnPortraitLDblClick

void CInfGame::OnPortraitLDblClick(unsigned long id);

Parameters

• unsigned long id -

Remarks

CInfGame::PanicRescueItem

void CInfGame::PanicRescueItem(CItem* pItem,long nCharacterId);

Parameters

• CItem* pItem -

• long nCharacterId -

Remarks

1416 Chapter 6. EE Game Classes (x86)

Page 1421: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::PrivilegedSlot

unsigned char CInfGame::PrivilegedSlot(CString& sSaveGame);

Parameters

• CString& sSaveGame -

Return Value

Returns unsigned char

Remarks

CInfGame::ProgressBarCallback

void CInfGame::ProgressBarCallback(unsigned long dwSize,unsigned char bInitialize);

Parameters

• unsigned long dwSize -

• unsigned char bInitialize -

Remarks

CInfGame::PushGameSlot

void CInfGame::PushGameSlot(CSaveGameSlot* pSlot,int nSlot);

Parameters

• CSaveGameSlot* pSlot -

• int nSlot -

Remarks

CInfGame::ReadyCharacterTerminationSequence

void CInfGame::ReadyCharacterTerminationSequence();

Remarks

6.70. CInfGame Class 1417

Page 1422: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::ReleaseServerStore

void CInfGame::ReleaseServerStore(CResRef& store);

Parameters

• CResRef & store -

Remarks

CInfGame::RememorizeSpells

void CInfGame::RememorizeSpells();

Remarks

CInfGame::RemoveCharacterFromAllies

int CInfGame::RemoveCharacterFromAllies(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

CInfGame::RemoveCharacterFromFamiliars

int CInfGame::RemoveCharacterFromFamiliars(long id);

Parameters

• long id -

Return Value

Returns int

Remarks

1418 Chapter 6. EE Game Classes (x86)

Page 1423: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::RemoveCharacterFromParty

int CInfGame::RemoveCharacterFromParty(long id,int& overflow,int addToNonPartyList);

Parameters

• long id -

• int& overflow -

• int addToNonPartyList -

Return Value

Returns int

Remarks

CInfGame::RemoveDisposableItem

void CInfGame::RemoveDisposableItem(CItem* pItem);

Parameters

• CItem* *pItem -

Remarks

CInfGame::RemoveFamiliarResRef

void CInfGame::RemoveFamiliarResRef(CResRef& resref,unsigned char nAlignment,unsigned char nLevel);

Parameters

• CResRef & resref -

• unsigned char nAlignment -

• unsigned char nLevel -

Remarks

6.70. CInfGame Class 1419

Page 1424: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::RenderAppearance

void CInfGame::RenderAppearance(CPoint position,int bRenderEquipment);

Parameters

• CPoint position -

• int bRenderEquipment -

Remarks

CInfGame::RenderColorDisplay

void CInfGame::RenderColorDisplay(CRect r,int nPickRange,int frame);

Parameters

• CRect r -

• int nPickRange -

• int frame -

Remarks

CInfGame::RenderPalette

void CInfGame::RenderPalette(CRect r,int nPickRange);

Parameters

• CRect r -

• int nPickRange -

Remarks

CInfGame::RenderPortrait

1420 Chapter 6. EE Game Classes (x86)

Page 1425: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CInfGame::RenderPortrait(unsigned long portraitId,CPoint& cpRenderPosition,CSize& szControl,int bPressed,int reorderHighlight,int selectFromMarker,CRect& rClip);

Parameters

• unsigned long portraitId -

• CPoint& cpRenderPosition -

• CSize& szControl -

• int bPressed -

• int reorderHighlight -

• int selectFromMarker -

• CRect& rClip -

Remarks

CInfGame::ReplaceItemInStore

int CInfGame::ReplaceItemInStore(CResRef& cResStore,CResRef& oldRef,CResRef& newRef);

Parameters

• CResRef & cResStore -

• CResRef & oldRef -

• CResRef & newRef -

Return Value

Returns int

Remarks

CInfGame::ReputationAdjustment

void CInfGame::ReputationAdjustment(short reputationAdjustment,int set);

Parameters

• short reputationAdjustment -

6.70. CInfGame Class 1421

Page 1426: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int set -

Remarks

CInfGame::RestParty

unsigned char CInfGame::RestParty(unsigned char nSuggestedDreamToDisplay,int nHP,unsigned char bRenting,unsigned char bMovie,int nGP);

Parameters

• unsigned char nSuggestedDreamToDisplay -

• int nHP -

• unsigned char bRenting -

• unsigned char bMovie -

• int nGP -

Return Value

Returns unsigned char

Remarks

CInfGame::RestPartyPrivate

unsigned char CInfGame::RestPartyPrivate(unsigned char nSuggestedDreamToDisplay,int nHP,unsigned char bRenting,unsigned char bMovie,int nGP);

Parameters

• unsigned char nSuggestedDreamToDisplay -

• int nHP -

• unsigned char bRenting -

• unsigned char bMovie -

• int nGP -

Return Value

Returns unsigned char

Remarks

1422 Chapter 6. EE Game Classes (x86)

Page 1427: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::RestorePartyToLocations

short CInfGame::RestorePartyToLocations(CGameSprite* pCaller,int pocketPlane);

Parameters

• CGameSprite* pCaller -

• int pocketPlane -

Return Value

Returns short

Remarks

CInfGame::SaveGame

int CInfGame::SaveGame(unsigned char bProgressBarRequired,unsigned char bProgressBarInPlace,unsigned char bSaveScreen,unsigned char exportSave);

Parameters

• unsigned char bProgressBarRequired -

• unsigned char bProgressBarInPlace -

• unsigned char bSaveScreen -

• unsigned char exportSave -

Return Value

Returns int

Remarks

CInfGame::SaveGameExists

int CInfGame::SaveGameExists(CString& sSaveGame,unsigned char nSaveRoot);

Parameters

• CString& sSaveGame -

• unsigned char nSaveRoot -

6.70. CInfGame Class 1423

Page 1428: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfGame::SaveMultiPlayerPermissions

void CInfGame::SaveMultiPlayerPermissions();

Remarks

CInfGame::SaveOptions

void CInfGame::SaveOptions();

Remarks

CInfGame::SelectAll

int CInfGame::SelectAll(unsigned char bPlaySound);

Parameters

• unsigned char bPlaySound -

Return Value

Returns int

Remarks

CInfGame::SelectCharacter

int CInfGame::SelectCharacter(long characterId,unsigned char bPlaySelectSound);

Parameters

• long characterId -

• unsigned char bPlaySelectSound -

Return Value

Returns int

Remarks

1424 Chapter 6. EE Game Classes (x86)

Page 1429: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::SelectToolbar

void CInfGame::SelectToolbar();

Remarks

CInfGame::SetAppearanceColorsBody

void CInfGame::SetAppearanceColorsBody(unsigned char* appearanceColorsBody);

Parameters

• unsigned char* appearanceColorsBody -

Remarks

CInfGame::SetAppearanceColorsHelmet

void CInfGame::SetAppearanceColorsHelmet(unsigned char* appearanceColorsHelmet);

Parameters

• unsigned char* appearanceColorsHelmet -

Remarks

CInfGame::SetAppearanceColorsShield

void CInfGame::SetAppearanceColorsShield(unsigned char* appearanceColorsShield);

Parameters

• unsigned char* appearanceColorsShield -

Remarks

CInfGame::SetAppearanceColorsWeapon

void CInfGame::SetAppearanceColorsWeapon(unsigned char* appearanceColorsWeapon);

Parameters

• unsigned char* appearanceColorsWeapon -

Remarks

6.70. CInfGame Class 1425

Page 1430: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::SetCampaign

int CInfGame::SetCampaign(CString campaign);

Parameters

• CString campaign -

Return Value

Returns int

Remarks

CInfGame::SetCharacterSlot

int CInfGame::SetCharacterSlot(int nCharacterSlot,long nCharacterId);

Parameters

• int nCharacterSlot -

• long nCharacterId -

Return Value

Returns int

Remarks

CInfGame::SetIconIndex

void CInfGame::SetIconIndex(unsigned char iconIndex);

Parameters

• unsigned char iconIndex -

Remarks

CInfGame::SetItemToStore

int CInfGame::SetItemToStore(CResRef& cResStore,CResRef& cResItem,int nItems,int itemFlags);

Parameters

1426 Chapter 6. EE Game Classes (x86)

Page 1431: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CResRef & cResStore -

• CResRef & cResItem -

• int nItems -

• int itemFlags -

Return Value

Returns int

Remarks

CInfGame::SetLastTarget

void CInfGame::SetLastTarget(long id);

Parameters

• long id -

Remarks

CInfGame::SetProtagonist

void CInfGame::SetProtagonist(long nId);

Parameters

• long id -

Remarks

CInfGame::SetReputation

void CInfGame::SetReputation(short rep,int checkBounds);

Parameters

• short rep -

• int checkBounds -

Remarks

CInfGame::SetStartArea2DA

6.70. CInfGame Class 1427

Page 1432: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CInfGame::SetStartArea2DA(CString start2da);

Parameters

• CString start2da -

Remarks

CInfGame::SetStartParty2DA

void CInfGame::SetStartParty2DA(CString startParty2da);

Parameters

• CString startParty2da -

Remarks

CInfGame::SetState

void CInfGame::SetState(short state,int allowDead);

Parameters

• short state -

• int allowDead -

Remarks

CInfGame::SetTravelScreenImageResRef

void CInfGame::SetTravelScreenImageResRef(CResRef& resrefTravelScreenImage);

Parameters

• CResRef & resrefTravelScreenImage -

Remarks

1428 Chapter 6. EE Game Classes (x86)

Page 1433: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::SetVisibleArea

void CInfGame::SetVisibleArea(unsigned char nAreaId);

Parameters

• unsigned char nAreaId -

Remarks

CInfGame::SetupCharacters

void CInfGame::SetupCharacters(unsigned char bProgressBarInPlace);

Parameters

• unsigned char bProgressBarInPlace -

Remarks

CInfGame::ShowCreatureTooltips

void CInfGame::ShowCreatureTooltips(unsigned char time);

Parameters

• unsigned char time -

Remarks

CInfGame::StartCharacterTerminationSequence

void CInfGame::StartCharacterTerminationSequence();

Remarks

CInfGame::StepAnimation

void CInfGame::StepAnimation(unsigned char direction);

Parameters

• unsigned char direction -

Remarks

6.70. CInfGame Class 1429

Page 1434: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::StorePartyLocations

void CInfGame::StorePartyLocations(int pocketPlane);

Parameters

• int pocketPlane -

Remarks

CInfGame::SwapCharacters

void CInfGame::SwapCharacters(unsigned long pos1,unsigned long pos2);

Parameters

• unsigned long pos1 -

• unsigned long pos2 -

Remarks

CInfGame::SwapItemGround

int CInfGame::SwapItemGround(long nContainerId,short nSlotNum,CItem*& pNewItem,unsigned long& errorCode,unsigned short wCount,unsigned char bFromServer);

Parameters

• long nContainerId -

• short nSlotNum -

• CItem*& pNewItem -

• unsigned long& errorCode -

• unsigned short wCount -

• unsigned char bFromServer -

Return Value

Returns int

Remarks

1430 Chapter 6. EE Game Classes (x86)

Page 1435: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::SwapItemPersonal

int CInfGame::SwapItemPersonal(short nPortraitNum,short nSlotNum,CItem*& pNewItem,unsigned long& errorCode,unsigned short wCount,unsigned char bFromServer,CGameSprite* pSprite);

Parameters

• short nPortraitNum -

• short nSlotNum -

• CItem*& pNewItem -

• unsigned long& errorCode -

• unsigned short wCount -

• unsigned char bFromServer -

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CInfGame::SwapItemPersonalInventory

int CInfGame::SwapItemPersonalInventory(short nPortraitNum,CItem*& pNewItem,short nSlotNum,unsigned long& errorCode,unsigned short wCount,unsigned char bFromServer,int bAutoStacking,int bFlexibleSlot);

Parameters

• short nPortraitNum -

• CItem*& pNewItem -

• short nSlotNum -

• unsigned long& errorCode -

• unsigned short wCount -

• unsigned char bFromServer -

• int bAutoStacking -

6.70. CInfGame Class 1431

Page 1436: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int bFlexibleSlot -

Return Value

Returns int

Remarks

CInfGame::SynchronousUpdate

void CInfGame::SynchronousUpdate();

Remarks

CInfGame::TakeItemFromStore

short CInfGame::TakeItemFromStore(CResRef& cResStore,CResRef& ref,int number);

Parameters

• CResRef & cResStore -

• CResRef & ref -

• int number -

Return Value

Returns short

Remarks

CInfGame::ToggleAI

unsigned char CInfGame::ToggleAI();

Return Value

Returns unsigned char

Remarks

1432 Chapter 6. EE Game Classes (x86)

Page 1437: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::Unmarshal

int CInfGame::Unmarshal(unsigned char* pGame,long nGame,unsigned char bProgressBarInPlace);

Parameters

• unsigned char* pGame -

• long nGame -

• unsigned char bProgressBarInPlace -

Return Value

Returns int

Remarks

CInfGame::UnselectAll

void CInfGame::UnselectAll();

Remarks

CInfGame::UpdateCharacterPartyOrder

unsigned char CInfGame::UpdateCharacterPartyOrder(long* pCharacterIds,short nOverflowCharacters,long* pOverflowCharacterIds);

Parameters

• long* pCharacterIds -

• short nOverflowCharacters -

• long* pOverflowCharacterIds -

Return Value

Returns unsigned char

Remarks

CInfGame::UpdateCharacterSlots

void CInfGame::UpdateCharacterSlots();

Remarks

6.70. CInfGame Class 1433

Page 1438: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfGame::UpdatePartyToExpansionPack

void CInfGame::UpdatePartyToExpansionPack(int bStart,int bForceDefault,long nXPGiven);

Parameters

• int bStart -

• int bForceDefault -

• long nXPGiven -

Remarks

CInfGame::UpdatePortrait

void CInfGame::UpdatePortrait(short nPortrait,unsigned long panelId);

Parameters

• short nPortrait -

• unsigned long panelId -

Return Value

Remarks

CInfGame::UpdateTokens

void CInfGame::UpdateTokens(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Remarks

CInfGame::UseMagicOnGround

int CInfGame::UseMagicOnGround(CPoint ptTarget);

Parameters

• CPoint ptTarget -

1434 Chapter 6. EE Game Classes (x86)

Page 1439: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfGame::UseMagicOnObject

int CInfGame::UseMagicOnObject(long target);

Parameters

• long target -

Return Value

Returns int

Remarks

CInfGame::WorldEngineActivated

void CInfGame::WorldEngineActivated(CVidMode* pVidMode);

Parameters

• CVidMode* pVidMode -

Remarks

CInfGame::WorldEngineDeactivated

void CInfGame::WorldEngineDeactivated();

Remarks

6.71 CInfinity Class

• Overview

• Quick Reference

• Constructors

• Methods

6.71. CInfinity Class 1435

Page 1440: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.71.1 Overview

Note: The CInfinity class handles drawing geometric and primitive shapes and rendering effects (zoom, weather,etc) on the world screen

The structure used for this class is CInfinity

6.71.2 Quick Reference

Quick Refvoid CInfinity::CInfinity()void CInfinity::~CInfinity()void CInfinity::AddAOECircle(CPoint center, int radius, unsigned long color)void CInfinity::AddAOECone(CPoint center, int radius, int cone, unsigned long color)void CInfinity::AddAOELine(CPoint center, CPoint target, unsigned long color)void CInfinity::AddAOERectangle(CPoint center, int width, int height, unsigned long color)void CInfinity::AdjustViewPosition(unsigned char nScrollState)void CInfinity::AdjustViewportForZoom()void CInfinity::AdjustZoom(float amount)void CInfinity::AIUpdate()unsigned char CInfinity::ApplyNightGlobalTint()int CInfinity::AttachVRamPool(CVRamPool* pNewVRPool)int CInfinity::AttachVRamRect(int x1, int y1, int x2, int y2)int CInfinity::AttachWED(CResWED* resNewWED, unsigned short areaType, unsigned char dayNightCode)void CInfinity::CallLightning(int xWorldPos, int yWorldPos)void CInfinity::ClearAOE()int CInfinity::DetachVRamRect()void CInfinity::DrawCone(CVidMode* pVidMode, int degrees, CPoint ptCenter, CPoint ptDest, int radiusX, int radiusY, unsigned long rgbColor)unsigned char CInfinity::DrawEllipse(CPoint& ptCenter, CSize& axes, unsigned long rgbColor)int CInfinity::DrawHighlightRect(CRect& rSquare, unsigned long rgbColor, unsigned char width)void CInfinity::DrawLine(CVidMode* pVidMode, CPoint ptCenter, CPoint ptDest, unsigned long rgbColor)void CInfinity::DrawRectangle(CVidMode* pVidMode, CPoint ptCenter, CPoint ptDest, int radiusX, int radiusY, unsigned long rgbColor)unsigned char CInfinity::FillPoly(CPoint* pPoly, const short nVertices, CRect& rClip, unsigned long rgbColor)void CInfinity::FitViewPosition(int& x, int& y, CRect r)int CInfinity::FreeWED()int CInfinity::FXBltFrom(CRect& rFXRect, int x, int y, int nRefPointX, int nRefPointY, unsigned long dwFlags)int CInfinity::FXBltFromClipped(CRect& rFXRect, int x, int y, int nRefPointX, int nRefPointY, unsigned long dwFlags, CRect rClip)int CInfinity::FXLock(CRect& rFXRect, unsigned long dwFlags)int CInfinity::FXLockPrepForLighting(CRect& rFx, CPoint& ptOnBkGrnd, CPoint& ptReference, CSize& dimensions, unsigned long rgbIntensities, unsigned long rgbLocalTint, unsigned long dwFlags)int CInfinity::FXPrep(CRect& rFXRect, unsigned long dwFlags, CPoint& ptPos, CPoint& ptReference)int CInfinity::FXRender(CVidCell* pVidCell, int nRefPointX, int nRefPointY, unsigned long dwFlags, int nTransValue)int CInfinity::FXRenderAlpha(CVidCell* pVidCell, int nRefPointX, int nRefPointY, unsigned long dwFlags, int nTransValue)int CInfinity::FXRenderClippingPolys(int nPosX, int nPosY, int nPosZ, CPoint& ptRef, CRect& rGCBounds, const unsigned char bDithered, unsigned long dwBlitFlags)int CInfinity::FXUnlock(unsigned long dwFlags, CRect* pFxRect, CPoint& ptRef)unsigned long CInfinity::GetFadedColor(unsigned long rgbBrighter, unsigned long rgbDarker, unsigned char nIntensity)unsigned long CInfinity::GetGlobalLighting(int bIgnoreTimeOfDay)void CInfinity::GetPointsOctant0(tagPOINT* pPoints, int nStartX, int nStartY, int nDx, int nDy, int nXDirection)

Continued on next page

1436 Chapter 6. EE Game Classes (x86)

Page 1441: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 22 – continued from previous pagevoid CInfinity::GetPointsOctant1(tagPOINT* pPoints, int nStartX, int nStartY, int nDx, int nDy, int nXDirection)int CInfinity::GetSegmentPoints(tagPOINT** ppPoints, int nStartX, int nStartY, int nEndX, int nEndY)CPoint CInfinity::GetScreenCoordinates(CPoint pntWorld)void CInfinity::GetViewPosition(int& x, int& y)CPoint CInfinity::GetWorldCoordinates(CPoint& pntScreen)int CInfinity::InitViewPort(CRect& rRect)void CInfinity::InvalidateRainTiles()unsigned char CInfinity::OutlinePoly(CPoint* pPoly, const short nVertices, CRect& rClip, unsigned long rgbColor)int CInfinity::PostRender(CVidMode* pNewVidMode, CSearchBitmap* pVisibilityMap)void CInfinity::ReleaseZoom()unsigned long CInfinity::Render(CVidMode* pNewVidMode, int nScrollState)void CInfinity::RenderAOE(CVidMode* pVidMode)void CInfinity::RenderEdgeFade(CVidMode* pVidMode,:ref:CVisibilityMap<CVisibilityMap>* pVisibilityMap)void CInfinity::RenderFlash(CVidMode* pVidMode, unsigned long screenFlashRGB, unsigned char nTranslucency)void CInfinity::RenderFog(CVidMode* pVidMode, CVisibilityMap* pVisibilityMap)int CInfinity::RenderLightning(CRect& rSurface, int nStartX, int nStartY, int nEndX, int nEndY, unsigned long rgbCenter, unsigned long rgbMiddle, unsigned long rgbOuter)int CInfinity::RenderMessageScreen(CVidMode* pVidMode)void CInfinity::RenderTransitions(CVidMode* pVidMode, CSearchBitmap* pSearchMap)void CInfinity::RestoreZoom()CPoint CInfinity::ScreenToViewport(CPoint& p)CPoint CInfinity::ScreenToWorld(CPoint& p)void CInfinity::Scroll(CPoint ptDest, short speed)void CInfinity::SetCurrentWeather(unsigned long rgbOvercast, short nWeather, int nWeatherLevel, int nLightningFrequency)void CInfinity::SetApproachingDawn()void CInfinity::SetApproachingDusk()void CInfinity::SetDawn(unsigned char nIntensity, unsigned char bPlayDayNightMovie)void CInfinity::SetDawnMultiHost(unsigned char nIntensity)void CInfinity::SetDay()void CInfinity::SetDusk(unsigned char nIntensity, unsigned char bPlayDayNightMovie)void CInfinity::SetDuskMultiHost(unsigned char nIntensity)void CInfinity::SetMessageScreen(CResRef rrBitmap, unsigned long strId, unsigned long nDuration)void CInfinity::SetNight()void CInfinity::SetScreenShake(int bScreenShake, unsigned short duration, CPoint& screenShakeDelta)void CInfinity::SetScrollDest(CPoint& ptDest)int CInfinity::SetViewPort(CRect& rRect)int CInfinity::SetViewPosition(int x, int y, unsigned char bSetExactScale)void CInfinity::SetZoom(float fZoom)void CInfinity::SetZoomEnabled(int zoomEnabled)void CInfinity::SetZoomViewport(int width, int height)void CInfinity::StoreZoom()void CInfinity::SwapVRamTiles(unsigned short wFromTile, unsigned short wToTile)void CInfinity::UpdateLighting()

6.71.3 Constructors

Name DescriptionCInfinity::CInfinity Constructs a CInfinity objectCInfinity::~CInfinity Destroys a CInfinity object

6.71. CInfinity Class 1437

Page 1442: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::CInfinity

Constructs a CInfinity object

void CInfinity::CInfinity();

Remarks

Constructs a CInfinity object

CInfinity::~CInfinity

Destroys the CInfinity object

void CInfinity::~CInfinity();

Remarks

Destroys the CInfinity object

6.71.4 Methods

Name DescriptionCInfinity::AddAOECircleCInfinity::AddAOEConeCInfinity::AddAOELineCInfinity::AddAOERectangleCInfinity::AdjustViewPositionCInfinity::AdjustViewportForZoomCInfinity::AdjustZoomCInfinity::AIUpdateCInfinity::ApplyNightGlobalTintCInfinity::AttachVRamPoolCInfinity::AttachVRamRectCInfinity::AttachWEDCInfinity::CallLightningCInfinity::ClearAOECInfinity::DetachVRamRectCInfinity::DrawConeCInfinity::DrawEllipseCInfinity::DrawHighlightRectCInfinity::DrawLineCInfinity::DrawRectangleCInfinity::FillPolyCInfinity::FitViewPositionCInfinity::FreeWEDCInfinity::FXBltFromCInfinity::FXBltFromClipped

Continued on next page

1438 Chapter 6. EE Game Classes (x86)

Page 1443: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 23 – continued from previous pageCInfinity::FXLockCInfinity::FXLockPrepForLightingCInfinity::FXPrepCInfinity::FXRenderCInfinity::FXRenderAlphaCInfinity::FXRenderClippingPolysCInfinity::FXUnlockCInfinity::GetFadedColorCInfinity::GetGlobalLightingCInfinity::GetPointsOctant0CInfinity::GetPointsOctant1CInfinity::GetSegmentPointsCInfinity::GetScreenCoordinatesCInfinity::GetViewPositionCInfinity::GetWorldCoordinatesCInfinity::InitViewPortCInfinity::InvalidateRainTilesCInfinity::OutlinePolyCInfinity::PostRenderCInfinity::ReleaseZoomCInfinity::RenderCInfinity::RenderAOECInfinity::RenderEdgeFadeCInfinity::RenderFlashCInfinity::RenderFogCInfinity::RenderLightningCInfinity::RenderMessageScreenCInfinity::RenderTransitionsCInfinity::RestoreZoomCInfinity::ScreenToViewportCInfinity::ScreenToWorldCInfinity::ScrollCInfinity::SetCurrentWeatherCInfinity::SetApproachingDawnCInfinity::SetApproachingDuskCInfinity::SetDawnCInfinity::SetDawnMultiHostCInfinity::SetDayCInfinity::SetDuskCInfinity::SetDuskMultiHostCInfinity::SetMessageScreenCInfinity::SetNightCInfinity::SetScreenShakeCInfinity::SetScrollDestCInfinity::SetViewPortCInfinity::SetViewPositionCInfinity::SetZoomCInfinity::SetZoomEnabledCInfinity::SetZoomViewportCInfinity::StoreZoom

Continued on next page

6.71. CInfinity Class 1439

Page 1444: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 23 – continued from previous pageCInfinity::SwapVRamTilesCInfinity::UpdateLighting

CInfinity::AddAOECircle

void CInfinity::AddAOECircle(CPoint center,int radius,unsigned long color);

Parameters

• CPoint center -

• int radius -

• unsigned long color -

Remarks

CInfinity::AddAOECone

void CInfinity::AddAOECone(CPoint center,int radius,int cone,unsigned long color);

Parameters

• CPoint center -

• int radius -

• int cone -

• unsigned long color -

Remarks

CInfinity::AddAOELine

void CInfinity::AddAOELine(CPoint center,CPoint target,unsigned long color);

Parameters

• CPoint center -

• CPoint target -

1440 Chapter 6. EE Game Classes (x86)

Page 1445: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long color -

Remarks

CInfinity::AddAOERectangle

void CInfinity::AddAOERectangle(CPoint center,int width,int height,unsigned long color);

Parameters

• CPoint center -

• int width -

• int height -

• unsigned long color -

Remarks

CInfinity::AdjustViewPosition

void CInfinity::AdjustViewPosition(unsigned char nScrollState);

Parameters

• unsigned char nScrollState -

Remarks

CInfinity::AdjustViewportForZoom

void CInfinity::AdjustViewportForZoom();

Remarks

CInfinity::AdjustZoom

void CInfinity::AdjustZoom(float amount);

Parameters

• float amount -

Remarks

6.71. CInfinity Class 1441

Page 1446: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::AIUpdate

void CInfinity::AIUpdate();

Remarks

CInfinity::ApplyNightGlobalTint

unsigned char CInfinity::ApplyNightGlobalTint();

Return Value

Returns unsigned char

Remarks

CInfinity::AttachVRamPool

int CInfinity::AttachVRamPool(CVRamPool* pNewVRPool);

Parameters

• CVRamPool* pNewVRPool -

Return Value

Returns int

Remarks

CInfinity::AttachVRamRect

int CInfinity::AttachVRamRect(int x1,int y1,int x2,int y2);

Parameters

• int x1 -

• int y1 -

• int x2 -

• int y2 -

Return Value

Returns int

Remarks

1442 Chapter 6. EE Game Classes (x86)

Page 1447: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::AttachWED

int CInfinity::AttachWED(CResWED* resNewWED,unsigned short areaType,unsigned char dayNightCode);

Parameters

• CResWED* resNewWED -

• unsigned short areaType -

• unsigned char dayNightCode -

Return Value

Returns int

Remarks

CInfinity::CallLightning

void CInfinity::CallLightning(int xWorldPos,int yWorldPos);

Parameters

• int xWorldPos -

• int yWorldPos -

Remarks

CInfinity::ClearAOE

void CInfinity::ClearAOE();

Remarks

CInfinity::DetachVRamRect

int CInfinity::DetachVRamRect();

Return Value

Returns int

Remarks

6.71. CInfinity Class 1443

Page 1448: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::DrawCone

void CInfinity::DrawCone(CVidMode* pVidMode,int degrees,CPoint ptCenter,CPoint ptDest,int radiusX,int radiusY,unsigned long rgbColor);

Parameters

• CVidMode* pVidMode -

• int degrees -

• CPoint ptCenter -

• CPoint ptDest -

• int radiusX -

• int radiusY -

• unsigned long rgbColor -

Remarks

CInfinity::DrawEllipse

unsigned char CInfinity::DrawEllipse(CPoint& ptCenter,CSize& axes,unsigned long rgbColor);

Parameters

• CPoint& ptCenter -

• CSize& axes -

• unsigned long rgbColor -

Return Value

Returns unsigned char

Remarks

CInfinity::DrawHighlightRect

int CInfinity::DrawHighlightRect(CRect& rSquare,unsigned long rgbColor,unsigned char width);

1444 Chapter 6. EE Game Classes (x86)

Page 1449: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CRect& rSquare -

• unsigned long rgbColor -

• unsigned char width -

Return Value

Returns int

Remarks

CInfinity::DrawLine

void CInfinity::DrawLine(CVidMode* pVidMode,CPoint ptCenter,CPoint ptDest,unsigned long rgbColor);

Parameters

• CVidMode* pVidMode -

• CPoint ptCenter -

• CPoint ptDest -

• unsigned long rgbColor -

Remarks

CInfinity::DrawRectangle

void CInfinity::DrawRectangle(CVidMode* pVidMode,CPoint ptCenter,CPoint ptDest,int radiusX,int radiusY,unsigned long rgbColor);

Parameters

• CVidMode* pVidMode -

• CPoint ptCenter -

• CPoint ptDest -

• int radiusX -

• int radiusY -

• unsigned long rgbColor -

Remarks

6.71. CInfinity Class 1445

Page 1450: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::FillPoly

unsigned char CInfinity::FillPoly(CPoint* pPoly,const short nVertices,CRect& rClip,unsigned long rgbColor);

Parameters

• CPoint* pPoly -

• const short nVertices -

• CRect& rClip -

• unsigned long rgbColor -

Return Value

Returns unsigned char

Remarks

CInfinity::FitViewPosition

void CInfinity::FitViewPosition(int& x,int& y,CRect r);

Parameters

• int‘‘& x -

• int‘‘& y -

• CRect r -

Remarks

CInfinity::FreeWED

int CInfinity::FreeWED();

Return Value

Returns int

Remarks

CInfinity::FXBltFrom<CInfinityFXBltFrom

1446 Chapter 6. EE Game Classes (x86)

Page 1451: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CInfinity::FXBltFrom(CRect& rFXRect,int x,int y,int nRefPointX,int nRefPointY,unsigned long dwFlags);

Parameters

• CRect& rFXRect -

• int x -

• int y -

• int nRefPointX -

• int nRefPointY -

• unsigned long dwFlags -

Return Value

Returns int

Remarks

CInfinity::FXBltFromClipped

int CInfinity::FXBltFromClipped(CRect& rFXRect,int x,int y,int nRefPointX,int nRefPointY,unsigned long dwFlags,CRect rClip);

Parameters

• CRect& rFXRect -

• int x -

• int y -

• int nRefPointX -

• int nRefPointY -

• unsigned long dwFlags -

• CRect rClip -

Return Value

Returns int

Remarks

6.71. CInfinity Class 1447

Page 1452: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::FXLock

int CInfinity::FXLock(CRect& rFXRect,unsigned long dwFlags);

Parameters

• CRect& rFXRect -

• unsigned long dwFlags -

Return Value

Returns int

Remarks

CInfinity::FXLockPrepForLighting

int CInfinity::FXLockPrepForLighting(CRect& rFx,CPoint& ptOnBkGrnd,CPoint& ptReference,CSize& dimensions,unsigned long rgbIntensities,unsigned long rgbLocalTint,unsigned long dwFlags);

Parameters

• CRect& rFx -

• CPoint& ptOnBkGrnd -

• CPoint& ptReference -

• CSize& dimensions -

• unsigned long rgbIntensities -

• unsigned long rgbLocalTint -

• unsigned long dwFlags -

Return Value

Returns int

Remarks

CInfinity::FXPrep

int CInfinity::FXPrep(CRect& rFXRect,unsigned long dwFlags,CPoint& ptPos,CPoint& ptReference);

1448 Chapter 6. EE Game Classes (x86)

Page 1453: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CRect& rFXRect -

• unsigned long dwFlags -

• CPoint& ptPos -

• CPoint& ptReference -

Return Value

Returns int

Remarks

CInfinity::FXRender

int CInfinity::FXRender(CVidCell* pVidCell,int nRefPointX,int nRefPointY,unsigned long dwFlags,int nTransValue);

Parameters

• CVidCell* pVidCell -

• int nRefPointX -

• int nRefPointY -

• unsigned long dwFlags -

• int nTransValue -

Return Value

Returns int

Remarks

CInfinity::FXRenderAlpha

int CInfinity::FXRenderAlpha(CVidCell* pVidCell,int nRefPointX,int nRefPointY,unsigned long dwFlags,int nTransValue);

Parameters

• CVidCell* pVidCell -

• int nRefPointX -

• int nRefPointY -

6.71. CInfinity Class 1449

Page 1454: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long dwFlags -

• int nTransValue -

Return Value

Returns int

Remarks

CInfinity::FXRenderClippingPolys

int CInfinity::FXRenderClippingPolys(int nPosX,int nPosY,int nPosZ,CPoint& ptRef,CRect& rGCBounds,const unsigned char bDithered,unsigned long dwBlitFlags);

Parameters

• int nPosX -

• int nPosY -

• int nPosZ -

• CPoint& ptRef -

• CRect& rGCBounds -

• const unsigned char bDithered -

• unsigned long dwBlitFlags -

Return Value

Returns int

Remarks

CInfinity::FXUnlock

int CInfinity::FXUnlock(unsigned long dwFlags,CRect* pFxRect,CPoint& ptRef);

Parameters

• unsigned long dwFlags -

• CRect* pFxRect -

• CPoint& ptRef -

1450 Chapter 6. EE Game Classes (x86)

Page 1455: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfinity::GetFadedColor

unsigned long CInfinity::GetFadedColor(unsigned long rgbBrighter,unsigned long rgbDarker,unsigned char nIntensity);

Parameters

• unsigned long rgbBrighter -

• unsigned long rgbDarker -

• unsigned char nIntensity -

Return Value

Returns unsigned long

Remarks

CInfinity::GetGlobalLighting

unsigned long CInfinity::GetGlobalLighting(int bIgnoreTimeOfDay);

Parameters

• int bIgnoreTimeOfDay -

Return Value

Returns unsigned long

Remarks

CInfinity::GetPointsOctant0

void CInfinity::GetPointsOctant0(POINT* pPoints,int nStartX,int nStartY,int nDx,int nDy,int nXDirection);

Parameters

• POINT* pPoints -

6.71. CInfinity Class 1451

Page 1456: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int nStartX -

• int nStartY -

• int nDx -

• int nDy -

• int nXDirection -

Remarks

CInfinity::GetPointsOctant1

void CInfinity::GetPointsOctant1(POINT* pPoints,int nStartX,int nStartY,int nDx,int nDy,int nXDirection);

Parameters

• POINT* pPoints -

• int nStartX -

• int nStartY -

• int nDx -

• int nDy -

• int nXDirection -

Remarks

CInfinity::GetSegmentPoints

int CInfinity::GetSegmentPoints(POINT** ppPoints,int nStartX,int nStartY,int nEndX,int nEndY);

Parameters

• POINT** ppPoints -

• int nStartX -

• int nStartY -

• int nEndX -

• int nEndY -

1452 Chapter 6. EE Game Classes (x86)

Page 1457: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfinity::GetScreenCoordinates

CPoint CInfinity::GetScreenCoordinates(CPoint pntWorld);

Parameters

• CPoint pntWorld -

Return Value

Returns CPoint

Remarks

CInfinity::GetViewPosition

void CInfinity::GetViewPosition(int& x,int& y);

Parameters

• int& x -

• int& y -

Remarks

CInfinity::GetWorldCoordinates

CPoint CInfinity::GetWorldCoordinates(CPoint& pntScreen);

Parameters

• CPoint& pntScreen -

Return Value

Returns CPoint

Remarks

CInfinity::InitViewPort

6.71. CInfinity Class 1453

Page 1458: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CInfinity::InitViewPort(CRect& rRect);

Parameters

• CRect& rRect -

Return Value

Returns int

Remarks

CInfinity::InvalidateRainTiles

void CInfinity::InvalidateRainTiles();

Remarks

CInfinity::OutlinePoly

unsigned char CInfinity::OutlinePoly(CPoint* pPoly,const short nVertices,CRect& rClip,unsigned long rgbColor);

Parameters

• CPoint* pPoly -

• const short nVertices -

• CRect& rClip -

• unsigned long rgbColor -

Return Value

Returns unsigned char

Remarks

CInfinity::PostRender

int CInfinity::PostRender(CVidMode* pNewVidMode,CSearchBitmap* pVisibilityMap);

Parameters

• CVidMode* pNewVidMode -

• CSearchBitmap* pVisibilityMap -

1454 Chapter 6. EE Game Classes (x86)

Page 1459: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfinity::ReleaseZoom

void CInfinity::ReleaseZoom();

Remarks

CInfinity::Render

unsigned long CInfinity::Render(CVidMode* pNewVidMode,int nScrollState);

Parameters

• CVidMode* pNewVidMode -

• int nScrollState -

Return Value

Returns unsigned long

Remarks

CInfinity::RenderAOE

void CInfinity::RenderAOE(CVidMode* pVidMode);

Parameters

• CVidMode* pVidMode -

Remarks

CInfinity::RenderEdgeFade

void CInfinity::RenderEdgeFade(CVidMode* pVidMode,CVisibilityMap* pVisibilityMap);

Parameters

• CVidMode* pVidMode -

6.71. CInfinity Class 1455

Page 1460: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CVisibilityMap* pVisibilityMap -

Remarks

CInfinity::RenderFlash

void CInfinity::RenderFlash(CVidMode* pVidMode,unsigned long screenFlashRGB,unsigned char nTranslucency);

Parameters

• CVidMode* pVidMode -

• unsigned long screenFlashRGB -

• unsigned char nTranslucency -

Remarks

CInfinity::RenderFog

void CInfinity::RenderFog(CVidMode* pVidMode,CVisibilityMap* pVisibilityMap);

Parameters

• CVidMode* pVidMode -

• CVisibilityMap* pVisibilityMap -

Remarks

CInfinity::RenderLightning

int CInfinity::RenderLightning(CRect& rSurface,int nStartX,int nStartY,int nEndX,int nEndY,unsigned long rgbCenter,unsigned long rgbMiddle,unsigned long rgbOuter);

Parameters

• CRect& rSurface* -

• int nStartX* -

1456 Chapter 6. EE Game Classes (x86)

Page 1461: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int nStartY* -

• int nEndX* -

• int nEndY* -

• unsigned long rgbCenter -

• unsigned long rgbMiddle -

• unsigned long rgbOuter -

Return Value

Returns int

Remarks

CInfinity::RenderMessageScreen

int CInfinity::RenderMessageScreen(CVidMode* pVidMode);

Parameters

• CVidMode* pVidMode -

Return Value

Returns int

Remarks

CInfinity::RenderTransitions

void CInfinity::RenderTransitions(CVidMode* pVidMode,CSearchBitmap* pSearchMap);

Parameters

• CVidMode* pVidMode -

• CSearchBitmap* pSearchMap -

Remarks

CInfinity::RestoreZoom

void CInfinity::RestoreZoom();

Remarks

6.71. CInfinity Class 1457

Page 1462: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::ScreenToViewport

CPoint CInfinity::ScreenToViewport(CPoint& p);

Parameters

• CPoint& p -

Return Value

Returns CPoint

Remarks

CInfinity::ScreenToWorld

CPoint CInfinity::ScreenToWorld(CPoint& p);

Parameters

• CPoint& p -

Return Value

Returns CPoint

Remarks

CInfinity::Scroll

void CInfinity::Scroll(CPoint ptDest,short speed);

Parameters

• CPoint ptDest -

• short speed -

Remarks

CInfinity::SetCurrentWeather

void CInfinity::SetCurrentWeather(unsigned long rgbOvercast,short nWeather,int nWeatherLevel,int nLightningFrequency);

Parameters

1458 Chapter 6. EE Game Classes (x86)

Page 1463: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long rgbOvercast -

• short nWeather -

• int nWeatherLevel -

• int nLightningFrequency -

Remarks

CInfinity::SetApproachingDawn

void CInfinity::SetApproachingDawn();

Remarks

CInfinity::SetApproachingDusk

void CInfinity::SetApproachingDusk();

Remarks

CInfinity::SetDawn

void CInfinity::SetDawn(unsigned char nIntensity,unsigned char bPlayDayNightMovie);

Parameters

• unsigned char nIntensity -

• unsigned char bPlayDayNightMovie -

Remarks

CInfinity::SetDawnMultiHost

void CInfinity::SetDawnMultiHost(unsigned char nIntensity);

Parameters

• unsigned char nIntensity -

Remarks

6.71. CInfinity Class 1459

Page 1464: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::SetDay

void CInfinity::SetDay();

Remarks

CInfinity::SetDusk<CInfinitySetDusk

void CInfinity::SetDusk(unsigned char nIntensity,unsigned char bPlayDayNightMovie);

Parameters

• unsigned char nIntensity -

• unsigned char bPlayDayNightMovie -

Remarks

CInfinity::SetDuskMultiHost

void CInfinity::SetDuskMultiHost(unsigned char nIntensity);

Parameters

• unsigned char nIntensity -

Remarks

CInfinity::SetMessageScreen

void CInfinity::SetMessageScreen(CResRef rrBitmap,unsigned long strId,unsigned long nDuration);

Parameters

• CResRef rrBitmap -

• unsigned long strId -

• unsigned long nDuration -

Remarks

CInfinity::SetNight

1460 Chapter 6. EE Game Classes (x86)

Page 1465: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CInfinity::SetNight();

Remarks

CInfinity::SetScreenShake

void CInfinity::SetScreenShake(int bScreenShake,unsigned short duration,CPoint& screenShakeDelta);

Parameters

• int bScreenShake -

• unsigned short duration -

• CPoint& screenShakeDelta -

Remarks

CInfinity::SetScrollDest

void CInfinity::SetScrollDest(CPoint& ptDest);

Parameters

• CPoint& ptDest -

Remarks

CInfinity::SetViewPort

int CInfinity::SetViewPort(CRect& rRect);

Parameters

• CRect& rRect -

Return Value

Returns int

Remarks

CInfinity::SetViewPosition

6.71. CInfinity Class 1461

Page 1466: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CInfinity::SetViewPosition(int x,int y,unsigned char bSetExactScale);

Parameters

• int x -

• int y -

• unsigned char bSetExactScale -

Return Value

Returns int

Remarks

CInfinity::SetZoom

void CInfinity::SetZoom(float fZoom);

Parameters

• float fZoom -

Remarks

CInfinity::SetZoomEnabled

void CInfinity::SetZoomEnabled(int zoomEnabled);

Parameters

• int zoomEnabled -

Remarks

CInfinity::SetZoomViewport

void CInfinity::SetZoomViewport(int width,int height);

Parameters

• int width -

• int height -

Remarks

1462 Chapter 6. EE Game Classes (x86)

Page 1467: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CInfinity::StoreZoom

void CInfinity::StoreZoom();

Remarks

CInfinity::SwapVRamTiles

void CInfinity::SwapVRamTiles(unsigned short wFromTile,unsigned short wToTile);

Parameters

• unsigned short wFromTile -

• unsigned short wToTile -

Remarks

CInfinity::UpdateLighting

void CInfinity::UpdateLighting();

Remarks

6.72 CInfTileSet Class

The structure used for this class is CInfTileSet

Functionsvoid CInfTileSet::CInfTileSet(CVRamPool* pNewVRPool)void CInfTileSet::~CInfTileSet()int CInfTileSet::AttachToVRam(int nTile)int CInfTileSet::DettachFromVRam(int nTile)void CInfTileSet::ReadyTexture(unsigned int nTexId, int nTile, int nStencilTile, TILE_CODE& tileCode, un-signed char nDualTileCode, unsigned long dwFlags)int CInfTileSet::Render(int nTile, int nStencilTile, CRect& rDest, int x, int y, TILE_CODE& tileCode, unsignedlong dwFlags, unsigned char nDualTileCode, unsigned char nDayIntensity)void CInfTileSet::RenderTexture(unsigned int nTexId, CRect& rDest, int x, int y, TILE_CODE& tileCode, un-signed long dwFlags)int CInfTileSet::SetResID(unsigned int nNewID, CResRef cResRef, unsigned int nNewDualID, CResRef cDual-ResRef)

6.72. CInfTileSet Class 1463

Page 1468: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.72.1 Constructors

Name DescriptionCInfTileSet::CInfTileSet Constructs a CInfTileSet objectCInfTileSet::~CInfTileSet Destroys a CInfTileSet object

CInfTileSet::CInfTileSet

Constructs a CInfTileSet object

void CInfTileSet::CInfTileSet(CVRamPool* pNewVRPool);

Parameters

• CVRamPool* pNewVRPool -

Remarks

Constructs a CInfTileSet object

CInfTileSet::~CInfTileSet

Destroys the CInfTileSet object

void CInfTileSet::~CInfTileSet();

Remarks

Destroys the CInfTileSet object

6.72.2 Methods

Name DescriptionCInfTileSet::AttachToVRamCInfTileSet::DettachFromVRamCInfTileSet::ReadyTextureCInfTileSet::RenderCInfTileSet::RenderTextureCInfTileSet::SetResID

CInfTileSet::AttachToVRam

int CInfTileSet\:\:AttachToVRam(int nTile);

Parameters

• int nTile -

1464 Chapter 6. EE Game Classes (x86)

Page 1469: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CInfTileSet::DettachFromVRam

int CInfTileSet\:\:DettachFromVRam(int nTile);

Parameters

• int nTile -

Return Value

Returns int

Remarks

CInfTileSet::ReadyTexture

void CInfTileSet\:\:ReadyTexture(unsigned int nTexId,int nTile,int nStencilTile,TILE_CODE& tileCode,unsigned char nDualTileCode,unsigned long dwFlags);

Parameters

• unsigned int nTexId -

• int nTile -

• int nStencilTile -

• TILE_CODE& tileCode -

• unsigned char nDualTileCode -

• unsigned long dwFlags -

Remarks

CInfTileSet::Render

6.72. CInfTileSet Class 1465

Page 1470: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CInfTileSet\:\:Render(int nTile,int nStencilTile,:ref:`CRect<CRect>`\& rDest,int x,int y,TILE_CODE& tileCode,unsigned long dwFlags,unsigned char nDualTileCode,unsigned char nDayIntensity);

Parameters

• int nTile -

• int nStencilTile -

• CRect& rDest -

• int x -

• int y -

• TILE_CODE& tileCode -

• unsigned long dwFlags -

• unsigned char nDualTileCode -

• unsigned char nDayIntensity -

Return Value

Returns int

Remarks

CInfTileSet::RenderTexture

void CInfTileSet\:\:RenderTexture(unsigned int nTexId,:ref:`CRect<CRect>`\& rDest,int x,int y,TILE_CODE& tileCode,unsigned long dwFlags);

Parameters

• unsigned int nTexId -

• CRect& rDest -

• int x -

• int y -

• TILE_CODE& tileCode -

• unsigned long dwFlags -

1466 Chapter 6. EE Game Classes (x86)

Page 1471: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CInfTileSet::SetResID

int CInfTileSet\:\:SetResID(unsigned int nNewID,:ref:`CResRef<CResRef>` cResRef,unsigned int nNewDualID,:ref:`CResRef<CResRef>` cDualResRef);

Parameters

• unsigned int nNewID -

• CResRef cResRef -

• unsigned int nNewDualID -

• CResRef cDualResRef -

Return Value

Returns int

Remarks

6.73 CItem Class

• Overview

• Quick Reference

• Constructors

• Methods

• Operators

6.73.1 Overview

Note: The CItem class handles game items and equiptment

The structures used for this class are CItem, CResItem, Item_Header_st, Item_ability_st, Item_effect_st

6.73.2 Quick Reference

6.73. CItem Class 1467

Page 1472: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Quick Refvoid CItem::CItem()void CItem::CItem(CItem& item)void CItem::CItem(CCreatureFileItem& item)void CItem::CItem(CResRef id, unsigned short useCount1, unsigned short useCount2, unsigned short useCount3, unsigned short wear, unsigned long flags)virtual void CItem::~CItem()int CItem::Demand()void CItem::Equip(CGameSprite* pSprite, long slotNum, int animationOnly)Item_ability_st* CItem::GetAbility(long abilityNum)int CItem::GetAbilityCount()CGameEffect* CItem::GetAbilityEffect(long abilityNum, long effectNum, CGameObject* pObject)unsigned short CItem::GetAnimationType()unsigned long CItem::GetBaseValue()unsigned long CItem::GetDescription()unsigned long CItem::GetFlagsFile()unsigned long CItem::GetGenericName()CResRef CItem::GetGroundIcon()int CItem::GetInventorySlotType()CCreatureFileItem CItem::GetItemFile()CResRef CItem::GetItemIcon()const unsigned short CItem::GetItemType()unsigned short CItem::GetLoreValue()unsigned short CItem::GetMaxStackable()unsigned short CItem::GetMaxUsageCount(int nAbility)unsigned char CItem::GetMinCHRRequired()unsigned char CItem::GetMinCONRequired()unsigned char CItem::GetMinDEXRequired()unsigned char CItem::GetMinINTRequired()unsigned char CItem::GetMinLevelRequired()unsigned char CItem::GetMinSTRBonusRequired()unsigned char CItem::GetMinSTRRequired()unsigned char CItem::GetMinWISRequired()unsigned long CItem::GetNotUsableBy()unsigned long CItem::GetNotUsableBy2()unsigned char CItem::GetProficiencyType()CString CItem::GetUsabilityText()unsigned short CItem::GetUsageCount(int nAbility)CResRef CItem::GetUsedUpItemId()unsigned long CItem::GetWeight()void CItem::LoadUsability()void CItem::LoadWeaponIdentification(CWeaponIdentification& weaponId)void CItem::PushToLua(int skipDescriptionText)void CItem::ResolveRandomItem(CResRef & id)void CItem::SetResRef(CResRef & cNewResRef, int bSetAutoRequest)void CItem::SetUsageCount(int nAbility, unsigned short wUseCount)void CItem::SetWear(unsigned short newWear)unsigned char CItem::TranslateAnimationType(CString& equipCode, CGameSprite* pSprite)void CItem::Unequip(CGameSprite* pSprite, long slotNum, int recalculateEffects, int animationOnly)CItem& CItem::operator=(CItem& item)bool CItem::operator!=(CItem& item)

1468 Chapter 6. EE Game Classes (x86)

Page 1473: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.73.3 Constructors

Name DescriptionCItem::CItem Constructs a CItem objectCItem::~CItem Destroys a CItem object

CItem::CItem

Constructs a CItem object

void CItem::CItem();

Remarks

Constructs a CItem object

CItem::CItem

Constructs a CItem object

void CItem::CItem(CItem& item);

Parameters

• CItem& item -

Remarks

Constructs a CItem object

CItem::CItem

Constructs a CItem object

void CItem::CItem(CCreatureFileItem& item);

Parameters

• CCreatureFileItem& item -

Remarks

Constructs a CItem object

CItem::CItem

Constructs a CItem object

6.73. CItem Class 1469

Page 1474: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CItem::CItem(CResRef id,unsigned short useCount1,unsigned short useCount2,unsigned short useCount3,unsigned short wear,unsigned long flags);

Parameters

• CResRef id -

• unsigned short useCount1 -

• unsigned short useCount2 -

• unsigned short useCount3 -

• unsigned short wear -

• unsigned long flags -

Remarks

Constructs a CItem object

CItem::~CItem

Destroys the CItem object

virtual void CItem::~CItem();

Remarks

Destroys the CItem object

6.73.4 Methods

Name DescriptionCItem::DemandCItem::EquipCItem::GetAbilityCItem::GetAbilityCountCItem::GetAbilityEffectCItem::GetAnimationType Returns animation type for the itemCItem::GetBaseValue Returns base value of the itemCItem::GetDescription Returns a String Reference (StrRef) for the description of the itemCItem::GetFlagsFile Returns item flagsCItem::GetGenericName Returns a String Reference (StrRef) for the name of the itemCItem::GetGroundIcon Returns a resource reference for the icon used for when the item is on the groundCItem::GetInventorySlotType Returns the item inventory slot type

Continued on next page

1470 Chapter 6. EE Game Classes (x86)

Page 1475: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 25 – continued from previous pageCItem::GetItemFile Returns the creature item fileCItem::GetItemIcon Returns a resource reference for the icon used for the itemCItem::GetItemType Returns the item typeCItem::GetLoreValue Returns the lore value for the itemCItem::GetMaxStackable Returns the maximum stackable value of items when grouped (stacked) togetherCItem::GetMaxUsageCount Returns the maximum usage count or charges of an itemCItem::GetMinCHRRequired Returns the minimum charisma score required to be able to use the itemCItem::GetMinCONRequired Returns the minimum constitution score required to be able to use the itemCItem::GetMinDEXRequired Returns the minimum dexterity score required to be able to use the itemCItem::GetMinINTRequired Returns the minimum intelligence score required to be able to use the itemCItem::GetMinLevelRequired Returns the minimum character class level required to be able to use the itemCItem::GetMinSTRBonusRequired Returns the minimum exceptional strength score required to be able to use the itemCItem::GetMinSTRRequired Returns the minimum strength score required to be able to use the itemCItem::GetMinWISRequired Returns the minimum wisdom score required to be able to use the itemCItem::GetNotUsableBy Returns a not usable by a class bit maskCItem::GetNotUsableBy2 Returns a 2nd not usable by a class bit maskCItem::GetProficiencyType Returns a weapon proficiency typeCItem::GetUsabilityText Returns a string describing the restrictions of the item’s useCItem::GetUsageCountCItem::GetUsedUpItemIdCItem::GetWeightCItem::LoadUsabilityCItem::LoadWeaponIdentificationCItem::PushToLuaCItem::ResolveRandomItemCItem::SetResRefCItem::SetUsageCountCItem::SetWearCItem::TranslateAnimationTypeCItem::Unequip

CItem::Demand

int CItem::Demand();

Return Value

Returns int

Remarks

CItem::Equip

void CItem::Equip(:ref:`CGameSprite<CGameSprite>`\* pSprite,long slotNum,int animationOnly);

Parameters

6.73. CItem Class 1471

Page 1476: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameSprite* pSprite -

• long slotNum -

• int animationOnly -

Remarks

CItem::GetAbility

Item_ability_st\* CItem::GetAbility(long abilityNum);

Parameters

• long abilityNum -

Return Value

Returns Item_ability_st*

Remarks

CItem::GetAbilityCount

int CItem::GetAbilityCount();

Return Value

Returns int

Remarks

CItem::GetAbilityEffect

CGameEffect* CItem::GetAbilityEffect(long abilityNum,long effectNum,CGameObject* pObject);

Parameters

• long abilityNum -

• long effectNum -

• CGameObject* pObject -

Return Value

Returns CGameEffect*

Remarks

1472 Chapter 6. EE Game Classes (x86)

Page 1477: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem::GetAnimationType

Returns animation type for the item

unsigned short CItem::GetAnimationType();

Return Value

Returns an unsigned short, the animation type for the item

Remarks

Returns (256 * Item_Header_st.animationType[1]) + Item_Header_st.animationType[2] or 0 if error

CItem::GetBaseValue

Returns base value of the item

unsigned long CItem::GetBaseValue();

Return Value

Returns unsigned long, the base value of the item

Remarks

Returns the Item_Header_st.baseValue field value

CItem::GetDescription

Returns a String Reference (StrRef) for the description of the item

unsigned long CItem::GetDescription();

Return Value

Returns unsigned long, a StrRef value for the item’s description

Remarks

The String Reference (StrRef) return value is from Item_Header_st.genericDescription orItem_Header_st.identifiedDescription depending on wether the item has been identified or not.

The CItem.m_flags** field is checked for a value of 1 and returns the value in Item_Header_st.identifiedDescriptionif it is, or Item_Header_st.genericDescription if CItem.m_flags is any other value

CItem.m_flags field can contain bit values from INVITEM.IDS:

1 IDENTIFIED2 NONSTEALABLE4 STOLEN8 NONDROPABLE

See also CItem::GetGenericName

6.73. CItem Class 1473

Page 1478: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem::GetFlagsFile

Returns item flags

unsigned long CItem::GetFlagsFile();

Return Value

Returns unsigned long

Remarks

Returns the value of the Item_Header_st.itemFlags field

CItem::GetGenericName

Returns a String Reference (StrRef) for the name of the item

unsigned long CItem::GetGenericName();

Return Value

Returns unsigned long, a StrRef value for the item’s name

Remarks

The String Reference (StrRef) return value is from Item_Header_st.genericName or Item_Header_st.identifiedNamedepending on wether the item has been identified or not.

The CItem.m_flags field is checked for a value of 1 and returns the value in Item_Header_st.identifiedName if it is, orItem_Header_st.genericName if CItem.m_flags is any other value

CItem.m_flags field can contain bit values from INVITEM.IDS:

1 IDENTIFIED2 NONSTEALABLE4 STOLEN8 NONDROPABLE

See also CItem::GetDescription

CItem::GetGroundIcon

Returns a resource reference for the icon used for when the item is on the ground

CResRef CItem::GetGroundIcon();

Return Value

Returns a CResRef resource reference

Remarks

Returns the resource reference stored in the Item_Header_st.groundIcon[8] field.

If there is no ground icon for the item, it returns a default/generic sack icon resource reference: “gsack01” - which isfor gsack01.bam

1474 Chapter 6. EE Game Classes (x86)

Page 1479: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

See also CItem::GetItemIcon

CItem::GetInventorySlotType

Returns the item inventory slot type

int CItem::GetInventorySlotType();

Return Value

Returns an int value representing the item inventory slot type

Remarks

Fetches the value stored in the Item_Header_st.itemType field

If the value in Item_Header_st.itemType is less than or equal to 26 then it calls CScreenInven-tory::MapButtonIdToInventoryId. The values 0 to 26 can be found in ITEMCAT.IDS:

0 MISC1 AMULET2 ARMOR3 BELT4 BOOT5 ARROW6 BRACER7 HELMET8 KEY9 POTION10 RING11 SCROLL12 SHIELD13 FOOD14 BULLET15 BOW16 DAGGER17 MACE18 SLING19 SMSWORD20 BGSWORD21 HAMMER22 MSTAR23 FLAIL24 DART25 AXE26 STAFF

If the value in Item_Header_st.itemType is greater than 26 then it calls CRuleTables::GetItemTypeSlot and returns avalue from SLOTS.IDS:

0 SLOT_AMULET1 SLOT_ARMOR2 SLOT_BELT3 SLOT_BOOTS4 SLOT_CLOAK5 SLOT_GAUNTLETS

(continues on next page)

6.73. CItem Class 1475

Page 1480: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

6 SLOT_HELMET7 SLOT_RING_LEFT8 SLOT_RING_RIGHT9 SLOT_SHIELD10 SLOT_FIST11 SLOT_AMMO15 SLOT_MISC35 SLOT_WEAPON11 SLOT_AMMO012 SLOT_AMMO113 SLOT_AMMO214 SLOT_AMMO315 SLOT_MISC016 SLOT_MISC117 SLOT_MISC218 SLOT_MISC319 SLOT_MISC420 SLOT_MISC521 SLOT_MISC622 SLOT_MISC723 SLOT_MISC824 SLOT_MISC925 SLOT_MISC1026 SLOT_MISC1127 SLOT_MISC1228 SLOT_MISC1329 SLOT_MISC1430 SLOT_MISC1531 SLOT_MISC1632 SLOT_MISC1733 SLOT_MISC1834 SLOT_MISC1935 SLOT_WEAPON036 SLOT_WEAPON137 SLOT_WEAPON238 SLOT_WEAPON3

See also CItem::GetItemType

CItem::GetItemFile

Returns the creature item file

CCreatureFileItem CItem::GetItemFile();

Return Value

Returns CCreatureFileItem

Remarks

1476 Chapter 6. EE Game Classes (x86)

Page 1481: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem::GetItemIcon

Returns a resource reference for the icon used for the item

CResRef CItem::GetItemIcon();

Return Value

Returns a CResRef resource reference

Remarks

Returns the resource reference stored in the Item_Header_st.itemIcon[8] field.

See also CItem::GetGroundIcon

CItem::GetItemType

Returns the item type

const unsigned short CItem::GetItemType();

Return Value

Returns const unsigned short as the item type

Remarks

Returns the value stored in the Item_Header_st.itemType field. The values for this field are from IITEMCAT.IDS:

0 MISC1 AMULET2 ARMOR3 BELT4 BOOT5 ARROW6 BRACER7 HELMET8 KEY9 POTION10 RING11 SCROLL12 SHIELD13 FOOD14 BULLET15 BOW16 DAGGER17 MACE18 SLING19 SMSWORD20 BGSWORD21 HAMMER22 MSTAR23 FLAIL24 DART25 AXE26 STAFF

(continues on next page)

6.73. CItem Class 1477

Page 1482: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

27 XBOW28 FIST29 SPEAR30 POLEARM31 BOLT32 CLOAK33 COIN34 GEM35 WAND36 BROKEN137 BROKEN2

See also CItem::GetInventorySlotType

CItem::GetLoreValue

Returns the lore value for the item

unsigned short CItem::GetLoreValue();

Return Value

Returns unsigned short

Remarks

The lore value of the item is used to determine if a character with a high enough lore skill can identify the item withouthaving to use an identity spell, identify scroll or other means to identify an item

Returns the value stored in the Item_Header_st.loreValue field

CItem::GetMaxStackable

Returns the maximum stackable value of items when grouped (stacked) together

unsigned short CItem::GetMaxStackable();

Return Value

Returns an unsigned short value of the max stackable of similar items

Remarks

For items of the same type: gems, arrows etc. Returns how many can be stacked together.

Returns the value stored in the Item_Header_st.maxStackable field

CItem::GetMaxUsageCount

Returns the maximum usage count or charges of an item

1478 Chapter 6. EE Game Classes (x86)

Page 1483: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned short CItem::GetMaxUsageCount(int nAbility);

Parameters

• int nAbility - ability number

Return Value

Returns an unsigned short value of the max usage count of item

Remarks

Fetches the value stored in the Item_Header_st.abilityCount field and calls CItem::GetAbility

Returns the value in the Item_ability_st.maxUsageCount field or 0 otherwise

CItem::GetMinCHRRequired

Returns the minimum charisma score required to be able to use the item

unsigned char CItem::GetMinCHRRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minCHRRequired field

CItem::GetMinCONRequired

Returns the minimum constitution score required to be able to use the item

unsigned char CItem::GetMinCONRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minCONRequired field

CItem::GetMinDEXRequired

Returns the minimum dexterity score required to be able to use the item

unsigned char CItem::GetMinDEXRequired();

6.73. CItem Class 1479

Page 1484: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minDEXRequired field

CItem::GetMinINTRequired

Returns the minimum intelligence score required to be able to use the item

unsigned char CItem::GetMinINTRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minINTRequired field

CItem::GetMinLevelRequired

Returns the minimum character class level required to be able to use the item

unsigned char CItem::GetMinLevelRequired();

Return Value

Returns unsigned char of the minimum level

Remarks

Returns the value stored in the Item_Header_st.minLevelRequired field

CItem::GetMinSTRBonusRequired

Returns the minimum exceptional strength score (extra percentile strength score) required to be able to use the item

unsigned char CItem::GetMinSTRBonusRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minSTRBonusRequired field

1480 Chapter 6. EE Game Classes (x86)

Page 1485: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CItem::GetMinSTRRequired

Returns the minimum strength score required to be able to use the item

unsigned char CItem::GetMinSTRRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minSTRRequired field

CItem::GetMinWISRequired

Returns the minimum wisdom score required to be able to use the item

unsigned char CItem::GetMinWISRequired();

Return Value

Returns unsigned char of the minimum ability scrore

Remarks

Returns the value stored in the Item_Header_st.minWISRequired field

CItem::GetNotUsableBy

Returns a not usable by a class bit mask

unsigned long CItem::GetNotUsableBy();

Return Value

Returns an unsigned long bit mask

Remarks

Returns the value stored in the Item_Header_st.notUsableBy field. The following bit values indicate not usable by:

Not Usable By Bit mask valueChaotic 0x1Evil 0x2Good 0x4Neutral 0x8Lawful 0x10Neutral 0x20Bard 0x40Cleric 0x80Cleric/Mage 0x100Cleric/Thief 0x200

Continued on next page

6.73. CItem Class 1481

Page 1486: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 26 – continued from previous pageCleric/Ranger 0x400Fighter 0x800Fighter/Druid 0x1000Fighter/Mage 0x2000Fighter/Cleric 0x4000Fighter/Mage/Cleric 0x8000Fighter/Mage/Thief 0x10000Fighter/Thief 0x20000Mage 0x40000Mage/Thief 0x80000Paladin 0x100000Ranger 0x200000Thief 0x400000Elf 0x800000Dwarf 0x1000000Half-Elf 0x2000000Halfling 0x4000000Human 0x8000000Gnome 0x10000000Monk 0x20000000Druid 0x40000000Half-Orc 0x80000000

CItem::GetNotUsableBy2

Returns a 2nd not usable by a class bit mask

unsigned long CItem::GetNotUsableBy2();

Return Value

Returns an unsigned long bit mask

Remarks

Fetches the byte values stored in the following fields: Item_Header_st.notUsableBy2a,Item_Header_st.notUsableBy2b, Item_Header_st.notUsableBy2c, Item_Header_st.notUsableBy2d and combinesthem together to form the 2nd not usable bit mask. The following bit values indicate not usable by:

Not Usable By Bit mask valueCleric of Talos 0x1Cleric of Helm 0x2Cleric of Lathlander 0x4Totemic Druid 0x8Shapeshifter Druid 0x10Avenger Druid 0x20Barbarian 0x40Wildmage 0x80Stalker Ranger 0x100

Continued on next page

1482 Chapter 6. EE Game Classes (x86)

Page 1487: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 27 – continued from previous pageBeastmaster Ranger 0x200Assassin Thief 0x400Bounty Hunter Thief 0x800Swashbuckler Thief 0x1000Blade Bard 0x2000Jester Bard 0x4000Skald Bard 0x8000Diviner 0x10000Enchanter 0x20000Illusionist 0x40000Invoker 0x80000Necromancer 0x100000Transmuter 0x200000All (no kit) 0x400000Ferlain 0x800000Beserker Fighter 0x1000000Wizardslayer Fighter 0x2000000Kensai Fighter 0x4000000Cavalier Paladin 0x8000000Inquisiter Paladin 0x10000000Undead Hunter Paladin 0x20000000Abjurer 0x40000000Conjurer 0x80000000

CItem::GetProficiencyType

Returns a weapon proficiency type

unsigned char CItem::GetProficiencyType();

Return Value

Returns unsigned char as a weapon proficiency type

Remarks

Returns the value stored in the Item_Header_st.proficiencyType field. The values from this field can be found inWPROF.IDS:

89 PROFICIENCYBASTARDSWORD90 PROFICIENCYLONGSWORD91 PROFICIENCYSHORTSWORD92 PROFICIENCYAXE93 PROFICIENCYTWOHANDEDSWORD94 PROFICIENCYKATANA95 PROFICIENCYSCIMITARWAKISASHININJATO96 PROFICIENCYDAGGER97 PROFICIENCYWARHAMMER98 PROFICIENCYSPEAR99 PROFICIENCYHALBERD100 PROFICIENCYFLAILMORNINGSTAR

(continues on next page)

6.73. CItem Class 1483

Page 1488: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

101 PROFICIENCYMACE102 PROFICIENCYQUARTERSTAFF103 PROFICIENCYCROSSBOW104 PROFICIENCYLONGBOW105 PROFICIENCYSHORTBOW106 PROFICIENCYDART107 PROFICIENCYSLING108 PROFICIENCYBLACKJACK111 PROFICIENCY2HANDED112 PROFICIENCYSWORDANDSHIELD113 PROFICIENCYSINGLEWEAPON114 PROFICIENCY2WEAPON115 PROFICIENCYCLUB

CItem::GetUsabilityText

Returns a string describing the restrictions of the item’s use by character class, race, ability scores, level or otherfactors.

CString CItem::GetUsabilityText();

Return Value

Returns CString

Remarks

Performs the equivalent of CItem::GetNotUsableBy and CItem::GetNotUsableBy2 all the CItem::GetMin* functions,and other functions and builds the string for the item restrictions

CItem::GetUsageCount

unsigned short CItem::GetUsageCount(int nAbility);

Parameters

• int nAbility -

Return Value

Returns unsigned short

Remarks

CItem::GetUsedUpItemId

CResRef CItem::GetUsedUpItemId();

1484 Chapter 6. EE Game Classes (x86)

Page 1489: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns CResRef

Remarks

CItem::GetWeight

unsigned long CItem::GetWeight();

Return Value

Returns unsigned long

Remarks

CItem::LoadUsability

void CItem::LoadUsability();

Remarks

CItem::LoadWeaponIdentification

void CItem::LoadWeaponIdentification(CWeaponIdentification& weaponId);

Parameters

• CWeaponIdentification& weaponId -

Return Value

Remarks

CItem::PushToLua

void CItem::PushToLua(int skipDescriptionText);

Parameters

• int skipDescriptionText -

Remarks

CItem::ResolveRandomItem

6.73. CItem Class 1485

Page 1490: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CItem::ResolveRandomItem(CResRef& id);

Parameters

• CResRef & id -

Remarks

CItem::SetResRef

void CItem::SetResRef(:ref:`CResRef<CResRef>`\& cNewResRef,int bSetAutoRequest);

Parameters

• CResRef & cNewResRef -

• int bSetAutoRequest -

Remarks

CItem::SetUsageCount

void CItem::SetUsageCount(int nAbility,unsigned short wUseCount);

Parameters

• int nAbility -

• unsigned short wUseCount -

Remarks

CItem::SetWear

void CItem::SetWear(unsigned short newWear);

Parameters

• unsigned short newWear -

Remarks

CItem::TranslateAnimationType

1486 Chapter 6. EE Game Classes (x86)

Page 1491: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CItem::TranslateAnimationType(:ref:`CString<CString>`\& equipCode,:ref:`CGameSprite<CGameSprite>`\* pSprite);

Parameters

• CString& equipCode -

• CGameSprite* pSprite -

Return Value

Returns unsigned char

Remarks

CItem::Unequip

void CItem::Unequip(CGameSprite* pSprite,long slotNum,int recalculateEffects,int animationOnly);

Parameters

• CGameSprite* pSprite -

• long slotNum -

• int recalculateEffects -

• int animationOnly -

Remarks

6.73.5 Operators

Name DescriptionCItem::operator=CItem::operator!=

CItem::operator=

CItem& CItem::operator=(CItem& item);

Parameters

• CItem& item -

6.73. CItem Class 1487

Page 1492: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns CItem&

Remarks

CItem::operator!=

bool CItem::operator!=(CItem& item);

Parameters

• CItem& item -

Return Value

Returns bool

Remarks

6.74 CLUAConsole Class

• Overview

• Quick Reference

• Methods

6.74.1 Overview

Note: The CLUAConsole class handles the ingame Lua console for entering supported commands and functions

There is no structure associated with this class

6.74.2 Quick Reference

Quick Refvoid CLUAConsole::AddGold(unsigned long dwGold)void CLUAConsole::AddSpell(CString resRef, int characterId)void CLUAConsole::AdvanceRealTime(unsigned long gameTime)void CLUAConsole::CreateCreature(CString res)void CLUAConsole::CreateEngine(int nEngine)void CLUAConsole::CreateItem(CString res, short usage1, short usage2, short usage3, int characterId)void CLUAConsole::CreateVEFVidCell(CString resRef)void CLUAConsole::DisplayAllBAMFiles()

Continued on next page

1488 Chapter 6. EE Game Classes (x86)

Page 1493: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 28 – continued from previous pagevoid CLUAConsole::DisplayText(CString text)void CLUAConsole::EnableCheatKeys(int bEnable)void CLUAConsole::Eval(CString script, int characterId)void CLUAConsole::Exec(char* file)void CLUAConsole::ExploreArea()void CLUAConsole::GetGlobal(CString globalName, CString areaName)void CLUAConsole::LogMessages(int bEnable)void CLUAConsole::LogSet(CString resRef)virtual void __cdecl CLUAConsole::LuaInit()virtual void __cdecl CLUAConsole::LuaUninit()void CLUAConsole::MoveToArea(CString text)void CLUAConsole::PickDialog(int table)void CLUAConsole::PlayMovie(CString resRef)void CLUAConsole::PlaySound(char* res, short volume, unsigned long frequency)void CLUAConsole::ResetAchievements()void CLUAConsole::SetCurrentXP(unsigned long dwCurrentXP)void CLUAConsole::SetGlobal(CString globalName, CString areaName, long value)void CLUAConsole::SetWaterAlpha(unsigned long dwAlpha)void CLUAConsole::SetWeather(unsigned char nWeather)void CLUAConsole::StartStore(char* resref)void CLUAConsole::StrrefOff()void CLUAConsole::StrrefOn()void CLUAConsole::TestAllDialog()void CLUAConsole::WorkshopUpload(char* name, char* path)void CLUAConsole::WriteScript(CString ref, int characterId)

6.74.3 Methods

Name DescriptionCLUAConsole::AddGold Adds gold to the partyCLUAConsole::AddSpell Adds a spell to the specified characterCLUAConsole::AdvanceRealTime Advance timeCLUAConsole::CreateCreature Creates the creature specifiedCLUAConsole::CreateEngine UnknownCLUAConsole::CreateItem Create an itemCLUAConsole::CreateVEFVidCell Create VEFVidCellCLUAConsole::DisplayAllBAMFiles Display all BAM filesCLUAConsole::DisplayText Displays the specified text on screenCLUAConsole::EnableCheatKeys Enable or disable cheat keysCLUAConsole::Eval Evaluate a string containing script actions for a characterCLUAConsole::Exec Execute console commands contained in the specified fileCLUAConsole::ExploreArea Reveals the entire map for the current areaCLUAConsole::GetGlobal Gets a global variable value for an areaCLUAConsole::LogMessages Enables or disables logging output to consoleCLUAConsole::LogSet Sets logging to a file instead of to console if logging is enabledCLUAConsole::LuaInit Initialize lua for the CLUAConsoleCLUAConsole::LuaUninit Uninitialize lua for the CLUAConsoleCLUAConsole::MoveToArea Move the selected characters to the area specified

Continued on next page

6.74. CLUAConsole Class 1489

Page 1494: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 29 – continued from previous pageCLUAConsole::PickDialog UnknownCLUAConsole::PlayMovie Plays the specified movieCLUAConsole::PlaySound Plays the specified soundCLUAConsole::ResetAchievements Reset achievements - applies to Steam installation onlyCLUAConsole::SetCurrentXP Sets the experience points (XP) of the selected characterCLUAConsole::SetGlobal Set a global variable to the specified valueCLUAConsole::SetWaterAlpha Sets the alpha blend level for water transparencyCLUAConsole::SetWeather Sets the current weatherCLUAConsole::StartStore Starts the specified storeCLUAConsole::StrrefOff Strings are not displayed with their associated string reference (StrRef)CLUAConsole::StrrefOn Strings are displayed with their associated string reference (StrRef)CLUAConsole::TestAllDialog Lists all dialog file in the game, and checks for errorsCLUAConsole::WorkshopUpload Upload a module to the Steam Workshop - applies to Steam installation onlyCLUAConsole::WriteScript Output scripts to directory

CLUAConsole::AddGold

Adds gold to the party

void CLUAConsole::AddGold(unsigned long dwGold);

Parameters

• unsigned long dwGold - amount of gold to add to party

CLUAConsole::AddSpell

Adds a spell to the specified character

void CLUAConsole::AddSpell(CString resRef,int characterId);

Parameters

• CString resRef - string containing the resource reference (ResRef) of the spell to add to character

• int characterId - id of character to receive the spell

Remarks

Spell resource reference (ResRef) used in Spellname must be 8 characters or less and must be valid.

A character must be selected for this to work

To obtain the spell codes (ResRef) required for this command, please use Near Infinity to browse .spl files, or visitthe specific spell page from the BGII Wiki and look for the spell code in the right hand info bar - exclude the .splextension when using the spell code.

1490 Chapter 6. EE Game Classes (x86)

Page 1495: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::AdvanceRealTime

Advance time

void CLUAConsole::AdvanceRealTime(unsigned long gameTime);

Parameters

• unsigned long gameTime - amount of time in milliseconds to advance

Remarks

Can be used to trigger banters and love talks etc

CLUAConsole::CreateCreature

Creates the creature specified

void CLUAConsole::CreateCreature(CString res);

Parameters

• CString res - string containing resource reference (ResRef) of creature to spawn (create)

Remarks

Creature resource reference (ResRef) used in Creature must be 8 characters or less and must be valid.

This spawns a creature to the center of the screen (or nearest valid point). If you?re spawning a creature you know willbe hostile, you may want to pause the game before entering this command for the safety of your party.

CLUAConsole::CreateEngine

Unknown - seems to start a new single 0 or multi 1 player game

void CLUAConsole::CreateEngine(int nEngine);

Parameters

• int nEngine - engine id number to create

Remarks

CLUAConsole::CreateItem

Create an item

void CLUAConsole::CreateItem(CString res,short usage1,short usage2,short usage3,int characterId);

6.74. CLUAConsole Class 1491

Page 1496: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CString res - string containing resource reference (ResRef) of the item to create

• short usage1 - amount / charges

• short usage2 - amount / charges

• short usage3 - amount / charges

• int characterId - id of character to receive the item

Remarks

Item resource reference (ResRef) used in Item must be 8 characters or less and must be valid.

This spawns an item, based on its item file name, or a stack of the same item, in the inventory of the current partyleader.

CLUAConsole::CreateVEFVidCell

Create VEFVidCell

void CLUAConsole::CreateVEFVidCell(CString resRef);

Parameters

• CString resRef - string containing resource reference of VEFVidCell to create

Remarks

CLUAConsole::DisplayAllBAMFiles

Display all BAM files

void CLUAConsole::DisplayAllBAMFiles();

Remarks

CLUAConsole::DisplayText

Displays the specified text on screen

void CLUAConsole::DisplayText(CString text);

Parameters

• CString text - string containing text to display

1492 Chapter 6. EE Game Classes (x86)

Page 1497: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::EnableCheatKeys

Enable or disable cheat keys

void CLUAConsole::EnableCheatKeys(int bEnable);

Parameters

• int bEnable - boolean true or false to enable/disable cheat keys

Remarks

The following cheat key combination are available once cheat keys has been enabled:

Key NotesCTRL+1 Change armor level animationCTRL+2 Fade screen to blackCTRL+3 Fade screen to normalCTRL+4 Highlight background-interactive objectsCTRL+5 Displays animation informationCTRL+6 Change avatar animation previousCTRL+7 Change avatar animation nextCTRL+8 Highlights the text boxesCTRL+9 Highlight the spritesCTRL+0 UnknownCTRL+A Change Selected Animation SequenceCTRL+C Jump to next chapterCTRL+D Display some numbers (framerate related?)CTRL+E Alters visual rangeCTRL+F Turn the characterCTRL+G Display loaded area refCTRL+I Play Selected Animation effectCTRL+J Teleport to cursor positionCTRL+K Creature under cursor kick out partyCTRL+L Play Selected Animation effectCTRL+M (Followed by ENTER) Debug DumpCTRL+N Freeze screen for 5 secondsCTRL+O (Followed by ENTER) Write Debug To LogCTRL+P Center screen on selected characterCTRL+Q Creature under cursor joins partyCTRL+R Heals character under cursorCTRL+S Change Selected Animation SequenceCTRL+T Advances game time by 1 hourCTRL+U Highlight doors and ground objectsCTRL+X Extended position informationCTRL+Y Kills creature under cursor

In addition CTRL+8 during character creation will set all attributes to 18 (STR 18/00)

CTRL+SHIFT+Z while hovering over a character will grant every spell file in the game - may crash due to invalidspells

6.74. CLUAConsole Class 1493

Page 1498: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::Eval

Evaluate a string containing script actions for a character

void CLUAConsole::Eval(CString script,int characterId);

Parameters

• CString script - string containing script actions to evaluate

• int characterId - id of character that script applies to

Remarks

The whole string can be enclosed into single quotes (‘) so that double quotes can still be used within the script action.

See BG(2)EE Script Actions for a list of script actions.

CLUAConsole::Exec

Execute console commands contained in the specified file

void CLUAConsole::Exec(char* file);

Parameters

• char* file - pointer to string containing filename to execute

Remarks

CLUAConsole::ExploreArea

Reveals the entire map for the current area

void CLUAConsole::ExploreArea();

Remarks

This doesn?t remove the fog of war; if a creature is out of your field of vision it will still remain hidden

CLUAConsole::GetGlobal

Gets a global variable value for an area

void CLUAConsole::GetGlobal(CString globalName,CString areaName);

Parameters

1494 Chapter 6. EE Game Classes (x86)

Page 1499: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CString globalName - name of global variable value to return

• CString areaName - area in which global is

Remarks

CLUAConsole::LogMessages

Enables or disables logging output to console

void CLUAConsole::LogMessages(int bEnable);

Parameters

• int bEnable - boolean true or false to enable or disable logging output

Remarks

See CLUAConsole::LogSet to output logging to a file instead

CLUAConsole::LogSet

Sets logging to a file instead of to console if logging is enabled

void CLUAConsole::LogSet(CString resRef);

Parameters

• CString resRef - string containing log filename

Remarks

See CLUAConsole::LogMessages to enable logging

CLUAConsole::LuaInit

Initialize lua for the CLUAConsole

virtual void __cdecl CLUAConsole::LuaInit();

Remarks

CLUAConsole::LuaUninit

Uninitialize lua for the CLUAConsole

virtual void __cdecl CLUAConsole::LuaUninit();

Remarks

6.74. CLUAConsole Class 1495

Page 1500: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::MoveToArea

Move the selected characters to the area specified

void CLUAConsole::MoveToArea(CString text);

Parameters

• CString text - string containing area resource reference to move selected players to

Remarks

CLUAConsole::PickDialog

void CLUAConsole::PickDialog(int table);

Parameters

• int table -

Remarks

CLUAConsole::PlayMovie

Plays the specified movie

void CLUAConsole::PlayMovie(CString resRef);

Parameters

• CString resRef - resource reference of the WebM movie to play

Remarks

CLUAConsole::PlaySound

Plays the specified sound

void CLUAConsole::PlaySound(char* res,short volume,unsigned long frequency);

Parameters

• char* res - pointer to string containing resource reference of the wav sound to play

• short volume - volume of played sound

• unsigned long frequency - frequency to play the wav file at

Remarks

1496 Chapter 6. EE Game Classes (x86)

Page 1501: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::ResetAchievements

Reset achievements

void CLUAConsole::ResetAchievements();

Remarks

Applies to Steam installation only

CLUAConsole::SetCurrentXP

Sets the experience points (XP) of the selected character

void CLUAConsole::SetCurrentXP(unsigned long dwCurrentXP);

Parameters

• unsigned long dwCurrentXP - experience points value to set

Remarks

This sets the total, rather than adding a value to your current experience points. A level up will be triggered forcharacters that qualify, based on the experince points table for the character’s class level.

CLUAConsole::SetGlobal

Set a global variable to the specified value

void CLUAConsole::SetGlobal(CString globalName,CString areaName,long value);

Parameters

• CString globalName - string containing global variable to set value for

• CString areaName - area that global variable is in

• long value - the new value to set the global variable to

Remarks

CLUAConsole::SetWaterAlpha

Sets the alpha blend level for water transparency

void CLUAConsole::SetWaterAlpha(unsigned long dwAlpha);

Parameters

6.74. CLUAConsole Class 1497

Page 1502: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long dwAlpha - value to set for alpha blending of water transparency

Remarks

CLUAConsole::SetWeather

Sets the current weather

void CLUAConsole::SetWeather(unsigned char nWeather);

Parameters

• unsigned char nWeather - value to set weather to

Remarks

Valid values to set can be found in WEATHER.IDS:

0 NOWEATHER1 RAIN2 SNOW3 FOG

CLUAConsole::StartStore

Starts the specified store

void CLUAConsole::StartStore(char* resref);

Parameters

• char* resref - pointer to string containing resource reference of store to start

Remarks

Crashes

CLUAConsole::StrrefOff

Strings are not displayed with their associated string reference (StrRef) id

void CLUAConsole::StrrefOff();

Remarks

String reference (StrRef) values are located in the TLK table

1498 Chapter 6. EE Game Classes (x86)

Page 1503: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CLUAConsole::StrrefOn

Strings are displayed with their associated string reference (StrRef) id

void CLUAConsole::StrrefOn();

Remarks

String reference (StrRef) values are located in the TLK table

CLUAConsole::TestAllDialog

Lists all dialog file in the game, and checks for errors

void CLUAConsole::TestAllDialog();

Remarks

CLUAConsole::WorkshopUpload

Upload a module to the Steam Workshop - Not tested or verified

void CLUAConsole::WorkshopUpload(char* name,char* path);

Parameters

• char* name - pointer to string containing name of the workshop module

• char* path - pointer to string containing the full filepath to the module to upload

Remarks

Applies to Steam installation only.

CLUAConsole::WriteScript

Output scripts to directory

void CLUAConsole::WriteScript(CString ref,int characterId);

Parameters

• CString ref - string containing folder to output scripts to

• int characterId - actor id of character that script is evaluated for, or 0 for none.

Remarks

If the mouse is over a creature, the command will evaluate the scripts attached to that creature. Otherwise it willevaluate the area scripts.

6.74. CLUAConsole Class 1499

Page 1504: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Lua Notes

Most of the CLUAConsole methods are available via the EE Game Lua Functions: C (CLUAConsole) Functions

6.75 CMachineStates Class

The structure used for this class is CMachineStates

Quick Refvoid CMachineStates::CMachineStates()int CMachineStates::CheckValidForDialog(long spriteId)void CMachineStates::ClearAll()

6.75.1 Constructors

Name DescriptionCMachineStates::CMachineStates Constructs a CMachineStates object

CMachineStates::CMachineStates

Constructs a CMachineStates object

void CMachineStates::CMachineStates();

Remarks

Constructs a CMachineStates object

6.75.2 Methods

Name DescriptionCMachineStates::CheckValidForDialogCMachineStates::ClearAll

CMachineStates::CheckValidForDialog

int CMachineStates::CheckValidForDialog(long spriteId);

Parameters

• long spriteId -

1500 Chapter 6. EE Game Classes (x86)

Page 1505: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CMachineStates::ClearAll

void CMachineStates::ClearAll();

Remarks

6.76 CMapStringToString Class

The structure used for this class is CMapStringToString

Quick Refvoid CMapStringToString::CMapStringToString(int nBlockSize)virtual void CMapStringToString::~CMapStringToString()CMapStringToString::CAssoc* CMapStringToString::GetAssocAt(const char* key, unsigned int& nHash)void CMapStringToString::GetNextAssoc(__POSITION*& rNextPosition, CString& rKey, CString& rValue)int CMapStringToString::Lookup(const char* key, CString& rValue)CMapStringToString::CAssoc* CMapStringToString::NewAssoc()void CMapStringToString::RemoveAll()int CMapStringToString::RemoveKey(const char* key)CString& CMapStringToString::operator[](const char* key)

6.76.1 Constructors

Name DescriptionCMapStringToString::CMapStringToString Constructs a CMapStringToString objectCMapStringToString::~CMapStringToString Destroys a CMapStringToString object

CMapStringToString::CMapStringToString

Constructs a CMapStringToString object

void CMapStringToString::CMapStringToString(int nBlockSize);

Parameters

• int nBlockSize -

Remarks

Constructs a CMapStringToString object

6.76. CMapStringToString Class 1501

Page 1506: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMapStringToString::~CMapStringToString

Destroys the CMapStringToString object

virtual void CMapStringToString::~CMapStringToString();

Remarks

Destroys the CMapStringToString object

6.76.2 Methods

Name DescriptionCMapStringToString::GetAssocAtCMapStringToString::GetNextAssocCMapStringToString::LookupCMapStringToString::NewAssocCMapStringToString::RemoveAllCMapStringToString::RemoveKey

CMapStringToString::GetAssocAt

CMapStringToString::CAssoc* CMapStringToString::GetAssocAt(const char* key,unsigned int& nHash);

Parameters

• const char* key -

• unsigned int& nHash -

Return Value

Returns CMapStringToString::CAssoc*

Remarks

CMapStringToString::GetNextAssoc

void CMapStringToString::GetNextAssoc(__POSITION*& rNextPosition,CString& rKey,CString& rValue);

Parameters

• __POSITION*& rNextPosition -

• CString& rKey -

• CString& rValue -

1502 Chapter 6. EE Game Classes (x86)

Page 1507: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CMapStringToString::Lookup

int CMapStringToString::Lookup(const char* key,CString& rValue);

Parameters

• const char* key -

• CString& rValue -

Return Value

int

Remarks

CMapStringToString::NewAssoc

CMapStringToString::CAssoc* CMapStringToString::NewAssoc();

Return Value

Returns CMapStringToString::CAssoc*

Remarks

CMapStringToString::RemoveAll

void CMapStringToString::RemoveAll();

Remarks

CMapStringToString::RemoveKey

int CMapStringToString::RemoveKey(const char* key);

Parameters

• const char* key -

Return Value

int

Remarks

6.76. CMapStringToString Class 1503

Page 1508: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.76.3 Operators

Name DescriptionCMapStringToString::operator[]

CMapStringToString::operator[]

CString& CMapStringToString::operator[](const char* key);

Parameters

• const char* key -

Return Value

Returns CString&

Remarks

6.77 CMarker Class

• Overview

• Quick Reference

• Constructors

• Methods

6.77.1 Overview

Note: The CMarker class handles

The structure used for this class is CMarker

6.77.2 Quick Reference

Quick Refvoid CMarker::CMarker()void CMarker::~CMarker()void CMarker::AsynchronousUpdate(CGameSprite* pSprite)void CMarker::Render(CVidMode* pVidMode, CGameSprite* pSprite)void CMarker::Render(CVidMode* pVidMode, CInfinity* pInfinity, CPoint& dest, long nXSize, long nYSize)unsigned char CMarker::SetType(unsigned char nType)

1504 Chapter 6. EE Game Classes (x86)

Page 1509: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.77.3 Constructors

Name DescriptionCMarker::CMarker Constructs a CMarker objectCMarker::CMarker Destroys a CMarker object

CMarker::CMarker

Constructs a CMarker object

void CMarker::CMarker();

Remarks

Constructs a CMarker object

CMarker::~CMarker

Destroys the CMarker object

void CMarker::~CMarker();

Remarks

Destroys the CMarker object

6.77.4 Methods

Name DescriptionCMarker::AsynchronousUpdateCMarker::RenderCMarker::SetType

CMarker::AsynchronousUpdate

void CMarker::AsynchronousUpdate(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.77. CMarker Class 1505

Page 1510: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMarker::Render

void CMarker::Render(CVidMode* pVidMode,CGameSprite* pSprite);

Parameters

• CVidMode* pVidMode - pointer to vid mode

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CMarker::Render

void CMarker::Render(CVidMode* pVidMode,CInfinity* pInfinity,CPoint& dest,long nXSize,long nYSize);

Parameters

• CVidMode* pVidMode -

• CInfinity* pInfinity -

• CPoint& dest -

• long nXSize -

• long nYSize -

Remarks

CMarker::SetType

unsigned char CMarker::SetType(unsigned char nType);

Parameters

• unsigned char nType -

Return Value

Returns unsigned char

Remarks

1506 Chapter 6. EE Game Classes (x86)

Page 1511: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.78 CMemINI Class

Quick Refvoid CMemINI::ClearINI()int CMemINI::Load(CString& Source)CMemINISection* CMemINI::GetSection(CString& SectionName)CMemINIValue* CMemINISection::Get(CString& Name)void CMemINISection::Set(CString& Name, CString& Value)CString CMemINIRes::GetLine()

6.78.1 Methods

Name DescriptionCMemINI::ClearINICMemINI::LoadCMemINI::GetSectionCMemINISection::GetCMemINISection::SetCMemINIRes::GetLine

CMemINI::ClearINI

void CMemINI::ClearINI();

Remarks

CMemINI::Load

int CMemINI::Load(CString& Source);

Parameters

• CString& Source -

Return Value

int

Remarks

CMemINI::GetSection

6.78. CMemINI Class 1507

Page 1512: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMemINISection* CMemINI::GetSection(CString& SectionName);

Parameters

• CString& SectionName -

Return Value

Returns CMemINISection*

Remarks

CMemINISection::Get

CMemINIValue* CMemINISection::Get(CString& Name);

Parameters

• CString& Name -

Return Value

Returns CMemINIValue*

Remarks

CMemINISection::Set

void CMemINISection::Set(CString& Name,CString& Value);

Parameters

• CString& Name -

• CString& Value -

Remarks

CMemINIRes::GetLine

CString CMemINIRes::GetLine();

Return Value

Returns CString

Remarks

1508 Chapter 6. EE Game Classes (x86)

Page 1513: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.79 CMessage Class

• Overview

• Quick Reference

• Methods

6.79.1 Overview

Note: The CMessage class handles messages used in a messaging queue

The structure used for this class is CMessage

6.79.2 Quick Reference

Quick Refvirtual short CMessage::GetCommType()virtual unsigned char CMessage::GetMsgSubType()virtual unsigned char CMessage::GetMsgType()virtual void CMessage::MarshalMessage(unsigned char** pData, unsigned long* dwSize)virtual void CMessage::Run()virtual int CMessage::UnmarshalMessage(unsigned char* pData, unsigned long dwSize)

6.79.3 Methods

Name DescriptionCMessage::GetCommType Returns the message communication typeCMessage::GetMsgSubType Returns the message sub-typeCMessage::GetMsgType Returns the message typeCMessage::MarshalMessage Marshal the CMessage objectCMessage::Run Execution of the messageCMessage::UnmarshalMessage Unmarshal the CMessage object

CMessage::GetCommType

Returns the message communication type

6.79. CMessage Class 1509

Page 1514: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual short CMessage::GetCommType();

Return Value

Returns short

Remarks

CMessage::GetMsgSubType

Returns the message sub-type

virtual unsigned char CMessage::GetMsgSubType();

Return Value

Returns unsigned char

Remarks

CMessage::GetMsgType

Returns the message type

virtual unsigned char CMessage::GetMsgType();

Return Value

Returns unsigned char

Remarks

CMessage::MarshalMessage

Transforming the memory representation of the CMessage object to a data format suitable for storage or transmission

virtual void CMessage::MarshalMessage(unsigned char** pData,unsigned long* dwSize);

Parameters

• unsigned char** pData - pointer to a pointer to data

• unsigned long* dwSize - pointer to a dword variable that contains the size of data pointed to by pData

Remarks

1510 Chapter 6. EE Game Classes (x86)

Page 1515: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessage::Run

Execution of the message

virtual void CMessage::Run();

Remarks

CMessage::UnmarshalMessage

Transforming a representation of the CMessage object that was used for storage or transmission to a representationof the object that is executable

virtual int CMessage::UnmarshalMessage(unsigned char\* pData,unsigned long dwSize);

Parameters

• unsigned char* pData - pointer to data

• unsigned long dwSize - size of data

Return Value

Returns int

Remarks

6.80 CMessageHandler Class

• Overview

• Quick Reference

• Constructors

• Methods

6.80.1 Overview

Note: The CMessageHandler class handles the management of messages in the message queue

The structure used for this class is CMessageHandler

6.80. CMessageHandler Class 1511

Page 1516: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.80.2 Quick Reference

Quick Refvoid CMessageHandler::CMessageHandler()void CMessageHandler::~CMessageHandler()short CMessageHandler::AddMessage(CMessage* message, int bForcePassThrough)void CMessageHandler::AsynchronousUpdate()short CMessageHandler::Broadcast(CMessage* message, unsigned char bSendMessageToSelf, unsigned charbIgnoreObjectControl)void CMessageHandler::ClearMessages()int CMessageHandler::ImportantMessage(unsigned char* pData, unsigned long dwSize)void CMessageHandler::PostAsynchronousUpdate()short CMessageHandler::Send(CMessage* message)

6.80.3 Constructors

Name DescriptionCMessageHandler::CMessageHandler Constructs a CMessageHandler objectCMessageHandler::CMessageHandler Destroys a CMessageHandler object

CMessageHandler::CMessageHandler

Constructs a CMessageHandler object

void CMessageHandler::CMessageHandler();

Remarks

Constructs a CMessageHandler object

CMessageHandler::~CMessageHandler

Destroys the CMessageHandler object

virtual void CMessageHandler::~CMessageHandler();

Remarks

Destroys the CMessageHandler object

1512 Chapter 6. EE Game Classes (x86)

Page 1517: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.80.4 Methods

Name DescriptionCMessageHandler::AddMessageCMessageHandler::AsynchronousUpdateCMessageHandler::BroadcastCMessageHandler::ClearMessagesCMessageHandler::ImportantMessageCMessageHandler::PostAsynchronousUpdateCMessageHandler::Send

CMessageHandler::AddMessage

short CMessageHandler::AddMessage(CMessage* message,int bForcePassThrough);

Parameters

• CMessage* message -

• int bForcePassThrough -

Return Value

Returns short

Remarks

CMessageHandler::AsynchronousUpdate

void CMessageHandler::AsynchronousUpdate();

Remarks

CMessageHandler::Broadcast

short CMessageHandler::Broadcast(CMessage* message,unsigned char bSendMessageToSelf,unsigned char bIgnoreObjectControl);

Parameters

• CMessage* message -

• unsigned char bSendMessageToSelf -

• unsigned char bIgnoreObjectControl -

6.80. CMessageHandler Class 1513

Page 1518: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns short

Remarks

CMessageHandler::ClearMessages

void CMessageHandler::ClearMessages();

Remarks

CMessageHandler::ImportantMessage

int CMessageHandler::ImportantMessage(unsigned char* pData,unsigned long dwSize);

Parameters

• unsigned char* pData - pointer to message data

• unsigned long dwSize - size of message data pointed to by pData

Return Value

Returns int

Remarks

CMessageHandler::PostAsynchronousUpdate

void CMessageHandler::PostAsynchronousUpdate();

Remarks

CMessageHandler::Send

short CMessageHandler::Send(CMessage* message);

Parameters

• CMessage* message -

Return Value

Returns short

Remarks

1514 Chapter 6. EE Game Classes (x86)

Page 1519: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.81 CMessage<Message> Classes

• Overview

• Methods

• Notes

• Specific CMessage<Message> Classes

6.81.1 Overview

Note: There are lots of Message classes that are similar in definition. Rather than document each one individually,there are all referenced here collectively instead. CMessage<Message> classes handle specific Messages, where<Message> is a placeholder for the Message name.

Note: Please see the CMessage Structures section for a Message structure used by a specific Message class.

Tip: See Notes for details of the Message classes, that the class methods documented here apply to. See SpecificCMessage<Message> Classes for classes that share the same methods as the others listed, but have additional classmethods as well.

6.81.2 Methods

Name* DescriptionCMessage<Message>::GetCommType Returns the message communication typeCMessage<Message>::GetMsgSubType Returns the message sub-typeCMessage<Message>::GetMsgType Returns the message typeCMessage<Message>::MarshalMessage Marshal the CMessage objectCMessage<Message>::Run Execution of the messageCMessage<Message>::UnmarshalMessage Unmarshal the CMessage object

* <Message> is a placeholder for the game Message name

CMessage<Message>::GetCommType

Returns the message communication type

virtual short CMessage<Message>::GetCommType();

6.81. CMessage<Message> Classes 1515

Page 1520: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns short

Remarks

CMessage<Message>::GetMsgSubType

Returns the message sub-type

virtual unsigned char CMessage<Message>::GetMsgSubType();

Return Value

Returns unsigned char

Remarks

CMessage<Message>::GetMsgType

Returns the message type

virtual unsigned char CMessage<Message>::GetMsgType();

Return Value

Returns unsigned char

Remarks

CMessage<Message>::MarshalMessage

Transforming the memory representation of the CMessage<Message> object to a data format suitable for storageor transmission

virtual void CMessage<Message>::MarshalMessage(unsigned char** pData,unsigned long* dwSize);

Parameters

• unsigned char** pData - pointer to a pointer to data

• unsigned long* dwSize - pointer to a dword variable that contains the size of data pointed to by pData

Remarks

CMessage<Message>::Run

Execution of the message

1516 Chapter 6. EE Game Classes (x86)

Page 1521: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CMessage<Message>::Run();

Remarks

CMessage<Message>::UnmarshalMessage

Transforming a representation of the CMessage<Message> object that was used for storage or transmission to arepresentation of the object that is executable

virtual int CMessage<Message>::UnmarshalMessage(unsigned char\* pData,unsigned long dwSize);

Parameters

• unsigned char* pData - pointer to data

• unsigned long dwSize - size of data

Return Value

Returns int

Remarks

6.81.3 Notes

Note: CMessage<Message> used in the documentation above is a placeholder for the actual class name, as listedbelow.

The following class names apply to the documented class methods above as the share the same basic methods for eachclass:

• CMessageAddClairvoyance

• CMessageAddEffect

• CMessageAllowDialogInterrupt

• CMessageAnimationChange

• CMessageChangeDirection

• CMessageCheckForForcedDialogEnd

• CMessageClearActions

• CMessageClearDialogActions

• CMessageClearDialogOnMachine

• CMessageClearGroupSlot

• CMessageClearTriggers

• CMessageColorReset

6.81. CMessage<Message> Classes 1517

Page 1522: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageCutSceneLite

• CMessageCutSceneModeStatus

• CMessageDisableAI

• CMessageDisplayTextRefPoint

• CMessageDoorOpen

• CMessageDropPath

• CMessageEnterDialogMode

• CMessageEscapeArea

• CMessageExitDialogMode

• CMessageExitStoreMode

• CMessageFadeColor

• CMessageFakeExpireCheck

• CMessageFamiliarAdd

• CMessageForcePosition

• CMessageLeaveParty

• CMessageMakeGlobal

• CMessageNonControlledDialogReturn

• CMessagePartyGold

• CMessagePlaySound

• CMessageRemoveItem

• CMessageReputationChange

• CMessageResetMorale

• CMessageSaveGame

• CMessageSetAISpeed

• CMessageSetActiveImprisonment

• CMessageSetActive

• CMessageSetAreaFlag

• CMessageSetBanterBlockFlag

• CMessageSetBanterBlockTime

• CMessageSetCommandPause

• CMessageSetCurrentActionId

• CMessageSetDialogPausing

• CMessageSetDialogWait

• CMessageSetDirection

• CMessageSetDrawPoly

• CMessageSetFamiliarSummoner

1518 Chapter 6. EE Game Classes (x86)

Page 1523: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CMessageSetForceActionPick

• CMessageSetHappiness

• CMessageSetInCutScene

• CMessageSetInDialog

• CMessageSetInStore

• CMessageSetNumTimesTalkedTo

• CMessageSetSequence

• CMessageSetSound

• CMessageSetStateOverrideFlag

• CMessageSetStateOverrideTime

• CMessageSetTarget

• CMessageSetTimeStop

• CMessageSpawnPtActivate

• CMessageSpawnPtSpawn

• CMessageSpriteDeath

• CMessageSpritePetrify

• CMessageStartCombatMusic

• CMessageStartFollow

• CMessageStartSong

• CMessageStaticSequence

• CMessageStaticStart

• CMessageStopEscapeArea

• CMessageStopFollow

• CMessageTakeCreatureItems

• CMessageUnlock

• CMessageUpdateMachineState

• CMessageUpdateReaction

• CMessageVisibilityMapMove

• CMessageVisualEffect

6.81.4 Specific CMessage<Message> Classes

Note: The following class names also apply to the above documentation, but also contain additional class methods.They are listed here as well for completeness as they share the same basic class methods, but they are documentedindividually as well due to the additional class methods they contain - see the specific class for details.

6.81. CMessage<Message> Classes 1519

Page 1524: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageAddAction Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageAddAction::CMessageAddAction Event message for this class

CMessageAddAction::CMessageAddAction

void CMessageAddAction::CMessageAddAction(CAIAction& action,long caller,long target);

Parameters

• CAIAction& action -

• long caller -

• long target -

Remarks

CMessageAddItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageAddItem::CMessageAddItem Event message for this class

1520 Chapter 6. EE Game Classes (x86)

Page 1525: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageAddItem::CMessageAddItem

void CMessageAddItem::CMessageAddItem(CItem& item,long caller,long target);

Parameters

• CItem& item -

• long caller -

• long target -

Remarks

CMessageAddVVCInternal Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageAddVVCInternal::CMessageAddVVCInternal Event message for this class

CMessageAddVVCInternal::CMessageAddVVCInternal

void CMessageAddVVCInternal::CMessageAddVVCInternal(CResRef& ref,long caller,long target);

Parameters

• CResRef & ref -

• long caller -

• long target -

Remarks

6.81. CMessage<Message> Classes 1521

Page 1526: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageChangeStoreMarkup Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageChangeStoreMarkup::CMessageChangeStoreMarkup Event message for this class

CMessageChangeStoreMarkup::CMessageChangeStoreMarkup

void CMessageChangeStoreMarkup::CMessageChangeStoreMarkup(CResRef& ref,long caller,long target);

Parameters

• CResRef & ref -

• long caller -

• long target -

Remarks

CMessageCleanAir Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageCleanAir::CMessageCleanAir Event message for this class

1522 Chapter 6. EE Game Classes (x86)

Page 1527: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageCleanAir::CMessageCleanAir

CMessageCleanAir::CMessageCleanAir(CResRef& resref,CResRef& table,long caller,long target);

Parameters

• CResRef & ref -

• CResRef & table -

• long caller -

• long target -

Remarks

CMessageColorChange Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageColorChange::CMessageColorChange Event message for this class

CMessageColorChange::CMessageColorChange

void CMessageColorChange::CMessageColorChange(unsigned char* colors,unsigned char bApply,long caller,long target);

Parameters

• unsigned char* colors -

• unsigned char bApply -

• long caller -

• long target -

6.81. CMessage<Message> Classes 1523

Page 1528: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns

Remarks

CMessageColorUpdate Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageColorUpdate::CMessageColorUpdate Event message for this class

CMessageColorUpdate::CMessageColorUpdate

void CMessageColorUpdate::CMessageColorUpdate(CGameSprite* pSprite,long caller,long target);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• long caller -

• long target -

Remarks

CMessageContainerAddItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1524 Chapter 6. EE Game Classes (x86)

Page 1529: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageContainerAddItem::CMessageContainerAddItem Event message for this class

CMessageContainerAddItem::CMessageContainerAddItem

void CMessageContainerAddItem::CMessageContainerAddItem(CItem& item,short slotNum,unsigned char bCompressContainer,long caller,long target);

Parameters

• CItem& item -

• short slotNum -

• unsigned char bCompressContainer -

• long caller -

• long target -

Remarks

CMessageContainerItems Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageContainerItems::CMessageContainerItems Event message for this class

6.81. CMessage<Message> Classes 1525

Page 1530: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageContainerItems::CMessageContainerItems

void CMessageContainerItems::CMessageContainerItems(CAreaFileContainer* pContainer,CCreatureFileItem* pItems,long caller,long target);

Parameters

• CAreaFileContainer* pContainer - pointer to container object

• CCreatureFileItem* pItems -

• long caller -

• long target -

Remarks

CMessageContainerItems::CMessageContainerItems

void CMessageContainerItems::CMessageContainerItems(CGameContainer* pContainer,long caller,long target);

Parameters

• CGameContainer* pContainer - pointer to container object

• long caller -

• long target -

Remarks

CMessageContainerStatus Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageContainerStatus::CMessageContainerStatus Event message for this class

1526 Chapter 6. EE Game Classes (x86)

Page 1531: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageContainerStatus::CMessageContainerStatus

void CMessageContainerStatus::CMessageContainerStatus(unsigned long flags,unsigned short trapActivated,unsigned short trapDetected,long caller,long target);

Parameters

• unsigned long flags -

• unsigned short trapActivated -

• unsigned short trapDetected -

• long caller -

• long target -

Remarks

CMessageDisplayTextRefSend Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageDisplayTextRefSend::CMessageDisplayTextRefSend Event message for this class

CMessageDisplayTextRefSend::CMessageDisplayTextRefSend

void CMessageDisplayTextRefSend::CMessageDisplayTextRefSend(unsigned long name,unsigned long text,unsigned long nameColor,unsigned long textColor,long marker,long caller,long target);

Parameters

• unsigned long name -

• unsigned long text -

6.81. CMessage<Message> Classes 1527

Page 1532: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long nameColor -

• unsigned long textColor -

• long marker -

• long caller -

• long target -

Remarks

CMessageDisplayTextRef Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageDisplayTextRef::CMessageDisplayTextRef Event message for this class

CMessageDisplayTextRef::CMessageDisplayTextRef

void CMessageDisplayTextRef::CMessageDisplayTextRef(unsigned long name,unsigned long text,unsigned long nameColor,unsigned long textColor,long marker,long caller,long target);

Parameters

• unsigned long name -

• unsigned long text -

• unsigned long nameColor -

• unsigned long textColor -

• long marker -

• long caller -

• long target -

Remarks

1528 Chapter 6. EE Game Classes (x86)

Page 1533: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageDisplayText Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageDisplayText::CMessageDisplayText Event message for this class

CMessageDisplayText::CMessageDisplayText

void CMessageDisplayText::CMessageDisplayText(CString& name,CString& text,unsigned long nameColor,unsigned long textColor,long marker,long caller,long target);

Parameters

• CString& name -

• CString& text -

• unsigned long nameColor -

• unsigned long textColor -

• long marker -

• long caller -

• long target -

Remarks

CMessageDoorStatus Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

6.81. CMessage<Message> Classes 1529

Page 1534: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageDoorStatus::CMessageDoorStatus Event message for this class

CMessageDoorStatus::CMessageDoorStatus

CMessageDoorStatus::CMessageDoorStatus(:ref:`CGameDoor<CGameDoor>`\* pDoor,long caller,long target);

Parameters

• CGameDoor* pDoor - pointer to door object

• long caller -

• long target -

Remarks

CMessageDreamScriptResRef Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageDreamScriptResRef::CMessageDreamScriptResRef Event message for this class

CMessageDreamScriptResRef::CMessageDreamScriptResRef

void CMessageDreamScriptResRef::CMessageDreamScriptResRef(:ref:`CResRef<CResRef>` dialog,long caller,long target);

Parameters

• CResRef dialog -

1530 Chapter 6. EE Game Classes (x86)

Page 1535: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• long caller -

• long target -

Remarks

CMessageEnterDialog Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageEnterDialog::CMessageEnterDialog Event message for this class

CMessageEnterDialog::CMessageEnterDialog

void CMessageEnterDialog::CMessageEnterDialog(unsigned long entryNum,unsigned char newDialog,long caller,long target,int bSuppressName,int bItemDialog);

Parameters

• unsigned long entryNum -

• unsigned char newDialog -

• long caller -

• long target -

• int bSuppressName -

• int bItemDialog -

Remarks

CMessageEnterStoreMode Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

6.81. CMessage<Message> Classes 1531

Page 1536: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageEnterStoreMode::CMessageEnterStoreMode Event message for this class

CMessageEnterStoreMode::CMessageEnterStoreMode

void CMessageEnterStoreMode::CMessageEnterStoreMode(CAIObjectType& cAIProprietor,CAIObjectType& cAICustomer,CResRef cResStore,long caller,long target);

Parameters

• CAIObjectType& cAIProprietor -

• CAIObjectType& cAICustomer -

• CResRef cResStore - resource reference of store

• long caller -

• long target -

Remarks

CMessageExploreArea Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageExploreArea::CMessageExploreArea Event message for this class

1532 Chapter 6. EE Game Classes (x86)

Page 1537: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageExploreArea::CMessageExploreArea

void CMessageExploreArea::CMessageExploreArea(CGameArea* pArea,long caller,long target);

Parameters

• CGameArea* pArea - pointer to area object

• long caller -

• long target -

Remarks

CMessageFamiliarRemoveResRef Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageFamiliarRemoveResRef::CMessageFamiliarRemoveResRef Event message for this class

CMessageFamiliarRemoveResRef::CMessageFamiliarRemoveResRef

void CMessageFamiliarRemoveResRef::CMessageFamiliarRemoveResRef(CResRef& resref,unsigned char nAlignment,unsigned char nLevel,long caller,long target);

Parameters

• CResRef & resref - resource reference of familiar

• unsigned char nAlignment -

• unsigned char nLevel -

• long caller -

• long target -

Remarks

6.81. CMessage<Message> Classes 1533

Page 1538: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageFireProjectile Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageFireProjectile::CMessageFireProjectile Event message for this class

CMessageFireProjectile::CMessageFireProjectile

void CMessageFireProjectile::CMessageFireProjectile(unsigned short projectileType,long projectileTargetId,CPoint& projectileTarget,long height,long caller,long target);

Parameters

• unsigned short projectileType -

• long projectileTargetId -

• CPoint& projectileTarget - x and y coordinates of projectile target

• long height -

• long caller -

• long target -

Remarks

CMessageFireSpell Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1534 Chapter 6. EE Game Classes (x86)

Page 1539: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageFireSpell::CMessageFireSpell Event message for this class

CMessageFireSpell::CMessageFireSpell

void CMessageFireSpell::CMessageFireSpell(:ref:`CString<CString>`\& dialogRes,long NPCId,long caller,long target);

Parameters

• CString& dialogRes -

• long NPCId -

• long caller -

• long target -

Remarks

CMessageForceRandomEncounter Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageForceRandomEncounter::CMessageForceRandomEncounter Event message for this class

CMessageForceRandomEncounter::CMessageForceRandomEncounter

void CMessageForceRandomEncounter::CMessageForceRandomEncounter(CString& ref,CString& entry,long caller,long target);

6.81. CMessage<Message> Classes 1535

Page 1540: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CString& ref -

• CString& entry -

• long caller -

• long target -

Remarks

CMessageInsertAction Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageInsertAction::CMessageInsertAction Event message for this class

CMessageInsertAction::CMessageInsertAction

CMessageInsertAction::CMessageInsertAction(CAIAction& action,long caller,long target);

Parameters

• CAIAction& action -

• long caller -

• long target -

Remarks

CMessageInsertResponse Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1536 Chapter 6. EE Game Classes (x86)

Page 1541: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageInsertResponse::CMessageInsertResponse Event message for this class

CMessageInsertResponse::CMessageInsertResponse

CMessageInsertResponse::CMessageInsertResponse(:ref:`CAIResponse<CAIResponse>`\& response,int checkCurrent,int clearActions,long caller,long target);

Parameters

• CAIResponse& response -

• int checkCurrent -

• int clearActions -

• long caller -

• long target -

Remarks

CMessageLoadDialog Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageLoadDialog::CMessageLoadDialog Event message for this class

CMessageLoadDialog::CMessageLoadDialog

6.81. CMessage<Message> Classes 1537

Page 1542: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CMessageLoadDialog::CMessageLoadDialog(CString& dialogRes,long NPCId,long caller,long target,int bItemDialog);

Parameters

• CString& dialogRes -

• long NPCId -

• long caller -

• long target -

• int bItemDialog -

Remarks

CMessageMoveGlobal Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageMoveGlobal::CMessageMoveGlobal Event message for this class

CMessageMoveGlobal::CMessageMoveGlobal

void CMessageMoveGlobal::CMessageMoveGlobal(CString& sArea,CPoint& ptStart,long caller,long target);

Parameters

• CString& sArea -

• CPoint& ptStart - x and y coordinates

• long caller -

• long target -

Remarks

1538 Chapter 6. EE Game Classes (x86)

Page 1543: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageNonControlledDialogStart Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageNonControlledDialogStart::CMessageNonControlledDialogStart Event message for this class

CMessageNonControlledDialogStart::CMessageNonControlledDialogStart

void CMessageNonControlledDialogStart::CMessageNonControlledDialogStart(CString& dialogRes,long NPCId,long caller,long target);

Parameters

• CString& dialogRes -

• long NPCId -

• long caller -

• long target -

Remarks

CMessagePlaySoundRef Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessagePlaySoundRef::CMessagePlaySoundRef Event message for this class

6.81. CMessage<Message> Classes 1539

Page 1544: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessagePlaySoundRef::CMessagePlaySoundRef

void CMessagePlaySoundRef::CMessagePlaySoundRef(CResRef cResSound,int sendToMe,long caller,long target);

Parameters

• CResRef cResSound - resource reference of sound to play

• int sendToMe -

• long caller -

• long target -

Remarks

CMessageRemoveReplies Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageRemoveReplies::CMessageRemoveReplies Event message for this class

CMessageRemoveReplies::CMessageRemoveReplies

void CMessageRemoveReplies::CMessageRemoveReplies(long entryIndex,long marker,unsigned long nameColor,CString& name,long caller,long target);

Parameters

• long entryIndex -

• long marker -

• unsigned long nameColor -

• CString& name -

1540 Chapter 6. EE Game Classes (x86)

Page 1545: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• long caller -

• long target -

Remarks

CMessageRemoveVVCInternal Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageRemoveVVCInternal::CMessageRemoveVVCInternal Event message for this class

CMessageRemoveVVCInternal::CMessageRemoveVVCInternal

void CMessageRemoveVVCInternal::CMessageRemoveVVCInternal(CResRef& ref,unsigned char level,long caller,long target);

Parameters

• CResRef & ref -

• unsigned char level -

• long caller -

• long target -

Remarks

CMessageReplaceItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

6.81. CMessage<Message> Classes 1541

Page 1546: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageReplaceItem::CMessageReplaceItem Event message for this class

CMessageReplaceItem::CMessageReplaceItem

void CMessageReplaceItem::CMessageReplaceItem(CItem& item,CResRef& ref,long caller,long target);

Parameters

• CItem& item -

• CResRef & ref -

• long caller -

• long target -

Remarks

CMessageScreenShake Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageScreenShake::CMessageScreenShake Event message for this class

CMessageScreenShake::CMessageScreenShake

void CMessageScreenShake::CMessageScreenShake(unsigned short duration,char magnitudeX,char magnitudeY,unsigned char bOverride,long caller,long target);

1542 Chapter 6. EE Game Classes (x86)

Page 1547: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• unsigned short duration -

• char magnitudeX -

• char magnitudeY -

• unsigned char bOverride -

• long caller -

• long target -

Remarks

CMessageSetAreaScript Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetAreaScript::CMessageSetAreaScript Event message for this class

CMessageSetAreaScript::CMessageSetAreaScript

CMessageSetAreaScript::CMessageSetAreaScript(CResRef script,short slot,long caller,long target);

Parameters

• CResRef script -

• short slot -

• long caller -

• long target -

Remarks

6.81. CMessage<Message> Classes 1543

Page 1548: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetCampaign Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetCampaign::CMessageSetCampaign Event message for this class

CMessageSetCampaign::CMessageSetCampaign

CMessageSetCampaign::CMessageSetCampaign(CResRef& campaign,long caller,long target);

Parameters

• CResRef & campaign -

• long caller -

• long target -

Remarks

CMessageSetCurrentArea Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetCurrentArea::CMessageSetCurrentArea Event message for this class

1544 Chapter 6. EE Game Classes (x86)

Page 1549: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetCurrentArea::CMessageSetCurrentArea

void CMessageSetCurrentArea::CMessageSetCurrentArea(CResRef dialog,long caller,long target);

Parameters

• CResRef dialog -

• long caller -

• long target -

Remarks

CMessageSetDialogResRef Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetDialogResRef::CMessageSetDialogResRef Event message for this class

CMessageSetDialogResRef::CMessageSetDialogResRef

void CMessageSetDialogResRef::CMessageSetDialogResRef(CResRef dialog,long caller,long target);

Parameters

• CResRef dialog -

• long caller -

• long target -

Remarks

6.81. CMessage<Message> Classes 1545

Page 1550: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetLastAttacker Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetLastAttacker::CMessageSetLastAttacker Event message for this class

CMessageSetLastAttacker::CMessageSetLastAttacker

void CMessageSetLastAttacker::CMessageSetLastAttacker(CAIObjectType& lAttacker,

long caller,long target);

Parameters

• CAIObjectType& lAttacker -

• long caller -

• long target -

Remarks

CMessageSetLastObject Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetLastObject::CMessageSetLastObject Event message for this class

1546 Chapter 6. EE Game Classes (x86)

Page 1551: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetLastObject::CMessageSetLastObject

void CMessageSetLastObject::CMessageSetLastObject(CAIObjectType& lAttacker,unsigned short type,long caller,long target);

Parameters

• CAIObjectType& lAttacker -

• unsigned short type -

• long caller -

• long target -

Remarks

CMessageSetMusic Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetMusic::CMessageSetMusic Event message for this class

CMessageSetMusic::CMessageSetMusic

void CMessageSetMusic::CMessageSetMusic(CResRef& sArea,unsigned char slot,int music,long caller,long target);

Parameters

• CResRef & sArea -

• unsigned char slot -

• int music -

• long caller -

• long target -

6.81. CMessage<Message> Classes 1547

Page 1552: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CMessageSetPath Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetPath::CMessageSetPath Event message for this class

CMessageSetPath::CMessageSetPath

CMessageSetPath::CMessageSetPath(long position,long* pPath,short nPath,short currPath,CPoint currDest,long caller,long target);

Parameters

• long position -

• long* pPath -

• short nPath -

• short currPath -

• CPoint currDest -

• long caller -

• long target -

Remarks

CMessageSetPortraitLarge Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1548 Chapter 6. EE Game Classes (x86)

Page 1553: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageSetPortraitLarge::CMessageSetPortraitLarge Event message for this class

CMessageSetPortraitLarge::CMessageSetPortraitLarge

void CMessageSetPortraitLarge::CMessageSetPortraitLarge(CResRef dialog,long caller,long target);

Parameters

• CResRef dialog -

• long caller -

• long target -

Remarks

CMessageSetPortraitSmall Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetPortraitSmall::CMessageSetPortraitSmall Event message for this class

CMessageSetPortraitSmall::CMessageSetPortraitSmall

void CMessageSetPortraitSmall::CMessageSetPortraitSmall(CResRef dialog,long caller,long target);

Parameters

• CResRef dialog -

6.81. CMessage<Message> Classes 1549

Page 1554: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• long caller -

• long target -

Remarks

CMessageSetRestEncounterProbability Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetRestEncounterProbability::CMessageSetRestEncounterProbability Event message for this class

CMessageSetRestEncounterProbability::CMessageSetRestEncounterProbability

void CMessageSetRestEncounterProbability::CMessageSetRestEncounterProbability(CResRef& sArea,unsigned char bDayProb,unsigned char prob,long caller,long target);

Parameters

• CResRef & sArea -

• unsigned char bDayProb -

• unsigned char prob -

• long caller -

• long target -

Remarks

CMessageSetTrigger Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1550 Chapter 6. EE Game Classes (x86)

Page 1555: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageSetTrigger::CMessageSetTrigger Event message for this class

CMessageSetTrigger::CMessageSetTrigger

void CMessageSetTrigger::CMessageSetTrigger(CAITrigger& trigger,long caller,long target);

Parameters

• CAITrigger& trigger -

• long caller -

• long target -

Remarks

CMessageSetVariableAll Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetVariableAll::CMessageSetVariableAll Event message for this class

CMessageSetVariableAll::CMessageSetVariableAll

void CMessageSetVariableAll::CMessageSetVariableAll(CString& sAreaName,CVariable& variable,long caller,long target);

Parameters

• CString& sAreaName -

6.81. CMessage<Message> Classes 1551

Page 1556: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CVariable& variable -

• long caller -

• long target -

Remarks

CMessageSetVariable Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetVariable::CMessageSetVariable Event message for this class

CMessageSetVariable::CMessageSetVariable

void CMessageSetVariable::CMessageSetVariable(CString& sGlobalName,CString& sAreaName,const long nValue,const unsigned char bIncrement,long caller,long target);

Parameters

• CString& sGlobalName -

• CString& sAreaName -

• const long nValue -

• const unsigned char bIncrement -

• long caller -

• long target -

Remarks

1552 Chapter 6. EE Game Classes (x86)

Page 1557: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetWorldmapAreaFlag Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetWorldmapAreaFlag::CMessageSetWorldmapAreaFlag Event message for this class

CMessageSetWorldmapAreaFlag::CMessageSetWorldmapAreaFlag

void CMessageSetWorldmapAreaFlag::CMessageSetWorldmapAreaFlag(:ref:`CResRef<CResRef>`\& area,int value,int setreset,long caller,long target);

Parameters

• CResRef & area -

• int value -

• int setreset -

• long caller -

• long target -

Remarks

CMessageSetWorldmap Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSetWorldmap::CMessageSetWorldmap Event message for this class

6.81. CMessage<Message> Classes 1553

Page 1558: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSetWorldmap::CMessageSetWorldmap

void CMessageSetWorldmap::CMessageSetWorldmap(CResRef& worldmap,long caller,long target);

Parameters

• CResRef & worldmap -

• long caller -

• long target -

Remarks

CMessageSpriteEquipment Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSpriteEquipment::CMessageSpriteEquipment Event message for this class

CMessageSpriteEquipment::CMessageSpriteEquipment

CMessageSpriteEquipment::CMessageSpriteEquipment(CGameSprite* pSprite,long caller,long target);

Parameters

• CGameSprite* pSprite -

• long caller -

• long target -

Remarks

1554 Chapter 6. EE Game Classes (x86)

Page 1559: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageSpriteUpdate Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageSpriteUpdate::CMessageSpriteUpdate Event message for this classCMessageSpriteUpdate::CorrectAreaTransition Event message for this class

CMessageSpriteUpdate::CMessageSpriteUpdate

void CMessageSpriteUpdate::CMessageSpriteUpdate(CGameSprite* pSprite,long caller,long target);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• long caller -

• long target -

Remarks

CMessageSpriteUpdate::CorrectAreaTransition

int CMessageSpriteUpdate::CorrectAreaTransition(CString sAreaName);

Parameters

• CString sAreaName - string containing area name

Return Value

Returns int

Remarks

6.81. CMessage<Message> Classes 1555

Page 1560: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStartScroll Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStartScroll::CMessageStartScroll Event message for this class

CMessageStartScroll::CMessageStartScroll

void CMessageStartScroll::CMessageStartScroll(CGameArea* pArea,CPoint src,CPoint dest,unsigned char speed,long caller,long target);

Parameters

• CGameArea* pArea -

• CPoint src -

• CPoint dest -

• unsigned char speed -

• long caller -

• long target -

Remarks

CMessageStartTextScreen Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

1556 Chapter 6. EE Game Classes (x86)

Page 1561: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageStartTextScreen::CMessageStartTextScreen Event message for this class

CMessageStartTextScreen::CMessageStartTextScreen

void CMessageStartTextScreen::CMessageStartTextScreen(CResRef& ref,long caller,long target);

Parameters

• CResRef & ref -

• long caller -

• long target -

Remarks

CMessageStartVEF Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStartVEF::CMessageStartVEF Event message for this class

CMessageStartVEF::CMessageStartVEF

void CMessageStartVEF::CMessageStartVEF(CResRef& ref,CString& area,CPoint& start,CPoint targetPt,short height,long caller,long target);

6.81. CMessage<Message> Classes 1557

Page 1562: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CResRef & ref -

• CString& area -

• CPoint& start -

• CPoint targetPt -

• short height -

• long caller -

• long target -

Remarks

CMessageStaticPalette Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStaticPalette::CMessageStaticPalette Event message for this class

CMessageStaticPalette::CMessageStaticPalette

void CMessageStaticPalette::CMessageStaticPalette(CResRef res,long caller,long target);

Parameters

• CResRef res -

• long caller -

• long target -

Remarks

1558 Chapter 6. EE Game Classes (x86)

Page 1563: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStoreAddItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStoreAddItem::CMessageStoreAddItem Event message for this class

CMessageStoreAddItem::CMessageStoreAddItem

CMessageStoreAddItem::CMessageStoreAddItem(CResRef& store,CCreatureFileItem& item,long caller,long target);

Parameters

• CResRef & store -

• CCreatureFileItem& item -

• long caller -

• long target -

Remarks

CMessageStoreDemand Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStoreDemand::CMessageStoreDemand Event message for this class

6.81. CMessage<Message> Classes 1559

Page 1564: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStoreDemand::CMessageStoreDemand

void CMessageStoreDemand::CMessageStoreDemand(CResRef& store,long caller,long target);

Parameters

• CResRef & store -

• long caller -

• long target -

Remarks

CMessageStoreRelease Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStoreRelease::CMessageStoreRelease Event message for this class

CMessageStoreRelease::CMessageStoreRelease

void CMessageStoreRelease::CMessageStoreRelease(CResRef& store,long caller,long target);

Parameters

• CResRef & store -

• long caller -

• long target -

Remarks

1560 Chapter 6. EE Game Classes (x86)

Page 1565: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStoreRemoveItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStoreRemoveItem::CMessageStoreRemoveItem Event message for this class

CMessageStoreRemoveItem::CMessageStoreRemoveItem

void CMessageStoreRemoveItem::CMessageStoreRemoveItem(CResRef& store,CResRef& itemId,unsigned long flags,long caller,long target);

Parameters

• CResRef & store -

• CResRef & itemId -

• unsigned long flags -

• long caller -

• long target -

Remarks

CMessageStoreReplaceItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageStoreReplaceItem::CMessageStoreReplaceItem Event message for this class

6.81. CMessage<Message> Classes 1561

Page 1566: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageStoreReplaceItem::CMessageStoreReplaceItem

void CMessageStoreReplaceItem::CMessageStoreReplaceItem(CResRef& store,CResRef& oldItem,CResRef& newItem,long caller,long target);

Parameters

• CResRef & store -

• CResRef & oldItem -

• CResRef & newItem -

• long caller -

• long target -

Remarks

CMessageTransformItem Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageTransformItem::CMessageTransformItem Event message for this class

CMessageTransformItem::CMessageTransformItem

void CMessageTransformItem::CMessageTransformItem(CItem& item,CString& ref,long caller,long target);

Parameters

• CItem& item -

• CString& ref -

• long caller -

• long target -

1562 Chapter 6. EE Game Classes (x86)

Page 1567: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CMessageTriggerStatus Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageTriggerStatus::CMessageTriggerStatus Event message for this class

CMessageTriggerStatus::CMessageTriggerStatus

void CMessageTriggerStatus::CMessageTriggerStatus(unsigned long flags,unsigned short trapActivated,unsigned short trapDetected,long caller,long target);

Parameters

• unsigned long flags -

• unsigned short trapActivated -

• unsigned short trapDetected -

• long caller -

• long target -

Remarks

CMessageUpdateImmunities Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

6.81. CMessage<Message> Classes 1563

Page 1568: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageUpdateImmunities::CMessageUpdateImmunities Event message for this class

CMessageUpdateImmunities::CMessageUpdateImmunities

void CMessageUpdateImmunities::CMessageUpdateImmunities(CImmunitiesAIType& list,long caller,long target);

Parameters

• CImmunitiesAIType& list -

• long caller -

• long target -

Remarks

CMessageUpdateScript Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageUpdateScript::CMessageUpdateScript Event message for this class

CMessageUpdateScript::CMessageUpdateScript

void CMessageUpdateScript::CMessageUpdateScript(CResRef& resref,short level,long caller,long target);

Parameters

• CResRef & resref -

1564 Chapter 6. EE Game Classes (x86)

Page 1569: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• short level -

• long caller -

• long target -

Remarks

CMessageUpdateStoredPartyLocations Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageUpdateStoredPartyLocations::CMessageUpdateStoredPartyLocations Event message for this class

CMessageUpdateStoredPartyLocations::CMessageUpdateStoredPartyLocations

void CMessageUpdateStoredPartyLocations::CMessageUpdateStoredPartyLocations(int bPocketPlane,CTypedPtrList* pList,long caller,long target);

Parameters

• int bPocketPlane -

• CTypedPtrList* pList -

• long caller -

• long target -

Remarks

CMessageUseItemCharges Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

6.81. CMessage<Message> Classes 1565

Page 1570: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Methods

Name DescriptionCMessageUseItemCharges::CMessageUseItemCharges Event message for this class

CMessageUseItemCharges::CMessageUseItemCharges

void CMessageUseItemCharges::CMessageUseItemCharges(short slotNum,short charges,short abilityNum,long caller,long target);

Parameters

• short slotNum -

• short charges -

• short abilityNum -

• long caller -

• long target -

Remarks

CMessageWeaponImmumityUpdate Class

Note: See CMessage<Message> Methods for methods that are shared by all Message classes. Only the additionalmethods specific to each class are documented here.

Methods

Name DescriptionCMessageWeaponImmumityUpdate::CMessageWeaponImmumityUpdate Event message for this class

1566 Chapter 6. EE Game Classes (x86)

Page 1571: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMessageWeaponImmumityUpdate::CMessageWeaponImmumityUpdate

void CMessageWeaponImmumityUpdate::CMessageWeaponImmumityUpdate(CGameSprite* pSprite,long caller,long target);

Parameters

• CGameSprite* pSprite -

• long caller -

• long target -

Remarks

6.82 CMoveList Class

The structure used for this class is CMoveList

Quick Refvoid CMoveList::ClearAll()void CMoveList::AIUpdate()void CMoveList::AddTail(CMoveListEntry* newNode)void CMoveList::CheckLoad(CGameArea* pArea)void CMoveList::Marshal(CGameArea* pMasterArea)void CMoveList::PostMarshal()void CMoveListEntry::CMoveListEntry()

6.82.1 Methods

Name DescriptionCMoveList::ClearAllCMoveList::AIUpdateCMoveList::AddTailCMoveList::CheckLoadCMoveList::MarshalCMoveList::PostMarshalCMoveListEntry::CMoveListEntry

CMoveList::ClearAll

void CMoveList::ClearAll();

Remarks

6.82. CMoveList Class 1567

Page 1572: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMoveList::AIUpdate

void CMoveList::AIUpdate();

Remarks

CMoveList::AddTail

void CMoveList::AddTail(CMoveListEntry* newNode);

Parameters

• CMoveListEntry* newNode -

Remarks

CMoveList::CheckLoad

void CMoveList::CheckLoad(CGameArea* pArea);

Parameters

• CGameArea* pArea -

Remarks

CMoveList::Marshal

void CMoveList::Marshal(CGameArea* pMasterArea);

Parameters

• CGameArea* pMasterArea -

Remarks

CMoveList::PostMarshal

void CMoveList::PostMarshal();

Remarks

CMoveListEntry::CMoveListEntry

1568 Chapter 6. EE Game Classes (x86)

Page 1573: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CMoveListEntry::CMoveListEntry();

Remarks

6.83 CMultiplayerSettings Class

• Overview

• Quick Reference

• Constructors

• Methods

6.83.1 Overview

Note: The CMultiplayerSettings class handles settings for multiplayer game sessions

The structure used for this class is CMultiplayerSettings

6.83. CMultiplayerSettings Class 1569

Page 1574: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.83.2 Quick Reference

Quick Refvoid CMultiplayerSettings::CMultiplayerSettings()void CMultiplayerSettings::~CMultiplayerSettings()int CMultiplayerSettings::GetCharacterControlledByPlayer(int nCharacterSlot)unsigned char CMultiplayerSettings::GetCharacterReady(int nCharacterSlot)unsigned char CMultiplayerSettings::GetCharacterStatus(int nCharacterSlot)unsigned long CMultiplayerSettings::GetDataSize()unsigned char CMultiplayerSettings::GetPermission(int nPlayerSlot, int nPermission)unsigned char CMultiplayerSettings::GetPlayerReady(short nPlayerSlot)unsigned char CMultiplayerSettings::GetPlayerReady(int idPlayer)void CMultiplayerSettings::InitializeSettings()void CMultiplayerSettings::Marshal(unsigned char** pData, unsigned long* dwSize)void CMultiplayerSettings::OnDropPlayer(int idDroppedPlayer)void CMultiplayerSettings::ResetPermissionsForPlayer(int nPlayerSlot, unsigned char bFlush)void CMultiplayerSettings::ResetServerOnLoadGame()void CMultiplayerSettings::SetAllowReformPartyOption(unsigned char bReformParty, unsigned char bFlush)void CMultiplayerSettings::SetArbitrationLockAllowInput(unsigned char bStatus)void CMultiplayerSettings::SetArbitrationLockStatus(unsigned char bStatus)void CMultiplayerSettings::SetCharacterControlledByPlayer(int nCharacterSlot, int nPlayerSlot, unsignedchar bFlush, unsigned char bCharacterUpdate)void CMultiplayerSettings::SetCharacterCreationLocation(CString areaName, CPoint ptStart)void CMultiplayerSettings::SetCharacterReady(int nCharacterSlot, unsigned char bReady, unsigned charbFlush)void CMultiplayerSettings::SetImportingCharacterOption(unsigned char nImportingBitField)void CMultiplayerSettings::SetListenToJoinOption(unsigned char bListenToJoin, unsigned char bFlush)void CMultiplayerSettings::SetPermission(int nPlayerSlot, int nPermission, unsigned char bPermissionValue,unsigned char bFlush)void CMultiplayerSettings::SetPlayerReady(int idPlayer, unsigned char bValue, unsigned char bFlush)void CMultiplayerSettings::SetRestrictStoreOption(unsigned char bRestrictStore)void CMultiplayerSettings::SetServerOnLoadGame(int localPlayerID)void CMultiplayerSettings::SignalCharacterStatus(int nCharacterSlot, unsigned char nStatus, unsigned charbLocalMessage, unsigned char bFlush)void CMultiplayerSettings::Unmarshal(unsigned char* pData, unsigned long dwSize)

6.83.3 Constructors

Name DescriptionCMultiplayerSettings::CMultiplayerSettings Constructs a CMultiplayerSettings objectCMultiplayerSettings::~CMultiplayerSettings Destroys a CMultiplayerSettings object

CMultiplayerSettings::CMultiplayerSettings

Constructs a CMultiplayerSettings object

1570 Chapter 6. EE Game Classes (x86)

Page 1575: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CMultiplayerSettings::CMultiplayerSettings();

Remarks

Constructs a CMultiplayerSettings object

CMultiplayerSettings::~CMultiplayerSettings

Destroys the CMultiplayerSettings object

void CMultiplayerSettings::~CMultiplayerSettings();

Remarks

Destroys the CMultiplayerSettings object

6.83.4 Methods

Name DescriptionCMultiplayerSettings::GetCharacterControlledByPlayerCMultiplayerSettings::GetCharacterReadyCMultiplayerSettings::GetCharacterStatusCMultiplayerSettings::GetDataSizeCMultiplayerSettings::GetPermissionCMultiplayerSettings::GetPlayerReadyCMultiplayerSettings::InitializeSettingsCMultiplayerSettings::MarshalCMultiplayerSettings::OnDropPlayerCMultiplayerSettings::ResetPermissionsForPlayerCMultiplayerSettings::ResetServerOnLoadGameCMultiplayerSettings::SetAllowReformPartyOptionCMultiplayerSettings::SetArbitrationLockAllowInputCMultiplayerSettings::SetArbitrationLockStatusCMultiplayerSettings::SetCharacterControlledByPlayerCMultiplayerSettings::SetCharacterCreationLocationCMultiplayerSettings::SetCharacterReadyCMultiplayerSettings::SetImportingCharacterOptionCMultiplayerSettings::SetListenToJoinOptionCMultiplayerSettings::SetPermissionCMultiplayerSettings::SetPlayerReadyCMultiplayerSettings::SetRestrictStoreOptionCMultiplayerSettings::SetServerOnLoadGameCMultiplayerSettings::SignalCharacterStatusCMultiplayerSettings::Unmarshal

6.83. CMultiplayerSettings Class 1571

Page 1576: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMultiplayerSettings::GetCharacterControlledByPlayer

int CMultiplayerSettings::GetCharacterControlledByPlayer(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

int

Remarks

CMultiplayerSettings::GetCharacterReady

unsigned char CMultiplayerSettings::GetCharacterReady(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

unsigned char

Remarks

CMultiplayerSettings::GetCharacterStatus

unsigned char CMultiplayerSettings::GetCharacterStatus(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

unsigned char

Remarks

CMultiplayerSettings::GetDataSize

unsigned long CMultiplayerSettings::GetDataSize();

Return Value

unsigned long

Remarks

1572 Chapter 6. EE Game Classes (x86)

Page 1577: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMultiplayerSettings::GetPermission

unsigned char CMultiplayerSettings::GetPermission(int nPlayerSlot, int nPermission);

Parameters

• int nPlayerSlot -

• int nPermission -

Return Value

unsigned char

Remarks

CMultiplayerSettings::GetPlayerReady

unsigned char CMultiplayerSettings::GetPlayerReady(short nPlayerSlot);

Parameters

• short nPlayerSlot -

Return Value

unsigned char

Remarks

CMultiplayerSettings::GetPlayerReady

unsigned char CMultiplayerSettings::GetPlayerReady(int idPlayer);

Parameters

• int idPlayer -

Return Value

unsigned char

Remarks

CMultiplayerSettings::InitializeSettings

void CMultiplayerSettings::InitializeSettings();

Remarks

6.83. CMultiplayerSettings Class 1573

Page 1578: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMultiplayerSettings::Marshal

void CMultiplayerSettings::Marshal(unsigned char** pData,unsigned long* dwSize);

Parameters

• unsigned char** pData -

• unsigned long* dwSize -

Remarks

CMultiplayerSettings::OnDropPlayer

void CMultiplayerSettings::OnDropPlayer(int idDroppedPlayer);

Parameters

• int idDroppedPlayer -

Remarks

CMultiplayerSettings::ResetPermissionsForPlayer

void CMultiplayerSettings::ResetPermissionsForPlayer(int nPlayerSlot,unsigned char bFlush);

Parameters

• int nPlayerSlot -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::ResetServerOnLoadGame

void CMultiplayerSettings::ResetServerOnLoadGame();

Remarks

CMultiplayerSettings::SetAllowReformPartyOption

1574 Chapter 6. EE Game Classes (x86)

Page 1579: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CMultiplayerSettings::SetAllowReformPartyOption(unsigned char bReformParty,unsigned char bFlush);

Parameters

• unsigned char bReformParty -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::SetArbitrationLockAllowInput

void CMultiplayerSettings::SetArbitrationLockAllowInput(unsigned char bStatus);

Parameters

• unsigned char bStatus -

Remarks

CMultiplayerSettings::SetArbitrationLockStatus

void CMultiplayerSettings::SetArbitrationLockStatus(unsigned char bStatus);

Parameters

• unsigned char bStatus -

Remarks

CMultiplayerSettings::SetCharacterControlledByPlayer

void CMultiplayerSettings::SetCharacterControlledByPlayer(int nCharacterSlot,int nPlayerSlot,unsigned char bFlush,unsigned char bCharacterUpdate);

Parameters

• int nCharacterSlot -

• int nPlayerSlot -

• unsigned char bFlush -

• unsigned char bCharacterUpdate -

Remarks

6.83. CMultiplayerSettings Class 1575

Page 1580: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMultiplayerSettings::SetCharacterCreationLocation

void CMultiplayerSettings::SetCharacterCreationLocation(CString areaName,CPoint ptStart);

Parameters

• CString areaName -

• CPoint ptStart -

Remarks

CMultiplayerSettings::SetCharacterReady

void CMultiplayerSettings::SetCharacterReady(int nCharacterSlot,unsigned char bReady,unsigned char bFlush);

Parameters

• int nCharacterSlot -

• unsigned char bReady -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::SetImportingCharacterOption

void CMultiplayerSettings::SetImportingCharacterOption(unsigned char→˓nImportingBitField);

Parameters

• unsigned char nImportingBitField -

Remarks

CMultiplayerSettings::SetListenToJoinOption

void CMultiplayerSettings::SetListenToJoinOption(unsigned char bListenToJoin,unsigned char bFlush);

Parameters

• unsigned char bListenToJoin -

1576 Chapter 6. EE Game Classes (x86)

Page 1581: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char bFlush -

Remarks

CMultiplayerSettings::SetPermission

void CMultiplayerSettings::SetPermission(int nPlayerSlot,int nPermission,unsigned char bPermissionValue,unsigned char bFlush);

Parameters

• int nPlayerSlot -

• int nPermission -

• unsigned char bPermissionValue -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::SetPlayerReady

void CMultiplayerSettings::SetPlayerReady(int idPlayer,unsigned char bValue,unsigned char bFlush);

Parameters

• int idPlayer -

• unsigned char bValue -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::SetRestrictStoreOption

void CMultiplayerSettings::SetRestrictStoreOption(unsigned char bRestrictStore);

Parameters

• unsigned char bRestrictStore -

Remarks

6.83. CMultiplayerSettings Class 1577

Page 1582: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CMultiplayerSettings::SetServerOnLoadGame

void CMultiplayerSettings::SetServerOnLoadGame(int localPlayerID);

Parameters

• int localPlayerID -

Remarks

CMultiplayerSettings::SignalCharacterStatus

void CMultiplayerSettings::SignalCharacterStatus(int nCharacterSlot,unsigned char nStatus,unsigned char bLocalMessage,unsigned char bFlush);

Parameters

• int nCharacterSlot -

• unsigned char nStatus -

• unsigned char bLocalMessage -

• unsigned char bFlush -

Remarks

CMultiplayerSettings::Unmarshal

void CMultiplayerSettings::Unmarshal(unsigned char* pData,unsigned long dwSize);

Parameters

• unsigned char* pData -

• unsigned long dwSize -

Remarks

6.84 CNetwork Class

• Overview

• Quick Reference

• Constructors

• Methods

1578 Chapter 6. EE Game Classes (x86)

Page 1583: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.84.1 Overview

Note: The CNetwork class handles network session management, messaging and information for multiplayer games

The structure used for this class is CNetwork

6.84.2 Quick Reference

Quick Refvoid CNetwork::CNetwork()void CNetwork::~CNetwork()void CNetwork::AddMessageToWindow(int idDPTo, unsigned long dwFlags, void* lpData, unsigned long dwDataSize)unsigned char CNetwork::AddPlayerToList(int dpID, CString& sPlayerName, unsigned char bIsHost, unsigned char bMakeVisible)bool CNetwork::CheckForServiceProviderConnection()unsigned char CNetwork::CheckSessionStatus(unsigned char bInThreadLoop)void CNetwork::CloseSession(unsigned char bAIResponsible)unsigned char CNetwork::CreatePlayer(int& nErrorCode)void CNetwork::EnumeratePlayers(unsigned char bProtectList)unsigned char CNetwork::EnumerateServiceProviders()unsigned char* CNetwork::FetchFrame(int& dpIDFrom, unsigned long& dwSize)unsigned char* CNetwork::FetchMessage(int& nMsgFrom, int& nMsgTo, unsigned long& dwSize)unsigned char* CNetwork::FetchSpecificMessage(CString& sPlayerName, unsigned char nSpecMsgType, unsigned char nSpecMsgSubType, unsigned long& dwSize)int CNetwork::FindPlayerIDByName(CString& sPlayerName, unsigned char bInvisible)int CNetwork::FindPlayerLocationByID(int dpID, unsigned char bInvisible)int CNetwork::FindPlayerLocationByName(CString& sPlayerName, unsigned char bInvisible)int CNetwork::FindPlayerNumberByName(CString& sPlayerName)int CNetwork::GetHostPlayerID()void CNetwork::GetHostPlayerName(CString& sHostName)unsigned char CNetwork::GetPasswordRequiredForSelectedSession()int CNetwork::GetPlayerID(const int nPlayerNumber)void CNetwork::GetPlayerName(const int nPlayerNumber, CString& sPlayerName)int CNetwork::GetRawPlayerID(const int nPlayerNumber)void CNetwork::GetRawPlayerName(const int nPlayerNumber, CString& sPlayerName)unsigned char CNetwork::GetServiceProviderType(int nServiceProviderNumber, int& nServiceProviderType)unsigned char CNetwork::HostNewSession()unsigned char CNetwork::InitializeConnectionToServiceProvider(unsigned char bHostingGame)unsigned char CNetwork::JoinSelectedSession(int& nErrorCode)unsigned char CNetwork::KickPlayer(int dpID, unsigned char bAIResponsible)unsigned char CNetwork::MakePlayersVisible()void CNetwork::OnCloseSession()void CNetwork::OnOpenSession()unsigned char CNetwork::PeekMessageA()unsigned char CNetwork::PeekSpecificMessage(CString& sPlayerName, unsigned char nSpecMsgType, unsigned char nSpecMsgSubType)void CNetwork::RemoveAllPlayersFromList()void CNetwork::RemoveInitializeConnection()unsigned char CNetwork::RemovePlayerFromList(int dpID, unsigned char bAIResponsible)void CNetwork::RequestSessionDetails(int sessionNumber)

Continued on next page

6.84. CNetwork Class 1579

Page 1584: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 31 – continued from previous pageunsigned char CNetwork::SelectServiceProvider(int nServiceProviderNumber)unsigned char CNetwork::SelectSession(int nSessionNumber)unsigned char CNetwork::SendMessageA(CString& sPlayerName, unsigned long dwFlags, void* lpData, unsigned long nDataSize)unsigned char CNetwork::SendSpecificMessage(CString& sPlayerName, unsigned long dwFlags, unsigned char nSpecMsgType, unsigned char nSpecMsgSubType, void* lpData, unsigned long nDataSize)void CNetwork::SetApplicationOptions(unsigned char bKeepAlive, unsigned char bMigrateHost)unsigned char CNetwork::SetInSessionOptions()void CNetwork::SetJoinEnabled(unsigned char bJoinEnabled)void CNetwork::SetMaxPlayers(int nMaxPlayers)void CNetwork::SlidingWindowReceive()void CNetwork::SlidingWindowSend()int CNetwork::ThreadLoop()void CNetwork::UnselectServiceProvider()void CNetwork::UnselectSession()

6.84.3 Constructors

Name DescriptionCNetwork::CNetwork Constructs a CNetwork objectCNetwork::~CNetwork Destroys a CNetwork object

CNetwork::CNetwork

Constructs a CNetwork object

void CNetwork::CNetwork();

Remarks

Constructs a CNetwork object

CNetwork::~CNetwork

Destroys the CNetwork object

void CNetwork::~CNetwork();

Remarks

Destroys the CNetwork object

6.84.4 Methods

Name DescriptionContinued on next page

1580 Chapter 6. EE Game Classes (x86)

Page 1585: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 32 – continued from previous pageCNetwork::AddMessageToWindowCNetwork::AddPlayerToListCNetwork::CheckForServiceProviderConnectionCNetwork::CheckSessionStatusCNetwork::CloseSessionCNetwork::CreatePlayerCNetwork::EnumeratePlayersCNetwork::EnumerateServiceProvidersCNetwork::FetchFrameCNetwork::FetchMessageCNetwork::FetchSpecificMessageCNetwork::FindPlayerIDByNameCNetwork::FindPlayerLocationByIDCNetwork::FindPlayerLocationByNameCNetwork::FindPlayerNumberByNameCNetwork::GetHostPlayerIDCNetwork::GetHostPlayerNameCNetwork::GetPasswordRequiredForSelectedSessionCNetwork::GetPlayerIDCNetwork::GetPlayerNameCNetwork::GetRawPlayerIDCNetwork::GetRawPlayerNameCNetwork::GetServiceProviderTypeCNetwork::HostNewSessionCNetwork::InitializeConnectionToServiceProviderCNetwork::JoinSelectedSessionCNetwork::KickPlayerCNetwork::MakePlayersVisibleCNetwork::OnCloseSessionCNetwork::OnOpenSessionCNetwork::PeekMessageACNetwork::PeekSpecificMessageCNetwork::RemoveAllPlayersFromListCNetwork::RemoveInitializeConnectionCNetwork::RemovePlayerFromListCNetwork::RequestSessionDetailsCNetwork::SelectServiceProviderCNetwork::SelectSessionCNetwork::SendMessageACNetwork::SendSpecificMessageCNetwork::SetApplicationOptionsCNetwork::SetInSessionOptionsCNetwork::SetJoinEnabledCNetwork::SetMaxPlayersCNetwork::SlidingWindowReceiveCNetwork::SlidingWindowSendCNetwork::ThreadLoopCNetwork::UnselectServiceProviderCNetwork::UnselectSession

6.84. CNetwork Class 1581

Page 1586: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::AddMessageToWindow

void CNetwork::AddMessageToWindow(int idDPTo,unsigned long dwFlags,void* lpData,unsigned long dwDataSize);

Parameters

• int idDPTo -

• unsigned long dwFlags -

• void* lpData -

• unsigned long dwDataSize -

Remarks

CNetwork::AddPlayerToList

unsigned char CNetwork::AddPlayerToList(int dpID,CString& sPlayerName,unsigned char bIsHost,unsigned char bMakeVisible);

Parameters

• int dpID -

• CString& sPlayerName -

• unsigned char bIsHost -

• unsigned char bMakeVisible -

Return Value

Returns unsigned char

Remarks

CNetwork::CheckForServiceProviderConnection

bool CNetwork::CheckForServiceProviderConnection();

Return Value

Returns bool

Remarks

1582 Chapter 6. EE Game Classes (x86)

Page 1587: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::CheckSessionStatus

unsigned char CNetwork::CheckSessionStatus(unsigned char bInThreadLoop);

Parameters

• unsigned char bInThreadLoop -

Return Value

Returns unsigned char

Remarks

CNetwork::CloseSession

void CNetwork::CloseSession(unsigned char bAIResponsible);

Parameters

• unsigned char bAIResponsible -

Remarks

CNetwork::CreatePlayer

unsigned char CNetwork::CreatePlayer(int& nErrorCode);

Parameters

• int& nErrorCode -

Return Value

Returns unsigned char

Remarks

CNetwork::EnumeratePlayers

void CNetwork::EnumeratePlayers(unsigned char bProtectList);

Parameters

• unsigned char bProtectList -

Remarks

CNetwork::EnumerateServiceProviders

6.84. CNetwork Class 1583

Page 1588: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CNetwork::EnumerateServiceProviders();

Return Value

Returns unsigned char

Remarks

CNetwork::FetchFrame

unsigned char* CNetwork::FetchFrame(int& dpIDFrom,unsigned long& dwSize);

Parameters

• int& dpIDFrom -

• unsigned long& dwSize -

Return Value

Returns unsigned char*

Remarks

CNetwork::FetchMessage

unsigned char* CNetwork::FetchMessage(int& nMsgFrom,int& nMsgTo,unsigned long& dwSize);

Parameters

• int& nMsgFrom -

• int& nMsgTo -

• unsigned long& dwSize -

Return Value

Returns unsigned char*

Remarks

1584 Chapter 6. EE Game Classes (x86)

Page 1589: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::FetchSpecificMessage

unsigned char* CNetwork::FetchSpecificMessage(CString& sPlayerName,unsigned char nSpecMsgType,unsigned char nSpecMsgSubType,unsigned long& dwSize);

Parameters

• CString& sPlayerName -

• unsigned char nSpecMsgType -

• unsigned char nSpecMsgSubType -

• unsigned long& dwSize -

Return Value

Returns unsigned char*

Remarks

CNetwork::FindPlayerIDByName

int CNetwork::FindPlayerIDByName(CString& sPlayerName,unsigned char bInvisible);

Parameters

• CString& sPlayerName -

• unsigned char bInvisible -

Return Value

Returns int

Remarks

CNetwork::FindPlayerLocationByID

int CNetwork::FindPlayerLocationByID(int dpID,unsigned char bInvisible);

Parameters

• int dpID -

• unsigned char bInvisible -

6.84. CNetwork Class 1585

Page 1590: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CNetwork::FindPlayerLocationByName

int CNetwork::FindPlayerLocationByName(CString& sPlayerName,unsigned char bInvisible);

Parameters

• CString& sPlayerName -

• unsigned char bInvisible -

Return Value

Returns int

Remarks

CNetwork::FindPlayerNumberByName

int CNetwork::FindPlayerNumberByName(CString& sPlayerName);

Parameters

• CString& sPlayerName -

Return Value

Returns int

Remarks

CNetwork::GetHostPlayerID

int CNetwork::GetHostPlayerID();

Return Value

Returns int

Remarks

CNetwork::GetHostPlayerName

1586 Chapter 6. EE Game Classes (x86)

Page 1591: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CNetwork::GetHostPlayerName(CString& sHostName);

Parameters

• CString& sHostName -

Remarks

CNetwork::GetPasswordRequiredForSelectedSession

unsigned char CNetwork::GetPasswordRequiredForSelectedSession();

Return Value

Returns unsigned char

Remarks

CNetwork::GetPlayerID

int CNetwork::GetPlayerID(const int nPlayerNumber);

Parameters

• const int nPlayerNumber -

Return Value

Returns int

Remarks

CNetwork::GetPlayerName

void CNetwork::GetPlayerName(const int nPlayerNumber,CString& sPlayerName);

Parameters

• const int nPlayerNumber -

• CString& sPlayerName -

Remarks

CNetwork::GetRawPlayerID

6.84. CNetwork Class 1587

Page 1592: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CNetwork::GetRawPlayerID(const int nPlayerNumber);

Parameters

• const int nPlayerNumber -

Return Value

Returns int

Remarks

CNetwork::GetRawPlayerName

void CNetwork::GetRawPlayerName(const int nPlayerNumber,CString& sPlayerName);

Parameters

• const int nPlayerNumber -

• CString& sPlayerName -

Remarks

CNetwork::GetServiceProviderType

unsigned char CNetwork::GetServiceProviderType(int nServiceProviderNumber,int& nServiceProviderType);

Parameters

• int nServiceProviderNumber -

• int& nServiceProviderType -

Return Value

Returns unsigned char

Remarks

CNetwork::HostNewSession

unsigned char CNetwork::HostNewSession();

Return Value

Returns unsigned char

Remarks

1588 Chapter 6. EE Game Classes (x86)

Page 1593: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::InitializeConnectionToServiceProvider

unsigned char CNetwork::InitializeConnectionToServiceProvider(unsigned char→˓bHostingGame);

Parameters

• unsigned char bHostingGame -

Return Value

Returns unsigned char

Remarks

CNetwork::JoinSelectedSession

unsigned char CNetwork::JoinSelectedSession(int& nErrorCode);

Parameters

• int& nErrorCode -

Return Value

Returns unsigned char

Remarks

CNetwork::KickPlayer

unsigned char CNetwork::KickPlayer(int dpID,unsigned char bAIResponsible);

Parameters

• int dpID -

• unsigned char bAIResponsible -

Return Value

Returns unsigned char

Remarks

6.84. CNetwork Class 1589

Page 1594: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::MakePlayersVisible

unsigned char CNetwork::MakePlayersVisible();

Return Value

Returns unsigned char

Remarks

CNetwork::OnCloseSession

void CNetwork::OnCloseSession();

Remarks

CNetwork::OnOpenSession

void CNetwork::OnOpenSession();

Remarks

CNetwork::PeekMessageA

unsigned char CNetwork::PeekMessageA();

Return Value

Returns unsigned char

Remarks

CNetwork::PeekSpecificMessage

unsigned char CNetwork::PeekSpecificMessage(CString& sPlayerName,unsigned char nSpecMsgType,unsigned char nSpecMsgSubType);

Parameters

• CString& sPlayerName -

• unsigned char nSpecMsgType -

• unsigned char nSpecMsgSubType -

1590 Chapter 6. EE Game Classes (x86)

Page 1595: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char

Remarks

CNetwork::RemoveAllPlayersFromList

void CNetwork::RemoveAllPlayersFromList();

Remarks

CNetwork::RemoveInitializeConnection

void CNetwork::RemoveInitializeConnection();

Remarks

CNetwork::RemovePlayerFromList

unsigned char CNetwork::RemovePlayerFromList(int dpID,unsigned char bAIResponsible);

Parameters

• int dpID -

• unsigned char bAIResponsible -

Return Value

Returns unsigned char

Remarks

CNetwork::RequestSessionDetails

void CNetwork::RequestSessionDetails(int sessionNumber);

Parameters

• int sessionNumber -

Remarks

6.84. CNetwork Class 1591

Page 1596: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::SelectServiceProvider

unsigned char CNetwork::SelectServiceProvider(int nServiceProviderNumber);

Parameters

• int nServiceProviderNumber -

Return Value

Returns unsigned char

Remarks

CNetwork::SelectSession

unsigned char CNetwork::SelectSession(int nSessionNumber);

Parameters

• int nSessionNumber -

Return Value

Returns unsigned char

Remarks

CNetwork::SendMessageA

unsigned char CNetwork::SendMessageA(CString& sPlayerName,unsigned long dwFlags,void* lpData,unsigned long nDataSize);

Parameters

• CString& sPlayerName -

• unsigned long dwFlags -

• void* lpData -

• unsigned long nDataSize -

Return Value

Returns unsigned char

Remarks

CNetwork::SendSpecificMessage

1592 Chapter 6. EE Game Classes (x86)

Page 1597: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned char CNetwork::SendSpecificMessage(CString& sPlayerName,unsigned long dwFlags,unsigned char nSpecMsgType,unsigned char nSpecMsgSubType,void* lpData,unsigned long nDataSize);

Parameters

• CString& sPlayerName -

• unsigned long dwFlags -

• unsigned char nSpecMsgType -

• unsigned char nSpecMsgSubType -

• void* lpData -

• unsigned long nDataSize -

Return Value

Returns unsigned char

Remarks

CNetwork::SetApplicationOptions

void CNetwork::SetApplicationOptions(unsigned char bKeepAlive,unsigned char bMigrateHost);

Parameters

• unsigned char bKeepAlive -

• unsigned char bMigrateHost -

Remarks

CNetwork::SetInSessionOptions

unsigned char CNetwork::SetInSessionOptions();

Return Value

Returns unsigned char

Remarks

6.84. CNetwork Class 1593

Page 1598: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CNetwork::SetJoinEnabled

void CNetwork::SetJoinEnabled(unsigned char bJoinEnabled);

Parameters

• unsigned char bJoinEnabled -

Return Value

Remarks

CNetwork::SetMaxPlayers

void CNetwork::SetMaxPlayers(int nMaxPlayers);

Parameters

• int nMaxPlayers -

Remarks

CNetwork::SlidingWindowReceive

void CNetwork::SlidingWindowReceive();

Remarks

CNetwork::SlidingWindowSend

void CNetwork::SlidingWindowSend();

Remarks

CNetwork::ThreadLoop

int CNetwork::ThreadLoop();

Return Value

Returns int

Remarks

CNetwork::UnselectServiceProvider

1594 Chapter 6. EE Game Classes (x86)

Page 1599: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CNetwork::UnselectServiceProvider();

Remarks

CNetwork::UnselectSession

void CNetwork::UnselectSession();

Remarks

6.85 CObjectMarker Class

• Overview

• Quick Reference

• Constructors

• Methods

6.85.1 Overview

Note: The CObjectMarker class handles object markers

The structure used for this class is CObjectMarker

6.85.2 Quick Reference

Quick Refvoid CObjectMarker::CObjectMarker()virtual void CObjectMarker::~CObjectMarker()virtual void CObjectMarker::AddToArea(CGameArea* pNewArea, CPoint& pos, long posZ, unsigned char list-Type)virtual unsigned char CObjectMarker::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CObjectMarker::CompressTime(unsigned long __formal)virtual void CObjectMarker::RemoveFromArea()virtual void CObjectMarker::Render(CGameArea* pArea, CVidMode* pVidMode)

6.85. CObjectMarker Class 1595

Page 1600: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.85.3 Constructors

Name DescriptionCObjectMarker::CObjectMarker Constructs a CObjectMarker objectCObjectMarker::CObjectMarker Destroys a CObjectMarker object

CObjectMarker::CObjectMarker

Constructs a CObjectMarker object

void CObjectMarker::CObjectMarker();

Remarks

Constructs a CObjectMarker object

CObjectMarker::~CObjectMarker

Destroys the CObjectMarker object

virtual void CObjectMarker::~CObjectMarker();

Remarks

Destroys the CObjectMarker object

6.85.4 Methods

Name DescriptionCObjectMarker::AddToAreaCObjectMarker::CanSaveGameCObjectMarker::CompressTimeCObjectMarker::RemoveFromAreaCObjectMarker::Render

CObjectMarker::AddToArea

virtual void CObjectMarker::AddToArea(CGameArea* pNewArea,CPoint& pos,long posZ,unsigned char listType);

Parameters

1596 Chapter 6. EE Game Classes (x86)

Page 1601: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CGameArea* pNewArea -

• CPoint& pos -

• long posZ -

• unsigned char listType -

Remarks

CObjectMarker::CanSaveGame

virtual unsigned char CObjectMarker::CanSaveGame(unsigned long& strError,int restCheck,int combatCheck);

Parameters

• unsigned long& strError -

• int restCheck -

• int combatCheck -

Return Value

Returns unsigned char

Remarks

CObjectMarker::CompressTime

virtual unsigned char CObjectMarker::CompressTime(unsigned long __formal);

Parameters

• unsigned long __formal -

Return Value

Returns unsigned char

Remarks

CObjectMarker::RemoveFromArea

virtual void CObjectMarker::RemoveFromArea();

Remarks

6.85. CObjectMarker Class 1597

Page 1602: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CObjectMarker::Render

virtual void CObjectMarker::Render(CGameArea* pArea,CVidMode* pVidMode);

Parameters

• CGameArea* pArea -

• CVidMode* pVidMode -

Remarks

6.86 CObList Class

Note: The CObList class handles ordered lists of nonunique CObject pointers accessible sequentially or by pointervalue

The structure used for this class is CObList

Quick Refvoid CObList::CObList(int nBlockSize)virtual void CObList::~CObList()POSITION* CObList::AddHead(CObArray* newElement)POSITION* CObList::AddTail(CObArray* newElement)POSITION* CObList::Find(CObArray* searchValue, POSITION* startAfter)CObList::CNode* CObList::NewNode(CObList::CNode* pPrev, CObList::CNode* pNext)void CObList::RemoveAll()void CObList::RemoveAt(POSITION* position)CObArray* CObList::RemoveHead()

6.86.1 Constructors

Name DescriptionCObList::CObList Constructs a CObList objectCObList::~CObList Destroys a CObList object

CObList::CObList

Constructs a CObList object

void CObList::CObList(int nBlockSize);

Parameters

• int nBlockSize - the memory-allocation granularity for extending the list

1598 Chapter 6. EE Game Classes (x86)

Page 1603: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CObList object

As the list grows, memory is allocated in units of nBlockSize entries. If a memory allocation fails, a CMemoryExcep-tion is thrown

CObList::~CObList

Destroys the CObList object

virtual void CObList::~CObList();

Remarks

Destroys the CObList object

6.86.2 Methods

Name DescriptionCObList::AddHead Adds an element to the head of the listCObList::AddTail Adds an element to the tail of the listCObList::Find Searches the list sequentially for matching specified pointerCObList::NewNode Creates a new node in the listCObList::RemoveAll Removes all the elements from this listCObList::RemoveAt Removes the specified element from this listCObList::RemoveHead Removes the element from the head of the list

CObList::AddHead

Adds an element (or all the elements in another list) to the head of the list (makes a new head)

POSITION* CObList::AddHead(CObArray* newElement);

Parameters

• CObArray* newElement - the CObject pointer to be added to this list

Return Value

Returns POSITION*, the value of the newly inserted element

Remarks

The list can be empty before the operation

6.86. CObList Class 1599

Page 1604: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CObList::AddTail

Adds an element (or all the elements in another list) to the tail of the list (makes a new tail)

POSITION* CObList::AddTail(CObArray* newElement);

Parameters

• CObArray* newElement - the CObject pointer to be added to this list

Return Value

The first version returns the POSITION value of the newly inserted element

Remarks

The list can be empty before the operation

CObList::Find

Searches the list sequentially to find the first CObject pointer matching the specified CObject pointer

POSITION* CObList::Find(CObArray* searchValue,POSITION* startAfter);

Parameters

• CObArray* searchValue - the object pointer to be found in this list

• POSITION* startAfter - the start position for the search

Return Value

A POSITION value that can be used for iteration or object pointer retrieval; NULL if the object is not found

Remarks

Note that the pointer values are compared, not the contents of the objects

CObList::NewNode

Creates a new node in the list

CObList::CNode* CObList::NewNode(CObList::CNode* pPrev,CObList::CNode* pNext);

Parameters

• CObList::CNode* pPrev - pointer to previous node

• CObList::CNode* pNext - pointer to next node

1600 Chapter 6. EE Game Classes (x86)

Page 1605: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns CObList::CNode*

Remarks

CObList::RemoveAll

Removes all the elements from this list and frees the associated CObList memory

void CObList::RemoveAll();

Remarks

No error is generated if the list is already empty.

When you remove elements from a CObList, you remove the object pointers from the list. It is your responsibilityto delete the objects themselves.

CObList::RemoveAt

Removes the specified element from this list

void CObList::RemoveAt(POSITION* position);

Parameters

• POSITION* position - The position of the element to be removed from the list

Remarks

When you remove an element from a CObList, you remove the object pointer from the list. It is your responsibilityto delete the objects themselves.

You must ensure that your POSITION value represents a valid position in the list

CObList::RemoveHead

Removes the element from the head of the list and returns a pointer to it

CObArray* CObList::RemoveHead();

Return Value

Returns CObArray* - the CObject pointer previously at the head of the list

Remarks

You must ensure that the list is not empty before calling RemoveHead

6.86. CObList Class 1601

Page 1606: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.87 CParticle Class

• Overview

• Quick Reference

• Constructors

• Methods

6.87.1 Overview

Note: The CParticle class handles particle effects typically seen in spells and spell effects

The structure used for this class is CParticle

6.87.2 Quick Reference

Quick Refvoid CParticle::CParticle(CParticle& copyParticle)void CParticle::CParticle(long posX, long posY, long posZ, long velX, long velY, long velZ, unsigned long rg-bInitColor, short nTailLength, long nGravity, unsigned short wType)void CParticle::CParticle()void CParticle::~CParticle()unsigned char CParticle::AsynchronousUpdate()int CParticle::GetParticleSize(unsigned short nBlobSize)void CParticle::Render(CPoint& worldToScreen, CRect& rClip, unsigned short nFlag, unsigned short nBlobSize)

6.87.3 Constructors

Name DescriptionCParticle::CParticle Constructs a CParticle objectCParticle::CParticle Destroys a CParticle object

CParticle::CParticle

Constructs a CParticle object

void CParticle::CParticle(CParticle& copyParticle);

Parameters

• CParticle& copyParticle -

1602 Chapter 6. EE Game Classes (x86)

Page 1607: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

Constructs a CParticle object

CParticle::CParticle

Constructs a CParticle object

void CParticle::CParticle(long posX,long posY,long posZ,long velX,long velY,long velZ,unsigned long rgbInitColor,short nTailLength,long nGravity,unsigned short wType);

Parameters

• long posX -

• long posY -

• long posZ -

• long velX -

• long velY -

• long velZ -

• unsigned long rgbInitColor -

• short nTailLength -

• long nGravity -

• unsigned short wType -

Remarks

Constructs a CParticle object

CParticle::CParticle

Constructs a CParticle object

void CParticle::CParticle();

Remarks

Constructs a CParticle object

6.87. CParticle Class 1603

Page 1608: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CParticle::~CParticle

Destroys the CParticle object

virtual void CParticle::~CParticle();

Remarks

Destroys the CParticle object

6.87.4 Methods

Name DescriptionCParticle::AsynchronousUpdateCParticle::GetParticleSizeCParticle::Render

CParticle::AsynchronousUpdate

unsigned char CParticle::AsynchronousUpdate();

Return Value

Returns unsigned char

Remarks

CParticle::GetParticleSize

int CParticle::GetParticleSize(unsigned short nBlobSize);

Parameters

• unsigned short nBlobSize -

Return Value

Returns int

Remarks

1604 Chapter 6. EE Game Classes (x86)

Page 1609: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CParticle::Render

void CParticle::Render(CPoint& worldToScreen,CRect& rClip,unsigned short nFlag,unsigned short nBlobSize);

Parameters

• CPoint& worldToScreen -

• CRect& rClip -

• unsigned short nFlag -

• unsigned short nBlobSize -

Remarks

6.88 CPathSearch Class

Quick Refvoid CPathSearch::CPathSearch(CPathNode** pListGrid)void CPathSearch::~CPathSearch()short CPathSearch::BuildPathList(CPathNode* startNode, CSearchBitmap* pSearchBitmap, int bBump)long CPathSearch::EstimateCost(long startPosition, long* goalPositions, short nGoalPosition)short CPathSearch::FindPath(tagPOINT* startPoint, tagPOINT* goalPoints, short nGoalPoints, long minNode-Limit, long maxNodeLimit, CSearchBitmap* pSearchBitmap, unsigned char* serviceState, int bBump, CRect*gridVirtual)long* CPathSearch::GetPath(short* nSteps)void CPathSearch::InsertOpenList(CPathNode* insertNode)CPathNode* CPathSearch::PopOpenList()void CPathSearch::SmoothPath(long* pivotPoints, long* pathSmooth, unsigned char actualCost, CSearch-Bitmap* pSearchBitmap, int bBump)void CPathSearch::SwapOpenListEntries(CPathNode* ancestor, CPathNode* descendant)

6.89 CPersistantEffect Class

Quick Refvirtual CPersistantEffect* CPersistantEffect::Copy()vvirtual void CPersistantEffect::AIUpdate(CGameSprite* __formal)virtual void CPersistantEffectBurningDeath::AIUpdate(CGameSprite* __formal)void CPersistantEffectApplyEffect::CPersistantEffectApplyEffect()void CPersistantEffectColorEffect::CPersistantEffectColorEffect()void CPersistantEffectDisease::CPersistantEffectDisease()void CPersistantEffectElectricDeath::CPersistantEffectElectricDeath()void CPersistantEffectFireDeath::CPersistantEffectFireDeath()virtual void CPersistantEffectApplyEffect::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectColorEffect::AIUpdate(CGameSprite* pSprite, long deltaT)

Continued on next page

6.88. CPathSearch Class 1605

Page 1610: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 33 – continued from previous pagevirtual void CPersistantEffectDisease::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectElectricDeath::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectFadeEffect::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectFireDeath::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectMove::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectPoison::AIUpdate(CGameSprite* pSprite, long deltaT)virtual void CPersistantEffectRegeneration::AIUpdate(CGameSprite* pSprite, long deltaT)virtual CPersistantEffect* CPersistantEffectApplyEffect::Copy()virtual CPersistantEffect* CPersistantEffectBurningDeath::Copy()virtual CPersistantEffect* CPersistantEffectDisease::Copy()virtual CPersistantEffect* CPersistantEffectMove::Copy()virtual CPersistantEffect* CPersistantEffectPoison::Copy()virtual CPersistantEffect* CPersistantEffectRegeneration::Copy()void CPersistantEffect::PlaySound(CResRef & res, CGameSprite* pSprite)void CPersistantEffect::SetPeriodCounter(long base)void CPersistantEffectDisease::SetRes(CString res)void CPersistantEffectDamage::SlowPoison(int factor)void CPersistantEffectListRegenerated::ClearAll()CPersistantEffectListRegenerated& CPersistantEffectListRegenerated::operator=(CPersistantEffectListRegenerated& y)void CPersistantEffectListRegenerated::AIUpdate(CGameSprite* pSprite, long deltaT)void CPersistantEffectListRegenerated::RemoveAllOfType(short effectId)void CPersistantEffectList::SlowPoison(short effectId, int factor)void CPersistantEffectListRegenerated::SlowPoison(short effectId, int factor)

6.90 CPlex Class

Quick Refvirtual CPlex* __stdcall CPlex::Create(CPlex*& pHead, unsigned int nMax, unsigned int cbElement) = 0void CPlex::FreeDataChain()

6.91 CProjectile Class

Quick Refvirtual void CProjectile::AIUpdate()virtual void CProjectile::CallBack()virtual void CProjectileNewScorcher::DeliverEffects()virtual int CProjectile::SaveProjectile()virtual void CProjectile::Marshal(SProjectileWrapper* pProjWrapper)virtual void CProjectile::SetTargetType(CAIObjectType& type)virtual void CProjectileChain::Render(CGameArea* __formal)virtual unsigned long CProjectile::GetDefaultRenderFlags()virtual void CProjectile::Fire(CGameArea* __formal)void CProjectile::CProjectile(CProjectileFileFormat* pProj)void CProjectile::CProjectile()void CProjectileArea::CProjectileArea(CProjectileAreaFileFormat* pProj, CGameAIBase* pSprite, CResRef resref)void CProjectileBAM::CProjectileBAM(CProjectileBAMFileFormat* pProj)

Continued on next page

1606 Chapter 6. EE Game Classes (x86)

Page 1611: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 34 – continued from previous pagevoid CProjectileBAM::CProjectileBAM(CResRef res)void CProjectileChain::CProjectileChain(unsigned short projectileType, CResRef animation, short num, short delay, int originCaster, CAIObjectType targetType)void CProjectileColorSpray::CProjectileColorSpray()void CProjectileConeOfCold::CProjectileConeOfCold()void CProjectileFall::CProjectileFall(CResRef res)void CProjectileFireHands::CProjectileFireHands()void CProjectileInvisibleTravelling::CProjectileInvisibleTravelling()void CProjectileLightningBoltGround::CProjectileLightningBoltGround()void CProjectileLightningBounce::CProjectileLightningBounce()void CProjectileLightningStorm::CProjectileLightningStorm(short num, unsigned short wPaletteType)void CProjectileMagicMissileMulti::CProjectileMagicMissileMulti(short num, unsigned short wPaletteType)void CProjectileMulti::CProjectileMulti(unsigned short projectileType, CProjectileBAMFileFormat* pProj, CGameAIBase* pSprite)void CProjectileMulti::CProjectileMulti(unsigned short projectileType, CResRef animation, short num, unsigned short wPaletteType)void CProjectileMushroom::CProjectileMushroom()void CProjectileNewScorcher::CProjectileNewScorcher(CProjectileBAMFileFormat* pProj)void CProjectileScorcher::CProjectileScorcher(CResRef res)void CProjectileSegment::CProjectileSegment(CResRef bam, CVidPalette* palette, short direction, short counter)void CProjectileSkyStrike::CProjectileSkyStrike(CString& animation, CString& sound, unsigned char colorCode, int bGlow, unsigned short duration)void CProjectileSkyStrikeBAM::CProjectileSkyStrikeBAM(CProjectileBAMFileFormat* pProj)void CProjectileSpellHit::CProjectileSpellHit(CString& animation, CString& sound, CString& palette, unsigned long dwRenderFlags, unsigned char transparency)void CProjectileTravelDoor::CProjectileTravelDoor(CString& animation, CString& sound, CString& palette, unsigned long dwRenderFlags, unsigned char transparency)virtual void CProjectile::~CProjectile()virtual void CProjectileBAM::~CProjectileBAM()virtual void CProjectileArea::AIUpdate()virtual void CProjectileBAM::AIUpdate()virtual void CProjectileChain::AIUpdate()virtual void CProjectileColorSpray::AIUpdate()virtual void CProjectileFall::AIUpdate()virtual void CProjectileFireHands::AIUpdate()virtual void CProjectileLightningBounce::AIUpdate()virtual void CProjectileMushroom::AIUpdate()virtual void CProjectileNewScorcher::AIUpdate()virtual void CProjectileScorcher::AIUpdate()virtual void CProjectileConeOfCold::AIUpdate()virtual void CProjectileSegment::AIUpdate()virtual void CProjectileSkyStrike::AIUpdate()virtual void CProjectileSpellHit::AIUpdate()virtual void CProjectileTravelDoor::AIUpdate()void CProjectile::AddEffect(CGameEffect* effect)void CProjectile::AddExtraEffects()virtual void CProjectileNewScorcher::ApplyEffectsToArea()virtual void CProjectileNewScorcher::ApplyEffectsToTarget(long* node, bool primaryTargetFlag)int CProjectileArea::AreaEffect(unsigned char bEntryOnly)bool CProjectileBAM::BounceAI()void CProjectileBAM::CalculateFXRect(CRect& rFX, CPoint& ptReference, long posZ, CVidCell* vidCell)virtual void CProjectileChain::CallBack()virtual unsigned char CProjectile::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)virtual unsigned char CProjectileArea::CanSaveGame(unsigned long& strError, int restCheck, int combatCheck)void CProjectile::ClearEffects()virtual unsigned char CProjectileArea::CompressTime(unsigned long deltaTime)

Continued on next page

6.91. CProjectile Class 1607

Page 1612: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 34 – continued from previous pagevirtual CProjectileArea* __cdecl **CProjectileArea::CreateObject(CGameArea* pArea, CAreaFileProjectileObject* pProjObject, unsigned char* pEffects, unsigned long nEffectSize, unsigned long deltaTime) = 0CProjectile* CProjectileArea::CreateSecondary(int& firstPass)virtual CProjectile* __cdecl CProjectile::DecodeProjectile(const unsigned short wProjectileType, CGameAIBase* pSprite) = 0virtual void CProjectile::DeliverEffects()long CProjectile::DetermineHeight(CGameObject* pCaster)void CProjectileConeOfCold::DoLayers(CPoint& start, short nLayers, short direction, int leftOnly)void CProjectileArea::Explode()virtual void CProjectileAmbiant::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileArea::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileBAM::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileChain::Fire(CGameArea* pArea, long source, long dummy, CPoint target, long nHeight, short nType)virtual void CProjectileColorSpray::Fire(CGameArea* pArea, long sourceId, long targetId, CPoint targetPos, long nHeight, short nType)virtual void CProjectileConeOfCold::Fire(CGameArea* pArea, long source, long dummyId, CPoint ptTarget, long nHeight, short nType)virtual void CProjectileFall::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileInstant::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileLightningBoltGround::Fire(CGameArea* pArea, long source, long dummy, CPoint target, long nHeight, short nType)virtual void CProjectileLightningBounce::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileMulti::Fire(CGameArea* pArea, long source, long dummy, CPoint target, long nHeight, short nType)virtual void CProjectileMushroom::Fire(CGameArea* pArea, CPoint source)virtual void CProjectileNewScorcher::Fire(CGameArea* pArea, long sourceId, long targetId, CPoint targetPos, long nHeight, short nType)virtual void CProjectileFireHands::Fire(CGameArea* pArea, long sourceId, long targetId, CPoint targetPos, long nHeight, short nType)virtual void CProjectileScorcher::Fire(CGameArea* pArea, long sourceId, long targetId, CPoint targetPos, long nHeight, short nType)virtual void CProjectileSegment::Fire(CGameArea* pArea, CPoint& start, long nHeight)virtual void CProjectileSkyStrike::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileSpellHit::Fire(CGameArea* pArea, long source, long target, CPoint targetPos, long nHeight, short nType)virtual void CProjectileTravelDoor::Fire(CGameArea* pArea, long sourceId, long targetId, CPoint targetPos, long nHeight, short nType)short CProjectile::GetDirection(CPoint target)virtual void CProjectile::GetPreview(CGameArea* pArea)virtual void CProjectileArea::GetPreview(CGameArea* pArea)virtual void CProjectileBAM::GetPreview(CGameArea* pArea)virtual void __cdecl CProjectile::GetStart(long id, CPoint& start, unsigned char bCastOffset) = 0virtual CAIObjectType CProjectile::GetTargetType()virtual CAIObjectType CProjectileArea::GetTargetType()virtual CAIObjectType CProjectileChain::GetTargetType()virtual void __cdecl CProjectileNewScorcher::InitVertexOffsets() = 0virtual void CProjectileArea::Marshal(SProjectileWrapper* pProjWrapper)virtual void CProjectileBAM::Move(CPoint ptCurrDest)virtual void CProjectile::OnArrival()virtual void CProjectileArea::OnArrival()virtual void CProjectileBAM::OnArrival()void CProjectile::PlaySound(CResRef res, int loop, int bFireAndForget)int CProjectileArea::RayAreaEffect()int CProjectileArea::RectangleAreaEffect()virtual void CProjectile::RemoveSelf()virtual void CProjectileBAM::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CProjectileNewScorcher::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CProjectileScorcher::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CProjectileSkyStrike::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CProjectileSkyStrikeBAM::Render(CGameArea* pArea, CVidMode* pVidMode)virtual void CProjectileSpellHit::Render(CGameArea* pArea, CVidMode* pVidMode)

Continued on next page

1608 Chapter 6. EE Game Classes (x86)

Page 1613: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 34 – continued from previous pagevirtual void CProjectileTravelDoor::Render(CGameArea* pArea, CVidMode* pVidMode)virtual int CProjectileArea::SaveProjectile()virtual void CProjectile::SetDefaultRenderFlags(unsigned long f)void CProjectileBAM::SetRange(unsigned short nRange, unsigned short nValue)virtual void CProjectileArea::SetTargetType(CAIObjectType& type)virtual void CProjectileChain::SetTargetType(CAIObjectType& type)void CProjectileBAM::SetVidCell(CVidCell* vidCell)

6.92 CPtrList Class

Quick Ref__POSITION* CPtrList::FindIndex(int nIndex)virtual void CPtrList::~CPtrList()void CPtrList::AddHead(CPtrList* pNewList)__POSITION* CPtrList::AddTail(void* newElement)void CPtrList::AddTail(CPtrList* pNewList)__POSITION* CPtrList::Find(void* searchValue, __POSITION* startAfter)__POSITION* CPtrList::InsertAfter(__POSITION* position, void* newElement)__POSITION* CPtrList::InsertBefore(__POSITION* position, void* newElement)CPtrList::CNode* CPtrList::NewNode(CPtrList::CNode* pPrev, CPtrList::CNode* pNext)void CPtrList::RemoveAll()void CPtrList::RemoveAt(__POSITION* position)void* CPtrList::RemoveTail()void CPtrList::CPtrList(int nBlockSize)__POSITION* CPtrList::AddHead(void* newElement)void* CPtrList::RemoveHead()

6.93 CRect Class

• Overview

• Quick Reference

• Constructors

• Methods

6.93.1 Overview

Note: The CRect class handles rectangles

The structure used for this class is CRect

6.92. CPtrList Class 1609

Page 1614: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.93.2 Quick Reference

Quick Refvoid CRect::CRect(RECT* lpSrcRect)int CRect::PtInRect(POINT point)int CRect::IntersectRect(RECT* lpRect1, RECT* lpRect2)int CRect::IsRectEmpty()void CRect::DeflateRect(int l, int t, int r, int b)void CRect::InflateRect(int l, int t, int r, int b)void CRect::NormalizeRect()

6.93.3 Constructors

Name DescriptionCRect::CRect Constructs a CRect object

CRect::CRect

Constructs a CRect object

void CRect::CRect(RECT* lpSrcRect);

Parameters

• RECT* lpSrcRect -

Remarks

Constructs a CRect object

6.93.4 Methods

Name DescriptionCRect::PtInRect Determines whether the specified point lies within the rectangleCRect::IntersectRect Intersects two source rectangles into the rectangleCRect::IsRectEmpty Determines whether the rectangle is emptyCRect::DeflateRect Decreases the width and height of the rectangleCRect::InflateRect Increases the width and height of the rectangleCRect::NormalizeRect

1610 Chapter 6. EE Game Classes (x86)

Page 1615: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRect::PtInRect

Determines whether the specified point lies within the rectangle

int CRect::PtInRect(POINT point);

Parameters

• POINT point - x and y coordinates used to determine if within rectangle

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CRect::IntersectRect

Calculates the intersection of two source rectangles and places the coordinates of the intersection source rectanglesinto the rectangle

int CRect::IntersectRect(RECT* lpRect1,RECT* lpRect2);

Parameters

• RECT* lpRect1 - pointer to source rectangle 1

• RECT* lpRect2 - pointer to source rectangle 2

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CRect::IsRectEmpty

Determines whether the rectangle is empty

int CRect::IsRectEmpty();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CRect::DeflateRect

Decreases the width and height of the rectangle

6.93. CRect Class 1611

Page 1616: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CRect::DeflateRect(int l,int t,int r,int b);

Parameters

• int l - amount to decrease left side of rectangle

• int t - amount to decrease top side of rectangle

• int r - amount to decrease right side of rectangle

• int b - amount to decrease bottom side of rectangle

Remarks

The rectangle is adjusted by the amounts specified

CRect::InflateRect

Increases the width and height of the rectangle

void CRect::InflateRect(int l,int t,int r,int b);

Parameters

• int l - amount to increase left side of rectangle

• int t - amount to increase top side of rectangle

• int r - amount to increase right side of rectangle

• int b - amount to increase bottom side of rectangle

Remarks

The rectangle is adjusted by the amounts specified

CRect::NormalizeRect

void CRect::NormalizeRect();

Remarks

1612 Chapter 6. EE Game Classes (x86)

Page 1617: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.94 CResRef Class

• Overview

• Quick Reference

• Constructors

• Operators

• Methods

6.94.1 Overview

Note: The CResRef class handles resource references (ResRef). Resource references are a maximum of 8 characterslong

The structure used for this class is CResRef

6.94.2 Quick Reference

Quick Refvoid CResRef::CResRef(CString& sName)void CResRef::CResRef(const char* pNewName)void CResRef::CResRef(unsigned char* resRef)void CResRef::CResRef()void CResRef::CopyToString(CString& str)int CResRef::EqualsSubstring(const char* pName)char* CResRef::GetResRef()void CResRef::GetResRef(unsigned char* resRef)CString CResRef::GetResRefStr()int CResRef::IsValid()void CResRef::MakeUpper()CResRef CResRef::operator=(CResRef & cResRef)CResRef CResRef::operator=(CString& sName)CResRef CResRef::operator=(const char* pName)CResRef CResRef::operator=(unsigned char* resRef)int CResRef::operator==(CString& sName)int CResRef::operator==(const char* pName)int CResRef::operator!=(CResRef & cResRef)int CResRef::operator!=(CString& sName)int CResRef::operator!=(const char* pName)CResRef CResRef::operator+=(CString& sName)

6.94. CResRef Class 1613

Page 1618: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.94.3 Constructors

Name DescriptionCResRef::CResRef Constructs a CResRef object

CResRef::CResRef

Constructs a CResRef object

void CResRef::CResRef(CString& sName);

Parameters

• CString& sName - string containing resource reference name

Remarks

Constructs a CResRef object

CResRef::CResRef

Constructs a CResRef object

void CResRef::CResRef(const char* pNewName);

Parameters

• const char* pNewName - string containing resource reference name

Remarks

Constructs a CResRef object

CResRef::CResRef

Constructs a CResRef object

void CResRef::CResRef(unsigned char* resRef);

Parameters

• unsigned char* resRef - string containing resource reference name

Remarks

Constructs a CResRef object

1614 Chapter 6. EE Game Classes (x86)

Page 1619: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CResRef::CResRef

Constructs a CResRef object

void CResRef::CResRef();

Remarks

Constructs a CResRef object

6.94.4 Methods

Name DescriptionCResRef::CopyToString Copy resource reference to a stringCResRef::EqualsSubstring Determines if specified substring is in the resource referenceCResRef::GetResRef Returns the resource referenceCResRef::GetResRefStr Returns the resource reference as a stringCResRef::IsValid Determines if the resource reference is validCResRef::MakeUpper Converts the resource reference characters to uppercase

CResRef::CopyToString

Copy resource reference to a string

void CResRef::CopyToString(CString& str);

Parameters

• CString& str - address of string to copy resource reference to

Remarks

CResRef::EqualsSubstring

Determines if specified substring is within the resource reference

int CResRef::EqualsSubstring(const char* pName);

Parameters

• const char* pName - pointer to substring to compare against resource reference

Return Value

Returns an int value representing 1 true, or 0 false otherwise

Remarks

6.94. CResRef Class 1615

Page 1620: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CResRef::GetResRef

Returns the resource reference

char\* CResRef::GetResRef();

Return Value

Returns char* - a pointer to the resource reference characters

Remarks

Resource references are a maximum of 8 characters long

CResRef::GetResRef

Returns the resource reference

void CResRef::GetResRef(unsigned char* resRef);

Parameters

• unsigned char* resRef - returns the resource reference characters into the buffer pointed to by resRef

Return Value

Returns

Remarks

Resource references are a maximum of 8 characters long

Ensure the buffer pointed to by resRef has enough space

CResRef::GetResRefStr

Returns the resource reference as a string

CString CResRef::GetResRefStr();

Return Value

Returns CString

Remarks

Similar to CResRef::GetResRef except returns the resource reference into a CString object

CResRef::IsValid

Determines if the resource reference is valid and that the resource exists

1616 Chapter 6. EE Game Classes (x86)

Page 1621: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CResRef::IsValid();

Return Value

Returns an int value representing 1 true, or 0 false otherwise

Remarks

CResRef::MakeUpper

Converts the resource reference characters to uppercase

void CResRef::MakeUpper();

Remarks

gsack01 would be converted to GSACK01

6.94.5 Operators

Name DescriptionCResRef::operator= Assign a resource referenceCResRef::operator= Assign a resource referenceCResRef::operator= Assign a resource referenceCResRef::operator= Assign a resource referenceCResRef::operator== Comparison of resource referenceCResRef::operator== Comparison of resource referenceCResRef::operator!= Comparison of resource referenceCResRef::operator!= Comparison of resource referenceCResRef::operator!= Comparison of resource referenceCResRef::operator+= Add and assign

CResRef::operator=

Assign a resource reference to this resource reference object

CResRef::operator=(CResRef& cResRef);

Parameters

• CResRef & cResRef - address of variable containing the resource reference object

Return Value

Returns CResRef

Remarks

6.94. CResRef Class 1617

Page 1622: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CResRef::operator=

Assign a resource reference to this resource reference object

CResRef::operator=(CString& sName);

Parameters

• CString& sName - address of variable containing a string of the resource reference name

Return Value

Returns CResRef

Remarks

CResRef::operator=

Assign a resource reference to this resource reference object

CResRef::operator=(const char* pName);

Parameters

• const char* pName - pointer to a string containing the resource reference name

Return Value

Returns CResRef

Remarks

CResRef::operator=

Assign a resource reference to this resource reference object

CResRef::operator=(unsigned char* resRef);

Parameters

• unsigned char* resRef - pointer to a string containing the resource reference name

Return Value

Returns CResRef

Remarks

1618 Chapter 6. EE Game Classes (x86)

Page 1623: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CResRef::operator==

Comparison of resource reference name

int CResRef::operator==(CString& sName);

Parameters

• CString& sName - address of variable containing string of resource reference name to compare

Return Value

Returns an int value representing 1 true if the comparison matches, or 0 false otherwise

Remarks

CResRef::operator==

Comparison of resource reference name

int CResRef::operator==(const char* pName);

Parameters

• const char* pName - pointer to string containing resource reference name to compare

Return Value

Returns an int value representing 1 true if the comparison matches, or 0 false otherwise

Remarks

CResRef::operator!=

Comparison of resource reference object

int CResRef::operator!=(CResRef& cResRef);

Parameters

• CResRef & cResRef - address of variable containing resource reference object to compare

Return Value

Returns an int value representing 1 true if the comparison does not match, or 0 false if it does match

Remarks

6.94. CResRef Class 1619

Page 1624: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CResRef::operator!=

Comparison of resource reference name

int CResRef::operator!=(CString& sName);

Parameters

• CString& sName - address of variable containing string of resource reference name to compare

Return Value

Returns an int value representing 1 true if the comparison does not match, or 0 false if it does match

Remarks

CResRef::operator!=

Comparison of resource reference name

int CResRef::operator!=(const char* pName);

Parameters

• const char* pName - pointer to string containing resource reference name to compare

Return Value

Returns an int value representing 1 true if the comparison does not match, or 0 false if it does match

Remarks

CResRef::operator+=

Add and assign

CResRef CResRef::operator+=(CString& sName);

Parameters

• CString& sName - address of variable containing string of resource reference name

Return Value

Returns :ref:‘CResRef<CResRef>

Remarks

6.95 CRuleTables Class

• Overview

• Quick Reference

• Constructors

1620 Chapter 6. EE Game Classes (x86)

Page 1625: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• Methods

6.95.1 Overview

Note: The CRuleTables class handles looking up externalized data stored in .ids files for use with the game enginerules: stats, classes, skills, experience, spells, proficiencies, THACO and other data that is used in the game or by thegame engine.

The structure used for this class is CRuleTables

6.95.2 Quick Reference

Quick Refvoid CRuleTables::CRuleTables()void CRuleTables::~CRuleTables()void CRuleTables::Add25StartEquipment(CGameSprite* pSprite, int forceDefault)void CRuleTables::AdjustStoreMarkup(unsigned char nCHR, short nReputation, unsigned long& dwMarkup)int CRuleTables::CanFall(unsigned long nClass, unsigned long kit)int CRuleTables::ClassGetsSpecializationAPR(unsigned char classID, unsigned long kitID)int CRuleTables::ClassUnarmedAPRDivisor(unsigned char classID, unsigned long kitID)int CRuleTables::ClassZeroSkillTHAC0Bonus(unsigned char classID, unsigned long kitID)int CRuleTables::Compare(unsigned int a, unsigned int b, int relation)int CRuleTables::FindSavingThrow(unsigned char nClass, unsigned char nSubClass, CDerivedStats& DStats, CString& sSavingThrow)int CRuleTables::FindTHAC0(unsigned char nClass, unsigned char nSubClass, CDerivedStats& DStats)CString CRuleTables::GetAchievement(CString global)unsigned long CRuleTables::GetAlignmentDescStringRef(unsigned char nAlignment)CString CRuleTables::GetAlignmentString(unsigned char nAlignment)void CRuleTables::GetAlignmentStringMixed(unsigned char nAlignment, CString& sAlignment)unsigned long CRuleTables::GetAlignmentStringRef(unsigned char nAlignment)int CRuleTables::GetAnimationSpeed(unsigned short animationId, int defaultSpeed)unsigned short CRuleTables::GetAnimationType(CAIObjectType& TypeAI)int CRuleTables::GetAreaCreatureNodeCount(CString areaName)CResRef CRuleTables::GetAutoSpellPick(unsigned char level, unsigned char index)int CRuleTables::GetBackstabMultiplier(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned long nKit)CString CRuleTables::GetBanterDialogFile(CString& name)long CRuleTables::GetBanterFrequency()long CRuleTables::GetBanterProbability()long CRuleTables::GetBanterReplayDelay()long CRuleTables::GetBanterSpecialProbability()void CRuleTables::GetBardSkillPoints(unsigned char nLevel, unsigned char& nPickPockets)unsigned char CRuleTables::GetBaseLore(CAIObjectType& TypeAI, CDerivedStats& DStats)void CRuleTables::GetBaseSkillPoints(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned char& nPickPockets, unsigned char& nOpenLocks, unsigned char& nFindTraps, unsigned char& nMoveSilently, unsigned char& nHideInShadows, unsigned char& nDetectIllusion, unsigned char& nSetTraps)int CRuleTables::GetBountyChance(unsigned short nReputation)void CRuleTables::GetChapterBMP(CResRef & cResText, unsigned char nRace, unsigned char nClass, unsigned short nReputation, CResRef & cResPower, CTypedPtrList& list)int CRuleTables::GetChapterSong(CResRef & cResText)

Continued on next page

6.95. CRuleTables Class 1621

Page 1626: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 35 – continued from previous pageCList* CRuleTables::GetChapterText(CResRef & cResText, unsigned char nRace, unsigned char nClass, unsigned short nReputation, CResRef & cResPower)unsigned long CRuleTables::GetCharacterSound(CString& sCustomSlot, unsigned long nSoundSlot, unsigned char nSex)void CRuleTables::GetCharacterStateDescription(int nState, CString& sDescription)int CRuleTables::GetClassAPRBonus(CAIObjectType& TypeAI, CDerivedStats& DStats, short proficiencyLevel)C2DArray* CRuleTables::GetClassAbilityTable(unsigned char nClass, unsigned long nSpecialist)unsigned long CRuleTables::GetClassBriefDescription(int classID, int kitID, unsigned long dwFlags)unsigned long CRuleTables::GetClassFallenNotice(int classID, int kitID, unsigned long dwFlags)unsigned long CRuleTables::GetClassFromKitId(unsigned long kit)short CRuleTables::GetClassProficiency(unsigned char nClass, unsigned char nActiveClass, unsigned char nInactiveClass, int bInactiveUsable, unsigned long nProfType, unsigned long nSpecialist)CString CRuleTables::GetClassString(unsigned char nClass, unsigned long nSpecialist)unsigned long CRuleTables::GetClassStringLower(unsigned char nClass, unsigned long nSpecialist, unsigned long dwFlags, CString& sClass, CGameSprite* pSprite)void CRuleTables::GetClassStringMixed(unsigned char nClass, unsigned long nSpecialist, unsigned long dwFlags, CString& sClass, CGameSprite* pSprite)int CRuleTables::GetClassTHAC0Bonus(CGameSprite* pSprite)unsigned long CRuleTables::GetClassTextBiography(int classID, int kitID, unsigned long dwFlags)unsigned long CRuleTables::GetClassTextDescription(int classID, int kitID, unsigned long dwFlags)unsigned long CRuleTables::GetClassTextLower(int classID, int kitID, unsigned long dwFlags)unsigned long CRuleTables::GetClassTextMixed(int classID, int kitID, unsigned long dwFlags)int CRuleTables::GetConFatigueBonus(unsigned char nCON)unsigned char CRuleTables::GetContingencyCondition(unsigned long& strRef, unsigned long& description, unsigned short id)unsigned char CRuleTables::GetContingencyTarget(unsigned long& strRef, unsigned long& description, unsigned short id)int CRuleTables::GetCripplingStrike(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned long nKit)int CRuleTables::GetCustomSound(CString& end, unsigned char soundId)void CRuleTables::GetDefaultColours(CGameSprite* pSprite)CString CRuleTables::GetDefaultScript(CGameSprite* pSprite)unsigned char CRuleTables::GetDonateRumorChance(unsigned long dwGold)CString CRuleTables::GetDreamFile(CString& name)int CRuleTables::GetDualClass(unsigned char nClass1, unsigned char nClass2, unsigned char& nDualClass)void CRuleTables::GetDualClassMinAbilitiesDst(unsigned char nSubClass, unsigned long nSpecialistMage, unsigned char& nMinSTR, unsigned char& nMinDEX, unsigned char& nMinCON, unsigned char& nMinINT, unsigned char& nMinWIS, unsigned char& nMinCHR)void CRuleTables::GetDualClassMinAbilitiesSrc(unsigned char nSubClass, unsigned long nSpecialistMage, unsigned char& nMinSTR, unsigned char& nMinDEX, unsigned char& nMinCON, unsigned char& nMinINT, unsigned char& nMinWIS, unsigned char& nMinCHR)int CRuleTables::GetExtraAnimation(unsigned short animationId, char* armorMaxCode, unsigned char* bCanLieDown, unsigned char* bDetectedByInfravision, int* bDoubleBlit, int* bEquipHelmet, int* bSplitBams, unsigned char* colorBlood, unsigned char* colorChunks, int* falseColor, CString* heightCode, CString* heightCodeHelmet, CString* heightCodeShieldPaperDoll, unsigned long* nSndFreq, unsigned char* personalSpace, CString* resref, CString* resrefPaperDoll, unsigned char* resrefArmorBase, unsigned char* resrefArmorSpecific, CString* resrefShadow)CResRef CRuleTables::GetFamiliar(unsigned char alignment)void CRuleTables::GetGenderStringMixed(unsigned char nGender, CString& sGender)void CRuleTables::GetHPCONBonus(unsigned char nClass, unsigned char nCON, int& nBonus, int& nMinRoll)int CRuleTables::GetHPCONBonusTotal(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned char nCON)int CRuleTables::GetHitPoints(CAIObjectType& TypeAI, CDerivedStats& OldDStats, CDerivedStats& NewDStats, unsigned char nCON)int CRuleTables::GetInnateClassSkill(CGameSprite* pSprite, CString sSkill)void CRuleTables::GetIntoxicationInfo(unsigned char nCON, int& nIntoxicationRate, int& nRecoveryRate, int& nIntoxicationCap)unsigned long CRuleTables::GetItemAbilityDescription(CResRef & cResItem, int nAbilityNum)CResRef CRuleTables::GetItemDropSound(int itemtype)CResRef CRuleTables::GetItemTakeSound(int itemtype)int CRuleTables::GetItemTypeSlot(int itemtype)int CRuleTables::GetItemUseFlag(CString item)int CRuleTables::GetItemUseString(CString item)CString CRuleTables::GetItemUseUser(CString item)CString CRuleTables::GetItemUseUserName(CString item)CString CRuleTables::GetJoinDialogFile(CString& name)int CRuleTables::GetLayOnHandsAmount(CAIObjectType& TypeAI, CDerivedStats& DStats)CGameAbilityList* CRuleTables::GetLevelUpAbilities(CGameSprite* pSprite, int nLevel)void CRuleTables::GetLevelUpAbilityTableString(CGameSprite* pSprite, int nLevel, CString& sTableName)int CRuleTables::GetLoreBonus(unsigned char nWIS, unsigned char nINT)

Continued on next page

1622 Chapter 6. EE Game Classes (x86)

Page 1627: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 35 – continued from previous pageCResRef CRuleTables::GetMageSpell(int nSpellLevel, int nSpellIndex)int CRuleTables::GetMaxMemorizedSpellsMage(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned long nSpecialistMage, int nSpellLevel)int CRuleTables::GetMaxMemorizedSpellsPriest(CAIObjectType& TypeAI, CDerivedStats& DStats, int nSpellLevel, int& nBonus)int CRuleTables::GetMaxMemorizedSpellsRanger(CAIObjectType& TypeAI, CDerivedStats& DStats, int nSpellLevel)int CRuleTables::GetMaxSpellLevel(CDerivedStats& DStats)int CRuleTables::GetMaxSpellsPerLevel(CDerivedStats& DStats)int CRuleTables::GetMaximumProficiency(int nLevel, int nClass)CString CRuleTables::GetMonkFist(int nLevel)void CRuleTables::GetMovieDescription(CString& sMovie, CString& sDescription)C2DArray* CRuleTables::GetNPCChart()void CRuleTables::GetNextLevel(CAIObjectType& TypeAI, CDerivedStats& DStats)void CRuleTables::GetNextLevelSubClass(unsigned char nClass, unsigned char nSubClass, unsigned char nActiveClass, unsigned char nInactiveClass, CDerivedStats& DStats)unsigned long CRuleTables::GetNextLevelXP(unsigned char nClass, unsigned char nLevel)int CRuleTables::GetNumLevelUpAbilities(CAIObjectType& TypeAI, CDerivedStats& OldDStats, CDerivedStats& NewDStats, unsigned char& nLevel)int CRuleTables::GetNumPriestSpells(int nSpellLevel)int CRuleTables::GetNumQuickWeaponSlots(unsigned char nClass, unsigned char nActiveClass, unsigned char nInactiveClass, int bInactiveUsable, unsigned long nSpecialist)CString CRuleTables::GetPostDialogFile(CString& name)CResRef CRuleTables::GetPriestSpell(int nSpellLevel, int nSpellIndex)void CRuleTables::GetProfBonuses(int nProf, int nLev, int* damR, int* damL, int* thacR, int* thacL, int* ACB, int* ACM, int* speed, int* crit)unsigned long CRuleTables::GetProficiencyClassIndex(unsigned char nClass, unsigned long nSpecialist)unsigned long CRuleTables::GetProficiencyDescription(unsigned long id)unsigned long CRuleTables::GetProficiencyId(unsigned long index)unsigned long CRuleTables::GetProficiencyName(unsigned long id)int CRuleTables::GetProficiencySlots(CAIObjectType& TypeAI, CDerivedStats& OldDStats, CDerivedStats& NewDStats, unsigned char GetInactive)int CRuleTables::GetRaceFeatures(int race, int type)CString CRuleTables::GetRaceString(unsigned char nRace)void CRuleTables::GetRaceStringMixed(unsigned char nRace, CString& sRace)int CRuleTables::GetRaceTHAC0Bonus(int itemType, unsigned char race)unsigned long CRuleTables::GetRaceTextBiography(int raceID)unsigned long CRuleTables::GetRaceTextLower(int raceID)unsigned long CRuleTables::GetRaceTextMixed(int raceID)int CRuleTables::GetRaiseDeadCost(CAIObjectType& TypeAI, CDerivedStats& DStats)void CRuleTables::GetRandomItem(CString& item)unsigned long CRuleTables::GetRangerHatedRaceHelp(short index)unsigned char CRuleTables::GetRangerHatedRaceIds(short index)unsigned long CRuleTables::GetRangerHatedRaceStrref(short index)unsigned long CRuleTables::GetRangerHatedRaceStrrefFromIds(short ids)void CRuleTables::GetRangerSkillPoints(unsigned char nLevel, unsigned char& nStealth)unsigned long CRuleTables::GetReputationDescription(const short nReputation)int CRuleTables::GetSavingThrow(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned char nCON, CString& sSavingThrow)void CRuleTables::GetScriptDescription(CString& sScript, CString& sTitle, CString& sDescription)int CRuleTables::GetSetSnareLimit(CGameSprite* pSprite)void CRuleTables::GetShamanSkillPoints(unsigned char nLevel, unsigned char& nDetect)void CRuleTables::GetSkillBonus(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned short& nPickPockets, unsigned short& nOpenLocks, unsigned short& nFindTraps, unsigned short& nMoveSilently, unsigned short& nHideInShadows, unsigned short& nDetectIllusion, unsigned short& nSetTraps)void CRuleTables::GetSkillBonusValue(CAIObjectType& TypeAI, CDerivedStats& DStats, int& nPickPocketsBonus, int& nOpenLocksBonus, int& nFindTrapsBonus, int& nMoveSilentlyBonus, int& nHideInShadowsBonus, int& nDetectIllusionBonus, int& nSetTrapsBonus)int CRuleTables::GetSlotStealSkill(int slot)int CRuleTables::GetSneakAttack(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned long nKit)unsigned char CRuleTables::GetSoundEnvironment(CString stAreaRef, unsigned long& dwEnvironment, float& fDamping, float& fDecay, float& fVolume, float& fReverbLevel)int CRuleTables::GetSpecialItemPriority(CResRef & itemName, int type)int CRuleTables::GetSpellAbilityValue(int classID, int nAbilityColumn)

Continued on next page

6.95. CRuleTables Class 1623

Page 1628: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 35 – continued from previous pagevoid CRuleTables::GetSpellDescription(CString& sSpell, CString& sDescription)int CRuleTables::GetSpellProtectionRelation(int nRow)int CRuleTables::GetSpellProtectionStat(int nRow)int CRuleTables::GetSpellProtectionValue(int nRow)void CRuleTables::GetStartArea(CResRef & cResArea, CPoint& ptView)void CRuleTables::GetStartAreaMP(CResRef & cResArea, CPoint& ptView)void CRuleTables::GetStartAreaTutorial(CResRef & cResArea, CPoint& ptView)CPoint CRuleTables::GetStartPoint(int nCharacterSlot)CPoint CRuleTables::GetStartPointMP(int nCharacterSlot)CPoint CRuleTables::GetStartPointTutorial(int nCharacterSlot)CResRef CRuleTables::GetStartWeapon(unsigned char nClass)int CRuleTables::GetStartingGold(CGameSprite* pSprite)unsigned char CRuleTables::GetStartingReputation(unsigned char nAlignment)CString CRuleTables::GetStatName(int offset)float CRuleTables::GetStatValue(CString statName)int CRuleTables::GetSubClassProficiencySlots(int nSubClass, int nOldLevel, int nNewLevel)int CRuleTables::GetSubClasses(unsigned char nClass, unsigned char* aSubClass)int CRuleTables::GetSummonLimit(CString summonType)C2DArray* CRuleTables::GetSummoningTable(int index)CResRef CRuleTables::GetTBPStartPartyMember(int member)int CRuleTables::GetTHAC0(CAIObjectType& TypeAI, CDerivedStats& DStats)int CRuleTables::GetThiefSkillPercentage(CGameSprite* pSprite, CString sSkill, unsigned char dualingTo)int CRuleTables::GetThiefSkillsDual(CGameSprite* pSprite)int CRuleTables::GetThiefSkillsLevelUp(CGameSprite* pSprite)int CRuleTables::GetThiefSkillsStart(CGameSprite* pSprite)int CRuleTables::GetWedFogAreaSettings(CString key, int* contrast, unsigned long* innerColor, unsigned long* outerColor, float* alpha, int* preDisperseSeconds)bool CRuleTables::GetWedFogPointSettings(CString key, int* pointAmount, int* pointDuration, CPoint* pointPos, float* pointUForce, float* pointVForce)unsigned long CRuleTables::GetXPCap(CAIObjectType& TypeAI)int CRuleTables::IsClassRaceCompatable(unsigned char classID, unsigned char raceID)unsigned char CRuleTables::IsDualClassAllowed(unsigned char nActiveClass, unsigned char nSubClass, unsigned long nSpecialist)int CRuleTables::IsItemExclusive(CItem* pItem)int CRuleTables::IsProtectedFromSpell(int nRow, CGameSprite* stats, CGameSprite* mine, int value)int CRuleTables::IsSpellHidden(CString spellRef)int CRuleTables::IsSpellRemoved(CString spellRef)int CRuleTables::IsUsableByAlignment(unsigned long dwNotUsableBy, unsigned char alignment)int CRuleTables::IsValidAlignment(unsigned char nClass, unsigned char nAlignment, unsigned long nSpecialist)unsigned char CRuleTables::MapCharacterSpecializationToSchool(unsigned short nSpecialistMage)int CRuleTables::RollHitPoints(C2DArray& tHitPoints, unsigned char nOldLevel, unsigned char nNewLevel, int nCONMinRoll, int nDivisor, int bOverrideSides, int overrideSides, int bOverrideMod, int overrideMod)int CRuleTables::RollHitPoints(unsigned char nClass, unsigned char nSubClass, CDerivedStats& OldDStats, CDerivedStats& NewDStats, int nCONMinRoll, int nDivisor, int bIsSingleClass)int CRuleTables::RollHitPoints(int nSides, int nRolls, int nLevel, int nMinRoll, int nModifier)int CRuleTables::SetCampaign(CString campaign)long CRuleTables::SevenEyesImmunity(CGameSprite* sprite, unsigned long opcode, unsigned long param2, CString& resource, int& strref)void CRuleTables::UnsetCampaign()

6.95.3 Constructors

Name DescriptionCRuleTables::CRuleTables Constructs a CRuleTables objectCRuleTables::CRuleTables Destroys a CRuleTables object

1624 Chapter 6. EE Game Classes (x86)

Page 1629: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::CRuleTables

Constructs a CRuleTables object

void CRuleTables::CRuleTables();

Remarks

Constructs a CRuleTables object

CRuleTables::~CRuleTables

Destroys the CRuleTables object

virtual void CRuleTables::~CRuleTables();

Remarks

Destroys the CRuleTables object

6.95.4 Methods

Name DescriptionCRuleTables::Add25StartEquipmentCRuleTables::AdjustStoreMarkupCRuleTables::CanFallCRuleTables::ClassGetsSpecializationAPRCRuleTables::ClassUnarmedAPRDivisorCRuleTables::ClassZeroSkillTHAC0BonusCRuleTables::CompareCRuleTables::FindSavingThrowCRuleTables::FindTHAC0CRuleTables::GetAchievementCRuleTables::GetAlignmentDescStringRefCRuleTables::GetAlignmentStringCRuleTables::GetAlignmentStringMixedCRuleTables::GetAlignmentStringRefCRuleTables::GetAnimationSpeedCRuleTables::GetAnimationTypeCRuleTables::GetAreaCreatureNodeCountCRuleTables::GetAutoSpellPickCRuleTables::GetBackstabMultiplierCRuleTables::GetBanterDialogFileCRuleTables::GetBanterFrequencyCRuleTables::GetBanterProbabilityCRuleTables::GetBanterReplayDelayCRuleTables::GetBanterSpecialProbabilityCRuleTables::GetBardSkillPoints

Continued on next page

6.95. CRuleTables Class 1625

Page 1630: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 36 – continued from previous pageCRuleTables::GetBaseLoreCRuleTables::GetBaseSkillPointsCRuleTables::GetBountyChanceCRuleTables::GetChapterBMPCRuleTables::GetChapterSongCRuleTables::GetChapterTextCRuleTables::GetCharacterSoundCRuleTables::GetCharacterStateDescriptionCRuleTables::GetClassAPRBonusCRuleTables::GetClassAbilityTableCRuleTables::GetClassBriefDescriptionCRuleTables::GetClassFallenNoticeCRuleTables::GetClassFromKitIdCRuleTables::GetClassProficiencyCRuleTables::GetClassStringCRuleTables::GetClassStringLowerCRuleTables::GetClassStringMixedCRuleTables::GetClassTHAC0BonusCRuleTables::GetClassTextBiographyCRuleTables::GetClassTextDescriptionCRuleTables::GetClassTextLowerCRuleTables::GetClassTextMixedCRuleTables::GetConFatigueBonusCRuleTables::GetContingencyConditionCRuleTables::GetContingencyTargetCRuleTables::GetCripplingStrikeCRuleTables::GetCustomSoundCRuleTables::GetDefaultColoursCRuleTables::GetDefaultScriptCRuleTables::GetDonateRumorChanceCRuleTables::GetDreamFileCRuleTables::GetDualClassCRuleTables::GetDualClassMinAbilitiesDstCRuleTables::GetDualClassMinAbilitiesSrcCRuleTables::GetExtraAnimationCRuleTables::GetFamiliarCRuleTables::GetGenderStringMixedCRuleTables::GetHPCONBonusCRuleTables::GetHPCONBonusTotalCRuleTables::GetHitPointsCRuleTables::GetInnateClassSkillCRuleTables::GetIntoxicationInfoCRuleTables::GetItemAbilityDescriptionCRuleTables::GetItemDropSoundCRuleTables::GetItemTakeSoundCRuleTables::GetItemTypeSlotCRuleTables::GetItemUseFlagCRuleTables::GetItemUseStringCRuleTables::GetItemUseUserCRuleTables::GetItemUseUserName

Continued on next page

1626 Chapter 6. EE Game Classes (x86)

Page 1631: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 36 – continued from previous pageCRuleTables::GetJoinDialogFileCRuleTables::GetLayOnHandsAmountCRuleTables::GetLevelUpAbilitiesCRuleTables::GetLevelUpAbilityTableStringCRuleTables::GetLoreBonusCRuleTables::GetMageSpellCRuleTables::GetMaxMemorizedSpellsMageCRuleTables::GetMaxMemorizedSpellsPriestCRuleTables::GetMaxMemorizedSpellsRangerCRuleTables::GetMaxSpellLevelCRuleTables::GetMaxSpellsPerLevelCRuleTables::GetMaximumProficiencyCRuleTables::GetMonkFistCRuleTables::GetMovieDescriptionCRuleTables::GetNPCChartCRuleTables::GetNextLevelCRuleTables::GetNextLevelSubClassCRuleTables::GetNextLevelXPCRuleTables::GetNumLevelUpAbilitiesCRuleTables::GetNumPriestSpellsCRuleTables::GetNumQuickWeaponSlotsCRuleTables::GetPostDialogFileCRuleTables::GetPriestSpellCRuleTables::GetProfBonusesCRuleTables::GetProficiencyClassIndexCRuleTables::GetProficiencyDescriptionCRuleTables::GetProficiencyIdCRuleTables::GetProficiencyNameCRuleTables::GetProficiencySlotsCRuleTables::GetRaceFeaturesCRuleTables::GetRaceStringCRuleTables::GetRaceStringMixedCRuleTables::GetRaceTHAC0BonusCRuleTables::GetRaceTextBiographyCRuleTables::GetRaceTextLowerCRuleTables::GetRaceTextMixedCRuleTables::GetRaiseDeadCostCRuleTables::GetRandomItemCRuleTables::GetRangerHatedRaceHelpCRuleTables::GetRangerHatedRaceIdsCRuleTables::GetRangerHatedRaceStrrefCRuleTables::GetRangerHatedRaceStrrefFromIdsCRuleTables::GetRangerSkillPointsCRuleTables::GetReputationDescriptionCRuleTables::GetSavingThrowCRuleTables::GetScriptDescriptionCRuleTables::GetSetSnareLimitCRuleTables::GetShamanSkillPointsCRuleTables::GetSkillBonusCRuleTables::GetSkillBonusValue

Continued on next page

6.95. CRuleTables Class 1627

Page 1632: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 36 – continued from previous pageCRuleTables::GetSlotStealSkillCRuleTables::GetSneakAttackCRuleTables::GetSoundEnvironmentCRuleTables::GetSpecialItemPriorityCRuleTables::GetSpellAbilityValueCRuleTables::GetSpellDescriptionCRuleTables::GetSpellProtectionRelationCRuleTables::GetSpellProtectionStatCRuleTables::GetSpellProtectionValueCRuleTables::GetStartAreaCRuleTables::GetStartAreaMPCRuleTables::GetStartAreaTutorialCRuleTables::GetStartPointCRuleTables::GetStartPointMPCRuleTables::GetStartPointTutorialCRuleTables::GetStartWeaponCRuleTables::GetStartingGoldCRuleTables::GetStartingReputationCRuleTables::GetStatNameCRuleTables::GetStatValueCRuleTables::GetSubClassProficiencySlotsCRuleTables::GetSubClassesCRuleTables::GetSummonLimitCRuleTables::GetSummoningTableCRuleTables::GetTBPStartPartyMemberCRuleTables::GetTHAC0CRuleTables::GetThiefSkillPercentageCRuleTables::GetThiefSkillsDualCRuleTables::GetThiefSkillsLevelUpCRuleTables::GetThiefSkillsStartCRuleTables::GetWedFogAreaSettingsCRuleTables::GetWedFogPointSettingsCRuleTables::GetXPCapCRuleTables::IsClassRaceCompatableCRuleTables::IsDualClassAllowedCRuleTables::IsItemExclusiveCRuleTables::IsProtectedFromSpellCRuleTables::IsSpellHiddenCRuleTables::IsSpellRemovedCRuleTables::IsUsableByAlignmentCRuleTables::IsValidAlignmentCRuleTables::MapCharacterSpecializationToSchoolCRuleTables::RollHitPointsCRuleTables::SetCampaignCRuleTables::SevenEyesImmunityCRuleTables::UnsetCampaign

1628 Chapter 6. EE Game Classes (x86)

Page 1633: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::Add25StartEquipment

void CRuleTables::Add25StartEquipment(CGameSprite* pSprite,int forceDefault);

Parameters

• CGameSprite* pSprite -

• int forceDefault -

Remarks

CRuleTables::AdjustStoreMarkup

void CRuleTables::AdjustStoreMarkup(unsigned char nCHR,short nReputation,unsigned long& dwMarkup);

Parameters

• unsigned char nCHR -

• short nReputation -

• unsigned long& dwMarkup -

Remarks

CRuleTables::CanFall

int CRuleTables::CanFall(unsigned long nClass,unsigned long kit);

Parameters

• unsigned long nClass -

• unsigned long kit -

Return Value

Returns int

Remarks

CRuleTables::ClassGetsSpecializationAPR

6.95. CRuleTables Class 1629

Page 1634: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CRuleTables::ClassGetsSpecializationAPR(unsigned char classID,unsigned long kitID);

Parameters

• unsigned char classID -

• unsigned long kitID -

Return Value

Returns int

Remarks

CRuleTables::ClassUnarmedAPRDivisor

int CRuleTables::ClassUnarmedAPRDivisor(unsigned char classID,unsigned long kitID);

Parameters

• unsigned char classID -

• unsigned long kitID -

Return Value

Returns int

Remarks

CRuleTables::ClassZeroSkillTHAC0Bonus

int CRuleTables::ClassZeroSkillTHAC0Bonus(unsigned char classID,unsigned long kitID);

Parameters

• unsigned char classID -

• unsigned long kitID -

Return Value

Returns int

Remarks

1630 Chapter 6. EE Game Classes (x86)

Page 1635: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::Compare

int CRuleTables::Compare(unsigned int a,unsigned int b,int relation);

Parameters

• unsigned int a -

• unsigned int b -

• int relation -

Return Value

Returns int

Remarks

CRuleTables::FindSavingThrow

int CRuleTables::FindSavingThrow(unsigned char nClass,unsigned char nSubClass,CDerivedStats& DStats,CString& sSavingThrow);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

• CDerivedStats& DStats -

• CString& sSavingThrow -

Return Value

Returns int

Remarks

CRuleTables::FindTHAC0

int CRuleTables::FindTHAC0(unsigned char nClass,unsigned char nSubClass,CDerivedStats& DStats);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

6.95. CRuleTables Class 1631

Page 1636: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CDerivedStats& DStats -

Return Value

Returns int

Remarks

CRuleTables::GetAchievement

CString CRuleTables::GetAchievement(CString global);

Parameters

• CString global -

Return Value

Returns CString

Remarks

CRuleTables::GetAlignmentDescStringRef

unsigned long CRuleTables::GetAlignmentDescStringRef(unsigned char nAlignment);

Parameters

• unsigned char nAlignment -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetAlignmentString

CString CRuleTables::GetAlignmentString(unsigned char nAlignment);

Parameters

• unsigned char nAlignment -

Return Value

Returns CString

Remarks

CRuleTables::GetAlignmentStringMixed

1632 Chapter 6. EE Game Classes (x86)

Page 1637: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CRuleTables::GetAlignmentStringMixed(unsigned char nAlignment,CString& sAlignment);

Parameters

• unsigned char nAlignment -

• CString& sAlignment -

Remarks

CRuleTables::GetAlignmentStringRef

unsigned long CRuleTables::GetAlignmentStringRef(unsigned char nAlignment);

Parameters

• unsigned char nAlignment -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetAnimationSpeed

int CRuleTables::GetAnimationSpeed(unsigned short animationId,int defaultSpeed);

Parameters

• unsigned short animationId -

• int defaultSpeed -

Return Value

Returns int

Remarks

CRuleTables::GetAnimationType

unsigned short CRuleTables::GetAnimationType(CAIObjectType& TypeAI);

Parameters

• CAIObjectType& TypeAI -

6.95. CRuleTables Class 1633

Page 1638: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned short

Remarks

CRuleTables::GetAreaCreatureNodeCount

int CRuleTables::GetAreaCreatureNodeCount(CString areaName);

Parameters

• CString areaName -

Return Value

Returns int

Remarks

CRuleTables::GetAutoSpellPick

CResRef CRuleTables::GetAutoSpellPick(unsigned char level,unsigned char index);

Parameters

• unsigned char level -

• unsigned char index -

Return Value

Returns CResRef

Remarks

CRuleTables::GetBackstabMultiplier

int CRuleTables::GetBackstabMultiplier(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned long nKit);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned long nKit -

1634 Chapter 6. EE Game Classes (x86)

Page 1639: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::GetBanterDialogFile

CString CRuleTables::GetBanterDialogFile(CString& name);

Parameters

• CString& name -

Return Value

Returns CString

Remarks

CRuleTables::GetBanterFrequency

long CRuleTables::GetBanterFrequency();

Return Value

Returns long

Remarks

CRuleTables::GetBanterProbability

long CRuleTables::GetBanterProbability();

Return Value

Returns long

Remarks

CRuleTables::GetBanterReplayDelay

long CRuleTables::GetBanterReplayDelay();

Return Value

Returns long

Remarks

6.95. CRuleTables Class 1635

Page 1640: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetBanterSpecialProbability

long CRuleTables::GetBanterSpecialProbability();

Return Value

Returns long

Remarks

CRuleTables::GetBardSkillPoints

void CRuleTables::GetBardSkillPoints(unsigned char nLevel,unsigned char& nPickPockets);

Parameters

• unsigned char nLevel -

• unsigned char& nPickPockets -

Remarks

CRuleTables::GetBaseLore

unsigned char CRuleTables::GetBaseLore(CAIObjectType& TypeAI,CDerivedStats& DStats);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

Return Value

Returns unsigned char

Remarks

CRuleTables::GetBaseSkillPoints

void CRuleTables::GetBaseSkillPoints(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned char& nPickPockets,unsigned char& nOpenLocks,unsigned char& nFindTraps,unsigned char& nMoveSilently,

(continues on next page)

1636 Chapter 6. EE Game Classes (x86)

Page 1641: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

(continued from previous page)

unsigned char& nHideInShadows,unsigned char& nDetectIllusion,unsigned char& nSetTraps);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned char& nPickPockets -

• unsigned char& nOpenLocks -

• unsigned char& nFindTraps -

• unsigned char& nMoveSilently -

• unsigned char& nHideInShadows -

• unsigned char& nDetectIllusion -

• unsigned char& nSetTraps -

Remarks

CRuleTables::GetBountyChance

int CRuleTables::GetBountyChance(unsigned short nReputation);

Parameters

• unsigned short nReputation -

Return Value

Returns int

Remarks

CRuleTables::GetChapterBMP

void CRuleTables::GetChapterBMP(CResRef& cResText,unsigned char nRace,unsigned char nClass,unsigned short nReputation,CResRef& cResPower,CTypedPtrList& list);

Parameters

• CResRef & cResText -

• unsigned char nRace -

• unsigned char nClass -

6.95. CRuleTables Class 1637

Page 1642: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned short nReputation -

• CResRef & cResPower -

• CTypedPtrList& list -

Return Value

Returns

Remarks

CRuleTables::GetChapterSong

int CRuleTables::GetChapterSong(:ref:`CResRef<CResRef>`\& cResText);

Parameters

• CResRef & cResText -

Return Value

Returns int

Remarks

CRuleTables::GetChapterText

CList* CRuleTables::GetChapterText(CResRef& cResText,unsigned char nRace,unsigned char nClass,unsigned short nReputation,CResRef& cResPower);

Parameters

• CResRef & cResText -

• unsigned char nRace -

• unsigned char nClass -

• unsigned short nReputation -

• CResRef & cResPower -

Return Value

Returns CList*

Remarks

CRuleTables::GetCharacterSound

1638 Chapter 6. EE Game Classes (x86)

Page 1643: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

unsigned long CRuleTables::GetCharacterSound(CString& sCustomSlot,unsigned long nSoundSlot,unsigned char nSex);

Parameters

• CString& sCustomSlot -

• unsigned long nSoundSlot -

• unsigned char nSex -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetCharacterStateDescription

void CRuleTables::GetCharacterStateDescription(int nState,CString& sDescription);

Parameters

• int nState -

• CString& sDescription -

Remarks

CRuleTables::GetClassAPRBonus

int CRuleTables::GetClassAPRBonus(CAIObjectType& TypeAI,CDerivedStats& DStats,short proficiencyLevel);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• short proficiencyLevel -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1639

Page 1644: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetClassAbilityTable

C2DArray* CRuleTables::GetClassAbilityTable(unsigned char nClass,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned long nSpecialist -

Return Value

Returns C2DArray*

Remarks

CRuleTables::GetClassBriefDescription

unsigned long CRuleTables::GetClassBriefDescription(int classID,int kitID,unsigned long dwFlags);

Parameters

• int classID -

• int kitID -

• unsigned long dwFlags -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassFallenNotice

unsigned long CRuleTables::GetClassFallenNotice(int classID,int kitID,unsigned long dwFlags);

Parameters

• int classID -

• int kitID -

• unsigned long dwFlags -

1640 Chapter 6. EE Game Classes (x86)

Page 1645: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassFromKitId

unsigned long CRuleTables::GetClassFromKitId(unsigned long kit);

Parameters

• unsigned long kit -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassProficiency

short CRuleTables::GetClassProficiency(unsigned char nClass,unsigned char nActiveClass,unsigned char nInactiveClass,int bInactiveUsable,unsigned long nProfType,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• int bInactiveUsable -

• unsigned long nProfType -

• unsigned long nSpecialist -

Return Value

Returns short

Remarks

6.95. CRuleTables Class 1641

Page 1646: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetClassString

CString CRuleTables::GetClassString(unsigned char nClass,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned long nSpecialist -

Return Value

Returns CString

Remarks

CRuleTables::GetClassStringLower

unsigned long CRuleTables::GetClassStringLower(unsigned char nClass,unsigned long nSpecialist,unsigned long dwFlags,CString& sClass,CGameSprite* pSprite);

Parameters

• unsigned char nClass -

• unsigned long nSpecialist -

• unsigned long dwFlags -

• CString& sClass -

• CGameSprite* pSprite -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassStringMixed

void CRuleTables::GetClassStringMixed(unsigned char nClass,unsigned long nSpecialist,unsigned long dwFlags,CString& sClass,CGameSprite* pSprite);

Parameters

• unsigned char nClass -

1642 Chapter 6. EE Game Classes (x86)

Page 1647: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned long nSpecialist -

• unsigned long dwFlags -

• CString& sClass -

• CGameSprite* pSprite -

Remarks

CRuleTables::GetClassTHAC0Bonus

int CRuleTables::GetClassTHAC0Bonus(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CRuleTables::GetClassTextBiography

unsigned long CRuleTables::GetClassTextBiography(int classID,int kitID,unsigned long dwFlags);

Parameters

• int classID -

• int kitID -

• unsigned long dwFlags -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassTextDescription

unsigned long CRuleTables::GetClassTextDescription(int classID,int kitID,unsigned long dwFlags);

Parameters

6.95. CRuleTables Class 1643

Page 1648: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int classID -

• int kitID -

• unsigned long dwFlags -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassTextLower

unsigned long CRuleTables::GetClassTextLower(int classID,int kitID,unsigned long dwFlags);

Parameters

• int classID -

• int kitID -

• unsigned long dwFlags -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetClassTextMixed

unsigned long CRuleTables::GetClassTextMixed(int classID,int kitID,unsigned long dwFlags);

Parameters

• int classID -

• int kitID -

• unsigned long dwFlags -

Return Value

Returns unsigned long

Remarks

1644 Chapter 6. EE Game Classes (x86)

Page 1649: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetConFatigueBonus

int CRuleTables::GetConFatigueBonus(unsigned char nCON);

Parameters

• unsigned char nCON -

Return Value

Returns int

Remarks

CRuleTables::GetContingencyCondition

unsigned char CRuleTables::GetContingencyCondition(unsigned long& strRef,unsigned long& description,unsigned short id);

Parameters

• unsigned long& strRef -

• unsigned long& description -

• unsigned short id -

Return Value

Returns

Remarks

CRuleTables::GetContingencyTarget

unsigned char CRuleTables::GetContingencyTarget(unsigned long& strRef,unsigned long& description,unsigned short id);

Parameters

• unsigned long& strRef -

• unsigned long& description -

• unsigned short id -

Return Value

Returns

Remarks

6.95. CRuleTables Class 1645

Page 1650: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetCripplingStrike

int CRuleTables::GetCripplingStrike(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned long nKit);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned long nKit -

Return Value

Returns int

Remarks

CRuleTables::GetCustomSound

int CRuleTables::GetCustomSound(CString& end,unsigned char soundId);

Parameters

• CString& end -

• unsigned char soundId -

Return Value

Returns int

Remarks

CRuleTables::GetDefaultColours

void CRuleTables::GetDefaultColours(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Remarks

CRuleTables::GetDefaultScript

1646 Chapter 6. EE Game Classes (x86)

Page 1651: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CString CRuleTables::GetDefaultScript(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns CString

Remarks

CRuleTables::GetDonateRumorChance

unsigned char CRuleTables::GetDonateRumorChance(unsigned long dwGold);

Parameters

• unsigned long dwGold -

Return Value

Returns unsigned char

Remarks

CRuleTables::GetDreamFile

CString CRuleTables::GetDreamFile(CString& name);

Parameters

• CString& name -

Return Value

Returns CString

Remarks

CRuleTables::GetDualClass

int CRuleTables::GetDualClass(unsigned char nClass1,unsigned char nClass2,unsigned char& nDualClass);

Parameters

• unsigned char nClass1 -

• unsigned char nClass2 -

• unsigned char& nDualClass -

6.95. CRuleTables Class 1647

Page 1652: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::GetDualClassMinAbilitiesDst

void CRuleTables::GetDualClassMinAbilitiesDst(unsigned char nSubClass,unsigned long nSpecialistMage,unsigned char& nMinSTR,unsigned char& nMinDEX,unsigned char& nMinCON,unsigned char& nMinINT,unsigned char& nMinWIS,unsigned char& nMinCHR);

Parameters

• unsigned char nSubClass -

• unsigned long nSpecialistMage -

• unsigned char& nMinSTR -

• unsigned char& nMinDEX -

• unsigned char& nMinCON -

• unsigned char& nMinINT -

• unsigned char& nMinWIS -

• unsigned char& nMinCHR -

Remarks

CRuleTables::GetDualClassMinAbilitiesSrc

void void CRuleTables::GetDualClassMinAbilitiesSrc(unsigned char nSubClass,unsigned long nSpecialistMage,unsigned char& nMinSTR,unsigned char& nMinDEX,unsigned char& nMinCON,unsigned char& nMinINT,unsigned char& nMinWIS,unsigned char& nMinCHR);

Parameters

• unsigned char nSubClass -

• unsigned long nSpecialistMage -

• unsigned char& nMinSTR -

1648 Chapter 6. EE Game Classes (x86)

Page 1653: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char& nMinDEX -

• unsigned char& nMinCON -

• unsigned char& nMinINT -

• unsigned char& nMinWIS -

• unsigned char& nMinCHR -

Remarks

CRuleTables::GetExtraAnimation

int CRuleTables::GetExtraAnimation(unsigned short animationId,char* armorMaxCode,unsigned char* bCanLieDown,unsigned char* bDetectedByInfravision,int* bDoubleBlit,int* bEquipHelmet,int* bSplitBams,unsigned char* colorBlood,unsigned char* colorChunks,int* falseColor,CString* heightCode,CString* heightCodeHelmet,CString* heightCodeShieldPaperDoll,unsigned long* nSndFreq,unsigned char* personalSpace,CString* resref,CString* resrefPaperDoll,unsigned char* resrefArmorBase,unsigned char* resrefArmorSpecific,CString* resrefShadow);

Parameters

• unsigned short animationId -

• char* armorMaxCode -

• unsigned char* bCanLieDown -

• unsigned char* bDetectedByInfravision -

• int* bDoubleBlit -

• int* bEquipHelmet -

• int* bSplitBams -

• unsigned char* colorBlood -

• unsigned char* colorChunks -

• int* falseColor -

• CString* heightCode -

• CString* heightCodeHelmet -

6.95. CRuleTables Class 1649

Page 1654: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CString* heightCodeShieldPaperDoll -

• unsigned long* nSndFreq -

• unsigned char* personalSpace -

• CString* resref -

• CString* resrefPaperDoll -

• unsigned char* resrefArmorBase -

• unsigned char* resrefArmorSpecific -

• CString* resrefShadow -

Return Value

Returns int

Remarks

CRuleTables::GetFamiliar

CResRef CRuleTables::GetFamiliar(unsigned char alignment);

Parameters

• unsigned char alignment -

Return Value

Returns CResRef

Remarks

CRuleTables::GetGenderStringMixed

void CRuleTables::GetGenderStringMixed(unsigned char nGender,CString& sGender);

Parameters

• unsigned char nGender -

• CString& sGender -

Remarks

CRuleTables::GetHPCONBonus

1650 Chapter 6. EE Game Classes (x86)

Page 1655: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CRuleTables::GetHPCONBonus(unsigned char nClass,unsigned char nCON,int& nBonus,int& nMinRoll);

Parameters

• unsigned char nClass -

• unsigned char nCON -

• int& nBonus -

• int& nMinRoll -

Remarks

CRuleTables::GetHPCONBonusTotal

int CRuleTables::GetHPCONBonusTotal(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned char nCON);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned char nCON -

Return Value

Returns int

Remarks

CRuleTables::GetHitPoints

int CRuleTables::GetHitPoints(CAIObjectType& TypeAI,CDerivedStats& OldDStats,CDerivedStats& NewDStats,unsigned char nCON);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& OldDStats -

• CDerivedStats& NewDStats -

• unsigned char nCON -

6.95. CRuleTables Class 1651

Page 1656: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::GetInnateClassSkill

int CRuleTables::GetInnateClassSkill(CGameSprite* pSprite,CString sSkill);

Parameters

• CGameSprite* pSprite -

• CString sSkill -

Return Value

Returns int

Remarks

CRuleTables::GetIntoxicationInfo

void CRuleTables::GetIntoxicationInfo(unsigned char nCON,int& nIntoxicationRate,int& nRecoveryRate,int& nIntoxicationCap);

Parameters

• unsigned char nCON -

• int& nIntoxicationRate -

• int& nRecoveryRate -

• int& nIntoxicationCap -

Remarks

CRuleTables::GetItemAbilityDescription

unsigned long CRuleTables::GetItemAbilityDescription(CResRef& cResItem,int nAbilityNum);

Parameters

• CResRef & cResItem -

1652 Chapter 6. EE Game Classes (x86)

Page 1657: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int nAbilityNum -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetItemDropSound

CResRef CRuleTables::GetItemDropSound(int itemtype);

Parameters

• int itemtype -

Return Value

Returns CResRef

Remarks

CRuleTables::GetItemTakeSound

CResRef CRuleTables::GetItemTakeSound(int itemtype);

Parameters

• int itemtype -

Return Value

Returns CResRef

Remarks

CRuleTables::GetItemTypeSlot

int CRuleTables::GetItemTypeSlot(int itemtype);

Parameters

• int itemtype -

Return Value

Returns int

Remarks

CRuleTables::GetItemUseFlag

6.95. CRuleTables Class 1653

Page 1658: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CRuleTables::GetItemUseFlag(CString item);

Parameters

• CString item -

Return Value

Returns int

Remarks

CRuleTables::GetItemUseString

int CRuleTables::GetItemUseString(CString item);

Parameters

• CString item -

Return Value

Returns int

Remarks

CRuleTables::GetItemUseUser

CString CRuleTables::GetItemUseUser(CString item);

Parameters

• CString item -

Return Value

Returns CString

Remarks

CRuleTables::GetItemUseUserName

CString CRuleTables::GetItemUseUserName(CString item);

Parameters

• CString item -

Return Value

Returns CString

Remarks

1654 Chapter 6. EE Game Classes (x86)

Page 1659: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetJoinDialogFile

CString CRuleTables::GetJoinDialogFile(CString item);

Parameters

• CString item -

Return Value

Returns CString

Remarks

CRuleTables::GetLayOnHandsAmount

int CRuleTables::GetLayOnHandsAmount(CAIObjectType& TypeAI,CDerivedStats& DStats);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

Return Value

Returns int

Remarks

CRuleTables::GetLevelUpAbilities

CGameAbilityList* CRuleTables::GetLevelUpAbilities(CGameSprite* pSprite,int nLevel);

Parameters

• CGameSprite* pSprite -

• int nLevel -

Return Value

Returns CGameAbilityList*

Remarks

CRuleTables::GetLevelUpAbilityTableString

6.95. CRuleTables Class 1655

Page 1660: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CRuleTables::GetLevelUpAbilityTableString(CGameSprite* pSprite,int nLevel,CString& sTableName);

Parameters

• CGameSprite* pSprite -

• int nLevel -

• CString& sTableName -

Remarks

CRuleTables::GetLoreBonus

int CRuleTables::GetLoreBonus(unsigned char nWIS,unsigned char nINT);

Parameters

• unsigned char nWIS -

• unsigned char nINT -

Return Value

Returns int

Remarks

CRuleTables::GetMageSpell

CResRef CRuleTables::GetMageSpell(int nSpellLevel,int nSpellIndex);

Parameters

• int nSpellLevel -

• int nSpellIndex -

Return Value

Returns CResRef

Remarks

CRuleTables::GetMaxMemorizedSpellsMage

1656 Chapter 6. EE Game Classes (x86)

Page 1661: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CRuleTables::GetMaxMemorizedSpellsMage(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned long nSpecialistMage,int nSpellLevel);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned long nSpecialistMage -

• int nSpellLevel -

Return Value

Returns int

Remarks

CRuleTables::GetMaxMemorizedSpellsPriest

int CRuleTables::GetMaxMemorizedSpellsPriest(CAIObjectType& TypeAI,CDerivedStats& DStats,int nSpellLevel,int& nBonus);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• int nSpellLevel -

• int& nBonus -

Return Value

Returns int

Remarks

CRuleTables::GetMaxMemorizedSpellsRanger

int CRuleTables::GetMaxMemorizedSpellsRanger(CAIObjectType& TypeAI,CDerivedStats& DStats,int nSpellLevel);

Parameters

• CAIObjectType& TypeAI -

6.95. CRuleTables Class 1657

Page 1662: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CDerivedStats& DStats -

• int nSpellLevel -

Return Value

Returns int

Remarks

CRuleTables::GetMaxSpellLevel

int CRuleTables::GetMaxSpellLevel(CDerivedStats& DStats);

Parameters

• CDerivedStats& DStats -

Return Value

Returns int

Remarks

CRuleTables::GetMaxSpellsPerLevel

int CRuleTables::GetMaxSpellsPerLevel(CDerivedStats& DStats);

Parameters

• CDerivedStats& DStats -

Return Value

Returns int

Remarks

CRuleTables::GetMaximumProficiency

int CRuleTables::GetMaximumProficiency(int nLevel,int nClass);

Parameters

• int nLevel -

• int nClass -

Return Value

Returns int

Remarks

1658 Chapter 6. EE Game Classes (x86)

Page 1663: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetMonkFist

CString CRuleTables::GetMonkFist(int nLevel);

Parameters

• int nLevel -

Return Value

Returns CString

Remarks

CRuleTables::GetMovieDescription

void CRuleTables::GetMovieDescription(CString& sMovie,CString& sDescription);

Parameters

• CString& sMovie -

• CString& sDescription -

Remarks

CRuleTables::GetNPCChart

C2DArray* CRuleTables::GetNPCChart();

Return Value

Returns C2DArray*

Remarks

CRuleTables::GetNextLevel

void CRuleTables::GetNextLevel(CAIObjectType& TypeAI,CDerivedStats& DStats);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

Remarks

6.95. CRuleTables Class 1659

Page 1664: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetNextLevelSubClass

void CRuleTables::GetNextLevelSubClass(unsigned char nClass,unsigned char nSubClass,unsigned char nActiveClass,unsigned char nInactiveClass,CDerivedStats& DStats);

Parameters

• unsigned char nClass -

• unsigned char nSubClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• CDerivedStats& DStats -

Remarks

CRuleTables::GetNextLevelXP

unsigned long CRuleTables::GetNextLevelXP(unsigned char nClass,unsigned char nLevel);

Parameters

• unsigned char nClass -

• unsigned char nLevel -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetNumLevelUpAbilities

int CRuleTables::GetNumLevelUpAbilities(CAIObjectType& TypeAI,CDerivedStats& OldDStats,CDerivedStats& NewDStats,unsigned char& nLevel);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& OldDStats -

• CDerivedStats& NewDStats -

1660 Chapter 6. EE Game Classes (x86)

Page 1665: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char& nLevel -

Return Value

Returns int

Remarks

CRuleTables::GetNumPriestSpells

int CRuleTables::GetNumPriestSpells(int nSpellLevel);

Parameters

• int nSpellLevel -

Return Value

Returns int

Remarks

CRuleTables::GetNumQuickWeaponSlots

int CRuleTables::GetNumQuickWeaponSlots(unsigned char nClass,unsigned char nActiveClass,unsigned char nInactiveClass,int bInactiveUsable,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• int bInactiveUsable -

• unsigned long nSpecialist -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1661

Page 1666: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetPostDialogFile

CString CRuleTables::GetPostDialogFile(CString& name);

Parameters

• CString& name -

Return Value

Returns CString

Remarks

CRuleTables::GetPriestSpell

CResRef CRuleTables::GetPriestSpell(int nSpellLevel,int nSpellIndex);

Parameters

• int nSpellLevel -

• int nSpellIndex -

Return Value

Returns CResRef

Remarks

CRuleTables::GetProfBonuses

void CRuleTables::GetProfBonuses(int nProf,int nLev,int* damR,int* damL,int* thacR,int* thacL,int* ACB,int* ACM,int* speed,int* crit);

Parameters

• int nProf -

• int nLev -

• int* damR -

• int* damL -

• int* thacR -

1662 Chapter 6. EE Game Classes (x86)

Page 1667: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int* thacL -

• int* ACB -

• int* ACM -

• int* speed -

• int* crit -

Remarks

CRuleTables::GetProficiencyClassIndex

unsigned long CRuleTables::GetProficiencyClassIndex(unsigned char nClass,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned long nSpecialist -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetProficiencyDescription

unsigned long CRuleTables::GetProficiencyDescription(unsigned long id);

Parameters

• unsigned long id -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetProficiencyId

unsigned long CRuleTables::GetProficiencyId(unsigned long index);

Parameters

• unsigned long index -

6.95. CRuleTables Class 1663

Page 1668: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned long

Remarks

CRuleTables::GetProficiencyName

unsigned long CRuleTables::GetProficiencyName(unsigned long id);

Parameters

• unsigned long id -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetProficiencySlots

int CRuleTables::GetProficiencySlots(CAIObjectType& TypeAI,CDerivedStats& OldDStats,CDerivedStats& NewDStats,unsigned char GetInactive);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& OldDStats -

• CDerivedStats& NewDStats -

• unsigned char GetInactive -

Return Value

Returns int

Remarks

CRuleTables::GetRaceFeatures

int CRuleTables::GetRaceFeatures(int race,int type);

Parameters

• int race -

1664 Chapter 6. EE Game Classes (x86)

Page 1669: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• int type -

Return Value

Returns int

Remarks

CRuleTables::GetRaceString

CString CRuleTables::GetRaceString(unsigned char nRace);

Parameters

• unsigned char nRace -

Return Value

Returns CString

Remarks

CRuleTables::GetRaceStringMixed

void CRuleTables::GetRaceStringMixed(unsigned char nRace,CString& sRace);

Parameters

• unsigned char nRace -

• CString& sRace -

Remarks

CRuleTables::GetRaceTHAC0Bonus

int CRuleTables::GetRaceTHAC0Bonus(int itemType,unsigned char race);

Parameters

• int itemType -

• unsigned char nRace -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1665

Page 1670: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetRaceTextBiography

unsigned long CRuleTables::GetRaceTextBiography(int raceID);

Parameters

• int raceID -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRaceTextLower

unsigned long CRuleTables::GetRaceTextLower(int raceID);

Parameters

• int raceID -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRaceTextMixed

unsigned long CRuleTables::GetRaceTextMixed(int raceID);

Parameters

• int raceID -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRaiseDeadCost

int CRuleTables::GetRaiseDeadCost(CAIObjectType& TypeAI,CDerivedStats& DStats);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

1666 Chapter 6. EE Game Classes (x86)

Page 1671: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::GetRandomItem

void CRuleTables::GetRandomItem(CString& item);

Parameters

• CString& item -

Remarks

CRuleTables::GetRangerHatedRaceHelp

unsigned long CRuleTables::GetRangerHatedRaceHelp(short index);

Parameters

• short index -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRangerHatedRaceIds

unsigned char CRuleTables::GetRangerHatedRaceIds(short index);

Parameters

• short index -

Return Value

Returns unsigned char

Remarks

6.95. CRuleTables Class 1667

Page 1672: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetRangerHatedRaceStrref

unsigned long CRuleTables::GetRangerHatedRaceStrref(short index);

Parameters

• short index -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRangerHatedRaceStrrefFromIds

unsigned long CRuleTables::GetRangerHatedRaceStrrefFromIds(short ids);

Parameters

• short ids -

Return Value

Returns unsigned long

Remarks

CRuleTables::GetRangerSkillPoints

void CRuleTables::GetRangerSkillPoints(unsigned char nLevel,unsigned char& nStealth);

Parameters

• unsigned char nLevel -

• unsigned char& nStealth -

Remarks

CRuleTables::GetReputationDescription

unsigned long CRuleTables::GetReputationDescription(const short nReputation);

Parameters

• const short nReputation -

1668 Chapter 6. EE Game Classes (x86)

Page 1673: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned long

Remarks

CRuleTables::GetSavingThrow

int CRuleTables::GetSavingThrow(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned char nCON,CString& sSavingThrow);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned char nCON -

• CString& sSavingThrow -

Return Value

Returns int

Remarks

CRuleTables::GetScriptDescription

void CRuleTables::GetScriptDescription(CString& sScript,CString& sTitle,CString& sDescription);

Parameters

• CString& sScript -

• CString& sTitle -

• CString& sDescription -

Remarks

CRuleTables::GetSetSnareLimit

int CRuleTables::GetSetSnareLimit(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

6.95. CRuleTables Class 1669

Page 1674: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::GetShamanSkillPoints

void CRuleTables::GetShamanSkillPoints(unsigned char nLevel,unsigned char& nDetect);

Parameters

• unsigned char nLevel -

• unsigned char& nDetect -

Remarks

CRuleTables::GetSkillBonus

void CRuleTables::GetSkillBonus(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned short& nPickPockets,unsigned short& nOpenLocks,unsigned short& nFindTraps,unsigned short& nMoveSilently,unsigned short& nHideInShadows,unsigned short& nDetectIllusion,unsigned short& nSetTraps);

Parameters

• CAIObjectType& TypeAI

• CDerivedStats& DStats

• unsigned short& nPickPockets -

• unsigned short& nOpenLocks -

• unsigned short& nFindTraps -

• unsigned short& nMoveSilently -

• unsigned short& nHideInShadows -

• unsigned short& nDetectIllusion -

• unsigned short& nSetTraps -

Return Value

Returns

Remarks

1670 Chapter 6. EE Game Classes (x86)

Page 1675: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetSkillBonusValue

void CRuleTables::GetSkillBonusValue(CAIObjectType& TypeAI,CDerivedStats& DStats,int& nPickPocketsBonus,int& nOpenLocksBonus,int& nFindTrapsBonus,int& nMoveSilentlyBonus,int& nHideInShadowsBonus,int& nDetectIllusionBonus,int& nSetTrapsBonus);

Parameters

• CAIObjectType& TypeAI

• CDerivedStats& DStats

• int& nPickPocketsBonus -

• int& nOpenLocksBonus -

• int& nFindTrapsBonus -

• int& nMoveSilentlyBonus -

• int& nHideInShadowsBonus -

• int& nDetectIllusionBonus -

• int& nSetTrapsBonus -

Remarks

CRuleTables::GetSlotStealSkill

int CRuleTables::GetSlotStealSkill(int slot);

Parameters

• int slot -

Return Value

Returns int

Remarks

CRuleTables::GetSneakAttack

int CRuleTables::GetSneakAttack(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned long nKit);

Parameters

6.95. CRuleTables Class 1671

Page 1676: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CAIObjectType& TypeAI

• CDerivedStats& DStats

• unsigned long nKit -

Return Value

Returns int

Remarks

CRuleTables::GetSoundEnvironment

unsigned char CRuleTables::GetSoundEnvironment(CString stAreaRef,unsigned long& dwEnvironment,float& fDamping,float& fDecay,float& fVolume,float& fReverbLevel);

Parameters

• CString stAreaRef -

• unsigned long& dwEnvironment -

• float& fDamping -

• float& fDecay -

• float& fVolume -

• float& fReverbLevel -

Return Value

Returns unsigned char

Remarks

CRuleTables::GetSpecialItemPriority

int CRuleTables::GetSpecialItemPriority(CResRef& itemName,int type);

Parameters

• CResRef & itemName -

• int type -

Return Value

Returns int

Remarks

1672 Chapter 6. EE Game Classes (x86)

Page 1677: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetSpellAbilityValue

int CRuleTables::GetSpellAbilityValue(int classID,int nAbilityColumn);

Parameters

• int classID -

• int nAbilityColumn -

Return Value

Returns int

Remarks

CRuleTables::GetSpellDescription

void CRuleTables::GetSpellDescription(CString& sSpell,CString& sDescription);

Parameters

• CString& sSpell -

• CString& sDescription -

Remarks

CRuleTables::GetSpellProtectionRelation

int CRuleTables::GetSpellProtectionRelation(int nRow);

Parameters

• int nRow -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1673

Page 1678: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetSpellProtectionStat

int CRuleTables::GetSpellProtectionStat(int nRow);

Parameters

• int nRow -

Return Value

Returns int

Remarks

CRuleTables::GetSpellProtectionValue

int CRuleTables::GetSpellProtectionValue(int nRow);

Parameters

• int nRow -

Return Value

Returns int

Remarks

CRuleTables::GetStartArea

void CRuleTables::GetStartArea(CResRef& cResArea,CPoint& ptView);

Parameters

• CResRef & cResArea -

• CPoint& ptView -

Remarks

CRuleTables::GetStartAreaMP

void CRuleTables::GetStartAreaMP(CResRef& cResArea,CPoint& ptView);

Parameters

• CResRef & cResArea -

• CPoint& ptView -

1674 Chapter 6. EE Game Classes (x86)

Page 1679: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CRuleTables::GetStartAreaTutorial

void CRuleTables::GetStartAreaTutorial(CResRef& cResArea,CPoint& ptView);

Parameters

• CResRef & cResArea -

• CPoint& ptView -

Remarks

CRuleTables::GetStartPoint

CPoint CRuleTables::GetStartPoint(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

Returns CPoint

Remarks

CRuleTables::GetStartPointMP

CPoint CRuleTables::GetStartPointMP(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

Returns CPoint

Remarks

6.95. CRuleTables Class 1675

Page 1680: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetStartPointTutorial

CPoint CRuleTables::GetStartPointTutorial(int nCharacterSlot);

Parameters

• int nCharacterSlot -

Return Value

Returns CPoint

Remarks

CRuleTables::GetStartWeapon

CResRef CRuleTables::GetStartWeapon((unsigned char nClass);

Parameters

• unsigned char nClass -

Return Value

Returns CResRef

Remarks

CRuleTables::GetStartingGold

int CRuleTables::GetStartingGold(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CRuleTables::GetStartingReputation

unsigned char CRuleTables::GetStartingReputation(unsigned char nAlignment);

Parameters

• unsigned char nAlignment -

Return Value

Returns unsigned char

Remarks

1676 Chapter 6. EE Game Classes (x86)

Page 1681: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetStatName

CString CRuleTables::GetStatName(int offset);

Parameters

• int offset -

Return Value

Returns CString

Remarks

CRuleTables::GetStatValue

float CRuleTables::GetStatValue(CString statName);

Parameters

• CString statName -

Return Value

Returns float

Remarks

CRuleTables::GetSubClassProficiencySlots

int CRuleTables::GetSubClassProficiencySlots(int nSubClass,int nOldLevel,int nNewLevel);

Parameters

• int nSubClass -

• int nOldLevel -

• int nNewLevel -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1677

Page 1682: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetSubClasses

int CRuleTables::GetSubClasses(unsigned char nClass,unsigned char* aSubClass);

Parameters

• unsigned char nClass -

• unsigned char* aSubClass -

Return Value

Returns int

Remarks

CRuleTables::GetSummonLimit

int CRuleTables::GetSummonLimit(CString summonType);

Parameters

• CString summonType -

Return Value

Returns int

Remarks

CRuleTables::GetSummoningTable

C2DArray* CRuleTables::GetSummoningTable(int index);

Parameters

• int index -

Return Value

Returns C2DArray*

Remarks

1678 Chapter 6. EE Game Classes (x86)

Page 1683: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetTBPStartPartyMember

CResRef CRuleTables::GetTBPStartPartyMember(int member);

Parameters

• int member -

Return Value

Returns CResRef

Remarks

CRuleTables::GetTHAC0

int CRuleTables::GetTHAC0(CAIObjectType& TypeAI,CDerivedStats& DStats);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

Return Value

Returns int

Remarks

CRuleTables::GetThiefSkillPercentage

int CRuleTables::GetThiefSkillPercentage(CGameSprite* pSprite,CString sSkill,unsigned char dualingTo);

Parameters

• CGameSprite* pSprite -

• CString sSkill -

• unsigned char dualingTo -

Return Value

Returns int

Remarks

6.95. CRuleTables Class 1679

Page 1684: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::GetThiefSkillsDual

int CRuleTables::GetThiefSkillsDual(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CRuleTables::GetThiefSkillsLevelUp

int CRuleTables::GetThiefSkillsLevelUp(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CRuleTables::GetThiefSkillsStart

int CRuleTables::GetThiefSkillsStart(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite -

Return Value

Returns int

Remarks

CRuleTables::GetWedFogAreaSettings

int CRuleTables::GetWedFogAreaSettings(CString key,int* contrast,unsigned long* innerColor,unsigned long* outerColor,float* alpha,int* preDisperseSeconds);

1680 Chapter 6. EE Game Classes (x86)

Page 1685: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• CString key -

• int* contrast -

• unsigned long* innerColor -

• unsigned long* outerColor -

• float* alpha -

• int* preDisperseSeconds -

Return Value

Returns int

Remarks

CRuleTables::GetWedFogPointSettings

bool CRuleTables::GetWedFogPointSettings(CString key,int* pointAmount,int* pointDuration,CPoint* pointPos,float* pointUForce,float* pointVForce);

Parameters

• CString key -

• int* pointAmount -

• int* pointDuration -

• CPoint* pointPos -

• float* pointUForce -

• float* pointVForce -

Return Value

Returns bool

Remarks

CRuleTables::GetXPCap

unsigned long CRuleTables::GetXPCap(CAIObjectType& TypeAI);

Parameters

• CAIObjectType& TypeAI -

6.95. CRuleTables Class 1681

Page 1686: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned long

Remarks

CRuleTables::IsClassRaceCompatable

int CRuleTables::IsClassRaceCompatable(unsigned char classID,unsigned char raceID);

Parameters

• unsigned char classID -

• unsigned char raceID -

Return Value

Returns int

Remarks

CRuleTables::IsDualClassAllowed

unsigned char CRuleTables::IsDualClassAllowed(unsigned char nActiveClass,unsigned char nSubClass,unsigned long nSpecialist);

Parameters

• unsigned char nActiveClass -

• unsigned char nSubClass -

• unsigned long nSpecialist -

Return Value

Returns unsigned char

Remarks

CRuleTables::IsItemExclusive

int CRuleTables::IsItemExclusive(CItem* pItem);

Parameters

• CItem* pItem -

1682 Chapter 6. EE Game Classes (x86)

Page 1687: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::IsProtectedFromSpell

int CRuleTables::IsProtectedFromSpell(int nRow,CGameSprite* stats,CGameSprite* mine,int value);

Parameters

• int nRow -

• CGameSprite* stats -

• CGameSprite* mine -

• int value -

Return Value

Returns int

Remarks

CRuleTables::IsSpellHidden

int CRuleTables::IsSpellHidden(CString spellRef);

Parameters

• CString spellRef -

Return Value

Returns int

Remarks

CRuleTables::IsSpellRemoved

int CRuleTables::IsSpellRemoved(CString spellRef);

Parameters

• CString spellRef -

6.95. CRuleTables Class 1683

Page 1688: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CRuleTables::IsUsableByAlignment

int CRuleTables::IsUsableByAlignment(unsigned long dwNotUsableBy,unsigned char alignment);

Parameters

• unsigned long dwNotUsableBy -

• unsigned char alignment -

Return Value

Returns int

Remarks

CRuleTables::IsValidAlignment

int CRuleTables::IsValidAlignment(unsigned char nClass,unsigned char nAlignment,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

• unsigned char nAlignment -

• unsigned long nSpecialist -

Return Value

Returns int

Remarks

CRuleTables::MapCharacterSpecializationToSchool

unsigned char CRuleTables::MapCharacterSpecializationToSchool(unsigned short→˓nSpecialistMage);

Parameters

• unsigned short nSpecialistMage -

1684 Chapter 6. EE Game Classes (x86)

Page 1689: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns unsigned char

Remarks

CRuleTables::RollHitPoints

int CRuleTables::RollHitPoints(C2DArray& tHitPoints,unsigned char nOldLevel,unsigned char nNewLevel,int nCONMinRoll,int nDivisor,int bOverrideSides,int overrideSides,int bOverrideMod,int overrideMod);

Parameters

• C2DArray& tHitPoints -

• unsigned char nOldLevel -

• unsigned char nNewLevel -

• int nCONMinRoll -

• int nDivisor -

• int bOverrideSides -

• int overrideSides -

• int bOverrideMod -

• int overrideMod -

Return Value

Returns int

Remarks

CRuleTables::RollHitPoints

int CRuleTables::RollHitPoints(unsigned char nClass,unsigned char nSubClass,CDerivedStats& OldDStats,CDerivedStats& NewDStats,int nCONMinRoll,int nDivisor,int bIsSingleClass);

Parameters

6.95. CRuleTables Class 1685

Page 1690: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char nClass -

• unsigned char nSubClass -

• CDerivedStats& OldDStats -

• CDerivedStats& NewDStats -

• int nCONMinRoll -

• int nDivisor -

• int bIsSingleClass -

Return Value

Returns int

Remarks

CRuleTables::RollHitPoints

int CRuleTables::RollHitPoints(int nSides,int nRolls,int nLevel,int nMinRoll,int nModifier);

Parameters

• int nSides -

• int nRolls -

• int nLevel -

• int nMinRoll -

• int nModifier -

Return Value

Returns int

Remarks

CRuleTables::SetCampaign

int CRuleTables::SetCampaign(CString campaign);

Parameters

• CString campaign -

Return Value

Returns int

Remarks

1686 Chapter 6. EE Game Classes (x86)

Page 1691: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CRuleTables::SevenEyesImmunity

long CRuleTables::SevenEyesImmunity(CGameSprite* sprite,unsigned long opcode,unsigned long param2,CString& resource,int& strref);

Parameters

• CGameSprite* sprite -

• unsigned long opcode -

• unsigned long param2 -

• CString& resource -

• int& strref -

Return Value

Returns long

Remarks

CRuleTables::UnsetCampaign

void CRuleTables::UnsetCampaign();

Remarks

6.96 CScreenAI Class

• Overview

• Quick Reference

• Constructors

• Methods

6.96.1 Overview

Note: The CScreenAI class handles AI

The structure used for this class is CScreenAI

6.96. CScreenAI Class 1687

Page 1692: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.96.2 Quick Reference

Quick Refvoid CScreenAI::CScreenAI()virtual int CScreenAI::CheckMouseLButton()virtual int CScreenAI::CheckMouseMove()virtual int CScreenAI::CheckMouseRButton()virtual int CScreenAI::CheckSystemKeyCtrl()virtual short CScreenAI::GetNumVirtualKeys()virtual CKeyInfo* CScreenAI::GetVirtualKeys()virtual void CScreenAI::EngineActivated()virtual void CScreenAI::EngineDeactivated()virtual void CScreenAI::EngineDestroyed()virtual void CScreenAI::EngineGameInit()virtual void CScreenAI::EngineGameUninit()virtual void CScreenAI::EngineInitialized()virtual int* CScreenAI::GetVirtualKeysFlags()virtual void CScreenAI::OnKeyDown(int nKeysFlags)virtual void CScreenAI::OnLButtonDblClk(CPoint cPoint)virtual void CScreenAI::OnLButtonDown(CPoint cPoint)virtual void CScreenAI::OnLButtonUp(CPoint cPoint)virtual void CScreenAI::OnMouseMove(CPoint cPoint)virtual void CScreenAI::OnRButtonDown(CPoint cPoint)virtual void CScreenAI::OnRButtonUp(CPoint cPoint)virtual void CScreenAI::SetSystemKeyCtrl(unsigned char bValue)virtual void CScreenAI::TimerAsynchronousUpdate()virtual void CScreenAI::TimerSynchronousUpdate()

6.96.3 Constructors

Name DescriptionCScreenAI::CScreenAI Constructs a CScreenAI object

CScreenAI::CScreenAI

Constructs a CScreenAI object

void CScreenAI::CScreenAI();

Remarks

Constructs a CScreenAI object

1688 Chapter 6. EE Game Classes (x86)

Page 1693: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.96.4 Methods

Name DescriptionCScreenAI::CheckMouseLButtonCScreenAI::CheckMouseMoveCScreenAI::CheckMouseRButtonCScreenAI::CheckSystemKeyCtrlCScreenAI::GetNumVirtualKeysCScreenAI::GetVirtualKeysCScreenAI::EngineActivatedCScreenAI::EngineDeactivatedCScreenAI::EngineDestroyedCScreenAI::EngineGameInitCScreenAI::EngineGameUninitCScreenAI::EngineInitializedCScreenAI::GetVirtualKeysFlagsCScreenAI::OnKeyDownCScreenAI::OnLButtonDblClkCScreenAI::OnLButtonDownCScreenAI::OnLButtonUpCScreenAI::OnMouseMoveCScreenAI::OnRButtonDownCScreenAI::OnRButtonUpCScreenAI::SetSystemKeyCtrlCScreenAI::TimerAsynchronousUpdateCScreenAI::TimerSynchronousUpdate

CScreenAI::CheckMouseLButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::CheckMouseMove

6.96. CScreenAI Class 1689

Page 1694: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::CheckMouseRButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::CheckSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1690 Chapter 6. EE Game Classes (x86)

Page 1695: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::GetNumVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::GetVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::EngineActivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.96. CScreenAI Class 1691

Page 1696: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::EngineDeactivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::EngineDestroyed

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::EngineGameInit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1692 Chapter 6. EE Game Classes (x86)

Page 1697: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::EngineGameUninit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::EngineInitialized

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::GetVirtualKeysFlags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.96. CScreenAI Class 1693

Page 1698: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::OnKeyDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::OnLButtonDblClk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::OnLButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1694 Chapter 6. EE Game Classes (x86)

Page 1699: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::OnLButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::OnMouseMove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::OnRButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.96. CScreenAI Class 1695

Page 1700: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::OnRButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::SetSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenAI::TimerAsynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1696 Chapter 6. EE Game Classes (x86)

Page 1701: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenAI::TimerSynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.97 CScreenChapter Class

• Overview

• Quick Reference

• Constructors

• Methods

6.97.1 Overview

Note: The CScreenChapter class handles chapter screens and dream transitions

The structure used for this class is CScreenChapter

6.97.2 Quick Reference

Quick Refvoid CScreenChapter::CScreenChapter()virtual void CScreenChapter::~CScreenChapter()virtual int CScreenChapter::CheckMouseLButton()virtual int CScreenChapter::CheckMouseMove()virtual int CScreenChapter::CheckMouseRButton()virtual int CScreenChapter::CheckSystemKeyCtrl()virtual void CScreenChapter::CancelEngine()virtual void CScreenChapter::EngineActivated()virtual void CScreenChapter::EngineDeactivated()

Continued on next page

6.97. CScreenChapter Class 1697

Page 1702: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 37 – continued from previous pagevirtual void CScreenChapter::EngineDestroyed()virtual void CScreenChapter::EngineGameInit()virtual void CScreenChapter::EngineInitialized()virtual void CScreenChapter::EngineGameUninit()virtual int CScreenChapter::GetEngineState()void CScreenChapter::GetNextDreamIndex(long& nDream)virtual short CScreenChapter::GetNumVirtualKeys()virtual int* CScreenChapter::GetVirtualKeysFlags()virtual CKeyInfo* CScreenChapter::GetVirtualKeys()int CScreenChapter::IsDoneButtonClickable()int CScreenChapter::IsReplayButtonClickable()void CScreenChapter::OnDoneButtonClick()virtual void CScreenChapter::OnKeyDown(int nKeysFlags)virtual void CScreenChapter::OnLButtonDown(CPoint cPoint)virtual void CScreenChapter::OnLButtonDblClk(CPoint cPoint)virtual void CScreenChapter::OnLButtonUp(CPoint cPoint)virtual void CScreenChapter::OnRButtonDown(CPoint cPoint)virtual void CScreenChapter::OnRButtonUp(CPoint cPoint)void CScreenChapter::OnMixerInitialize()virtual void CScreenChapter::OnMouseMove(CPoint cPoint)virtual void CScreenChapter::OnPortraitLClick(unsigned long id)void CScreenChapter::OnReplayButtonClick()void CScreenChapter::ResetMainPanel()virtual void CScreenChapter::SetSystemKeyCtrl(unsigned char bValue)void CScreenChapter::StartChapter(CResRef & cResText)void CScreenChapter::StartChapterMultiplayerHost(unsigned char nChapter, unsigned char* chapterResRef)int CScreenChapter::StartDream(unsigned char bRenting, CString& dreamOverride)int CScreenChapter::StartText(CResRef & cResText)void CScreenChapter::StartTextScreen(CString& textscreenOverride)void CScreenChapter::StartTextScreenMultiplayerHost(unsigned char* textscreenResRef)void CScreenChapter::StopDream()virtual int CScreenChapter::StopMusic()void CScreenChapter::StopText(int bNotifyServer)void CScreenChapter::StopTextScreen()void CScreenChapter::SwitchMainPanel(unsigned long dwMainPanelId)virtual void CScreenChapter::TimerAsynchronousUpdate()virtual void CScreenChapter::TimerSynchronousUpdate()

6.97.3 Constructors

Name DescriptionCScreenChapter::CScreenChapter Constructs a CScreenChapter objectCScreenChapter::~CScreenChapter Destroys a CScreenChapter object

CScreenChapter::CScreenChapter

Constructs a CScreenChapter object

1698 Chapter 6. EE Game Classes (x86)

Page 1703: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CScreenChapter::CScreenChapter();

Remarks

Constructs a CScreenChapter object

CScreenChapter::~CScreenChapter

Destroys the CScreenChapter object

virtual void CScreenChapter::~CScreenChapter();

Remarks

Destroys the CScreenChapter object

6.97.4 Methods

Name DescriptionCScreenChapter::CheckMouseLButtonCScreenChapter::CheckMouseMoveCScreenChapter::CheckMouseRButtonCScreenChapter::CheckSystemKeyCtrlCScreenChapter::CancelEngineCScreenChapter::EngineActivatedCScreenChapter::EngineDeactivatedCScreenChapter::EngineDestroyedCScreenChapter::EngineGameInitCScreenChapter::EngineInitializedCScreenChapter::EngineGameUninitCScreenChapter::GetEngineStateCScreenChapter::GetNextDreamIndexCScreenChapter::GetNumVirtualKeysCScreenChapter::GetVirtualKeysFlagsCScreenChapter::GetVirtualKeysCScreenChapter::IsDoneButtonClickableCScreenChapter::IsReplayButtonClickableCScreenChapter::OnDoneButtonClickCScreenChapter::OnKeyDownCScreenChapter::OnLButtonDownCScreenChapter::OnLButtonDblClkCScreenChapter::OnLButtonUpCScreenChapter::OnRButtonDownCScreenChapter::OnRButtonUpCScreenChapter::OnMixerInitializeCScreenChapter::OnMouseMoveCScreenChapter::OnPortraitLClick

Continued on next page

6.97. CScreenChapter Class 1699

Page 1704: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 38 – continued from previous pageCScreenChapter::OnReplayButtonClickCScreenChapter::ResetMainPanelCScreenChapter::SetSystemKeyCtrlCScreenChapter::StartChapterCScreenChapter::StartChapterMultiplayerHostCScreenChapter::StartDreamCScreenChapter::StartTextCScreenChapter::StartTextScreenCScreenChapter::StartTextScreenMultiplayerHostCScreenChapter::StopDreamCScreenChapter::StopMusicCScreenChapter::StopTextCScreenChapter::StopTextScreenCScreenChapter::SwitchMainPanelCScreenChapter::TimerAsynchronousUpdateCScreenChapter::TimerSynchronousUpdate

CScreenChapter::CheckMouseLButton

virtual int CScreenChapter::CheckMouseLButton();

Return Value

int

Remarks

CScreenChapter::CheckMouseMove

virtual int CScreenChapter::CheckMouseMove();

Return Value

int

Remarks

CScreenChapter::CheckMouseRButton

virtual int CScreenChapter::CheckMouseRButton();

Return Value

int

Remarks

1700 Chapter 6. EE Game Classes (x86)

Page 1705: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenChapter::CheckSystemKeyCtrl

virtual int CScreenChapter::CheckSystemKeyCtrl();

Return Value

int

Remarks

CScreenChapter::CancelEngine

virtual void CScreenChapter::CancelEngine();

Remarks

CScreenChapter::EngineActivated

virtual void CScreenChapter::EngineActivated();

Remarks

CScreenChapter::EngineDeactivated

virtual void CScreenChapter::EngineDeactivated();

Remarks

CScreenChapter::EngineDestroyed

virtual void CScreenChapter::EngineDestroyed();

Remarks

CScreenChapter::EngineGameInit

virtual void CScreenChapter::EngineGameInit();

Remarks

6.97. CScreenChapter Class 1701

Page 1706: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenChapter::EngineInitialized

virtual void CScreenChapter::EngineInitialized();

Remarks

CScreenChapter::EngineGameUninit

virtual void CScreenChapter::EngineGameUninit();

Remarks

CScreenChapter::GetEngineState

virtual int CScreenChapter::GetEngineState();

Return Value

int

Remarks

CScreenChapter::GetNextDreamIndex

void CScreenChapter::GetNextDreamIndex(long& nDream);

Parameters

• long& nDream -

Remarks

CScreenChapter::GetNumVirtualKeys

virtual short CScreenChapter::GetNumVirtualKeys();

Return Value

short

Remarks

CScreenChapter::GetVirtualKeysFlags

1702 Chapter 6. EE Game Classes (x86)

Page 1707: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual int\* CScreenChapter::GetVirtualKeysFlags();

Return Value

int*

Remarks

CScreenChapter::GetVirtualKeys

virtual :ref:`CKeyInfo<CKeyInfo>`\* CScreenChapter::GetVirtualKeys();

Return Value

Returns CKeyInfo*

Remarks

CScreenChapter::IsDoneButtonClickable

int CScreenChapter::IsDoneButtonClickable();

Return Value

int

Remarks

CScreenChapter::IsReplayButtonClickable

int CScreenChapter::IsReplayButtonClickable();

Return Value

int

Remarks

CScreenChapter::OnDoneButtonClick

void CScreenChapter::OnDoneButtonClick();

Remarks

CScreenChapter::OnKeyDown

6.97. CScreenChapter Class 1703

Page 1708: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CScreenChapter::OnKeyDown(int nKeysFlags);

Parameters

• int nKeysFlags -

Remarks

CScreenChapter::OnLButtonDown

virtual void CScreenChapter::OnLButtonDown(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

CScreenChapter::OnLButtonDblClk

virtual void CScreenChapter::OnLButtonDblClk(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

CScreenChapter::OnLButtonUp

virtual void CScreenChapter::OnLButtonUp(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

CScreenChapter::OnRButtonDown

virtual void CScreenChapter::OnRButtonDown(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

1704 Chapter 6. EE Game Classes (x86)

Page 1709: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenChapter::OnRButtonUp

virtual void CScreenChapter::OnRButtonUp(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

CScreenChapter::OnMixerInitialize

void CScreenChapter::OnMixerInitialize();

Remarks

CScreenChapter::OnMouseMove

virtual void CScreenChapter::OnMouseMove(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint -

Remarks

CScreenChapter::OnPortraitLClick

virtual void CScreenChapter::OnPortraitLClick(unsigned long id);

Parameters

• unsigned long id -

Remarks

CScreenChapter::OnReplayButtonClick

void CScreenChapter::OnReplayButtonClick();

Remarks

CScreenChapter::ResetMainPanel

6.97. CScreenChapter Class 1705

Page 1710: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CScreenChapter::ResetMainPanel();

Remarks

CScreenChapter::SetSystemKeyCtrl

virtual void CScreenChapter::SetSystemKeyCtrl(unsigned char bValue);

Parameters

• unsigned char bValue -

Remarks

CScreenChapter::StartChapter

void CScreenChapter::StartChapter(:ref:`CResRef<CResRef>`\& cResText);

Parameters

• CResRef & cResText -

Remarks

CScreenChapter::StartChapterMultiplayerHost

void CScreenChapter::StartChapterMultiplayerHost(unsigned char nChapter,

unsigned char* chapterResRef);

Parameters

• unsigned char nChapter -

• unsigned char* chapterResRef -

Remarks

CScreenChapter::StartDream

int CScreenChapter::StartDream(unsigned char bRenting,

CString& dreamOverride);

Parameters

• unsigned char bRenting -

1706 Chapter 6. EE Game Classes (x86)

Page 1711: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• CString& dreamOverride -

Return Value

int

Remarks

CScreenChapter::StartText

int CScreenChapter::StartText(:ref:`CResRef<CResRef>`\& cResText);

Parameters

• CResRef & cResText -

Return Value

int

Remarks

CScreenChapter::StartTextScreen

void CScreenChapter::StartTextScreen(:ref:`CString<CString>`\& textscreenOverride);

Parameters

• CString& textscreenOverride -

Remarks

CScreenChapter::StartTextScreenMultiplayerHost

void CScreenChapter::StartTextScreenMultiplayerHost(unsigned char\* textscreenResRef);

Parameters

• unsigned char* textscreenResRef -

Remarks

CScreenChapter::StopDream

void CScreenChapter::StopDream();

Remarks

6.97. CScreenChapter Class 1707

Page 1712: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenChapter::StopMusic

virtual int CScreenChapter::StopMusic();

Return Value

int

Remarks

CScreenChapter::StopText

void CScreenChapter::StopText(int bNotifyServer);

Parameters

• int bNotifyServer -

Remarks

CScreenChapter::StopTextScreen

void CScreenChapter::StopTextScreen();

Remarks

CScreenChapter::SwitchMainPanel

void CScreenChapter::SwitchMainPanel(unsigned long dwMainPanelId);

Parameters

• unsigned long dwMainPanelId -

Remarks

CScreenChapter::TimerAsynchronousUpdate

virtual void CScreenChapter::TimerAsynchronousUpdate();

Remarks

CScreenChapter::TimerSynchronousUpdate

1708 Chapter 6. EE Game Classes (x86)

Page 1713: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CScreenChapter::TimerSynchronousUpdate();

Remarks

6.98 CScreenCharacter Class

• Overview

• Quick Reference

• Constructors

• Methods

6.98.1 Overview

Note: The CScreenCharacter class handles characters

The structure used for this class is CScreenCharacter

6.98.2 Quick Reference

Quick Refvoid CScreenCharacter::CScreenCharacter()virtual void CScreenCharacter::~CScreenCharacter()virtual void CScreenCharacter::CancelEngine()void CScreenCharacter::CheckDropEquipment()void CScreenCharacter::CheckDropSlot(int nSlot)virtual int CScreenCharacter::CheckMouseLButton()virtual int CScreenCharacter::CheckMouseMove()virtual int CScreenCharacter::CheckMouseRButton()virtual int CScreenCharacter::CheckSystemKeyCapsLock()virtual int CScreenCharacter::CheckSystemKeyCtrl()virtual int CScreenCharacter::CheckSystemKeyShift()void CScreenCharacter::CheckMultiPlayerViewableModifyable()virtual void CScreenCharacter::EngineActivated()virtual void CScreenCharacter::EngineDeactivated()virtual void CScreenCharacter::EngineDestroyed()virtual void CScreenCharacter::EngineInitialized()virtual void CScreenCharacter::EngineGameInit()virtual void CScreenCharacter::EngineGameUninit()virtual int CScreenCharacter::GetCapsLockKey()virtual int CScreenCharacter::GetCtrlKey()virtual short CScreenCharacter::GetNumVirtualKeys()

Continued on next page

6.98. CScreenCharacter Class 1709

Page 1714: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 39 – continued from previous pagevirtual int CScreenCharacter::GetShiftKey()virtual CKeyInfo* CScreenCharacter::GetVirtualKeys()virtual int* CScreenCharacter::GetVirtualKeysFlags()int CScreenCharacter::GetTempSmartScriptLocal(int nSetting)int CScreenCharacter::IsAppearanceButtonClickable()int CScreenCharacter::IsCharacterViewable()int CScreenCharacter::IsDoneButtonClickable(int characterID)int CScreenCharacter::IsDoneButtonClickable(CGameSprite* pSprite)int CScreenCharacter::IsDualClassButtonClickable()int CScreenCharacter::IsExportButtonClickable()int CScreenCharacter::IsInGame()int CScreenCharacter::IsLevelUpButtonClickable(CGameSprite* pSprite)int CScreenCharacter::IsLevelUpButtonClickable()unsigned char CScreenCharacter::IsNameOnExportList(CString stName)int CScreenCharacter::IsReformPartyButtonClickable()void CScreenCharacter::LevelUp(CGameSprite* pSprite)void CScreenCharacter::MakeDualClass(CGameSprite* pSprite, unsigned char nNewClass)void CScreenCharacter::OnAppearanceButtonClick()void CScreenCharacter::OnCancelButtonClick()void CScreenCharacter::OnCharacterItemSelect(int nMarker)void CScreenCharacter::OnCusomizeBiographyButtonClick()void CScreenCharacter::OnCustomizeButtonClick()void CScreenCharacter::OnDoneButtonClick()void CScreenCharacter::OnDualClassButtonClick()void CScreenCharacter::OnErrorButtonClick(int nButton)virtual bool CScreenCharacter::OnEvent(SDL_Event* e)void CScreenCharacter::OnExportButtonClick()void CScreenCharacter::OnHairSkinButtonClick()virtual void CScreenCharacter::OnKeyDown(int nKeysFlags)virtual void CScreenCharacter::OnLButtonDblClk(CPoint cPoint)virtual void CScreenCharacter::OnLButtonDown(CPoint cPoint)virtual void CScreenCharacter::OnLButtonUp(CPoint cPoint)void CScreenCharacter::OnLevelUpButtonClick()virtual void CScreenCharacter::OnMouseMove(CPoint cPoint)void CScreenCharacter::OnPlayButtonClick()virtual void CScreenCharacter::OnPortraitLClick(unsigned long id)virtual void CScreenCharacter::OnRButtonDown(CPoint cPoint)virtual void CScreenCharacter::OnRButtonUp(CPoint cPoint)void CScreenCharacter::OnReformPartyButtonClick()virtual void CScreenCharacter::OnRestButtonClick()void CScreenCharacter::OnScriptButtonClick()void CScreenCharacter::OnScriptItemSelect(int nIndex)void CScreenCharacter::OnSoundItemSelect(int nIndex)void CScreenCharacter::OnSoundsButtonClick()void CScreenCharacter::RecallAppearance(CGameSprite* pSprite)void CScreenCharacter::RecallHairSkin(CGameSprite* pSprite)void CScreenCharacter::RecallScript(CGameSprite* pSprite)void CScreenCharacter::RecallSounds(CGameSprite* pSprite)void CScreenCharacter::RefreshScripts()void CScreenCharacter::RemoveAbilities(CGameSprite* pSprite, int nNewClass, int bRemoveInnates)

Continued on next page

1710 Chapter 6. EE Game Classes (x86)

Page 1715: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 39 – continued from previous pagevoid CScreenCharacter::ResumeSpellPicking()void CScreenCharacter::SetSmartScriptLocal(int nSetting, int bSet)virtual void CScreenCharacter::SetSystemKeyCapsLock(int bValue)virtual void CScreenCharacter::SetSystemKeyCtrl(unsigned char bValue)virtual void CScreenCharacter::SetSystemKeyShift(int bValue)void CScreenCharacter::SetTempSmartScriptLocal(int nSetting, int bSet)void CScreenCharacter::StoreAppearance(CGameSprite* pSprite)void CScreenCharacter::StoreScript(CGameSprite* pSprite)virtual void CScreenCharacter::TimerAsynchronousUpdate()virtual void CScreenCharacter::TimerSynchronousUpdate()void CScreenCharacter::UpdateCharacterList(CString luaVar)virtual void CScreenCharacter::UpdateCharacterStatus(long nSpriteId)void CScreenCharacter::UpdateMainPanel(int bCharacterChanged)

6.98.3 Constructors

Name DescriptionCScreenCharacter::CScreenCharacter Constructs a CScreenCharacter objectCScreenCharacter::CScreenCharacter Destroys a CScreenCharacter object

CScreenCharacter::CScreenCharacter

Constructs a CScreenCharacter object

void CScreenCharacter::CScreenCharacter();

Remarks

Constructs a CScreenCharacter object

CScreenCharacter::~CScreenCharacter

Destroys the CScreenCharacter object

virtual void CScreenCharacter::~CScreenCharacter();

Remarks

Destroys the CScreenCharacter object

6.98.4 Methods

Name DescriptionContinued on next page

6.98. CScreenCharacter Class 1711

Page 1716: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 40 – continued from previous pageCScreenCharacter::CancelEngineCScreenCharacter::CheckDropEquipmentCScreenCharacter::CheckDropSlotCScreenCharacter::CheckMouseLButtonCScreenCharacter::CheckMouseMoveCScreenCharacter::CheckMouseRButtonCScreenCharacter::CheckSystemKeyCapsLockCScreenCharacter::CheckSystemKeyCtrlCScreenCharacter::CheckSystemKeyShiftCScreenCharacter::CheckMultiPlayerViewableModifyableCScreenCharacter::EngineActivatedCScreenCharacter::EngineDeactivatedCScreenCharacter::EngineDestroyedCScreenCharacter::EngineInitializedCScreenCharacter::EngineGameInitCScreenCharacter::EngineGameUninitCScreenCharacter::GetCapsLockKeyCScreenCharacter::GetCtrlKeyCScreenCharacter::GetNumVirtualKeysCScreenCharacter::GetShiftKeyCScreenCharacter::GetVirtualKeysCScreenCharacter::GetVirtualKeysFlagsCScreenCharacter::GetTempSmartScriptLocalCScreenCharacter::IsAppearanceButtonClickableCScreenCharacter::IsCharacterViewableCScreenCharacter::IsDoneButtonClickableCScreenCharacter::IsDualClassButtonClickableCScreenCharacter::IsExportButtonClickableCScreenCharacter::IsInGameCScreenCharacter::IsLevelUpButtonClickableCScreenCharacter::IsNameOnExportListCScreenCharacter::IsReformPartyButtonClickableCScreenCharacter::LevelUpCScreenCharacter::MakeDualClassCScreenCharacter::OnAppearanceButtonClickCScreenCharacter::OnCancelButtonClickCScreenCharacter::OnCharacterItemSelectCScreenCharacter::OnCusomizeBiographyButtonClickCScreenCharacter::OnCustomizeButtonClickCScreenCharacter::OnDoneButtonClickCScreenCharacter::OnDualClassButtonClickCScreenCharacter::OnErrorButtonClickCScreenCharacter::OnEventCScreenCharacter::OnExportButtonClickCScreenCharacter::OnHairSkinButtonClickCScreenCharacter::OnKeyDownCScreenCharacter::OnLButtonDblClkCScreenCharacter::OnLButtonDownCScreenCharacter::OnLButtonUpCScreenCharacter::OnLevelUpButtonClick

Continued on next page

1712 Chapter 6. EE Game Classes (x86)

Page 1717: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 40 – continued from previous pageCScreenCharacter::OnMouseMoveCScreenCharacter::OnPlayButtonClickCScreenCharacter::OnPortraitLClickCScreenCharacter::OnRButtonDownCScreenCharacter::OnRButtonUpCScreenCharacter::OnReformPartyButtonClickCScreenCharacter::OnRestButtonClickCScreenCharacter::OnScriptButtonClickCScreenCharacter::OnScriptItemSelectCScreenCharacter::OnSoundItemSelectCScreenCharacter::OnSoundsButtonClickCScreenCharacter::RecallAppearanceCScreenCharacter::RecallHairSkinCScreenCharacter::RecallScriptCScreenCharacter::RecallSoundsCScreenCharacter::RefreshScriptsCScreenCharacter::RemoveAbilitiesCScreenCharacter::ResumeSpellPickingCScreenCharacter::SetSmartScriptLocalCScreenCharacter::SetSystemKeyCapsLockCScreenCharacter::SetSystemKeyCtrlCScreenCharacter::SetSystemKeyShiftCScreenCharacter::SetTempSmartScriptLocalCScreenCharacter::StoreAppearanceCScreenCharacter::StoreScriptCScreenCharacter::TimerAsynchronousUpdateCScreenCharacter::TimerSynchronousUpdateCScreenCharacter::UpdateCharacterListCScreenCharacter::UpdateCharacterStatusCScreenCharacter::UpdateMainPanel

CScreenCharacter::CancelEngine

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1713

Page 1718: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::CheckDropEquipment

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckDropSlot

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckMouseLButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1714 Chapter 6. EE Game Classes (x86)

Page 1719: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::CheckMouseMove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckMouseRButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckSystemKeyCapsLock

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1715

Page 1720: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::CheckSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckSystemKeyShift

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::CheckMultiPlayerViewableModifyable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1716 Chapter 6. EE Game Classes (x86)

Page 1721: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::EngineActivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::EngineDeactivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::EngineDestroyed

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1717

Page 1722: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::EngineInitialized

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::EngineGameInit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::EngineGameUninit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1718 Chapter 6. EE Game Classes (x86)

Page 1723: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::GetCapsLockKey

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::GetCtrlKey

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::GetNumVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1719

Page 1724: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::GetShiftKey

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::GetVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::GetVirtualKeysFlags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1720 Chapter 6. EE Game Classes (x86)

Page 1725: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::GetTempSmartScriptLocal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsAppearanceButtonClickable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsCharacterViewable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1721

Page 1726: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::IsDoneButtonClickable

int **CScreenCharacter\:\:IsDoneButtonClickable**\(int characterID);

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsDoneButtonClickable

int **CScreenCharacter\:\:IsDoneButtonClickable**\(:ref:`CGameSprite<CGameSprite>`\*→˓pSprite);

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsDualClassButtonClickable

x;

Parameters

• – *

• – *

• – *

• – *

1722 Chapter 6. EE Game Classes (x86)

Page 1727: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns

Remarks

CScreenCharacter::IsExportButtonClickable

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsInGame

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsLevelUpButtonClickable

int **CScreenCharacter\:\:IsLevelUpButtonClickable**\(:ref:`CGameSprite<CGameSprite>→˓`\* pSprite);

Parameters

• – *

6.98. CScreenCharacter Class 1723

Page 1728: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsLevelUpButtonClickable

int **CScreenCharacter\:\:IsLevelUpButtonClickable**\();

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsNameOnExportList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::IsReformPartyButtonClickable

1724 Chapter 6. EE Game Classes (x86)

Page 1729: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::LevelUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::MakeDualClass

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1725

Page 1730: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnAppearanceButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnCancelButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnCharacterItemSelect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1726 Chapter 6. EE Game Classes (x86)

Page 1731: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnCusomizeBiographyButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnCustomizeButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnDoneButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1727

Page 1732: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnDualClassButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnErrorButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnEvent

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1728 Chapter 6. EE Game Classes (x86)

Page 1733: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnExportButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnHairSkinButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnKeyDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1729

Page 1734: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnLButtonDblClk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnLButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnLButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1730 Chapter 6. EE Game Classes (x86)

Page 1735: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnLevelUpButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnMouseMove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnPlayButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1731

Page 1736: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnPortraitLClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnRButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnRButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1732 Chapter 6. EE Game Classes (x86)

Page 1737: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnReformPartyButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnRestButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnScriptButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1733

Page 1738: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::OnScriptItemSelect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnSoundItemSelect

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::OnSoundsButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1734 Chapter 6. EE Game Classes (x86)

Page 1739: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::RecallAppearance

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::RecallHairSkin

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::RecallScript

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1735

Page 1740: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::RecallSounds

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::RefreshScripts

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::RemoveAbilities

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1736 Chapter 6. EE Game Classes (x86)

Page 1741: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::ResumeSpellPicking

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::SetSmartScriptLocal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::SetSystemKeyCapsLock

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1737

Page 1742: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::SetSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::SetSystemKeyShift

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::SetTempSmartScriptLocal

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1738 Chapter 6. EE Game Classes (x86)

Page 1743: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::StoreAppearance

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::StoreScript

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::TimerAsynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.98. CScreenCharacter Class 1739

Page 1744: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::TimerSynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::UpdateCharacterList

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenCharacter::UpdateCharacterStatus

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1740 Chapter 6. EE Game Classes (x86)

Page 1745: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCharacter::UpdateMainPanel

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99 CScreenConnection Class

• Overview

• Quick Reference

• Constructors

• Methods

6.99.1 Overview

Note: The CScreenConnection class handles connection to multiplayer games

The structure used for this class is CScreenConnection

6.99.2 Quick Reference

Quick Refvoid CScreenConnection::CScreenConnection()void CScreenConnection::AutoSelectServiceProvider()void CScreenConnection::AutoStartConnect()void CScreenConnection::AutoStartHost()int CScreenConnection::AutoStartInitialize()void CScreenConnection::CancelJoinGame()virtual int CScreenConnection::CheckMouseLButton()virtual int CScreenConnection::CheckMouseMove()virtual int CScreenConnection::CheckMouseRButton()

Continued on next page

6.99. CScreenConnection Class 1741

Page 1746: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 41 – continued from previous pagevirtual int CScreenConnection::CheckSystemKeyCapsLock()virtual int CScreenConnection::CheckSystemKeyCtrl()virtual int CScreenConnection::CheckSystemKeyShift()void CScreenConnection::ClearSessions()virtual void CScreenConnection::EngineActivated()virtual void CScreenConnection::EngineDeactivated()virtual void CScreenConnection::EngineDestroyed()virtual void CScreenConnection::EngineGameInit()virtual void CScreenConnection::EngineGameUninit()virtual void CScreenConnection::EngineInitialized()CString CScreenConnection::GenerateSessionDescription()virtual int CScreenConnection::GetCapsLockKey()virtual short CScreenConnection::GetNumVirtualKeys()virtual int CScreenConnection::GetShiftKey()virtual CKeyInfo* CScreenConnection::GetVirtualKeys()virtual int* CScreenConnection::GetVirtualKeysFlags()void CScreenConnection::HandleEMEvent(unsigned char nEvent, unsigned char nEventStage)void CScreenConnection::HandleJoinCompletion(unsigned char nEvent)int CScreenConnection::HasServiceProvider()void CScreenConnection::InitializeSessionData()int CScreenConnection::IsValidAddress(const char* sAddress)void CScreenConnection::JoinGame()void CScreenConnection::JoinGameIPAddress(char* addr)void CScreenConnection::OnDoneButtonClick()void CScreenConnection::OnJoinGameButtonClick()virtual void CScreenConnection::OnKeyDown(int nKeysFlags)void CScreenConnection::OnLoadGameButtonClick()virtual void CScreenConnection::OnLButtonDblClk(CPoint cPoint)virtual void CScreenConnection::OnLButtonDown(CPoint cPoint)void CScreenConnection::OnMainCancelButtonClick()virtual void CScreenConnection::OnMouseMove(CPoint cPoint)void CScreenConnection::OnNewGameButtonClick()virtual void CScreenConnection::OnRButtonDown(CPoint cPoint)virtual void CScreenConnection::OnLButtonUp(CPoint cPoint)virtual void CScreenConnection::OnRButtonUp(CPoint cPoint)void CScreenConnection::SelectServiceProvider(int protocol)void CScreenConnection::SetEliminateInitialize(unsigned char bValue)void CScreenConnection::SetPlayerName(char* name)void CScreenConnection::SetSessionDefaultStrings(CString& sSessionName, CString& sSessionPassword, CString& sPlayerName, int bCreating)virtual void CScreenConnection::SetSystemKeyCapsLock(int bValue)virtual void CScreenConnection::SetSystemKeyCtrl(unsigned char bValue)virtual void CScreenConnection::SetSystemKeyShift(int bValue)void CScreenConnection::ShowSessionTerminatedMessage(bool showTerminated)void CScreenConnection::StartConnection(unsigned char bDirectPlayLobby)void CScreenConnection::StopConnectingToProvider()virtual void CScreenConnection::TimerAsynchronousUpdate()virtual void CScreenConnection::TimerSynchronousUpdate()void CScreenConnection::UpdateLuaTables()

1742 Chapter 6. EE Game Classes (x86)

Page 1747: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.99.3 Constructors

Name DescriptionCScreenConnection::CScreenConnection Constructs a CScreenConnection object

CScreenConnection::CScreenConnection

Constructs a CScreenConnection object

void CScreenConnection::CScreenConnection();

Remarks

Constructs a CScreenConnection object

6.99.4 Methods

Name DescriptionCScreenConnection::AutoSelectServiceProviderCScreenConnection::AutoStartConnectCScreenConnection::AutoStartHostCScreenConnection::AutoStartInitializeCScreenConnection::CancelJoinGameCScreenConnection::CheckMouseLButtonCScreenConnection::CheckMouseMoveCScreenConnection::CheckMouseRButtonCScreenConnection::CheckSystemKeyCapsLockCScreenConnection::CheckSystemKeyCtrlCScreenConnection::CheckSystemKeyShiftCScreenConnection::ClearSessionsCScreenConnection::EngineActivatedCScreenConnection::EngineDeactivatedCScreenConnection::EngineDestroyedCScreenConnection::EngineGameInitCScreenConnection::EngineGameUninitCScreenConnection::EngineInitializedCScreenConnection::GenerateSessionDescriptionCScreenConnection::GetCapsLockKeyCScreenConnection::GetNumVirtualKeysCScreenConnection::GetShiftKeyCScreenConnection::GetVirtualKeysCScreenConnection::GetVirtualKeysFlagsCScreenConnection::HandleEMEventCScreenConnection::HandleJoinCompletionCScreenConnection::HasServiceProviderCScreenConnection::InitializeSessionDataCScreenConnection::IsValidAddressCScreenConnection::JoinGame

Continued on next page

6.99. CScreenConnection Class 1743

Page 1748: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 42 – continued from previous pageCScreenConnection::JoinGameIPAddressCScreenConnection::OnDoneButtonClickCScreenConnection::OnJoinGameButtonClickCScreenConnection::OnKeyDownCScreenConnection::OnLoadGameButtonClickCScreenConnection::OnLButtonDblClkCScreenConnection::OnLButtonDownCScreenConnection::OnMainCancelButtonClickCScreenConnection::OnMouseMoveCScreenConnection::OnNewGameButtonClickCScreenConnection::OnRButtonDownCScreenConnection::OnLButtonUpCScreenConnection::OnRButtonUpCScreenConnection::SelectServiceProviderCScreenConnection::SetEliminateInitializeCScreenConnection::SetPlayerNameCScreenConnection::SetSessionDefaultStringsCScreenConnection::SetSystemKeyCapsLockCScreenConnection::SetSystemKeyCtrlCScreenConnection::SetSystemKeyShiftCScreenConnection::ShowSessionTerminatedMessageCScreenConnection::StartConnectionCScreenConnection::StopConnectingToProviderCScreenConnection::TimerAsynchronousUpdateCScreenConnection::TimerSynchronousUpdateCScreenConnection::UpdateLuaTables

CScreenConnection::AutoSelectServiceProvider

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::AutoStartConnect

x;

1744 Chapter 6. EE Game Classes (x86)

Page 1749: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::AutoStartHost

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::AutoStartInitialize

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1745

Page 1750: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::CancelJoinGame

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::CheckMouseLButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::CheckMouseMove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1746 Chapter 6. EE Game Classes (x86)

Page 1751: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::CheckMouseRButton

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::CheckSystemKeyCapsLock

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::CheckSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1747

Page 1752: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::CheckSystemKeyShift

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::ClearSessions

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::EngineActivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1748 Chapter 6. EE Game Classes (x86)

Page 1753: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::EngineDeactivated

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::EngineDestroyed

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::EngineGameInit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1749

Page 1754: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::EngineGameUninit

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::EngineInitialized

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::GenerateSessionDescription

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1750 Chapter 6. EE Game Classes (x86)

Page 1755: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::GetCapsLockKey

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::GetNumVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::GetShiftKey

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1751

Page 1756: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::GetVirtualKeys

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::GetVirtualKeysFlags

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::HandleEMEvent

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1752 Chapter 6. EE Game Classes (x86)

Page 1757: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::HandleJoinCompletion

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::HasServiceProvider

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::InitializeSessionData

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1753

Page 1758: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::IsValidAddress

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::JoinGame

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::JoinGameIPAddress

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1754 Chapter 6. EE Game Classes (x86)

Page 1759: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::OnDoneButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnJoinGameButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnKeyDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1755

Page 1760: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::OnLoadGameButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnLButtonDblClk

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnLButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1756 Chapter 6. EE Game Classes (x86)

Page 1761: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::OnMainCancelButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnMouseMove

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnNewGameButtonClick

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1757

Page 1762: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::OnRButtonDown

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnLButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::OnRButtonUp

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1758 Chapter 6. EE Game Classes (x86)

Page 1763: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::SelectServiceProvider

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::SetEliminateInitialize

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::SetPlayerName

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1759

Page 1764: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::SetSessionDefaultStrings

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::SetSystemKeyCapsLock

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::SetSystemKeyCtrl

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1760 Chapter 6. EE Game Classes (x86)

Page 1765: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::SetSystemKeyShift

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::ShowSessionTerminatedMessage

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::StartConnection

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.99. CScreenConnection Class 1761

Page 1766: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::StopConnectingToProvider

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::TimerAsynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

CScreenConnection::TimerSynchronousUpdate

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1762 Chapter 6. EE Game Classes (x86)

Page 1767: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenConnection::UpdateLuaTables

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

6.100 CScreenCreateChar Class

• Overview

• Quick Reference

• Constructors

• Methods

6.100.1 Overview

Note: The CScreenCreateChar class handles character generation

The structure used for this class is CScreenCreateChar

6.100.2 Quick Reference

Quick Refvoid CScreenCreateChar::CScreenCreateChar()virtual void CScreenCreateChar::~CScreenCreateChar()int CScreenCreateChar::AbilityCountInEffectList(CGameSprite* pSprite, CString& sAbility)int CScreenCreateChar::AbilityExistsInEffectList(CGameSprite* pSprite, CString& sPrereq)void CScreenCreateChar::AcceptCharacter(int selectedDifficulty)void CScreenCreateChar::AddChosenSpellsToKnown(CGameSprite* pSprite)bool CScreenCreateChar::CanSpendProficiencySlots()void CScreenCreateChar::CancelCreateChar()virtual void CScreenCreateChar::CancelEngine()

Continued on next page

6.100. CScreenCreateChar Class 1763

Page 1768: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 43 – continued from previous pagevoid CScreenCreateChar::CancelLevelUp()void CScreenCreateChar::CancelMemorizeSpells()int CScreenCreateChar::CheckAbilityEnabled(CGameSprite* pSprite, CAbilityData* pAbility)int CScreenCreateChar::CheckCompatibleEquipment(unsigned char nClass, unsigned char nActiveClass, unsigned char nInactiveClass, int bInactiveUsable, unsigned long baseFlags, unsigned long nSpecialist)int CScreenCreateChar::CheckCompatibleSlot(int nSlot, unsigned char nClass, unsigned char nActiveClass, unsigned char nInactiveClass, int bInactiveUsable, unsigned long baseFlags, unsigned long nSpecialist)void CScreenCreateChar::CheckDropEquipment()void CScreenCreateChar::CheckDropSlot(int nSlot)virtual int CScreenCreateChar::CheckMouseLButton()virtual int CScreenCreateChar::CheckMouseMove()virtual int CScreenCreateChar::CheckMouseRButton()virtual int CScreenCreateChar::CheckSystemKeyCapsLock()virtual int CScreenCreateChar::CheckSystemKeyCtrl()virtual int CScreenCreateChar::CheckSystemKeyShift()void CScreenCreateChar::CompleteCharacterAbilities(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterClass(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterHighLevelAbilities(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterInitialise(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterSkills(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterSounds(CGameSprite* pSprite)void CScreenCreateChar::CompleteCharacterWrapup(CGameSprite* pSprite)int CScreenCreateChar::CountInSelectedList(CString& sAbility)void CScreenCreateChar::DecCurrentPortrait(CGameSprite* pSprite)void CScreenCreateChar::DeleteCharacter()virtual void CScreenCreateChar::EngineActivated()virtual void CScreenCreateChar::EngineDeactivated()virtual void CScreenCreateChar::EngineDestroyed()virtual void CScreenCreateChar::EngineGameInit()virtual void CScreenCreateChar::EngineGameUninit()virtual void CScreenCreateChar::EngineInitialized()int CScreenCreateChar::ExistsInSelectedList(CString& sAbility)virtual int CScreenCreateChar::GetCapsLockKey()int CScreenCreateChar::GetCharacterVersion(CAIObjectType* TypeAI, CDerivedStats* pDStats, CRuleTables& cRule)virtual int CScreenCreateChar::GetCtrlKey()CString CScreenCreateChar::GetCurrentPortrait(CGameSprite* pSprite, char size)virtual void __cdecl CScreenCreateChar::GetCurrentPortraitCallback(void* batton) = 0int CScreenCreateChar::GetDualClassCount()virtual int CScreenCreateChar::GetEngineState()void CScreenCreateChar::GetImportableCharacters()virtual short CScreenCreateChar::GetNumVirtualKeys()virtual int CScreenCreateChar::GetShiftKey()int CScreenCreateChar::GetSpecialistBonusSpells(int level, CGameSprite* pSprite)int CScreenCreateChar::GetStoredSkill(unsigned char index)virtual CKeyInfo* CScreenCreateChar::GetVirtualKeys()virtual int* CScreenCreateChar::GetVirtualKeysFlags()void CScreenCreateChar::ImportCharacter(CString& sCharacter)void CScreenCreateChar::ImportGame(CString& sFileName)void CScreenCreateChar::ImportParty()void CScreenCreateChar::IncCurrentPortrait(CGameSprite* pSprite)void CScreenCreateChar::IncCustomSoundIndex()int CScreenCreateChar::IsAbilityRecallButtonClickable()

Continued on next page

1764 Chapter 6. EE Game Classes (x86)

Page 1769: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 43 – continued from previous pageint CScreenCreateChar::IsAdvancedButtonClickable()bool CScreenCreateChar::IsChargenComplete()int CScreenCreateChar::IsClearMemoryAbilities()int CScreenCreateChar::IsDoneButtonClickable(CGameSprite* pSprite)int CScreenCreateChar::IsHighLevelAbilitiesButtonClickable()bool CScreenCreateChar::IsMainBackButtonClickable()int CScreenCreateChar::IsThiefSkillPlusMinusButtonClickable()void CScreenCreateChar::LevelUp(CGameSprite* pSprite)int CScreenCreateChar::MageSchoolSpellsAvailable(unsigned char nSpellLevel, CGameSprite* pSprite)void CScreenCreateChar::MakeDualClass(CGameSprite* pSprite, unsigned char nNewClass)void CScreenCreateChar::MakeSingleClass(CGameSprite* pSprite)void CScreenCreateChar::OnAbilityPlusMinusButtonClick(int stat, bool plus)void CScreenCreateChar::OnAbilityReRollButtonClick()void CScreenCreateChar::OnAbilityRecallButtonClick()void CScreenCreateChar::OnAbilityStoreButtonClick()void CScreenCreateChar::OnAdvancedButtonClick()void CScreenCreateChar::OnAlignmentSelectButtonClick(int alignment)void CScreenCreateChar::OnBiographyButtonClick()void CScreenCreateChar::OnCancelButtonClick()void CScreenCreateChar::OnCharacterExportItemSelect(int nMarker)void CScreenCreateChar::OnCharacterImportItemSelect(int nMarker)void CScreenCreateChar::OnCheatyMcCheaterson()void CScreenCreateChar::OnClassSelectButtonClick(int classId)void CScreenCreateChar::OnDoneButtonClick()virtual void __cdecl CScreenCreateChar::OnDoneButtonClickCallback(void* batton) = 0void CScreenCreateChar::OnGenderSelectButtonClick(int value)void CScreenCreateChar::OnHLAButtonClick(int HLA, int change)void CScreenCreateChar::OnHighLevelAbilitiesButtonClick()void CScreenCreateChar::OnImportCharacterButtonClick()void CScreenCreateChar::OnImportCharacterFileButtonClick()void CScreenCreateChar::OnImportSaveButtonClick()virtual void CScreenCreateChar::OnKeyDown(int nKeysFlags)void CScreenCreateChar::OnKitSelectButtonClick(int kitId)virtual void CScreenCreateChar::OnLButtonDblClk(CPoint cPoint)virtual void CScreenCreateChar::OnLButtonDown(CPoint cPoint)virtual void CScreenCreateChar::OnLButtonUp(CPoint cPoint)void CScreenCreateChar::OnLearnMageSpellButtonClick(int spell)void CScreenCreateChar::OnLevelUp(CGameSprite* pSprite, unsigned long nExperience)void CScreenCreateChar::OnMainBackButtonClick()void CScreenCreateChar::OnMainCancelButtonClick()void CScreenCreateChar::OnMemorizeMageSpellButtonClick(int spell, int amount)void CScreenCreateChar::OnMemorizePriestSpellButtonClick(int spell, int amount)void CScreenCreateChar::OnMenuButtonClick()virtual void CScreenCreateChar::OnMouseMove(CPoint cPoint)void CScreenCreateChar::OnPlayButtonClick()void CScreenCreateChar::OnPrerollCancelButtonClick()void CScreenCreateChar::OnPrerollCharacterPick(int nId)void CScreenCreateChar::OnProficiencyPlusMinusButtonClick(int id, bool plus)void CScreenCreateChar::OnRaceSelectButtonClick(int raceId)void CScreenCreateChar::OnRacialEnemySelectButtonClick(int enemy)

Continued on next page

6.100. CScreenCreateChar Class 1765

Page 1770: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 43 – continued from previous pagevirtual void CScreenCreateChar::OnRButtonDown(CPoint cPoint)virtual void CScreenCreateChar::OnRButtonUp(CPoint cPoint)void CScreenCreateChar::OnResetSkills(CGameSprite* pSprite)void CScreenCreateChar::OnSoundItemSelect(int nIndex)void CScreenCreateChar::OnThiefSkillPlusMinusButtonClick(int thiefSkillId, bool plus)void CScreenCreateChar::RecallMemoryAbilities(unsigned char& nSTR, unsigned char& nSTRExtra, unsigned char& nDEX, unsigned char& nCON, unsigned char& nINT, unsigned char& nWIS, unsigned char& nCHR, int& nExtra)void CScreenCreateChar::RemoveAbilities(CGameSprite* pSprite, int nNewClass, int bRemoveInnates)void CScreenCreateChar::RemoveItems(CGameSprite* pSprite)void CScreenCreateChar::RemoveSelectedAbility(unsigned char nButtonIndex)void CScreenCreateChar::ResetAbilities(CGameSprite* pSprite, int bForced)void CScreenCreateChar::ResetAbilitiesPanel(CGameSprite* pSprite)int CScreenCreateChar::ResetAbility(CGameSprite* pSprite, CString& sMin, CString& sMax, CString& sMod, unsigned char& nAbility, unsigned char& nMin, unsigned char& nMax)void CScreenCreateChar::ResetAlignmentPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetBiographyPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetChooseMagePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetClassPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetCustomSoundsPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetDualClassChooseMagePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetDualClassProficienciesPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetExportPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetGenderPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetHatedRacePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetImportPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetLevelUpPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetMemorizeMagePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetMemorizePriestPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetNamePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetPrerollPanel()void CScreenCreateChar::ResetProficienciesPanel(CGameSprite* pSprite)void CScreenCreateChar::ResetRacePanel(CGameSprite* pSprite)void CScreenCreateChar::ResetSpellTables(CGameSprite* pSprite)void CScreenCreateChar::SetAbilityHelpInfo(int stat)virtual void CScreenCreateChar::SetSystemKeyCapsLock(int bValue)virtual void CScreenCreateChar::SetSystemKeyCtrl(unsigned char bValue)virtual void CScreenCreateChar::SetSystemKeyShift(int bValue)void CScreenCreateChar::ShowNextSpellScreen(CGameSprite* pSprite)void CScreenCreateChar::ShowPortraitPanel()void CScreenCreateChar::StartCreateChar(int nCharacterSlot, int nEngineState)void CScreenCreateChar::StartEditing(int nSprite, CScreenCreateCharStep nStep)void CScreenCreateChar::StopCreateChar()virtual void CScreenCreateChar::TimerAsynchronousUpdate()virtual void CScreenCreateChar::TimerSynchronousUpdate()void CScreenCreateChar::UpdateAbilitiesPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateAlignmentPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateCharacterList(CString luaVar)void CScreenCreateChar::UpdateChooseDualClassPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateChooseMagePanel(CGameSprite* pSprite)char* CScreenCreateChar::UpdateClass(CGameSprite* pSprite)char* CScreenCreateChar::UpdateClassEntry(CAIObjectType& TypeAI, CDerivedStats& DStats, unsigned long nSpecialist, unsigned char nActiveClass, unsigned char nInactiveClass, unsigned char nSubClass, unsigned long dwFlags)void CScreenCreateChar::UpdateClassPanel(CGameSprite* pSprite)

Continued on next page

1766 Chapter 6. EE Game Classes (x86)

Page 1771: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 43 – continued from previous pagevoid CScreenCreateChar::UpdateHatedRacePanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateHighLevelAbilitiesPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateKitPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateMainPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateMemorizeMagePanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateMemorizePriestPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateNamePanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateProficienciesPanel(CGameSprite* pSprite)void CScreenCreateChar::UpdateRacePanel(CGameSprite* pSprite)

6.100.3 Constructors

Name DescriptionCScreenCreateChar::CScreenCreateChar Constructs a CScreenCreateChar objectCScreenCreateChar::~CScreenCreateChar Destroys a CScreenCreateChar object

CScreenCreateChar::CScreenCreateChar

Constructs a CScreenCreateChar object

void CScreenCreateChar::CScreenCreateChar();

Remarks

Constructs a CScreenCreateChar object

CScreenCreateChar::~CScreenCreateChar

Destroys the CScreenCreateChar object

virtual void CScreenCreateChar::~CScreenCreateChar();

Remarks

Destroys the CScreenCreateChar object

6.100.4 Methods

Name DescriptionCScreenCreateChar::AbilityCountInEffectListCScreenCreateChar::AbilityExistsInEffectListCScreenCreateChar::AcceptCharacterCScreenCreateChar::AddChosenSpellsToKnown

Continued on next page

6.100. CScreenCreateChar Class 1767

Page 1772: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 44 – continued from previous pageCScreenCreateChar::CanSpendProficiencySlots Determines if character has skill points available to spend on proficienciesCScreenCreateChar::CancelCreateChar Cancels character creation processCScreenCreateChar::CancelEngine Cancel engineCScreenCreateChar::CancelLevelUp Cancel level upCScreenCreateChar::CancelMemorizeSpells Cancel memorized spellsCScreenCreateChar::CheckAbilityEnabled Determines if an ability is enabledCScreenCreateChar::CheckCompatibleEquipment Determines if equiptment is compatable with character class, sub-class or kitCScreenCreateChar::CheckCompatibleSlotCScreenCreateChar::CheckDropEquipmentCScreenCreateChar::CheckDropSlotCScreenCreateChar::CheckMouseLButtonCScreenCreateChar::CheckMouseMoveCScreenCreateChar::CheckMouseRButtonCScreenCreateChar::CheckSystemKeyCapsLock Determines if caps lock key is enabledCScreenCreateChar::CheckSystemKeyCtrl Determines if control key is enabled (pressed)CScreenCreateChar::CheckSystemKeyShift Determines if shift key is enabled (pressed)CScreenCreateChar::CompleteCharacterAbilities Complete the character abilities part of the character creationCScreenCreateChar::CompleteCharacterClass Complete the character class part of the character creationCScreenCreateChar::CompleteCharacterHighLevelAbilities Complete the character high level abilities (HLA) part of the character creationCScreenCreateChar::CompleteCharacterInitialise Initialize the complete character creation processCScreenCreateChar::CompleteCharacterSkills Complete the character skills part of the character creationCScreenCreateChar::CompleteCharacterSounds Complete the character sound set (voice) part of the character creationCScreenCreateChar::CompleteCharacterWrapupCScreenCreateChar::CountInSelectedListCScreenCreateChar::DecCurrentPortrait Decrement the current portrait selection for the characterCScreenCreateChar::DeleteCharacter Delete characterCScreenCreateChar::EngineActivated Character creation engine activatedCScreenCreateChar::EngineDeactivated Character creation engine deactivatedCScreenCreateChar::EngineDestroyed Character creation engine destroyedCScreenCreateChar::EngineGameInit Character creation engine initializationCScreenCreateChar::EngineGameUninit Character creation engine un-initializationCScreenCreateChar::EngineInitialized Character creation engine initializedCScreenCreateChar::ExistsInSelectedList Determines if a specified ability exists in a selected listCScreenCreateChar::GetCapsLockKey Determines if caps lock key is enabledCScreenCreateChar::GetCharacterVersion Gets character versionCScreenCreateChar::GetCtrlKey Determines if control key is enabled (pressed)CScreenCreateChar::GetCurrentPortrait Returns the current portrait set for the specified characterCScreenCreateChar::GetCurrentPortraitCallback Callback for current portraitCScreenCreateChar::GetDualClassCount Get dual class countCScreenCreateChar::GetEngineState Get the character creation engine stateCScreenCreateChar::GetImportableCharactersCScreenCreateChar::GetNumVirtualKeysCScreenCreateChar::GetShiftKey Determines if shift key is enabled (pressed)CScreenCreateChar::GetSpecialistBonusSpells Returns count of bonus spells available for a specialise mage for specified levelCScreenCreateChar::GetStoredSkill Returns stored skill valueCScreenCreateChar::GetVirtualKeys Return keyCode and other information for current keypressCScreenCreateChar::GetVirtualKeysFlagsCScreenCreateChar::ImportCharacter Import a previously saved character into character creationCScreenCreateChar::ImportGame Import a previously saved game for importing of a character in the saved gameCScreenCreateChar::ImportParty Import a party of characters

Continued on next page

1768 Chapter 6. EE Game Classes (x86)

Page 1773: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 44 – continued from previous pageCScreenCreateChar::IncCurrentPortrait Increment the current portrait selection for the characterCScreenCreateChar::IncCustomSoundIndexCScreenCreateChar::IsAbilityRecallButtonClickable Determines if ability recall button can be clickedCScreenCreateChar::IsAdvancedButtonClickable Determines if advanced button can be clickedCScreenCreateChar::IsChargenComplete Determines if character creation is completeCScreenCreateChar::IsClearMemoryAbilitiesCScreenCreateChar::IsDoneButtonClickable Determines if done button can be clickedCScreenCreateChar::IsHighLevelAbilitiesButtonClickable Determines if high level abilities (HLA) button can be clickedCScreenCreateChar::IsMainBackButtonClickable Determines if main screen’s back button can be clickedCScreenCreateChar::IsThiefSkillPlusMinusButtonClickable Determines if thieving skills plus (+) or (-) button can be clickedCScreenCreateChar::LevelUp Level up character during character creationCScreenCreateChar::MageSchoolSpellsAvailable Determines if mage spells from a specified level are available to characterCScreenCreateChar::MakeDualClass Changes a character from single class to dual classCScreenCreateChar::MakeSingleClass Changes a character from dual class to single classCScreenCreateChar::OnAbilityPlusMinusButtonClick Event action for when ability plus (+) or minus (-) buttons are clickedCScreenCreateChar::OnAbilityReRollButtonClick Event action for when re-roll ability scores button is clickedCScreenCreateChar::OnAbilityRecallButtonClick Event action for when recall previously stored ability scores button is clickedCScreenCreateChar::OnAbilityStoreButtonClick Event action for when store ability scores button is clickedCScreenCreateChar::OnAdvancedButtonClick Event action for when advanced button is clickedCScreenCreateChar::OnAlignmentSelectButtonClick Event action for when an alignment button is clickedCScreenCreateChar::OnBiographyButtonClick Event action for when biography button is clickedCScreenCreateChar::OnCancelButtonClick Event action for when cancel button is clickedCScreenCreateChar::OnCharacterExportItemSelect Event action for when export of character item button is clickedCScreenCreateChar::OnCharacterImportItemSelect Event action for when import of character item button is clickedCScreenCreateChar::OnCheatyMcCheaterson Event action for when cheating on ability score rollsCScreenCreateChar::OnClassSelectButtonClick Event action for when character class button is clickedCScreenCreateChar::OnDoneButtonClick Event action for when finishing character creation and done button is clickedCScreenCreateChar::OnDoneButtonClickCallback Callback for when finishing character creation and done button is clickedCScreenCreateChar::OnGenderSelectButtonClick Event action for when a gender selection button is clickedCScreenCreateChar::OnHLAButtonClick Event action for when a specific high level ability (HLA) button is clickedCScreenCreateChar::OnHighLevelAbilitiesButtonClick Event action for when high level abilities (HLA) button is clickedCScreenCreateChar::OnImportCharacterButtonClick Event action for when import of a previously generated character button is clickedCScreenCreateChar::OnImportCharacterFileButtonClick Event action for when selecting a character filename for importingCScreenCreateChar::OnImportSaveButtonClick Event action for when import save button is clickedCScreenCreateChar::OnKeyDown Key press event for when a key has been pressed (down)CScreenCreateChar::OnKitSelectButtonClick Event action for when class kit button is clickedCScreenCreateChar::OnLButtonDblClk Mouse button event for when the left mouse has been double clickedCScreenCreateChar::OnLButtonDown Mouse button event for when the left mouse has been clicked (down)CScreenCreateChar::OnLButtonUp Mouse button event for when the left mouse has been released (up)CScreenCreateChar::OnLearnMageSpellButtonClick Event action for when learn mage spell button is clickedCScreenCreateChar::OnLevelUp Event action for when level up button is clickedCScreenCreateChar::OnMainBackButtonClick Event action for when the main screen’s back button is clickedCScreenCreateChar::OnMainCancelButtonClick Event action for when the main screen’s cancel button is clickedCScreenCreateChar::OnMemorizeMageSpellButtonClick Event action for when a mage spell to memorize button is clickedCScreenCreateChar::OnMemorizePriestSpellButtonClick Event action for when a priest spell to memorize button is clickedCScreenCreateChar::OnMenuButtonClick Event action for when a menu button is clickedCScreenCreateChar::OnMouseMove Event action for when the mouse movesCScreenCreateChar::OnPlayButtonClick Event action for when play button is clickedCScreenCreateChar::OnPrerollCancelButtonClick Event action for when cancel preroll button is clickedCScreenCreateChar::OnPrerollCharacterPick Event action for when clicking on a pregenerated character

Continued on next page

6.100. CScreenCreateChar Class 1769

Page 1774: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 44 – continued from previous pageCScreenCreateChar::OnProficiencyPlusMinusButtonClick Event action for when proficiency plus (+) or minus (-) buttons are clickedCScreenCreateChar::OnRaceSelectButtonClick Event action for when a race button is clickedCScreenCreateChar::OnRacialEnemySelectButtonClick Event action for when a racial enemy button is clickedCScreenCreateChar::OnRButtonDown Mouse button event for when the right mouse has been clicked (down)CScreenCreateChar::OnRButtonUp Mouse button event for when the right mouse has been released (up)CScreenCreateChar::OnResetSkills Event action for when a reset skills button is clickedCScreenCreateChar::OnSoundItemSelect Event action for when a sound set button is selectedCScreenCreateChar::OnThiefSkillPlusMinusButtonClick Event action for when thieving skills plus (+) or minus (-) buttons are clickedCScreenCreateChar::RecallMemoryAbilities Recall previously stored ability scoresCScreenCreateChar::RemoveAbilities Remove abilities from characterCScreenCreateChar::RemoveItems Remove items from characterCScreenCreateChar::RemoveSelectedAbility Remove specific selected ability from characterCScreenCreateChar::ResetAbilities Reset character abilitiesCScreenCreateChar::ResetAbilitiesPanel Reset character ability scores panelCScreenCreateChar::ResetAbility Reset a specific ability score of a characterCScreenCreateChar::ResetAlignmentPanel Reset alignment selection panelCScreenCreateChar::ResetBiographyPanel Reset biography panelCScreenCreateChar::ResetChooseMagePanel Reset mage specialist selection panelCScreenCreateChar::ResetClassPanel Reset class selection panelCScreenCreateChar::ResetCustomSoundsPanel Reset custom sound set selection panelCScreenCreateChar::ResetDualClassChooseMagePanel Reset dual classing with mage panelCScreenCreateChar::ResetDualClassProficienciesPanel Reset dual class proficiencies panelCScreenCreateChar::ResetExportPanel Reset export character panelCScreenCreateChar::ResetGenderPanel Reset gender selection panelCScreenCreateChar::ResetHatedRacePanel Reset racial enemy panelCScreenCreateChar::ResetImportPanel Reset import character panelCScreenCreateChar::ResetLevelUpPanel Reset level up panelCScreenCreateChar::ResetMemorizeMagePanel Reset memorized mage spells panelCScreenCreateChar::ResetMemorizePriestPanel Reset memorized priest spells panelCScreenCreateChar::ResetNamePanel Reset character name panelCScreenCreateChar::ResetPrerollPanel Reset preroll panelCScreenCreateChar::ResetProficienciesPanel Reset proficiencies panelCScreenCreateChar::ResetRacePanel Reset race selection panelCScreenCreateChar::ResetSpellTables Reset spell tablesCScreenCreateChar::SetAbilityHelpInfo Set tokens for ability score informationCScreenCreateChar::SetSystemKeyCapsLock Set caps lock key on or offCScreenCreateChar::SetSystemKeyCtrl Set control key on or offCScreenCreateChar::SetSystemKeyShift Set shift key on or offCScreenCreateChar::ShowNextSpellScreen Show next spell screenCScreenCreateChar::ShowPortraitPanel Show portrait panelCScreenCreateChar::StartCreateChar Start the charaction creation processCScreenCreateChar::StartEditingCScreenCreateChar::StopCreateChar Stop the charaction creation processCScreenCreateChar::TimerAsynchronousUpdate Update timer asynchronouslyCScreenCreateChar::TimerSynchronousUpdate Update timer synchronouslyCScreenCreateChar::UpdateAbilitiesPanel Update ability scores panelCScreenCreateChar::UpdateAlignmentPanel Update alignment selection panelCScreenCreateChar::UpdateCharacterList Update character list selection panelCScreenCreateChar::UpdateChooseDualClassPanel Update dual class selection panelCScreenCreateChar::UpdateChooseMagePanel Update mage specialist selection panel

Continued on next page

1770 Chapter 6. EE Game Classes (x86)

Page 1775: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 44 – continued from previous pageCScreenCreateChar::UpdateClass Update class selectionCScreenCreateChar::UpdateClassEntry Update class entry (sub-class) selectionCScreenCreateChar::UpdateClassPanel Update class selection panelCScreenCreateChar::UpdateHatedRacePanel Update racial enemy selection panelCScreenCreateChar::UpdateHighLevelAbilitiesPanel Update high level abilities (HLA) panelCScreenCreateChar::UpdateKitPanel Update class kit panelCScreenCreateChar::UpdateMainPanel Update main panelCScreenCreateChar::UpdateMemorizeMagePanel Update memorized mage spells panelCScreenCreateChar::UpdateMemorizePriestPanel Update memorized priest spells panelCScreenCreateChar::UpdateNamePanel Update character name panelCScreenCreateChar::UpdateProficienciesPanel Update proficienies panelCScreenCreateChar::UpdateRacePanel Update race selection panel

CScreenCreateChar::AbilityCountInEffectList

int CScreenCreateChar::AbilityCountInEffectList(CGameSprite* pSprite,CString& sAbility);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• CString& sAbility -

Return Value

Returns int

Remarks

CScreenCreateChar::AbilityExistsInEffectList

int CScreenCreateChar::AbilityExistsInEffectList(CGameSprite* pSprite,CString& sPrereq);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• CString& sPrereq -

Return Value

Returns int

Remarks

6.100. CScreenCreateChar Class 1771

Page 1776: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::AcceptCharacter

void CScreenCreateChar::AcceptCharacter(int selectedDifficulty);

Parameters

• int selectedDifficulty -

Remarks

CScreenCreateChar::AddChosenSpellsToKnown

void CScreenCreateChar::AddChosenSpellsToKnown(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CanSpendProficiencySlots

Determines if character has skill points available to spend on proficiencies

bool CScreenCreateChar::CanSpendProficiencySlots();

Return Value

Returns bool - 1 true or 0 false

Remarks

CScreenCreateChar::CancelCreateChar

Cancels character creation process

void CScreenCreateChar::CancelCreateChar();

Remarks

See also CScreenCreateChar::StartCreateChar and CScreenCreateChar::StopCreateChar

CScreenCreateChar::CancelEngine

Cancel engine

virtual void CScreenCreateChar::CancelEngine();

Remarks

1772 Chapter 6. EE Game Classes (x86)

Page 1777: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::CancelLevelUp

Cancel level up

void CScreenCreateChar::CancelLevelUp();

Remarks

CScreenCreateChar::CancelMemorizeSpells

Cancel memorized spells

void CScreenCreateChar::CancelMemorizeSpells();

Remarks

CScreenCreateChar::CheckAbilityEnabled

Determines if an ability is enabled

int CScreenCreateChar::CheckAbilityEnabled(CGameSprite* pSprite,CAbilityData* pAbility);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• CAbilityData* pAbility -

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CheckCompatibleEquipment

Determines if equiptment is compatable with character class, sub-class or kit

int CScreenCreateChar::CheckCompatibleEquipment(unsigned char nClass,unsigned char nActiveClass,unsigned char nInactiveClass,int bInactiveUsable,unsigned long baseFlags,unsigned long nSpecialist);

Parameters

• unsigned char nClass -

6.100. CScreenCreateChar Class 1773

Page 1778: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• int bInactiveUsable -

• unsigned long baseFlags -

• unsigned long nSpecialist -

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CheckCompatibleSlot

int CScreenCreateChar::CheckCompatibleSlot(int nSlot,unsigned char nClass,unsigned char nActiveClass,unsigned char nInactiveClass,int bInactiveUsable,unsigned long baseFlags,unsigned long nSpecialist);

Parameters

• int nSlot -

• unsigned char nClass -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• int bInactiveUsable -

• unsigned long baseFlags -

• unsigned long nSpecialist -

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CheckDropEquipment

void CScreenCreateChar::CheckDropEquipment();

Remarks

1774 Chapter 6. EE Game Classes (x86)

Page 1779: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::CheckDropSlot

void CScreenCreateChar::CheckDropSlot(int nSlot);

Parameters

• int nSlot -

Remarks

CScreenCreateChar::CheckMouseLButton

virtual int CScreenCreateChar::CheckMouseLButton();

Return Value

Returns int

Remarks

CScreenCreateChar::CheckMouseMove

virtual int CScreenCreateChar::CheckMouseMove();

Return Value

Returns int

Remarks

CScreenCreateChar::CheckMouseRButton

virtual int CScreenCreateChar::CheckMouseRButton();

Return Value

Returns int

Remarks

6.100. CScreenCreateChar Class 1775

Page 1780: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::CheckSystemKeyCapsLock

Determines if caps lock key is enabled

virtual int CScreenCreateChar::CheckSystemKeyCapsLock();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CheckSystemKeyCtrl

Determines if control key is enabled (pressed)

virtual int CScreenCreateChar::CheckSystemKeyCtrl();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CheckSystemKeyShift

Determines if shift key is enabled (pressed)

virtual int CScreenCreateChar::CheckSystemKeyShift();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::CompleteCharacterAbilities

Complete the character abilities part of the character creation

void CScreenCreateChar::CompleteCharacterAbilities(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1776 Chapter 6. EE Game Classes (x86)

Page 1781: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::CompleteCharacterClass

Complete the character class part of the character creation

void CScreenCreateChar::CompleteCharacterClass(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CompleteCharacterHighLevelAbilities

Complete the character high level abilities (HLA) part of the character creation

void CScreenCreateChar::CompleteCharacterHighLevelAbilities(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CompleteCharacterInitialise

Initialize the complete character creation process

void CScreenCreateChar::CompleteCharacterInitialise(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CompleteCharacterSkills

Complete the character skills part of the character creation

void CScreenCreateChar::CompleteCharacterSkills(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.100. CScreenCreateChar Class 1777

Page 1782: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::CompleteCharacterSounds

Complete the character sound set (voice) part of the character creation

void CScreenCreateChar::CompleteCharacterSounds(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CompleteCharacterWrapup

void CScreenCreateChar::CompleteCharacterWrapup(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::CountInSelectedList

int CScreenCreateChar::CountInSelectedList(CString& sAbility);

Parameters

• CString& sAbility -

Return Value

Returns int

Remarks

CScreenCreateChar::DecCurrentPortrait

Decrement the current portrait selection for the character

void CScreenCreateChar::DecCurrentPortrait(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

See also CScreenCreateChar::IncCurrentPortrait

1778 Chapter 6. EE Game Classes (x86)

Page 1783: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::DeleteCharacter

Delete character

void CScreenCreateChar::DeleteCharacter();

Remarks

CScreenCreateChar::EngineActivated

Character creation engine activated

virtual void CScreenCreateChar::EngineActivated();

Remarks

CScreenCreateChar::EngineDeactivated

Character creation engine deactivated

virtual void CScreenCreateChar::EngineDeactivated();

Remarks

CScreenCreateChar::EngineDestroyed

Character creation engine destroyed

virtual void CScreenCreateChar::EngineDestroyed();

Remarks

CScreenCreateChar::EngineGameInit

Character creation engine initialization

virtual void CScreenCreateChar::EngineGameInit();

Remarks

CScreenCreateChar::EngineGameUninit

Character creation engine un-initialization

6.100. CScreenCreateChar Class 1779

Page 1784: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CScreenCreateChar::EngineGameUninit();

Remarks

CScreenCreateChar::EngineInitialized

Character creation engine initialized

virtual void CScreenCreateChar::EngineInitialized();

Remarks

CScreenCreateChar::ExistsInSelectedList

Determines if a specified ability exists in a selected list

int CScreenCreateChar::ExistsInSelectedList(CString& sAbility);

Parameters

• CString& sAbility -

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::GetCapsLockKey

Determines if caps lock key is enabled

virtual int CScreenCreateChar::GetCapsLockKey();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

1780 Chapter 6. EE Game Classes (x86)

Page 1785: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::GetCharacterVersion

Gets character version

int CScreenCreateChar::GetCharacterVersion(CAIObjectType* TypeAI,CDerivedStats* pDStats,CRuleTables& cRule);

Parameters

• CAIObjectType* TypeAI -

• CDerivedStats* pDStats -

• CRuleTables& cRule -

Return Value

Returns int

Remarks

CRE file format used?

CScreenCreateChar::GetCtrlKey

Determines if control key is enabled (pressed)

virtual int CScreenCreateChar::GetCtrlKey();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::GetCurrentPortrait

Returns the current portrait set for the specified character

CString CScreenCreateChar::GetCurrentPortrait(CGameSprite* pSprite,char size);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• char size - * *

Return Value

Returns a CString

Remarks

6.100. CScreenCreateChar Class 1781

Page 1786: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::GetCurrentPortraitCallback

Callback for current portrait

virtual void __cdecl CScreenCreateChar::GetCurrentPortraitCallback(void* batton);

Parameters

• void* batton - * *

Remarks

CScreenCreateChar::GetDualClassCount

Get dual class count

int CScreenCreateChar::GetDualClassCount();

Return Value

Returns int

Remarks

CScreenCreateChar::GetEngineState

Get the character creation engine state

virtual int CScreenCreateChar::GetEngineState();

Return Value

Returns int

Remarks

CScreenCreateChar::GetImportableCharacters

void CScreenCreateChar::GetImportableCharacters();

Remarks

1782 Chapter 6. EE Game Classes (x86)

Page 1787: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::GetNumVirtualKeys

Returns number of keys supported by keyboard for key event processing

virtual short CScreenCreateChar::GetNumVirtualKeys();

Return Value

Returns a short value indicating number of keys supported

Remarks

CScreenCreateChar::GetShiftKey

Determines if shift key is enabled (pressed)

virtual int CScreenCreateChar::GetShiftKey();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::GetSpecialistBonusSpells

Returns count of bonus spells available for a specialise mage for specified level

int CScreenCreateChar::GetSpecialistBonusSpells(int level,CGameSprite* pSprite);

Parameters

• int level - spell level for bonus specialist spells

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns an int value indicating count of bonus spells

Remarks

CScreenCreateChar::GetStoredSkill

Returns stored skill value

int CScreenCreateChar::GetStoredSkill(unsigned char index);

Parameters

• unsigned char index - index of skill ability to return stored value for

6.100. CScreenCreateChar Class 1783

Page 1788: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CScreenCreateChar::GetVirtualKeys

Return keyCode and other information for current keypress

virtual CKeyInfo* CScreenCreateChar::GetVirtualKeys();

Return Value

Returns CKeyInfo*

Remarks

CKeyInfo contains keyCode and other keyboard information: repeatCount, repeatDelay and repeatRate

CScreenCreateChar::GetVirtualKeysFlags

virtual int* CScreenCreateChar::GetVirtualKeysFlags();

Return Value

Returns int*

Remarks

CScreenCreateChar::ImportCharacter

Import a previously saved character into character creation

void CScreenCreateChar::ImportCharacter(CString& sCharacter);

Parameters

• CString& sCharacter -

Remarks

1784 Chapter 6. EE Game Classes (x86)

Page 1789: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ImportGame

Import a previously saved game for importing of a character in the saved game

void CScreenCreateChar::ImportGame(CString& sFileName);

Parameters

• CString& sFileName -

Remarks

CScreenCreateChar::ImportParty

Import a party of characters

void CScreenCreateChar::ImportParty();

Remarks

CScreenCreateChar::IncCurrentPortrait

Increment the current portrait selection for the character

void CScreenCreateChar::IncCurrentPortrait(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

See also CScreenCreateChar::DecCurrentPortrait

CScreenCreateChar::IncCustomSoundIndex

void CScreenCreateChar::IncCustomSoundIndex();

Remarks

6.100. CScreenCreateChar Class 1785

Page 1790: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::IsAbilityRecallButtonClickable

Determines if ability recall button can be clicked

int CScreenCreateChar::IsAbilityRecallButtonClickable();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::IsAdvancedButtonClickable

Determines if advanced button can be clicked

int CScreenCreateChar::IsAdvancedButtonClickable();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::IsChargenComplete

Determines if character creation is complete

bool CScreenCreateChar::IsChargenComplete();

Return Value

Returns bool - 1 true or 0 false

Remarks

CScreenCreateChar::IsClearMemoryAbilities

int CScreenCreateChar::IsClearMemoryAbilities();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::IsDoneButtonClickable

Determines if done button can be clicked

1786 Chapter 6. EE Game Classes (x86)

Page 1791: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

int CScreenCreateChar::IsDoneButtonClickable(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - * *

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::IsHighLevelAbilitiesButtonClickable

Determines if high level abilities (HLA) button can be clicked

int CScreenCreateChar::IsHighLevelAbilitiesButtonClickable();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::IsMainBackButtonClickable

Determines if main screen’s back button can be clicked

bool CScreenCreateChar::IsMainBackButtonClickable();

Return Value

Returns bool - 1 true or 0 false

Remarks

CScreenCreateChar::IsThiefSkillPlusMinusButtonClickable

Determines if thieving skills plus (+) or (-) button can be clicked

int CScreenCreateChar::IsThiefSkillPlusMinusButtonClickable();

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

6.100. CScreenCreateChar Class 1787

Page 1792: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::LevelUp

Level up character during character creation

void CScreenCreateChar::LevelUp(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Remarks

CScreenCreateChar::MageSchoolSpellsAvailable

Determines if mage spells from a specified level are available to character

int CScreenCreateChar::MageSchoolSpellsAvailable(unsigned char nSpellLevel,CGameSprite* pSprite);

Parameters

• unsigned char nSpellLevel -

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns an int value representing 1 true, or 0 false

Remarks

CScreenCreateChar::MakeDualClass

Changes a character from single class to dual class

void CScreenCreateChar::MakeDualClass(CGameSprite* pSprite,unsigned char nNewClass);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned char nNewClass - * *

Remarks

CScreenCreateChar::MakeSingleClass

Changes a character from dual class to single class

1788 Chapter 6. EE Game Classes (x86)

Page 1793: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CScreenCreateChar::MakeSingleClass(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::OnAbilityPlusMinusButtonClick

Event action for when ability plus (+) or minus (-) buttons are clicked

void CScreenCreateChar::OnAbilityPlusMinusButtonClick(int stat,bool plus);

Parameters

• int stat -

• bool plus -

Remarks

CScreenCreateChar::OnAbilityReRollButtonClick

Event action for when re-roll ability scores button is clicked

void CScreenCreateChar::OnAbilityReRollButtonClick();

Remarks

CScreenCreateChar::OnAbilityRecallButtonClick

Event action for when recall previously stored ability scores button is clicked

void CScreenCreateChar::OnAbilityRecallButtonClick();

Remarks

CScreenCreateChar::OnAbilityStoreButtonClick

Event action for when store ability scores button is clicked

void CScreenCreateChar::OnAbilityStoreButtonClick();

Remarks

6.100. CScreenCreateChar Class 1789

Page 1794: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnAdvancedButtonClick

Event action for when advanced button is clicked

void CScreenCreateChar::OnAdvancedButtonClick();

Remarks

CScreenCreateChar::OnAlignmentSelectButtonClick

Event action for when an alignment button is clicked

void CScreenCreateChar::OnAlignmentSelectButtonClick(int alignment);

Parameters

• int alignment -

Remarks

CScreenCreateChar::OnBiographyButtonClick

Event action for when an biography button is clicked

void CScreenCreateChar::OnBiographyButtonClick();

Remarks

CScreenCreateChar::OnCancelButtonClick

Event action for when cancel button is clicked

void CScreenCreateChar::OnCancelButtonClick();

Remarks

CScreenCreateChar::OnCharacterExportItemSelect

Event action for when export of character item button is clicked

void CScreenCreateChar::OnCharacterExportItemSelect(int nMarker);

Parameters

• int nMarker -

Remarks

1790 Chapter 6. EE Game Classes (x86)

Page 1795: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnCharacterImportItemSelect

Event action for when import of character item button is clicked

void CScreenCreateChar::OnCharacterImportItemSelect(int nMarker);

Parameters

• int nMarker -

Remarks

CScreenCreateChar::OnCheatyMcCheaterson

Event action for when cheating on ability score rolls

void CScreenCreateChar::OnCheatyMcCheaterson();

Remarks

If the CLUA Console is enabled then cheat keys are also enabled. Pressing CTRL + 8 during character creation thiswill set all attributes to 18 (STR 18/00)

CScreenCreateChar::OnClassSelectButtonClick

Event action for when character class button is clicked

void CScreenCreateChar::OnClassSelectButtonClick(int classId);

Parameters

• int classId -

Remarks

CScreenCreateChar::OnDoneButtonClick

Event action for when finishing character creation and done button is clicked

void CScreenCreateChar::OnDoneButtonClick();

Remarks

CScreenCreateChar::OnDoneButtonClickCallback

Callback for when finishing character creation and done button is clicked

6.100. CScreenCreateChar Class 1791

Page 1796: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void __cdecl CScreenCreateChar::OnDoneButtonClickCallback(void* batton);

Parameters

• void* batton -

Remarks

CScreenCreateChar::OnGenderSelectButtonClick

Event action for when a gender selection button is clicked

void CScreenCreateChar::OnGenderSelectButtonClick(int value);

Parameters

• int value -

Remarks

CScreenCreateChar::OnHLAButtonClick

Event action for when a specific high level ability (HLA) button is clicked

void CScreenCreateChar::OnHLAButtonClick(int HLA,int change);

Parameters

• int HLA -

• int change -

Remarks

CScreenCreateChar::OnHighLevelAbilitiesButtonClick

Event action for when high level abilities (HLA) button is clicked

void CScreenCreateChar::OnHighLevelAbilitiesButtonClick();

Remarks

CScreenCreateChar::OnImportCharacterButtonClick

Event action for when import of a previously generated character button is clicked

1792 Chapter 6. EE Game Classes (x86)

Page 1797: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

void CScreenCreateChar::OnImportCharacterButtonClick();

Remarks

CScreenCreateChar::OnImportCharacterFileButtonClick

Event action for when selecting a character filename for importing

void CScreenCreateChar::OnImportCharacterFileButtonClick();

Remarks

CScreenCreateChar::OnImportSaveButtonClick

Event action for when import save button is clicked

void CScreenCreateChar::OnImportSaveButtonClick();

Remarks

CScreenCreateChar::OnKeyDown

Key press event for when a key has been pressed (down)

virtual void CScreenCreateChar::OnKeyDown(int nKeysFlags);

Parameters

• int nKeysFlags -

Remarks

CScreenCreateChar::OnKitSelectButtonClick

Event action for when class kit button is clicked

void CScreenCreateChar::OnKitSelectButtonClick(int kitId);

Parameters

• int kitId -

Remarks

6.100. CScreenCreateChar Class 1793

Page 1798: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnLButtonDblClk

Mouse button event for when the left mouse has been double clicked

virtual void CScreenCreateChar::OnLButtonDblClk(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate for the mouse position

Remarks

CScreenCreateChar::OnLButtonDown

Mouse button event for when the left mouse has been clicked (down)

virtual void CScreenCreateChar::OnLButtonDown(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate for the mouse position

Remarks

CScreenCreateChar::OnLButtonUp

Mouse button event for when the left mouse has been released (up)

virtual void CScreenCreateChar::OnLButtonUp(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate for the mouse position

Remarks

CScreenCreateChar::OnLearnMageSpellButtonClick

Event action for when learn mage spell button is clicked

void CScreenCreateChar::OnLearnMageSpellButtonClick(int spell);

Parameters

• int spell -

Remarks

1794 Chapter 6. EE Game Classes (x86)

Page 1799: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnLevelUp

Event action for when level up button is clicked

void CScreenCreateChar::OnLevelUp(CGameSprite* pSprite,unsigned long nExperience);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• unsigned long nExperience -

Remarks

Level up is available when importing a previously generated character, or previously saved character from Baldur’sGate (or Baldur’s Gate: Shadows of Amn - if starting play at Throne of Bhaal campaign) that is at a lower level thanthe recommended minimum level required for starting the game campaign selected.

CScreenCreateChar::OnMainBackButtonClick

Event action for when the main screen’s back button is clicked

void CScreenCreateChar::OnMainBackButtonClick();

Remarks

CScreenCreateChar::OnMainCancelButtonClick

Event action for when the main screen’s cancel button is clicked

void CScreenCreateChar::OnMainCancelButtonClick();

Remarks

CScreenCreateChar::OnMemorizeMageSpellButtonClick

Event action for when a mage spell to memorize button is clicked

void CScreenCreateChar::OnMemorizeMageSpellButtonClick(int spell,int amount);

Parameters

• int spell -

• int amount -

Remarks

6.100. CScreenCreateChar Class 1795

Page 1800: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnMemorizePriestSpellButtonClick

Event action for when a priest spell to memorize button is clicked

void CScreenCreateChar::OnMemorizePriestSpellButtonClick(int spell,int amount);

Parameters

• int spell -

• int amount -

Remarks

CScreenCreateChar::OnMenuButtonClick

Event action for when a menu button is clicked

void CScreenCreateChar::OnMenuButtonClick();

Remarks

CScreenCreateChar::OnMouseMove

Event action for when the mouse moves

virtual void CScreenCreateChar::OnMouseMove(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate of mouse position

Remarks

CScreenCreateChar::OnPlayButtonClick

Event action for when play button is clicked

void CScreenCreateChar::OnPlayButtonClick();

Remarks

For playing sound set voices for character generation

1796 Chapter 6. EE Game Classes (x86)

Page 1801: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnPrerollCancelButtonClick

Event action for when cancel preroll button is clicked

void CScreenCreateChar::OnPrerollCancelButtonClick();

Remarks

For pregenerated characters selection dialog

CScreenCreateChar::OnPrerollCharacterPick

Event action for when clicking on a pregenerated character

void CScreenCreateChar::OnPrerollCharacterPick(int nId);

Parameters

• int nId -

Remarks

For pregenerated characters selection dialog

CScreenCreateChar::OnProficiencyPlusMinusButtonClick

Event action for when proficiency plus (+) or minus (-) buttons are clicked

void CScreenCreateChar::OnProficiencyPlusMinusButtonClick(int id,bool plus);

Parameters

• int id -

• bool plus -

Remarks

For weapon proficiencies dialog

CScreenCreateChar::OnRaceSelectButtonClick

Event action for when a race button is clicked

void CScreenCreateChar::OnRaceSelectButtonClick(int raceId);

Parameters

• int raceId -

Remarks

6.100. CScreenCreateChar Class 1797

Page 1802: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnRacialEnemySelectButtonClick

Event action for when a racial enemy button is clicked

void CScreenCreateChar::OnRacialEnemySelectButtonClick(int enemy);

Parameters

• int enemy -

Remarks

For Ranger based classes or other kits that support racial enemies

CScreenCreateChar::OnRButtonDown

Mouse button event for when the right mouse has been clicked (down)

virtual void CScreenCreateChar::OnRButtonDown(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate of mouse position

Remarks

CScreenCreateChar::OnRButtonUp

Mouse button event for when the right mouse has been released (up)

virtual void CScreenCreateChar::OnRButtonUp\(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinate of mouse position

Remarks

CScreenCreateChar::OnResetSkills

Event action for when a reset skills button is clicked

void CScreenCreateChar::OnResetSkills(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

Resets skill points previously assigned

1798 Chapter 6. EE Game Classes (x86)

Page 1803: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::OnSoundItemSelect

Event action for when a sound set button is selected

void CScreenCreateChar::OnSoundItemSelect(int nIndex);

Parameters

• int nIndex -

Remarks

CScreenCreateChar::OnThiefSkillPlusMinusButtonClick

Event action for when thieving skills plus (+) or minus (-) buttons are clicked

void CScreenCreateChar::OnThiefSkillPlusMinusButtonClick(int thiefSkillId,bool plus);

Parameters

• int thiefSkillId -

• bool plus -

Remarks

Thief, bard and lore skills

CScreenCreateChar::RecallMemoryAbilities

Recall previously stored ability scores. Stores ability scores in the addresses of variables passed as parameters.

void CScreenCreateChar::RecallMemoryAbilities(unsigned char\& nSTR,unsigned char\& nSTRExtra,unsigned char\& nDEX,unsigned char\& nCON,unsigned char\& nINT,unsigned char\& nWIS,unsigned char\& nCHR,int\& nExtra);

Parameters

• unsigned char& nSTR - strength ability score

• unsigned char& nSTRExtra - strength extra (percentile) ability score

• unsigned char& nDEX - dexterity ability score

• unsigned char& nCON - constitution ability score

• unsigned char& nINT - intelligence ability score

• unsigned char& nWIS - wisdom ability score

6.100. CScreenCreateChar Class 1799

Page 1804: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

• unsigned char& nCHR - charisma ability score

• int& nExtra - extra ability score

Remarks

CScreenCreateChar::RemoveAbilities

Remove abilities from character

void CScreenCreateChar::RemoveAbilities(CGameSprite* pSprite,int nNewClass,int bRemoveInnates);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• int nNewClass -

• int bRemoveInnates -

Remarks

CScreenCreateChar::RemoveItems

Remove items from character

void CScreenCreateChar::RemoveItems(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::RemoveSelectedAbility

Remove specific selected ability from character

void CScreenCreateChar::RemoveSelectedAbility(unsigned char nButtonIndex);

Parameters

• unsigned char nButtonIndex -

Remarks

1800 Chapter 6. EE Game Classes (x86)

Page 1805: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ResetAbilities

Reset character abilities

void CScreenCreateChar::ResetAbilities(CGameSprite* pSprite,int bForced);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• int bForced -

Remarks

CScreenCreateChar::ResetAbilitiesPanel

Reset character ability scores panel

void CScreenCreateChar::ResetAbilitiesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetAbility

Reset a specific ability score of a character

int CScreenCreateChar::ResetAbility(CGameSprite* pSprite,CString& sMin,CString& sMax,CString& sMod,unsigned char& nAbility,unsigned char& nMin,unsigned char& nMax);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

• CString& sMin -

• CString& sMax -

• CString& sMod -

• unsigned char& nAbility -

• unsigned char& nMin -

• unsigned char& nMax -

6.100. CScreenCreateChar Class 1801

Page 1806: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CScreenCreateChar::ResetAlignmentPanel

Reset alignment selection panel

void CScreenCreateChar::ResetAlignmentPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetBiographyPanel

Reset biography panel

void CScreenCreateChar::ResetBiographyPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetChooseMagePanel

Reset mage specialist selection panel

void CScreenCreateChar::ResetChooseMagePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1802 Chapter 6. EE Game Classes (x86)

Page 1807: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ResetClassPanel

Reset class selection panel

void CScreenCreateChar::ResetClassPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetCustomSoundsPanel

Reset custom sound set selection panel

void CScreenCreateChar::ResetCustomSoundsPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetDualClassChooseMagePanel

Reset dual classing with mage panel

void CScreenCreateChar::ResetDualClassChooseMagePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetDualClassProficienciesPanel

Reset dual class proficiencies panel

void CScreenCreateChar::ResetDualClassProficienciesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.100. CScreenCreateChar Class 1803

Page 1808: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ResetExportPanel

Reset export character panel

void CScreenCreateChar::ResetExportPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetGenderPanel

Reset gender selection panel

void CScreenCreateChar::ResetGenderPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetHatedRacePanel

Reset racial enemy panel

void CScreenCreateChar::ResetHatedRacePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetImportPanel

Reset import character panel

void CScreenCreateChar::ResetImportPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1804 Chapter 6. EE Game Classes (x86)

Page 1809: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ResetLevelUpPanel

Reset level up panel

void CScreenCreateChar::ResetLevelUpPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetMemorizeMagePanel

Reset memorized mage spells panel

void CScreenCreateChar::ResetMemorizeMagePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetMemorizePriestPanel

Reset memorized priest spells panel

void CScreenCreateChar::ResetMemorizePriestPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetNamePanel

Reset character name panel

void CScreenCreateChar::ResetNamePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.100. CScreenCreateChar Class 1805

Page 1810: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::ResetPrerollPanel

Reset preroll panel

void CScreenCreateChar::ResetPrerollPanel();

Remarks

CScreenCreateChar::ResetProficienciesPanel

Reset proficiencies panel

void CScreenCreateChar::ResetProficienciesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

Reset weapon, thief and bard skill proficiencies

CScreenCreateChar::ResetRacePanel

Reset race selection panel

void CScreenCreateChar::ResetRacePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ResetSpellTables

Reset spell tables

void CScreenCreateChar::ResetSpellTables(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

Spells avaialble for each spell level for character at a experience level

1806 Chapter 6. EE Game Classes (x86)

Page 1811: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::SetAbilityHelpInfo

Set tokens for ability score information

void CScreenCreateChar::SetAbilityHelpInfo(int stat);

Parameters

• int stat - value representing the ability score to set token information for

Remarks

Sets ability score tokens <MINIMUM> and <MAXIMUM> for the panel that displays the specifics of each ability score,recommended scores and minimum required scores for specific classes.

Note: The full text and description for the ability score help information is fetched outside of this function. By usingthe Infinity_FetchString function in UI.MENU to fetch a string reference (StrRef) and combining with the ability scoretokens fetched by createCharScreen:SetAbilityHelpInfo (or CScreenCreateChar::SetAbilityHelpInfo), this full text isthen output into the help panel.

The stat parameter can be one of the following values, which equate to the ability score to set information for:

Stat Ability1 Strength2 Dexterity3 Constitution4 Intelligence5 Wisdom6 Charisma

CScreenCreateChar::SetSystemKeyCapsLock

Set caps lock key on or off

virtual void CScreenCreateChar::SetSystemKeyCapsLock(int bValue);

Parameters

• int bValue -

Remarks

CScreenCreateChar::SetSystemKeyCtrl

Set control key on or off

virtual void CScreenCreateChar::SetSystemKeyCtrl(unsigned char bValue);

Parameters

• unsigned char bValue -

6.100. CScreenCreateChar Class 1807

Page 1812: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Remarks

CScreenCreateChar::SetSystemKeyShift

Set shift key on or off

virtual void CScreenCreateChar::SetSystemKeyShift(int bValue);

Parameters

• int bValue -

Remarks

CScreenCreateChar::ShowNextSpellScreen

Show next spell screen

void CScreenCreateChar::ShowNextSpellScreen(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::ShowPortraitPanel

Show portrait panel

void CScreenCreateChar::ShowPortraitPanel();

Remarks

CScreenCreateChar::StartCreateChar

Start the charaction creation process

void CScreenCreateChar::StartCreateChar(int nCharacterSlot,int nEngineState);

Parameters

• int nCharacterSlot - slot for new character to occupy

• int nEngineState - engine state

Remarks

See also CScreenCreateChar::StopCreateChar and CScreenCreateChar::CancelCreateChar

1808 Chapter 6. EE Game Classes (x86)

Page 1813: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::StartEditing

void CScreenCreateChar::StartEditing(int nSprite,CScreenCreateCharStep nStep);

Parameters

• int nSprite - * *

• CScreenCreateCharStep nStep -

Remarks

CScreenCreateChar::StopCreateChar

Stop the charaction creation process

void CScreenCreateChar::StopCreateChar();

Remarks

See also CScreenCreateChar::StartCreateChar and CScreenCreateChar::CancelCreateChar

CScreenCreateChar::TimerAsynchronousUpdate

Update timer asynchronously

virtual void CScreenCreateChar::TimerAsynchronousUpdate();

Remarks

CScreenCreateChar::TimerSynchronousUpdate

Update timer synchronously

virtual void CScreenCreateChar::TimerSynchronousUpdate();

Remarks

6.100. CScreenCreateChar Class 1809

Page 1814: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::UpdateAbilitiesPanel

Update ability scores panel

void CScreenCreateChar::UpdateAbilitiesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateAlignmentPanel

Update alignement selection panel

void CScreenCreateChar::UpdateAlignmentPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateCharacterList

Update character list selection panel

void CScreenCreateChar::UpdateCharacterList(CString luaVar);

Parameters

• CString luaVar -

Remarks

CScreenCreateChar::UpdateChooseDualClassPanel

Update dual class selection panel

void CScreenCreateChar::UpdateChooseDualClassPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1810 Chapter 6. EE Game Classes (x86)

Page 1815: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::UpdateChooseMagePanel

Update mage specialist selection panel

void CScreenCreateChar::UpdateChooseMagePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateClass

Update class selection

char* CScreenCreateChar::UpdateClass(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Return Value

Returns char*

Remarks

CScreenCreateChar::UpdateClassEntry

Update class entry (sub-class) selection

char* CScreenCreateChar::UpdateClassEntry(CAIObjectType& TypeAI,CDerivedStats& DStats,unsigned long nSpecialist,unsigned char nActiveClass,unsigned char nInactiveClass,unsigned char nSubClass,unsigned long dwFlags);

Parameters

• CAIObjectType& TypeAI -

• CDerivedStats& DStats -

• unsigned long nSpecialist -

• unsigned char nActiveClass -

• unsigned char nInactiveClass -

• unsigned char nSubClass -

• unsigned long dwFlags -

6.100. CScreenCreateChar Class 1811

Page 1816: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns char*

Remarks

CScreenCreateChar::UpdateClassPanel

Update class selection panel

void CScreenCreateChar::UpdateClassPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateHatedRacePanel

Update racial enemy selection panel

void CScreenCreateChar::UpdateHatedRacePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateHighLevelAbilitiesPanel

Update high level abilities (HLA) panel

void CScreenCreateChar::UpdateHighLevelAbilitiesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

1812 Chapter 6. EE Game Classes (x86)

Page 1817: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::UpdateKitPanel

Update class kit panel

void CScreenCreateChar::UpdateKitPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateMainPanel

Update main panel

void CScreenCreateChar::UpdateMainPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateMemorizeMagePanel

Update memorized mage spells panel

void CScreenCreateChar::UpdateMemorizeMagePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateMemorizePriestPanel

Update memorized priest spells panel

void CScreenCreateChar::UpdateMemorizePriestPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.100. CScreenCreateChar Class 1813

Page 1818: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateChar::UpdateNamePanel

Update character name panel

void CScreenCreateChar::UpdateNamePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateProficienciesPanel

Update proficienies panel

void CScreenCreateChar::UpdateProficienciesPanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

CScreenCreateChar::UpdateRacePanel

Update race selection panel

void CScreenCreateChar::UpdateRacePanel(CGameSprite* pSprite);

Parameters

• CGameSprite* pSprite - pointer to game sprite object

Remarks

6.101 CScreenCreateParty Class

• Overview

• Quick Reference

• Constructors

• Methods

1814 Chapter 6. EE Game Classes (x86)

Page 1819: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

6.101.1 Overview

Note: The CScreenCreateParty class handles party and character generation

The structure used for this class is CScreenCreateParty

6.101.2 Quick Reference

Quick Refvoid CScreenCreateParty::CScreenCreateParty()virtual int CScreenCreateParty::CheckMouseLButton()virtual int CScreenCreateParty::CheckMouseMove()virtual int CScreenCreateParty::CheckMouseRButton()virtual int CScreenCreateParty::CheckSystemKeyCtrl()virtual void CScreenCreateParty::EngineActivated()virtual void CScreenCreateParty::EngineDeactivated()virtual void CScreenCreateParty::EngineDestroyed()virtual void CScreenCreateParty::EngineInitialized()virtual int CScreenCreateParty::GetEngineState()virtual short CScreenCreateParty::GetNumVirtualKeys()virtual CKeyInfo* CScreenCreateParty::GetVirtualKeys()virtual int* CScreenCreateParty::GetVirtualKeysFlags()void CScreenCreateParty::ImportFrom2DA(int merge)void CScreenCreateParty::ImportFromSave(CImportGame& game)void CScreenCreateParty::OnBackButtonClick()void CScreenCreateParty::OnCreateDeleteButtonClick(int nButton)void CScreenCreateParty::OnDoneButtonClick()virtual void CScreenCreateParty::OnKeyDown(int nKeysFlags)virtual void CScreenCreateParty::OnLButtonDblClk(CPoint cPoint)virtual void CScreenCreateParty::OnLButtonDown(CPoint cPoint)virtual void CScreenCreateParty::OnLButtonUp(CPoint cPoint)virtual void CScreenCreateParty::OnMouseMove(CPoint cPoint)void CScreenCreateParty::OnPortraitButtonClick(int nButton)virtual void CScreenCreateParty::OnRButtonDown(CPoint cPoint)virtual void CScreenCreateParty::OnRButtonUp(CPoint cPoint)virtual void CScreenCreateParty::SetSystemKeyCtrl(unsigned char bValue)virtual void CScreenCreateParty::TimerAsynchronousUpdate()virtual void CScreenCreateParty::TimerSynchronousUpdate()void CScreenCreateParty::UpdateLuaTables()

6.101.3 Constructors

Name DescriptionCScreenCreateParty::CScreenCreateParty Constructs a CScreenCreateParty object

6.101. CScreenCreateParty Class 1815

Page 1820: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateParty::CScreenCreateParty

Constructs a CScreenCreateParty object

void CScreenCreateParty::CScreenCreateParty();

Remarks

Constructs a CScreenCreateParty object

6.101.4 Methods

Name DescriptionCScreenCreateParty::CheckMouseLButtonCScreenCreateParty::CheckMouseMoveCScreenCreateParty::CheckMouseRButtonCScreenCreateParty::CheckSystemKeyCtrlCScreenCreateParty::EngineActivatedCScreenCreateParty::EngineDeactivatedCScreenCreateParty::EngineDestroyedCScreenCreateParty::EngineInitializedCScreenCreateParty::GetEngineStateCScreenCreateParty::GetNumVirtualKeysCScreenCreateParty::GetVirtualKeysCScreenCreateParty::GetVirtualKeysFlagsCScreenCreateParty::ImportFrom2DACScreenCreateParty::ImportFromSaveCScreenCreateParty::OnBackButtonClickCScreenCreateParty::OnCreateDeleteButtonClickCScreenCreateParty::OnDoneButtonClickCScreenCreateParty::OnKeyDownCScreenCreateParty::OnLButtonDblClkCScreenCreateParty::OnLButtonDownCScreenCreateParty::OnLButtonUpCScreenCreateParty::OnMouseMoveCScreenCreateParty::OnPortraitButtonClickCScreenCreateParty::OnRButtonDownCScreenCreateParty::OnRButtonUpCScreenCreateParty::SetSystemKeyCtrlCScreenCreateParty::TimerAsynchronousUpdateCScreenCreateParty::TimerSynchronousUpdateCScreenCreateParty::UpdateLuaTables

CScreenCreateParty::CheckMouseLButton

virtual int CScreenCreateParty::CheckMouseLButton();

1816 Chapter 6. EE Game Classes (x86)

Page 1821: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Return Value

Returns int

Remarks

CScreenCreateParty::CheckMouseMove

virtual int CScreenCreateParty::CheckMouseMove();

Return Value

Returns int

Remarks

CScreenCreateParty::CheckMouseRButton

virtual int CScreenCreateParty::CheckMouseRButton();

Return Value

Returns int

Remarks

CScreenCreateParty::CheckSystemKeyCtrl

virtual int CScreenCreateParty::CheckSystemKeyCtrl();

Return Value

Returns int

Remarks

CScreenCreateParty::EngineActivated

virtual void CScreenCreateParty::EngineActivated();

Remarks

CScreenCreateParty::EngineDeactivated

6.101. CScreenCreateParty Class 1817

Page 1822: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

virtual void CScreenCreateParty::EngineDeactivated();

Remarks

CScreenCreateParty::EngineDestroyed

virtual void CScreenCreateParty::EngineDestroyed();

Remarks

CScreenCreateParty::EngineInitialized

virtual void CScreenCreateParty::EngineInitialized();

Remarks

CScreenCreateParty::GetEngineState

virtual int CScreenCreateParty::GetEngineState();

Return Value

Returns int

Remarks

CScreenCreateParty::GetNumVirtualKeys

virtual short CScreenCreateParty::GetNumVirtualKeys();

Return Value

Returns short

Remarks

CScreenCreateParty::GetVirtualKeys

virtual CKeyInfo* CScreenCreateParty::GetVirtualKeys();

Return Value

Returns CKeyInfo*

Remarks

1818 Chapter 6. EE Game Classes (x86)

Page 1823: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateParty::GetVirtualKeysFlags

virtual int* CScreenCreateParty::GetVirtualKeysFlags();

Return Value

Returns int*

Remarks

CScreenCreateParty::ImportFrom2DA

void CScreenCreateParty::ImportFrom2DA(int merge);

Parameters

• int merge -

Remarks

CScreenCreateParty::ImportFromSave

void CScreenCreateParty::ImportFromSave(CImportGame& game);

Parameters

• CImportGame& game -

Remarks

CScreenCreateParty::OnBackButtonClick

void CScreenCreateParty::OnBackButtonClick();

Remarks

CScreenCreateParty::OnCreateDeleteButtonClick

void CScreenCreateParty::OnCreateDeleteButtonClick(int nButton);

Parameters

• int nButton -

Remarks

6.101. CScreenCreateParty Class 1819

Page 1824: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateParty::OnDoneButtonClick

void CScreenCreateParty::OnDoneButtonClick();

Remarks

CScreenCreateParty::OnKeyDown

virtual void CScreenCreateParty::OnKeyDown(int nKeysFlags);

Parameters

• int nKeysFlags -

Remarks

CScreenCreateParty::OnLButtonDblClk

virtual void CScreenCreateParty::OnLButtonDblClk(CPoint cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

CScreenCreateParty::OnLButtonDown

virtual void CScreenCreateParty::OnLButtonDown(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

CScreenCreateParty::OnLButtonUp

virtual void CScreenCreateParty::OnLButtonUp(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

1820 Chapter 6. EE Game Classes (x86)

Page 1825: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateParty::OnMouseMove

virtual void CScreenCreateParty::OnMouseMove(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

CScreenCreateParty::OnPortraitButtonClick

void CScreenCreateParty::OnPortraitButtonClick(int nButton);

Parameters

• int nButton -

Remarks

CScreenCreateParty::OnRButtonDown

virtual void CScreenCreateParty::OnRButtonDown(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

CScreenCreateParty::OnRButtonUp

virtual void CScreenCreateParty::OnRButtonUp(:ref:`CPoint<CPoint>` cPoint);

Parameters

• CPoint cPoint - x and y coordinates of mouse position

Remarks

CScreenCreateParty::SetSystemKeyCtrl

virtual void CScreenCreateParty::SetSystemKeyCtrl(unsigned char bValue);

Parameters

• unsigned char bValue -

Remarks

6.101. CScreenCreateParty Class 1821

Page 1826: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

CScreenCreateParty::TimerAsynchronousUpdate

virtual void CScreenCreateParty::TimerAsynchronousUpdate();

Remarks

CScreenCreateParty::TimerSynchronousUpdate

virtual void CScreenCreateParty::TimerSynchronousUpdate();

Remarks

CScreenCreateParty::UpdateLuaTables

void CScreenCreateParty::UpdateLuaTables();

Remarks

6.102 CScreenDLC Class

• Overview

• Quick Reference

• Constructors

• Methods

6.102.1 Overview

Note: The CScreenDLC class handles downloadable content

The structure used for this class is CScreenDLC

6.102.2 Quick Reference

Quick Refvoid CScreenDLC::CScreenDLC()virtual void CScreenDLC::CancelEngine()void CScreenDLC::DecrementDLCIndex()

Continued on next page

1822 Chapter 6. EE Game Classes (x86)

Page 1827: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Table 46 – continued from previous pagevirtual void CScreenDLC::EngineActivated()virtual void CScreenDLC::EngineDeactivated()virtual void CScreenDLC::EngineDestroyed()virtual void CScreenDLC::EngineGameInit()virtual void CScreenDLC::EngineGameUninit()virtual void CScreenDLC::EngineInitialized()int CScreenDLC::GetDLCBought()int CScreenDLC::GetDLCCount()int CScreenDLC::GetDLCDescription()const char* CScreenDLC::GetDLCImage()int CScreenDLC::GetDLCIndex()const char* CScreenDLC::GetDLCName()int CScreenDLC::GetDLCState()int CScreenDLC::GetDLCTitle()void CScreenDLC::GetDownloadString()virtual short CScreenDLC::GetNumVirtualKeys()virtual CKeyInfo* CScreenDLC::GetVirtualKeys()virtual int* CScreenDLC::GetVirtualKeysFlags()void CScreenDLC::IncrementDLCIndex()void CScreenDLC::OnBuyButtonClick()void CScreenDLC::OnDoneButtonClick()void CScreenDLC::OnErrorButtonClick()virtual void CScreenDLC::OnKeyDown(int nKeysFlags)void CScreenDLC::RestorePurchases()void CScreenDLC::SetDLCIndex(int index)virtual void CScreenDLC::TimerAsynchronousUpdate()virtual void CScreenDLC::TimerSynchronousUpdate()void CScreenDLC::UpdateDLCState()

6.102.3 Constructors

Name DescriptionCScreenDLC::CScreenDLC Constructs a CScreenDLC object

CScreenDLC::CScreenDLC

Constructs a CScreenDLC object

void CScreenDLC::CScreenDLC();

Remarks

Constructs a CScreenDLC object

6.102.4 Methods

6.102. CScreenDLC Class 1823

Page 1828: EEex Documentation - Read the Docs

EEex Documentation, Release 1.0

Name DescriptionCScreenDLC::CancelEngineCScreenDLC::DecrementDLCIndexCScreenDLC::EngineActivatedCScreenDLC::EngineDeactivatedCScreenDLC::EngineDestroyedCScreenDLC::EngineGameInitCScreenDLC::EngineGameUninitCScreenDLC::EngineInitializedCScreenDLC::GetDLCBoughtCScreenDLC::GetDLCCountCScreenDLC::GetDLCDescriptionCScreenDLC::GetDLCImageCScreenDLC::GetDLCIndexCScreenDLC::GetDLCNameCScreenDLC::GetDLCStateCScreenDLC::GetDLCTitleCScreenDLC::GetDownloadStringCScreenDLC::GetNumVirtualKeysCScreenDLC::GetVirtualKeysCScreenDLC::GetVirtualKeysFlagsCScreenDLC::IncrementDLCIndexCScreenDLC::OnBuyButtonClickCScreenDLC::OnDoneButtonClickCScreenDLC::OnErrorButtonClickCScreenDLC::OnKeyDownCScreenDLC::RestorePurchasesCScreenDLC::SetDLCIndexCScreenDLC::TimerAsynchronousUpdateCScreenDLC::TimerSynchronousUpdateCScreenDLC::UpdateDLCState

CScreenDLC::CancelEngine

x;

Parameters

• – *

• – *

• – *

• – *

Return Value

Returns

Remarks

1824 Chapter 6. EE Game Classes (x86)

Page 1829: EEex Documentation - Read the Docs
Page 1830: EEex Documentation - Read the Docs
Page 1831: EEex Documentation - Read the Docs
Page 1832: EEex Documentation - Read the Docs
Page 1833: EEex Documentation - Read the Docs
Page 1834: EEex Documentation - Read the Docs
Page 1835: EEex Documentation - Read the Docs
Page 1836: EEex Documentation - Read the Docs
Page 1837: EEex Documentation - Read the Docs
Page 1838: EEex Documentation - Read the Docs
Page 1839: EEex Documentation - Read the Docs
Page 1840: EEex Documentation - Read the Docs
Page 1841: EEex Documentation - Read the Docs
Page 1842: EEex Documentation - Read the Docs
Page 1843: EEex Documentation - Read the Docs
Page 1844: EEex Documentation - Read the Docs
Page 1845: EEex Documentation - Read the Docs
Page 1846: EEex Documentation - Read the Docs
Page 1847: EEex Documentation - Read the Docs
Page 1848: EEex Documentation - Read the Docs
Page 1849: EEex Documentation - Read the Docs
Page 1850: EEex Documentation - Read the Docs
Page 1851: EEex Documentation - Read the Docs
Page 1852: EEex Documentation - Read the Docs
Page 1853: EEex Documentation - Read the Docs
Page 1854: EEex Documentation - Read the Docs
Page 1855: EEex Documentation - Read the Docs
Page 1856: EEex Documentation - Read the Docs
Page 1857: EEex Documentation - Read the Docs
Page 1858: EEex Documentation - Read the Docs
Page 1859: EEex Documentation - Read the Docs
Page 1860: EEex Documentation - Read the Docs
Page 1861: EEex Documentation - Read the Docs
Page 1862: EEex Documentation - Read the Docs
Page 1863: EEex Documentation - Read the Docs
Page 1864: EEex Documentation - Read the Docs
Page 1865: EEex Documentation - Read the Docs
Page 1866: EEex Documentation - Read the Docs
Page 1867: EEex Documentation - Read the Docs
Page 1868: EEex Documentation - Read the Docs
Page 1869: EEex Documentation - Read the Docs
Page 1870: EEex Documentation - Read the Docs
Page 1871: EEex Documentation - Read the Docs
Page 1872: EEex Documentation - Read the Docs
Page 1873: EEex Documentation - Read the Docs
Page 1874: EEex Documentation - Read the Docs
Page 1875: EEex Documentation - Read the Docs
Page 1876: EEex Documentation - Read the Docs
Page 1877: EEex Documentation - Read the Docs
Page 1878: EEex Documentation - Read the Docs
Page 1879: EEex Documentation - Read the Docs
Page 1880: EEex Documentation - Read the Docs
Page 1881: EEex Documentation - Read the Docs
Page 1882: EEex Documentation - Read the Docs
Page 1883: EEex Documentation - Read the Docs
Page 1884: EEex Documentation - Read the Docs
Page 1885: EEex Documentation - Read the Docs
Page 1886: EEex Documentation - Read the Docs
Page 1887: EEex Documentation - Read the Docs
Page 1888: EEex Documentation - Read the Docs
Page 1889: EEex Documentation - Read the Docs
Page 1890: EEex Documentation - Read the Docs
Page 1891: EEex Documentation - Read the Docs
Page 1892: EEex Documentation - Read the Docs
Page 1893: EEex Documentation - Read the Docs
Page 1894: EEex Documentation - Read the Docs
Page 1895: EEex Documentation - Read the Docs
Page 1896: EEex Documentation - Read the Docs
Page 1897: EEex Documentation - Read the Docs
Page 1898: EEex Documentation - Read the Docs
Page 1899: EEex Documentation - Read the Docs
Page 1900: EEex Documentation - Read the Docs
Page 1901: EEex Documentation - Read the Docs
Page 1902: EEex Documentation - Read the Docs
Page 1903: EEex Documentation - Read the Docs
Page 1904: EEex Documentation - Read the Docs
Page 1905: EEex Documentation - Read the Docs
Page 1906: EEex Documentation - Read the Docs
Page 1907: EEex Documentation - Read the Docs
Page 1908: EEex Documentation - Read the Docs
Page 1909: EEex Documentation - Read the Docs
Page 1910: EEex Documentation - Read the Docs
Page 1911: EEex Documentation - Read the Docs
Page 1912: EEex Documentation - Read the Docs
Page 1913: EEex Documentation - Read the Docs
Page 1914: EEex Documentation - Read the Docs
Page 1915: EEex Documentation - Read the Docs
Page 1916: EEex Documentation - Read the Docs
Page 1917: EEex Documentation - Read the Docs
Page 1918: EEex Documentation - Read the Docs
Page 1919: EEex Documentation - Read the Docs
Page 1920: EEex Documentation - Read the Docs
Page 1921: EEex Documentation - Read the Docs
Page 1922: EEex Documentation - Read the Docs
Page 1923: EEex Documentation - Read the Docs
Page 1924: EEex Documentation - Read the Docs
Page 1925: EEex Documentation - Read the Docs
Page 1926: EEex Documentation - Read the Docs
Page 1927: EEex Documentation - Read the Docs
Page 1928: EEex Documentation - Read the Docs
Page 1929: EEex Documentation - Read the Docs
Page 1930: EEex Documentation - Read the Docs
Page 1931: EEex Documentation - Read the Docs
Page 1932: EEex Documentation - Read the Docs
Page 1933: EEex Documentation - Read the Docs
Page 1934: EEex Documentation - Read the Docs
Page 1935: EEex Documentation - Read the Docs
Page 1936: EEex Documentation - Read the Docs
Page 1937: EEex Documentation - Read the Docs
Page 1938: EEex Documentation - Read the Docs
Page 1939: EEex Documentation - Read the Docs
Page 1940: EEex Documentation - Read the Docs
Page 1941: EEex Documentation - Read the Docs
Page 1942: EEex Documentation - Read the Docs
Page 1943: EEex Documentation - Read the Docs
Page 1944: EEex Documentation - Read the Docs
Page 1945: EEex Documentation - Read the Docs
Page 1946: EEex Documentation - Read the Docs
Page 1947: EEex Documentation - Read the Docs
Page 1948: EEex Documentation - Read the Docs
Page 1949: EEex Documentation - Read the Docs
Page 1950: EEex Documentation - Read the Docs
Page 1951: EEex Documentation - Read the Docs
Page 1952: EEex Documentation - Read the Docs
Page 1953: EEex Documentation - Read the Docs
Page 1954: EEex Documentation - Read the Docs
Page 1955: EEex Documentation - Read the Docs
Page 1956: EEex Documentation - Read the Docs
Page 1957: EEex Documentation - Read the Docs
Page 1958: EEex Documentation - Read the Docs
Page 1959: EEex Documentation - Read the Docs
Page 1960: EEex Documentation - Read the Docs
Page 1961: EEex Documentation - Read the Docs
Page 1962: EEex Documentation - Read the Docs
Page 1963: EEex Documentation - Read the Docs
Page 1964: EEex Documentation - Read the Docs
Page 1965: EEex Documentation - Read the Docs
Page 1966: EEex Documentation - Read the Docs
Page 1967: EEex Documentation - Read the Docs
Page 1968: EEex Documentation - Read the Docs
Page 1969: EEex Documentation - Read the Docs
Page 1970: EEex Documentation - Read the Docs
Page 1971: EEex Documentation - Read the Docs
Page 1972: EEex Documentation - Read the Docs
Page 1973: EEex Documentation - Read the Docs
Page 1974: EEex Documentation - Read the Docs
Page 1975: EEex Documentation - Read the Docs
Page 1976: EEex Documentation - Read the Docs
Page 1977: EEex Documentation - Read the Docs
Page 1978: EEex Documentation - Read the Docs
Page 1979: EEex Documentation - Read the Docs
Page 1980: EEex Documentation - Read the Docs
Page 1981: EEex Documentation - Read the Docs
Page 1982: EEex Documentation - Read the Docs
Page 1983: EEex Documentation - Read the Docs
Page 1984: EEex Documentation - Read the Docs
Page 1985: EEex Documentation - Read the Docs
Page 1986: EEex Documentation - Read the Docs
Page 1987: EEex Documentation - Read the Docs
Page 1988: EEex Documentation - Read the Docs
Page 1989: EEex Documentation - Read the Docs
Page 1990: EEex Documentation - Read the Docs
Page 1991: EEex Documentation - Read the Docs
Page 1992: EEex Documentation - Read the Docs
Page 1993: EEex Documentation - Read the Docs
Page 1994: EEex Documentation - Read the Docs
Page 1995: EEex Documentation - Read the Docs
Page 1996: EEex Documentation - Read the Docs
Page 1997: EEex Documentation - Read the Docs
Page 1998: EEex Documentation - Read the Docs
Page 1999: EEex Documentation - Read the Docs
Page 2000: EEex Documentation - Read the Docs
Page 2001: EEex Documentation - Read the Docs
Page 2002: EEex Documentation - Read the Docs
Page 2003: EEex Documentation - Read the Docs
Page 2004: EEex Documentation - Read the Docs
Page 2005: EEex Documentation - Read the Docs
Page 2006: EEex Documentation - Read the Docs
Page 2007: EEex Documentation - Read the Docs
Page 2008: EEex Documentation - Read the Docs
Page 2009: EEex Documentation - Read the Docs
Page 2010: EEex Documentation - Read the Docs
Page 2011: EEex Documentation - Read the Docs
Page 2012: EEex Documentation - Read the Docs
Page 2013: EEex Documentation - Read the Docs
Page 2014: EEex Documentation - Read the Docs
Page 2015: EEex Documentation - Read the Docs
Page 2016: EEex Documentation - Read the Docs
Page 2017: EEex Documentation - Read the Docs
Page 2018: EEex Documentation - Read the Docs
Page 2019: EEex Documentation - Read the Docs
Page 2020: EEex Documentation - Read the Docs
Page 2021: EEex Documentation - Read the Docs
Page 2022: EEex Documentation - Read the Docs
Page 2023: EEex Documentation - Read the Docs
Page 2024: EEex Documentation - Read the Docs
Page 2025: EEex Documentation - Read the Docs
Page 2026: EEex Documentation - Read the Docs
Page 2027: EEex Documentation - Read the Docs
Page 2028: EEex Documentation - Read the Docs
Page 2029: EEex Documentation - Read the Docs
Page 2030: EEex Documentation - Read the Docs
Page 2031: EEex Documentation - Read the Docs
Page 2032: EEex Documentation - Read the Docs
Page 2033: EEex Documentation - Read the Docs
Page 2034: EEex Documentation - Read the Docs
Page 2035: EEex Documentation - Read the Docs
Page 2036: EEex Documentation - Read the Docs
Page 2037: EEex Documentation - Read the Docs
Page 2038: EEex Documentation - Read the Docs
Page 2039: EEex Documentation - Read the Docs
Page 2040: EEex Documentation - Read the Docs
Page 2041: EEex Documentation - Read the Docs
Page 2042: EEex Documentation - Read the Docs
Page 2043: EEex Documentation - Read the Docs
Page 2044: EEex Documentation - Read the Docs
Page 2045: EEex Documentation - Read the Docs
Page 2046: EEex Documentation - Read the Docs
Page 2047: EEex Documentation - Read the Docs
Page 2048: EEex Documentation - Read the Docs
Page 2049: EEex Documentation - Read the Docs
Page 2050: EEex Documentation - Read the Docs
Page 2051: EEex Documentation - Read the Docs
Page 2052: EEex Documentation - Read the Docs
Page 2053: EEex Documentation - Read the Docs
Page 2054: EEex Documentation - Read the Docs
Page 2055: EEex Documentation - Read the Docs
Page 2056: EEex Documentation - Read the Docs
Page 2057: EEex Documentation - Read the Docs
Page 2058: EEex Documentation - Read the Docs
Page 2059: EEex Documentation - Read the Docs
Page 2060: EEex Documentation - Read the Docs
Page 2061: EEex Documentation - Read the Docs
Page 2062: EEex Documentation - Read the Docs
Page 2063: EEex Documentation - Read the Docs
Page 2064: EEex Documentation - Read the Docs
Page 2065: EEex Documentation - Read the Docs
Page 2066: EEex Documentation - Read the Docs
Page 2067: EEex Documentation - Read the Docs
Page 2068: EEex Documentation - Read the Docs
Page 2069: EEex Documentation - Read the Docs
Page 2070: EEex Documentation - Read the Docs
Page 2071: EEex Documentation - Read the Docs
Page 2072: EEex Documentation - Read the Docs
Page 2073: EEex Documentation - Read the Docs
Page 2074: EEex Documentation - Read the Docs
Page 2075: EEex Documentation - Read the Docs
Page 2076: EEex Documentation - Read the Docs
Page 2077: EEex Documentation - Read the Docs
Page 2078: EEex Documentation - Read the Docs
Page 2079: EEex Documentation - Read the Docs
Page 2080: EEex Documentation - Read the Docs
Page 2081: EEex Documentation - Read the Docs
Page 2082: EEex Documentation - Read the Docs
Page 2083: EEex Documentation - Read the Docs
Page 2084: EEex Documentation - Read the Docs
Page 2085: EEex Documentation - Read the Docs
Page 2086: EEex Documentation - Read the Docs
Page 2087: EEex Documentation - Read the Docs
Page 2088: EEex Documentation - Read the Docs
Page 2089: EEex Documentation - Read the Docs
Page 2090: EEex Documentation - Read the Docs
Page 2091: EEex Documentation - Read the Docs
Page 2092: EEex Documentation - Read the Docs
Page 2093: EEex Documentation - Read the Docs
Page 2094: EEex Documentation - Read the Docs
Page 2095: EEex Documentation - Read the Docs
Page 2096: EEex Documentation - Read the Docs
Page 2097: EEex Documentation - Read the Docs
Page 2098: EEex Documentation - Read the Docs
Page 2099: EEex Documentation - Read the Docs
Page 2100: EEex Documentation - Read the Docs
Page 2101: EEex Documentation - Read the Docs
Page 2102: EEex Documentation - Read the Docs
Page 2103: EEex Documentation - Read the Docs
Page 2104: EEex Documentation - Read the Docs
Page 2105: EEex Documentation - Read the Docs
Page 2106: EEex Documentation - Read the Docs
Page 2107: EEex Documentation - Read the Docs
Page 2108: EEex Documentation - Read the Docs
Page 2109: EEex Documentation - Read the Docs
Page 2110: EEex Documentation - Read the Docs
Page 2111: EEex Documentation - Read the Docs
Page 2112: EEex Documentation - Read the Docs
Page 2113: EEex Documentation - Read the Docs
Page 2114: EEex Documentation - Read the Docs
Page 2115: EEex Documentation - Read the Docs
Page 2116: EEex Documentation - Read the Docs
Page 2117: EEex Documentation - Read the Docs
Page 2118: EEex Documentation - Read the Docs
Page 2119: EEex Documentation - Read the Docs
Page 2120: EEex Documentation - Read the Docs
Page 2121: EEex Documentation - Read the Docs
Page 2122: EEex Documentation - Read the Docs
Page 2123: EEex Documentation - Read the Docs
Page 2124: EEex Documentation - Read the Docs
Page 2125: EEex Documentation - Read the Docs
Page 2126: EEex Documentation - Read the Docs
Page 2127: EEex Documentation - Read the Docs
Page 2128: EEex Documentation - Read the Docs
Page 2129: EEex Documentation - Read the Docs
Page 2130: EEex Documentation - Read the Docs
Page 2131: EEex Documentation - Read the Docs
Page 2132: EEex Documentation - Read the Docs
Page 2133: EEex Documentation - Read the Docs
Page 2134: EEex Documentation - Read the Docs
Page 2135: EEex Documentation - Read the Docs
Page 2136: EEex Documentation - Read the Docs
Page 2137: EEex Documentation - Read the Docs
Page 2138: EEex Documentation - Read the Docs
Page 2139: EEex Documentation - Read the Docs
Page 2140: EEex Documentation - Read the Docs
Page 2141: EEex Documentation - Read the Docs
Page 2142: EEex Documentation - Read the Docs
Page 2143: EEex Documentation - Read the Docs
Page 2144: EEex Documentation - Read the Docs
Page 2145: EEex Documentation - Read the Docs
Page 2146: EEex Documentation - Read the Docs
Page 2147: EEex Documentation - Read the Docs
Page 2148: EEex Documentation - Read the Docs
Page 2149: EEex Documentation - Read the Docs
Page 2150: EEex Documentation - Read the Docs
Page 2151: EEex Documentation - Read the Docs
Page 2152: EEex Documentation - Read the Docs
Page 2153: EEex Documentation - Read the Docs
Page 2154: EEex Documentation - Read the Docs
Page 2155: EEex Documentation - Read the Docs
Page 2156: EEex Documentation - Read the Docs
Page 2157: EEex Documentation - Read the Docs
Page 2158: EEex Documentation - Read the Docs
Page 2159: EEex Documentation - Read the Docs
Page 2160: EEex Documentation - Read the Docs
Page 2161: EEex Documentation - Read the Docs
Page 2162: EEex Documentation - Read the Docs
Page 2163: EEex Documentation - Read the Docs
Page 2164: EEex Documentation - Read the Docs
Page 2165: EEex Documentation - Read the Docs
Page 2166: EEex Documentation - Read the Docs
Page 2167: EEex Documentation - Read the Docs
Page 2168: EEex Documentation - Read the Docs
Page 2169: EEex Documentation - Read the Docs
Page 2170: EEex Documentation - Read the Docs
Page 2171: EEex Documentation - Read the Docs
Page 2172: EEex Documentation - Read the Docs
Page 2173: EEex Documentation - Read the Docs
Page 2174: EEex Documentation - Read the Docs
Page 2175: EEex Documentation - Read the Docs
Page 2176: EEex Documentation - Read the Docs
Page 2177: EEex Documentation - Read the Docs
Page 2178: EEex Documentation - Read the Docs
Page 2179: EEex Documentation - Read the Docs
Page 2180: EEex Documentation - Read the Docs
Page 2181: EEex Documentation - Read the Docs
Page 2182: EEex Documentation - Read the Docs
Page 2183: EEex Documentation - Read the Docs
Page 2184: EEex Documentation - Read the Docs
Page 2185: EEex Documentation - Read the Docs
Page 2186: EEex Documentation - Read the Docs
Page 2187: EEex Documentation - Read the Docs
Page 2188: EEex Documentation - Read the Docs
Page 2189: EEex Documentation - Read the Docs
Page 2190: EEex Documentation - Read the Docs
Page 2191: EEex Documentation - Read the Docs
Page 2192: EEex Documentation - Read the Docs
Page 2193: EEex Documentation - Read the Docs
Page 2194: EEex Documentation - Read the Docs
Page 2195: EEex Documentation - Read the Docs
Page 2196: EEex Documentation - Read the Docs
Page 2197: EEex Documentation - Read the Docs
Page 2198: EEex Documentation - Read the Docs
Page 2199: EEex Documentation - Read the Docs
Page 2200: EEex Documentation - Read the Docs
Page 2201: EEex Documentation - Read the Docs
Page 2202: EEex Documentation - Read the Docs
Page 2203: EEex Documentation - Read the Docs
Page 2204: EEex Documentation - Read the Docs
Page 2205: EEex Documentation - Read the Docs
Page 2206: EEex Documentation - Read the Docs
Page 2207: EEex Documentation - Read the Docs
Page 2208: EEex Documentation - Read the Docs
Page 2209: EEex Documentation - Read the Docs
Page 2210: EEex Documentation - Read the Docs
Page 2211: EEex Documentation - Read the Docs
Page 2212: EEex Documentation - Read the Docs
Page 2213: EEex Documentation - Read the Docs
Page 2214: EEex Documentation - Read the Docs
Page 2215: EEex Documentation - Read the Docs
Page 2216: EEex Documentation - Read the Docs
Page 2217: EEex Documentation - Read the Docs
Page 2218: EEex Documentation - Read the Docs
Page 2219: EEex Documentation - Read the Docs
Page 2220: EEex Documentation - Read the Docs
Page 2221: EEex Documentation - Read the Docs
Page 2222: EEex Documentation - Read the Docs
Page 2223: EEex Documentation - Read the Docs
Page 2224: EEex Documentation - Read the Docs
Page 2225: EEex Documentation - Read the Docs
Page 2226: EEex Documentation - Read the Docs
Page 2227: EEex Documentation - Read the Docs
Page 2228: EEex Documentation - Read the Docs
Page 2229: EEex Documentation - Read the Docs
Page 2230: EEex Documentation - Read the Docs
Page 2231: EEex Documentation - Read the Docs
Page 2232: EEex Documentation - Read the Docs
Page 2233: EEex Documentation - Read the Docs
Page 2234: EEex Documentation - Read the Docs
Page 2235: EEex Documentation - Read the Docs
Page 2236: EEex Documentation - Read the Docs
Page 2237: EEex Documentation - Read the Docs
Page 2238: EEex Documentation - Read the Docs
Page 2239: EEex Documentation - Read the Docs
Page 2240: EEex Documentation - Read the Docs
Page 2241: EEex Documentation - Read the Docs
Page 2242: EEex Documentation - Read the Docs
Page 2243: EEex Documentation - Read the Docs
Page 2244: EEex Documentation - Read the Docs
Page 2245: EEex Documentation - Read the Docs
Page 2246: EEex Documentation - Read the Docs
Page 2247: EEex Documentation - Read the Docs
Page 2248: EEex Documentation - Read the Docs
Page 2249: EEex Documentation - Read the Docs
Page 2250: EEex Documentation - Read the Docs
Page 2251: EEex Documentation - Read the Docs
Page 2252: EEex Documentation - Read the Docs
Page 2253: EEex Documentation - Read the Docs
Page 2254: EEex Documentation - Read the Docs
Page 2255: EEex Documentation - Read the Docs
Page 2256: EEex Documentation - Read the Docs
Page 2257: EEex Documentation - Read the Docs
Page 2258: EEex Documentation - Read the Docs
Page 2259: EEex Documentation - Read the Docs
Page 2260: EEex Documentation - Read the Docs
Page 2261: EEex Documentation - Read the Docs
Page 2262: EEex Documentation - Read the Docs
Page 2263: EEex Documentation - Read the Docs
Page 2264: EEex Documentation - Read the Docs
Page 2265: EEex Documentation - Read the Docs
Page 2266: EEex Documentation - Read the Docs
Page 2267: EEex Documentation - Read the Docs
Page 2268: EEex Documentation - Read the Docs
Page 2269: EEex Documentation - Read the Docs
Page 2270: EEex Documentation - Read the Docs
Page 2271: EEex Documentation - Read the Docs
Page 2272: EEex Documentation - Read the Docs
Page 2273: EEex Documentation - Read the Docs
Page 2274: EEex Documentation - Read the Docs
Page 2275: EEex Documentation - Read the Docs
Page 2276: EEex Documentation - Read the Docs
Page 2277: EEex Documentation - Read the Docs
Page 2278: EEex Documentation - Read the Docs
Page 2279: EEex Documentation - Read the Docs
Page 2280: EEex Documentation - Read the Docs
Page 2281: EEex Documentation - Read the Docs
Page 2282: EEex Documentation - Read the Docs
Page 2283: EEex Documentation - Read the Docs
Page 2284: EEex Documentation - Read the Docs
Page 2285: EEex Documentation - Read the Docs
Page 2286: EEex Documentation - Read the Docs
Page 2287: EEex Documentation - Read the Docs
Page 2288: EEex Documentation - Read the Docs
Page 2289: EEex Documentation - Read the Docs
Page 2290: EEex Documentation - Read the Docs
Page 2291: EEex Documentation - Read the Docs
Page 2292: EEex Documentation - Read the Docs
Page 2293: EEex Documentation - Read the Docs
Page 2294: EEex Documentation - Read the Docs
Page 2295: EEex Documentation - Read the Docs
Page 2296: EEex Documentation - Read the Docs
Page 2297: EEex Documentation - Read the Docs
Page 2298: EEex Documentation - Read the Docs
Page 2299: EEex Documentation - Read the Docs
Page 2300: EEex Documentation - Read the Docs
Page 2301: EEex Documentation - Read the Docs
Page 2302: EEex Documentation - Read the Docs
Page 2303: EEex Documentation - Read the Docs
Page 2304: EEex Documentation - Read the Docs
Page 2305: EEex Documentation - Read the Docs
Page 2306: EEex Documentation - Read the Docs
Page 2307: EEex Documentation - Read the Docs
Page 2308: EEex Documentation - Read the Docs
Page 2309: EEex Documentation - Read the Docs
Page 2310: EEex Documentation - Read the Docs
Page 2311: EEex Documentation - Read the Docs
Page 2312: EEex Documentation - Read the Docs
Page 2313: EEex Documentation - Read the Docs
Page 2314: EEex Documentation - Read the Docs
Page 2315: EEex Documentation - Read the Docs
Page 2316: EEex Documentation - Read the Docs
Page 2317: EEex Documentation - Read the Docs
Page 2318: EEex Documentation - Read the Docs
Page 2319: EEex Documentation - Read the Docs
Page 2320: EEex Documentation - Read the Docs
Page 2321: EEex Documentation - Read the Docs
Page 2322: EEex Documentation - Read the Docs
Page 2323: EEex Documentation - Read the Docs
Page 2324: EEex Documentation - Read the Docs
Page 2325: EEex Documentation - Read the Docs
Page 2326: EEex Documentation - Read the Docs
Page 2327: EEex Documentation - Read the Docs
Page 2328: EEex Documentation - Read the Docs
Page 2329: EEex Documentation - Read the Docs
Page 2330: EEex Documentation - Read the Docs
Page 2331: EEex Documentation - Read the Docs
Page 2332: EEex Documentation - Read the Docs
Page 2333: EEex Documentation - Read the Docs
Page 2334: EEex Documentation - Read the Docs
Page 2335: EEex Documentation - Read the Docs
Page 2336: EEex Documentation - Read the Docs
Page 2337: EEex Documentation - Read the Docs
Page 2338: EEex Documentation - Read the Docs
Page 2339: EEex Documentation - Read the Docs
Page 2340: EEex Documentation - Read the Docs
Page 2341: EEex Documentation - Read the Docs
Page 2342: EEex Documentation - Read the Docs
Page 2343: EEex Documentation - Read the Docs
Page 2344: EEex Documentation - Read the Docs
Page 2345: EEex Documentation - Read the Docs
Page 2346: EEex Documentation - Read the Docs
Page 2347: EEex Documentation - Read the Docs
Page 2348: EEex Documentation - Read the Docs
Page 2349: EEex Documentation - Read the Docs
Page 2350: EEex Documentation - Read the Docs
Page 2351: EEex Documentation - Read the Docs
Page 2352: EEex Documentation - Read the Docs
Page 2353: EEex Documentation - Read the Docs
Page 2354: EEex Documentation - Read the Docs
Page 2355: EEex Documentation - Read the Docs
Page 2356: EEex Documentation - Read the Docs
Page 2357: EEex Documentation - Read the Docs
Page 2358: EEex Documentation - Read the Docs
Page 2359: EEex Documentation - Read the Docs
Page 2360: EEex Documentation - Read the Docs
Page 2361: EEex Documentation - Read the Docs
Page 2362: EEex Documentation - Read the Docs
Page 2363: EEex Documentation - Read the Docs
Page 2364: EEex Documentation - Read the Docs
Page 2365: EEex Documentation - Read the Docs
Page 2366: EEex Documentation - Read the Docs
Page 2367: EEex Documentation - Read the Docs
Page 2368: EEex Documentation - Read the Docs
Page 2369: EEex Documentation - Read the Docs
Page 2370: EEex Documentation - Read the Docs
Page 2371: EEex Documentation - Read the Docs
Page 2372: EEex Documentation - Read the Docs
Page 2373: EEex Documentation - Read the Docs
Page 2374: EEex Documentation - Read the Docs
Page 2375: EEex Documentation - Read the Docs
Page 2376: EEex Documentation - Read the Docs
Page 2377: EEex Documentation - Read the Docs
Page 2378: EEex Documentation - Read the Docs
Page 2379: EEex Documentation - Read the Docs
Page 2380: EEex Documentation - Read the Docs
Page 2381: EEex Documentation - Read the Docs
Page 2382: EEex Documentation - Read the Docs
Page 2383: EEex Documentation - Read the Docs
Page 2384: EEex Documentation - Read the Docs
Page 2385: EEex Documentation - Read the Docs
Page 2386: EEex Documentation - Read the Docs
Page 2387: EEex Documentation - Read the Docs
Page 2388: EEex Documentation - Read the Docs
Page 2389: EEex Documentation - Read the Docs
Page 2390: EEex Documentation - Read the Docs
Page 2391: EEex Documentation - Read the Docs
Page 2392: EEex Documentation - Read the Docs
Page 2393: EEex Documentation - Read the Docs
Page 2394: EEex Documentation - Read the Docs
Page 2395: EEex Documentation - Read the Docs
Page 2396: EEex Documentation - Read the Docs
Page 2397: EEex Documentation - Read the Docs
Page 2398: EEex Documentation - Read the Docs
Page 2399: EEex Documentation - Read the Docs
Page 2400: EEex Documentation - Read the Docs
Page 2401: EEex Documentation - Read the Docs
Page 2402: EEex Documentation - Read the Docs
Page 2403: EEex Documentation - Read the Docs
Page 2404: EEex Documentation - Read the Docs
Page 2405: EEex Documentation - Read the Docs
Page 2406: EEex Documentation - Read the Docs
Page 2407: EEex Documentation - Read the Docs
Page 2408: EEex Documentation - Read the Docs
Page 2409: EEex Documentation - Read the Docs
Page 2410: EEex Documentation - Read the Docs
Page 2411: EEex Documentation - Read the Docs
Page 2412: EEex Documentation - Read the Docs
Page 2413: EEex Documentation - Read the Docs
Page 2414: EEex Documentation - Read the Docs
Page 2415: EEex Documentation - Read the Docs
Page 2416: EEex Documentation - Read the Docs
Page 2417: EEex Documentation - Read the Docs
Page 2418: EEex Documentation - Read the Docs
Page 2419: EEex Documentation - Read the Docs
Page 2420: EEex Documentation - Read the Docs
Page 2421: EEex Documentation - Read the Docs
Page 2422: EEex Documentation - Read the Docs
Page 2423: EEex Documentation - Read the Docs
Page 2424: EEex Documentation - Read the Docs
Page 2425: EEex Documentation - Read the Docs
Page 2426: EEex Documentation - Read the Docs
Page 2427: EEex Documentation - Read the Docs
Page 2428: EEex Documentation - Read the Docs
Page 2429: EEex Documentation - Read the Docs
Page 2430: EEex Documentation - Read the Docs
Page 2431: EEex Documentation - Read the Docs
Page 2432: EEex Documentation - Read the Docs
Page 2433: EEex Documentation - Read the Docs
Page 2434: EEex Documentation - Read the Docs
Page 2435: EEex Documentation - Read the Docs
Page 2436: EEex Documentation - Read the Docs
Page 2437: EEex Documentation - Read the Docs
Page 2438: EEex Documentation - Read the Docs
Page 2439: EEex Documentation - Read the Docs
Page 2440: EEex Documentation - Read the Docs
Page 2441: EEex Documentation - Read the Docs
Page 2442: EEex Documentation - Read the Docs
Page 2443: EEex Documentation - Read the Docs
Page 2444: EEex Documentation - Read the Docs
Page 2445: EEex Documentation - Read the Docs
Page 2446: EEex Documentation - Read the Docs
Page 2447: EEex Documentation - Read the Docs
Page 2448: EEex Documentation - Read the Docs
Page 2449: EEex Documentation - Read the Docs
Page 2450: EEex Documentation - Read the Docs
Page 2451: EEex Documentation - Read the Docs
Page 2452: EEex Documentation - Read the Docs
Page 2453: EEex Documentation - Read the Docs
Page 2454: EEex Documentation - Read the Docs
Page 2455: EEex Documentation - Read the Docs
Page 2456: EEex Documentation - Read the Docs
Page 2457: EEex Documentation - Read the Docs

Recommended