25 #ifndef ENGINES_WITCHER_MODULE_H 26 #define ENGINES_WITCHER_MODULE_H 97 void movePC(
float x,
float y,
float z);
101 void movePC(
Area *area,
float x,
float y,
float z);
211 float &x,
float &y,
float &z,
float &angle);
213 float &entryX,
float &entryY,
float &entryZ,
float &entryAngle);
215 float &entryX,
float &entryY,
float &entryZ,
float &entryAngle);
226 #endif // ENGINES_WITCHER_MODULE_H
void replaceModule()
Actually replace the currently running module.
A container of The Witcher objects.
void loadAreas()
Load the areas.
bool _exit
Should we exit the module?
std::multiset< Action > ActionQueue
An area in The Witcher, holding all objects and area geometry within, as well as general area propert...
Common::UString _entryLocation
The tag of the object in the start location for this module.
A map storing pointer to objects, with automatic deletion.
Common::ChangeID _resModule
Resources added by the module.
A class holding an UTF-8 string.
const Aurora::LocString & getDescription() const
Return the module's description.
An object within a Witcher area.
void addEvent(const Events::Event &event)
Add a single event for consideration into the event queue.
bool operator<(const Action &s) const
void enterArea()
Enter a new area.
Area * getCurrentArea()
Return the area the PC is currently in.
bool isLoaded() const
Is a module currently loaded and ready to run?
void unloadPC()
Unload the PC.
void loadModule(const Common::UString &module, const Common::UString &entryLocation)
Load the actual module.
void processEventQueue()
Process the current event queue.
bool _running
Are we currently running a module?
bool isRunning() const
Is a module currently running?
Aurora::IFOFile _ifo
The module's IFO.
Aurora::NWScript::ObjectReference triggerer
Common::UString _newArea
The new area to enter.
void unload()
Unload the whole shebang.
Loader for the module.ifo file.
Common::PtrMap< Common::UString, Area > AreaMap
Helper class to represent an undoable change.
An IFO (module information) file, describing global module properties in many Aurora games...
An object in a The Witcher area.
AreaMap _areas
The areas in the current module.
const Aurora::IFOFile & getIFO() const
Return the IFO of the currently loaded module.
void unloadAreas()
Unload the areas.
Aurora::NWScript::ObjectReference owner
bool getEntryObjectLocation(Common::UString &area, float &entryX, float &entryY, float &entryZ, float &entryAngle)
bool getObjectLocation(const Common::UString &object, Common::UString &area, float &x, float &y, float &z, float &angle)
Module(::Engines::Console &console)
Area * _currentArea
The current area.
void refreshLocalized()
Refresh all localized strings.
Aurora::NWScript::ScriptState state
void leave()
Leave the running module, quitting it.
void unloadModule()
Unload the module.
void getEntryIFOLocation(Common::UString &area, float &entryX, float &entryY, float &entryZ, float &entryAngle)
Common::UString _newModule
The module we should change to.
void movedPC()
Notify the module that the PC was moved.
virtual void enter()
The cursor entered the object.
void changeModule(const Common::UString &module, const Common::UString &entryLocation)
Schedule a change to a new module.
Reference to an NWScript object.
::Engines::Console * _console
bool _hasModule
Do we have a module?
ActionQueue _delayedActions
A class representing an undoable change.
const Aurora::LocString & getName() const
Return the module's name.
void load(const Common::UString &module, const Common::UString &entryLocation="")
Load a module.
std::list< Events::Event > EventQueue
void clear()
Clear the whole context.
void delayScript(const Common::UString &script, const Aurora::NWScript::ScriptState &state, Aurora::NWScript::Object *owner, Aurora::NWScript::Object *triggerer, uint32 delay)
void exit()
Exit the currently running module.
Creature * getPC()
Return the currently playing PC.
static Common::UString findModule(const Common::UString &module, bool relative)
Creature * _pc
The player character we use.
Common::UString _module
The current module's name.
void movePC(const Common::UString &area)
Move the player character to this area.