Skip to content

Commit dbed259

Browse files
committed
Add draw load queue option
1 parent 87b69c5 commit dbed259

File tree

4 files changed

+42
-0
lines changed

4 files changed

+42
-0
lines changed

Hooking.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,19 @@ void __cdecl Font__Flush()
278278
auto level = *(Level**)(GAMETRACKER + 8);
279279
auto drawSettings = Hooking::GetInstance().GetMenu()->m_drawSettings;
280280

281+
// prints queued file requests
282+
if (drawSettings.printFileRequests && g_pDiskFS)
283+
{
284+
SetCursor(15.f, 15.f);
285+
286+
auto queue = g_pDiskFS->m_queue;
287+
for (auto request = queue; request != nullptr; request = request->m_next)
288+
{
289+
FONT_Print("%s (%d/%d)\n", request->m_pFileName, request->m_bytesRead, request->m_size);
290+
}
291+
}
292+
293+
// draws collision mesh
281294
if (drawSettings.drawCollision && level)
282295
{
283296
auto terrain = (Terrain*)level->terrain;
@@ -309,6 +322,7 @@ void __cdecl Font__Flush()
309322
}
310323
}
311324

325+
// draws signal mesh
312326
if (level && drawSettings.drawSignals)
313327
{
314328
auto terrain = (Terrain*)level->terrain;
@@ -336,6 +350,7 @@ void __cdecl Font__Flush()
336350
}
337351
}
338352

353+
// draws portals
339354
if (drawSettings.drawPortals && level)
340355
{
341356
auto terrain = *(Terrain*)level->terrain;

Menu.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,8 @@ void Menu::Draw()
471471
{
472472
*(int*)(GAMETRACKER + 0x18) /*debugFlags2*/ |= 0x100;
473473
}
474+
475+
ImGui::Checkbox("Show load queue", &m_drawSettings.printFileRequests);
474476
#endif
475477

476478
#if TRAE

Menu.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ struct DrawSettings
3131
bool drawCollision = false;
3232
bool drawPortals = false;
3333
bool drawSignals = false;
34+
bool printFileRequests = false;
3435

3536
// "DrawSettings"
3637
bool noRespawn = false;

game/filesystem.hpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,31 @@ namespace cdc
2020
virtual bool IsSuspended() = 0;
2121
#endif
2222
};
23+
24+
struct MSFileSystem
25+
{
26+
struct Request
27+
{
28+
char pad1[20];
29+
char m_pFileName[128];
30+
char pad2[20];
31+
unsigned int m_bytesRead;
32+
unsigned int m_bytesProcessed;
33+
int m_readState;
34+
unsigned int m_offset;
35+
unsigned int m_size;
36+
Request* m_next;
37+
};
38+
39+
char pad[1099812];
40+
Request* m_queue;
41+
Request* m_free;
42+
unsigned int m_numUsedRequests;
43+
};
2344
}
2445

46+
#define g_pDiskFS VAR_U_(DISKFS, cdc::MSFileSystem*)
47+
#define g_pFS VAR_U_(ARCHIVEFS, cdc::MSFileSystem*)
48+
2549
cdc::FileSystem* GetFS();
2650
cdc::FileSystem* CreateHookFileSystem(cdc::FileSystem* pFS, cdc::FileSystem* pDiskFS);

0 commit comments

Comments
 (0)