From: fincs Date: Fri, 2 Jan 2015 17:30:30 +0000 (+0100) Subject: It's always a missing 4 that makes it b0rk X-Git-Tag: v0.4.0~19 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=ce902bd6d19df2945e41969b063830f3bf3c04e0;p=corbenik%2Fctrulib.git It's always a missing 4 that makes it b0rk --- diff --git a/libctru/source/services/csnd.c b/libctru/source/services/csnd.c index 40494fc..c8aacfd 100644 --- a/libctru/source/services/csnd.c +++ b/libctru/source/services/csnd.c @@ -187,10 +187,11 @@ Result csndExecChnCmds(bool waitDone) if (csndCmdStartOff == csndCmdCurOff) return 0; - vu8* flag = (vu8*)&csndSharedMem[csndCmdStartOff>>2]; + vu8* flag = (vu8*)&csndSharedMem[(csndCmdStartOff + 4) >> 2]; ret = CSND_ExecChnCmds(csndCmdStartOff); csndCmdStartOff = csndCmdCurOff; + if (ret != 0) return ret; // FIXME: This is a really ugly busy waiting loop! while (waitDone && *flag == 0);