fix: Replaces throttlers and packet callbacks with function pointers (#1063)
Replaces multi-cast delegates with function pointers to gain 25% in performance and lower allocations.
This commit is contained in:
parent
b779d7737f
commit
f24b98f8e2
31 changed files with 189 additions and 172 deletions
|
|
@ -23,30 +23,30 @@ namespace Server.Network;
|
|||
|
||||
public static class IncomingPlayerPackets
|
||||
{
|
||||
public static void Configure()
|
||||
public static unsafe void Configure()
|
||||
{
|
||||
IncomingPackets.Register(0x01, 5, false, Disconnect);
|
||||
IncomingPackets.Register(0x05, 5, true, AttackReq);
|
||||
IncomingPackets.Register(0x12, 0, true, TextCommand);
|
||||
IncomingPackets.Register(0x22, 3, true, Resynchronize);
|
||||
IncomingPackets.Register(0x2C, 2, true, DeathStatusResponse);
|
||||
IncomingPackets.Register(0x34, 10, true, MobileQuery);
|
||||
IncomingPackets.Register(0x3A, 0, true, ChangeSkillLock);
|
||||
IncomingPackets.Register(0x72, 5, true, SetWarMode);
|
||||
IncomingPackets.Register(0x73, 2, false, PingReq);
|
||||
IncomingPackets.Register(0x7D, 13, true, MenuResponse);
|
||||
IncomingPackets.Register(0x95, 9, true, HuePickerResponse);
|
||||
IncomingPackets.Register(0x9A, 0, true, AsciiPromptResponse);
|
||||
IncomingPackets.Register(0x9B, 258, true, HelpRequest);
|
||||
IncomingPackets.Register(0xA4, 149, false, SystemInfo);
|
||||
IncomingPackets.Register(0xA7, 4, true, RequestScrollWindow);
|
||||
IncomingPackets.Register(0xB1, 0, true, DisplayGumpResponse);
|
||||
IncomingPackets.Register(0xC2, 0, true, UnicodePromptResponse);
|
||||
IncomingPackets.Register(0xC8, 2, true, SetUpdateRange);
|
||||
IncomingPackets.Register(0xD0, 0, true, ConfigurationFile);
|
||||
IncomingPackets.Register(0xD1, 2, true, LogoutReq);
|
||||
IncomingPackets.Register(0xD7, 0, true, EncodedCommand);
|
||||
IncomingPackets.Register(0xF4, 0, false, CrashReport);
|
||||
IncomingPackets.Register(0x01, 5, false, &Disconnect);
|
||||
IncomingPackets.Register(0x05, 5, true, &AttackReq);
|
||||
IncomingPackets.Register(0x12, 0, true, &TextCommand);
|
||||
IncomingPackets.Register(0x22, 3, true, &Resynchronize);
|
||||
IncomingPackets.Register(0x2C, 2, true, &DeathStatusResponse);
|
||||
IncomingPackets.Register(0x34, 10, true, &MobileQuery);
|
||||
IncomingPackets.Register(0x3A, 0, true, &ChangeSkillLock);
|
||||
IncomingPackets.Register(0x72, 5, true, &SetWarMode);
|
||||
IncomingPackets.Register(0x73, 2, false, &PingReq);
|
||||
IncomingPackets.Register(0x7D, 13, true, &MenuResponse);
|
||||
IncomingPackets.Register(0x95, 9, true, &HuePickerResponse);
|
||||
IncomingPackets.Register(0x9A, 0, true, &AsciiPromptResponse);
|
||||
IncomingPackets.Register(0x9B, 258, true, &HelpRequest);
|
||||
IncomingPackets.Register(0xA4, 149, false, &SystemInfo);
|
||||
IncomingPackets.Register(0xA7, 4, true, &RequestScrollWindow);
|
||||
IncomingPackets.Register(0xB1, 0, true, &DisplayGumpResponse);
|
||||
IncomingPackets.Register(0xC2, 0, true, &UnicodePromptResponse);
|
||||
IncomingPackets.Register(0xC8, 2, true, &SetUpdateRange);
|
||||
IncomingPackets.Register(0xD0, 0, true, &ConfigurationFile);
|
||||
IncomingPackets.Register(0xD1, 2, true, &LogoutReq);
|
||||
IncomingPackets.Register(0xD7, 0, true, &EncodedCommand);
|
||||
IncomingPackets.Register(0xF4, 0, false, &CrashReport);
|
||||
|
||||
IncomingPackets.RegisterEncoded(0x28, true, GuildGumpRequest);
|
||||
IncomingPackets.RegisterEncoded(0x32, true, QuestGumpRequest);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue