diff options
author | Strangerke | 2016-10-04 23:30:59 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2017-01-25 22:41:58 +0100 |
commit | 8c5b81684152a436b7272ddd7bcb4db65dd95257 (patch) | |
tree | f9949300a22fe09dc8e2ed5ce7ce5b96075b3594 /engines/cryo | |
parent | ec7d67d5c334027c3f45fbd4738395f5631d2877 (diff) | |
download | scummvm-rg350-8c5b81684152a436b7272ddd7bcb4db65dd95257.tar.gz scummvm-rg350-8c5b81684152a436b7272ddd7bcb4db65dd95257.tar.bz2 scummvm-rg350-8c5b81684152a436b7272ddd7bcb4db65dd95257.zip |
CRYO: Remove (partially unimplemented) caching code, remove some useless functions, add back code erroneously removed in previous commit
Diffstat (limited to 'engines/cryo')
-rw-r--r-- | engines/cryo/clhnm.cpp | 93 | ||||
-rw-r--r-- | engines/cryo/clsoundraw.cpp | 8 | ||||
-rw-r--r-- | engines/cryo/cryolib.cpp | 11 | ||||
-rw-r--r-- | engines/cryo/cryolib.h | 5 |
4 files changed, 39 insertions, 78 deletions
diff --git a/engines/cryo/clhnm.cpp b/engines/cryo/clhnm.cpp index 31676a65d4..3f171365fd 100644 --- a/engines/cryo/clhnm.cpp +++ b/engines/cryo/clhnm.cpp @@ -44,7 +44,6 @@ static soundgroup_t *soundGroup_adpcm = 0; static soundchannel_t *soundChannel = 0; static soundgroup_t *soundGroup = 0; static void (*custom_chunk_handler)(byte *buffer, int size, int16 id, char h6, char h7) = 0; -static int16 use_preload = 0; static int16 decomp_table[256]; void CLHNM_Desentrelace320(byte *frame_buffer, byte *final_buffer, uint16 height); @@ -191,7 +190,6 @@ void CLHNM_DecompUBA(byte *output, byte *curr_buffer, byte *prev_buffer, } void CLHNM_Init() { - use_preload = 0; custom_chunk_handler = 0; preserve_color0 = false; } @@ -250,22 +248,28 @@ void CLHNM_SetForceZero2Black(bool forceblack) { } hnm_t *CLHNM_New(int preload_size) { - hnm_t *hnm; + hnm_t *hnm = (hnm_t *)CLMemory_Alloc(sizeof(*hnm)); - preload_size = 0; //TODO: let's ignore it for now - - hnm = (hnm_t *)CLMemory_Alloc(sizeof(*hnm)); - if (hnm) { - if (preload_size) - use_preload = 1; + hnm->_frameNum = 0; + hnm->ff_4 = 0; + hnm->_file = nullptr; + hnm->tmpBuffer[0] = nullptr; + hnm->tmpBuffer[1] = nullptr; + hnm->finalBuffer = nullptr; + hnm->_readBuffer = nullptr; + hnm->ff_896 = 0; + hnm->_totalRead = 0; + for (int i = 0; i < 256; i++) { + hnm->_palette[i].a = 0; + hnm->_palette[i].r = 0; + hnm->_palette[i].g = 0; + hnm->_palette[i].b = 0; } + return hnm; } void CLHNM_Dispose(hnm_t *hnm) { - if (use_preload) { - } - CLMemory_Free(hnm); } @@ -282,28 +286,23 @@ void CLHNM_AllocMemory(hnm_t *hnm) { hnm->tmpBuffer[0] = (byte *)CLMemory_Alloc(hnm->_header._bufferSize + 2); if (!hnm->tmpBuffer[0]) - goto fin; + return; hnm->tmpBuffer[1] = (byte *)CLMemory_Alloc(hnm->_header._bufferSize + 2); if (!hnm->tmpBuffer[1]) { CLMemory_Free(hnm->tmpBuffer[0]); hnm->tmpBuffer[0] = nullptr; - goto fin; + return; } - if (!use_preload) { - hnm->_readBuffer = (byte *)CLMemory_Alloc(hnm->_header._bufferSize + 2); -// CLCheckError(); - if (!hnm->_readBuffer) { - CLMemory_Free(hnm->tmpBuffer[0]); - hnm->tmpBuffer[0] = nullptr; - CLMemory_Free(hnm->tmpBuffer[1]); - hnm->tmpBuffer[1] = nullptr; - } + hnm->_readBuffer = (byte *)CLMemory_Alloc(hnm->_header._bufferSize + 2); + if (!hnm->_readBuffer) { + CLMemory_Free(hnm->tmpBuffer[0]); + hnm->tmpBuffer[0] = nullptr; + CLMemory_Free(hnm->tmpBuffer[1]); + hnm->tmpBuffer[1] = nullptr; } -fin: - ; } void CLHNM_DeallocMemory(hnm_t *hnm) { @@ -317,25 +316,18 @@ void CLHNM_DeallocMemory(hnm_t *hnm) { hnm->tmpBuffer[1] = nullptr; } - if (!use_preload) { - if (hnm->_readBuffer) { - CLMemory_Free(hnm->_readBuffer); - hnm->_readBuffer = nullptr; - } + if (hnm->_readBuffer) { + CLMemory_Free(hnm->_readBuffer); + hnm->_readBuffer = nullptr; } } void CLHNM_Read(hnm_t *hnm, int size) { long _size = size; - if (!use_preload) { - CLFile_Read(*hnm->_file, hnm->_readBuffer, &_size); - } + CLFile_Read(*hnm->_file, hnm->_readBuffer, &_size); } void CLHNM_GiveTime(hnm_t *hnm) { - if (use_preload) { - //stuff preload_buffer from disk - } } void CLHNM_CanLoop(hnm_t *hnm, bool canLoop) { @@ -428,8 +420,6 @@ void CLHNM_Desentrelace(hnm_t *hnm) { } void CLHNM_FlushPreloadBuffer(hnm_t *hnm) { - if (use_preload) { - } } soundchannel_t *CLHNM_GetSoundChannel() { @@ -464,10 +454,8 @@ int16 CLHNM_LoadFrame(hnm_t *hnm) { if (!chunk) return 0; - if (use_preload) { - } else if (chunk - 4 > hnm->_header._bufferSize) { + if (chunk - 4 > hnm->_header._bufferSize) error("CLHNM_LoadFrame - Chunk size"); - } CLHNM_TryRead(hnm, chunk - 4); hnm->_dataPtr = hnm->_readBuffer; @@ -495,7 +483,7 @@ void CLHNM_DecompADPCM(byte *buffer, int16 *output, int size) { *output++ = l += decomp_table[*buffer++]; *output++ = r += decomp_table[*buffer++]; if (l > 512 || r > 512) - DebugStr(" coucou"); + error("CLHNM_DecompADPCM - Unexpected values"); } pred_l = l; pred_r = r; @@ -520,8 +508,10 @@ bool CLHNM_NextElement(hnm_t *hnm) { } if (hnm->_frameNum == hnm->_header._numbFrame) return false; + if (!CLHNM_LoadFrame(hnm)) return false; + for (;;) { sz = PLE32(hnm->_dataPtr) & 0xFFFFFF; hnm->_dataPtr += 4; @@ -568,7 +558,8 @@ bool CLHNM_NextElement(hnm_t *hnm) { CLSoundGroup_PlayNextSample(soundGroup, soundChannel); sound_started = true; } - goto end_frame; + + return true; case BE16('IU'): hnm->_frameNum++; CLHNM_SelectBuffers(hnm); @@ -581,7 +572,8 @@ bool CLHNM_NextElement(hnm_t *hnm) { // else memcpy(hnm->finalBuffer, hnm->_newFrameBuffer, hnm->_header._width * hnm->_header._height); } - goto end_frame; + return true; + case BE16('sd'): case BE16('SD'): if (use_sound) { @@ -619,18 +611,12 @@ bool CLHNM_NextElement(hnm_t *hnm) { hnm->_dataPtr += sz - 8; } } -end_frame: - ; - if (use_preload) { - } return true; } void CLHNM_ReadHeader(hnm_t *hnm) { - if (!use_preload) { - long size = sizeof(hnm->_header); - CLFile_Read(*hnm->_file, &hnm->_header, &size); - } + long size = sizeof(hnm->_header); + CLFile_Read(*hnm->_file, &hnm->_header, &size); hnm->_header._width = LE16(hnm->_header._width); hnm->_header._height = LE16(hnm->_header._height); @@ -655,12 +641,9 @@ int CLHNM_GetFrameNum(hnm_t *hnm) { } void CLHNM_DeactivatePreloadBuffer() { - use_preload = 0; } void CLHNM_Prepare2Read(hnm_t *hnm, int mode) { - if (use_preload) { - } } void CLHNM_SetPosIntoFile(hnm_t *hnm, long pos) { diff --git a/engines/cryo/clsoundraw.cpp b/engines/cryo/clsoundraw.cpp index a80b49c944..e9609e12fd 100644 --- a/engines/cryo/clsoundraw.cpp +++ b/engines/cryo/clsoundraw.cpp @@ -35,15 +35,9 @@ sound_t *CLSoundRaw_New(int16 arg1, float rate, int16 sampleSize, int16 mode) { sound->_buffer = nullptr; // sound->sndHandle = CLMemory_AllocHandle(arg1 + 100); // if(!sound->sndHandle) -// { -// __libError = -1; -// __osError = MemError(); -// CLCheckError(); -// } +// error("CLSoundRaw_New - Not enough memory"); // else - { CLSound_PrepareSample(sound, mode); - } } else error("CLSoundRaw_New - Not enough memory"); diff --git a/engines/cryo/cryolib.cpp b/engines/cryo/cryolib.cpp index 19ba960b2b..d1b6acffe0 100644 --- a/engines/cryo/cryolib.cpp +++ b/engines/cryo/cryolib.cpp @@ -34,10 +34,6 @@ namespace Cryo { ///// Mac APIs typedef int16 OSErr; -int16 MemError() { - return 0; -} - void SysBeep(int x) { } @@ -52,13 +48,6 @@ OSErr FSRead(int16 handle, long *size, void *buffer) { void FlushEvents(int16 arg1, int16 arg2) { } -char *c2pstr(char *s) { - return s; -} - -void DebugStr(char *s) { -} - // from mw lib??? long TickCount() { return g_system->getMillis(); diff --git a/engines/cryo/cryolib.h b/engines/cryo/cryolib.h index f576c6c980..4f9a8e8a61 100644 --- a/engines/cryo/cryolib.h +++ b/engines/cryo/cryolib.h @@ -189,11 +189,8 @@ sound_t *CLSoundRaw_New(int16 arg1, float rate, int16 sampleSize, int16 mode); void CLSoundRaw_Free(sound_t *sound); void CLSoundRaw_AssignBuffer(sound_t *sound, void *buffer, int bufferOffs, int length); -char *c2pstr(char *s); -void DebugStr(char *s); void *CLMemory_Alloc(int size); void CLMemory_Free(void *ptr); -int16 MemError(); void SysBeep(int x); long TickCount(); void FlushEvents(int16 arg1, int16 arg2); @@ -301,7 +298,6 @@ void CLHNM_SetFinalBuffer(hnm_t *hnm, byte *buffer); void CLHNM_AllocMemory(hnm_t *hnm); void CLHNM_DeallocMemory(hnm_t *hnm); void CLHNM_Read(hnm_t *hnm, int size); -void CLHNM_GiveTime(hnm_t *hnm); void CLHNM_CanLoop(hnm_t *hnm, bool canLoop); void CLHNM_SelectBuffers(hnm_t *hnm); void CLHNM_ChangePalette(hnm_t *hnm); @@ -321,7 +317,6 @@ bool CLHNM_NextElement(hnm_t *hnm); void CLHNM_ReadHeader(hnm_t *hnm); int16 CLHNM_GetVersion(hnm_t *hnm); int CLHNM_GetFrameNum(hnm_t *hnm); -void CLHNM_DeactivatePreloadBuffer(); void CLHNM_Prepare2Read(hnm_t *hnm, int mode); void CLHNM_SetPosIntoFile(hnm_t *hnm, long pos); void CLHNM_Desentrelace320(byte *frame_buffer, byte *final_buffer, uint16 height); |