//CFTTTextureAtlas - [2020-04-13 11:57:46]
#ifndef _CFTTTEXTUREATLAS_H_
#define _CFTTTEXTUREATLAS_H_

#include "CFTTTexLoadOptions.h"
#include "CFTTTexture.h"
#include "CFTT2D_TextureUV.h"

/*
00229234 CFTTTextureAtlas::CFTTTextureAtlas()
00229254 CFTTTextureAtlas::~CFTTTextureAtlas()
0022928C CFTTTextureAtlas::LoadFromFile(char const*,CFTTTexLoadOptions const&,bool)
00229510 CFTTTextureAtlas::GetDirectoryFromFilename(char *,uint,char const*)
00229552 CFTTTextureAtlas::HashOrderingQSort_CB(void const*,void const*)
00229566 CFTTTextureAtlas::GetTileHandle(char const*)
0022956C CFTTTextureAtlas::GetTilePosition(char const*)

0x30
*/

//0x20
struct AtlasNode {
  int field_0;
  ushort field_4;
  ushort field_6;
  CFTT2D_TextureUV TextureUV_8;
  int field_18;
  int field_1C;
};

class CFTTTextureAtlas {
public:
  CFTTTextureAtlas();   //00229234
  ~CFTTTextureAtlas();  //00229254
  int LoadFromFile(char const *file_atlas,
                   CFTTTexLoadOptions const &pOption,
                   bool b);                                                         //0022928C
  static int GetDirectoryFromFilename(char *pDir, uint a2, char const *pFilePath);  //00229510
  static int HashOrderingQSort_CB(void const *, void const *);                      //00229552
  int GetTileHandle(char const *);                                                  //00229566
  int GetTilePosition(char const *);                                                //0022956C

  AtlasNode tAtlasNode_0;
  short dCount_20;
  CFTTTexture **list_24;
  ushort dCount_28;
  AtlasNode *list_AtlasNode_2C;
};

#endif  //_CFTTTEXTUREATLAS_H_