From: js6pak Date: Thu, 17 Jun 2021 12:10:38 +0000 (+0200) Subject: Announcements protocol changes X-Git-Tag: v1.5.0~7^2~6 X-Git-Url: https://git.deb.at/?a=commitdiff_plain;h=c086cf80b1dfcfe238b6e5f6fe384d32c41edacd;p=rhonda%2Fimpostor.git Announcements protocol changes --- diff --git a/src/Impostor.Api/Events/Announcements/IAnnouncementRequestEvent.cs b/src/Impostor.Api/Events/Announcements/IAnnouncementRequestEvent.cs index a0e5445..5735856 100644 --- a/src/Impostor.Api/Events/Announcements/IAnnouncementRequestEvent.cs +++ b/src/Impostor.Api/Events/Announcements/IAnnouncementRequestEvent.cs @@ -9,11 +9,6 @@ namespace Impostor.Api.Events.Announcements { public interface IResponse { - /// - /// Gets or sets FreeWeekendState, currently unused by the client. - /// - public FreeWeekendState FreeWeekendState { get; set; } - /// /// Gets or sets a value indicating whether announcement should be loaded from client's cache, can save some bytes. /// diff --git a/src/Impostor.Api/Innersloth/FreeWeekendState.cs b/src/Impostor.Api/Innersloth/FreeWeekendState.cs deleted file mode 100644 index 2effda8..0000000 --- a/src/Impostor.Api/Innersloth/FreeWeekendState.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; - -namespace Impostor.Api.Innersloth -{ - [Flags] - public enum FreeWeekendState : byte - { - NotFree, - FreeMIRA, - FreePolus, - } -} diff --git a/src/Impostor.Api/Innersloth/Language.cs b/src/Impostor.Api/Innersloth/Language.cs index b17e5ad..2b734ba 100644 --- a/src/Impostor.Api/Innersloth/Language.cs +++ b/src/Impostor.Api/Innersloth/Language.cs @@ -3,9 +3,17 @@ namespace Impostor.Api.Innersloth public enum Language { English, - Spanish, + SpanishLA, + Brazilian, Portuguese, Korean, Russian, + Dutch, + Filipino, + French, + German, + Italian, + Japanese, + SpanishEU, } } diff --git a/src/Impostor.Api/Net/Messages/Announcements/Message02SetFreeWeekend.cs b/src/Impostor.Api/Net/Messages/Announcements/Message02SetFreeWeekend.cs deleted file mode 100644 index 054f313..0000000 --- a/src/Impostor.Api/Net/Messages/Announcements/Message02SetFreeWeekend.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Impostor.Api.Innersloth; - -namespace Impostor.Api.Net.Messages.Announcements -{ - public static class Message02SetFreeWeekend - { - public static void Serialize(IMessageWriter writer, FreeWeekendState state) - { - writer.StartMessage(AnnouncementsMessageFlags.SetFreeWeekend); - writer.Write((byte)state); - writer.EndMessage(); - } - - public static void Deserialize(IMessageReader reader, out FreeWeekendState state) - { - state = (FreeWeekendState)reader.ReadByte(); - } - } -} diff --git a/src/Impostor.Api/Net/Messages/Announcements/Message04AddLanguages.cs b/src/Impostor.Api/Net/Messages/Announcements/Message04AddLanguages.cs new file mode 100644 index 0000000..1ea7b20 --- /dev/null +++ b/src/Impostor.Api/Net/Messages/Announcements/Message04AddLanguages.cs @@ -0,0 +1,32 @@ +using System.Collections.Generic; + +namespace Impostor.Api.Net.Messages.Announcements +{ + public static class Message04AddLanguages + { + public static void Serialize(IMessageWriter writer, Dictionary languages) + { + writer.StartMessage(AnnouncementsMessageFlags.AddLanguages); + + writer.Write((byte)languages.Count); + foreach (var (name, id) in languages) + { + writer.Write(name); + writer.Write(id); + } + + writer.EndMessage(); + } + + public static void Deserialize(IMessageReader reader, out Dictionary languages) + { + var length = reader.ReadByte(); + languages = new Dictionary(length); + + for (var i = 0; i < length; i++) + { + languages[reader.ReadString()] = reader.ReadUInt32(); + } + } + } +} diff --git a/src/Impostor.Api/Net/Messages/AnnouncementsMessageFlags.cs b/src/Impostor.Api/Net/Messages/AnnouncementsMessageFlags.cs index 498d3e4..cedfdd3 100644 --- a/src/Impostor.Api/Net/Messages/AnnouncementsMessageFlags.cs +++ b/src/Impostor.Api/Net/Messages/AnnouncementsMessageFlags.cs @@ -4,6 +4,6 @@ namespace Impostor.Api.Net.Messages { public const byte UseCache = 0; public const byte SetUpdate = 1; - public const byte SetFreeWeekend = 2; + public const byte AddLanguages = 4; } } diff --git a/src/Impostor.Server/Events/Announcements/AnnouncementRequestEvent.cs b/src/Impostor.Server/Events/Announcements/AnnouncementRequestEvent.cs index 0f5b552..8f22d74 100644 --- a/src/Impostor.Server/Events/Announcements/AnnouncementRequestEvent.cs +++ b/src/Impostor.Server/Events/Announcements/AnnouncementRequestEvent.cs @@ -19,8 +19,6 @@ namespace Impostor.Server.Events.Announcements public class AnnouncementResponse : IAnnouncementRequestEvent.IResponse { - public FreeWeekendState FreeWeekendState { get; set; } = FreeWeekendState.NotFree; - public bool UseCached { get; set; } = false; public Announcement? Announcement { get; set; } = null; diff --git a/src/Impostor.Server/Net/AnnouncementsService.cs b/src/Impostor.Server/Net/AnnouncementsService.cs index 6ca0bb9..9bb0874 100644 --- a/src/Impostor.Server/Net/AnnouncementsService.cs +++ b/src/Impostor.Server/Net/AnnouncementsService.cs @@ -101,15 +101,6 @@ namespace Impostor.Server.Net _logger.LogDebug("Sent ({Id}) {Message}", announcement.Id, announcement.Message); } - if (response.FreeWeekendState != FreeWeekendState.NotFree) - { - using var writer = MessageWriter.Get(MessageType.Reliable); - Message02SetFreeWeekend.Serialize(writer, response.FreeWeekendState); - await e.Connection.SendAsync(writer); - - _logger.LogDebug("Sent {FreeWeekendState} weekend state", response.FreeWeekendState); - } - await e.Connection.Disconnect(null); } }