1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Clean up ClientEvent hudadd/hudchange internals

This commit is contained in:
sfan5 2021-03-05 12:54:53 +01:00
parent dd228fd92e
commit 593d5f4465
3 changed files with 94 additions and 137 deletions

View file

@ -1041,9 +1041,6 @@ void Client::handleCommand_DeleteParticleSpawner(NetworkPacket* pkt)
void Client::handleCommand_HudAdd(NetworkPacket* pkt)
{
std::string datastring(pkt->getString(0), pkt->getSize());
std::istringstream is(datastring, std::ios_base::binary);
u32 server_id;
u8 type;
v2f pos;
@ -1070,22 +1067,23 @@ void Client::handleCommand_HudAdd(NetworkPacket* pkt)
} catch(PacketError &e) {};
ClientEvent *event = new ClientEvent();
event->type = CE_HUDADD;
event->hudadd.server_id = server_id;
event->hudadd.type = type;
event->hudadd.pos = new v2f(pos);
event->hudadd.name = new std::string(name);
event->hudadd.scale = new v2f(scale);
event->hudadd.text = new std::string(text);
event->hudadd.number = number;
event->hudadd.item = item;
event->hudadd.dir = dir;
event->hudadd.align = new v2f(align);
event->hudadd.offset = new v2f(offset);
event->hudadd.world_pos = new v3f(world_pos);
event->hudadd.size = new v2s32(size);
event->hudadd.z_index = z_index;
event->hudadd.text2 = new std::string(text2);
event->type = CE_HUDADD;
event->hudadd = new ClientEventHudAdd();
event->hudadd->server_id = server_id;
event->hudadd->type = type;
event->hudadd->pos = pos;
event->hudadd->name = name;
event->hudadd->scale = scale;
event->hudadd->text = text;
event->hudadd->number = number;
event->hudadd->item = item;
event->hudadd->dir = dir;
event->hudadd->align = align;
event->hudadd->offset = offset;
event->hudadd->world_pos = world_pos;
event->hudadd->size = size;
event->hudadd->z_index = z_index;
event->hudadd->text2 = text2;
m_client_event_queue.push(event);
}
@ -1126,14 +1124,15 @@ void Client::handleCommand_HudChange(NetworkPacket* pkt)
*pkt >> intdata;
ClientEvent *event = new ClientEvent();
event->type = CE_HUDCHANGE;
event->hudchange.id = server_id;
event->hudchange.stat = (HudElementStat)stat;
event->hudchange.v2fdata = new v2f(v2fdata);
event->hudchange.v3fdata = new v3f(v3fdata);
event->hudchange.sdata = new std::string(sdata);
event->hudchange.data = intdata;
event->hudchange.v2s32data = new v2s32(v2s32data);
event->type = CE_HUDCHANGE;
event->hudchange = new ClientEventHudChange();
event->hudchange->id = server_id;
event->hudchange->stat = static_cast<HudElementStat>(stat);
event->hudchange->v2fdata = v2fdata;
event->hudchange->v3fdata = v3fdata;
event->hudchange->sdata = sdata;
event->hudchange->data = intdata;
event->hudchange->v2s32data = v2s32data;
m_client_event_queue.push(event);
}