Serial::Error::Error Client::readSpriteResponse(std::shared_ptr<ReadPacket> packet) { uint32_t numEntries = 0; serialise_int32(packet->reader, numEntries); std::cout << "SPRITE RESPONSE FOR " << numEntries << " SPRITES" << std::endl; auto renderer = FARender::Renderer::get(); for (uint32_t i = 0; i < numEntries; i++) { uint32_t index = 0; uint32_t len = 0; serialise_int32(packet->reader, index); serialise_int32(packet->reader, len); std::string path(len, '\0'); serialise_str(packet->reader, (uint8_t*)&path[0], len); renderer->fillServerSprite(index, path); std::cout << "SPRITE RESPONSE:" << index << " " << path << std::endl; } return Serial::Error::Success; }
void NetManager::readSpriteResponse(ENetPacket* packet, size_t& position) { size_t numSprites; readFromPacket(packet, position, numSprites); auto renderer = FARender::Renderer::get(); for(size_t i = 0; i < numSprites; i++) { size_t index; readFromPacket(packet, position, index); std::string path; char c = 0; do { readFromPacket(packet, position, c); if(c) path += c; } while(c); renderer->fillServerSprite(index, path); std::cout << "response recieved " << index << " " << path << std::endl; } }