feat: add new glyph

This commit is contained in:
Anna 2024-06-12 14:16:53 -04:00
parent ea16e739d8
commit 843cc0bdd3
Signed by: anna
GPG Key ID: D0943384CD9F87D1
16 changed files with 15 additions and 14 deletions

View File

@ -7,7 +7,7 @@ public class Configuration : IPluginConfiguration {
public int Version { get; set; } = 1; public int Version { get; set; } = 1;
public string ApiKey { get; set; } = string.Empty; public string ApiKey { get; set; } = string.Empty;
public HashSet<uint> BannedTerritories { get; set; } = new(); public HashSet<uint> BannedTerritories { get; set; } = [];
public bool DisableTrials = true; public bool DisableTrials = true;
public bool DisableDeepDungeon = true; public bool DisableDeepDungeon = true;
public bool DisableInCutscene = true; public bool DisableInCutscene = true;

View File

@ -11,14 +11,15 @@ namespace OrangeGuidanceTomestone;
internal class Messages : IDisposable { internal class Messages : IDisposable {
internal const uint MaxAmount = 20; internal const uint MaxAmount = 20;
internal static readonly string[] VfxPaths = { internal static readonly string[] VfxPaths = [
"bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1a_o.avfx", "bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1a_o.avfx",
"bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1b_o.avfx", "bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1b_o.avfx",
"bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1c_o.avfx", "bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1c_o.avfx",
"bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1d_o.avfx", "bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1d_o.avfx",
"bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1e_o.avfx", "bg/ffxiv/fst_f1/common/vfx/eff/b0941trp1e_o.avfx",
"bg/ex2/02_est_e3/common/vfx/eff/b0941trp1f_o.avfx", "bg/ex2/02_est_e3/common/vfx/eff/b0941trp1f_o.avfx",
}; "bg/ex4/07_lak_l5/common/vfx/eff/b2640trp1g_o.avfx",
];
private static string GetPath(IDataManager data, Message message) { private static string GetPath(IDataManager data, Message message) {
var glyph = message.Glyph; var glyph = message.Glyph;
@ -40,8 +41,8 @@ internal class Messages : IDisposable {
private Dictionary<Guid, Message> Current { get; } = new(); private Dictionary<Guid, Message> Current { get; } = new();
private Queue<Message> SpawnQueue { get; } = new(); private Queue<Message> SpawnQueue { get; } = new();
private HashSet<uint> Trials { get; } = new(); private HashSet<uint> Trials { get; } = [];
private HashSet<uint> DeepDungeons { get; } = new(); private HashSet<uint> DeepDungeons { get; } = [];
private bool CutsceneActive { private bool CutsceneActive {
get { get {

View File

@ -61,7 +61,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="vfx/b0941trp1*_o.avfx"/> <EmbeddedResource Include="vfx/sign_*.avfx"/>
<EmbeddedResource Include="img/sign_*.jpg"/> <EmbeddedResource Include="img/sign_*.jpg"/>
</ItemGroup> </ItemGroup>

View File

@ -6,7 +6,7 @@ namespace OrangeGuidanceTomestone;
[Serializable] [Serializable]
public class Pack { public class Pack {
internal static SemaphoreSlim AllMutex { get; } = new(1, 1); internal static SemaphoreSlim AllMutex { get; } = new(1, 1);
internal static Pack[] All { get; set; } = Array.Empty<Pack>(); internal static Pack[] All { get; set; } = [];
public string Name { get; init; } public string Name { get; init; }
public Guid Id { get; init; } public Guid Id { get; init; }

View File

@ -86,7 +86,7 @@ public class Plugin : IDalamudPlugin {
Directory.CreateDirectory(configDir); Directory.CreateDirectory(configDir);
for (var i = 0; i < Messages.VfxPaths.Length; i++) { for (var i = 0; i < Messages.VfxPaths.Length; i++) {
var letter = (char) ('a' + i); var letter = (char) ('a' + i);
var stream = Resourcer.Resource.AsStreamUnChecked($"OrangeGuidanceTomestone.vfx.b0941trp1{letter}_o.avfx"); var stream = Resourcer.Resource.AsStreamUnChecked($"OrangeGuidanceTomestone.vfx.sign_{letter}.avfx");
var path = Path.Join(configDir, $"sign_{letter}.avfx"); var path = Path.Join(configDir, $"sign_{letter}.avfx");
stream.CopyTo(File.Create(path)); stream.CopyTo(File.Create(path));
} }

View File

@ -10,7 +10,7 @@ public class PluginUi : IDisposable {
internal Viewer Viewer { get; } internal Viewer Viewer { get; }
internal ViewerButton ViewerButton { get; } internal ViewerButton ViewerButton { get; }
private List<(string, string)> Modals { get; } = new(); private List<(string, string)> Modals { get; } = [];
private Queue<string> ToShow { get; } = new(); private Queue<string> ToShow { get; } = new();
internal PluginUi(Plugin plugin) { internal PluginUi(Plugin plugin) {

View File

@ -13,11 +13,11 @@ internal class MainWindow {
internal MainWindow(Plugin plugin) { internal MainWindow(Plugin plugin) {
this.Plugin = plugin; this.Plugin = plugin;
this.Tabs = new List<ITab> { this.Tabs = [
new Write(this.Plugin), new Write(this.Plugin),
new MessageList(this.Plugin), new MessageList(this.Plugin),
new Settings(this.Plugin), new Settings(this.Plugin),
}; ];
} }
internal void Draw() { internal void Draw() {

View File

@ -14,7 +14,7 @@ internal class MessageList : ITab {
private SortMode Sort { get; set; } private SortMode Sort { get; set; }
private SemaphoreSlim MessagesMutex { get; } = new(1, 1); private SemaphoreSlim MessagesMutex { get; } = new(1, 1);
private List<MessageWithTerritory> Messages { get; } = new(); private List<MessageWithTerritory> Messages { get; } = [];
internal MessageList(Plugin plugin) { internal MessageList(Plugin plugin) {
this.Plugin = plugin; this.Plugin = plugin;
@ -49,7 +49,7 @@ internal class MessageList : ITab {
} }
private void ShowList() { private void ShowList() {
ImGui.TextUnformatted($"Messages: {this.Messages.Count:N0} / {Messages.MaxAmount + this.Plugin.Ui.MainWindow.ExtraMessages:N0}"); ImGui.TextUnformatted($"Messages: {this.Messages.Count:N0} / {OrangeGuidanceTomestone.Messages.MaxAmount + this.Plugin.Ui.MainWindow.ExtraMessages:N0}");
ImGui.Separator(); ImGui.Separator();

View File

@ -21,7 +21,7 @@ internal class Write : ITab {
private (int, int) _word2 = (-1, -1); private (int, int) _word2 = (-1, -1);
private int _glyph; private int _glyph;
private List<IDalamudTextureWrap> GlyphImages { get; } = new(); private List<IDalamudTextureWrap> GlyphImages { get; } = [];
private void LoadSignImages() { private void LoadSignImages() {
for (var i = 0; i < Messages.VfxPaths.Length; i++) { for (var i = 0; i < Messages.VfxPaths.Length; i++) {

BIN
client/vfx/sign_g.avfx Executable file

Binary file not shown.