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, ""),
            });
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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);
        }