Browse Source

Fix black screen introduced by #507

Adam Johnson 10 years ago
parent
commit
29792b92d1
  1. 22
      Sources/Plasma/Apps/plClient/plClient.cpp
  2. 2
      Sources/Plasma/Apps/plClient/plClient.h

22
Sources/Plasma/Apps/plClient/plClient.cpp

@ -812,10 +812,9 @@ bool plClient::MsgReceive(plMessage* msg)
//============================================================================
if (plNetCommAuthMsg* authMsg = plNetCommAuthMsg::ConvertNoRef(msg)) {
plgDispatch::Dispatch()->UnRegisterForExactType(plNetCommAuthMsg::Index(), GetKey());
if (IS_NET_SUCCESS(authMsg->result)) {
SetFlag(kFlagInitialAuthComplete);
if (IS_NET_SUCCESS(authMsg->result))
IPatchGlobalAgeFiles();
}
return true;
}
return hsKeyedObject::MsgReceive(msg);
@ -1477,21 +1476,24 @@ bool plClient::BeginGame()
{
plNetClientMgr::GetInstance()->Init();
IPlayIntroMovie("avi/CyanWorlds.webm", 0.f, 0.f, 0.f, 1.f, 1.f, 0.75);
SetFlag(kFlagIntroComplete);
if (GetDone()) return false;
IPatchGlobalAgeFiles();
if (NetCommGetStartupAge()->ageDatasetName.CompareI("StartUp") == 0) {
// This is needed because there is no auth step in this case
plNetCommAuthMsg* msg = new plNetCommAuthMsg();
msg->result = kNetSuccess;
msg->param = nullptr;
msg->Send();
}
return true;
}
//============================================================================
void plClient::IPatchGlobalAgeFiles( void )
{
if (HasFlag(kFlagIntroComplete) && HasFlag(kFlagInitialAuthComplete)) {
plgDispatch::Dispatch()->RegisterForExactType(plResPatcherMsg::Index(), GetKey());
plgDispatch::Dispatch()->RegisterForExactType(plResPatcherMsg::Index(), GetKey());
plResPatcher* patcher = plResPatcher::GetInstance();
patcher->Update(plManifest::EssentialGameManifests());
}
plResPatcher* patcher = plResPatcher::GetInstance();
patcher->Update(plManifest::EssentialGameManifests());
}
void plClient::InitDLLs()

2
Sources/Plasma/Apps/plClient/plClient.h

@ -248,8 +248,6 @@ public:
kFlagDBGDisableRRequests,
kFlagAsyncInitComplete,
kFlagGlobalDataLoaded,
kFlagInitialAuthComplete,
kFlagIntroComplete,
};
bool HasFlag(int f) const { return fFlags.IsBitSet(f); }

Loading…
Cancel
Save