MCPcopy Create free account
hub / github.com/Svxy/The-Simpsons-Hit-and-Run / ProcessNextRequest

Method ProcessNextRequest

game/code/loading/loadingmanager.cpp:598–646  ·  view source on GitHub ↗

============================================================================== LoadingManager::ProcessNextRequest ============================================================================== Description: Handle the next load request in the queue. Parameters: None. Return: None. ==============================================================================

Source from the content-addressed store, hash-verified

596//
597//==============================================================================
598void LoadingManager::ProcessNextRequest()
599{
600 // Are we done?
601 if(!mLoading)
602 {
603 if(mRequestHead != mRequestTail)
604 {
605 // Start loading the next file.
606 LoadingRequest& request = mRequests[mRequestHead];
607
608 if ( request.filename[0] != '\0' )
609 {
610 if ( !(CommandLineOptions::Get( CLO_NO_LOADING_SPEW )) )
611 {
612 rReleasePrintf( "<<START>> Async Loading: %s\n", request.filename );
613 }
614#ifdef RAD_WIN32
615 mRequestsProcessed++;
616#endif
617
618 request.startTime = radTimeGetMilliseconds();
619 mLoading = true;
620 GameMemoryAllocator heap = request.heap;
621
622#ifndef RAD_RELEASE
623 if (HeapManager::s_bSpecialRoute)
624 {
625 heap = GMA_SPECIAL;
626 }
627#endif
628
629 request.pFileHandler->LoadFile( request.filename,
630 this,
631 (void*)mRequestHead,
632 heap );
633 }
634 else
635 {
636 rAssert( request.pCallback != NULL );
637
638 mRequestHead = (mRequestHead + 1) % MAX_REQUESTS;
639 mLoading = false;
640
641 request.pCallback->OnProcessRequestsComplete(request.pUserData);
642 ProcessNextRequest();
643 }
644 }
645 }
646}
647
648

Callers 3

AddRequestMethod · 0.95
OnLoadFileCompleteMethod · 0.95
RegisterCementLibraryMethod · 0.95

Calls 3

GetFunction · 0.50
LoadFileMethod · 0.45

Tested by

no test coverage detected