b3feddfef3
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
79 lines
1.7 KiB
C++
79 lines
1.7 KiB
C++
#include "stdafx.h"
|
|
#include <iostream>
|
|
#include "InputOutputStream.h"
|
|
#include "PacketListener.h"
|
|
#include "ContainerOpenPacket.h"
|
|
|
|
void ContainerOpenPacket::_init(int containerId, int type, const wstring &title, int size, bool customName, int entityId)
|
|
{
|
|
this->containerId = containerId;
|
|
this->type = type;
|
|
this->title = title;
|
|
this->size = size;
|
|
this->customName = customName;
|
|
this->entityId = entityId;
|
|
}
|
|
|
|
ContainerOpenPacket::ContainerOpenPacket()
|
|
{
|
|
_init(0, 0, L"", 0, false, 0);
|
|
|
|
}
|
|
|
|
ContainerOpenPacket::ContainerOpenPacket(int containerId, int type, const wstring &title, int size, bool customName)
|
|
{
|
|
_init(containerId, type, title, size, customName, 0);
|
|
}
|
|
|
|
ContainerOpenPacket::ContainerOpenPacket(int containerId, int type, const wstring &title, int size, bool customName, int entityId)
|
|
{
|
|
_init(containerId, type, title, size, customName, entityId);
|
|
}
|
|
|
|
void ContainerOpenPacket::handle(PacketListener *listener)
|
|
{
|
|
listener->handleContainerOpen(shared_from_this());
|
|
}
|
|
|
|
|
|
void ContainerOpenPacket::read(DataInputStream *dis) //throws IOException
|
|
{
|
|
containerId = dis->readByte() & 0xff;
|
|
type = dis->readByte() & 0xff;
|
|
size = dis->readByte() & 0xff;
|
|
customName = dis->readBoolean();
|
|
if (type == HORSE)
|
|
{
|
|
entityId = dis->readInt();
|
|
}
|
|
if(customName)
|
|
{
|
|
title = readUtf(dis,64);
|
|
}
|
|
}
|
|
|
|
void ContainerOpenPacket::write(DataOutputStream *dos) //throws IOException
|
|
{
|
|
dos->writeByte(containerId & 0xff);
|
|
dos->writeByte(type & 0xff);
|
|
dos->writeByte(size & 0xff);
|
|
dos->writeBoolean(customName);
|
|
if (type == HORSE)
|
|
{
|
|
dos->writeInt(entityId);
|
|
}
|
|
if(customName)
|
|
{
|
|
writeUtf(title, dos);
|
|
}
|
|
}
|
|
|
|
int ContainerOpenPacket::getEstimatedSize()
|
|
{
|
|
if (type == HORSE)
|
|
{
|
|
return 10;
|
|
}
|
|
return 6;
|
|
}
|