diff options
-rw-r--r-- | engines/cge/cge_main.h | 1 | ||||
-rw-r--r-- | engines/cge/general.cpp | 1 | ||||
-rw-r--r-- | engines/cge/sound.h | 18 | ||||
-rw-r--r-- | engines/cge/walk.h | 1 | ||||
-rw-r--r-- | engines/cge/wav.h | 144 |
5 files changed, 17 insertions, 148 deletions
diff --git a/engines/cge/cge_main.h b/engines/cge/cge_main.h index 293943d358..1c85816c3e 100644 --- a/engines/cge/cge_main.h +++ b/engines/cge/cge_main.h @@ -28,7 +28,6 @@ #ifndef __CGE_CGE__ #define __CGE_CGE__ -#include "cge/wav.h" #include "cge/vga13h.h" #include "cge/events.h" #include "cge/sound.h" diff --git a/engines/cge/general.cpp b/engines/cge/general.cpp index 4d79dbeddc..ddfb982d58 100644 --- a/engines/cge/general.cpp +++ b/engines/cge/general.cpp @@ -28,7 +28,6 @@ #include "cge/cge.h" #include "cge/general.h" #include "cge/snddrv.h" -#include "cge/wav.h" namespace CGE { diff --git a/engines/cge/sound.h b/engines/cge/sound.h index 33c4e95d35..01b11487d0 100644 --- a/engines/cge/sound.h +++ b/engines/cge/sound.h @@ -28,7 +28,7 @@ #ifndef __CGE_SOUND__ #define __CGE_SOUND__ -#include "cge/wav.h" +#include "cge/general.h" #include "cge/snddrv.h" #include "audio/audiostream.h" #include "audio/decoders/wave.h" @@ -43,6 +43,22 @@ namespace CGE { class CGEEngine; +class DataCk { + byte *_buf; + int _ckSize; +public: + DataCk(byte *buf, int size); + ~DataCk(); + inline const byte *addr() { + return _buf; + } + inline int size() { + return _ckSize; + } +}; + +DataCk *loadWave(XFile *file); + class Sound { public: SmpInfo _smpinf; diff --git a/engines/cge/walk.h b/engines/cge/walk.h index 8327c901b6..c1d387f0b5 100644 --- a/engines/cge/walk.h +++ b/engines/cge/walk.h @@ -28,7 +28,6 @@ #ifndef __CGE_WALK__ #define __CGE_WALK__ -#include "cge/wav.h" #include "cge/vga13h.h" #include "cge/events.h" diff --git a/engines/cge/wav.h b/engines/cge/wav.h deleted file mode 100644 index 824f40f96f..0000000000 --- a/engines/cge/wav.h +++ /dev/null @@ -1,144 +0,0 @@ -/* ScummVM - Graphic Adventure Engine - * - * ScummVM is the legal property of its developers, whose names - * are too numerous to list here. Please refer to the COPYRIGHT - * file distributed with this source distribution. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - */ - -/* - * This code is based on original Soltys source code - * Copyright (c) 1994-1995 Janus B. Wisniewski and L.K. Avalon - */ - -#ifndef __CGE_WAV__ -#define __CGE_WAV__ - -#include "cge/general.h" - -namespace CGE { - -#define WAVE_FORMAT_PCM 0x0001 -#define IBM_FORMAT_MULAW 0x0101 -#define IBM_FORMAT_ALAW 0x0102 -#define IBM_FORMAT_ADPCM 0x0103 - -typedef char FourCC[4]; // Four-character code - -class ChunkId { // Chunk type identifier - union { - FourCC _text; - uint32 _id; - }; -protected: - static XFile *ckFile; -public: - ChunkId(FourCC text) { - memcpy(_text, text, sizeof(_text)); - } - ChunkId(uint32 d) { - _id = d; - } - ChunkId(XFile *xf) { - (ckFile = xf)->read(_text, sizeof(_text)); - } - bool operator !=(ChunkId &X) { - return _id != X._id; - } - bool operator ==(ChunkId &X) { - return _id == X._id; - } - const char *name(); -}; - - -class CkHea : public ChunkId { -protected: - uint32 _ckSize; // Chunk size field (size of ckData) -public: - CkHea(XFile *xf) : ChunkId(xf) { - XRead(xf, &_ckSize); - } - CkHea(char id[]) : ChunkId(id), _ckSize(0) { } - void skip(); - uint32 size() { - return _ckSize; - } -}; - - -class FmtCk : public CkHea { - struct Wav { - uint16 _wFormatTag; // Format category - uint16 _wChannels; // Number of channels - uint32 _dwSamplesPerSec; // Sampling rate - uint32 _dwAvgBytesPerSec; // For buffer estimation - uint16 _wBlockAlign; // Data block size - } _wav; - - union { - struct { - uint16 _wBitsPerSample; // Sample size - } _pcm; - }; -public: - FmtCk(CkHea &hea); - inline uint16 channels() { - return _wav._wChannels; - } - inline uint32 smplRate() { - return _wav._dwSamplesPerSec; - } - inline uint32 byteRate() { - return _wav._dwAvgBytesPerSec; - } - inline uint16 blckSize() { - return _wav._wBlockAlign; - } - inline uint16 smplSize() { - return _pcm._wBitsPerSample; - } -}; - - -class DataCk { - bool _ef; - byte *_buf; - int _ckSize; -public: - DataCk(byte *buf, int size); - ~DataCk(); - inline const byte *addr() { - return _buf; - } - inline int size() { - return _ckSize; - } -}; - - -extern ChunkId _riff; -extern ChunkId _wave; -extern ChunkId _fmt; -extern ChunkId _data; - - -DataCk *loadWave(XFile *file); - -} // End of namespace CGE - -#endif |