diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index 2a52eccfb90dd8b19c144ee23530224f9684315a..ad2a0f7e1fd54ead47a35dba8880325ffbe9d4d5 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
g_playermodel, g_gfx, g_options, g_weapons, Math,
g_triggers, MAPDEF, g_monsters, e_sound, CONFIG,
BinEditor, g_language, g_net, SDL,
- ENet, e_fixedbuffer, g_netmsg, g_netmaster, GL, GLExt,
+ ENet, e_msg, g_netmsg, g_netmaster, GL, GLExt,
utils, sfs;
w: Word;
i, b: Integer;
- function sendMonsPos (monidx: Integer; mon: TMonster): Boolean;
+ function sendMonsPos (mon: TMonster): Boolean;
begin
result := false; // don't stop
if (mon.MonsterType = MONSTER_BARREL) then
var
a, aX, aY, aX2, aY2, Scale, ScaleSz: Integer;
- function monDraw (monidx: Integer; mon: TMonster): Boolean;
+ function monDraw (mon: TMonster): Boolean;
begin
result := false; // don't stop
with mon do
State: Byte;
OuterLoop: Boolean;
newResPath: string;
+ InMsg: TMsg;
begin
g_Game_Free();
if (NetEvent.kind = ENET_EVENT_TYPE_RECEIVE) then
begin
Ptr := NetEvent.packet^.data;
- e_Raw_Seek(0);
+ if not InMsg.Init(Ptr, NetEvent.packet^.dataLength, True) then
+ continue;
- MID := e_Raw_Read_Byte(Ptr);
+ MID := InMsg.ReadByte();
if (MID = NET_MSG_INFO) and (State = 0) then
begin
- NetMyID := e_Raw_Read_Byte(Ptr);
- NetPlrUID1 := e_Raw_Read_Word(Ptr);
+ NetMyID := InMsg.ReadByte();
+ NetPlrUID1 := InMsg.ReadWord();
- WadName := e_Raw_Read_String(Ptr);
- Map := e_Raw_Read_String(Ptr);
+ WadName := InMsg.ReadString();
+ Map := InMsg.ReadString();
- gWADHash := e_Raw_Read_MD5(Ptr);
+ gWADHash := InMsg.ReadMD5();
- gGameSettings.GameMode := e_Raw_Read_Byte(Ptr);
+ gGameSettings.GameMode := InMsg.ReadByte();
gSwitchGameMode := gGameSettings.GameMode;
- gGameSettings.GoalLimit := e_Raw_Read_Word(Ptr);
- gGameSettings.TimeLimit := e_Raw_Read_Word(Ptr);
- gGameSettings.MaxLives := e_Raw_Read_Byte(Ptr);
- gGameSettings.Options := e_Raw_Read_LongWord(Ptr);
- T := e_Raw_Read_LongWord(Ptr);
+ gGameSettings.GoalLimit := InMsg.ReadWord();
+ gGameSettings.TimeLimit := InMsg.ReadWord();
+ gGameSettings.MaxLives := InMsg.ReadByte();
+ gGameSettings.Options := InMsg.ReadLongWord();
+ T := InMsg.ReadLongWord();
newResPath := g_Res_SearchSameWAD(MapsDir, WadName, gWADHash);
if newResPath = '' then
var
i, n, nb, nr: Integer;
- function monRespawn (monidx: Integer; mon: TMonster): Boolean;
+ function monRespawn (mon: TMonster): Boolean;
begin
result := false; // don't stop
if not mon.FNoRespawn then mon.Respawn();