1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-17 10:52:46 +00:00

plUruLauncher PatchOnly

Shhh! I'm sneaking this "feature" in for Gehn 18. The idea is that we
should no longer require MOULa installs for the installer to work. So,
after we've extracted the files but before we quit the installer, we fire
up `UruLauncher.exe -Repair -ServerIni=repair.ini -PatchOnly`. This will
download all the standard MOULa stuff, exit, and the install finishes.
Whew!
This commit is contained in:
2013-12-22 22:54:45 -05:00
parent 7c0e3e2a61
commit 7915f21019
2 changed files with 9 additions and 2 deletions

View File

@ -232,6 +232,8 @@ plString plClientLauncher::GetAppArgs() const
// optional args
if (hsCheckBits(fFlags, kClientImage))
ss << " -Image";
if (hsCheckBits(fFlags, kPatchOnly))
ss << " -PatchOnly";
return ss.GetString();
}
@ -427,12 +429,13 @@ void plClientLauncher::ParseArguments()
if (cmdParser.GetBool(arg)) \
fFlags |= flag;
enum { kArgServerIni, kArgNoSelfPatch, kArgImage, kArgRepairGame };
enum { kArgServerIni, kArgNoSelfPatch, kArgImage, kArgRepairGame, kArgPatchOnly };
const CmdArgDef cmdLineArgs[] = {
{ kCmdArgFlagged | kCmdTypeString, L"ServerIni", kArgServerIni },
{ kCmdArgFlagged | kCmdTypeBool, L"NoSelfPatch", kArgNoSelfPatch },
{ kCmdArgFlagged | kCmdTypeBool, L"Image", kArgImage },
{ kCmdArgFlagged | kCmdTypeBool, L"Repair", kArgRepairGame },
{ kCmdArgFlagged | kCmdTypeBool, L"PatchOnly", kArgPatchOnly }
};
CCmdParser cmdParser(cmdLineArgs, arrsize(cmdLineArgs));
@ -444,9 +447,12 @@ void plClientLauncher::ParseArguments()
APPLY_FLAG(kArgNoSelfPatch, kHaveSelfPatched);
APPLY_FLAG(kArgImage, kClientImage);
APPLY_FLAG(kArgRepairGame, kRepairGame);
APPLY_FLAG(kArgPatchOnly, kPatchOnly);
// last chance setup
if (hsCheckBits(fFlags, kRepairGame))
if (hsCheckBits(fFlags, kPatchOnly))
fClientExecutable = "";
else if (hsCheckBits(fFlags, kRepairGame))
fClientExecutable = plManifest::PatcherExecutable();
#undef APPLY_FLAG

View File

@ -64,6 +64,7 @@ private:
kHaveSelfPatched = 1<<0,
kClientImage = 1<<1,
kGameDataOnly = (1<<2),
kPatchOnly = 1<<3,
kRepairGame = kHaveSelfPatched | kClientImage | kGameDataOnly,
};