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
13
struct
FFLiResourcePartsInfo
;
14
struct
FFLiResourceShapeHeader
;
15
struct
FFLiResourceTextureHeader
;
16
enum
FFLiResourceWindowBits
;
17
18
u32
FFLiGetTextureResourceNum
(
FFLiTexturePartsType
partsType);
19
u32
FFLiGetShapeResourceNum
(
FFLiShapePartsType
partsType);
20
21
FFLiResourcePartsInfo
*
FFLiGetTextureResoucePartsInfos
(u32* pNum,
FFLiResourceTextureHeader
* pHeader,
FFLiTexturePartsType
partsType);
22
FFLiResourcePartsInfo
*
FFLiGetShapeResoucePartsInfos
(u32* pNum,
FFLiResourceShapeHeader
* pHeader,
FFLiShapePartsType
partsType);
23
24
s32
FFLiResourceWindowBitsToZlibWindowBits
(
FFLiResourceWindowBits
windowBits);
25
26
// --------------------------------------------------------------------------
27
28
#
define
FFLI_RESOURCE_HEADER_VERSION
(
0x00070000
)
29
30
class
FFLiResourceHeader
31
{
32
public
:
33
FFLResult
GetResult
()
const
;
34
35
u32
GetUncompressBufferSize
()
const
36
{
37
return
m_UncompressBufferSize;
38
}
39
40
bool
IsExpand
()
const
41
{
42
return
m_IsExpand == TRUE;
43
}
44
45
FFLiResourceTextureHeader
*
GetTextureHeader
()
46
{
47
return
&m_TextureHeader;
48
}
49
50
u32
GetTextureMaxSize
(
FFLiTexturePartsType
partsType)
const
51
{
52
return
m_TextureHeader.partsMaxSize[partsType];
53
}
54
55
FFLiResourceShapeHeader
*
GetShapeHeader
()
56
{
57
return
&m_ShapeHeader;
58
}
59
60
u32
GetShapeMaxSize
(
FFLiShapePartsType
partsType)
const
61
{
62
return
m_ShapeHeader.partsMaxSize[partsType];
63
}
64
65
void
SwapEndian
();
// Deleted in NSMBU
66
67
private
:
68
u32
m_Magic
;
69
u32
m_Version
;
// I think? Always 0x00070000
70
u32
m_UncompressBufferSize
;
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
73
FFLiResourceTextureHeader
m_TextureHeader
;
74
FFLiResourceShapeHeader
m_ShapeHeader
;
75
u32
_49d0
[48 /
sizeof
(
u32
)];
// Unused AND zero in files
76
};
77
NN_STATIC_ASSERT
(
sizeof
(BOOL) == 4);
78
NN_STATIC_ASSERT_IS_POD
(
FFLiResourceHeader
);
79
NN_STATIC_ASSERT
(
sizeof
(
FFLiResourceHeader
) == 0x4A00);
80
81
struct
FFLiResourceMultiHeader
82
{
83
FFLiResourceHeader
header
[
FFL_RESOURCE_TYPE_MAX
];
84
};
85
NN_STATIC_ASSERT
(
sizeof
(
FFLiResourceMultiHeader
) == 0x9400);
86
87
#
endif
// FFLI_RESOURCE_HEADER_H_
FFL_RESOURCE_TYPE_MAX
@ FFL_RESOURCE_TYPE_MAX
Definition
FFLResourceType.h:14
NN_STATIC_ASSERT
NN_STATIC_ASSERT(sizeof(FFLiAllocator)==4)
FFLiGetShapeResoucePartsInfos
FFLiResourcePartsInfo * FFLiGetShapeResoucePartsInfos(u32 *pNum, FFLiResourceShapeHeader *pHeader, FFLiShapePartsType partsType)
Definition
FFLiResourceHeader.cpp:100
FFLiGetTextureResoucePartsInfos
FFLiResourcePartsInfo * FFLiGetTextureResoucePartsInfos(u32 *pNum, FFLiResourceTextureHeader *pHeader, FFLiTexturePartsType partsType)
Definition
FFLiResourceHeader.cpp:69
NN_STATIC_ASSERT_IS_POD
NN_STATIC_ASSERT_IS_POD(FFLiResourceHeader)
FFLiResourceWindowBitsToZlibWindowBits
s32 FFLiResourceWindowBitsToZlibWindowBits(FFLiResourceWindowBits windowBits)
Definition
FFLiResourceHeader.cpp:133
FFLiGetTextureResourceNum
u32 FFLiGetTextureResourceNum(FFLiTexturePartsType partsType)
Definition
FFLiResourceHeader.cpp:7
FFLiGetShapeResourceNum
u32 FFLiGetShapeResourceNum(FFLiShapePartsType partsType)
Definition
FFLiResourceHeader.cpp:37
FFLiResourceWindowBits
FFLiResourceWindowBits
Definition
FFLiResourcePartsInfo.h:16
FFLiShapePartsType
FFLiShapePartsType
Definition
FFLiShapePartsType.h:7
FFLiTexturePartsType
FFLiTexturePartsType
Definition
FFLiTexturePartsType.h:7
FFLiResourceHeader
Definition
FFLiResourceHeader.h:31
FFLiResourceHeader::m_UncompressBufferSize
u32 m_UncompressBufferSize
Definition
FFLiResourceHeader.h:70
FFLiResourceHeader::GetTextureMaxSize
u32 GetTextureMaxSize(FFLiTexturePartsType partsType) const
Definition
FFLiResourceHeader.h:50
FFLiResourceHeader::GetResult
FFLResult GetResult() const
Definition
FFLiResourceHeader.cpp:175
FFLiResourceHeader::GetUncompressBufferSize
u32 GetUncompressBufferSize() const
Definition
FFLiResourceHeader.h:35
FFLiResourceHeader::m_ShapeHeader
FFLiResourceShapeHeader m_ShapeHeader
Definition
FFLiResourceHeader.h:74
FFLiResourceHeader::GetShapeHeader
FFLiResourceShapeHeader * GetShapeHeader()
Definition
FFLiResourceHeader.h:55
FFLiResourceHeader::_49d0
u32 _49d0[48/sizeof(u32)]
Definition
FFLiResourceHeader.h:75
FFLiResourceHeader::m_IsExpand
BOOL m_IsExpand
Definition
FFLiResourceHeader.h:72
FFLiResourceHeader::m_Magic
u32 m_Magic
Definition
FFLiResourceHeader.h:68
FFLiResourceHeader::m_TextureHeader
FFLiResourceTextureHeader m_TextureHeader
Definition
FFLiResourceHeader.h:73
FFLiResourceHeader::m_Version
u32 m_Version
Definition
FFLiResourceHeader.h:69
FFLiResourceHeader::IsExpand
bool IsExpand() const
Definition
FFLiResourceHeader.h:40
FFLiResourceHeader::_c
u32 _c[4/sizeof(u32)]
Definition
FFLiResourceHeader.h:71
FFLiResourceHeader::GetTextureHeader
FFLiResourceTextureHeader * GetTextureHeader()
Definition
FFLiResourceHeader.h:45
FFLiResourceHeader::SwapEndian
void SwapEndian()
Definition
FFLiResourceHeader.cpp:206
FFLiResourceHeader::GetShapeMaxSize
u32 GetShapeMaxSize(FFLiShapePartsType partsType) const
Definition
FFLiResourceHeader.h:60
FFLiResourceMultiHeader
Definition
FFLiResourceHeader.h:82
FFLiResourceMultiHeader::header
FFLiResourceHeader header[FFL_RESOURCE_TYPE_MAX]
Definition
FFLiResourceHeader.h:83
FFLiResourcePartsInfo
Definition
FFLiResourcePartsInfo.h:66
FFLiResourceShapeHeader
Definition
FFLiResourceShape.h:34
FFLiResourceTextureHeader
Definition
FFLiResourceTexture.h:22
include
nn
ffl
FFLiResourceHeader.h
Generated by
1.14.0