Esempio n. 1
0
        public void writeJson(StreamWriter outputStream, string tab, bool isFirst)
        {
            string entryStarter = isFirst ? "" : ",";
            string entriesTab   = $"{tab}\t";

            cWeenie wcidWeenie = Program.cache9Converter.getWeenie(wcid);
            string  wcidName   = "";

            if (wcidWeenie != null)
            {
                wcidName = wcidWeenie.weenieName;
            }
            wcidName = Utils.removeWcidNameRedundancy(WeenieClassNames.getWeenieClassName(wcid), wcidName);

            outputStream.Write("{0}\n{1}\"cprof\": {{", entryStarter, tab);
            Utils.writeJson(outputStream, "wcid", wcid, entriesTab, true, true, 11);
            Utils.writeJson(outputStream, "_comment", wcidName, "    ", false, false, 0);
            Utils.writeJson(outputStream, "palette", palette, entriesTab, false, true, 8);
            Utils.writeJson(outputStream, "shade", shade, entriesTab, false, true, 10);
            Utils.writeJson(outputStream, "destination", (int)destination, entriesTab, false, true, 4);
            Utils.writeJson(outputStream, "_comment2", destination.ToString(), "    ", false, false, 0);
            Utils.writeJson(outputStream, "stack_size", stack_size, entriesTab, false, true, 5);
            Utils.writeJson(outputStream, "try_to_bond", try_to_bond, entriesTab, false, true, 4);
            outputStream.Write("\n{0}}}", tab);
        }
Esempio n. 2
0
        public void writeJson(StreamWriter outputStream, string tab, bool isFirst)
        {
            string entryStarter  = isFirst ? "" : ",";
            string entriesTab    = $"{tab}\t";
            string subEntriesTab = $"{tab}\t\t";

            cWeenie wcidWeenie = Program.cache9Converter.getWeenie(type);
            string  wcidName   = "";

            if (wcidWeenie != null)
            {
                wcidName = wcidWeenie.weenieName;
            }
            wcidName = Utils.removeWcidNameRedundancy(WeenieClassNames.getWeenieClassName(type), wcidName);

            outputStream.Write("{0}\n{1}{{", entryStarter, entriesTab);
            Utils.writeJson(outputStream, "type", type, subEntriesTab, true, true, 16);
            if ((int)whereCreate < 0x40)
            {
                Utils.writeJson(outputStream, "_comment", wcidName, "    ", false, false, 0);
            }
            else
            {
                Utils.writeJson(outputStream, "_comment", ((eTreasureGeneratorType)type).ToString(), "    ", false, false, 0);
            }
            //Utils.writeJson(outputStream, "_comment", "Unknown treasure table value. Not working in phatAC", "    ", false, false, 0);
            Utils.writeJson(outputStream, "probability", probability, subEntriesTab, false, true, 9);
            Utils.writeJson(outputStream, "delay", delay, subEntriesTab, false, true, 15);
            Utils.writeJson(outputStream, "initCreate", initCreate, subEntriesTab, false, true, 10);
            Utils.writeJson(outputStream, "maxNum", maxNum, subEntriesTab, false, true, 14);
            Utils.writeJson(outputStream, "whenCreate", (int)whenCreate, subEntriesTab, false, true, 10);
            Utils.writeJson(outputStream, "_comment2", whenCreate.ToString(), "    ", false, false, 0);
            Utils.writeJson(outputStream, "whereCreate", (int)whereCreate, subEntriesTab, false, true, 9);
            Utils.writeJson(outputStream, "_comment3", whereCreate.ToString(), "    ", false, false, 0);
            Utils.writeJson(outputStream, "stackSize", stackSize, subEntriesTab, false, true, 11);
            Utils.writeJson(outputStream, "ptid", ptid, subEntriesTab, false, true, 16);
            Utils.writeJson(outputStream, "shade", shade, subEntriesTab, false, true, 15);
            Utils.writeJson(outputStream, "slot", slot, subEntriesTab, false, true, 16);
            Utils.writeJson(outputStream, "objcell_id", objcell_id, subEntriesTab, false, true, 10);
            frame.writeJson(outputStream, subEntriesTab, false);
            outputStream.Write("\n{0}}}", entriesTab);
        }
Esempio n. 3
0
        public void writeJson(StreamWriter outputStream, string tab = "", bool isFirst = true)
        {
            string entriesTab    = $"{tab}\t";
            string subEntriesTab = $"{tab}\t\t";

            string entryStarter = isFirst ? "" : ",\n";

            outputStream.Write("{0}{1}{{", entryStarter, tab);

            Utils.writeJson(outputStream, "wcid", wcid, entriesTab, true, true);

            cWeenie wcidWeenie = Program.cache9Converter.getWeenie(wcid);
            string  wcidName   = "";

            if (wcidWeenie != null)
            {
                wcidName = wcidWeenie.weenieName;
            }
            wcidName = Utils.removeWcidNameRedundancy(WeenieClassNames.getWeenieClassName(wcid), wcidName);

            Utils.writeJson(outputStream, "_comment", $"{wcidName}", "    ", false, false);
            //Utils.writeJson(outputStream, "weenieName", weenieName, entriesTab, false, true);
            Utils.writeJson(outputStream, "weenieType", (int)weenieType, entriesTab, false, true);
            Utils.writeJson(outputStream, "_comment2", weenieType.ToString(), "    ", false, false);

            if (statFlags.HasFlag(eStatFlags.stringStats))
            {
                writeStringStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.intStats))
            {
                writeIntStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.int64Stats))
            {
                writeInt64StatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.boolStats))
            {
                writeBoolStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.floatStats))
            {
                writeFloatStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.didStats))
            {
                writeDidStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.posStats))
            {
                writePosStatsJson(outputStream, entriesTab);
            }
            if (statFlags.HasFlag(eStatFlags.iidStat))
            {
                writeIidStatsJson(outputStream, entriesTab);
            }

            if (dataFlags.HasFlag(eDataFlags.attributes))
            {
                attributes.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.skills))
            {
                skills.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.body))
            {
                body.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.spellBook))
            {
                spellBook.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.eventFilter))
            {
                eventFilter.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.emoteTable))
            {
                emoteTable.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.createList))
            {
                createList.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.pageDataList))
            {
                pageDataList.writeJson(outputStream, entriesTab, false);
            }
            if (dataFlags.HasFlag(eDataFlags.generatorTable))
            {
                generatorTable.writeJson(outputStream, entriesTab, false);
            }

            outputStream.Write("\n{0}}}", tab);
        }
