| xoreos
    0.0.5
    | 
#include <dlgfile.h>


| Classes | |
| struct | Entry | 
| A dialog entry.  More... | |
| struct | Line | 
| struct | Link | 
| A link to a reply.  More... | |
| Public Member Functions | |
| DLGFile (Common::SeekableReadStream *dlg, NWScript::Object *owner=0, bool repairNWNPremium=false) | |
| Take over this stream and read a DLG file out of it.  More... | |
| DLGFile (const Common::UString &dlg, NWScript::Object *owner=0, bool repairNWNPremium=false) | |
| Request this resource from the ResourceManager and read a DLG file out of it.  More... | |
| ~DLGFile () | |
| bool | getNoZoomIn () const | 
| Does starting the conversation zoom in the camera onto the speaker or not?  More... | |
| uint32 | getDelayEntry () const | 
| Return the number of seconds to wait before showing each entry.  More... | |
| uint32 | getDelayReply () const | 
| Return the number of seconds to wait before showing each reply.  More... | |
| bool | hasEnded () const | 
| void | startConversation () | 
| void | abortConversation () | 
| void | pickReply (uint32 id) | 
| const Line * | getCurrentEntry () const | 
| const std::vector< const Line * > & | getCurrentReplies () const | 
| const Line * | getOneLiner () const | 
| Return the first active non-branching entry.  More... | |
| Static Public Attributes | |
| static const uint32 | kEndLine = 0xFFFFFFFE | 
| static const uint32 | kInvalidLine = 0xFFFFFFFF | 
| Private Member Functions | |
| void | load (const GFF3Struct &dlg) | 
| void | readEntries (const GFF3List &list, std::vector< Entry > &entries, bool isPC) | 
| void | readLinks (const GFF3List &list, std::vector< Link > &links) | 
| void | readEntry (const GFF3Struct &gff, Entry &entry) | 
| void | readLink (const GFF3Struct &gff, Link &link) | 
| bool | evaluateEntries (const std::vector< Link > &entries, std::vector< Entry >::iterator &active) | 
| bool | evaluateReplies (const std::vector< Link > &entries, std::vector< const Line *> &active) | 
| bool | runScript (const Common::UString &script) const | 
| Private Attributes | |
| NWScript::Object * | _owner | 
| uint32 | _delayEntry | 
| Number of seconds to wait before showing each entry.  More... | |
| uint32 | _delayReply | 
| Number of seconds to wait before showing each reply.  More... | |
| Common::UString | _convAbort | 
| Script to run when the conversation was aborted.  More... | |
| Common::UString | _convEnd | 
| Script to run when the conversation ended normally.  More... | |
| bool | _noZoomIn | 
| Starting the conversation does not zoom the camera onto the speaker.  More... | |
| std::vector< Entry > | _entriesNPC | 
| NPC dialog lines ("entries").  More... | |
| std::vector< Entry > | _entriesPC | 
| PC dialog lines ("replies").  More... | |
| std::vector< Link > | _entriesStart | 
| NPC starting lines (greetings).  More... | |
| std::vector< Entry >::iterator | _currentEntry | 
| The current entry.  More... | |
| std::vector< const Line * > | _currentReplies | 
| The current replies.  More... | |
| bool | _ended | 
| Has the conversation ended?  More... | |
| Aurora::DLGFile::DLGFile | ( | Common::SeekableReadStream * | dlg, | 
| NWScript::Object * | owner = 0, | ||
| bool | repairNWNPremium = false | ||
| ) | 
Take over this stream and read a DLG file out of it.
Definition at line 45 of file dlgfile.cpp.
References _currentEntry, _entriesNPC, Aurora::GFF3File::getTopLevel(), kDLGID, and load().

| Aurora::DLGFile::DLGFile | ( | const Common::UString & | dlg, | 
| NWScript::Object * | owner = 0, | ||
| bool | repairNWNPremium = false | ||
| ) | 
Request this resource from the ResourceManager and read a DLG file out of it.
Definition at line 57 of file dlgfile.cpp.
References Aurora::GFF3File::getTopLevel(), kDLGID, Aurora::kFileTypeDLG, and load().

