private void writeSpellTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine( "# UID, Name, Type, CardId, PriceA, PriceB, PriceC, " + "Info, Mana, Loadup, Unknown, MissileEffect, ImpactEffect" + "Damage, Behavior"); foreach (SpellRow spell in mappedDb.Spells) { writeCells(writer, spell.Uid, spell.Name, spell.Type, spell.CardId, spell.PriceA, spell.PriceB, spell.PriceC, spell.Info, spell.Mana, spell.Loadup, spell.Unknown, spell.MissileEffect, spell.ImpactEffect, spell.Damage, spell.Behavior); } }
private static TagContainer SetupDIContainer(Options options, out GraphicsDevice graphicsDevice) { var diContainer = new TagContainer(); diContainer.AddTag(options); var graphicsDeviceOptions = new GraphicsDeviceOptions() { Debug = true, HasMainSwapchain = false, PreferDepthRangeZeroToOne = true, PreferStandardClipSpaceYDirection = true, }; graphicsDevice = options.Backend switch { ZZMapsGraphicsBackend.Vulkan => GraphicsDevice.CreateVulkan(graphicsDeviceOptions), ZZMapsGraphicsBackend.D3D11 => GraphicsDevice.CreateD3D11(graphicsDeviceOptions), _ => throw new InvalidOperationException($"Unknown backend {options.Backend}") }; diContainer.AddTag(graphicsDevice); diContainer.AddTag(graphicsDevice.ResourceFactory); var pipelineCollection = new PipelineCollection(graphicsDevice); pipelineCollection.AddShaderResourceAssemblyOf <zzre.materials.ModelStandardMaterial>(); pipelineCollection.AddShaderResourceAssemblyOf <MapStandardMaterial>(); diContainer.AddTag(pipelineCollection); var resourcePools = options.ResourcePath .Select(dirInfo => new FileResourcePool(dirInfo.FullName) as IResourcePool); resourcePools = resourcePools.Concat(options.PAK .Select(fileInfo => new PAKParallelResourcePool(fileInfo.FullName))); var combinedResourcePool = new CombinedResourcePool(resourcePools.Reverse().ToArray()); diContainer.AddTag <IResourcePool>(combinedResourcePool); diContainer.AddTag <IAssetLoader <Texture> >(new RefCachedAssetLoader <Texture>( new TextureAssetLoader(diContainer))); diContainer.AddTag <IAssetLoader <ClumpBuffers> >(new RefCachedAssetLoader <ClumpBuffers>( new ClumpAssetLoader(diContainer))); var mappedDb = new MappedDB(); for (int i = 1; i <= 6; i++) { using var tableStream = combinedResourcePool.FindAndOpen($"Data/_fb0x0{i}.fbs"); if (tableStream == null) { continue; } var table = new Table(); table.Read(tableStream); mappedDb.AddTable(table); } diContainer.AddTag(mappedDb); return(diContainer); }
public void convert(string name, ParameterParser args, Stream from, Stream to) { var table = new Table(); table.Read(from); var mappedDb = new MappedDB(); mappedDb.AddTable(table); StreamWriter writer = new StreamWriter(to, Encoding.UTF8, 1024, true); switch ((ModuleType)table.rows.First().Key.Module) { default: case ModuleType.Unknown: writeUnknownTable(writer, table); break; case ModuleType.Dialog: writeDialogTable(writer, mappedDb); break; case ModuleType.Fairy: writeFairyTable(writer, mappedDb); break; case ModuleType.Item: writeItemTable(writer, mappedDb); break; case ModuleType.Npc: writeNpcTable(writer, mappedDb); break; case ModuleType.Spell: writeSpellTable(writer, mappedDb); break; case ModuleType.Text: writeTextTable(writer, mappedDb); break; } }
public SceneMetadataBuilder(ITagContainer diContainer) { var options = diContainer.GetTag <Options>(); mappedDb = diContainer.GetTag <MappedDB>(); background = options.Background; }
private void writeTextTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine("# UID, Text, Group, Define"); foreach (TextRow text in mappedDb.Texts) { writeCells(writer, text.Uid, text.Text, text.Group, text.Define); } }
private void writeDialogTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine("# UID, Text, Npc, Voice"); foreach (DialogRow dialog in mappedDb.Dialogs) { writeCells(writer, dialog.Uid, dialog.Text, dialog.Npc, dialog.Voice); } }
public DialogScript(ITagContainer diContainer) : base(diContainer, CreateEntityContainer) { World.SetMaxCapacity <components.DialogState>(1); db = diContainer.GetTag <MappedDB>(); ui = diContainer.GetTag <UI>(); scene = diContainer.GetTag <Scene>(); game = diContainer.GetTag <Game>(); savegame = diContainer.GetTag <zzio.Savegame>(); recorder = diContainer.GetTag <EntityCommandRecorder>(); startDialogDisposable = World.Subscribe <messages.StartDialog>(HandleStartDialog); removedDisposable = World.SubscribeComponentRemoved <components.DialogState>(HandleDialogStateRemoved); }
private void writeItemTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine( "# UID, Name, CardId, Info, Special, Script, Unknown"); foreach (ItemRow item in mappedDb.Items) { writeCells(writer, item.Uid, item.Name, item.CardId, item.Info, item.Special, item.Script, item.Unknown); } }
private void writeNpcTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine( "# UID, Name, Script1, Script2, Script3, Script4, Script5, Unknown"); foreach (NpcRow npc in mappedDb.Npcs) { writeCells(writer, npc.Uid, npc.Name, npc.TriggerScript, npc.InitScript, npc.UpdateScript, npc.DefeatedScript, npc.VictoriousScript, npc.InternalName); } }
private void writeFairyTable(StreamWriter writer, MappedDB mappedDb) { writer.WriteLine( "# UID, Mesh, Name, Class0, CardId, Unknown, Level0, Level1, " + "Level2, Level3, Level4, Level5, Level6, Level7, Level8, " + "Level9, Info, MHP, EvolCId, EvolVar, MovSpeed, JumpPower, " + "CriticalHit, Sphere, Glow, LevelUp, Voice, Class1"); foreach (FairyRow fairy in mappedDb.Fairies) { writeCells(writer, fairy.Uid, fairy.Mesh, fairy.Name, fairy.Class0, fairy.CardId, fairy.Unknown, fairy.Level0, fairy.Level1, fairy.Level2, fairy.Level3, fairy.Level4, fairy.Level5, fairy.Level6, fairy.Level7, fairy.Level8, fairy.Level9, fairy.Info, fairy.MHP, fairy.EvolCId, fairy.EvolVar, fairy.MovSpeed, fairy.JumpPower, fairy.CriticalHit, fairy.Sphere, fairy.Glow, fairy.LevelUp, fairy.Unknown24, fairy.WingSound); } }
public SpellRow(MappedDB mappedDB, Row row) : base(ModuleType.Spell, mappedDB, row) { }
public DialogRow(MappedDB mappedDB, Row row) : base(ModuleType.Dialog, mappedDB, row) { }
public TextRow(MappedDB mappedDB, Row row) : base(ModuleType.Text, mappedDB, row) { }
public NpcRow(MappedDB mappedDB, Row row) : base(ModuleType.Npc, mappedDB, row) { }
public Tooltip(ITagContainer diContainer) : base(diContainer.GetTag <DefaultEcs.World>(), CreateEntityContainer, useBuffer: false) { mappedDB = diContainer.GetTag <MappedDB>(); addedSubscription = World.SubscribeComponentAdded <components.ui.Hovered>(HandleAddedComponent); removedSubscription = World.SubscribeComponentRemoved <components.ui.Hovered>(HandleRemovedComponent); }
public ItemRow(MappedDB mappedDB, Row row) : base(ModuleType.Item, mappedDB, row) { }