59 using ::Aurora::GFF3File;
    60 using ::Aurora::GFF3Struct;
    63 using ::Aurora::GFF4File;
    64 using ::Aurora::GFF4Struct;
    71     Object(
kObjectTypeArea), _campaign(&campaign), _resRef(resRef), _environmentID(0xFFFFFFFF), _activeObject(0), _highlightAll(0) {
    75         load(resRef, env, rim);
    80         e.
add(
"Failed loading area \"%s\"", resRef.
c_str());
   120     const GFF4Struct &arlTop = arl.getTopLevel();
   130     if (!layout.
empty()) {
   136     _rooms.reserve(rooms.size());
   138     for (GFF4List::const_iterator r = rooms.begin(); r != rooms.end(); ++r) {
   142         if (!*r || ((*r)->getLabel() != 
kROOMID))
   152     const GFF3Struct &areTop = are.getTopLevel();
   154     _tag = areTop.getString(
"Tag");
   156     areTop.getLocString(
"Name", 
_name);
   162     if (areTop.hasField(
"WaypointList"))
   164     if (areTop.hasField(
"PlaceableList"))
   166     if (areTop.hasField(
"CreatureList"))
   176         const std::list<uint32> &ids = 
object.getIDs();
   178         for (std::list<uint32>::const_iterator 
id = ids.begin(); 
id != ids.end(); ++id)
   179             _objectMap.insert(std::make_pair(*
id, &
object));
   184     for (Aurora::GFF3List::const_iterator w = list.begin(); w != list.end(); ++w) {
   192     for (Aurora::GFF3List::const_iterator p = list.begin(); p != list.end(); ++p) {
   200     for (Aurora::GFF3List::const_iterator c = list.begin(); c != list.end(); ++c) {
   212     for (Rooms::iterator r = 
_rooms.begin(); r != 
_rooms.end(); ++r)
   227     for (Rooms::iterator r = 
_rooms.begin(); r != 
_rooms.end(); ++r)
   234     if (!rimFile.
empty()) {
   246             return are.getTopLevel().getString(
"Name");
   255         return are.getTopLevel().getString(
"Name");
   263                             float &orientX, 
float &orientY, 
float &orientZ, 
float &orientAngle)
 const {
   275         object->getOrientation(orientX, orientY, orientZ, orientAngle);
   295     bool hasMove = 
false;
   296     for (std::list<Events::Event>::const_iterator e = 
_eventQueue.begin();
   302             if (e->button.button == SDL_BUTTON_LMASK) {
   304                 click(e->button.x, e->button.y);
   307             if (e->key.keysym.sym == SDLK_TAB)
   310             if (e->key.keysym.sym == SDLK_TAB)
   352     if ((x < 0) || (y < 0))
   375         if (o->second->isClickable())
   376             o->second->highlight(enabled);
 Handling version V3.2/V3.3 of BioWare's GFFs (generic file format). 
#define ResMan
Shortcut for accessing the sound manager. 
A placeable object in a Dragon Age: Origins area. 
ObjectMap _objectMap
Map of objects by their model IDs. 
#define MKTAG(a0, a1, a2, a3)
A wrapper macro used around four character constants, like 'DATA', to ensure portability. 
uint32 findResource(uint64 hash) const
Return the index of the resource matching the hash, or 0xFFFFFFFF if not found. 
static const uint32 kROOMID
void add(const char *s,...) GCC_PRINTF(2
Common::SeekableReadStream * getResource(uint32 index, bool tryNoCopy=false) const
Return a stream of the resource's contents. 
The global graphics manager. 
virtual void leave()
The cursor left the object. 
::Aurora::NWScript::Object * getFirstObjectByType(ObjectType type) const
Return the first object of this type. 
const Aurora::LocString & getName() const
A class holding an UTF-8 string. 
DragonAge::Object * getObjectAt(int x, int y)
void loadObject(DragonAge::Object &object)
The context holding a Dragon Age: Origins campaign. 
Handling BioWare's RIMs (resource archives). 
void hide()
Hide the object's model(s). 
bool indexOptionalArchive(const Common::UString &file, uint32 priority, const std::vector< byte > &password, Common::ChangeID *changeID)
virtual void enter()
The cursor entered the object. 
A creature in a Dragon Age: Origins area. 
static const uint32 kARLID
void loadPlaceables(const Aurora::GFF3List &list)
Common::UString _environmentName
A waypoint in a Dragon Age: Origins area. 
Common::UString _startPoint
A room in a Dragon Age: Origins area. 
void loadEnvironment(const Common::UString &resRef)
Object * getFirstObject() const
Return the first object. 
Utility templates and functions for working with strings and streams. 
void addEvent(const Events::Event &event)
Add a single event for consideration into the area event queue. 
Exception that provides a stack of explanations. 
void show()
Show the object's model(s). 
Objects _objects
List of all objects in the area. 
void deindexResources(Common::ChangeID &changeID)
Remove previously added resources from the ResourceManager. 
Mouse button was pressed. 
Keyboard key was pressed. 
The context holding a Dragon Age: Origins area. 
std::vector< const GFF4Struct * > GFF4List
Handling version V4.0/V4.1 of BioWare's GFFs (generic file format). 
Basic exceptions to throw. 
void setActive(DragonAge::Object *object)
const char * c_str() const
Return the (utf8 encoded) string data. 
DragonAge::Object * _activeObject
The currently active (highlighted) object. 
Utility templates and functions. 
void processEventQueue()
Process the current event queue. 
Creature * getPC() const
Return the currently playing PC. 
The global events manager. 
void checkActive(int x=-1, int y=-1)
static const uint32 kVersion40
void removeFocus()
Forcibly remove the focus from the currently highlighted object. 
static const uint32 kAREID
static DragonAge::Object * toObject(::Aurora::NWScript::Object *object)
bool empty() const
Is the string empty? 
void loadWaypoints(const Aurora::GFF3List &list)
void addObject(DragonAge::Object &object)
Add an object to this container. 
virtual bool click(Object *triggerer=0)
The object was clicked. 
#define CursorMan
Shortcut for accessing the cursor manager. 
void getEntryLocation(float &posX, float &posY, float &posZ, float &orientX, float &orientY, float &orientZ, float &orientAngle) const
Return the position and orientation the PC should enter this area. 
std::vector< const GFF3Struct * > GFF3List
Convenience class that locks a mutex on creation and unlocks it on destruction. 
#define EventMan
Shortcut for accessing the events manager. 
The Aurora cursor manager. 
void loadARE(const Common::UString &resRef)
void readVarTable(const Aurora::GFF3List &varTable)
An object that can be displayed by the graphics manager. 
An object in a Dragon Age: Origins area. 
uint32 getID() const
Get the object's unique ID. 
std::list< Events::Event > _eventQueue
UString debugTag(uint32 tag, bool trim)
Create an elaborate string from an integer tag, for debugging purposes. 
void loadCreatures(const Aurora::GFF3List &list)
bool isStatic() const
Is the object static (not manipulable at all)? 
void readScript(const Aurora::GFF3Struct &gff)
Class to hold resource data of a RIM archive file. 
void load(const Common::UString &resRef, const Common::UString &env, const Common::UString &rim)
bool _highlightAll
Are we currently highlighting all objects? 
void highlightAll(bool enabled)
Keyboard key was released. 
Area(Campaign &campaign, const Common::UString &resRef, const Common::UString &env, const Common::UString &rim)
virtual void getPosition(float &x, float &y, float &z) const
Return the object's position within its area. 
An object that can be displayed by the graphics manager. 
Object * getFirstObjectByTag(const Common::UString &tag) const
Return the first object with this tag. 
Interface for a seekable & readable data stream. 
void enableEvents(bool enabled)
Enable/Disable the handling of all events. 
#define GfxMan
Shortcut for accessing the graphics manager. 
The global resource manager for Aurora resources. 
const Common::UString & getResRef() const
void removeObject(DragonAge::Object &object)
Remove an object from this container.