/*
 *	zmod.c
 *
 *	ZIP内のMODファイルをロードして再生します。
 *	MODを利用するプロジェクトに加えてください。
 *
 *	* Sat Feb 22 14:20:00 JST 2003 Naoyuki Sawa
 *	- 1st リリース。
 */
#include "app.h"

/* * app.hでの定義一例です：
 *	#define DAT_FNAME	"test.dat"	// ZIPファイル名
 *	#define SNGBUF_SIZE	(64 * 1024)	// 最大MODサイズ
 *
 * * MODファイルは、ZIPファイル内に「mod/名前.mod」という名前で、
 *   フォルダ付きで格納されていることが前提です。
 */

void
zmod_play(const char* name)
{
	static unsigned char sngbuf[SNGBUF_SIZE];

	char fname[32]; /* アイテム名作成用。これぐらいあれば充分？ */

	/* まず確実に停止します。 */
	mod_stop();

	/* MODデータを読み込みます。 */
	unzWindowBits = 9; /* 作業メモリ節約。圧縮時も「-w9」で圧縮すること！ */
	sprintf(fname, "mus/%s.mod", name);
	if(my_unzip(DAT_FNAME, fname, sngbuf, SNGBUF_SIZE, NULL) == 0) DIE();

	/* MODデータを再生します。 */
	mod_play(sngbuf);
}
