Update Readers/Writers for Buffers & Fixes bugs (#283)
- [X] Renames PacketReader to CircularBufferReader - [X] Fixes bugs with CircularBufferReader - [X] Adds CircularBufferWriter - [X] Adds SpanWriter - [X] Adds SpanReader Bumps release version
This commit is contained in:
parent
3b7f648c27
commit
6bd4f0d265
26 changed files with 1302 additions and 351 deletions
|
|
@ -23,7 +23,7 @@ namespace Server.Engines.Chat
|
|||
to?.Send(new ChatMessagePacket(null, (int)type + 20, param1, param2));
|
||||
}
|
||||
|
||||
public static void OpenChatWindowRequest(NetState state, PacketReader reader)
|
||||
public static void OpenChatWindowRequest(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
@ -56,7 +56,7 @@ namespace Server.Engines.Chat
|
|||
return user;
|
||||
}
|
||||
|
||||
public static void ChatAction(NetState state, PacketReader reader)
|
||||
public static void ChatAction(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (!Enabled)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ namespace Server.Engines.MLQuests.Gumps
|
|||
return false;
|
||||
}
|
||||
|
||||
private static void RaceChangeReply(NetState state, PacketReader reader)
|
||||
private static void RaceChangeReply(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (!m_Pending.TryGetValue(state, out var raceChangeState))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -366,7 +366,7 @@ namespace Server.Items
|
|||
PacketHandlers.Register(0x93, 99, true, OldHeaderChange);
|
||||
}
|
||||
|
||||
public static void OldHeaderChange(NetState state, PacketReader reader)
|
||||
public static void OldHeaderChange(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
@ -385,7 +385,7 @@ namespace Server.Items
|
|||
book.Author = Utility.FixHtml(author);
|
||||
}
|
||||
|
||||
public static void HeaderChange(NetState state, PacketReader reader)
|
||||
public static void HeaderChange(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
@ -419,7 +419,7 @@ namespace Server.Items
|
|||
book.Author = Utility.FixHtml(author);
|
||||
}
|
||||
|
||||
public static void ContentChange(NetState state, PacketReader reader)
|
||||
public static void ContentChange(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ using Server.Network;
|
|||
|
||||
namespace Server.Engines.Mahjong
|
||||
{
|
||||
public delegate void OnMahjongPacketReceive(MahjongGame game, NetState state, PacketReader reader);
|
||||
public delegate void OnMahjongPacketReceive(MahjongGame game, NetState state, CircularBufferReader reader);
|
||||
|
||||
public sealed class MahjongPacketHandlers
|
||||
{
|
||||
|
|
@ -41,7 +41,7 @@ namespace Server.Engines.Mahjong
|
|||
RegisterSubCommand(0x18, MoveDealerIndicator);
|
||||
}
|
||||
|
||||
public static void OnPacket(NetState state,PacketReader reader)
|
||||
public static void OnPacket(NetState state,CircularBufferReader reader)
|
||||
{
|
||||
var game = World.FindItem(reader.ReadUInt32()) as MahjongGame;
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ namespace Server.Engines.Mahjong
|
|||
};
|
||||
}
|
||||
|
||||
public static void ExitGame(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void ExitGame(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game == null)
|
||||
{
|
||||
|
|
@ -97,7 +97,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.LeaveGame(from);
|
||||
}
|
||||
|
||||
public static void GivePoints(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void GivePoints(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGamePlayer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -110,7 +110,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.TransferScore(state.Mobile, to, amount);
|
||||
}
|
||||
|
||||
public static void RollDice(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void RollDice(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGamePlayer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -120,7 +120,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Dices.RollDices(state.Mobile);
|
||||
}
|
||||
|
||||
public static void BuildWalls(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void BuildWalls(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -130,7 +130,7 @@ namespace Server.Engines.Mahjong
|
|||
game.ResetWalls(state.Mobile);
|
||||
}
|
||||
|
||||
public static void ResetScores(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void ResetScores(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -140,7 +140,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.ResetScores(MahjongGame.BaseScore);
|
||||
}
|
||||
|
||||
public static void AssignDealer(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void AssignDealer(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -152,7 +152,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.AssignDealer(position);
|
||||
}
|
||||
|
||||
public static void OpenSeat(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void OpenSeat(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -169,7 +169,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.OpenSeat(position);
|
||||
}
|
||||
|
||||
public static void ChangeOption(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void ChangeOption(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -185,7 +185,7 @@ namespace Server.Engines.Mahjong
|
|||
game.SpectatorVision = (options & 0x2) != 0;
|
||||
}
|
||||
|
||||
public static void MoveWallBreakIndicator(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void MoveWallBreakIndicator(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -198,7 +198,7 @@ namespace Server.Engines.Mahjong
|
|||
game.WallBreakIndicator.Move(new Point2D(x, y));
|
||||
}
|
||||
|
||||
public static void TogglePublicHand(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void TogglePublicHand(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGamePlayer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -213,7 +213,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Players.SetPublic(game.Players.GetPlayerIndex(state.Mobile), publicHand);
|
||||
}
|
||||
|
||||
public static void MoveTile(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void MoveTile(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGamePlayer(state.Mobile) != true)
|
||||
{
|
||||
|
|
@ -248,7 +248,7 @@ namespace Server.Engines.Mahjong
|
|||
game.Tiles[number].Move(new Point2D(x, y), direction, flip, game.Players.GetPlayerIndex(state.Mobile));
|
||||
}
|
||||
|
||||
public static void MoveDealerIndicator(MahjongGame game, NetState state, PacketReader reader)
|
||||
public static void MoveDealerIndicator(MahjongGame game, NetState state, CircularBufferReader reader)
|
||||
{
|
||||
if (game?.Players.IsInGameDealer(state.Mobile) != true)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -334,7 +334,7 @@ namespace Server.Items
|
|||
PacketHandlers.Register(0x56, 11, true, OnMapCommand);
|
||||
}
|
||||
|
||||
private static void OnMapCommand(NetState state, PacketReader reader)
|
||||
private static void OnMapCommand(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ namespace Server.Items
|
|||
PacketHandlers.Register(0x71, 0, true, BBClientRequest);
|
||||
}
|
||||
|
||||
public static void BBClientRequest(NetState state, PacketReader reader)
|
||||
public static void BBClientRequest(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
@ -260,7 +260,7 @@ namespace Server.Items
|
|||
}
|
||||
}
|
||||
|
||||
public static void BBRequestContent(Mobile from, BaseBulletinBoard board, PacketReader reader)
|
||||
public static void BBRequestContent(Mobile from, BaseBulletinBoard board, CircularBufferReader reader)
|
||||
{
|
||||
if (!(World.FindItem(reader.ReadUInt32()) is BulletinMessage msg) || msg.Parent != board)
|
||||
{
|
||||
|
|
@ -270,7 +270,7 @@ namespace Server.Items
|
|||
from.Send(new BBMessageContent(board, msg));
|
||||
}
|
||||
|
||||
public static void BBRequestHeader(Mobile from, BaseBulletinBoard board, PacketReader reader)
|
||||
public static void BBRequestHeader(Mobile from, BaseBulletinBoard board, CircularBufferReader reader)
|
||||
{
|
||||
if (!(World.FindItem(reader.ReadUInt32()) is BulletinMessage msg) || msg.Parent != board)
|
||||
{
|
||||
|
|
@ -280,7 +280,7 @@ namespace Server.Items
|
|||
from.Send(new BBMessageHeader(board, msg));
|
||||
}
|
||||
|
||||
public static void BBPostMessage(Mobile from, BaseBulletinBoard board, PacketReader reader)
|
||||
public static void BBPostMessage(Mobile from, BaseBulletinBoard board, CircularBufferReader reader)
|
||||
{
|
||||
var thread = World.FindItem(reader.ReadUInt32()) as BulletinMessage;
|
||||
|
||||
|
|
@ -337,7 +337,7 @@ namespace Server.Items
|
|||
board.PostMessage(from, thread, subject, lines);
|
||||
}
|
||||
|
||||
public static void BBRemoveMessage(Mobile from, BaseBulletinBoard board, PacketReader reader)
|
||||
public static void BBRemoveMessage(Mobile from, BaseBulletinBoard board, CircularBufferReader reader)
|
||||
{
|
||||
if (!(World.FindItem(reader.ReadUInt32()) is BulletinMessage msg) || msg.Parent != board)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ namespace Server
|
|||
}
|
||||
}
|
||||
|
||||
public static void OnReceive(NetState state, PacketReader reader)
|
||||
public static void OnReceive(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
reader.ReadByte(); // 1: <4.0.1a, 2>=4.0.1a
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
private static void OnPartyTrack(NetState state, PacketReader reader)
|
||||
private static void OnPartyTrack(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
var party = Party.Get(from);
|
||||
|
|
@ -36,7 +36,7 @@ namespace Server.Misc
|
|||
}
|
||||
}
|
||||
|
||||
private static void OnGuildTrack(NetState state, PacketReader reader)
|
||||
private static void OnGuildTrack(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ namespace Server.Misc
|
|||
public static PacketHandler GetHandler(int packetID) =>
|
||||
packetID >= 0 && packetID < m_Handlers.Length ? m_Handlers[packetID] : null;
|
||||
|
||||
public static void DecodeBundledPacket(NetState state, PacketReader reader)
|
||||
public static void DecodeBundledPacket(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
int packetID = reader.ReadByte();
|
||||
|
||||
|
|
|
|||
|
|
@ -1770,7 +1770,7 @@ namespace Server.Multis
|
|||
context.Foundation.SendInfoTo(state);
|
||||
}
|
||||
|
||||
public static void QueryDesignDetails(NetState state, PacketReader reader)
|
||||
public static void QueryDesignDetails(NetState state, CircularBufferReader reader)
|
||||
{
|
||||
var from = state.Mobile;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue