mirror of
https://github.com/UltimMC/Launcher.git
synced 2025-12-23 20:12:34 +00:00
First draft of player faces in the login dialog
This commit is contained in:
@@ -57,6 +57,8 @@
|
||||
#include "logic/lists/JavaVersionList.h"
|
||||
|
||||
#include "logic/net/LoginTask.h"
|
||||
#include "logic/net/SkinDownload.h"
|
||||
|
||||
#include "logic/BaseInstance.h"
|
||||
#include "logic/InstanceFactory.h"
|
||||
#include "logic/MinecraftProcess.h"
|
||||
@@ -517,6 +519,42 @@ void MainWindow::onLoginComplete()
|
||||
tDialog.exec(updateTask);
|
||||
delete updateTask;
|
||||
}
|
||||
|
||||
auto download = new SkinDownload(m_activeLogin.player_name);
|
||||
download->start();
|
||||
|
||||
auto filename = MMC->metacache()->resolveEntry("skins", "skins.json")->getFullPath();
|
||||
QFile listFile(filename);
|
||||
|
||||
// Add skin mapping
|
||||
QByteArray data;
|
||||
{
|
||||
if(!listFile.open(QIODevice::ReadWrite))
|
||||
{
|
||||
QLOG_ERROR() << "Failed to open/make skins list JSON";
|
||||
return;
|
||||
}
|
||||
|
||||
data = listFile.readAll();
|
||||
}
|
||||
|
||||
QJsonParseError jsonError;
|
||||
QJsonDocument jsonDoc = QJsonDocument::fromJson(data, &jsonError);
|
||||
QJsonObject root = jsonDoc.object();
|
||||
QJsonObject mappings = root.value("mappings").toObject();
|
||||
QJsonArray usernames = mappings.value(m_activeLogin.username).toArray();
|
||||
|
||||
if(!usernames.contains(m_activeLogin.player_name))
|
||||
{
|
||||
usernames.prepend(m_activeLogin.player_name);
|
||||
mappings[m_activeLogin.username] = usernames;
|
||||
root["mappings"] = mappings;
|
||||
jsonDoc.setObject(root);
|
||||
|
||||
// QJson hack - shouldn't have to clear the file every time a save happens
|
||||
listFile.resize(0);
|
||||
listFile.write(jsonDoc.toJson());
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::onGameUpdateComplete()
|
||||
|
||||
Reference in New Issue
Block a user