mirror of
https://github.com/TES3MP/openmw-tes3mp.git
synced 2025-02-28 06:09:40 +00:00
[Client] Verify integrity of credits file
This commit is contained in:
parent
72d286473b
commit
35fdb833df
1 changed files with 29 additions and 0 deletions
|
@ -40,6 +40,7 @@
|
|||
|
||||
Include additional headers for multiplayer purposes
|
||||
*/
|
||||
#include <components/openmw-mp/ErrorMessages.hpp>
|
||||
#include <components/openmw-mp/Log.hpp>
|
||||
#include <components/openmw-mp/Utils.hpp>
|
||||
#include <components/openmw-mp/Version.hpp>
|
||||
|
@ -219,6 +220,34 @@ bool parseOptions (int argc, char** argv, OMW::Engine& engine, Files::Configurat
|
|||
End of tes3mp change (minor)
|
||||
*/
|
||||
|
||||
/*
|
||||
Start of tes3mp addition
|
||||
|
||||
Check for unmodified tes3mp-credits file; this makes it so people can't repackage official releases with
|
||||
their own made-up credits, though it obviously has no bearing on unofficial releases that change
|
||||
the checksum below
|
||||
*/
|
||||
boost::filesystem::path folderPath(boost::filesystem::initial_path<boost::filesystem::path>());
|
||||
folderPath = boost::filesystem::system_complete(boost::filesystem::path(argv[0])).remove_filename();
|
||||
std::string creditsPath = folderPath.string() + "/tes3mp-credits";
|
||||
|
||||
unsigned int expectedChecksumInt = Utils::hexStrToInt(TES3MP_CREDITS_CHECKSUM);
|
||||
bool hasValidCredits = Utils::doesFileHaveChecksum(creditsPath + ".md", expectedChecksumInt);
|
||||
|
||||
if (!hasValidCredits)
|
||||
hasValidCredits = Utils::doesFileHaveChecksum(creditsPath + ".txt", expectedChecksumInt);
|
||||
|
||||
if (!hasValidCredits)
|
||||
{
|
||||
LOG_MESSAGE_SIMPLE(Log::LOG_FATAL, "The client is shutting down");
|
||||
LOG_APPEND(Log::LOG_FATAL, "- %s", TES3MP_CREDITS_ERROR);
|
||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "tes3mp", TES3MP_CREDITS_ERROR, 0);
|
||||
return false;
|
||||
}
|
||||
/*
|
||||
End of tes3mp addition
|
||||
*/
|
||||
|
||||
engine.setGrabMouse(!variables["no-grab"].as<bool>());
|
||||
|
||||
// Font encoding settings
|
||||
|
|
Loading…
Reference in a new issue