11#include "libsnd2_internal.h"
13int SsSeqSkip(s16 sep_no, s16 seq_no,
char unit, s16
count)
18 void (*noteon)(s16, s16, u8, u8);
25 score_struct = &_ss_score[sep_no][seq_no];
30 noteon = SsFCALL.noteon;
31 m_unk04 = score_struct->m_unk04;
33 score_struct->m_seq_ptr = m_unk04;
34 SsFCALL.noteon = dmy_nothing1;
38 m_unk54 = score_struct->m_unk54 *
count;
41 m_unk54 =
count * 10 * score_struct->m_resolution_of_quarter_note;
44 m_unk54 =
count * 5 * score_struct->m_resolution_of_quarter_note;
50 m_rhythm_d = score_struct->m_rhythm_d;
51 if ( m_rhythm_d == 2 )
53 m_unk54 = score_struct->m_rhythm_n *
count * 10 * score_struct->m_resolution_of_quarter_note;
59 v15 =
count * 10 * score_struct->m_resolution_of_quarter_note;
60 if ( (1 << m_rhythm_d) == 0 )
62 if ( 1 << m_rhythm_d == -1 && (
unsigned int)v15 == 0x80000000 )
64 m_unk54 = v15 / (1 << m_rhythm_d) * score_struct->m_rhythm_n;
75 if ( _SsGetSeqData(sep_no, seq_no) == 1 )
77 m_unk54 = score_struct->m_unk54;
78 m_unk84 = score_struct->m_unk84;
79 v19 = score_struct->m_unk04;
81 score_struct->m_unk10 = 0;
82 score_struct->m_delta_value = m_unk84;
83 score_struct->m_seq_ptr = v19;
84 score_struct->m_unk0C = v19;
87 }
while ( !score_struct->m_delta_value );
88 m_unk54 -= score_struct->m_delta_value;
89 }
while ( score_struct->m_unk54 < m_unk54 );
90 SsFCALL.noteon = noteon;
u32 count
start sector of fragmented bd/file