CheatMenuSA/CheatMenu/Updater.cpp

56 lines
2.1 KiB
C++
Raw Normal View History

2021-03-10 16:10:59 -05:00
#include "pch.h"
#include "Updater.h"
2021-03-16 03:12:59 -04:00
#include "Ui.h"
2021-03-10 16:10:59 -05:00
#include "MenuInfo.h"
2021-03-14 16:54:55 -04:00
void Updater::CheckForUpdate()
2021-03-10 16:10:59 -05:00
{
2021-03-14 16:54:55 -04:00
const char* link = "https://api.github.com/repos/user-grinch/Cheat-Menu/tags";
char* path = PLUGIN_PATH((char*)"CheatMenu/json/versioninfo.json");
2021-03-10 16:10:59 -05:00
HRESULT res = URLDownloadToFile(NULL, link, path, 0, NULL);
if (res == E_OUTOFMEMORY || res == INET_E_DOWNLOAD_FAILURE)
{
CHud::SetHelpMessage("Failed to check for updates",false,false,false);
return;
}
CJson verinfo = CJson("versioninfo");
// fetch the version number
2021-03-10 23:55:23 -05:00
latest_version = verinfo.data.items().begin().value()["name"].get<std::string>();
2021-03-10 16:10:59 -05:00
if (latest_version > MENU_VERSION_NUMBER)
2021-03-10 23:55:23 -05:00
{
2021-03-10 16:10:59 -05:00
CHud::SetHelpMessage("Update found",false,false,false);
2021-03-10 23:55:23 -05:00
state = UPDATER_UPDATE_FOUND;
}
2021-03-10 16:10:59 -05:00
else
2021-03-10 23:55:23 -05:00
{
2021-03-10 16:10:59 -05:00
CHud::SetHelpMessage("No update found.",false,false,false);
2021-03-10 23:55:23 -05:00
Updater::state = UPDATER_IDLE;
}
}
2021-03-16 03:12:59 -04:00
void Updater::ShowUpdateScreen()
{
ImGui::Dummy(ImVec2(0,20));
Ui::CenterdText("A new version of the mod is available.");
Ui::CenterdText(std::string("Current version: ") + MENU_VERSION);
Ui::CenterdText("Latest version: " + Updater::latest_version);
ImGui::Dummy(ImVec2(0,10));
ImGui::TextWrapped("In order to keep using the menu, you need to update to the latest version."
" This is to ensure everything is using the most up-to-date version.");
ImGui::Dummy(ImVec2(0,10));
ImGui::TextWrapped("To know what changes are made or to download, click on the \"Download page\" button."
" Follow the instructions there. If you're still having issues, let me know on discord.");
ImGui::Dummy(ImVec2(0,5));
if (ImGui::Button("Discord server", ImVec2(Ui::GetSize(2))))
ShellExecute(NULL, "open", DISCORD_INVITE, NULL, NULL, SW_SHOWNORMAL);
ImGui::SameLine();
if (ImGui::Button("Download page",Ui::GetSize(2)))
ShellExecute(NULL, "open", std::string("https://github.com/user-grinch/Cheat-Menu/releases/tag/" +
Updater::latest_version).c_str(), NULL, NULL, SW_SHOWNORMAL);
2021-03-10 16:10:59 -05:00
}