PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
sspptp.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 SsSeqPlayPtoP(s16 sep_no, s16 seq_no, u8 *start_point, u8 *end_point, char play_mode, s16 l_count)
14{
15 libsnd2_sequence_struct_t *score_struct;
16
17 score_struct = &_ss_score[sep_no][seq_no];
18 if ( start_point == end_point || end_point < start_point )
19 {
20 printf("bad address setting!!\n");
21 return;
22 }
23 score_struct->m_seq_ptr = start_point;
24 score_struct->m_unk08 = start_point;
25 score_struct->m_unk0C = start_point;
26 score_struct->m_unk10 = end_point;
27 score_struct->m_flags &= ~0x200u;
28 score_struct->m_flags &= ~4u;
29 score_struct->m_l_count = l_count;
30 switch ( play_mode )
31 {
32 case SSPLAY_PAUSE:
33 score_struct->m_flags |= 2u;
34 break;
35 case SSPLAY_PLAY:
36 score_struct->m_flags |= 1u;
37 score_struct->m_flags |= 0x400u;
38 score_struct->m_play_mode = SSPLAY_PLAY;
39 score_struct->m_unk21 = 0;
40 _SsVmSetSeqVol((sep_no | (seq_no << 8)), score_struct->m_voll, score_struct->m_volr);
41 break;
42 default:
43 break;
44 }
45}