athena/include/Athena/SkywardSwordFile.hpp

50 lines
838 B
C++

#ifndef SSFILE_HPP
#define SSFILE_HPP
#include "Athena/Global.hpp"
// standard lib
#include <vector>
namespace Athena
{
class SkywardSwordQuest;
enum class Region
{
NTSC,
NTSCJ,
PAL
};
class SkywardSwordFile
{
public:
enum MagicNumbers
{
USMagic = 0x534F5545,
JAMagic = 0x534F554A,
EUMagic = 0x534F5550
};
SkywardSwordFile();
SkywardSwordFile(std::vector<SkywardSwordQuest*> quests);
~SkywardSwordFile();
void addQuest(SkywardSwordQuest* q);
SkywardSwordQuest* quest(atUint32 id);
std::vector<SkywardSwordQuest*> questList() const;
void setRegion(Region region);
Region region() const;
private:
Region m_region;
// A vector is a bit overkill
std::vector<SkywardSwordQuest*> m_quests;
atUint32 m_numQuests;
};
}
#endif // SSFILE_HPP