1 /*---------------------------------------------------------------------------*
2   Project:  TwlSDK - GX - demos - UnitTours/3D_Pol_Tex4x4
3   File:     tex_4x4.c
4 
5   Copyright 2003-2008 Nintendo.  All rights reserved.
6 
7   These coded instructions, statements, and computer programs contain
8   proprietary information of Nintendo of America Inc. and/or Nintendo
9   Company Ltd., and are protected by Federal copyright law.  They may
10   not be disclosed to third parties or copied or duplicated in any form,
11   in whole or in part, without the prior written consent of Nintendo.
12 
13   $Date:: 2008-09-18#$
14   $Rev: 8573 $
15   $Author: okubata_ryoma $
16  *---------------------------------------------------------------------------*/
17 #include "tex_4x4.h"
18 
19 const u32 tex_4x4_64x64[256] = {
20     0x80AAFD55, 0xF85C5F55, 0x80AA5655, 0x28AAFA5F,
21     0xA8AA5555, 0x80A8AA6A, 0xA0FAFF7F, 0x785E5755,
22     0xC0685E55, 0x00A06A7A, 0x0B2DB5D5, 0x022BBDD5,
23     0x00022501, 0x62420A96, 0x6A7A7FE0, 0x707AF85C,
24     0x80A0F85E, 0x02AAFF55, 0x00EA5F55, 0x00AAFD55,
25     0xA0FA5F55, 0xA8575555, 0x00FA5555, 0xE0FA5755,
26     0x2F259555, 0x00A8FF55, 0x000A2FBD, 0x40405155,
27     0x3F3F9F57, 0x56565458, 0x00008070, 0x00A8FE5F,
28     0xF8DE575F, 0x0B252D2D, 0x5C000000, 0xD5000080,
29     0x5500007E, 0x25028055, 0x00A0F87F, 0x00A85F55,
30     0x00AAF555, 0x08AAFFB5, 0x280B092D, 0x60685A56,
31     0x3F1F1715, 0x7EF88000, 0xF87E57FF, 0x5FBF8200,
32     0x55020000, 0xD5E88000, 0x57575E78, 0xFF555515,
33     0x5555B50F, 0xD52D0A00, 0x2D2F0200, 0x5C575555,
34     0xD800ABD7, 0xDCA00000, 0x050B0000, 0x78C0A0A8,
35     0xA626361F, 0x5C7CF8FA, 0x95172A00, 0x88A8685A,
36     0x0000AA55, 0x0000AA95, 0x203EDD57, 0x0ABC7755,
37     0x000ABD55, 0x80F85755, 0x5C95350B, 0xBDAD0B00,
38     0x020303B5, 0xA8008056, 0x0A00000D, 0x50586860,
39     0x57566AA8, 0xF8E87A50, 0x58EFAB2A, 0x555556E8,
40     0x82AAFF55, 0x00AAFF55, 0x00AAFF55, 0x80A89619,
41     0x3D090302, 0x00807070, 0x0000FA57, 0x0000022D,
42     0x5EE08000, 0x555FFAA8, 0x55BD0A00, 0x555EE800,
43     0x5557E8A0, 0xFA7E57A0, 0x2F55F5C0, 0x407A8055,
44     0x00E05E55, 0x00AB5555, 0x00BA5555, 0x0000EB55,
45     0x00B857F5, 0x00002D09, 0x0014AC98, 0xF8F87878,
46     0x80E0F85C, 0xC87A5F55, 0xFE806068, 0x5E5E78E8,
47     0x03AB5577, 0x2CAFA5D5, 0xA0FAA9A9, 0xA80A5A5A,
48     0x547A7A00, 0x5555F580, 0x5555550A, 0x55D5AF02,
49     0x5555AA00, 0x5555BE00, 0x2D0B0800, 0x0000806A,
50     0x00008255, 0x00E0F056, 0xF87A5E57, 0x008BFF7E,
51     0x0A295555, 0xE078EA5D, 0x60AAAA6A, 0xAA60785E,
52     0x0000AA5F, 0x00A8FF55, 0x00AAFF55, 0x0000FE5D,
53     0x00EA5555, 0xE0ABD555, 0x2FABEBFD, 0x7856DE02,
54     0x55FDAA00, 0xA560E088, 0x7002E078, 0x2500AAFF,
55     0x5C000AAA, 0x552E0000, 0x0D0000A0, 0x60FAFF55,
56     0x6AA4A9A8, 0xAAF85600, 0xAAFE5580, 0x6AF702D8,
57     0xB5BD2F03, 0x01A30057, 0x8080E05A, 0x0000AA75,
58     0xA000AA55, 0xAA002AB5, 0x0000E078, 0x78EA55D5,
59     0x5E7E5C5C, 0x35155555, 0x0000020D, 0x5E5EEAE0,
60     0x09804040, 0x00AAABF7, 0x0000EA57, 0xA0E87A5F,
61     0x78787E57, 0x7F5F5702, 0x5555D50A, 0x55555F00,
62     0x575F5500, 0x55552D00, 0x250F0000, 0xA0000070,
63     0x80000055, 0x00000009, 0x80AA5760, 0x5C705F5E,
64     0x000A0925, 0x00000000, 0x00000000, 0xE0E06078,
65     0x58500062, 0x7060787A, 0xE8E8F878, 0x3F3F7F7F,
66     0x00F0F555, 0x2E0B00AD, 0x60F8E00A, 0x570000E0,
67     0x55C000FF, 0x5557AA02, 0xD57B7870, 0x0A575555,
68     0x01010101, 0x00000000, 0x00000000, 0x0000E068,
69     0x00785F5F, 0x805A7F7F, 0x605E5A6A, 0x78786868,
70     0x2F575F0B, 0x0B252B00, 0xA0E8785C, 0x00FE5555,
71     0xE0AF5555, 0x5EE00AFF, 0x5555E00A, 0x55555780,
72     0xD5FE8002, 0xFB55AA00, 0xFF5D0A00, 0x7F55FA00,
73     0xFF555E78, 0x00552F00, 0xBAB500E0, 0x78E000A0,
74     0xFF57A800, 0x55FD0200, 0x555F8000, 0xB555FF00,
75     0x02F55F60, 0x00A05555, 0x0000F555, 0x00800A55,
76     0x55BF023D, 0x55EBAA00, 0x55FFAA00, 0x557EFE00,
77     0x55FFAA00, 0x5FEA0000, 0x555FFEA8, 0x557DAA02,
78     0x555557E0, 0xA0025F5E, 0xE0805F5F, 0x55FFB50D,
79     0x557AAA00, 0x5555EA80, 0x55557F00, 0x557F6900,
80     0x55555454, 0x95AA0000, 0x56A82000, 0x6EE8A880,
81     0x78E8E080, 0x5FFEEAE2, 0x5E78E8A0, 0x7EFAE8A0,
82     0x7E7AE8E8, 0x5F787860, 0x5757DFF8, 0xA8605050,
83     0x5E78E8E8, 0x7E7A7A78, 0x7878F8F8, 0x090B0B0B,
84 };
85 
86 const u16 index_4x4index[256] = {
87     0xC0E3, 0xC0E4, 0xC0E5, 0xC0E6,
88     0xC0E7, 0xC0E8, 0xC0E9, 0xC0EA,
89     0xC0EB, 0xC0EC, 0xC0ED, 0xC0EE,
90     0xC0EF, 0xC0F0, 0xC0F1, 0xC0F2,
91     0xC0D3, 0xC0D4, 0xC0D5, 0xC0D6,
92     0xC0D7, 0xC0D8, 0xC0D9, 0xC0DA,
93     0xC0DB, 0xC0DC, 0xC0DD, 0xC0DE,
94     0xC0DF, 0xC0E0, 0xC0E1, 0xC0E2,
95     0xC0C3, 0xC0C4, 0xC0C5, 0xC0C6,
96     0xC0C7, 0xC0C8, 0xC0C9, 0xC0CA,
97     0xC0CB, 0xC0CC, 0xC0CD, 0xC0CE,
98     0xC0CF, 0xC0D0, 0xC0D1, 0xC0D2,
99     0xC0B3, 0xC0B4, 0xC0B5, 0xC0B6,
100     0xC0B7, 0xC0B8, 0xC0B9, 0xC0BA,
101     0xC0BB, 0xC0BC, 0xC0BD, 0xC0BE,
102     0xC0BF, 0xC0C0, 0xC0C1, 0xC0C2,
103     0xC0A3, 0xC0A4, 0xC0A5, 0xC0A6,
104     0xC0A7, 0xC0A8, 0xC0A9, 0xC0AA,
105     0xC0AB, 0xC0AC, 0xC0AD, 0xC0AE,
106     0xC0AF, 0xC0B0, 0xC0B1, 0xC0B2,
107     0xC094, 0xC095, 0xC096, 0xC097,
108     0xC098, 0xC099, 0xC09A, 0xC09B,
109     0xC09C, 0xC09D, 0xC09E, 0xC09F,
110     0xC0A0, 0xC0A1, 0xC0A1, 0xC0A2,
111     0xC084, 0xC085, 0xC086, 0xC087,
112     0xC088, 0xC089, 0xC08A, 0xC08B,
113     0xC08C, 0xC08D, 0xC08E, 0xC08F,
114     0xC090, 0xC091, 0xC092, 0xC093,
115     0xC074, 0xC075, 0xC076, 0xC077,
116     0xC078, 0xC079, 0xC07A, 0xC07B,
117     0xC07C, 0xC07D, 0xC07E, 0xC07F,
118     0xC080, 0xC081, 0xC082, 0xC083,
119     0xC065, 0xC066, 0xC067, 0xC068,
120     0xC065, 0xC069, 0xC06A, 0xC06B,
121     0xC06C, 0xC06D, 0xC06E, 0xC06F,
122     0xC070, 0xC071, 0xC072, 0xC073,
123     0xC03A, 0xC056, 0xC057, 0xC058,
124     0xC059, 0xC05A, 0xC05B, 0xC05C,
125     0xC05D, 0xC05E, 0xC05F, 0xC060,
126     0xC061, 0xC062, 0xC063, 0xC064,
127     0xC048, 0xC02E, 0xC03B, 0xC049,
128     0xC04A, 0xC04B, 0xC04C, 0xC04D,
129     0xC04E, 0xC04F, 0xC050, 0xC051,
130     0xC052, 0xC053, 0xC054, 0xC055,
131     0xC03A, 0xC02D, 0xC02D, 0xC03B,
132     0xC03C, 0xC03D, 0xC03E, 0xC03F,
133     0xC040, 0xC041, 0xC042, 0xC043,
134     0xC044, 0xC045, 0xC046, 0xC047,
135     0xC02C, 0xC02D, 0xC02D, 0xC02E,
136     0xC02F, 0xC013, 0xC030, 0xC031,
137     0xC032, 0xC033, 0xC034, 0xC035,
138     0xC036, 0xC037, 0xC038, 0xC039,
139     0xC01F, 0xC020, 0xC020, 0xC01F,
140     0xC021, 0xC022, 0xC023, 0xC013,
141     0xC024, 0xC025, 0xC026, 0xC027,
142     0xC028, 0xC029, 0xC02A, 0xC02B,
143     0xC010, 0xC011, 0xC011, 0xC012,
144     0xC013, 0xC014, 0xC015, 0xC016,
145     0xC017, 0xC018, 0xC019, 0xC01A,
146     0xC01B, 0xC01C, 0xC01D, 0xC01E,
147     0xC000, 0xC001, 0xC002, 0xC003,
148     0xC004, 0xC005, 0xC006, 0xC007,
149     0xC008, 0xC009, 0xC00A, 0xC00B,
150     0xC00C, 0xC00D, 0xC00E, 0xC00F,
151 };
152 
153 const u16 pal_4x4plett[243 * 2] = {
154     0x7FFF, 0x4BFF,
155     0x4FFF, 0x47FF,
156     0x4FFF, 0x4BDF,
157     0x4BDF, 0x479F,
158     0x479F, 0x3F5F,
159     0x437F, 0x3B1F,
160     0x3B3F, 0x2EDF,
161     0x2EFF, 0x269F,
162     0x26BF, 0x1E5F,
163     0x1E5F, 0x1A1F,
164     0x1A1F, 0x15DF,
165     0x19BF, 0x1D9F,
166     0x1D7F, 0x153F,
167     0x193F, 0x14DF,
168     0x14BF, 0x185F,
169     0x243F, 0x183F,
170     0x67FF, 0x5BFF,
171     0x73FF, 0x5BFF,
172     0x6FFF, 0x57DF,
173     0x6FFF, 0x4F9F,
174     0x5FFF, 0x475F,
175     0x63FF, 0x3F3F,
176     0x63FF, 0x371F,
177     0x5FFF, 0x2ADF,
178     0x2EDF, 0x223F,
179     0x269F, 0x21DF,
180     0x5B5F, 0x221F,
181     0x531F, 0x219F,
182     0x56FF, 0x18FF,
183     0x4A7F, 0x189F,
184     0x45DE, 0x2C5E,
185     0x7FFF, 0x63FF,
186     0x7FFF, 0x6BFF,
187     0x7BFF, 0x5BDF,
188     0x6BFF, 0x53BF,
189     0x77FF, 0x63FF,
190     0x77FF, 0x269F,
191     0x73DF, 0x225F,
192     0x73DF, 0x1DFF,
193     0x6F9F, 0x219F,
194     0x675F, 0x213F,
195     0x56DF, 0x1CFF,
196     0x5ABF, 0x1CBE,
197     0x5A9E, 0x2C5E,
198     0x7FFF, 0x7BFF,
199     0x7FFF, 0x7FFF,
200     0x7FFF, 0x6FFF,
201     0x7BFF, 0x5FDF,
202     0x4F9F, 0x475F,
203     0x433F, 0x3AFF,
204     0x473F, 0x329F,
205     0x73DF, 0x265F,
206     0x73BF, 0x52BF,
207     0x675F, 0x4A7F,
208     0x737F, 0x4A3F,
209     0x735F, 0x1CDF,
210     0x6ADE, 0x207E,
211     0x6A9E, 0x2C3E,
212     0x7FFF, 0x77FF,
213     0x7BFF, 0x6FFF,
214     0x6BFF, 0x63DF,
215     0x5FDF, 0x537F,
216     0x4F7F, 0x471F,
217     0x4F7F, 0x3ADF,
218     0x5FBF, 0x329F,
219     0x77BF, 0x4B1F,
220     0x739F, 0x673F,
221     0x6F3F, 0x529F,
222     0x733F, 0x4E3F,
223     0x6ADE, 0x4A1E,
224     0x5A3E, 0x49DE,
225     0x627D, 0x499D,
226     0x7BFF, 0x73FF,
227     0x77FF, 0x67DF,
228     0x67FF, 0x5BBF,
229     0x67DF, 0x4F7F,
230     0x77FF, 0x473F,
231     0x73FF, 0x3EFF,
232     0x6FBF, 0x3A9F,
233     0x6B7F, 0x2E3F,
234     0x777F, 0x2DFF,
235     0x737F, 0x35BF,
236     0x6B1E, 0x319E,
237     0x6ADE, 0x399E,
238     0x72DE, 0x667D,
239     0x5E5E, 0x4D9D,
240     0x73FF, 0x63DF,
241     0x6FFF, 0x5FBF,
242     0x63FF, 0x5FBF,
243     0x77FF, 0x5BBF,
244     0x7BFF, 0x6FDF,
245     0x77FF, 0x6B9F,
246     0x73DF, 0x677F,
247     0x77DF, 0x5F3F,
248     0x77BF, 0x5AFF,
249     0x737F, 0x2D7F,
250     0x6F5F, 0x317E,
251     0x2D3E, 0x28DE,
252     0x4A3E, 0x289E,
253     0x76DD, 0x2C7D,
254     0x76BD, 0x4D7C,
255     0x77FF, 0x5F9F,
256     0x7BFF, 0x5FBF,
257     0x7BFF, 0x63BF,
258     0x73FF, 0x5F9F,
259     0x6BDF, 0x5B7F,
260     0x73DF, 0x637F,
261     0x73BF, 0x635F,
262     0x779F, 0x5F3F,
263     0x779F, 0x673F,
264     0x735F, 0x5EBE,
265     0x773E, 0x423E,
266     0x771E, 0x45DE,
267     0x72BD, 0x287E,
268     0x729D, 0x38FD,
269     0x729D, 0x65FD,
270     0x6BFF, 0x5F9F,
271     0x6BFF, 0x5B9F,
272     0x6BDF, 0x5F9F,
273     0x77FF, 0x5B9F,
274     0x7BFF, 0x5F9F,
275     0x73DF, 0x5F7F,
276     0x73BF, 0x5B5F,
277     0x77BF, 0x6B5F,
278     0x739F, 0x631F,
279     0x6B3F, 0x529F,
280     0x671F, 0x4A3E,
281     0x4E3E, 0x45DE,
282     0x5A5E, 0x51FD,
283     0x5E5D, 0x59FD,
284     0x5E1D, 0x59BD,
285     0x5DDD, 0x557C,
286     0x77FF, 0x331F,
287     0x7BFF, 0x329F,
288     0x77FF, 0x327F,
289     0x77FF, 0x325F,
290     0x6BFF, 0x36BF,
291     0x77DF, 0x4F7F,
292     0x77BF, 0x6F9F,
293     0x739F, 0x56DF,
294     0x52DF, 0x423F,
295     0x4E9F, 0x423E,
296     0x425F, 0x461E,
297     0x4A3E, 0x45DE,
298     0x4DFD, 0x45BD,
299     0x51FD, 0x499D,
300     0x59DD, 0x519D,
301     0x59BC, 0x597C,
302     0x2A5F, 0x25FF,
303     0x2E5F, 0x25FF,
304     0x2E5F, 0x29FF,
305     0x2E3F, 0x2DFF,
306     0x6FDF, 0x329F,
307     0x77BF, 0x3EDF,
308     0x779F, 0x295F,
309     0x6F7F, 0x299F,
310     0x6F5F, 0x4A5E,
311     0x6F1E, 0x461E,
312     0x6ADE, 0x4E5E,
313     0x6EDD, 0x521D,
314     0x5E1D, 0x45BD,
315     0x51BD, 0x4D5C,
316     0x599C, 0x555B,
317     0x21DF, 0x157F,
318     0x25DF, 0x197F,
319     0x29FF, 0x219F,
320     0x3B1F, 0x217F,
321     0x77BF, 0x1D5F,
322     0x6B9F, 0x211F,
323     0x3A7F, 0x253F,
324     0x635F, 0x3A5F,
325     0x773E, 0x631E,
326     0x771E, 0x5ABE,
327     0x6EFE, 0x5EBE,
328     0x72BD, 0x665D,
329     0x6A3D, 0x5DFD,
330     0x5E1D, 0x5DBC,
331     0x59FD, 0x515C,
332     0x65DD, 0x553B,
333     0x67DF, 0x19DF,
334     0x77FF, 0x19DF,
335     0x4F9F, 0x195F,
336     0x219F, 0x193F,
337     0x367F, 0x1D3F,
338     0x46FF, 0x1D1F,
339     0x6F5F, 0x3A7F,
340     0x675F, 0x6F1E,
341     0x771E, 0x66BE,
342     0x62FE, 0x3DDE,
343     0x76DD, 0x5A9D,
344     0x769D, 0x6E7D,
345     0x6E7D, 0x6E3C,
346     0x6E7D, 0x65DC,
347     0x65FC, 0x61BC,
348     0x69FC, 0x69BC,
349     0x6BFF, 0x639F,
350     0x73DF, 0x639F,
351     0x77DF, 0x5B9F,
352     0x779F, 0x3EBF,
353     0x737F, 0x631F,
354     0x735F, 0x5EDE,
355     0x735E, 0x4E5E,
356     0x6EFE, 0x4A1E,
357     0x6ADE, 0x521D,
358     0x6E9D, 0x5E3D,
359     0x769D, 0x6A5D,
360     0x767D, 0x765C,
361     0x767D, 0x763C,
362     0x763C, 0x6A1C,
363     0x6A1C, 0x6DDC,
364     0x75FB, 0x6DBC,
365     0x67BF, 0x4F1F,
366     0x6FBF, 0x3E9F,
367     0x6F9F, 0x3E5F,
368     0x5F3F, 0x3A3F,
369     0x5F1F, 0x35FF,
370     0x4A7F, 0x39DE,
371     0x461E, 0x39BE,
372     0x41FE, 0x3D9E,
373     0x51FD, 0x419D,
374     0x5A3D, 0x519D,
375     0x6E5D, 0x559C,
376     0x765C, 0x763C,
377     0x7A5D, 0x761C,
378     0x765C, 0x761C,
379     0x761C, 0x69DB,
380     0x79FB, 0x617B,
381     0x533F, 0x31FF,
382     0x3A9F, 0x2DFF,
383     0x321F, 0x31DF,
384     0x35FF, 0x35BE,
385     0x35DF, 0x35BE,
386     0x39DE, 0x3D9D,
387     0x39BE, 0x417D,
388     0x3D9E, 0x417D,
389     0x457D, 0x495C,
390     0x4D7C, 0x513B,
391     0x61DC, 0x555B,
392     0x723C, 0x65BC,
393     0x761C, 0x71FC,
394     0x7A3C, 0x79FC,
395     0x765C, 0x65BB,
396     0x659B, 0x5D3B,
397 };
398