1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     tpl_Internal.h
4   Copyright (C)2010 Nintendo Co., Ltd.  All rights reserved.
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law. They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10   $Rev: 27885 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 #ifndef NN_TPL_INTERNAL_H_
17 #define NN_TPL_INTERNAL_H_
18 
19 
20 namespace nn { namespace tpl { namespace CTR {
21 
22 enum CtrTexType
23 {
24     TEXTYPE_CUBE = 0,           //
25     TEXTYPE_1D,                 //
26     TEXTYPE_2D,                 //
27 
28     TEXTYPE_UNSUPPORT = 0xff,   //
29 
30     TEXTYPE_ForceInt32 = 0x7fffffff
31 };
32 
33 enum CtrTexCubeDir
34 {
35     TEXCUBEDIR_PLUS_X = 0,          //
36     TEXCUBEDIR_MINUS_X,             //
37     TEXCUBEDIR_PLUS_Y,              //
38     TEXCUBEDIR_MINUS_Y,             //
39     TEXCUBEDIR_PLUS_Z,              //
40     TEXCUBEDIR_MINUS_Z,             //
41 
42     TEXCUBEDIR_UNSUPPORT = 0xff,    //
43 
44     TEXCUBEDIR_ForceInt32 = 0x7fffffff
45 };
46 
47 /* Please see man pages for details
48 
49 */
50 struct CtrTextureHash
51 {
52     /// Hash value (CRC-32) generated from texture name
53     unsigned int    crc;
54 
55     /// Texture index
56     int             index;
57 };
58 
59 /* Please see man pages for details
60 
61 
62 
63 
64 
65 
66 */
67 struct CtrTextureConvertOpt
68 {
69     /// Specify output format. (Cast CtrTexFormat)
70     unsigned char   specFormat;
71 
72     /// Upper limit specification for mipmap level (0 is unlimited)
73     unsigned char   mipmapLimit;
74 
75     /// Compression is permitted (prohibit with 0)
76     unsigned char   permitCompression;
77 
78     /// ETC1 compression method
79     unsigned char   etc1Method;
80 };
81 
82 /* Please see man pages for details
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 */
96 struct CtrTexturePackageHeader
97 {
98     /// Magic code ("CTPK" fixed)
99     char            magic[4];
100     /// File format version number (CTR_TEXTURE_PACKAGE_VERSION is substituted)
101     unsigned short  version;
102     /// Number of textures
103     unsigned short  numTexture;
104     /// Offset to start of image data
105     unsigned int    texDataOffset;
106     /// Image data size
107     unsigned int    texDataSize;
108     /// Offset to filename hash
109     unsigned int    texHashOffset;
110     /// Offset to convert option table
111     unsigned int    convertOptOffset;
112     /// Padding to 32-byte boundary
113     char            pad[8];
114 };
115 
116 
117 }}}
118 
119 
120 #endif  // ifndef NN_TPL_INTERNAL_H_
121