FFL
Loading...
Searching...
No Matches
FFLiResourceHeader.h
Go to the documentation of this file.
1#ifndef FFLI_RESOURCE_HEADER_H_
2#define FFLI_RESOURCE_HEADER_H_
3
4#include <nn/ffl/FFLResourceType.h>
5#include <nn/ffl/FFLResult.h>
6
7#include <nn/ffl/FFLiShapePartsType.h>
8#include <nn/ffl/FFLiTexturePartsType.h>
9
10#include <nn/ffl/detail/FFLiResourceShape.h>
11#include <nn/ffl/detail/FFLiResourceTexture.h>
12
17
20
23
25
26// --------------------------------------------------------------------------
27
28#define FFLI_RESOURCE_HEADER_VERSION (0x00070000)
29
31{
32public:
33 FFLResult GetResult() const;
34
36 {
37 return m_UncompressBufferSize;
38 }
39
40 bool IsExpand() const
41 {
42 return m_IsExpand == TRUE;
43 }
44
46 {
47 return &m_TextureHeader;
48 }
49
51 {
52 return m_TextureHeader.partsMaxSize[partsType];
53 }
54
56 {
57 return &m_ShapeHeader;
58 }
59
61 {
62 return m_ShapeHeader.partsMaxSize[partsType];
63 }
64
65 void SwapEndian(); // Deleted in NSMBU
66
67private:
69 u32 m_Version; // I think? Always 0x00070000
71 u32 _c[4 / sizeof(u32)]; // Unused, but non-zero in files
72 BOOL m_IsExpand; // Must be 1 specifically to be true, not just non-zero
75 u32 _49d0[48 / sizeof(u32)]; // Unused AND zero in files
76};
77NN_STATIC_ASSERT(sizeof(BOOL) == 4);
80
86
87#endif // FFLI_RESOURCE_HEADER_H_
@ FFL_RESOURCE_TYPE_MAX
Definition FFLResourceType.h:14
NN_STATIC_ASSERT(sizeof(FFLiAllocator)==4)
FFLiResourcePartsInfo * FFLiGetShapeResoucePartsInfos(u32 *pNum, FFLiResourceShapeHeader *pHeader, FFLiShapePartsType partsType)
Definition FFLiResourceHeader.cpp:100
FFLiResourcePartsInfo * FFLiGetTextureResoucePartsInfos(u32 *pNum, FFLiResourceTextureHeader *pHeader, FFLiTexturePartsType partsType)
Definition FFLiResourceHeader.cpp:69
NN_STATIC_ASSERT_IS_POD(FFLiResourceHeader)
s32 FFLiResourceWindowBitsToZlibWindowBits(FFLiResourceWindowBits windowBits)
Definition FFLiResourceHeader.cpp:133
u32 FFLiGetTextureResourceNum(FFLiTexturePartsType partsType)
Definition FFLiResourceHeader.cpp:7
u32 FFLiGetShapeResourceNum(FFLiShapePartsType partsType)
Definition FFLiResourceHeader.cpp:37
FFLiResourceWindowBits
Definition FFLiResourcePartsInfo.h:16
FFLiShapePartsType
Definition FFLiShapePartsType.h:7
FFLiTexturePartsType
Definition FFLiTexturePartsType.h:7
Definition FFLiResourceHeader.h:31
u32 m_UncompressBufferSize
Definition FFLiResourceHeader.h:70
u32 GetTextureMaxSize(FFLiTexturePartsType partsType) const
Definition FFLiResourceHeader.h:50
FFLResult GetResult() const
Definition FFLiResourceHeader.cpp:175
u32 GetUncompressBufferSize() const
Definition FFLiResourceHeader.h:35
FFLiResourceShapeHeader m_ShapeHeader
Definition FFLiResourceHeader.h:74
FFLiResourceShapeHeader * GetShapeHeader()
Definition FFLiResourceHeader.h:55
u32 _49d0[48/sizeof(u32)]
Definition FFLiResourceHeader.h:75
BOOL m_IsExpand
Definition FFLiResourceHeader.h:72
u32 m_Magic
Definition FFLiResourceHeader.h:68
FFLiResourceTextureHeader m_TextureHeader
Definition FFLiResourceHeader.h:73
u32 m_Version
Definition FFLiResourceHeader.h:69
bool IsExpand() const
Definition FFLiResourceHeader.h:40
u32 _c[4/sizeof(u32)]
Definition FFLiResourceHeader.h:71
FFLiResourceTextureHeader * GetTextureHeader()
Definition FFLiResourceHeader.h:45
void SwapEndian()
Definition FFLiResourceHeader.cpp:206
u32 GetShapeMaxSize(FFLiShapePartsType partsType) const
Definition FFLiResourceHeader.h:60
Definition FFLiResourceHeader.h:82
FFLiResourceHeader header[FFL_RESOURCE_TYPE_MAX]
Definition FFLiResourceHeader.h:83
Definition FFLiResourcePartsInfo.h:66
Definition FFLiResourceShape.h:34
Definition FFLiResourceTexture.h:22