DEADSOFTWARE

net: add 'announce' command
authorfgsfds <pvt.fgsfds@gmail.com>
Mon, 2 May 2022 13:44:59 +0000 (16:44 +0300)
committerfgsfds <pvt.fgsfds@gmail.com>
Mon, 2 May 2022 13:44:59 +0000 (16:44 +0300)
src/game/g_console.pas
src/game/g_game.pas

index 87a1fba23b9c5120f144dd618f41080078dd80ad..983b63b195c285158b332ed9e99b910309aa55c5 100644 (file)
@@ -1109,6 +1109,7 @@ begin
   AddCommand('bot_removeall', GameCommands);
   AddCommand('chat', GameCommands);
   AddCommand('teamchat', GameCommands);
+  AddCommand('announce', GameCommands);
   AddCommand('game', GameCommands);
   AddCommand('host', GameCommands);
   AddCommand('map', GameCommands);
index 4ac5ec7ef8fd542e1b04f406e3637ad097fb5cb3..6049b9062b623b4ecbee540b685c17f6aca9e1c2 100644 (file)
@@ -6976,6 +6976,34 @@ begin
     end else
       g_Console_Add(_lc[I_MSG_GM_UNAVAIL]);
   end
+  else if cmd = 'announce' then
+  begin
+    if g_Game_IsNet then
+    begin
+      if Length(P) > 1 then
+      begin
+        for a := 1 to High(P) do
+          chstr := chstr + P[a] + ' ';
+
+        if Length(chstr) > 200 then SetLength(chstr, 200);
+
+        if Length(chstr) < 1 then
+        begin
+          g_Console_Add('announce <text>');
+          Exit;
+        end;
+
+        chstr := 'centerprint 100 ' + b_Text_Format(chstr);
+        if g_Game_IsClient then
+          MC_SEND_RCONCommand(chstr)
+        else
+          g_Console_Process(chstr, True);
+      end
+      else
+        g_Console_Add('announce <text>');
+    end else
+      g_Console_Add(_lc[I_MSG_GM_UNAVAIL]);
+  end
   else if cmd = 'game' then
   begin
     if gGameSettings.GameType <> GT_NONE then
@@ -7775,7 +7803,7 @@ begin
     name := e_CatPath(dir, Filename + '.png');
     s := createDiskFile(name);
     try
-      e_MakeScreenshot(s, gWinSizeX, gWinSizeY);
+      e_MakeScreenshot(s, gWinSizeX, gWinSizeX);
       s.Free;
       g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name]))
     except