Browse Source

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!
Adam Johnson 11 years ago
parent
commit
7915f21019
  1. 10
      Sources/Plasma/Apps/plUruLauncher/plClientLauncher.cpp
  2. 1
      Sources/Plasma/Apps/plUruLauncher/plClientLauncher.h

10
Sources/Plasma/Apps/plUruLauncher/plClientLauncher.cpp

@ -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

1
Sources/Plasma/Apps/plUruLauncher/plClientLauncher.h

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

Loading…
Cancel
Save