diff --git a/include/dolphin/types.h b/include/dolphin/types.h index cd351fbb..db8b9b8c 100644 --- a/include/dolphin/types.h +++ b/include/dolphin/types.h @@ -22,6 +22,7 @@ typedef unsigned long u32; typedef unsigned long long int u64; typedef u32 size_t; +typedef u32 uintptr_t; #endif typedef volatile u8 vu8; diff --git a/include/game/memory.h b/include/game/memory.h index c5978975..a32b1a84 100644 --- a/include/game/memory.h +++ b/include/game/memory.h @@ -28,10 +28,10 @@ u32 HuMemHeapSizeGet(HeapID heap); void *HuMemHeapPtrGet(HeapID heap); void *HuMemHeapInit(void *ptr, s32 size); -void *HuMemMemoryAlloc(void *heap_ptr, s32 size, size_t retaddr); -void *HuMemMemoryAllocNum(void *heap_ptr, s32 size, u32 num, size_t retaddr); -void HuMemMemoryFree(void *ptr, size_t retaddr); -void HuMemMemoryFreeNum(void *heap_ptr, u32 num, size_t retaddr); +void *HuMemMemoryAlloc(void *heap_ptr, s32 size, uintptr_t retaddr); +void *HuMemMemoryAllocNum(void *heap_ptr, s32 size, u32 num, uintptr_t retaddr); +void HuMemMemoryFree(void *ptr, uintptr_t retaddr); +void HuMemMemoryFreeNum(void *heap_ptr, u32 num, uintptr_t retaddr); s32 HuMemUsedMemorySizeGet(void *heap_ptr); s32 HuMemUsedMemoryBlockGet(void *heap_ptr); s32 HuMemMemorySizeGet(void *ptr); diff --git a/src/game/memory.c b/src/game/memory.c index 77b0a569..908c294f 100644 --- a/src/game/memory.c +++ b/src/game/memory.c @@ -13,10 +13,10 @@ struct memory_block { struct memory_block *prev; struct memory_block *next; u32 num; - size_t retaddr; + uintptr_t retaddr; }; -static void *HuMemMemoryAlloc2(void *heap_ptr, s32 size, u32 num, size_t retaddr); +static void *HuMemMemoryAlloc2(void *heap_ptr, s32 size, u32 num, uintptr_t retaddr); void *HuMemHeapInit(void *ptr, s32 size) { @@ -31,17 +31,17 @@ void *HuMemHeapInit(void *ptr, s32 size) return block; } -void *HuMemMemoryAllocNum(void *heap_ptr, s32 size, u32 num, size_t retaddr) +void *HuMemMemoryAllocNum(void *heap_ptr, s32 size, u32 num, uintptr_t retaddr) { return HuMemMemoryAlloc2(heap_ptr, size, num, retaddr); } -void *HuMemMemoryAlloc(void *heap_ptr, s32 size, size_t retaddr) +void *HuMemMemoryAlloc(void *heap_ptr, s32 size, uintptr_t retaddr) { return HuMemMemoryAlloc2(heap_ptr, size, -256, retaddr); } -static void *HuMemMemoryAlloc2(void *heap_ptr, s32 size, u32 num, size_t retaddr) +static void *HuMemMemoryAlloc2(void *heap_ptr, s32 size, u32 num, uintptr_t retaddr) { s32 alloc_size = MEM_ALLOC_SIZE(size); struct memory_block *block = heap_ptr; @@ -72,7 +72,7 @@ static void *HuMemMemoryAlloc2(void *heap_ptr, s32 size, u32 num, size_t retaddr return NULL; } -void HuMemMemoryFreeNum(void *heap_ptr, u32 num, size_t retaddr) +void HuMemMemoryFreeNum(void *heap_ptr, u32 num, uintptr_t retaddr) { struct memory_block *block = heap_ptr; do { @@ -90,7 +90,7 @@ static void HuMemTailMemoryAlloc2() //Required for string literal OSReport("memory allocation(tail) error.\n"); } -void HuMemMemoryFree(void *ptr, size_t retaddr) +void HuMemMemoryFree(void *ptr, uintptr_t retaddr) { struct memory_block *block; if(!ptr) {