0
|
1 // This file is a part of the Relic Tools and is copyright 2006-2018 IBBoard.
|
|
2 //
|
|
3 // The file and the library/program it is in are licensed under the GNU GPL license, either version 3 of the License or (at your option) any later version. Please see COPYING for more information and the full license.
|
|
4 using System;
|
|
5
|
|
6 namespace IBBoard.Relic.RelicTools
|
|
7 {
|
|
8 /// <summary>
|
|
9 /// Summary description for ChunkyDataINFOSHDR.
|
|
10 /// </summary>
|
|
11 public class ChunkyDataINFOSHDR :ChunkyDataINFO
|
|
12 {
|
|
13 int numChannels = 0;
|
|
14 byte[] unknown1 = new byte[4];
|
|
15 byte[] unknown2 = new byte[4];
|
|
16 byte[] unknown3 = new byte[5];
|
|
17
|
|
18 public ChunkyDataINFOSHDR(int version_in, string name_in, byte[] innerData_in):base(version_in, name_in)
|
|
19 {
|
|
20 numChannels = innerData_in[0]+(innerData_in[1]<<8)+(innerData_in[2]<<16)+(innerData_in[3]<<24);
|
|
21 unknown1[0] = innerData_in[4];
|
|
22 unknown1[1] = innerData_in[5];
|
|
23 unknown1[2] = innerData_in[6];
|
|
24 unknown1[3] = innerData_in[7];
|
|
25 unknown2[0] = innerData_in[8];
|
|
26 unknown2[1] = innerData_in[9];
|
|
27 unknown2[2] = innerData_in[10];
|
|
28 unknown2[3] = innerData_in[11];
|
|
29 unknown3[0] = innerData_in[12];
|
|
30 unknown3[1] = innerData_in[13];
|
|
31 unknown3[2] = innerData_in[14];
|
|
32 unknown3[3] = innerData_in[15];
|
|
33 unknown3[4] = innerData_in[16];
|
|
34 }
|
|
35
|
|
36 public bool AdditionalShaders
|
|
37 {
|
|
38 get
|
|
39 {
|
|
40 return (unknown2[0]==0xcd);
|
|
41 }
|
|
42 }
|
|
43
|
|
44 public override string GetDisplayDetails()
|
|
45 {
|
|
46 return base.GetBaseDisplayDetails()+Environment.NewLine+
|
|
47 "------------"+Environment.NewLine+
|
|
48 "Channels:\t"+numChannels+Environment.NewLine+
|
|
49 "Unknown 1:\t"+ChunkyChunk.ByteArrayToString(unknown1)+Environment.NewLine+
|
|
50 //"Additional Shaders(?):\t"+AdditionalShaders+Environment.NewLine+
|
|
51 "Unknown 2:\t"+ChunkyChunk.ByteArrayToString(unknown2)+Environment.NewLine+
|
|
52 "Unknown 3:\t"+ChunkyChunk.ByteArrayToString(unknown3);
|
|
53 }
|
|
54
|
|
55 public override int DataLength
|
|
56 {
|
|
57 get
|
|
58 {
|
|
59 return 17;
|
|
60 }
|
|
61 }
|
|
62
|
|
63 public override byte[] GetDataBytes()
|
|
64 {
|
|
65 byte[] data = new byte[17];
|
|
66 data[0] = (byte)numChannels;
|
|
67 data[1] = (byte)(numChannels>>8);
|
|
68 data[2] = (byte)(numChannels>>16);
|
|
69 data[3] = (byte)(numChannels>>24);
|
|
70 data[4] = unknown1[0];
|
|
71 data[5] = unknown1[1];
|
|
72 data[6] = unknown1[2];
|
|
73 data[7] = unknown1[3];
|
|
74 data[8] = unknown2[0];
|
|
75 data[9] = unknown2[1];
|
|
76 data[10] = unknown2[2];
|
|
77 data[11] = unknown2[3];
|
|
78 data[12] = unknown3[0];
|
|
79 data[13] = unknown3[1];
|
|
80 data[14] = unknown3[2];
|
|
81 data[15] = unknown3[3];
|
|
82 data[16] = unknown3[4];
|
|
83 return data;
|
|
84 }
|
|
85
|
|
86
|
|
87 }
|
|
88 }
|