FFL
Loading...
Searching...
No Matches
FFLiResourceManager.h
Go to the documentation of this file.
1#ifndef FFLI_RESOURCE_MANAGER_H_
2#define FFLI_RESOURCE_MANAGER_H_
3
4#include <nn/ffl/FFLResult.h>
5
6#include <nn/ffl/FFLiShapePartsType.h>
7#include <nn/ffl/FFLiTexturePartsType.h>
8
9#include <nn/ffl/detail/FFLiResourceCache.h>
10
11class FFLiFsClient;
12class FFLiFsCommand;
16
18{
19public:
22
23 static const char* GetRelativeResourcePath(FFLResourceType resourceType, bool LG);
24 static FFLResult GetResourcePath(char* pDst, u32 size, FFLResourceType resourceType, bool LG);
25
26 FFLResult AfterConstruct();
27
28 FFLResult LoadResourceHeader(FFLiFsCommandBuffer* pCommandBuffer);
29 FFLResult LoadResourceHeaderImpl(FFLiFsCommand* pCommand);
30
31 FFLResult AttachCache(const void* pData, u32 size, FFLResourceType resourceType);
32 bool IsCached() const;
33
34 FFLiResourceHeader* Header(FFLResourceType resourceType) const;
35 FFLiResourceHeader* HeaderFromCache(FFLResourceType resourceType) const;
36 FFLiResourceHeader* HeaderFromFile(FFLResourceType resourceType) const;
37
38 u32 GetTextureAlignedMaxSize(FFLResourceType resourceType, FFLiTexturePartsType partsType) const;
39 u32 GetShapeAlignedMaxSize(FFLResourceType resourceType, FFLiShapePartsType partsType) const;
40
41 bool IsValid(FFLResourceType resourceType) const;
42 bool IsExpand(FFLResourceType resourceType) const;
43
44 u32 GetUncompressBufferSize(FFLResourceType resourceType) const;
45
47 {
48 return m_pFsClient;
49 }
50
52 {
53 return m_ResourceCache;
54 }
55
57 {
58 return m_ResourceCache;
59 }
60
61 const char* GetPath(FFLResourceType resourceType) const;
62
63private:
68};
70
71#endif // FFLI_RESOURCE_MANAGER_H_
NN_STATIC_ASSERT(sizeof(FFLiAllocator)==4)
FFLiShapePartsType
Definition FFLiShapePartsType.h:7
FFLiTexturePartsType
Definition FFLiTexturePartsType.h:7
Definition FFLiFsClient.h:9
Definition FFLiFsCommand.h:23
Definition FFLiResourceCache.h:10
Definition FFLiResourceHeader.h:31
Definition FFLiResourceManager.h:18
FFLiFsClient * GetClient() const
Definition FFLiResourceManager.h:46
FFLResult AttachCache(const void *pData, u32 size, FFLResourceType resourceType)
Definition FFLiResourceManager.cpp:96
FFLResult AfterConstruct()
Definition FFLiResourceManager.cpp:49
u32 GetShapeAlignedMaxSize(FFLResourceType resourceType, FFLiShapePartsType partsType) const
Definition FFLiResourceManager.cpp:130
bool IsValid(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:135
bool IsCached() const
Definition FFLiResourceManager.cpp:101
FFLiResourceCache & GetResourceCache()
Definition FFLiResourceManager.h:51
const char * GetPath(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:156
FFLiResourceMultiHeader * m_pResourceMultiHeader
Definition FFLiResourceManager.h:64
FFLiResourceCache m_ResourceCache
Definition FFLiResourceManager.h:66
FFLiResourceManager(FFLiResourceMultiHeader *pHeader, FFLiFsClient *pClient)
Definition FFLiResourceManager.cpp:26
static FFLResult GetResourcePath(char *pDst, u32 size, FFLResourceType resourceType, bool LG)
Definition FFLiResourceManager.cpp:43
FFLiResourceHeader * HeaderFromFile(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:120
bool IsExpand(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:143
FFLResult LoadResourceHeader(FFLiFsCommandBuffer *pCommandBuffer)
Definition FFLiResourceManager.cpp:60
~FFLiResourceManager()
Definition FFLiResourceManager.cpp:34
const FFLiResourceCache & GetResourceCache() const
Definition FFLiResourceManager.h:56
FFLiResourceHeader * HeaderFromCache(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:115
FFLResult LoadResourceHeaderImpl(FFLiFsCommand *pCommand)
Definition FFLiResourceManager.cpp:68
FFLiFsClient * m_pFsClient
Definition FFLiResourceManager.h:65
u32 GetUncompressBufferSize(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:151
u32 GetTextureAlignedMaxSize(FFLResourceType resourceType, FFLiTexturePartsType partsType) const
Definition FFLiResourceManager.cpp:125
char m_Path[FFL_RESOURCE_TYPE_MAX][FFL_PATH_MAX_LEN]
Definition FFLiResourceManager.h:67
FFLiResourceHeader * Header(FFLResourceType resourceType) const
Definition FFLiResourceManager.cpp:106
static const char * GetRelativeResourcePath(FFLResourceType resourceType, bool LG)
Definition FFLiResourceManager.cpp:38
Definition FFLiFsCommand.h:11
Definition FFLiResourceHeader.h:82
@ FFL_PATH_MAX_LEN
Definition types.h:13