/*============================================================================
  wsSound.h ver.1.00 「ワンダースワンサウンド操作」ヘッダファイル
------------------------------------------------------------------------------
												Programmed by Keiichi.Tago.
============================================================================*/
#include "wsSound.h"

/* ==================== スタティック変数 */
SoundIL soundIL;
int nInitFlag = 0;
BYTE far *lpMusic = NULL;
BYTE far *lpSe = NULL;

/*============================================================
	Freya sound IL driver の初期化
--------------------------------------------------------------
In  : なし
Out : なし
============================================================*/
void wsSndInit( void )
{
	lpSe = mmap( "/rom0/SE.FR" );
	/* サウンド初期化 */
	if ( open_sound_il( &soundIL ) == E_FS_SUCCESS ) {
		sounddrv_init();
		sound_open();
		nInitFlag = 1;
	}
}

/*============================================================
	効果音ファイル選択
--------------------------------------------------------------
In  : lpFilename
Out : なし
============================================================*/
void wsSndSetSeFile( char far *lpPath )
{
	lpSe = mmap( lpPath );
}

/*============================================================
	音楽ファイル選択
--------------------------------------------------------------
In  : lpFilename
Out : なし
============================================================*/
void wsSndSetMusicFile( char far *lpPath )
{
	lpMusic = mmap( lpPath );
}

/*============================================================
	効果音再生
--------------------------------------------------------------
In  : nSeNumber = 効果音番号
Out : なし
============================================================*/
void wsSndPlaySe( int nSeNumber )
{
	if ( nInitFlag == 1 ) {
		if ( lpSe != NULL ) {
			se_play( lpSe, nSeNumber );
		}
	}
}

/*============================================================
	音楽再生
--------------------------------------------------------------
In  : なし
Out : なし
============================================================*/
void wsSndPlayMusic( void )
{
	if ( nInitFlag == 1 ) {
		if ( lpMusic != NULL ) {
			bgm_play( lpMusic, PLAY_LOOP );
		}
	}
}

/*============================================================
	Freya sound IL driver の開放
--------------------------------------------------------------
In  : なし
Out : なし
============================================================*/
void wsSndRelease( void )
{
	if ( nInitFlag == 1 ) {
		/* サウンド停止 */
		sound_close();
		sounddrv_release();
		nInitFlag = 1;
	}
}
