diff --git a/src/game/g_netmsg.pas b/src/game/g_netmsg.pas
index 822ae9bec9edd7f83cd947bcd02f5865e786773e..86c76570e35722f43ae564b2cd1958016ea0a326 100644 (file)
--- a/src/game/g_netmsg.pas
+++ b/src/game/g_netmsg.pas
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [PName]), True);
e_WriteLog('NET: Client ' + PName + ' [' + IntToStr(C^.ID) +
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [PName]), True);
e_WriteLog('NET: Client ' + PName + ' [' + IntToStr(C^.ID) +
- '] connected. Assigned player #' + IntToStr(PID) + '.', MSG_NOTIFY);
+ '] connected. Assigned player #' + IntToStr(PID) + '.', TMsgType.Notify);
MH_SEND_Info(C^.ID);
MH_SEND_Info(C^.ID);
if Mode = NET_CHAT_PLAYER then
begin
g_Console_Add(Txt, True);
if Mode = NET_CHAT_PLAYER then
begin
g_Console_Add(Txt, True);
- e_WriteLog('[Chat] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Chat] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end
else
g_Sound_PlayEx('SOUND_GAME_RADIO');
end
else
if (gPlayer1.Team = TEAM_RED) and (Team = TEAM_RED) then
begin
g_Console_Add(#18'[Team] '#2 + Txt, True);
if (gPlayer1.Team = TEAM_RED) and (Team = TEAM_RED) then
begin
g_Console_Add(#18'[Team] '#2 + Txt, True);
- e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end
else if (gPlayer1.Team = TEAM_BLUE) and (Team = TEAM_BLUE) then
begin
g_Console_Add(#20'[Team] '#2 + Txt, True);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end
else if (gPlayer1.Team = TEAM_BLUE) and (Team = TEAM_BLUE) then
begin
g_Console_Add(#20'[Team] '#2 + Txt, True);
- e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end;
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end;
begin
Name := g_Net_ClientName_ByID(ID);
g_Console_Add('-> ' + Name + ': ' + Txt, True);
begin
Name := g_Net_ClientName_ByID(ID);
g_Console_Add('-> ' + Name + ': ' + Txt, True);
- e_WriteLog('[Tell ' + Name + '] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Tell ' + Name + '] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end;
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end;
end;
NetOut.Write(kByte);
end;
NetOut.Write(kByte);
- if Direction = D_LEFT then NetOut.Write(Byte(0)) else NetOut.Write(Byte(1));
+ if Direction = TDirection.D_LEFT then NetOut.Write(Byte(0)) else NetOut.Write(Byte(1));
NetOut.Write(GameX);
NetOut.Write(GameY);
NetOut.Write(GameVelX);
NetOut.Write(GameX);
NetOut.Write(GameY);
NetOut.Write(GameVelX);
procedure MH_SEND_ItemSpawn(Quiet: Boolean; IID: Word; ID: Integer = NET_EVERYONE);
var
it: PItem;
procedure MH_SEND_ItemSpawn(Quiet: Boolean; IID: Word; ID: Integer = NET_EVERYONE);
var
it: PItem;
+ tt: Byte;
begin
it := g_Items_ByIdx(IID);
NetOut.Write(Byte(NET_MSG_ISPAWN));
NetOut.Write(IID);
NetOut.Write(Byte(Quiet));
begin
it := g_Items_ByIdx(IID);
NetOut.Write(Byte(NET_MSG_ISPAWN));
NetOut.Write(IID);
NetOut.Write(Byte(Quiet));
- NetOut.Write(it.ItemType);
+ tt := it.ItemType;
+ if it.dropped then tt := tt or $80;
+ NetOut.Write(tt);
NetOut.Write(Byte(it.Fall));
NetOut.Write(Byte(it.Respawnable));
NetOut.Write(it.Obj.X);
NetOut.Write(Byte(it.Fall));
NetOut.Write(Byte(it.Respawnable));
NetOut.Write(it.Obj.X);
if Mode = NET_CHAT_PLAYER then
begin
g_Console_Add(Txt, True);
if Mode = NET_CHAT_PLAYER then
begin
g_Console_Add(Txt, True);
- e_WriteLog('[Chat] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Chat] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end else
if (Mode = NET_CHAT_TEAM) and (gPlayer1 <> nil) then
g_Sound_PlayEx('SOUND_GAME_RADIO');
end else
if (Mode = NET_CHAT_TEAM) and (gPlayer1 <> nil) then
g_Console_Add(b_Text_Format('\r[Team] ') + Txt, True);
if gPlayer1.Team = TEAM_BLUE then
g_Console_Add(b_Text_Format('\b[Team] ') + Txt, True);
g_Console_Add(b_Text_Format('\r[Team] ') + Txt, True);
if gPlayer1.Team = TEAM_BLUE then
g_Console_Add(b_Text_Format('\b[Team] ') + Txt, True);
- e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), MSG_NOTIFY);
+ e_WriteLog('[Team Chat] ' + b_Text_Unformat(Txt), TMsgType.Notify);
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end else
g_Sound_PlayEx('SOUND_GAME_RADIO');
end;
end else
end;
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [PName]), True);
end;
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [PName]), True);
- e_WriteLog('NET: Player ' + PName + ' [' + IntToStr(PID) + '] added.', MSG_NOTIFY);
+ e_WriteLog('NET: Player ' + PName + ' [' + IntToStr(PID) + '] added.', TMsgType.Notify);
Result := PID;
end;
Result := PID;
end;
if Pl = nil then Exit;
g_Console_Add(Format(_lc[I_PLAYER_LEAVE], [Pl.Name]), True);
if Pl = nil then Exit;
g_Console_Add(Format(_lc[I_PLAYER_LEAVE], [Pl.Name]), True);
- e_WriteLog('NET: Player ' + Pl.Name + ' [' + IntToStr(PID) + '] removed.', MSG_NOTIFY);
+ e_WriteLog('NET: Player ' + Pl.Name + ' [' + IntToStr(PID) + '] removed.', TMsgType.Notify);
g_Player_Remove(PID);
g_Player_Remove(PID);
VX := M.ReadLongInt();
VY := M.ReadLongInt();
VX := M.ReadLongInt();
VY := M.ReadLongInt();
- g_Items_Create(X, Y, T, Fall, False, False, ID);
+ g_Items_Create(X, Y, T and $7F, Fall, False, False, ID);
+ if ((T and $80) <> 0) then g_Items_SetDrop(ID);
it := g_Items_ByIdx(ID);
it.Obj.Vel.X := VX;
it := g_Items_ByIdx(ID);
it.Obj.Vel.X := VX;
begin
if SPlaying then
begin
begin
if SPlaying then
begin
- if trigData.trigLocal then
- Sound.PlayVolumeAt(X+(Width div 2), Y+(Height div 2), trigData.trigVolume/255.0)
+ if tgcLocal then
+ Sound.PlayVolumeAt(X+(Width div 2), Y+(Height div 2), tgcVolume/255.0)
else
else
- Sound.PlayPanVolume((trigData.trigPan-127.0)/128.0, trigData.trigVolume/255.0);
+ Sound.PlayPanVolume((tgcPan-127.0)/128.0, tgcVolume/255.0);
Sound.SetPosition(SPos);
end
else
Sound.SetPosition(SPos);
end
else
// new strafe mechanics
if (strafeDir = 0) then strafeDir := P1MoveButton; // start strafing
// now set direction according to strafe (reversed)
// new strafe mechanics
if (strafeDir = 0) then strafeDir := P1MoveButton; // start strafing
// now set direction according to strafe (reversed)
- if (strafeDir = 2) then gPlayer1.SetDirection(D_LEFT)
- else if (strafeDir = 1) then gPlayer1.SetDirection(D_RIGHT);
+ if (strafeDir = 2) then gPlayer1.SetDirection(TDirection.D_LEFT)
+ else if (strafeDir = 1) then gPlayer1.SetDirection(TDirection.D_RIGHT);
end
else
begin
end
else
begin
- if (P1MoveButton = 2) and isKeyPressed(KeyLeft, KeyLeft2) then gPlayer1.SetDirection(D_LEFT)
- else if (P1MoveButton = 1) and isKeyPressed(KeyRight, KeyRight2) then gPlayer1.SetDirection(D_RIGHT)
+ if (P1MoveButton = 2) and isKeyPressed(KeyLeft, KeyLeft2) then gPlayer1.SetDirection(TDirection.D_LEFT)
+ else if (P1MoveButton = 1) and isKeyPressed(KeyRight, KeyRight2) then gPlayer1.SetDirection(TDirection.D_RIGHT)
else if P1MoveButton <> 0 then gPlayer1.SetDirection(TDirection(P1MoveButton-1));
end;
else if P1MoveButton <> 0 then gPlayer1.SetDirection(TDirection(P1MoveButton-1));
end;
FileStream : TStream;
fname: string;
begin
FileStream : TStream;
fname: string;
begin
- e_WriteLog(Format('NETWORK: looking for file "%s"', [FileName]), MSG_NOTIFY);
+ e_WriteLog(Format('NETWORK: looking for file "%s"', [FileName]), TMsgType.Notify);
fname := findDiskWad(FileName);
if length(fname) = 0 then
begin
fname := findDiskWad(FileName);
if length(fname) = 0 then
begin
- e_WriteLog(Format('NETWORK: file "%s" not found!', [FileName]), MSG_FATALERROR);
+ e_WriteLog(Format('NETWORK: file "%s" not found!', [FileName]), TMsgType.Fatal);
SetLength(Result, 0);
exit;
end;
SetLength(Result, 0);
exit;
end;
- e_WriteLog(Format('NETWORK: found file "%s"', [fname]), MSG_NOTIFY);
+ e_WriteLog(Format('NETWORK: found file "%s"', [fname]), TMsgType.Notify);
Result := nil;
FileStream := openDiskFileRO(fname);
try
Result := nil;
FileStream := openDiskFileRO(fname);
try
mapDataMsg: TMapDataMsg;
begin
e_WriteLog('NET: Received map request from ' +
mapDataMsg: TMapDataMsg;
begin
e_WriteLog('NET: Received map request from ' +
- DecodeIPV4(C.Peer.address.host), MSG_NOTIFY);
+ DecodeIPV4(C.Peer.address.host), TMsgType.Notify);
mapDataMsg := CreateMapDataMsg(MapsDir + gGameSettings.WAD, gExternalResources);
peer := NetClients[C.ID].Peer;
mapDataMsg := CreateMapDataMsg(MapsDir + gGameSettings.WAD, gExternalResources);
peer := NetClients[C.ID].Peer;
begin
FileName := ExtractFileName(M.ReadString());
e_WriteLog('NET: Received res request: ' + FileName +
begin
FileName := ExtractFileName(M.ReadString());
e_WriteLog('NET: Received res request: ' + FileName +
- ' from ' + DecodeIPV4(C.Peer.address.host), MSG_NOTIFY);
+ ' from ' + DecodeIPV4(C.Peer.address.host), TMsgType.Notify);
if not IsValidFilePath(FileName) then
begin
if not IsValidFilePath(FileName) then
begin
- e_WriteLog('Invalid filename: ' + FileName, MSG_WARNING);
+ e_WriteLog('Invalid filename: ' + FileName, TMsgType.Warning);
exit;
end;
exit;
end;