PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
vm_nowof.c
1/*
2# _____ ___ ____ ___ ____
3# ____| | ____| | | |____|
4# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5#-----------------------------------------------------------------------
6# Copyright ps2dev - http://www.ps2dev.org
7# Licenced under Academic Free License version 2.0
8# Review ps2sdk README & LICENSE files for further details.
9*/
10
11#include "libsnd2_internal.h"
12
13void _SsVmKeyOffNow(void)
14{
15 int bits_upper;
16 int bits_lower;
17 int m_voice_idx;
18 u16 okof1_tmp;
19 u16 okof2_tmp;
20 libsnd2_spu_voice_t *voice_struct;
21
22 m_voice_idx = (u16)_svm_cur.m_voice_idx;
23 if ( (u16)m_voice_idx >= 0x10u )
24 {
25 bits_upper = 0;
26 bits_lower = 1 << ((m_voice_idx & 0xFF) - 16);
27 }
28 else
29 {
30 bits_upper = 1 << (m_voice_idx & 0xFF);
31 bits_lower = 0;
32 }
33 voice_struct = &_svm_voice[m_voice_idx];
34 voice_struct->m_unk1d = 0;
35 okof1_tmp = _svm_okof1;
36 okof2_tmp = _svm_okof2;
37 voice_struct->m_pitch = 0;
38 voice_struct->m_vag_idx = 0;
39 _svm_okof1 = okof1_tmp | bits_upper;
40 _svm_okon1 &= ~(okof1_tmp | bits_upper);
41 _svm_okof2 = okof2_tmp | bits_lower;
42 _svm_okon2 &= ~(okof2_tmp | bits_lower);
43}