[1114] | 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 | }
|
---|