| Aurora::DLGFile::~DLGFile | ( | ) | 
Definition at line 65 of file dlgfile.cpp.
References abortConversation().

| void Aurora::DLGFile::abortConversation | ( | ) | 
Definition at line 100 of file dlgfile.cpp.
References _convAbort, _currentEntry, _currentReplies, _ended, _entriesNPC, and runScript().
Referenced by startConversation(), and ~DLGFile().


| 
 | private | 
Definition at line 257 of file dlgfile.cpp.
References _entriesNPC, and runScript().
Referenced by pickReply(), and startConversation().


| 
 | private | 
Definition at line 275 of file dlgfile.cpp.
References _entriesPC, and runScript().
Referenced by pickReply(), and startConversation().


| const DLGFile::Line * Aurora::DLGFile::getCurrentEntry | ( | ) | const | 
Definition at line 140 of file dlgfile.cpp.
References _currentEntry, and _entriesNPC.
| const std::vector< const DLGFile::Line * > & Aurora::DLGFile::getCurrentReplies | ( | ) | const | 
Definition at line 147 of file dlgfile.cpp.
References _currentReplies.
| uint32 Aurora::DLGFile::getDelayEntry | ( | ) | const | 
Return the number of seconds to wait before showing each entry.
Definition at line 73 of file dlgfile.cpp.
References _delayEntry.
| uint32 Aurora::DLGFile::getDelayReply | ( | ) | const | 
Return the number of seconds to wait before showing each reply.
Definition at line 77 of file dlgfile.cpp.
References _delayReply.
| bool Aurora::DLGFile::getNoZoomIn | ( | ) | const | 
Does starting the conversation zoom in the camera onto the speaker or not?
Definition at line 69 of file dlgfile.cpp.
References _noZoomIn.
| const DLGFile::Line * Aurora::DLGFile::getOneLiner | ( | ) | const | 
Return the first active non-branching entry.
Definition at line 151 of file dlgfile.cpp.
References _entriesNPC, _entriesStart, and runScript().
Referenced by Engines::Witcher::Object::speakOneLiner(), Engines::NWN2::Object::speakOneLiner(), and Engines::NWN::Object::speakOneLiner().


| bool Aurora::DLGFile::hasEnded | ( | ) | const | 
Definition at line 81 of file dlgfile.cpp.
References _ended.
| 
 | private | 
Definition at line 165 of file dlgfile.cpp.
References _convAbort, _convEnd, _delayEntry, _delayReply, _entriesNPC, _entriesPC, _entriesStart, _noZoomIn, Aurora::GFF3Struct::getBool(), Aurora::GFF3Struct::getList(), Aurora::GFF3Struct::getString(), Aurora::GFF3Struct::getUint(), readEntries(), and readLinks().
Referenced by DLGFile().


| void Aurora::DLGFile::pickReply | ( | uint32 | id | ) | 
Definition at line 112 of file dlgfile.cpp.
References _convEnd, _currentEntry, _currentReplies, _ended, _entriesNPC, _entriesPC, evaluateEntries(), evaluateReplies(), kEndLine, kInvalidLine, and runScript().

| 
 | private | 
Definition at line 198 of file dlgfile.cpp.
References Aurora::DLGFile::Line::id, Aurora::DLGFile::Entry::isPC, Aurora::DLGFile::Entry::line, and readEntry().
Referenced by load().


| 
 | private | 
Definition at line 220 of file dlgfile.cpp.
References Aurora::DLGFile::Line::animation, Aurora::GFF3Struct::getList(), Aurora::GFF3Struct::getLocString(), Aurora::GFF3Struct::getString(), Aurora::GFF3Struct::getUint(), Aurora::GFF3Struct::hasField(), Aurora::DLGFile::Line::isEnd, Aurora::DLGFile::Entry::line, Aurora::DLGFile::Line::quest, Aurora::DLGFile::Line::questEntry, readLinks(), Aurora::DLGFile::Entry::replies, Aurora::DLGFile::Entry::script, Aurora::DLGFile::Line::sound, Aurora::DLGFile::Line::speaker, Aurora::DLGFile::Line::text, and Aurora::DLGFile::Line::voice.
Referenced by readEntries().


