major refactor: auth v3

This commit is contained in:
Matthew Toro 2026-04-06 02:33:39 -04:00
parent 8a8b4b2573
commit 179d21d7b6
18 changed files with 376 additions and 166 deletions

View file

@ -21,6 +21,7 @@ MapItem::MapItem(int id) : ComplexItem(id)
shared_ptr<MapItemSavedData> MapItem::getSavedData(short idNum, Level *level)
{
if (!level) return nullptr;
std::wstring id = wstring( L"map_" ) + std::to_wstring(idNum);
shared_ptr<MapItemSavedData> mapItemSavedData = dynamic_pointer_cast<MapItemSavedData>(level->getSavedData(typeid(MapItemSavedData), id));
@ -42,6 +43,7 @@ shared_ptr<MapItemSavedData> MapItem::getSavedData(short idNum, Level *level)
shared_ptr<MapItemSavedData> MapItem::getSavedData(shared_ptr<ItemInstance> itemInstance, Level *level)
{
if (!level) return nullptr;
MemSect(31);
std::wstring id = wstring( L"map_" ) + std::to_wstring(itemInstance->getAuxValue() );
MemSect(0);
@ -254,6 +256,7 @@ void MapItem::update(Level *level, shared_ptr<Entity> player, shared_ptr<MapItem
void MapItem::inventoryTick(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Entity> owner, int slot, bool selected)
{
if (!level) return;
if (level->isClientSide) return;
shared_ptr<MapItemSavedData> data = getSavedData(itemInstance, level);
@ -293,7 +296,10 @@ void MapItem::inventoryTick(shared_ptr<ItemInstance> itemInstance, Level *level,
shared_ptr<Packet> MapItem::getUpdatePacket(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player)
{
charArray data = MapItem::getSavedData(itemInstance, level)->getUpdatePacket(itemInstance, level, player);
if (!level) return nullptr;
auto savedData = MapItem::getSavedData(itemInstance, level);
if (!savedData) return nullptr;
charArray data = savedData->getUpdatePacket(itemInstance, level, player);
if (data.data == nullptr || data.length == 0) return nullptr;
@ -304,6 +310,7 @@ shared_ptr<Packet> MapItem::getUpdatePacket(shared_ptr<ItemInstance> itemInstanc
void MapItem::onCraftedBy(shared_ptr<ItemInstance> itemInstance, Level *level, shared_ptr<Player> player)
{
if (!level) return;
wchar_t buf[64];
int mapScale = 3;