99{
100 if ( m_bShowMemStatsInfo )
101 {
102 static TFLOAT s_UpdateTimer = 10.0f;
103 s_UpdateTimer += a_fDeltaTime;
104
105 if ( s_UpdateTimer >= 1.0f )
106 {
107 TMemory::MemInfo memInfo;
109
111 m_wszMemStats,
113 L"Mem Used: %u, Free: %u\nHoles: %u, Largest: %u",
118 );
119
120 m_oMemStats.SetText( m_wszMemStats );
121 s_UpdateTimer = 0.0f;
122 }
123 }
124
125 if ( m_bShowFPSInfo )
126 {
127 static TFLOAT s_FPS = 0.0f;
128 static TFLOAT s_UpdateTimer = 0.0f;
129 s_UpdateTimer += a_fDeltaTime;
130
131 if ( s_UpdateTimer > 0.1f )
132 {
134 s_UpdateTimer = 0.0f;
135 }
136
138 m_wszFPS,
140 L"FPS: %0.02f",
141 s_FPS
142 );
143
144 m_oFPS.SetText( m_wszFPS );
145
146 if ( s_FPS >= 15.0f )
147 {
148 m_oFPS.SetColour( s_FPS < 20.0f ? 0xffffff00 : 0xffffffff );
149 }
150 else
151 {
152 m_oFPS.SetColour( 0xffff0000 );
153 }
154 }
155
156 if ( m_bShowPlayerInfo )
157 {
158 TWCHAR wszPlayerInfo[ 128 ];
160 TTODO(
"Print debug info about player" );
161
162 TWCHAR wszCameraInfo[ 128 ];
164
165 auto pCameraManager = ACameraManager::GetSingleton();
166
167 if (
TNULL != pCameraManager )
168 {
169 auto pCamera = pCameraManager->GetCurrentCamera();
170
171 if ( pCamera )
172 {
173 auto vCamTranslation = pCamera->GetMatrix().GetTranslation();
174
176 wszCameraInfo,
178 L"%s: (%0.02f, %0.02f, %0.02f)",
179 L"Cam",
180 vCamTranslation.x,
181 vCamTranslation.y,
182 vCamTranslation.z
183 );
184 }
185 }
186
188 m_wszPlayerInfo,
190 L"%s",
191 wszCameraInfo
192 );
193
194 m_oPlayerInfo.SetText( m_wszPlayerInfo );
195 }
196
197 if ( m_bShowTexturesInfo )
198 {
199 auto iNumFreeTextures = AMaterialLibraryManager::GetSingleton()->GetNumFreeTextures();
200 auto iNumUsedTextures = AMaterialLibraryManager::GetSingleton()->GetNumUsedTextures();
201
203 m_wszTexturesInfo,
205 L"Textures: (F:%d,U:%d)/%d",
206 iNumFreeTextures,
207 iNumUsedTextures,
209 );
210
211 m_oTexturesInfo.SetText( m_wszTexturesInfo );
212
213 if ( iNumFreeTextures >= 20 )
214 {
215 m_oTexturesInfo.SetColour( iNumFreeTextures < 50 ? 0xffffff00 : 0xffffffff );
216 }
217 else
218 {
219 m_oTexturesInfo.SetColour( 0xffff0000 );
220 }
221 }
222
223 m_oMouseCursor.Update();
224 ms_pCurrentContext->Tick( a_fDeltaTime );
225
227}
#define TARRAYSIZE(ARRAY)
TSystemManager g_oSystemManager
static void GetMemInfo(MemInfo &a_rMemInfo, MemBlock *a_pMemBlock)
TSIZE m_uiLogicTotalUsed
Logical total used memory.
TSIZE m_uiLargestHole
Size of largest free hole.
TSIZE m_uiLogicTotalFree
Logical total free memory.
TINT m_iNumHoles
Number of free holes.
static void String16Format(TWCHAR *str, TINT size, const TWCHAR *format,...)
static constexpr TUINT MAX_NUM_TEXTURES