metaforce/DataSpec/DNACommon/STRG.hpp

30 lines
805 B
C++
Raw Normal View History

#ifndef __COMMON_STRG_HPP__
#define __COMMON_STRG_HPP__
#include <string>
2015-07-16 01:57:34 +00:00
#include <fstream>
2016-03-04 23:04:53 +00:00
#include <hecl/hecl.hpp>
#include <hecl/Database.hpp>
#include <athena/FileWriter.hpp>
#include "DNACommon.hpp"
2016-02-13 09:02:47 +00:00
namespace DataSpec
{
2015-08-09 03:55:11 +00:00
struct ISTRG : BigYAML
{
2015-07-16 01:57:34 +00:00
virtual ~ISTRG() {}
virtual size_t count() const=0;
virtual std::string getUTF8(const FourCC& lang, size_t idx) const=0;
2017-01-24 07:41:33 +00:00
virtual std::u16string getUTF16(const FourCC& lang, size_t idx) const=0;
2016-03-04 23:04:53 +00:00
virtual hecl::SystemString getSystemString(const FourCC& lang, size_t idx) const=0;
2017-11-13 06:19:18 +00:00
virtual int32_t lookupIdx(std::string_view name) const=0;
2016-10-02 22:41:36 +00:00
2017-01-31 11:21:45 +00:00
virtual void gatherDependencies(std::vector<hecl::ProjectPath>& pathsOut) const;
};
2016-03-04 23:04:53 +00:00
std::unique_ptr<ISTRG> LoadSTRG(athena::io::IStreamReader& reader);
2015-07-16 01:57:34 +00:00
}
#endif // __COMMON_STRG_HPP__