25 #ifndef ENGINES_DRAGONAGE2_CAMPAIGN_H 26 #define ENGINES_DRAGONAGE2_CAMPAIGN_H 48 namespace DragonAge2 {
75 const std::vector<Common::UString> &
getAreas()
const;
94 void movePC(
float x,
float y,
float z);
117 typedef std::map<Common::UString, const RIMNode *>
AreaMap;
223 #endif // ENGINES_DRAGONAGE2_CAMPAIGN_H
Generic Aurora engines resource utility functions.
const Common::UString & getExtendsUID() const
Return the UID of the campaign this campaign/content extends, if any.
void leave()
Leave the campaign, ending it.
void readCIFStatic(const Common::UString &path)
Common::PtrVector< const RIMNode > Children
A container of Dragon Age II objects.
A class holding an UTF-8 string.
virtual void enter()
The cursor entered the object.
Common::UString _entryClientScript
Creature * getPC() const
Return the currently playing PC.
const Aurora::LocString & getDescription() const
bool isEnabled() const
Is this Campaign enabled?
Creature * _pc
The player character we use.
An area in Dragon Age II, holding all objects and rooms within, as well as general area properties li...
void read(const Common::UString &cifPath, const Common::UString &manifestPath)
float _entryOrientation[3]
Common::UString environment
Directory in which to find environment resources.
bool isLoaded() const
Is this campaign currently loaded?
bool isBioWare() const
Is this an original campaign by BioWare?
An object in a Dragon Age II area.
Common::ScopedPtr< Area > _currentArea
The current area.
std::list< Events::Event > EventQueue
A simple scoped smart pointer template.
std::list< Common::ChangeID > ChangeList
std::vector< Common::UString > _packages
const Common::UString & getAreaRIM(const Common::UString &area) const
Return the RIM file containing this area.
Area * getCurrentArea() const
Return the area the PC is currently in.
Aurora::LocString _description
Common::ScopedPtr< RIMNode > _rimRoot
void enterArea(bool startArea=false)
static void destroy(T *x)
A vector storing pointer to objects, with automatic deletion.
Common::UString _addinBase
A scoped plain pointer, allowing pointer-y access and normal deletion.
Common::UString _newArea
The new area to enter.
Handling BioWare's localized strings.
Common::UString _entryScript
Campaign(Game &game, const Common::UString &cifPath="", const Common::UString &manifestPath="", const Common::UString &addinBase="")
std::vector< Common::UString > _areas
RIMNode(const RIMNode *p=0)
Basic type definitions to handle files used in BioWare's Aurora engine.
Common::UString area
ResRef of the area this node describes, if any.
const std::vector< Common::UString > & getAreas() const
void movePC(const Common::UString &area)
Move the player character to this area.
void unload()
Unload the campaign after playing.
Common::UString rim
The module RIM file.
void load()
Load the campaign for playing.
void readCIFDynamic(const Common::UString &path)
RIMNode * readRIMs(const Aurora::GFF4Struct &node, const RIMNode *parent=0)
std::map< Common::UString, const RIMNode * > AreaMap
Map of area RIMNodes indexed by the area resref.
bool needsAuth() const
Does this campaign need authorization from BioWare?
void addAreaName(const RIMNode &node)
Common::UString tag
Name of the node itself, not unique.
const Common::UString & getUID() const
Return the unique ID of this campaign.
const Aurora::LocString & getName() const
void processEventQueue()
Process the current event queue.
Common::UString _entryAreaList
Common::UString rimFXE
The RIM file containing facial animations (FXE).
void readManifest(const Common::UString &path)
void addEvent(const Events::Event &event)
Add a single event for consideration into the area event queue.
Common::UString _entryArea