Skip to content

Commit b170d02

Browse files
authored
Add engineStreamingGetUsedMemory (PR #2269)
1 parent 4279648 commit b170d02

File tree

4 files changed

+14
-0
lines changed

4 files changed

+14
-0
lines changed

Client/game_sa/CStreamingSA.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,8 @@ void CStreamingSA::ReinitStreaming()
152152

153153
reinitStreaming();
154154
}
155+
156+
std::uint32_t CStreamingSA::GetMemoryUsed() const
157+
{
158+
return *reinterpret_cast<std::uint32_t*>(0x8E4CB4);
159+
}

Client/game_sa/CStreamingSA.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class CStreamingSA : public CStreaming
2929
void RequestSpecialModel(DWORD model, const char* szTexture, DWORD channel);
3030
void ReinitStreaming();
3131
CStreamingInfo* GetStreamingInfoFromModelId(uint32 id);
32+
std::uint32_t GetMemoryUsed() const override;
3233

3334
private:
3435
static CStreamingInfo* ms_aInfoForModel; // count: 26316 in unmodified game

Client/mods/deathmatch/logic/luadefs/CLuaEngineDefs.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@
1212
#include "StdInc.h"
1313
#include <lua/CLuaFunctionParser.h>
1414

15+
std::uint32_t EngineStreamingGetUsedMemory()
16+
{
17+
return g_pGame->GetStreaming()->GetMemoryUsed();
18+
}
19+
1520
void CLuaEngineDefs::LoadFunctions()
1621
{
1722
constexpr static const std::pair<const char*, lua_CFunction> functions[]{
@@ -52,6 +57,8 @@ void CLuaEngineDefs::LoadFunctions()
5257
{"engineRestoreObjectGroupPhysicalProperties", EngineRestoreObjectGroupPhysicalProperties},
5358
{"engineRestreamWorld", ArgumentParser<EngineRestreamWorld>},
5459

60+
{"engineStreamingGetUsedMemory", ArgumentParser<EngineStreamingGetUsedMemory>},
61+
5562
// CLuaCFunctions::AddFunction ( "engineReplaceMatchingAtomics", EngineReplaceMatchingAtomics );
5663
// CLuaCFunctions::AddFunction ( "engineReplaceWheelAtomics", EngineReplaceWheelAtomics );
5764
// CLuaCFunctions::AddFunction ( "enginePositionAtomic", EnginePositionAtomic );

Client/sdk/game/CStreaming.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,5 @@ class CStreaming
4848
virtual void RequestSpecialModel(DWORD model, const char* szTexture, DWORD channel) = 0;
4949
virtual CStreamingInfo* GetStreamingInfoFromModelId(uint32 id) = 0;
5050
virtual void ReinitStreaming() = 0;
51+
virtual std::uint32_t GetMemoryUsed() const = 0;
5152
};

0 commit comments

Comments
 (0)