diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-26 23:51:31 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-05-26 23:51:31 +0200 |
| commit | 29dd9ea4f05a1aad7add312674c1785b8ab867cc (patch) | |
| tree | d7e1191e946ad3a868d804b35257c12117e3deb5 /src/nw4r | |
| parent | b4a79946bf374e341f65f373cc430c73bad5f441 (diff) | |
snd_AxfxImpl OK
Diffstat (limited to 'src/nw4r')
| -rw-r--r-- | src/nw4r/snd/snd_AxfxImpl.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/nw4r/snd/snd_AxfxImpl.cpp b/src/nw4r/snd/snd_AxfxImpl.cpp index ba4a6394..4e757cfb 100644 --- a/src/nw4r/snd/snd_AxfxImpl.cpp +++ b/src/nw4r/snd/snd_AxfxImpl.cpp @@ -10,6 +10,11 @@ AxfxImpl* AxfxImpl::mCurrentFx = NULL; u32 AxfxImpl::mAllocatedSize = 0; bool AxfxImpl::CreateHeap(void* pBuffer, u32 size) { + if (pBuffer == NULL || size == 0) + { + mHeap = NULL; + return false; + } mHeap = MEMCreateFrmHeap(pBuffer, size); return mHeap != NULL; } @@ -17,6 +22,7 @@ bool AxfxImpl::CreateHeap(void* pBuffer, u32 size) { void AxfxImpl::DestroyHeap() { if (mHeap != NULL) { MEMDestroyFrmHeap(mHeap); + mHeap = NULL; } } @@ -24,11 +30,13 @@ void AxfxImpl::HookAlloc(AXFXAllocHook* pAllocHook, AXFXFreeHook* pFreeHook) { AXFXGetHooks(pAllocHook, pFreeHook); AXFXSetHooks(Alloc, Free); mCurrentFx = this; + mAllocatedSize = 0; } -void AxfxImpl::RestoreAlloc(AXFXAllocHook allocHook, AXFXFreeHook freeHook) { +u32 AxfxImpl::RestoreAlloc(AXFXAllocHook allocHook, AXFXFreeHook freeHook) { AXFXSetHooks(allocHook, freeHook); mCurrentFx = NULL; + return mAllocatedSize; } void* AxfxImpl::Alloc(u32 size) { |
