mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-05-14 18:25:49 +00:00
46 lines
954 B
C
46 lines
954 B
C
![]() |
#pragma once
|
||
|
|
||
|
#include "xdbf.h"
|
||
|
|
||
|
struct Achievement
|
||
|
{
|
||
|
uint16_t ID;
|
||
|
std::string Name;
|
||
|
std::string UnlockedDesc;
|
||
|
std::string LockedDesc;
|
||
|
const uint8_t* pImageBuffer;
|
||
|
size_t ImageBufferSize;
|
||
|
uint16_t Score;
|
||
|
};
|
||
|
|
||
|
struct XDBFBlock
|
||
|
{
|
||
|
const uint8_t* pBuffer;
|
||
|
size_t BufferSize;
|
||
|
|
||
|
operator bool() const
|
||
|
{
|
||
|
return pBuffer;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
class XDBFWrapper
|
||
|
{
|
||
|
public:
|
||
|
const uint8_t* pBuffer;
|
||
|
size_t BufferSize;
|
||
|
|
||
|
const uint8_t* pContent;
|
||
|
|
||
|
const XDBFHeader* pHeader;
|
||
|
const XDBFEntry* pEntries;
|
||
|
const XDBFFreeSpaceEntry* pFiles;
|
||
|
|
||
|
XDBFWrapper() {}
|
||
|
XDBFWrapper(const uint8_t* pBuffer, size_t bufferSize);
|
||
|
XDBFBlock GetResource(EXDBFNamespace ns, uint64_t id) const;
|
||
|
std::string GetString(EXDBFLanguage language, uint16_t id) const;
|
||
|
std::vector<Achievement> GetAchievements(EXDBFLanguage language) const;
|
||
|
Achievement GetAchievement(EXDBFLanguage language, uint16_t id) const;
|
||
|
};
|