Browse Source

Ensure there is always book-spinning while linking

This should help people realize that things are happening... Even if
whatever server they're connected to takes a very long time to process a
join request. At some point in the future, the linking process should be
de-serialized.
Adam Johnson 12 years ago
parent
commit
dcb0e2f046
  1. 1
      Sources/Plasma/PubUtilLib/plNetClient/plNetCliAgeJoiner.cpp
  2. 1
      Sources/Plasma/PubUtilLib/plNetClient/plNetCliAgeLeaver.cpp
  3. 15
      Sources/Plasma/PubUtilLib/plNetClient/plNetClientMgr.cpp
  4. 7
      Sources/Plasma/PubUtilLib/plNetClient/plNetClientMgr.h

1
Sources/Plasma/PubUtilLib/plNetClient/plNetCliAgeJoiner.cpp

@ -338,6 +338,7 @@ void plNCAgeJoiner::ExecNextOp () {
((plResManager*)hsgResMgr::ResMgr())->SetProgressBarProc(nil); ((plResManager*)hsgResMgr::ResMgr())->SetProgressBarProc(nil);
delete progressBar; delete progressBar;
progressBar = nil; progressBar = nil;
nc->EndTask();
nextOp = kEnableClickables; nextOp = kEnableClickables;
} }

1
Sources/Plasma/PubUtilLib/plNetClient/plNetCliAgeLeaver.cpp

@ -216,6 +216,7 @@ void plNCAgeLeaver::ExecNextOp () {
//==================================================================== //====================================================================
case kUnloadAge: { case kUnloadAge: {
nc->BeginTask();
NetCliGameDisconnect(); NetCliGameDisconnect();
// Cull nodes that were part of this age vault (but not shared by the player's vault) // Cull nodes that were part of this age vault (but not shared by the player's vault)

15
Sources/Plasma/PubUtilLib/plNetClient/plNetClientMgr.cpp

@ -131,8 +131,7 @@ plNetClientMgr::plNetClientMgr() :
fLocalPlayerKey(nil), fLocalPlayerKey(nil),
fMsgHandler(this), fMsgHandler(this),
fJoinOrder(0), fJoinOrder(0),
// fProgressBar( nil ), fTaskProgBar(nullptr),
fTaskProgBar( nil ),
fMsgRecorder(nil), fMsgRecorder(nil),
fServerTimeOffset(0), fServerTimeOffset(0),
fTimeSamples(0), fTimeSamples(0),
@ -168,8 +167,8 @@ plNetClientMgr::~plNetClientMgr()
if (this==GetInstance()) if (this==GetInstance())
SetInstance(nil); // we're going down boys SetInstance(nil); // we're going down boys
IClearPendingLoads(); IClearPendingLoads();
delete fTaskProgBar;
} }
// //
@ -1467,6 +1466,16 @@ void plNetClientMgr::ClearPendingPagingRoomMsgs()
fPendingPagingRoomMsgs.clear(); fPendingPagingRoomMsgs.clear();
} }
void plNetClientMgr::BeginTask()
{
fTaskProgBar = plProgressMgr::GetInstance()->RegisterOverallOperation(0.f);
}
void plNetClientMgr::EndTask()
{
delete fTaskProgBar;
fTaskProgBar = nullptr;
}
bool plNetClientMgr::DebugMsgV(const char* fmt, va_list args) const bool plNetClientMgr::DebugMsgV(const char* fmt, va_list args) const
{ {

7
Sources/Plasma/PubUtilLib/plNetClient/plNetClientMgr.h

@ -134,8 +134,7 @@ public:
}; };
private: private:
// plOperationProgress *fProgressBar; plOperationProgress* fTaskProgBar;
plOperationProgress *fTaskProgBar;
typedef std::list<PendingLoad*> PendingLoadsList; typedef std::list<PendingLoad*> PendingLoadsList;
PendingLoadsList fPendingLoads; PendingLoadsList fPendingLoads;
@ -369,7 +368,9 @@ public:
void NotifyRcvdAllSDLStates(); void NotifyRcvdAllSDLStates();
plOperationProgress* GetTaskProgBar() { return fTaskProgBar; } plOperationProgress* GetTaskProgBar() { return fTaskProgBar; }
void BeginTask();
void EndTask();
bool DebugMsgV(const char* fmt, va_list args) const; bool DebugMsgV(const char* fmt, va_list args) const;
bool ErrorMsgV(const char* fmt, va_list args) const; bool ErrorMsgV(const char* fmt, va_list args) const;

Loading…
Cancel
Save