diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas
index a5bd880c0e817a6c91756c18377b6d94699c26f7..b4612d3ec5cc8e7d676cc89ccac23d6f71d9066b 100644 (file)
--- a/src/game/g_netmsg.pas
+++ b/src/game/g_netmsg.pas
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*)
-{$MODE DELPHI}
+{$INCLUDE g_amodes.inc}
unit g_netmsg;
interface
e_Buffer_Write(@NetOut, gPlayer1Settings.Team);
g_Net_Client_Send(True, NET_CHAN_SERVICE);
+ g_Net_Flush(); // send immediately, there's no frames yet
end;
procedure MC_SEND_Chat(Txt: string; Mode: Byte);
e_Buffer_Write(@NetOut, Byte(NET_MSG_REQFST));
g_Net_Client_Send(True, NET_CHAN_SERVICE);
+ g_Net_Flush(); // send immediately, because loading
end;
procedure MC_SEND_CheatRequest(Kind: Byte);
procedure ResDataMsgToBytes(var bytes: AByte; const ResData: TResDataMsg);
var
ResultStream: TMemoryStream;
+ dummy: Word = $FFFE;
begin
ResultStream := TMemoryStream.Create;
+ ResultStream.WriteBuffer(dummy, 2); //dummy length
ResultStream.WriteBuffer(ResData.MsgId, SizeOf(ResData.MsgId)); //msgId
ResultStream.WriteBuffer(ResData.FileSize, SizeOf(ResData.FileSize)); //file size
ResultStream.WriteBuffer(ResData.FileData[0], ResData.FileSize); //file data
@@ -3012,11 +3016,13 @@ procedure MapDataMsgToBytes(var bytes: AByte; const MapDataMsg: TMapDataMsg);
var
ResultStream: TMemoryStream;
resCount: Integer;
+ dummy: Word = $FFFF;
begin
resCount := Length(MapDataMsg.ExternalResources);
ResultStream := TMemoryStream.Create;
+ ResultStream.WriteBuffer(dummy, 2); //dummy length
ResultStream.WriteBuffer(MapDataMsg.MsgId, SizeOf(MapDataMsg.MsgId)); //msgId
ResultStream.WriteBuffer(MapDataMsg.FileSize, SizeOf(MapDataMsg.FileSize)); //file size
ResultStream.WriteBuffer(MapDataMsg.FileData[0], MapDataMsg.FileSize); //file data