athena/include/Athena/SkywardSwordQuest.hpp

60 lines
1.3 KiB
C++
Raw Permalink Normal View History

#ifndef SKYWARDSWORDQUEST_HPP
2014-04-20 09:14:15 +00:00
#define SKYWARDSWORDQUEST_HPP
#include "Athena/Global.hpp"
#include "Athena/ZQuestFile.hpp"
2014-04-20 09:14:15 +00:00
namespace Athena
{
2014-04-20 09:14:15 +00:00
// TODO: Handle game specific data
class SkywardSwordQuest : public ZQuestFile
{
public:
enum AmmoType
{
Arrows,
Bombs,
Seeds
};
SkywardSwordQuest(std::unique_ptr<atUint8[]>&& data, atUint32 len);
2014-04-20 09:14:15 +00:00
void setPlayerName(const std::string& name);
std::string playerName() const;
void setRupeeCount(atUint16 value);
atUint16 rupeeCount();
void setAmmoCount(AmmoType type, atUint32 count);
atUint32 ammoCount(AmmoType type);
void setMaxHP(atUint16 val);
atUint16 maxHP();
float maxHearts();
void setSpawnHP(atUint16 val);
atUint16 spawnHP();
float spawnHearts();
void setCurrentHP(atUint16 val);
atUint16 currentHP();
float currentHearts();
std::string currentLocation();
std::string currentArea();
std::string currentLocationCopy();
void setSkipData(std::unique_ptr<atUint8[]>&& data);
atUint8* skipData() const;
2014-04-20 09:14:15 +00:00
atUint32 slotChecksum();
atUint32 skipChecksum();
void fixChecksums();
void setNew(bool isNew);
bool isNew() const;
private:
std::unique_ptr<atUint8[]> m_skipData;
};
2014-04-20 09:14:15 +00:00
} // Athena
2014-04-20 09:14:15 +00:00
#endif // SSQUEST_HPP