mirror of
https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git
synced 2025-07-18 11:19:10 +00:00
More granular control of the SecurePreloader
This commit is contained in:
@ -98,18 +98,21 @@ bool gHasMouse = false;
|
|||||||
ITaskbarList3* gTaskbarList = nil; // NT 6.1+ taskbar stuff
|
ITaskbarList3* gTaskbarList = nil; // NT 6.1+ taskbar stuff
|
||||||
|
|
||||||
extern bool gDataServerLocal;
|
extern bool gDataServerLocal;
|
||||||
|
extern bool gSkipPreload;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
kArgSkipLoginDialog,
|
kArgSkipLoginDialog,
|
||||||
kArgServerIni,
|
kArgServerIni,
|
||||||
kArgLocalData,
|
kArgLocalData,
|
||||||
|
kArgSkipPreload
|
||||||
};
|
};
|
||||||
|
|
||||||
static const CmdArgDef s_cmdLineArgs[] = {
|
static const CmdArgDef s_cmdLineArgs[] = {
|
||||||
{ kCmdArgFlagged | kCmdTypeBool, L"SkipLoginDialog", kArgSkipLoginDialog },
|
{ kCmdArgFlagged | kCmdTypeBool, L"SkipLoginDialog", kArgSkipLoginDialog },
|
||||||
{ kCmdArgFlagged | kCmdTypeString, L"ServerIni", kArgServerIni },
|
{ kCmdArgFlagged | kCmdTypeString, L"ServerIni", kArgServerIni },
|
||||||
{ kCmdArgFlagged | kCmdTypeBool, L"LocalData", kArgLocalData },
|
{ kCmdArgFlagged | kCmdTypeBool, L"LocalData", kArgLocalData },
|
||||||
|
{ kCmdArgFlagged | kCmdTypeBool, L"SkipPreload", kArgSkipPreload },
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Made globals now, so we can set them to zero if we take the border and
|
/// Made globals now, so we can set them to zero if we take the border and
|
||||||
@ -1200,10 +1203,15 @@ int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmdLine, int nC
|
|||||||
|
|
||||||
bool doIntroDialogs = true;
|
bool doIntroDialogs = true;
|
||||||
#ifndef PLASMA_EXTERNAL_RELEASE
|
#ifndef PLASMA_EXTERNAL_RELEASE
|
||||||
if(cmdParser.IsSpecified(kArgSkipLoginDialog))
|
if (cmdParser.IsSpecified(kArgSkipLoginDialog))
|
||||||
doIntroDialogs = false;
|
doIntroDialogs = false;
|
||||||
if(cmdParser.IsSpecified(kArgLocalData))
|
if (cmdParser.IsSpecified(kArgLocalData))
|
||||||
|
{
|
||||||
gDataServerLocal = true;
|
gDataServerLocal = true;
|
||||||
|
gSkipPreload = true;
|
||||||
|
}
|
||||||
|
if (cmdParser.IsSpecified(kArgSkipPreload))
|
||||||
|
gSkipPreload = true;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
plFileName serverIni = "server.ini";
|
plFileName serverIni = "server.ini";
|
||||||
|
@ -52,7 +52,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
|
|||||||
#include "plMessage/plPreloaderMsg.h"
|
#include "plMessage/plPreloaderMsg.h"
|
||||||
#include "plProgressMgr/plProgressMgr.h"
|
#include "plProgressMgr/plProgressMgr.h"
|
||||||
|
|
||||||
extern bool gDataServerLocal;
|
bool gSkipPreload = false;
|
||||||
pfSecurePreloader* pfSecurePreloader::fInstance = nil;
|
pfSecurePreloader* pfSecurePreloader::fInstance = nil;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////
|
||||||
@ -261,8 +261,9 @@ void pfSecurePreloader::Init()
|
|||||||
void pfSecurePreloader::Start()
|
void pfSecurePreloader::Start()
|
||||||
{
|
{
|
||||||
#ifndef PLASMA_EXTERNAL_RELEASE
|
#ifndef PLASMA_EXTERNAL_RELEASE
|
||||||
// Using local data? Move along, move along...
|
// Finer grained control of the preloader allows us to have synched data but our own python/SDL
|
||||||
if (gDataServerLocal)
|
// This is useful on outdated/black-box shards like MOULa
|
||||||
|
if (gSkipPreload)
|
||||||
{
|
{
|
||||||
Finish();
|
Finish();
|
||||||
return;
|
return;
|
||||||
@ -272,7 +273,7 @@ void pfSecurePreloader::Start()
|
|||||||
NetCliAuthGetEncryptionKey(fEncryptionKey, 4);
|
NetCliAuthGetEncryptionKey(fEncryptionKey, 4);
|
||||||
|
|
||||||
// TODO: Localize
|
// TODO: Localize
|
||||||
fProgress = plProgressMgr::GetInstance()->RegisterOperation(0.0f, "Checking for Updates", plProgressMgr::kUpdateText, false, true);
|
fProgress = plProgressMgr::GetInstance()->RegisterOperation(0.0f, "Checking for updates", plProgressMgr::kUpdateText, false, true);
|
||||||
|
|
||||||
// Now, we need to fetch the "SecurePreloader" manifest from the file server, which will contain the python and SDL files.
|
// Now, we need to fetch the "SecurePreloader" manifest from the file server, which will contain the python and SDL files.
|
||||||
// We're basically reimplementing plResPatcher here, except preferring to keep everything in memory, then flush to disk
|
// We're basically reimplementing plResPatcher here, except preferring to keep everything in memory, then flush to disk
|
||||||
|
Reference in New Issue
Block a user