Athena IO Library
SkywardSwordFile.hpp
1 #ifndef SSFILE_HPP
2 #define SSFILE_HPP
3 
4 #include "athena/Global.hpp"
5 
6 // standard lib
7 #include <vector>
8 
9 namespace athena
10 {
11 class SkywardSwordQuest;
12 
13 enum class Region
14 {
15  NTSC,
16  NTSCJ,
17  PAL
18 };
19 
21 {
22 public:
23  enum MagicNumbers
24  {
25  USMagic = 0x534F5545,
26  JAMagic = 0x534F554A,
27  EUMagic = 0x534F5550
28  };
29 
31  SkywardSwordFile(std::vector<SkywardSwordQuest*> quests);
33 
34  void addQuest(SkywardSwordQuest* q);
35  SkywardSwordQuest* quest(atUint32 id);
36  std::vector<SkywardSwordQuest*> questList() const;
37 
38  void setRegion(Region region);
39  Region region() const;
40 
41 private:
42  Region m_region;
43  // A vector is a bit overkill
44  std::vector<SkywardSwordQuest*> m_quests;
45  atUint32 m_numQuests;
46 };
47 
48 }
49 #endif // SSFILE_HPP