mirror of
				https://github.com/hedge-dev/XenonRecomp.git
				synced 2025-10-30 07:11:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			972 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			972 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <vector>
 | |
| #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;
 | |
| };
 | 
