mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-13 12:14:16 +01:00
feat: print welcome message even when logged in(cheapo mode)
This commit is contained in:
parent
2f180d7c7d
commit
50e74fc97f
1 changed files with 48 additions and 34 deletions
|
|
@ -124,41 +124,12 @@ namespace Dalamud.Game {
|
||||||
private void OnChatMessage(XivChatType type, uint senderId, ref StdString sender,
|
private void OnChatMessage(XivChatType type, uint senderId, ref StdString sender,
|
||||||
ref StdString message, ref bool isHandled) {
|
ref StdString message, ref bool isHandled) {
|
||||||
|
|
||||||
if (type == XivChatType.Notice && !this.hasSeenLoadingMsg) {
|
if (type == XivChatType.Notice && !this.hasSeenLoadingMsg)
|
||||||
var assemblyVersion = Assembly.GetAssembly(typeof(ChatHandlers)).GetName().Version.ToString();
|
PrintWelcomeMessage();
|
||||||
|
|
||||||
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudWelcome", "XIVLauncher in-game addon v{0} loaded."), assemblyVersion));
|
// For injections while logged in
|
||||||
|
if (this.dalamud.ClientState.LocalPlayer != null && this.dalamud.ClientState.TerritoryType == 0 && !this.hasSeenLoadingMsg)
|
||||||
foreach (var plugin in this.dalamud.PluginManager.Plugins) {
|
PrintWelcomeMessage();
|
||||||
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginLoaded", " 》 {0} v{1} loaded."), plugin.Plugin.Name, plugin.Plugin.GetType().Assembly.GetName().Version));
|
|
||||||
}
|
|
||||||
|
|
||||||
this.hasSeenLoadingMsg = true;
|
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(this.dalamud.Configuration.LastVersion) || !assemblyVersion.StartsWith(this.dalamud.Configuration.LastVersion)) {
|
|
||||||
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry {
|
|
||||||
MessageBytes = Encoding.UTF8.GetBytes(Loc.Localize("DalamudUpdated", "The In-Game addon has been updated or was reinstalled successfully! Please check the discord for a full changelog.")),
|
|
||||||
Type = XivChatType.Notice
|
|
||||||
});
|
|
||||||
|
|
||||||
this.dalamud.Configuration.LastVersion = assemblyVersion;
|
|
||||||
this.dalamud.Configuration.Save();
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
|
||||||
var hasNeedsUpdate = this.dalamud.PluginRepository.UpdatePlugins(true).UpdatedCount != 0;
|
|
||||||
|
|
||||||
if (hasNeedsUpdate) {
|
|
||||||
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry
|
|
||||||
{
|
|
||||||
MessageBytes = Encoding.UTF8.GetBytes(Loc.Localize("DalamudPluginUpdateRequired", "One or more of your plugins needs to be updated. Please use the /xlplugins command in-game to update them!")),
|
|
||||||
Type = XivChatType.Urgent
|
|
||||||
});
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
Log.Error(e, Loc.Localize("DalamudPluginUpdateCheckFail", "Could not check for plugin updates."));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#if !DEBUG && false
|
#if !DEBUG && false
|
||||||
if (!this.hasSeenLoadingMsg)
|
if (!this.hasSeenLoadingMsg)
|
||||||
|
|
@ -230,6 +201,49 @@ namespace Dalamud.Game {
|
||||||
LastLink = linkMatch.Value;
|
LastLink = linkMatch.Value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void PrintWelcomeMessage() {
|
||||||
|
var assemblyVersion = Assembly.GetAssembly(typeof(ChatHandlers)).GetName().Version.ToString();
|
||||||
|
|
||||||
|
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudWelcome", "Dalamud v{0} loaded."), assemblyVersion));
|
||||||
|
|
||||||
|
foreach (var plugin in this.dalamud.PluginManager.Plugins)
|
||||||
|
{
|
||||||
|
this.dalamud.Framework.Gui.Chat.Print(string.Format(Loc.Localize("DalamudPluginLoaded", " 》 {0} v{1} loaded."), plugin.Plugin.Name, plugin.Plugin.GetType().Assembly.GetName().Version));
|
||||||
|
}
|
||||||
|
|
||||||
|
this.hasSeenLoadingMsg = true;
|
||||||
|
|
||||||
|
if (string.IsNullOrEmpty(this.dalamud.Configuration.LastVersion) || !assemblyVersion.StartsWith(this.dalamud.Configuration.LastVersion))
|
||||||
|
{
|
||||||
|
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry
|
||||||
|
{
|
||||||
|
MessageBytes = Encoding.UTF8.GetBytes(Loc.Localize("DalamudUpdated", "The In-Game addon has been updated or was reinstalled successfully! Please check the discord for a full changelog.")),
|
||||||
|
Type = XivChatType.Notice
|
||||||
|
});
|
||||||
|
|
||||||
|
this.dalamud.Configuration.LastVersion = assemblyVersion;
|
||||||
|
this.dalamud.Configuration.Save();
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var hasNeedsUpdate = this.dalamud.PluginRepository.UpdatePlugins(true).UpdatedCount != 0;
|
||||||
|
|
||||||
|
if (hasNeedsUpdate)
|
||||||
|
{
|
||||||
|
this.dalamud.Framework.Gui.Chat.PrintChat(new XivChatEntry
|
||||||
|
{
|
||||||
|
MessageBytes = Encoding.UTF8.GetBytes(Loc.Localize("DalamudPluginUpdateRequired", "One or more of your plugins needs to be updated. Please use the /xlplugins command in-game to update them!")),
|
||||||
|
Type = XivChatType.Urgent
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.Error(e, Loc.Localize("DalamudPluginUpdateCheckFail", "Could not check for plugin updates."));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static string MakeItalics(string text) {
|
private static string MakeItalics(string text) {
|
||||||
// TODO: when the above code is switched to SeString, this can be a straight insertion of the
|
// TODO: when the above code is switched to SeString, this can be a straight insertion of the
|
||||||
// italics payloads only, and be a lot cleaner
|
// italics payloads only, and be a lot cleaner
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue