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); }
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); }
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); }
/// <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); } }