]> git.deb.at Git - rhonda/impostor.git/commitdiff
Announcements protocol changes
authorjs6pak <kubastaron@hotmail.com>
Thu, 17 Jun 2021 12:10:38 +0000 (14:10 +0200)
committerminiduikboot <mini@duikbo.at>
Fri, 25 Jun 2021 16:46:28 +0000 (18:46 +0200)
src/Impostor.Api/Events/Announcements/IAnnouncementRequestEvent.cs
src/Impostor.Api/Innersloth/FreeWeekendState.cs [deleted file]
src/Impostor.Api/Innersloth/Language.cs
src/Impostor.Api/Net/Messages/Announcements/Message02SetFreeWeekend.cs [deleted file]
src/Impostor.Api/Net/Messages/Announcements/Message04AddLanguages.cs [new file with mode: 0644]
src/Impostor.Api/Net/Messages/AnnouncementsMessageFlags.cs
src/Impostor.Server/Events/Announcements/AnnouncementRequestEvent.cs
src/Impostor.Server/Net/AnnouncementsService.cs

index a0e54452df854aec24195f148e42a6c60bb45878..5735856b38e72d355bff5b8570ae777e0b7d4a9b 100644 (file)
@@ -9,11 +9,6 @@ namespace Impostor.Api.Events.Announcements
     {
         public interface IResponse
         {
-            /// <summary>
-            ///     Gets or sets FreeWeekendState, currently unused by the client.
-            /// </summary>
-            public FreeWeekendState FreeWeekendState { get; set; }
-
             /// <summary>
             ///     Gets or sets a value indicating whether announcement should be loaded from client's cache, can save some bytes.
             /// </summary>
diff --git a/src/Impostor.Api/Innersloth/FreeWeekendState.cs b/src/Impostor.Api/Innersloth/FreeWeekendState.cs
deleted file mode 100644 (file)
index 2effda8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-
-namespace Impostor.Api.Innersloth
-{
-    [Flags]
-    public enum FreeWeekendState : byte
-    {
-        NotFree,
-        FreeMIRA,
-        FreePolus,
-    }
-}
index b17e5ad8c89434ce044e4ab7824c399450908e24..2b734bab4db502558200a21bd5bb67c94883c615 100644 (file)
@@ -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 (file)
index 054f313..0000000
+++ /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 (file)
index 0000000..1ea7b20
--- /dev/null
@@ -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<string, uint> 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<string, uint> languages)
+        {
+            var length = reader.ReadByte();
+            languages = new Dictionary<string, uint>(length);
+
+            for (var i = 0; i < length; i++)
+            {
+                languages[reader.ReadString()] = reader.ReadUInt32();
+            }
+        }
+    }
+}
index 498d3e4121d50255f7f6ae71cdde4af279cc9442..cedfdd3ce52e68045d6039cfd37deae87379cc6f 100644 (file)
@@ -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;
     }
 }
index 0f5b55291839d1707344346f3a4ae2521bbce844..8f22d748c05b26824c0efd515500648fa46ac001 100644 (file)
@@ -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;
index 6ca0bb9a12f41d2206d4995e745bd3b941489cb7..9bb08748e8d91f098f7da1ab3c31642f0f8b07c8 100644 (file)
@@ -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);
         }
     }