aurora/include/kabufuda/Directory.hpp
Phillip Stephens 1c1f1d9adc Finalize directory structure
Remove unrelated classes from Card.{cpp,hpp}
2025-04-19 19:53:15 -07:00

43 lines
913 B
C++

#ifndef __KABU_DIRECTORY_HPP__
#define __KABU_DIRECTORY_HPP__
#include "File.hpp"
namespace kabufuda
{
class Directory
{
friend class Card;
#pragma pack(push, 4)
union
{
struct
{
File m_files[MaxFiles];
uint8_t __padding[0x3a];
uint16_t m_updateCounter;
uint16_t m_checksum;
uint16_t m_checksumInv;
};
uint8_t __raw[BlockSize];
};
#pragma pack(pop)
void swapEndian();
void updateChecksum();
bool valid() const;
public:
Directory();
Directory(uint8_t data[BlockSize]);
Directory(const Directory& other);
void operator=(const Directory& other);
~Directory() {}
File* getFirstFreeFile(const char* game, const char* maker, const char* filename);
File* getFile(const char* game, const char* maker, const char* filename);
};
}
#endif // __KABU_DIRECTORY_HPP__