/*
 * This code is released under the Microsoft Public License (MS-PL). See license.txt, below.
 */

typedef enum _CompressSizeType {
	Uncompress,
	Compress
} CompressSizeType;

typedef enum _CompressFlagType {
	Zero,
	One
} CompressFlagType;

typedef enum _LzssType {
	LzssType1,
	LzssType2
} LzssType;

void uncompressLzss(
	unsigned char* sbuf,
	_TCHAR* pszFilenameWithFullpath,
	unsigned long offsetOfSize,
	unsigned long offsetOfPos,
	CompressFlagType compressFlag,
	unsigned long encondingBit,
	CompressSizeType compressSizeType,
	LzssType lzssType,
	_TCHAR* ext,
	int specialFix,
	InternalMusic* im
	);

void uncompressBrightis(
	unsigned char* sbuf,
	_TCHAR* pszFilenameWithFullpath,
	InternalMusic* im
	);

void uncompressGust(
	unsigned char* sbuf,
	unsigned long filesize,
	_TCHAR* pszFilenameWithFullpath,
	InternalMusic* im
	);
