summaryrefslogtreecommitdiff
path: root/src/nw4r
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-05-26 23:51:31 +0200
committerrobojumper <robojumper@gmail.com>2025-05-26 23:51:31 +0200
commit29dd9ea4f05a1aad7add312674c1785b8ab867cc (patch)
treed7e1191e946ad3a868d804b35257c12117e3deb5 /src/nw4r
parentb4a79946bf374e341f65f373cc430c73bad5f441 (diff)
snd_AxfxImpl OK
Diffstat (limited to 'src/nw4r')
-rw-r--r--src/nw4r/snd/snd_AxfxImpl.cpp10
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) {