PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
ut_gvaft.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
13unsigned int SsUtGetVagAddrFromTone(s16 vab_id, s16 prog, s16 tone)
14{
15 s16 vag;
16 int m_vag_spu_addr;
17
18 if ( _SsVmVSetUp(vab_id, prog) == -1 )
19 return -1;
20 vag = _svm_tn[16 * _svm_cur.m_fake_program + tone].vag;
21 if ( (vag & 1) != 0 )
22 {
23 m_vag_spu_addr = _svm_pg[(vag - 1) / 2].m_vag_spu_addr_hi;
24 }
25 else
26 {
27 m_vag_spu_addr = _svm_pg[(vag - 1) / 2].m_vag_spu_addr_lo;
28 }
29 return (m_vag_spu_addr << 4) | (gVabOffet[_svm_cur.m_vab_id] << 20);
30}