protected static IList <MoonfishTagField> GuerillaPreProcessMethod(IList <MoonfishTagField> fields) { var soundPromotionRuleBlockField = new MoonfishTagField(MoonfishFieldType.FieldBlock, "Sound Promotion Rules"); soundPromotionRuleBlockField.AssignDefinition(new MoonfishTagDefinition("Sound Promotion Rule Block", new[] { new MoonfishTagField(MoonfishFieldType.FieldShortBlockIndex1, "Pitch Ranges"), new MoonfishTagField(MoonfishFieldType.FieldShortInteger, "Maximum Playing Count"), new MoonfishTagField(MoonfishFieldType.FieldReal, "Suppression Time Seconds#time from when first permutation plays to when another sound from an equal or lower promotion can play"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldTerminator, "") })); var soundPromotionRuntimeTimerBlockField = new MoonfishTagField(MoonfishFieldType.FieldBlock, "Sound Promotion Runtime Timers"); soundPromotionRuntimeTimerBlockField.AssignDefinition( new MoonfishTagDefinition("Sound Promotion Runtime Timer Block", new[] { new MoonfishTagField(MoonfishFieldType.FieldLongInteger, ""), new MoonfishTagField(MoonfishFieldType.FieldTerminator, "") } )); return(new[] { soundPromotionRuleBlockField, soundPromotionRuntimeTimerBlockField, new MoonfishTagField(MoonfishFieldType.FieldPad, "", 12), new MoonfishTagField(MoonfishFieldType.FieldTerminator, ""), }); }
protected static IList <MoonfishTagField> GuerillaPreProcessMethod(IList <MoonfishTagField> fields) { var unknownBlock = new MoonfishTagField(MoonfishFieldType.FieldBlock, "Xbox Unknown Animation Block"); unknownBlock.AssignDefinition(new MoonfishTagDefinition("Moonfish Xbox Animation Unknown Block", new List <MoonfishTagField> { new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown1"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown2"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown3"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown4"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown5"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown6") })); var rawBlock = new MoonfishTagField(MoonfishFieldType.FieldBlock, "Xbox Animation Data Block"); rawBlock.AssignDefinition(new MoonfishTagDefinition("Moonfish Xbox Animation Raw Block", new List <MoonfishTagField> { new MoonfishTagField(MoonfishFieldType.FieldMoonfishIdent, "Owner Tag"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Block Size"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Block Offset"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Unknown1"), })); fields.Insert(fields.Count - 1, rawBlock); fields.Insert(fields.Count - 1, unknownBlock); return(fields); }
protected static IList <MoonfishTagField> GuerillaPreProcessMethod(IList <MoonfishTagField> fields) { var blockInfoStruct = new MoonfishTagField(MoonfishFieldType.FieldStruct, "StructureBlockInfo"); blockInfoStruct.AssignDefinition( new MoonfishTagStruct(new MoonfishTagDefinition("MoonfishGlobalStructureBlockInfoStructBlock", new[] { new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Block Offset"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Block Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Block Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "") }))); fields.RemoveAt(0); fields.Insert(0, blockInfoStruct); return(fields); }
protected static IList <MoonfishTagField> GuerillaPreProcessMethod(IList <MoonfishTagField> fields) { var field = new MoonfishTagField(MoonfishFieldType.FieldBlock, "Sounds"); var soundTagReferenceField = new MoonfishTagField(MoonfishFieldType.FieldTagReference, "Sound*"); soundTagReferenceField.AssignDefinition(new MoonfishTagReferenceDefinition((TagClass)"snd!")); field.AssignDefinition(new MoonfishTagDefinition("Moonfish Sound References Block", new List <MoonfishTagField> { soundTagReferenceField })); fields[8] = field; var unicodeStruct = new MoonfishTagField(MoonfishFieldType.FieldStruct, "UnicodeBlockInfo"); unicodeStruct.AssignDefinition(new MoonfishTagStruct(new MoonfishTagDefinition("MoonfishGlobalUnicodeBlockInfoStructBlock", new[] { new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "English String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "English String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "English String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "English String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Japanese String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Japanese String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Japanese String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Japanese String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Dutch String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Dutch String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Dutch String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Dutch String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "French String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "French String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "French String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "French String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Spanish String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Spanish String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Spanish String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Spanish String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Italian String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Italian String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Italian String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Italian String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Korean String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Korean String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Korean String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Korean String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Chinese String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Chinese String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Chinese String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Chinese String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 8), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Portuguese String Count"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Portuguese String Table Length"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Portuguese String Index Address"), new MoonfishTagField(MoonfishFieldType.FieldLongInteger, "Portuguese String Table Address"), new MoonfishTagField(MoonfishFieldType.FieldPad, "", 4), }))); fields.RemoveAt(fields.Count - 2); fields.Insert(fields.Count - 1, unicodeStruct); return(fields); }