From 95c6560e7c3f8c39cf727ed37b4f275f6d0899a4 Mon Sep 17 00:00:00 2001 From: Chris Miles Date: Mon, 27 Jan 2025 15:32:40 -0600 Subject: [PATCH] [Performance] Re-use OP_HPUpdate packet memory (#4622) --- zone/mob.cpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/zone/mob.cpp b/zone/mob.cpp index 5dc44c204..c6d1ee634 100644 --- a/zone/mob.cpp +++ b/zone/mob.cpp @@ -1522,16 +1522,12 @@ void Mob::SendHPUpdate(bool force_update_all) last_hp ); - auto client_packet = new EQApplicationPacket(OP_HPUpdate, sizeof(SpawnHPUpdate_Struct)); - auto *hp_packet_client = (SpawnHPUpdate_Struct *) client_packet->pBuffer; - - hp_packet_client->cur_hp = static_cast(CastToClient()->GetHP() - itembonuses.HP); - hp_packet_client->spawn_id = GetID(); - hp_packet_client->max_hp = CastToClient()->GetMaxHP() - itembonuses.HP; - - CastToClient()->QueuePacket(client_packet); - - safe_delete(client_packet); + static EQApplicationPacket p(OP_HPUpdate, sizeof(SpawnHPUpdate_Struct)); + auto b = (SpawnHPUpdate_Struct*) p.pBuffer; + b->cur_hp = static_cast(CastToClient()->GetHP() - itembonuses.HP); + b->spawn_id = GetID(); + b->max_hp = CastToClient()->GetMaxHP() - itembonuses.HP; + CastToClient()->QueuePacket(&p); ResetHPUpdateTimer();