subfile.h 923 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef LOTRO_DAT_SUBFILE_H
  2. #define LOTRO_DAT_SUBFILE_H
  3. #include "binarydata.h"
  4. #include "subfiledata.h"
  5. #include <string>
  6. namespace LOTRO_DAT {
  7. enum FILE_TYPE {
  8. TEXT,
  9. JPG,
  10. DDS,
  11. WAV,
  12. OGG,
  13. FONT,
  14. UNKNOWN
  15. };
  16. FILE_TYPE FileTypeFromString(std::string ext);
  17. FILE_TYPE FileTypeFromFileContents(int file_id, const BinaryData& file_data);
  18. std::string StringFromFileType(FILE_TYPE type);
  19. BinaryData BuildForImport(const BinaryData& old_data, const SubfileData& outer_data);
  20. SubfileData BuildForExport(int file_id, const BinaryData& inner_data);
  21. namespace Subfiles {
  22. template<FILE_TYPE type>
  23. class Subfile {
  24. public:
  25. static BinaryData BuildForImport(const BinaryData& old_data, const SubfileData& outer_data);
  26. static SubfileData BuildForExport(const BinaryData& inner_data);
  27. };
  28. }; // namespace Subfiles
  29. }; // namespace LOTRO_DAT
  30. #endif // LOTRO_DAT_SUBFILE_H