Esempio n. 4
0
        /// <exception cref="System.Exception">WeenieClassNames must be set, and must have a record for input.ClassId.</exception>
        public void CreateSQLINSERTStatement(Weenie input, StreamWriter writer)
        {
            string className = null;

            if (WeenieClassNames != null)
            {
                WeenieClassNames.TryGetValue(input.ClassId, out className);
            }

            writer.WriteLine("INSERT INTO `weenie` (`class_Id`, `class_Name`, `type`)");

            var output = $"VALUES ('{input.ClassId}', '{className}', {input.Type}) /* {Enum.GetName(typeof(WeenieType), input.Type)} */;";

            output = FixNullFields(output);

            writer.WriteLine(output);

            if (input.WeeniePropertiesInt != null && input.WeeniePropertiesInt.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesInt.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesInt64 != null && input.WeeniePropertiesInt64.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesInt64.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesBool != null && input.WeeniePropertiesBool.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesBool.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesFloat != null && input.WeeniePropertiesFloat.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesFloat.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesString != null && input.WeeniePropertiesString.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesString.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesDID != null && input.WeeniePropertiesDID.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesDID.OrderBy(r => r.Type).ToList(), writer);
            }

            if (input.WeeniePropertiesPosition != null && input.WeeniePropertiesPosition.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesPosition.OrderBy(r => r.PositionType).ToList(), writer);
            }

            if (input.WeeniePropertiesIID != null && input.WeeniePropertiesIID.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesIID.OrderBy(r => r.Type).ToList(), writer);
            }

            if (input.WeeniePropertiesAttribute != null && input.WeeniePropertiesAttribute.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesAttribute.OrderBy(r => r.Type).ToList(), writer);
            }
            if (input.WeeniePropertiesAttribute2nd != null && input.WeeniePropertiesAttribute2nd.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesAttribute2nd.OrderBy(r => r.Type).ToList(), writer);
            }

            if (input.WeeniePropertiesSkill != null && input.WeeniePropertiesSkill.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesSkill.OrderBy(r => r.Type).ToList(), writer);
            }

            if (input.WeeniePropertiesBodyPart != null && input.WeeniePropertiesBodyPart.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesBodyPart.OrderBy(r => r.Key).ToList(), writer);
            }

            if (input.WeeniePropertiesSpellBook != null && input.WeeniePropertiesSpellBook.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesSpellBook.OrderBy(r => r.Spell).ToList(), writer);
            }

            if (input.WeeniePropertiesEventFilter != null && input.WeeniePropertiesEventFilter.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesEventFilter.OrderBy(r => r.Event).ToList(), writer);
            }

            if (input.WeeniePropertiesEmote != null && input.WeeniePropertiesEmote.Count > 0)
            {
                //writer.WriteLine(); // This is not needed because CreateSQLINSERTStatement will take care of it for us on each Recipe.
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesEmote.OrderBy(r => r.Category).ToList(), writer);
            }

            if (input.WeeniePropertiesCreateList != null && input.WeeniePropertiesCreateList.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesCreateList.OrderBy(r => r.DestinationType).ThenBy(r => r.WeenieClassId).ToList(), writer);
            }

            if (input.WeeniePropertiesBook != null)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesBook, writer);
            }
            if (input.WeeniePropertiesBookPageData != null && input.WeeniePropertiesBookPageData.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesBookPageData.OrderBy(r => r.PageId).ToList(), writer);
            }

            if (input.WeeniePropertiesGenerator != null && input.WeeniePropertiesGenerator.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesGenerator.OrderBy(r => r.WhereCreate).ThenBy(r => r.WhenCreate).ThenBy(r => r.Probability).ThenBy(r => r.WeenieClassId).ToList(), writer);
            }

            if (input.WeeniePropertiesPalette != null && input.WeeniePropertiesPalette.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesPalette.OrderBy(r => r.SubPaletteId).ToList(), writer);
            }
            if (input.WeeniePropertiesTextureMap != null && input.WeeniePropertiesTextureMap.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesTextureMap.OrderBy(r => r.Index).ToList(), writer);
            }
            if (input.WeeniePropertiesAnimPart != null && input.WeeniePropertiesAnimPart.Count > 0)
            {
                writer.WriteLine();
                CreateSQLINSERTStatement(input.ClassId, input.WeeniePropertiesAnimPart.OrderBy(r => r.Index).ToList(), writer);
            }
        }