mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-02 00:06:36 +00:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
+56
-13
@@ -877,26 +877,27 @@ namespace RoF
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToRoFTextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -906,10 +907,12 @@ namespace RoF
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -3249,16 +3252,55 @@ namespace RoF
|
||||
EQApplicationPacket *in = *p;
|
||||
*p = nullptr;
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *InBuffer = (char *)in->pBuffer;
|
||||
char *block_start = InBuffer;
|
||||
|
||||
InBuffer += sizeof(TaskDescriptionHeader_Struct);
|
||||
uint32 title_size = strlen(InBuffer) + 1;
|
||||
InBuffer += title_size;
|
||||
|
||||
TaskDescriptionData1_Struct *emu_tdd1 = (TaskDescriptionData1_Struct *)InBuffer;
|
||||
emu_tdd1->StartTime = (time(nullptr) - emu_tdd1->StartTime); // RoF has elapsed time here rather than start time
|
||||
|
||||
InBuffer += sizeof(TaskDescriptionData1_Struct);
|
||||
uint32 description_size = strlen(InBuffer) + 1;
|
||||
InBuffer += description_size;
|
||||
InBuffer += sizeof(TaskDescriptionData2_Struct);
|
||||
|
||||
std::string old_message = InBuffer; // start 'Reward' as string
|
||||
std::string new_message;
|
||||
ServerToRoFTextLink(new_message, old_message);
|
||||
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct) + sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct) + sizeof(TaskDescriptionTrailer_Struct)+
|
||||
title_size + description_size + new_message.length() + 1;
|
||||
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
InBuffer += strlen(InBuffer) + 1;
|
||||
|
||||
memcpy(OutBuffer, InBuffer, sizeof(TaskDescriptionTrailer_Struct));
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
|
||||
#if 0 // original code
|
||||
EQApplicationPacket *in = *p;
|
||||
*p = nullptr;
|
||||
|
||||
EQApplicationPacket *outapp = new EQApplicationPacket(OP_TaskDescription, in->size + 1);
|
||||
// Set the Write pointer as we don't know what has been done with the packet before we get it.
|
||||
in->SetReadPosition(0);
|
||||
// Copy the header
|
||||
//
|
||||
// Server header struct is { uint32; uint32; uint32; uint32; uint8; }
|
||||
// Yet, we're writing 5 uint32's... that's 17 vs 20 bytes...
|
||||
// 3 Bytes difference..but, we only increase packet size by 1 byte..something wrong here? -U
|
||||
// (Tying to add text link translators and can't figure out if '+1' size is a new RoF field or something else)
|
||||
//
|
||||
for (int i = 0; i < 5; ++i)
|
||||
outapp->WriteUInt32(in->ReadUInt32());
|
||||
|
||||
@@ -3278,6 +3320,7 @@ namespace RoF
|
||||
|
||||
delete in;
|
||||
dest->FastQueuePacket(&outapp, ack_req);
|
||||
#endif
|
||||
}
|
||||
|
||||
ENCODE(OP_TaskHistoryReply)
|
||||
|
||||
+56
-7
@@ -943,26 +943,27 @@ namespace RoF2
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToRoF2TextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -972,10 +973,12 @@ namespace RoF2
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -3315,6 +3318,51 @@ namespace RoF2
|
||||
EQApplicationPacket *in = *p;
|
||||
*p = nullptr;
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *InBuffer = (char *)in->pBuffer;
|
||||
char *block_start = InBuffer;
|
||||
|
||||
InBuffer += sizeof(TaskDescriptionHeader_Struct);
|
||||
uint32 title_size = strlen(InBuffer) + 1;
|
||||
InBuffer += title_size;
|
||||
|
||||
TaskDescriptionData1_Struct *emu_tdd1 = (TaskDescriptionData1_Struct *)InBuffer;
|
||||
emu_tdd1->StartTime = (time(nullptr) - emu_tdd1->StartTime); // RoF2 has elapsed time here rather than start time
|
||||
|
||||
InBuffer += sizeof(TaskDescriptionData1_Struct);
|
||||
uint32 description_size = strlen(InBuffer) + 1;
|
||||
InBuffer += description_size;
|
||||
InBuffer += sizeof(TaskDescriptionData2_Struct);
|
||||
|
||||
std::string old_message = InBuffer; // start 'Reward' as string
|
||||
std::string new_message;
|
||||
ServerToRoF2TextLink(new_message, old_message);
|
||||
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct) + sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct) + sizeof(TaskDescriptionTrailer_Struct)+
|
||||
title_size + description_size + new_message.length() + 1;
|
||||
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
InBuffer += strlen(InBuffer) + 1;
|
||||
|
||||
memcpy(OutBuffer, InBuffer, sizeof(TaskDescriptionTrailer_Struct));
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
|
||||
#if 0 // original code
|
||||
EQApplicationPacket *in = *p;
|
||||
*p = nullptr;
|
||||
|
||||
EQApplicationPacket *outapp = new EQApplicationPacket(OP_TaskDescription, in->size + 1);
|
||||
// Set the Write pointer as we don't know what has been done with the packet before we get it.
|
||||
in->SetReadPosition(0);
|
||||
@@ -3338,6 +3386,7 @@ namespace RoF2
|
||||
|
||||
delete in;
|
||||
dest->FastQueuePacket(&outapp, ack_req);
|
||||
#endif
|
||||
}
|
||||
|
||||
ENCODE(OP_TaskHistoryReply)
|
||||
|
||||
+13
-10
@@ -646,26 +646,27 @@ namespace SoD
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToSoDTextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -675,10 +676,12 @@ namespace SoD
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -2201,15 +2204,15 @@ namespace SoD
|
||||
std::string new_message;
|
||||
ServerToSoDTextLink(new_message, old_message);
|
||||
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct)+sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct)+sizeof(TaskDescriptionTrailer_Struct)+
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct) + sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct) + sizeof(TaskDescriptionTrailer_Struct)+
|
||||
title_size + description_size + new_message.length() + 1;
|
||||
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, (char *)__emu_buffer, (InBuffer - block_start));
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
+13
-10
@@ -633,26 +633,27 @@ namespace SoF
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToSoFTextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -662,10 +663,12 @@ namespace SoF
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -1800,15 +1803,15 @@ namespace SoF
|
||||
std::string new_message;
|
||||
ServerToSoFTextLink(new_message, old_message);
|
||||
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct)+sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct)+sizeof(TaskDescriptionTrailer_Struct)+
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct) + sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct) + sizeof(TaskDescriptionTrailer_Struct)+
|
||||
title_size + description_size + new_message.length() + 1;
|
||||
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, (char *)__emu_buffer, (InBuffer - block_start));
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
@@ -492,26 +492,27 @@ namespace Titanium
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToTitaniumTextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -521,10 +522,12 @@ namespace Titanium
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -1258,7 +1261,7 @@ namespace Titanium
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, (char *)__emu_buffer, (InBuffer - block_start));
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
@@ -790,26 +790,27 @@ namespace Underfoot
|
||||
|
||||
unsigned char *__emu_buffer = in->pBuffer;
|
||||
|
||||
char *old_message_ptr = (char *)in->pBuffer;
|
||||
old_message_ptr += sizeof(FormattedMessage_Struct);
|
||||
|
||||
std::string old_message_array[9];
|
||||
|
||||
char *old_message_ptr = (char *)__emu_buffer + sizeof(FormattedMessage_Struct);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (*old_message_ptr == 0) { break; }
|
||||
old_message_array[i] = old_message_ptr;
|
||||
old_message_ptr += old_message_array[i].length() + 1;
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
}
|
||||
|
||||
uint32 new_message_size = 0;
|
||||
std::string new_message_array[9];
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
if (old_message_array[i].length() == 0) { break; }
|
||||
ServerToUnderfootTextLink(new_message_array[i], old_message_array[i]);
|
||||
new_message_size += (new_message_array[i].length() + 1);
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
new_message_size += new_message_array[i].length() + 1;
|
||||
}
|
||||
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size;
|
||||
in->size = sizeof(FormattedMessage_Struct) + new_message_size + 1;
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
@@ -819,10 +820,12 @@ namespace Underfoot
|
||||
VARSTRUCT_ENCODE_TYPE(uint32, OutBuffer, emu->type);
|
||||
|
||||
for (int i = 0; i < 9; ++i) {
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
if (new_message_array[i].length() == 0) { break; }
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message_array[i].c_str());
|
||||
}
|
||||
|
||||
VARSTRUCT_ENCODE_TYPE(uint8, OutBuffer, 0);
|
||||
|
||||
delete[] __emu_buffer;
|
||||
dest->FastQueuePacket(&in, ack_req);
|
||||
}
|
||||
@@ -2467,15 +2470,15 @@ namespace Underfoot
|
||||
std::string new_message;
|
||||
ServerToUnderfootTextLink(new_message, old_message);
|
||||
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct)+sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct)+sizeof(TaskDescriptionTrailer_Struct)+
|
||||
in->size = sizeof(TaskDescriptionHeader_Struct) + sizeof(TaskDescriptionData1_Struct)+
|
||||
sizeof(TaskDescriptionData2_Struct) + sizeof(TaskDescriptionTrailer_Struct)+
|
||||
title_size + description_size + new_message.length() + 1;
|
||||
|
||||
in->pBuffer = new unsigned char[in->size];
|
||||
|
||||
char *OutBuffer = (char *)in->pBuffer;
|
||||
|
||||
memcpy(OutBuffer, (char *)__emu_buffer, (InBuffer - block_start));
|
||||
memcpy(OutBuffer, block_start, (InBuffer - block_start));
|
||||
OutBuffer += (InBuffer - block_start);
|
||||
|
||||
VARSTRUCT_ENCODE_STRING(OutBuffer, new_message.c_str());
|
||||
|
||||
+1
-1
@@ -1979,7 +1979,7 @@ void SharedDatabase::LoadCharacterInspectMessage(uint32 character_id, InspectMes
|
||||
std::string query = StringFormat("SELECT `inspect_message` FROM `character_inspect_messages` WHERE `id` = %u LIMIT 1", character_id);
|
||||
auto results = QueryDatabase(query);
|
||||
auto row = results.begin();
|
||||
memcpy(message, "", sizeof(InspectMessage_Struct));
|
||||
memset(message, '\0', sizeof(InspectMessage_Struct));
|
||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||
memcpy(message, row[0], sizeof(InspectMessage_Struct));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user