From 86b482012b3a9a8ae06edab2c1272efb1ec45c7a Mon Sep 17 00:00:00 2001 From: Strangerke Date: Thu, 12 Jan 2017 07:19:17 +0100 Subject: CRYO: Remove useless fields in HNM Header, some renaming --- engines/cryo/cryolib.h | 19 +++---------------- engines/cryo/eden.cpp | 14 ++++++++------ engines/cryo/eden.h | 4 ++-- engines/cryo/video.cpp | 17 ++++------------- 4 files changed, 17 insertions(+), 37 deletions(-) diff --git a/engines/cryo/cryolib.h b/engines/cryo/cryolib.h index 5670d75b74..2b2ebd6812 100644 --- a/engines/cryo/cryolib.h +++ b/engines/cryo/cryolib.h @@ -91,26 +91,13 @@ struct color_t { int16 a, r, g, b; }; -#pragma pack(push, 1) struct HNMHeader { - int _signature; - char _unusedFlag1; - char _unusedFlag2; - char _unusedReserved; - char _unusedBpp; + int32 _signature; uint16 _width; uint16 _height; - int _unusedFileSize; - int _numbFrame; - int _unusedTableOffset; - int16 _unusedSpeed; - int16 _unusedMaxBuffer; - int _bufferSize; - int16 _unusedUnknown; - char _unusedReserved2[14]; - char _unusedCopyright[16]; + int32 _numbFrame; + int32 _bufferSize; }; -#pragma pack(pop) class Sound { private: diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp index 18f930a29f..30725182ac 100644 --- a/engines/cryo/eden.cpp +++ b/engines/cryo/eden.cpp @@ -4831,7 +4831,8 @@ void EdenGame::loadRoomFile(uint16 num, Room *buffer) { } } -void EdenGame::shnmfl(uint16 num) { +// Original name: shnmfl +void EdenGame::loadHnm(uint16 num) { unsigned int resNum = num - 1 + 485; assert(resNum < _bigfileHeader->_count); PakHeaderItem *file = &_bigfileHeader->_files[resNum]; @@ -4841,7 +4842,8 @@ void EdenGame::shnmfl(uint16 num) { _vm->_video->_file->seek(offs, SEEK_SET); } -int EdenGame::ssndfl(uint16 num) { +// Original name: ssndfl +int EdenGame::loadSound(uint16 num) { unsigned int resNum = num - 1 + ((_vm->getPlatform() == Common::kPlatformDOS && _vm->isDemo()) ? 656 : 661); assert(resNum < _bigfileHeader->_count); PakHeaderItem *file = &_bigfileHeader->_files[resNum]; @@ -4875,7 +4877,7 @@ int EdenGame::ssndfl(uint16 num) { if (chunkType == 5) { _bigfile.read(_gameLipsync + 7260, chunkLen); -// anim_buffer_ptr = gameLipsync + 7260 + 2; +// _animBufferPtr = _gameLipsync + 7260 + 2; chunkType = _bigfile.readByte(); _bigfile.read(&val, 3); @@ -4884,7 +4886,7 @@ int EdenGame::ssndfl(uint16 num) { // 3. Normal sound data if (chunkType == 1) { - /*unsigned short freq = */_bigfile.readUint16LE(); + /*uint8 freq = */_bigfile.readUint16LE(); size = chunkLen - 2; _bigfile.read(_voiceSamplesBuffer, size); } @@ -6434,7 +6436,7 @@ void EdenGame::playHNM(int16 num) { } _showVideoSubtitle = false; _videoCanceledFlag = false; - shnmfl(num); + loadHnm(num); _vm->_video->reset(); if (_needToFade) { fadeToBlack(4); @@ -6614,7 +6616,7 @@ void EdenGame::persovox() { num += 565; if (_globals->_textBankIndex == 3) num += 707; - _voiceSamplesSize = ssndfl(num); + _voiceSamplesSize = loadSound(num); int16 volumeLeft = _globals->_prefSoundVolume[0]; int16 volumeRight = _globals->_prefSoundVolume[1]; int16 stepLeft = _musicChannel->_volumeLeft < volumeLeft ? stepLeft = 1 : -1; diff --git a/engines/cryo/eden.h b/engines/cryo/eden.h index bedd89caa3..e805a378df 100644 --- a/engines/cryo/eden.h +++ b/engines/cryo/eden.h @@ -282,8 +282,8 @@ private: void loadRawFile(uint16 num, byte *buffer); void loadIconFile(uint16 num, Icon *buffer); void loadRoomFile(uint16 num, Room *buffer); - void shnmfl(uint16 num); - int ssndfl(uint16 num); + void loadHnm(uint16 num); + int loadSound(uint16 num); void ConvertMacToPC(); void loadpermfiles(); bool ReadDataSyncVOC(unsigned int num); diff --git a/engines/cryo/video.cpp b/engines/cryo/video.cpp index 4f92a0e5f2..29f3ad6edd 100644 --- a/engines/cryo/video.cpp +++ b/engines/cryo/video.cpp @@ -158,23 +158,14 @@ void HnmPlayer::decompADPCM(byte *buffer, int16 *output, int size) { // Original name: CLHNM_ReadHeader void HnmPlayer::readHeader() { _header._signature = _file->readUint32BE(); - _header._unusedFlag1 = _file->readByte(); - _header._unusedFlag2 = _file->readByte(); - _header._unusedReserved = _file->readByte(); - _header._unusedBpp = _file->readByte(); + _file->skip(4); _header._width = _file->readUint16LE(); _header._height = _file->readUint16LE(); - _header._unusedFileSize = _file->readSint32LE(); + _file->skip(4); _header._numbFrame = _file->readSint32LE(); - _header._unusedTableOffset = _file->readSint32LE(); - _header._unusedSpeed = _file->readSint16LE(); - _header._unusedMaxBuffer = _file->readSint16LE(); + _file->skip(8); _header._bufferSize = _file->readSint32LE(); - _header._unusedUnknown = _file->readSint16LE(); - for (int i = 0; i < 14; i++) - _header._unusedReserved2[i] = _file->readSByte(); - for (int i = 0; i < 16; i++) - _header._unusedCopyright[i] = _file->readSByte(); + _file->skip(32); _header._bufferSize += 4096; //TODO: checkme } -- cgit v1.2.3