mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2025-11-02 01:31:01 +00:00
moved int64->blob parsing to a separate function
This commit is contained in:
@@ -327,19 +327,12 @@ Database::DbPlayer Database::playerToDb(Player *player)
|
||||
result.BatteryW = player->batteryW;
|
||||
result.Mentor = player->mentor;
|
||||
|
||||
// quests
|
||||
// quests: parsing to blob
|
||||
result.QuestFlag = std::vector<char>();
|
||||
// parsing long array to char vector
|
||||
for (int i=0; i<16; i++)
|
||||
{
|
||||
int64_t temp = player->aQuestFlag[i];
|
||||
for (int j = 0; j < 8; j++) {
|
||||
int64_t check2 = (temp >> (8 * (7 - j)));
|
||||
char toadd = check2;
|
||||
result.QuestFlag.push_back(
|
||||
toadd
|
||||
);
|
||||
}
|
||||
int64_t flag = player->aQuestFlag[i];
|
||||
appendBlob(&result.QuestFlag, flag);
|
||||
}
|
||||
|
||||
|
||||
@@ -539,3 +532,13 @@ void Database::getNanos(Player* player) {
|
||||
}
|
||||
}
|
||||
#pragma endregion ShardServer
|
||||
|
||||
#pragma region parsingBlobs
|
||||
|
||||
void Database::appendBlob(std::vector<char> *blob, int64_t input) {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
char toadd = (input >> (8 * (7 - i)));
|
||||
blob->push_back(toadd);
|
||||
}
|
||||
}
|
||||
#pragma endregion parsingBlobs
|
||||
|
||||
@@ -110,4 +110,7 @@ namespace Database {
|
||||
|
||||
void getInventory(Player* player);
|
||||
void getNanos(Player* player);
|
||||
|
||||
//parsing blobs
|
||||
void appendBlob(std::vector<char>*blob, int64_t input);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,7 @@ struct Player {
|
||||
bool isTradeConfirm;
|
||||
bool IsGM;
|
||||
|
||||
int64_t aQuestFlag[16];
|
||||
int64_t aQuestFlag[16];
|
||||
int tasks[ACTIVE_MISSION_COUNT];
|
||||
sItemBase QInven[AQINVEN_COUNT];
|
||||
};
|
||||
|
||||
@@ -237,6 +237,7 @@ void PlayerManager::enterPlayer(CNSocket* sock, CNPacketData* data) {
|
||||
}
|
||||
|
||||
// missions
|
||||
// the packet requires 32 items, but the client only checks the first 16 (shrug)
|
||||
for (int i = 0; i < 16; i++) {
|
||||
response.PCLoadData2CL.aQuestFlag[i] = plr.aQuestFlag[i];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user