diff options
| -rw-r--r-- | engines/sci/resource.cpp | 10 | 
1 files changed, 7 insertions, 3 deletions
diff --git a/engines/sci/resource.cpp b/engines/sci/resource.cpp index df91fb8f51..8e4a6d13b9 100644 --- a/engines/sci/resource.cpp +++ b/engines/sci/resource.cpp @@ -224,10 +224,14 @@ void Resource::unalloc() {  }  void Resource::writeToStream(Common::WriteStream *stream) const { -	stream->writeByte(getType() | 0x80); // 0x80 is required by old Sierra SCI, otherwise it wont accept the patch file -	stream->writeByte(_headerSize); -	if (_headerSize > 0) +	if (_headerSize == 0) { +		// create patch file header +		stream->writeByte(getType() | 0x80); // 0x80 is required by old Sierra SCI, otherwise it wont accept the patch file +		stream->writeByte(_headerSize); +	} else { +		// use existing patch file header  		stream->write(_header, _headerSize); +	}  	stream->write(_data, _size);  }  | 
