11#include "libsnd2_internal.h"
13void _SsSndStop(s16 sep_no, s16 seq_no)
19 score_struct = &_ss_score[sep_no][seq_no];
20 score_struct->m_flags &= ~1u;
21 score_struct->m_flags &= ~2u;
22 score_struct->m_flags &= ~8u;
23 score_struct->m_flags &= ~0x400u;
24 score_struct->m_flags |= 4u;
25 _SsVmSeqKeyOff(sep_no | (seq_no << 8));
27 m_unk04 = score_struct->m_unk04;
28 score_struct->m_play_mode = SSPLAY_PAUSE;
29 score_struct->m_unk88 = 0;
30 score_struct->m_unk1C = 0;
31 score_struct->m_unk18 = 0;
32 score_struct->m_unk19 = 0;
33 score_struct->m_unk1E = 0;
34 score_struct->m_fn_idx = 0;
35 score_struct->m_unk1B = 0;
36 score_struct->m_unk1F = 0;
37 score_struct->m_channel_idx = 0;
38 score_struct->m_unk21 = 0;
39 score_struct->m_unk1C = 0;
40 score_struct->m_unk1D = 0;
41 score_struct->m_unk15 = 0;
42 score_struct->m_running_status = 0;
43 score_struct->m_delta_value = score_struct->m_unk84;
44 score_struct->m_unk94 = score_struct->m_tempo;
45 score_struct->m_unk54 = score_struct->m_unk56;
46 score_struct->m_seq_ptr = m_unk04;
47 score_struct->m_unk08 = m_unk04;
48 for ( i_tmp = 0; i_tmp < 16; i_tmp += 1 )
50 score_struct->m_programs[i_tmp] = i_tmp;
51 score_struct->m_panpot[i_tmp] = 64;
52 score_struct->m_vol[i_tmp] = 127;
54 score_struct->m_unk5C = 127;
55 score_struct->m_unk5E = 127;
58void SsSeqStop(s16 sep_no)
60 _SsSndStop(sep_no, 0);
63void SsSepStop(s16 sep_no, s16 seq_no)
65 _SsSndStop(sep_no, seq_no);