| 
 | private | 
Definition at line 252 of file dlgfile.cpp.
References Aurora::DLGFile::Link::active, Aurora::GFF3Struct::getString(), Aurora::GFF3Struct::getUint(), and Aurora::DLGFile::Link::index.
Referenced by readLinks().


Definition at line 212 of file dlgfile.cpp.
References readLink().
Referenced by load(), and readEntry().


| 
 | private | 
Definition at line 293 of file dlgfile.cpp.
References _owner, Common::UString::c_str(), Common::UString::empty(), Common::exceptionDispatcherWarning(), Aurora::NWScript::Variable::getFloat(), Aurora::NWScript::Variable::getInt(), Aurora::NWScript::Variable::getType(), Aurora::NWScript::kTypeFloat, Aurora::NWScript::kTypeInt, and Aurora::NWScript::NCSFile::run().
Referenced by abortConversation(), evaluateEntries(), evaluateReplies(), getOneLiner(), pickReply(), and startConversation().


| void Aurora::DLGFile::startConversation | ( | ) | 
Definition at line 85 of file dlgfile.cpp.
References _currentEntry, _currentReplies, _ended, _entriesNPC, _entriesStart, abortConversation(), evaluateEntries(), evaluateReplies(), and runScript().

| 
 | private | 
Script to run when the conversation was aborted.
Definition at line 136 of file dlgfile.h.
Referenced by abortConversation(), and load().
| 
 | private | 
Script to run when the conversation ended normally.
Definition at line 137 of file dlgfile.h.
Referenced by load(), and pickReply().
| 
 | private | 
The current entry.
Definition at line 146 of file dlgfile.h.
Referenced by abortConversation(), DLGFile(), getCurrentEntry(), pickReply(), and startConversation().
| 
 | private | 
The current replies.
Definition at line 147 of file dlgfile.h.
Referenced by abortConversation(), getCurrentReplies(), pickReply(), and startConversation().
| 
 | private | 
Number of seconds to wait before showing each entry.
Definition at line 133 of file dlgfile.h.
Referenced by getDelayEntry(), and load().
| 
 | private | 
Number of seconds to wait before showing each reply.
Definition at line 134 of file dlgfile.h.
Referenced by getDelayReply(), and load().
| 
 | private | 
Has the conversation ended?
Definition at line 149 of file dlgfile.h.
Referenced by abortConversation(), hasEnded(), pickReply(), and startConversation().
| 
 | private | 
NPC dialog lines ("entries").
Definition at line 141 of file dlgfile.h.
Referenced by abortConversation(), DLGFile(), evaluateEntries(), getCurrentEntry(), getOneLiner(), load(), pickReply(), and startConversation().
| 
 | private | 
PC dialog lines ("replies").
Definition at line 142 of file dlgfile.h.
Referenced by evaluateReplies(), load(), and pickReply().
| 
 | private | 
NPC starting lines (greetings).
Definition at line 144 of file dlgfile.h.
Referenced by getOneLiner(), load(), and startConversation().
| 
 | private | 
Starting the conversation does not zoom the camera onto the speaker.
Definition at line 139 of file dlgfile.h.
Referenced by getNoZoomIn(), and load().
| 
 | private | 
Definition at line 131 of file dlgfile.h.
Referenced by runScript().
| 
 | static | 
Definition at line 64 of file dlgfile.h.
Referenced by pickReply(), and Engines::NWN::Dialog::updateBox().
| 
 | static | 
Definition at line 65 of file dlgfile.h.
Referenced by Engines::NWN::Dialog::checkPicked(), Engines::NWN::DialogBox::getPickedID(), and pickReply().
 1.8.14
 1.8.14