11#include "libsnd2_internal.h"
13void _SsSndTempo(s16 sep_no, s16 seq_no)
20 score_struct = &_ss_score[sep_no][seq_no];
21 unk_a8_dec = score_struct->m_unkA8 - 1;
22 score_struct->m_unkA8 = unk_a8_dec;
25 score_struct->m_flags &= ~0x40u;
26 score_struct->m_flags &= ~0x80u;
29 m_unk4E = score_struct->m_unk4E;
36 m_unk94 = score_struct->m_unk94;
37 m_unkAC = score_struct->m_unkAC;
38 v14 = m_unk94 + m_unk4E;
39 if ( m_unkAC >= m_unk94 )
41 if ( m_unk94 < m_unkAC )
45 v16 = m_unk94 - m_unk4E;
46 m_unkAC = score_struct->m_unkAC;
47 score_struct->m_unk94 = v16;
49 score_struct->m_unk94 = m_unkAC;
54 score_struct->m_unk94 = v14;
56 score_struct->m_unk94 = m_unkAC;
59 else if ( m_unk4E > 0 )
64 if ( unk_a8_dec % m_unk4E )
66 v9 = score_struct->m_unk94;
67 v10 = score_struct->m_unkAC;
69 score_struct->m_unk94 = v9 - 1;
71 score_struct->m_unk94 = v9 + 1;
77 calc = 10 * score_struct->m_resolution_of_quarter_note * score_struct->m_unk94 / (
unsigned int)(60 * VBLANK_MINUS);
78 if ( (60 * VBLANK_MINUS) == 0 )
80 score_struct->m_unk54 = calc;
82 score_struct->m_unk54 = 1;
83 if ( !score_struct->m_unkA8 || score_struct->m_unk94 == score_struct->m_unkAC )
85 score_struct->m_flags &= ~0x40u;
86 score_struct->m_flags &= ~0x80u;