void ObjectController::sendAdminFeedback(BString reply) const { PlayerObject* player = dynamic_cast<PlayerObject*>(mObject); if ((player) && (player->isConnected())) { if (reply.getLength()) { gLogger->log(LogManager::NOTICE,"Admin (%s): %s", player->getFirstName().getAnsi(), reply.getAnsi()); reply.convert(BSTRType_Unicode16); gMessageLib->SendSystemMessage(reply.getUnicode16(), player, true); } else { gLogger->log(LogManager::NOTICE,"Admin (%s):", player->getFirstName().getAnsi()); } } else { if (reply.getDataLength()) { gLogger->log(LogManager::NOTICE,"Admin (anon): %s", reply.getAnsi()); } else { gLogger->log(LogManager::NOTICE,"Admin (anon):"); } } }
void MessageFactory::addString(const BString& data) { // Make sure we've called StartMessage() assert(mCurrentMessage && "Must call StartMessage before adding data"); // Adjust start bounds if necessary. _adjustHeapStartBounds(data.getDataLength()); // Insert our data and move our end pointer. switch(data.getType()) { case BSTRType_UTF8: case BSTRType_ANSI: { // First insert the string length *((uint16*)mCurrentMessageEnd) = data.getLength(); mCurrentMessageEnd += 2; memcpy(mCurrentMessageEnd, data.getAnsi(), data.getLength()); mCurrentMessageEnd += data.getLength(); } break; case BSTRType_Unicode16: { // First insert the string length *((uint32*)mCurrentMessageEnd) = data.getLength(); mCurrentMessageEnd += 4; memcpy(mCurrentMessageEnd, data.getUnicode16(), data.getLength() * 2); mCurrentMessageEnd += data.getLength() * 2; } break; } }
void ObjectController::sendAdminFeedback(BString reply) const { PlayerObject* player = dynamic_cast<PlayerObject*>(mObject); if ((player) && (player->isConnected())) { if (reply.getLength()) { reply.convert(BSTRType_Unicode16); gMessageLib->SendSystemMessage(reply.getUnicode16(), player, true); } else { DLOG(info) << "Admin :" << player->getFirstName().getAnsi(); } } else { if (reply.getDataLength()) { DLOG(info) << "Admin (anon): " << reply.getAnsi(); } else { } } }