From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- .../HeapInspector/Samples/Manual/ManualSample.cpp | 78 +++++++++ .../HeapInspector/Samples/Manual/PS3/Main.cpp | 7 + .../Samples/Manual/PS3/ManualSample.vcproj | 183 +++++++++++++++++++++ .../Samples/Manual/PS3/ManualSample.vcxproj | 70 ++++++++ .../HeapInspector/Samples/Manual/PS3/Wait.cpp | 6 + 5 files changed, 344 insertions(+) create mode 100644 Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/ManualSample.cpp create mode 100644 Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Main.cpp create mode 100644 Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcproj create mode 100644 Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcxproj create mode 100644 Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Wait.cpp (limited to 'Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual') diff --git a/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/ManualSample.cpp b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/ManualSample.cpp new file mode 100644 index 00000000..34914717 --- /dev/null +++ b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/ManualSample.cpp @@ -0,0 +1,78 @@ +// ================================================================================================================================= +// This sample demonstrates how to use the Server API to send allocs, reallocs and frees directly to the client. It also shows +// how to configure multiple heaps. +// ================================================================================================================================= + +#include "../../Server/HeapInspectorServer.h" +#include + +using namespace HeapInspectorServer; + +void Wait(int a_MilliSeconds); + +std::vector GetHeapInfo() +{ + std::vector result; + HeapInfo heapInfo; + heapInfo.m_Description = "Heap1"; + heapInfo.m_Range.m_Min = 0; + heapInfo.m_Range.m_Max = 0x80000000 - 1; + result.push_back(heapInfo); + + heapInfo.m_Description = "Heap2"; + heapInfo.m_Range.m_Min = 0; + heapInfo.m_Range.m_Max = 0x80000000 - 1; + result.push_back(heapInfo); + + return result; +} + +void* Alloc(uint32 a_Size, int a_Heap) +{ + Mutation mutation = BeginAlloc(); + void* mem = malloc(a_Size); + EndAlloc(mutation, a_Heap, mem, a_Size, a_Size); + return mem; +} + +void Free(void* a_Block, int a_Heap) +{ + Mutation mutation = BeginFree(); + free(a_Block); + EndFree(mutation, a_Heap, a_Block); +} + +void* ReAlloc(void* a_OldBlock, uint32 a_Size, int a_Heap) +{ + Mutation mutation = BeginReAlloc(); + void* mem = realloc(a_OldBlock, a_Size); + EndReAlloc(mutation, a_Heap, a_OldBlock, mem, a_Size, a_Size); + return mem; +} + +void RunHeapInspectorServer() +{ + Initialise(GetHeapInfo(), 3000, WaitForConnection_Enabled); + + while (1) + { + void* mem1; + void* memB; + + mem1 = Alloc(16, 0); + memB = Alloc(1024, 1); + + Wait(100); + + void* mem2 = ReAlloc(mem1, 32, 0); + + Wait(100); + + Free(mem2, 0); + Free(memB, 1); + + Wait(100); + } + + Shutdown(); +} diff --git a/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Main.cpp b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Main.cpp new file mode 100644 index 00000000..06429da3 --- /dev/null +++ b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Main.cpp @@ -0,0 +1,7 @@ + +void RunHeapInspectorServer(); + +int main(int /*a_ArgC*/, const char* /*a_ArgV[]*/) +{ + RunHeapInspectorServer(); +} diff --git a/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcproj b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcproj new file mode 100644 index 00000000..01fbd38d --- /dev/null +++ b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcproj @@ -0,0 +1,183 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcxproj b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcxproj new file mode 100644 index 00000000..9dd6a130 --- /dev/null +++ b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/ManualSample.vcxproj @@ -0,0 +1,70 @@ + + + + + Debug + PS3 + + + Release + PS3 + + + + + + + + + {B6B851C9-DC76-4A5B-9AFE-6CF944BFB502} + + + + Application + GCC + + + Application + GCC + + + + + + + + + + + + + $(ProjectDir)$(Platform)_$(Configuration)_VS2010\ + $(Platform)_$(Configuration)_VS2010\ + + + $(ProjectDir)$(Platform)_$(Configuration)_VS2010\ + $(Platform)_$(Configuration)_VS2010\ + + + + _DEBUG;__CELL_ASSERT__;%(PreprocessorDefinitions);;HEAPINSPECTOR_PS3=1 + true + + + "$(SCE_PS3_ROOT)\target\ppu\lib\libm.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libio_stub.a";"..\..\..\Server\PS3\Debug\libHeapInspectorServer.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libpthread.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libnet_stub.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libsysmodule_stub.a";%(AdditionalDependencies) + + + + + NDEBUG;%(PreprocessorDefinitions);;HEAPINSPECTOR_PS3=1 + Level2 + + + "..\..\..\Server\PS3\Release\libHeapInspectorServer.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libpthread.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libnet_stub.a";"$(SCE_PS3_ROOT)\target\ppu\lib\libsysmodule_stub.a";%(AdditionalDependencies) + + + + + + + \ No newline at end of file diff --git a/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Wait.cpp b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Wait.cpp new file mode 100644 index 00000000..2c436c84 --- /dev/null +++ b/Minecraft.Client/PS3/PS3Extras/HeapInspector/Samples/Manual/PS3/Wait.cpp @@ -0,0 +1,6 @@ +#include + +void Wait(int a_Milliseconds) +{ + sys_timer_usleep(a_Milliseconds * 1000); +} \ No newline at end of file -- cgit v1.2.3