OpenBarnyard
 
Loading...
Searching...
No Matches
AAssetStreaming.cpp
Go to the documentation of this file.
1#include "pch.h"
2#include "AAssetStreaming.h"
3#include "ATRBLoaderJob.h"
4
5//-----------------------------------------------------------------------------
6// Enables memory debugging.
7// Note: Should be the last include!
8//-----------------------------------------------------------------------------
10
11// $Barnyard: FUNCTION 006066e0
13{
14 m_pCurrentJob = TNULL;
15 m_Unk = TNULL;
16 m_bFlag = TTRUE;
17 m_FileStream.Create( 0, Toshi::TThread::THREAD_PRIORITY_NORMAL, 0 );
18}
19
23
24// $Barnyard: FUNCTION 00606a90
26{
27 if ( m_pCurrentJob == TNULL )
28 {
29 if ( !m_Jobs.IsEmpty() )
30 {
31 m_pCurrentJob = m_Jobs.PopFront();
32 m_pCurrentJob->BeginJob();
33 }
34 }
35 else if ( m_pCurrentJob->RunJob() )
36 {
37 m_pCurrentJob->m_bIsFinished = TTRUE;
38 m_pCurrentJob = TNULL;
39 }
40}
41
42// $Barnyard: FUNCTION 00606b20
44{
45 for ( auto it = m_Jobs.Begin(); it != m_Jobs.End(); )
46 {
47 auto next = it->Next();
48
49 if ( it->CancelJob() )
50 {
51 it->m_bIsFinished = TTRUE;
52 it->Remove();
53 }
54
55 it = next;
56 }
57}
58
59// $Barnyard: FUNCTION 006067d0
61{
62 return !m_Jobs.IsEmpty() || m_pCurrentJob != TNULL;
63}
64
65// $Barnyard: FUNCTION 00606ae0
67{
68 TASSERT( m_pCurrentJob != a_pJob );
69 a_pJob->m_bIsFinished = TFALSE;
70 m_Jobs.PushBack( a_pJob );
71}
#define TASSERT(X,...)
Definition Defines.h:138
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
TBOOL HasActiveJobs() const
void AddMainThreadJob(AMainThreadJob *a_pJob)