2011-04-19 08:54:11 +00:00
|
|
|
#ifndef GAME_MMDIALOGUE_JOURNALENTRY_H
|
2011-04-26 18:08:37 +00:00
|
|
|
#define GAME_MMDIALOGUE_JOURNALENTRY_H
|
2011-04-19 08:54:11 +00:00
|
|
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
namespace ESMS
|
|
|
|
{
|
|
|
|
struct ESMStore;
|
|
|
|
}
|
|
|
|
|
2011-04-21 09:05:49 +00:00
|
|
|
namespace MWWorld
|
|
|
|
{
|
|
|
|
class World;
|
|
|
|
}
|
|
|
|
|
2011-04-19 08:54:11 +00:00
|
|
|
namespace MWDialogue
|
|
|
|
{
|
2011-04-22 09:16:39 +00:00
|
|
|
/// \brief A quest or dialogue entry
|
2011-04-19 08:54:11 +00:00
|
|
|
struct JournalEntry
|
|
|
|
{
|
|
|
|
std::string mTopic;
|
|
|
|
std::string mInfoId;
|
|
|
|
|
|
|
|
JournalEntry();
|
|
|
|
|
2011-04-22 09:16:39 +00:00
|
|
|
JournalEntry (const std::string& topic, const std::string& infoId);
|
2011-04-19 08:54:11 +00:00
|
|
|
|
|
|
|
std::string getText (const ESMS::ESMStore& store) const;
|
2011-04-21 09:05:49 +00:00
|
|
|
|
|
|
|
static JournalEntry makeFromQuest (const std::string& topic, int index,
|
|
|
|
const MWWorld::World& world);
|
2011-04-22 09:16:39 +00:00
|
|
|
|
|
|
|
static std::string idFromIndex (const std::string& topic, int index,
|
|
|
|
const MWWorld::World& world);
|
2011-04-19 08:54:11 +00:00
|
|
|
};
|
|
|
|
|
2011-04-22 09:16:39 +00:00
|
|
|
/// \biref A quest entry with a timestamp.
|
|
|
|
struct StampedJournalEntry : public JournalEntry
|
|
|
|
{
|
|
|
|
int mDay;
|
|
|
|
int mMonth;
|
|
|
|
int mDayOfMonth;
|
|
|
|
|
|
|
|
StampedJournalEntry();
|
|
|
|
|
|
|
|
StampedJournalEntry (const std::string& topic, const std::string& infoId,
|
|
|
|
int day, int month, int dayOfMonth);
|
|
|
|
|
|
|
|
static StampedJournalEntry makeFromQuest (const std::string& topic, int index,
|
|
|
|
const MWWorld::World& world);
|
|
|
|
};
|
2011-04-19 08:54:11 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|