OpenBarnyard
 
Loading...
Searching...
No Matches
TSystem.cpp
Go to the documentation of this file.
1#include "ToshiPCH.h"
2#include "TSystem.h"
3#include "TScheduler.h"
4
5#include "Toshi/TPString8.h"
6
7//-----------------------------------------------------------------------------
8// Enables memory debugging.
9// Note: Should be the last include!
10//-----------------------------------------------------------------------------
11#include "Core/TMemoryDebugOn.h"
12
14
16
18{
19 m_Scheduler = TNULL;
20 m_bIsPaused = TFALSE;
21 m_fAverageFps = 0.0f;
22 m_uiNumFrames = 0;
23 m_Unk4 = TFALSE;
24 m_fnQuitCallback = TNULL;
25}
26
28{
29 m_Timer.Update();
30
31 TFLOAT fDeltaTime = m_Timer.GetDelta();
32 m_fSecond += fDeltaTime;
33
34 if ( m_fSecond > 1.0f )
35 {
36 m_fAverageFps += 1.0f / fDeltaTime;
37 m_fAverageFps *= 0.5f;
38 m_fSecond = 0.0;
39 }
40
41 m_uiNumFrames += 1;
42 m_Scheduler->Update();
43}
44
48
50 : m_PauseEmitter( this )
51{
52 m_pSystemTimer = TNULL;
53}
54
56{
57 m_pSystemTimer->Update();
58}
59
61{
62 TASSERT( g_oSystemManager.m_pSystemTimer == TNULL );
63 g_oSystemManager.m_pSystemTimer = new TSystemTimer();
64 g_oSystemManager.m_pSystemTimer->SetScheduler( new TScheduler() );
65 return TTRUE;
66}
67
71
73{
74 T2_FOREACH( m_Interfaces, it )
75 {
76 if ( it->GetFileName() == a_rcName )
77 return it;
78 }
79
80 return TNULL;
81}
82
84{
85 TKernelInterfaceDLL* pInterface = FindInterface( a_rcName );
86
87 if ( pInterface )
88 return pInterface;
89
90 pInterface = new TKernelInterfaceDLL();
91
92 if ( !pInterface->Load( a_rcName ) )
93 {
94 delete pInterface;
95 return TNULL;
96 }
97
98 m_Interfaces.InsertHead( pInterface );
99 return pInterface;
100}
101
#define TASSERT(X,...)
Definition Defines.h:138
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
#define T2_FOREACH(vecName, iteratorName)
Definition T2Iterator.h:4
TSystemManager g_oSystemManager
float TFLOAT
Definition Typedefs.h:4
#define TNULL
Definition Typedefs.h:23
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
bool TBOOL
Definition Typedefs.h:6
TSystemManager g_oSystemManager
Definition TSystem.cpp:15
TKernelInterfaceDLL * FindInterface(const TString8 &a_rcName)
Definition TSystem.cpp:72
TKernelInterfaceDLL * LoadInterface(const TString8 &a_rcName)
Definition TSystem.cpp:83
void Update()
Definition TSystem.cpp:27
friend TScheduler
Definition TSystem.h:119
static TBOOL Create()
Definition TSystem.cpp:60
void Update()
Definition TSystem.cpp:55