ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/OniSplit/Metadata/OniMacMetadata.cs
Revision: 1114
Committed: Wed Jan 22 14:08:57 2020 UTC (5 years, 8 months ago) by iritscen
File size: 2337 byte(s)
Log Message:
Adding OniSplit source code (v0.9.99.0). Many thanks to Neo for all his work over the years.

File Contents

# Content
1 using System;
2 using System.Collections.Generic;
3
4 namespace Oni.Metadata
5 {
6 internal class OniMacMetadata : InstanceMetadata
7 {
8 //
9 // Binary Data template
10 //
11
12 private static MetaStruct bina = new MetaStruct("BINAInstance",
13 new Field(MetaType.Int32, "DataSize"),
14 new BinaryPartField(MetaType.SepOffset, "DataOffset", "DataSize")
15 );
16
17 //
18 // Texture Map template
19 //
20
21 private static MetaStruct txmp = new MetaStruct("TXMPInstance",
22 new Field(MetaType.Padding(128)),
23 new Field(MetaType.Enum<TXMPFlags>(), "Flags"),
24 new Field(MetaType.Int16, "Width"),
25 new Field(MetaType.Int16, "Height"),
26 new Field(MetaType.Enum<TXMPFormat>(), "Format"),
27 new Field(MetaType.Pointer(TemplateTag.TXAN), "Animation"),
28 new Field(MetaType.Pointer(TemplateTag.TXMP), "EnvMap"),
29 new Field(MetaType.Padding(4)),
30 new BinaryPartField(MetaType.SepOffset, "DataOffset"),
31 new Field(MetaType.Padding(8))
32 );
33
34 //
35 // Oni Sound Binary Data template
36 //
37
38 private static MetaStruct osbd = new MetaStruct("OSBDInstance",
39 new Field(MetaType.Int32, "DataSize"),
40 new BinaryPartField(MetaType.SepOffset, "DataOffset", "DataSize")
41 );
42
43 //
44 // Sound Data template
45 //
46
47 private static MetaStruct sndd = new MetaStruct("SNDDInstance",
48 new Field(MetaType.Int32, "Flags"),
49 new Field(MetaType.Int32, "Duration"),
50 new Field(MetaType.Int32, "DataSize"),
51 new BinaryPartField(MetaType.RawOffset, "DataOffset", "DataSize")
52 );
53
54 protected override void InitializeTemplates(IList<Template> templates)
55 {
56 base.InitializeTemplates(templates);
57
58 templates.Add(new Template(TemplateTag.BINA, bina, 0x15e11, "Binary Data"));
59 templates.Add(new Template(TemplateTag.OSBD, osbd, 0x15e3c, "Oni Sound Binary Data"));
60 templates.Add(new Template(TemplateTag.TXMP, txmp, 0x8911eeb5f, "Texture Map"));
61 templates.Add(new Template(TemplateTag.SNDD, sndd, 0x411eb, "Sound Data"));
62 }
63 }
64 }