[Scummvm-git-logs] scummvm master -> 3919f53326cc740fb6fd1809a211247b90efd10e
sev-
sev at scummvm.org
Wed Nov 10 18:53:24 UTC 2021
This automated email contains information about 6 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
7a4e5612de JANITORIAL: Replace new[]/memset with new[]()
9c3d7c9621 GOB: Replace new[]/memset with new[]()
33a4eaa4d2 GRIM: Replace new[]/memset with new[]()
14f516282c KYRA: Replace new[]/memset with new[]()
c2e7eeb563 SCUMM: Replace new[]/memset with new[]()
3919f53326 ENGINES: Replace new[]/memset with new[]()
Commit: 7a4e5612de6560c09ec98221d69b1040608b7f04
https://github.com/scummvm/scummvm/commit/7a4e5612de6560c09ec98221d69b1040608b7f04
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
JANITORIAL: Replace new[]/memset with new[]()
Mostly done using the following Ruby script:
(Dir.glob('**/*.cpp') + Dir.glob('**/*.h')).each do |file|
s = File.read(file, encoding: 'iso8859-1')
t = s.gsub(/(([\w_.\[\]]+)\s*=\s*new\s+\S+?\[[^\]]+?\](?!\())([^\{\}]*?)\n\s+memset\(\s*\2\s*,\s*0\s*,[^;]*;/m, '\1()\3')
if t != s
File.open(file, 'w') { |io| io.write(t) }
end
end
Changed paths:
audio/decoders/wma.cpp
audio/mods/mod_xm_s3m.cpp
audio/mods/module_mod_xm_s3m.cpp
audio/softsynth/fmtowns_pc98/sega_audio.cpp
audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
backends/platform/android3d/texture.cpp
backends/platform/psp/tests.cpp
common/str-enc.cpp
common/winexe.cpp
graphics/fonts/macfont.cpp
graphics/scalerplugin.cpp
image/codecs/codec.cpp
image/codecs/indeo3.cpp
image/codecs/xan.cpp
image/pict.cpp
video/avi_decoder.cpp
video/bink_decoder.cpp
video/coktel_decoder.cpp
video/dxa_decoder.cpp
video/flic_decoder.cpp
video/hnm_decoder.cpp
video/qt_decoder.cpp
diff --git a/audio/decoders/wma.cpp b/audio/decoders/wma.cpp
index 6f9fdf2aea..c769827ca9 100644
--- a/audio/decoders/wma.cpp
+++ b/audio/decoders/wma.cpp
@@ -590,9 +590,8 @@ Common::SeekableReadStream *WMACodec::decodeSuperFrame(Common::SeekableReadStrea
// PCM output data
outputDataSize = frameCount * _channels * _frameLen;
- outputData = new int16[outputDataSize];
+ outputData = new int16[outputDataSize]();
- memset(outputData, 0, outputDataSize * 2);
// Number of bits data that completes the last superframe's overhang.
int bitOffset = bits.getBits(_byteOffsetBits + 3);
@@ -664,9 +663,8 @@ Common::SeekableReadStream *WMACodec::decodeSuperFrame(Common::SeekableReadStrea
// PCM output data
outputDataSize = _channels * _frameLen;
- outputData = new int16[outputDataSize];
+ outputData = new int16[outputDataSize]();
- memset(outputData, 0, outputDataSize * 2);
// Decode the frame
if (!decodeFrame(bits, outputData)) {
diff --git a/audio/mods/mod_xm_s3m.cpp b/audio/mods/mod_xm_s3m.cpp
index e19983744d..2a7bf677da 100644
--- a/audio/mods/mod_xm_s3m.cpp
+++ b/audio/mods/mod_xm_s3m.cpp
@@ -1347,8 +1347,7 @@ void ModXmS3mStream::setSequencePos(int pos) {
_playCount = new int8 *[_module.sequenceLen];
memset(_playCount, 0, _module.sequenceLen * sizeof(int8 *));
int len = initPlayCount(_playCount);
- _playCount[0] = new int8[len];
- memset(_playCount[0], 0, len * sizeof(int8));
+ _playCount[0] = new int8[len]();
initPlayCount(_playCount);
for (int idx = 0; idx < _module.numChannels; ++idx) {
diff --git a/audio/mods/module_mod_xm_s3m.cpp b/audio/mods/module_mod_xm_s3m.cpp
index 61c697343e..08971d9393 100644
--- a/audio/mods/module_mod_xm_s3m.cpp
+++ b/audio/mods/module_mod_xm_s3m.cpp
@@ -218,8 +218,7 @@ bool ModuleModXmS3m::loadMod(Common::SeekableReadStream &st) {
// load instruments
numInstruments = 31;
- instruments = new Instrument[numInstruments + 1];
- memset(instruments, 0, sizeof(Instrument) * (numInstruments + 1));
+ instruments = new Instrument[numInstruments + 1]();
instruments[0].numSamples = 1;
instruments[0].samples = new Sample[1];
memset(&instruments[0].samples[0], 0, sizeof(Sample));
@@ -332,8 +331,7 @@ bool ModuleModXmS3m::loadMod(Common::SeekableReadStream &st) {
*/
int numNotes = patterns[i].numChannels * patterns[i].numRows;
- patterns[i].notes = new Note[numNotes];
- memset(patterns[i].notes, 0, numNotes * sizeof(Note));
+ patterns[i].notes = new Note[numNotes]();
for (int idx = 0; idx < numNotes; ++idx) {
byte first = st.readByte();
byte second = st.readByte();
@@ -451,8 +449,7 @@ bool ModuleModXmS3m::loadXm(Common::SeekableReadStream &st) {
// load notes
patterns[i].numChannels = numChannels;
int numNotes = patterns[i].numRows * numChannels;
- patterns[i].notes = new Note[numNotes];
- memset(patterns[i].notes, 0, numNotes * sizeof(Note));
+ patterns[i].notes = new Note[numNotes]();
if (patDataLength > 0) {
for (int j = 0; j < numNotes; ++j) {
@@ -484,10 +481,8 @@ bool ModuleModXmS3m::loadXm(Common::SeekableReadStream &st) {
}
// load instruments
- instruments = new Instrument[numInstruments + 1];
- memset(instruments, 0, (numInstruments + 1) * sizeof(Instrument));
- instruments[0].samples = new Sample[1];
- memset(instruments[0].samples, 0, sizeof(Sample));
+ instruments = new Instrument[numInstruments + 1]();
+ instruments[0].samples = new Sample[1]();
for (int i = 1; i <= numInstruments; ++i) {
st.seek(offset, SEEK_SET);
offset += st.readUint32LE();
@@ -501,8 +496,7 @@ bool ModuleModXmS3m::loadXm(Common::SeekableReadStream &st) {
// load sample number
int nSamples = st.readUint16LE();
ins.numSamples = nSamples > 0 ? nSamples : 1;
- ins.samples = new Sample[ins.numSamples];
- memset(ins.samples, 0, ins.numSamples * sizeof(Sample));
+ ins.samples = new Sample[ins.numSamples]();
st.readUint32LE(); // skip 4 byte
// load instrument informations
@@ -656,16 +650,13 @@ bool ModuleModXmS3m::loadS3m(Common::SeekableReadStream &st) {
int moduleDataIndex = st.pos();
// load instruments
- instruments = new Instrument[numInstruments + 1];
- memset(instruments, 0, sizeof(Instrument) * (numInstruments + 1));
+ instruments = new Instrument[numInstruments + 1]();
instruments[0].numSamples = 1;
- instruments[0].samples = new Sample[1];
- memset(instruments[0].samples, 0, sizeof(Sample));
+ instruments[0].samples = new Sample[1]();
for (int i = 1; i <= numInstruments; ++i) {
Instrument &instrum = instruments[i];
instrum.numSamples = 1;
- instrum.samples = new Sample[1];
- memset(instrum.samples, 0, sizeof(Sample));
+ instrum.samples = new Sample[1]();
Sample &sample = instrum.samples[0];
// get instrument offset
@@ -725,8 +716,7 @@ bool ModuleModXmS3m::loadS3m(Common::SeekableReadStream &st) {
}
// load patterns
- patterns = new Pattern[numPatterns];
- memset(patterns, 0, numPatterns * sizeof(Pattern));
+ patterns = new Pattern[numPatterns]();
for (int i = 0; i < numPatterns; ++i) {
patterns[i].numChannels = numChannels;
patterns[i].numRows = 64;
@@ -737,8 +727,7 @@ bool ModuleModXmS3m::loadS3m(Common::SeekableReadStream &st) {
st.seek(patOffset, SEEK_SET);
// load notes
- patterns[i].notes = new Note[numChannels * 64];
- memset(patterns[i].notes, 0, numChannels * 64 * sizeof(Note));
+ patterns[i].notes = new Note[numChannels * 64]();
int row = 0;
while (row < 64) {
byte token = st.readByte();
@@ -794,8 +783,7 @@ bool ModuleModXmS3m::loadS3m(Common::SeekableReadStream &st) {
}
// load default panning
- defaultPanning = new byte[numChannels];
- memset(defaultPanning, 0, numChannels);
+ defaultPanning = new byte[numChannels]();
for (int chan = 0; chan < 32; ++chan) {
if (channelMap[chan] >= 0) {
byte panning = 7;
@@ -837,8 +825,7 @@ bool ModuleModXmS3m::loadAmf(Common::SeekableReadStream &st) {
st.read(sequence, 256); // Always 256 bytes in the file.
// Read sample headers..
- instruments = new Instrument[numInstruments + 1];
- memset(instruments, 0, sizeof(Instrument) * (numInstruments + 1));
+ instruments = new Instrument[numInstruments + 1]();
instruments[0].numSamples = 1;
instruments[0].samples = new Sample[1];
memset(&instruments[0].samples[0], 0, sizeof(Sample));
@@ -874,16 +861,14 @@ bool ModuleModXmS3m::loadAmf(Common::SeekableReadStream &st) {
st.skip((64 - numInstruments) * 37); // 37 == sample header len
// load patterns
- patterns = new Pattern[numPatterns];
- memset(patterns, 0, numPatterns * sizeof(Pattern));
+ patterns = new Pattern[numPatterns]();
for (int i = 0; i < numPatterns; ++i) {
// Always 8 channels, 64 rows.
patterns[i].numChannels = 8;
patterns[i].numRows = 64;
// load notes
- patterns[i].notes = new Note[8 * 64];
- memset(patterns[i].notes, 0, 8 * 64 * sizeof(Note));
+ patterns[i].notes = new Note[8 * 64]();
for (int row = 0; row < 64; row++) {
for (int channel = 0; channel < 8; channel++) {
Note &n = patterns[i].notes[row * 8 + channel];
diff --git a/audio/softsynth/fmtowns_pc98/sega_audio.cpp b/audio/softsynth/fmtowns_pc98/sega_audio.cpp
index 798a2b84a9..0965e27982 100644
--- a/audio/softsynth/fmtowns_pc98/sega_audio.cpp
+++ b/audio/softsynth/fmtowns_pc98/sega_audio.cpp
@@ -190,8 +190,7 @@ bool SegaAudioInterfaceInternal::init() {
if (!TownsPC98_FmSynth::init())
return false;
- _pcmBanks = new int8[0x10000];
- memset(_pcmBanks, 0, 0x10000);
+ _pcmBanks = new int8[0x10000]();
_pcmChan = new SegaPCMChannel*[8];
_psgDev = new SegaPSG(7670454 / 72, 16);
_pcmDev = new PCMDevice_Base(33300, 16, 8);
diff --git a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
index 8be4ae90e0..0109e0d868 100644
--- a/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
+++ b/audio/softsynth/fmtowns_pc98/towns_pc98_fmsynth.cpp
@@ -1139,8 +1139,7 @@ int TownsPC98_FmSynth::readBuffer(int16 *buffer, const int numSamples) {
}
delete[] _renderBuffer;
_renderBufferSize = requiredSize;
- _renderBuffer = new int32[_renderBufferSize];
- memset(_renderBuffer, 0, sizeof(int32) * _renderBufferSize);
+ _renderBuffer = new int32[_renderBufferSize]();
}
int outSamplesLeft = numSamples >> 1;
@@ -1320,8 +1319,7 @@ void TownsPC98_FmSynth::generateTables() {
}
delete[] _oprRateshift;
- _oprRateshift = new uint8[130];
- memset(_oprRateshift, 0, 130);
+ _oprRateshift = new uint8[130]();
dst = (uint8 *)_oprRateshift + 32;
for (int i = 11; i; i--) {
memset(dst, i, 4);
@@ -1334,8 +1332,7 @@ void TownsPC98_FmSynth::generateTables() {
_oprFrq[i] = (uint32)i << (11 - _rateScale);
delete[] _oprAttackDecay;
- _oprAttackDecay = new uint8[152];
- memset(_oprAttackDecay, 0, 152);
+ _oprAttackDecay = new uint8[152]();
for (int i = 0; i < 36; i++)
WRITE_BE_UINT32(_oprAttackDecay + (i << 2), _adtStat[i]);
diff --git a/backends/platform/android3d/texture.cpp b/backends/platform/android3d/texture.cpp
index b206c29c30..72628746fc 100644
--- a/backends/platform/android3d/texture.cpp
+++ b/backends/platform/android3d/texture.cpp
@@ -349,10 +349,8 @@ GLESFakePaletteTexture::GLESFakePaletteTexture(GLenum glFormat, GLenum glType,
_palettePixelFormat = pixelFormat;
_fake_format = Graphics::PixelFormat::createFormatCLUT8();
- _palette = new uint16[256];
+ _palette = new uint16[256]();
assert(_palette);
-
- memset(_palette, 0, 256 * 2);
}
GLESFakePaletteTexture::~GLESFakePaletteTexture() {
diff --git a/backends/platform/psp/tests.cpp b/backends/platform/psp/tests.cpp
index 450a48e563..a9e0ce2c0e 100644
--- a/backends/platform/psp/tests.cpp
+++ b/backends/platform/psp/tests.cpp
@@ -618,8 +618,7 @@ bool PspUnitTests::testFileSystem() {
}
// read the contents
- char *readBuffer = new char[BufSize + 4];
- memset(readBuffer, 0, (BufSize + 4));
+ char *readBuffer = new char[BufSize + 4]();
index = readBuffer;
while (rdStream->read(index, 100) == 100) {
index += 100;
@@ -682,8 +681,7 @@ bool PspUnitTests::testFileSystem() {
return false;
}
- char *readPhrase = new char[phraseLen + 2];
- memset(readPhrase, 0, phraseLen + 2);
+ char *readPhrase = new char[phraseLen + 2]();
if ((ret = rdStream->read(readPhrase, phraseLen) != phraseLen)) {
PSP_ERROR("read error on phrase. Got %d instead of %d\n", ret, phraseLen);
diff --git a/common/str-enc.cpp b/common/str-enc.cpp
index f1edf1aeac..892f67fade 100644
--- a/common/str-enc.cpp
+++ b/common/str-enc.cpp
@@ -320,8 +320,7 @@ void String::encodeWindows932(const U32String &src) {
loadCJKTables();
if (!reverseTable && windows932ConversionTable) {
- uint16 *rt = new uint16[0x10000];
- memset(rt, 0, sizeof(rt[0]) * 0x10000);
+ uint16 *rt = new uint16[0x10000]();
for (uint highidx = 0; highidx < 47; highidx++) {
uint8 high = 0;
if (highidx < 4)
@@ -390,8 +389,7 @@ void String::encodeWindows949(const U32String &src) {
loadCJKTables();
if (!reverseTable && windows949ConversionTable) {
- uint16 *rt = new uint16[0x10000];
- memset(rt, 0, sizeof(rt[0]) * 0x10000);
+ uint16 *rt = new uint16[0x10000]();
for (uint lowidx = 0; lowidx < 0xb2; lowidx++) {
uint8 low = 0;
@@ -480,8 +478,7 @@ void String::encodeWindows950(const U32String &src, bool transliterate) {
loadCJKTables();
if (!reverseTable && windows950ConversionTable) {
- uint16 *rt = new uint16[0x10000];
- memset(rt, 0, sizeof(rt[0]) * 0x10000);
+ uint16 *rt = new uint16[0x10000]();
for (uint lowidx = 0; lowidx < 157; lowidx++) {
uint8 low = 0;
diff --git a/common/winexe.cpp b/common/winexe.cpp
index 191f8620f0..a0366b1abd 100644
--- a/common/winexe.cpp
+++ b/common/winexe.cpp
@@ -123,9 +123,8 @@ bool WinResources::loadFromCompressedEXE(const String &fileName) {
file.readByte(); // file name character change
uint32 unpackedLength = file.readUint32LE();
- byte *window = new byte[0x1000];
+ byte *window = new byte[0x1000]();
int pos = 0x1000 - 16;
- memset(window, 0x20, 0x1000); // Initialize to all spaces
byte *unpackedData = (byte *)malloc(unpackedLength);
assert(unpackedData);
diff --git a/graphics/fonts/macfont.cpp b/graphics/fonts/macfont.cpp
index 742ae693ba..dcc3c5a8e2 100644
--- a/graphics/fonts/macfont.cpp
+++ b/graphics/fonts/macfont.cpp
@@ -576,8 +576,7 @@ MacFONTFont *MacFONTFont::scaleFont(const MacFONTFont *src, int newSize, int sla
data._rowWords = newBitmapWidth;
uint bitImageSize = data._rowWords * data._fRectHeight;
- data._bitImage = new byte[bitImageSize];
- memset(data._bitImage, 0, bitImageSize * sizeof(byte));
+ data._bitImage = new byte[bitImageSize]();
int dstPitch = data._rowWords;
diff --git a/graphics/scalerplugin.cpp b/graphics/scalerplugin.cpp
index b2904de60d..7301ffec38 100644
--- a/graphics/scalerplugin.cpp
+++ b/graphics/scalerplugin.cpp
@@ -83,8 +83,7 @@ void SourceScaler::setSource(const byte *src, uint pitch, int width, int height,
// Give _oldSrc same pitch
int size = (height + padding * 2) * pitch;
- _oldSrc = new byte[size];
- memset(_oldSrc, 0, size);
+ _oldSrc = new byte[size]();
_bufferedOutput.create(_width * _factor, _height * _factor, _format);
}
diff --git a/image/codecs/codec.cpp b/image/codecs/codec.cpp
index 47480c5a90..9ecedc9b8b 100644
--- a/image/codecs/codec.cpp
+++ b/image/codecs/codec.cpp
@@ -75,8 +75,7 @@ inline uint16 makeQuickTimeDitherColor(byte r, byte g, byte b) {
} // End of anonymous namespace
byte *Codec::createQuickTimeDitherTable(const byte *palette, uint colorCount) {
- byte *buf = new byte[0x10000];
- memset(buf, 0, 0x10000);
+ byte *buf = new byte[0x10000]();
Common::List<uint16> checkQueue;
diff --git a/image/codecs/indeo3.cpp b/image/codecs/indeo3.cpp
index 2b681c98ce..639831ece3 100644
--- a/image/codecs/indeo3.cpp
+++ b/image/codecs/indeo3.cpp
@@ -155,8 +155,7 @@ void Indeo3Decoder::allocFrames() {
_iv_frame[0].the_buf_size = bufsize;
_iv_frame[1].the_buf_size = 0;
- _iv_frame[0].the_buf = new byte[bufsize];
- memset(_iv_frame[0].the_buf, 0, bufsize);
+ _iv_frame[0].the_buf = new byte[bufsize]();
_iv_frame[1].the_buf = 0;
uint32 offs = 0;
diff --git a/image/codecs/xan.cpp b/image/codecs/xan.cpp
index d46c3b9197..432d0c8aa1 100644
--- a/image/codecs/xan.cpp
+++ b/image/codecs/xan.cpp
@@ -59,16 +59,11 @@ XanDecoder::XanDecoder(int width, int height, int bitsPerPixel) : Codec(),
if (width % 2)
error("XanDecoder: width must be even, not %d", width);
_surface.create(_width, _height, getPixelFormat());
- _scratchbuf = new uint8[_width * _height + SCRATCH_SPARE];
- _lumabuf = new uint8[_width * _height];
- _ybuf = new uint8[_width * _height];
- _ubuf = new uint8[_width * _height / 2];
- _vbuf = new uint8[_width * _height / 2];
- memset(_scratchbuf, 0, _width * _height + SCRATCH_SPARE);
- memset(_lumabuf, 0, _width * _height);
- memset(_ybuf, 0, _width * _height);
- memset(_ubuf, 127, _width * _height / 2);
- memset(_vbuf, 127, _width * _height / 2);
+ _scratchbuf = new uint8[_width * _height + SCRATCH_SPARE]();
+ _lumabuf = new uint8[_width * _height]();
+ _ybuf = new uint8[_width * _height]();
+ _ubuf = new uint8[_width * _height / 2]();
+ _vbuf = new uint8[_width * _height / 2]();
}
XanDecoder::~XanDecoder() {
diff --git a/image/pict.cpp b/image/pict.cpp
index e7a65b80e5..47f4892725 100644
--- a/image/pict.cpp
+++ b/image/pict.cpp
@@ -344,9 +344,7 @@ void PICTDecoder::unpackBitsRect(Common::SeekableReadStream &stream, bool withPa
// Ensure we have enough space in the buffer to hold an entire line's worth of pixels
uint32 lineSize = MAX<int>(width * bytesPerPixel + (8 * 2 / packBitsData.pixMap.pixelSize), packBitsData.pixMap.rowBytes);
- byte *buffer = new byte[lineSize * height];
-
- memset(buffer, 0, lineSize * height);
+ byte *buffer = new byte[lineSize * height]();
// Read in amount of data per row
for (uint16 i = 0; i < packBitsData.pixMap.bounds.height(); i++) {
diff --git a/video/avi_decoder.cpp b/video/avi_decoder.cpp
index ae86821a22..54bcfef104 100644
--- a/video/avi_decoder.cpp
+++ b/video/avi_decoder.cpp
@@ -335,8 +335,7 @@ void AVIDecoder::handleStreamHeader(uint32 size) {
byte *initialPalette = 0;
if (bmInfo.bitCount == 8) {
- initialPalette = new byte[256 * 3];
- memset(initialPalette, 0, 256 * 3);
+ initialPalette = new byte[256 * 3]();
byte *palette = initialPalette;
for (uint32 i = 0; i < bmInfo.clrUsed; i++) {
diff --git a/video/bink_decoder.cpp b/video/bink_decoder.cpp
index 56f58ed885..b420e61c7e 100644
--- a/video/bink_decoder.cpp
+++ b/video/bink_decoder.cpp
@@ -293,23 +293,17 @@ BinkDecoder::BinkVideoTrack::BinkVideoTrack(uint32 width, uint32 height, const G
_uvBlockHeight = (height + 15) >> 4;
// The planes are sized according to the number of blocks
- _curPlanes[0] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8]; // Y
- _curPlanes[1] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8]; // U, 1/4 resolution
- _curPlanes[2] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8]; // V, 1/4 resolution
+ _curPlanes[0] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8](); // Y
+ _curPlanes[1] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8](); // U, 1/4 resolution
+ _curPlanes[2] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8](); // V, 1/4 resolution
_curPlanes[3] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8]; // A
- _oldPlanes[0] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8]; // Y
- _oldPlanes[1] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8]; // U, 1/4 resolution
- _oldPlanes[2] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8]; // V, 1/4 resolution
+ _oldPlanes[0] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8](); // Y
+ _oldPlanes[1] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8](); // U, 1/4 resolution
+ _oldPlanes[2] = new byte[_uvBlockWidth * 8 * _uvBlockHeight * 8](); // V, 1/4 resolution
_oldPlanes[3] = new byte[_yBlockWidth * 8 * _yBlockHeight * 8]; // A
// Initialize the video with solid green
- memset(_curPlanes[0], 0, _yBlockWidth * 8 * _yBlockHeight * 8);
- memset(_curPlanes[1], 0, _uvBlockWidth * 8 * _uvBlockHeight * 8);
- memset(_curPlanes[2], 0, _uvBlockWidth * 8 * _uvBlockHeight * 8);
memset(_curPlanes[3], 255, _yBlockWidth * 8 * _yBlockHeight * 8);
- memset(_oldPlanes[0], 0, _yBlockWidth * 8 * _yBlockHeight * 8);
- memset(_oldPlanes[1], 0, _uvBlockWidth * 8 * _uvBlockHeight * 8);
- memset(_oldPlanes[2], 0, _uvBlockWidth * 8 * _uvBlockHeight * 8);
memset(_oldPlanes[3], 255, _yBlockWidth * 8 * _yBlockHeight * 8);
initBundles();
diff --git a/video/coktel_decoder.cpp b/video/coktel_decoder.cpp
index 9862c7fe5a..0906202f41 100644
--- a/video/coktel_decoder.cpp
+++ b/video/coktel_decoder.cpp
@@ -742,9 +742,7 @@ bool PreIMDDecoder::loadStream(Common::SeekableReadStream *stream) {
_frameCount = _stream->readUint16LE();
_videoBufferSize = _width * _height;
- _videoBuffer = new byte[_videoBufferSize];
-
- memset(_videoBuffer, 0, _videoBufferSize);
+ _videoBuffer = new byte[_videoBufferSize]();
return true;
}
@@ -1141,8 +1139,7 @@ bool IMDDecoder::assessVideoProperties() {
}
for (int i = 0; i < 2; i++) {
- _videoBuffer[i] = new byte[_videoBufferSize];
- memset(_videoBuffer[i], 0, _videoBufferSize);
+ _videoBuffer[i] = new byte[_videoBufferSize]();
}
return true;
@@ -1958,8 +1955,7 @@ bool VMDDecoder::assessVideoProperties() {
}
for (int i = 0; i < 3; i++) {
- _videoBuffer[i] = new byte[_videoBufferSize];
- memset(_videoBuffer[i], 0, _videoBufferSize);
+ _videoBuffer[i] = new byte[_videoBufferSize]();
_8bppSurface[i].init(_width * _bytesPerPixel, _height, _width * _bytesPerPixel,
_videoBuffer[i], Graphics::PixelFormat::createFormatCLUT8());
diff --git a/video/dxa_decoder.cpp b/video/dxa_decoder.cpp
index 97d13b05f3..129782e417 100644
--- a/video/dxa_decoder.cpp
+++ b/video/dxa_decoder.cpp
@@ -107,15 +107,12 @@ DXADecoder::DXAVideoTrack::DXAVideoTrack(Common::SeekableReadStream *stream) {
_frameSize = _width * _height;
_decompBufferSize = _frameSize;
- _frameBuffer1 = new byte[_frameSize];
- memset(_frameBuffer1, 0, _frameSize);
- _frameBuffer2 = new byte[_frameSize];
- memset(_frameBuffer2, 0, _frameSize);
+ _frameBuffer1 = new byte[_frameSize]();
+ _frameBuffer2 = new byte[_frameSize]();
_scaledBuffer = 0;
if (_scaleMode != S_NONE) {
- _scaledBuffer = new byte[_frameSize];
- memset(_scaledBuffer, 0, _frameSize);
+ _scaledBuffer = new byte[_frameSize]();
}
#ifdef DXA_EXPERIMENT_MAXD
@@ -185,8 +182,7 @@ void DXADecoder::DXAVideoTrack::decodeZlib(byte *data, int size, int totalSize)
void DXADecoder::DXAVideoTrack::decode12(int size) {
#ifdef USE_ZLIB
if (!_decompBuffer) {
- _decompBuffer = new byte[_decompBufferSize];
- memset(_decompBuffer, 0, _decompBufferSize);
+ _decompBuffer = new byte[_decompBufferSize]();
}
/* decompress the input data */
@@ -286,8 +282,7 @@ void DXADecoder::DXAVideoTrack::decode13(int size) {
uint8 *codeBuf, *dataBuf, *motBuf, *maskBuf;
if (!_decompBuffer) {
- _decompBuffer = new byte[_decompBufferSize];
- memset(_decompBuffer, 0, _decompBufferSize);
+ _decompBuffer = new byte[_decompBufferSize]();
}
/* decompress the input data */
@@ -482,8 +477,7 @@ const Graphics::Surface *DXADecoder::DXAVideoTrack::decodeNextFrame() {
if (!_inBuffer || _inBufferSize < size) {
delete[] _inBuffer;
- _inBuffer = new byte[size];
- memset(_inBuffer, 0, size);
+ _inBuffer = new byte[size]();
_inBufferSize = size;
}
diff --git a/video/flic_decoder.cpp b/video/flic_decoder.cpp
index 24af024fca..b7dcf6e21c 100644
--- a/video/flic_decoder.cpp
+++ b/video/flic_decoder.cpp
@@ -91,8 +91,7 @@ FlicDecoder::FlicVideoTrack::FlicVideoTrack(Common::SeekableReadStream *stream,
_surface = new Graphics::Surface();
_surface->create(width, height, Graphics::PixelFormat::createFormatCLUT8());
- _palette = new byte[3 * 256];
- memset(_palette, 0, 3 * 256);
+ _palette = new byte[3 * 256]();
_dirtyPalette = false;
_curFrame = -1;
diff --git a/video/hnm_decoder.cpp b/video/hnm_decoder.cpp
index 6747674c22..2584bbcf6c 100644
--- a/video/hnm_decoder.cpp
+++ b/video/hnm_decoder.cpp
@@ -184,12 +184,9 @@ HNMDecoder::HNM4VideoTrack::HNM4VideoTrack(uint32 width, uint32 height, uint32 f
error("Invalid frameSize: expected %d, got %d", width * height, frameSize);
}
- _frameBufferF = new byte[frameSize];
- memset(_frameBufferF, 0, frameSize);
- _frameBufferC = new byte[frameSize];
- memset(_frameBufferC, 0, frameSize);
- _frameBufferP = new byte[frameSize];
- memset(_frameBufferP, 0, frameSize);
+ _frameBufferF = new byte[frameSize]();
+ _frameBufferC = new byte[frameSize]();
+ _frameBufferP = new byte[frameSize]();
// We will use _frameBufferF/C/P as the surface pixels, just init there with nullptr to avoid unintended usage of surface
const Graphics::PixelFormat &f = Graphics::PixelFormat::createFormatCLUT8();
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp
index 1644dc9f5c..833873314d 100644
--- a/video/qt_decoder.cpp
+++ b/video/qt_decoder.cpp
@@ -152,8 +152,7 @@ Common::QuickTimeParser::SampleDesc *QuickTimeDecoder::readSampleDesc(Common::Qu
// if the depth is 2, 4, or 8 bpp, file is palettized
if (colorDepth == 2 || colorDepth == 4 || colorDepth == 8) {
// Initialize the palette
- entry->_palette = new byte[256 * 3];
- memset(entry->_palette, 0, 256 * 3);
+ entry->_palette = new byte[256 * 3]();
if (colorGreyscale) {
debug(0, "Greyscale palette");
Commit: 9c3d7c9621dd24bdee2e7691bc564bff404ffee6
https://github.com/scummvm/scummvm/commit/9c3d7c9621dd24bdee2e7691bc564bff404ffee6
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
GOB: Replace new[]/memset with new[]()
Changed paths:
engines/gob/expression.cpp
engines/gob/map_v1.cpp
engines/gob/mult_v1.cpp
engines/gob/mult_v2.cpp
engines/gob/save/savefile.cpp
engines/gob/save/saveload_v4.cpp
engines/gob/surface.cpp
engines/gob/variables.cpp
engines/gob/video_v2.cpp
diff --git a/engines/gob/expression.cpp b/engines/gob/expression.cpp
index 7cd5ab0446..3be2b2456d 100644
--- a/engines/gob/expression.cpp
+++ b/engines/gob/expression.cpp
@@ -33,10 +33,8 @@
namespace Gob {
Expression::Stack::Stack(size_t size) {
- opers = new byte[size];
- values = new int32[size];
- memset(opers , 0, size * sizeof(byte ));
- memset(values, 0, size * sizeof(int32));
+ opers = new byte[size]();
+ values = new int32[size]();
}
Expression::Stack::~Stack() {
diff --git a/engines/gob/map_v1.cpp b/engines/gob/map_v1.cpp
index 72e37bd5fc..0de0abfd1b 100644
--- a/engines/gob/map_v1.cpp
+++ b/engines/gob/map_v1.cpp
@@ -45,18 +45,15 @@ void Map_v1::init() {
_mapWidth = 26;
_mapHeight = 28;
- _passMap = new int8[_mapHeight * _mapWidth];
- memset(_passMap, 0, _mapHeight * _mapWidth * sizeof(int8));
+ _passMap = new int8[_mapHeight * _mapWidth]();
_itemsMap = new int16*[_mapHeight];
for (int i = 0; i < _mapHeight; i++) {
- _itemsMap[i] = new int16[_mapWidth];
- memset(_itemsMap[i], 0, _mapWidth * sizeof(int16));
+ _itemsMap[i] = new int16[_mapWidth]();
}
_wayPointCount = 40;
- _wayPoints = new WayPoint[40];
- memset(_wayPoints, 0, sizeof(WayPoint));
+ _wayPoints = new WayPoint[40]();
}
void Map_v1::loadMapObjects(const char *avjFile) {
diff --git a/engines/gob/mult_v1.cpp b/engines/gob/mult_v1.cpp
index 78c18a082d..b09ea0533c 100644
--- a/engines/gob/mult_v1.cpp
+++ b/engines/gob/mult_v1.cpp
@@ -290,15 +290,11 @@ void Mult_v1::playMultInit() {
delete _animArrayY;
delete[] _animArrayData;
- _objects = new Mult_Object[_objCount];
- _renderData = new int16[9 * _objCount];
+ _objects = new Mult_Object[_objCount]();
+ _renderData = new int16[9 * _objCount]();
_animArrayX = new VariablesLE(_objCount * 4);
_animArrayY = new VariablesLE(_objCount * 4);
- _animArrayData = new Mult_AnimData[_objCount];
-
- memset(_objects, 0, _objCount * sizeof(Mult_Object));
- memset(_renderData, 0, _objCount * 9 * sizeof(int16));
- memset(_animArrayData, 0, _objCount * sizeof(Mult_AnimData));
+ _animArrayData = new Mult_AnimData[_objCount]();
for (_counter = 0; _counter < _objCount; _counter++) {
Mult_Object &multObj = _objects[_counter];
diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp
index 5f838321f9..4ba76b2367 100644
--- a/engines/gob/mult_v2.cpp
+++ b/engines/gob/mult_v2.cpp
@@ -546,17 +546,12 @@ void Mult_v2::playMultInit() {
delete _animArrayY;
delete[] _animArrayData;
- _objects = new Mult_Object[_objCount];
- _orderArray = new int8[_objCount];
- _renderObjs = new Mult_Object*[_objCount];
+ _objects = new Mult_Object[_objCount]();
+ _orderArray = new int8[_objCount]();
+ _renderObjs = new Mult_Object*[_objCount]();
_animArrayX = new VariablesLE(_objCount * 4);
_animArrayY = new VariablesLE(_objCount * 4);
- _animArrayData = new Mult_AnimData[_objCount];
-
- memset(_objects, 0, _objCount * sizeof(Mult_Object));
- memset(_orderArray, 0, _objCount * sizeof(int8));
- memset(_renderObjs, 0, _objCount * sizeof(Mult_Object *));
- memset(_animArrayData, 0, _objCount * sizeof(Mult_AnimData));
+ _animArrayData = new Mult_AnimData[_objCount]();
for (_counter = 0; _counter < _objCount; _counter++) {
Mult_Object &multObj = _objects[_counter];
diff --git a/engines/gob/save/savefile.cpp b/engines/gob/save/savefile.cpp
index 2a32b7edcf..87e1b15d9d 100644
--- a/engines/gob/save/savefile.cpp
+++ b/engines/gob/save/savefile.cpp
@@ -289,11 +289,8 @@ SavePartSprite::SavePartSprite(uint32 width, uint32 height, bool trueColor) {
// width + height + color + sprite + palette
_header.setSize(4 + 4 + 1 + _spriteSize + 768);
- _dataSprite = new byte[_spriteSize];
- _dataPalette = new byte[768];
-
- memset(_dataSprite, 0, _spriteSize);
- memset(_dataPalette, 0, 768);
+ _dataSprite = new byte[_spriteSize]();
+ _dataPalette = new byte[768]();
}
SavePartSprite::~SavePartSprite() {
@@ -457,8 +454,7 @@ SavePartInfo::SavePartInfo(uint32 descMaxLength, uint32 gameID,
_endian = endian;
_varCount = varCount;
- _desc = new char[_descMaxLength + 1];
- memset(_desc, 0, _descMaxLength + 1);
+ _desc = new char[_descMaxLength + 1]();
}
SavePartInfo::~SavePartInfo() {
diff --git a/engines/gob/save/saveload_v4.cpp b/engines/gob/save/saveload_v4.cpp
index 516a22c310..3fd142c071 100644
--- a/engines/gob/save/saveload_v4.cpp
+++ b/engines/gob/save/saveload_v4.cpp
@@ -372,8 +372,7 @@ bool SaveLoad_v4::GameHandler::createWriter(int slot) {
SaveLoad_v4::CurScreenPropsHandler::CurScreenPropsHandler(GobEngine *vm) :
SaveHandler(vm) {
- _props = new byte[256000];
- memset(_props, 0, 256000);
+ _props = new byte[256000]();
}
SaveLoad_v4::CurScreenPropsHandler::~CurScreenPropsHandler() {
diff --git a/engines/gob/surface.cpp b/engines/gob/surface.cpp
index a2c5614962..9cc0f944a7 100644
--- a/engines/gob/surface.cpp
+++ b/engines/gob/surface.cpp
@@ -182,10 +182,8 @@ Surface::Surface(uint16 width, uint16 height, uint8 bpp, byte *vidMem) :
assert((_bpp == 1) || (_bpp == 2) || (_bpp == 4));
if (!_vidMem) {
- _vidMem = new byte[_bpp * _width * _height];
+ _vidMem = new byte[_bpp * _width * _height]();
_ownVidMem = true;
-
- memset(_vidMem, 0, _bpp * _width * _height);
} else
_ownVidMem = false;
}
@@ -228,10 +226,8 @@ void Surface::resize(uint16 width, uint16 height) {
_width = width;
_height = height;
- _vidMem = new byte[_bpp * _width * _height];
+ _vidMem = new byte[_bpp * _width * _height]();
_ownVidMem = true;
-
- memset(_vidMem, 0, _bpp * _width * _height);
}
void Surface::setBPP(uint8 bpp) {
diff --git a/engines/gob/variables.cpp b/engines/gob/variables.cpp
index ee9c109193..b74c18fb2f 100644
--- a/engines/gob/variables.cpp
+++ b/engines/gob/variables.cpp
@@ -306,9 +306,7 @@ VariableReference &VariableReference::operator*=(uint32 value) {
VariableStack::VariableStack(uint32 size) : _size(size), _position(0) {
- _stack = new byte[_size];
-
- memset(_stack, 0, _size);
+ _stack = new byte[_size]();
}
VariableStack::~VariableStack() {
diff --git a/engines/gob/video_v2.cpp b/engines/gob/video_v2.cpp
index a6900b11bc..d6452b3fb3 100644
--- a/engines/gob/video_v2.cpp
+++ b/engines/gob/video_v2.cpp
@@ -57,11 +57,9 @@ char Video_v2::spriteUncompressor(byte *sprBuf, int16 srcWidth, int16 srcHeight,
destDesc.blit(sourceDesc, 0, 0, srcWidth - 1, srcHeight - 1, x, y, (transp == 0) ? -1 : 0);
return 1;
} else if (sprBuf[2] == 1) {
- memBuffer = new byte[4370];
+ memBuffer = new byte[4370]();
assert(memBuffer);
- memset(memBuffer, 0, 4370);
-
srcPtr = sprBuf + 3;
sourceLeft = READ_LE_UINT32(srcPtr);
Commit: 33a4eaa4d2735f3c5178cf3c2d6d7b9157ba56e8
https://github.com/scummvm/scummvm/commit/33a4eaa4d2735f3c5178cf3c2d6d7b9157ba56e8
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
GRIM: Replace new[]/memset with new[]()
Changed paths:
engines/grim/gfx_opengl.cpp
engines/grim/gfx_opengl_shaders.cpp
engines/grim/gfx_tinygl.cpp
engines/grim/movie/codecs/blocky16.cpp
engines/grim/movie/codecs/blocky8.cpp
diff --git a/engines/grim/gfx_opengl.cpp b/engines/grim/gfx_opengl.cpp
index 8e4a6aa265..242329c6d0 100644
--- a/engines/grim/gfx_opengl.cpp
+++ b/engines/grim/gfx_opengl.cpp
@@ -139,8 +139,7 @@ void GfxOpenGL::setupScreen(int screenW, int screenH) {
g_system->showMouse(false);
int screenSize = _screenWidth * _screenHeight * 4;
- _storedDisplay = new byte[screenSize];
- memset(_storedDisplay, 0, screenSize);
+ _storedDisplay = new byte[screenSize]();
_smushNumTex = 0;
_currentShadowArray = nullptr;
@@ -1366,12 +1365,10 @@ void GfxOpenGL::createFont(Font *font) {
size = 64;
uint arraySize = size * size * bpp * charsWide * charsHigh;
- byte *temp = new byte[arraySize];
+ byte *temp = new byte[arraySize]();
if (!temp)
error("Could not allocate %d bytes", arraySize);
- memset(temp, 0, arraySize);
-
FontUserData *userData = new FontUserData;
font->setUserData(userData);
userData->texture = 0;
diff --git a/engines/grim/gfx_opengl_shaders.cpp b/engines/grim/gfx_opengl_shaders.cpp
index ccb315f84e..92f3f665dc 100644
--- a/engines/grim/gfx_opengl_shaders.cpp
+++ b/engines/grim/gfx_opengl_shaders.cpp
@@ -1529,9 +1529,7 @@ void GfxOpenGLS::createFont(Font *font) {
size = 64;
uint arraySize = size * size * bpp * charsWide * charsHigh;
- byte *temp = new byte[arraySize];
-
- memset(temp, 0, arraySize);
+ byte *temp = new byte[arraySize]();
FontUserData *userData = new FontUserData;
font->setUserData(userData);
@@ -1828,8 +1826,7 @@ void GfxOpenGLS::drawEmergString(int x, int y, const char *text, const Color &fg
}
void GfxOpenGLS::loadEmergFont() {
- uint8 *atlas = new uint8[128 * 128];
- memset(atlas, 0, 128 * 128);
+ uint8 *atlas = new uint8[128 * 128]();
for (int c = 32; c < 128; ++c) {
int blockrow = c / 16;
diff --git a/engines/grim/gfx_tinygl.cpp b/engines/grim/gfx_tinygl.cpp
index cce795df1e..b0dd7c4452 100644
--- a/engines/grim/gfx_tinygl.cpp
+++ b/engines/grim/gfx_tinygl.cpp
@@ -1028,8 +1028,7 @@ void GfxTinyGL::createTextObject(TextObject *text) {
int width = font->getBitmapStringLength(currentLine) + 1;
int height = font->getStringHeight(currentLine) + 1;
- uint8 *_textBitmap = new uint8[height * width];
- memset(_textBitmap, 0, height * width);
+ uint8 *_textBitmap = new uint8[height * width]();
int startColumn = 0;
for (unsigned int d = 0; d < currentLine.size(); d++) {
diff --git a/engines/grim/movie/codecs/blocky16.cpp b/engines/grim/movie/codecs/blocky16.cpp
index 111f8e5224..28c386a265 100644
--- a/engines/grim/movie/codecs/blocky16.cpp
+++ b/engines/grim/movie/codecs/blocky16.cpp
@@ -634,18 +634,15 @@ void Blocky16::init(int width, int height) {
// 200 bytes is enough for smush anims:
// lol, byeruba, crushed, eldepot, heltrain, hostage
uint32 deltaSize = size * 3 + 200;
- _deltaBuf = new byte[deltaSize];
- memset(_deltaBuf, 0, deltaSize);
+ _deltaBuf = new byte[deltaSize]();
_deltaBufs[0] = _deltaBuf;
_deltaBufs[1] = _deltaBuf + _frameSize;
_curBuf = _deltaBuf + _frameSize * 2;
}
Blocky16::Blocky16() {
- _tableBig = new byte[99328];
- _tableSmall = new byte[32768];
- memset(_tableBig, 0, 99328);
- memset(_tableSmall, 0, 32768);
+ _tableBig = new byte[99328]();
+ _tableSmall = new byte[32768]();
_deltaBuf = nullptr;
_deltaBufs[0] = nullptr;
_deltaBufs[1] = nullptr;
diff --git a/engines/grim/movie/codecs/blocky8.cpp b/engines/grim/movie/codecs/blocky8.cpp
index d5a05dc567..67f623214d 100644
--- a/engines/grim/movie/codecs/blocky8.cpp
+++ b/engines/grim/movie/codecs/blocky8.cpp
@@ -548,10 +548,8 @@ static void bompDecodeLine(byte *dst, const byte *src, int len) {
}
Blocky8::Blocky8() {
- _tableBig = new byte[99328];
- _tableSmall = new byte[32768];
- memset(_tableBig, 0, 99328);
- memset(_tableSmall, 0, 32768);
+ _tableBig = new byte[99328]();
+ _tableSmall = new byte[32768]();
_deltaBuf = nullptr;
_width = -1;
_height = -1;
@@ -579,8 +577,7 @@ void Blocky8::init(int width, int height) {
_frameSize = _width * _height;
uint32 deltaSize = _frameSize * 3;
- _deltaBuf = new byte[deltaSize];
- memset(_deltaBuf, 0, deltaSize);
+ _deltaBuf = new byte[deltaSize]();
_deltaBufs[0] = _deltaBuf;
_deltaBufs[1] = _deltaBuf + _frameSize;
_curBuf = _deltaBuf + _frameSize * 2;
Commit: 14f516282cf507e0a518f01a7d73c6d1077edd3d
https://github.com/scummvm/scummvm/commit/14f516282cf507e0a518f01a7d73c6d1077edd3d
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
KYRA: Replace new[]/memset with new[]()
Changed paths:
engines/kyra/engine/eob.cpp
engines/kyra/engine/eobcommon.cpp
engines/kyra/engine/items_eob.cpp
engines/kyra/engine/items_v2.cpp
engines/kyra/engine/kyra_hof.cpp
engines/kyra/engine/kyra_lok.cpp
engines/kyra/engine/kyra_mr.cpp
engines/kyra/engine/kyra_rpg.cpp
engines/kyra/engine/lol.cpp
engines/kyra/engine/scene_eob.cpp
engines/kyra/engine/sprites.cpp
engines/kyra/engine/sprites_lol.cpp
engines/kyra/graphics/animator_lok.cpp
engines/kyra/graphics/animator_tim.cpp
engines/kyra/graphics/animator_v2.cpp
engines/kyra/graphics/screen.cpp
engines/kyra/graphics/screen_eob.cpp
engines/kyra/graphics/screen_eob_segacd.cpp
engines/kyra/graphics/screen_lok.cpp
engines/kyra/graphics/screen_lol.cpp
engines/kyra/graphics/vqa.cpp
engines/kyra/graphics/wsamovie.cpp
engines/kyra/gui/gui.cpp
engines/kyra/gui/gui_eob.cpp
engines/kyra/gui/saveload_eob.cpp
engines/kyra/resource/staticres_eob.cpp
engines/kyra/script/script_eob.cpp
engines/kyra/sequence/seqplayer_eob_segacd.cpp
engines/kyra/sequence/sequences_eob.cpp
engines/kyra/sequence/sequences_lok.cpp
engines/kyra/sequence/sequences_lol.cpp
engines/kyra/sound/drivers/mlalf98.cpp
engines/kyra/text/text_eob_segacd.cpp
engines/kyra/text/text_lol.cpp
engines/kyra/text/text_rpg.cpp
diff --git a/engines/kyra/engine/eob.cpp b/engines/kyra/engine/eob.cpp
index c8db6d2f28..283efc8e09 100644
--- a/engines/kyra/engine/eob.cpp
+++ b/engines/kyra/engine/eob.cpp
@@ -161,16 +161,11 @@ Common::Error EoBEngine::init() {
assert(_txt);
_gui = new GUI_EoB_SegaCD(this);
assert(_gui);
- _playFldPattern2 = new uint16[1040];
- memset(_playFldPattern2, 0, 1040 * sizeof(uint16));
- _tempPattern = new uint16[924];
- memset(_tempPattern, 0, 924 * sizeof(uint16));
- _shakeBackBuffer1 = new uint8[120 * 6];
- memset(_shakeBackBuffer1, 0, 120 * 6);
- _shakeBackBuffer2 = new uint8[179 * 6];
- memset(_shakeBackBuffer2, 0, 179 * 6);
- _compassData = new uint8[0x5000];
- memset(_compassData, 0, 0x5000);
+ _playFldPattern2 = new uint16[1040]();
+ _tempPattern = new uint16[924]();
+ _shakeBackBuffer1 = new uint8[120 * 6]();
+ _shakeBackBuffer2 = new uint8[179 * 6]();
+ _compassData = new uint8[0x5000]();
_closeSpellbookAfterUse = false;
}
diff --git a/engines/kyra/engine/eobcommon.cpp b/engines/kyra/engine/eobcommon.cpp
index 79300979a5..bf8c6759a9 100644
--- a/engines/kyra/engine/eobcommon.cpp
+++ b/engines/kyra/engine/eobcommon.cpp
@@ -516,45 +516,35 @@ Common::Error EoBCoreEngine::init() {
_blackFadingTable = new uint8[256 * bpp];
_greyFadingTable = new uint8[256 * bpp];
- _monsters = new EoBMonsterInPlay[30];
- memset(_monsters, 0, 30 * sizeof(EoBMonsterInPlay));
+ _monsters = new EoBMonsterInPlay[30]();
- _characters = new EoBCharacter[6];
- memset(_characters, 0, sizeof(EoBCharacter) * 6);
+ _characters = new EoBCharacter[6]();
- _items = new EoBItem[600];
- memset(_items, 0, sizeof(EoBItem) * 600);
+ _items = new EoBItem[600]();
_itemNames = new char*[130];
for (int i = 0; i < 130; i++) {
- _itemNames[i] = new char[35];
- memset(_itemNames[i], 0, 35);
+ _itemNames[i] = new char[35]();
}
- _flyingObjects = new EoBFlyingObject[_numFlyingObjects];
+ _flyingObjects = new EoBFlyingObject[_numFlyingObjects]();
_flyingObjectsPtr = _flyingObjects;
- memset(_flyingObjects, 0, _numFlyingObjects * sizeof(EoBFlyingObject));
int bufferSize = _flags.useHiColorMode ? 8192 : 4096;
- _spellAnimBuffer = new uint8[bufferSize];
- memset(_spellAnimBuffer, 0, bufferSize);
+ _spellAnimBuffer = new uint8[bufferSize]();
- _wallsOfForce = new WallOfForce[5];
- memset(_wallsOfForce, 0, 5 * sizeof(WallOfForce));
+ _wallsOfForce = new WallOfForce[5]();
memset(_doorType, 0, sizeof(_doorType));
memset(_noDoorSwitch, 0, sizeof(_noDoorSwitch));
- _monsterShapes = new uint8*[36];
- memset(_monsterShapes, 0, 36 * sizeof(uint8 *));
- _monsterDecorations = new SpriteDecoration[36];
- memset(_monsterDecorations, 0, 36 * sizeof(SpriteDecoration));
+ _monsterShapes = new uint8*[36]();
+ _monsterDecorations = new SpriteDecoration[36]();
_monsterPalettes = new uint8*[24];
for (int i = 0; i < 24; i++)
_monsterPalettes[i] = new uint8[16];
- _doorSwitches = new SpriteDecoration[6];
- memset(_doorSwitches, 0, 6 * sizeof(SpriteDecoration));
+ _doorSwitches = new SpriteDecoration[6]();
_monsterFlashOverlay = new uint8[16];
_monsterStoneOverlay = new uint8[16];
diff --git a/engines/kyra/engine/items_eob.cpp b/engines/kyra/engine/items_eob.cpp
index d55a464c5a..05ff3079a9 100644
--- a/engines/kyra/engine/items_eob.cpp
+++ b/engines/kyra/engine/items_eob.cpp
@@ -99,8 +99,7 @@ void EoBCoreEngine::loadItemDefs() {
uint16 numTypes = s->readUint16();
delete[] _itemTypes;
- _itemTypes = new EoBItemType[65];
- memset(_itemTypes, 0, sizeof(EoBItemType) * 65);
+ _itemTypes = new EoBItemType[65]();
for (int i = 0; i < numTypes; i++) {
_itemTypes[i].invFlags = s->readUint16();
diff --git a/engines/kyra/engine/items_v2.cpp b/engines/kyra/engine/items_v2.cpp
index 93afff62aa..9ae702692d 100644
--- a/engines/kyra/engine/items_v2.cpp
+++ b/engines/kyra/engine/items_v2.cpp
@@ -28,9 +28,8 @@ namespace Kyra {
void KyraEngine_v2::initItemList(int size) {
delete[] _itemList;
- _itemList = new ItemDefinition[size];
+ _itemList = new ItemDefinition[size]();
assert(_itemList);
- memset(_itemList, 0, sizeof(ItemDefinition)*size);
_itemListSize = size;
resetItemList();
diff --git a/engines/kyra/engine/kyra_hof.cpp b/engines/kyra/engine/kyra_hof.cpp
index 91d02d18bc..8a104727eb 100644
--- a/engines/kyra/engine/kyra_hof.cpp
+++ b/engines/kyra/engine/kyra_hof.cpp
@@ -326,10 +326,8 @@ void KyraEngine_HoF::startup() {
_screen->_curPage = 0;
- _talkObjectList = new TalkObject[72];
- memset(_talkObjectList, 0, sizeof(TalkObject)*72);
- _shapeDescTable = new ShapeDesc[55];
- memset(_shapeDescTable, 0, sizeof(ShapeDesc)*55);
+ _talkObjectList = new TalkObject[72]();
+ _shapeDescTable = new ShapeDesc[55]();
for (int i = 9; i <= 32; ++i) {
_shapeDescTable[i-9].width = 30;
@@ -367,8 +365,7 @@ void KyraEngine_HoF::startup() {
for (int i = 0; i < 23; ++i)
resetCauldronStateTable(i);
- _sceneList = new SceneDesc[86];
- memset(_sceneList, 0, sizeof(SceneDesc)*86);
+ _sceneList = new SceneDesc[86]();
_sceneListSize = 86;
runStartScript(1, 0);
loadNPCScript();
diff --git a/engines/kyra/engine/kyra_lok.cpp b/engines/kyra/engine/kyra_lok.cpp
index de8fc6b7d5..f31704b880 100644
--- a/engines/kyra/engine/kyra_lok.cpp
+++ b/engines/kyra/engine/kyra_lok.cpp
@@ -207,9 +207,8 @@ Common::Error KyraEngine_LoK::init() {
_paletteChanged = 1;
_currentCharacter = 0;
- _characterList = new Character[11];
+ _characterList = new Character[11]();
assert(_characterList);
- memset(_characterList, 0, sizeof(Character) * 11);
for (int i = 0; i < 11; ++i)
memset(_characterList[i].inventoryItems, 0xFF, sizeof(_characterList[i].inventoryItems));
@@ -367,10 +366,8 @@ void KyraEngine_LoK::startup() {
_shapes[361 + i] = new byte[size];
}
- _itemBkgBackUp[0] = new uint8[_screen->getRectSize(3, 24)];
- memset(_itemBkgBackUp[0], 0, _screen->getRectSize(3, 24));
- _itemBkgBackUp[1] = new uint8[_screen->getRectSize(4, 32)];
- memset(_itemBkgBackUp[1], 0, _screen->getRectSize(4, 32));
+ _itemBkgBackUp[0] = new uint8[_screen->getRectSize(3, 24)]();
+ _itemBkgBackUp[1] = new uint8[_screen->getRectSize(4, 32)]();
for (int i = 0; i < _roomTableSize; ++i) {
for (int item = 0; item < 12; ++item) {
diff --git a/engines/kyra/engine/kyra_mr.cpp b/engines/kyra/engine/kyra_mr.cpp
index f4ef5f2025..06105d4cdd 100644
--- a/engines/kyra/engine/kyra_mr.cpp
+++ b/engines/kyra/engine/kyra_mr.cpp
@@ -568,8 +568,7 @@ void KyraEngine_MR::startup() {
_screen->_curPage = 0;
- _talkObjectList = new TalkObject[88];
- memset(_talkObjectList, 0, sizeof(TalkObject)*88);
+ _talkObjectList = new TalkObject[88]();
for (int i = 0; i < 88; ++i)
_talkObjectList[i].sceneId = 0xFF;
@@ -603,9 +602,8 @@ void KyraEngine_MR::startup() {
memset(_newSceneDlgState, 0, sizeof(_newSceneDlgState));
memset(_conversationState, -1, sizeof(_conversationState));
- _sceneList = new SceneDesc[98];
+ _sceneList = new SceneDesc[98]();
assert(_sceneList);
- memset(_sceneList, 0, sizeof(SceneDesc)*98);
_sceneListSize = 98;
runStartupScript(1, 0);
diff --git a/engines/kyra/engine/kyra_rpg.cpp b/engines/kyra/engine/kyra_rpg.cpp
index ebbf59f6c6..1f604b37d1 100644
--- a/engines/kyra/engine/kyra_rpg.cpp
+++ b/engines/kyra/engine/kyra_rpg.cpp
@@ -168,34 +168,23 @@ KyraRpgEngine::~KyraRpgEngine() {
Common::Error KyraRpgEngine::init() {
gui_resetButtonList();
- _levelDecorationProperties = new LevelDecorationProperty[100];
- memset(_levelDecorationProperties, 0, 100 * sizeof(LevelDecorationProperty));
+ _levelDecorationProperties = new LevelDecorationProperty[100]();
_levelDecorationShapes = new const uint8*[400];
memset(_levelDecorationShapes, 0, 400 * sizeof(uint8 *));
- _levelBlockProperties = new LevelBlockProperty[1025];
- memset(_levelBlockProperties, 0, 1025 * sizeof(LevelBlockProperty));
-
- _wllVmpMap = new uint8[256];
- memset(_wllVmpMap, 0, 256);
- _wllShapeMap = new int8[256];
- memset(_wllShapeMap, 0, 256);
- _specialWallTypes = new uint8[256];
- memset(_specialWallTypes, 0, 256);
- _wllWallFlags = new uint8[256];
- memset(_wllWallFlags, 0, 256);
-
- _blockDrawingBuffer = new uint16[1320];
- memset(_blockDrawingBuffer, 0, 1320 * sizeof(uint16));
+ _levelBlockProperties = new LevelBlockProperty[1025]();
+
+ _wllVmpMap = new uint8[256]();
+ _wllShapeMap = new int8[256]();
+ _specialWallTypes = new uint8[256]();
+ _wllWallFlags = new uint8[256]();
+
+ _blockDrawingBuffer = new uint16[1320]();
int windowBufferSize = _flags.useHiColorMode ? 42240 : 21120;
- _sceneWindowBuffer = new uint8[windowBufferSize];
- memset(_sceneWindowBuffer, 0, windowBufferSize);
+ _sceneWindowBuffer = new uint8[windowBufferSize]();
- _lvlShapeTop = new int16[18];
- memset(_lvlShapeTop, 0, 18 * sizeof(int16));
- _lvlShapeBottom = new int16[18];
- memset(_lvlShapeBottom, 0, 18 * sizeof(int16));
- _lvlShapeLeftRight = new int16[36];
- memset(_lvlShapeLeftRight, 0, 36 * sizeof(int16));
+ _lvlShapeTop = new int16[18]();
+ _lvlShapeBottom = new int16[18]();
+ _lvlShapeLeftRight = new int16[36]();
_vcnColTable = new uint8[128];
for (int i = 0; i < 128; i++)
@@ -211,8 +200,7 @@ Common::Error KyraRpgEngine::init() {
_vcnDrawLine = new VcnLineDrawingMethods(new VcnDrawProc(this, &KyraRpgEngine::vcnDraw_fw_4bit), new VcnDrawProc(this, &KyraRpgEngine::vcnDraw_bw_4bit),
new VcnDrawProc(this, &KyraRpgEngine::vcnDraw_fw_trans_4bit), new VcnDrawProc(this, &KyraRpgEngine::vcnDraw_bw_trans_4bit));
- _doorShapes = new uint8*[6];
- memset(_doorShapes, 0, 6 * sizeof(uint8 *));
+ _doorShapes = new uint8*[6]();
initStaticResource();
diff --git a/engines/kyra/engine/lol.cpp b/engines/kyra/engine/lol.cpp
index 0748461129..36e47c74d0 100644
--- a/engines/kyra/engine/lol.cpp
+++ b/engines/kyra/engine/lol.cpp
@@ -379,37 +379,28 @@ Common::Error LoLEngine::init() {
_screen->setAnimBlockPtr(10000);
_screen->setScreenDim(0);
- _pageBuffer1 = new uint8[0xFA00];
- memset(_pageBuffer1, 0, 0xFA00);
- _pageBuffer2 = new uint8[0xFA00];
- memset(_pageBuffer2, 0, 0xFA00);
+ _pageBuffer1 = new uint8[0xFA00]();
+ _pageBuffer2 = new uint8[0xFA00]();
- _itemsInPlay = new LoLItem[400];
- memset(_itemsInPlay, 0, sizeof(LoLItem) * 400);
+ _itemsInPlay = new LoLItem[400]();
- _characters = new LoLCharacter[4];
- memset(_characters, 0, sizeof(LoLCharacter) * 4);
+ _characters = new LoLCharacter[4]();
if (!_sound->init())
error("Couldn't init sound");
KyraRpgEngine::init();
- _wllAutomapData = new uint8[80];
- memset(_wllAutomapData, 0, 80);
+ _wllAutomapData = new uint8[80]();
- _monsters = new LoLMonster[30];
- memset(_monsters, 0, 30 * sizeof(LoLMonster));
- _monsterProperties = new LoLMonsterProperty[5];
- memset(_monsterProperties, 0, 5 * sizeof(LoLMonsterProperty));
+ _monsters = new LoLMonster[30]();
+ _monsterProperties = new LoLMonsterProperty[5]();
- _tempBuffer5120 = new uint8[5120];
- memset(_tempBuffer5120, 0, 5120);
+ _tempBuffer5120 = new uint8[5120]();
- _flyingObjects = new FlyingObject[_numFlyingObjects];
+ _flyingObjects = new FlyingObject[_numFlyingObjects]();
_flyingObjectsPtr = _flyingObjects;
_flyingObjectStructSize = sizeof(FlyingObject);
- memset(_flyingObjects, 0, _numFlyingObjects * sizeof(FlyingObject));
memset(_globalScriptVars, 0, sizeof(_globalScriptVars));
@@ -422,12 +413,9 @@ Common::Error LoLEngine::init() {
_clickedShapeYOffs = 8;
_clickedSpecialFlag = 0x40;
- _monsterShapes = new uint8*[48];
- memset(_monsterShapes, 0, 48 * sizeof(uint8 *));
- _monsterPalettes = new uint8*[48];
- memset(_monsterPalettes, 0, 48 * sizeof(uint8 *));
- _monsterDecorationShapes = new uint8*[576];
- memset(_monsterDecorationShapes, 0, 576 * sizeof(uint8 *));
+ _monsterShapes = new uint8*[48]();
+ _monsterPalettes = new uint8*[48]();
+ _monsterDecorationShapes = new uint8*[576]();
memset(&_scriptData, 0, sizeof(EMCData));
_activeMagicMenu = -1;
diff --git a/engines/kyra/engine/scene_eob.cpp b/engines/kyra/engine/scene_eob.cpp
index e307d8dc9a..50a19391e1 100644
--- a/engines/kyra/engine/scene_eob.cpp
+++ b/engines/kyra/engine/scene_eob.cpp
@@ -425,8 +425,7 @@ void EoBCoreEngine::loadDecorations(const char *cpsFile, const char *decFile) {
_levelDecorationDataSize = s->readUint16();
delete[] _levelDecorationData;
- _levelDecorationData = new LevelDecorationProperty[_levelDecorationDataSize];
- memset(_levelDecorationData, 0, _levelDecorationDataSize * sizeof(LevelDecorationProperty));
+ _levelDecorationData = new LevelDecorationProperty[_levelDecorationDataSize]();
for (int i = 0; i < _levelDecorationDataSize; i++) {
LevelDecorationProperty *l = &_levelDecorationData[i];
diff --git a/engines/kyra/engine/sprites.cpp b/engines/kyra/engine/sprites.cpp
index 197d8eab4e..c0e945a869 100644
--- a/engines/kyra/engine/sprites.cpp
+++ b/engines/kyra/engine/sprites.cpp
@@ -110,9 +110,8 @@ void Sprites::setupSceneAnims() {
if (_anims[i].height2 > 0)
bkgdHeight += _anims[i].height2;
- _anims[i].background = new uint8[_screen->getRectSize(bkgdWidth + 1, bkgdHeight)];
+ _anims[i].background = new uint8[_screen->getRectSize(bkgdWidth + 1, bkgdHeight)]();
assert(_anims[i].background);
- memset(_anims[i].background, 0, _screen->getRectSize(bkgdWidth + 1, bkgdHeight));
}
}
}
diff --git a/engines/kyra/engine/sprites_lol.cpp b/engines/kyra/engine/sprites_lol.cpp
index 66c0660048..f7f1b2cd12 100644
--- a/engines/kyra/engine/sprites_lol.cpp
+++ b/engines/kyra/engine/sprites_lol.cpp
@@ -73,10 +73,9 @@ void LoLEngine::loadMonsterShapes(const char *file, int monsterIndex, int animTy
_screen->clearPage(3);
_screen->drawShape(2, palShape, 0, 0, 0, 0);
- uint8 *tmpPal1 = new uint8[64];
+ uint8 *tmpPal1 = new uint8[64]();
uint8 *tmpPal2 = new uint8[256];
uint16 *tmpPal3 = new uint16[256];
- memset(tmpPal1, 0, 64);
for (int i = 0; i < 64; i++) {
tmpPal1[i] = *p;
diff --git a/engines/kyra/graphics/animator_lok.cpp b/engines/kyra/graphics/animator_lok.cpp
index 9f4236b32b..8fbd073e81 100644
--- a/engines/kyra/graphics/animator_lok.cpp
+++ b/engines/kyra/graphics/animator_lok.cpp
@@ -35,10 +35,8 @@ Animator_LoK::Animator_LoK(KyraEngine_LoK *vm, OSystem *system) {
_screenObjects = _actors = _items = _sprites = _objectQueue = 0;
_noDrawShapesFlag = 0;
- _actorBkgBackUp[0] = new uint8[_screen->getRectSize(8, 69)];
- memset(_actorBkgBackUp[0], 0, _screen->getRectSize(8, 69));
- _actorBkgBackUp[1] = new uint8[_screen->getRectSize(8, 69)];
- memset(_actorBkgBackUp[1], 0, _screen->getRectSize(8, 69));
+ _actorBkgBackUp[0] = new uint8[_screen->getRectSize(8, 69)]();
+ _actorBkgBackUp[1] = new uint8[_screen->getRectSize(8, 69)]();
}
Animator_LoK::~Animator_LoK() {
@@ -48,9 +46,8 @@ Animator_LoK::~Animator_LoK() {
}
void Animator_LoK::init(int actors_, int items_, int sprites_) {
- _screenObjects = new AnimObject[actors_ + items_ + sprites_];
+ _screenObjects = new AnimObject[actors_ + items_ + sprites_]();
assert(_screenObjects);
- memset(_screenObjects, 0, sizeof(AnimObject) * (actors_ + items_ + sprites_));
_actors = _screenObjects;
_sprites = &_screenObjects[actors_];
_items = &_screenObjects[actors_ + items_];
diff --git a/engines/kyra/graphics/animator_tim.cpp b/engines/kyra/graphics/animator_tim.cpp
index 160524e6ca..3ed6ddb449 100644
--- a/engines/kyra/graphics/animator_tim.cpp
+++ b/engines/kyra/graphics/animator_tim.cpp
@@ -39,13 +39,11 @@ TimAnimator::TimAnimator(LoLEngine *engine, Screen_v2 *screen_v2, OSystem *syste
#else
TimAnimator::TimAnimator(KyraEngine_v1 *engine, Screen_v2 *screen_v2, OSystem *system, bool useParts) : _vm(engine), _screen(screen_v2), _system(system), _useParts(useParts) {
#endif
- _animations = new Animation[TIM::kWSASlots];
- memset(_animations, 0, TIM::kWSASlots * sizeof(Animation));
+ _animations = new Animation[TIM::kWSASlots]();
if (_useParts) {
for (int i = 0; i < TIM::kWSASlots; i++) {
- _animations[i].parts = new AnimPart[TIM::kAnimParts];
- memset(_animations[i].parts, 0, TIM::kAnimParts * sizeof(AnimPart));
+ _animations[i].parts = new AnimPart[TIM::kAnimParts]();
}
}
}
diff --git a/engines/kyra/graphics/animator_v2.cpp b/engines/kyra/graphics/animator_v2.cpp
index a7a8d70962..6cda7cc84e 100644
--- a/engines/kyra/graphics/animator_v2.cpp
+++ b/engines/kyra/graphics/animator_v2.cpp
@@ -26,11 +26,9 @@
namespace Kyra {
void KyraEngine_v2::allocAnimObjects(int actors, int anims, int items) {
- _animObjects = new AnimObj[actors + anims + items];
+ _animObjects = new AnimObj[actors + anims + items]();
assert(_animObjects);
- memset(_animObjects, 0, sizeof(AnimObj) * (actors + anims + items));
-
_animActor = _animObjects;
_animAnims = _animObjects + actors;
_animItems = _animObjects + actors + anims;
diff --git a/engines/kyra/graphics/screen.cpp b/engines/kyra/graphics/screen.cpp
index 5dd924d9ab..16e3fc9bd2 100644
--- a/engines/kyra/graphics/screen.cpp
+++ b/engines/kyra/graphics/screen.cpp
@@ -526,8 +526,7 @@ void Screen::resetPagePtrsAndBuffers(int pageSize) {
int numPages = realPages.size();
uint32 bufferSize = numPages * _screenPageSize;
- uint8 *pagePtr = new uint8[bufferSize];
- memset(pagePtr, 0, bufferSize);
+ uint8 *pagePtr = new uint8[bufferSize]();
memset(_pagePtrs, 0, sizeof(_pagePtrs));
for (int i = 0; i < SCREEN_PAGE_NUM; i++) {
@@ -1294,9 +1293,8 @@ void Screen::drawLine(bool vertical, int x, int y, int length, int color) {
void Screen::setAnimBlockPtr(int size) {
delete[] _animBlockPtr;
- _animBlockPtr = new uint8[size];
+ _animBlockPtr = new uint8[size]();
assert(_animBlockPtr);
- memset(_animBlockPtr, 0, size);
_animBlockSize = size;
}
@@ -3843,10 +3841,8 @@ void SJISFont::drawChar(uint16 c, byte *dst, int pitch, int) const {
#pragma mark -
Palette::Palette(const int numColors) : _palData(0), _numColors(numColors) {
- _palData = new uint8[numColors * 3];
+ _palData = new uint8[numColors * 3]();
assert(_palData);
-
- memset(_palData, 0, numColors * 3);
}
Palette::~Palette() {
diff --git a/engines/kyra/graphics/screen_eob.cpp b/engines/kyra/graphics/screen_eob.cpp
index 666ac7adf6..b56c05b775 100644
--- a/engines/kyra/graphics/screen_eob.cpp
+++ b/engines/kyra/graphics/screen_eob.cpp
@@ -117,24 +117,19 @@ bool Screen_EoB::init() {
_egaDitheringTable[i] = i & 0x0F;
} else if (_renderMode == Common::kRenderCGA) {
_cgaMappingDefault = _vm->staticres()->loadRawData(kEoB1CgaMappingDefault, temp);
- _cgaDitheringTables[0] = new uint16[256];
- memset(_cgaDitheringTables[0], 0, 256 * sizeof(uint16));
- _cgaDitheringTables[1] = new uint16[256];
- memset(_cgaDitheringTables[1], 0, 256 * sizeof(uint16));
+ _cgaDitheringTables[0] = new uint16[256]();
+ _cgaDitheringTables[1] = new uint16[256]();
- _cgaScaleTable = new uint8[256];
- memset(_cgaScaleTable, 0, 256 * sizeof(uint8));
+ _cgaScaleTable = new uint8[256]();
for (int i = 0; i < 256; i++)
_cgaScaleTable[i] = ((i & 0xF0) >> 2) | (i & 0x03);
} else if (_vm->gameFlags().platform == Common::kPlatformSegaCD) {
sega_initGraphics();
- _segaCustomPalettes = new uint16[128];
+ _segaCustomPalettes = new uint16[128]();
_palFaders = new PaletteFader[4];
_defaultRenderBufferSize = SCREEN_W * _screenHeight;
- _defaultRenderBuffer = new uint8[_defaultRenderBufferSize];
- memset(_defaultRenderBuffer, 0, _defaultRenderBufferSize);
+ _defaultRenderBuffer = new uint8[_defaultRenderBufferSize]();
sega_setTextBuffer(0, 0);
- memset(_segaCustomPalettes, 0, 128 * sizeof(uint16));
}
_useShapeShading = (_bytesPerPixel != 2 && !_isAmiga && !_isSegaCD && !_use16ColorMode && _renderMode != Common::kRenderCGA && _renderMode != Common::kRenderEGA) || _useHiResEGADithering;
@@ -143,8 +138,7 @@ bool Screen_EoB::init() {
int ci = 0;
if (_vm->game() == GI_EOB1) {
if (_vm->gameFlags().platform == Common::kPlatformPC98) {
- _cyclePalette = new uint8[48];
- memset(_cyclePalette, 0, 48);
+ _cyclePalette = new uint8[48]();
ci = 3;
} else if (_renderMode == Common::kRenderEGA || _renderMode == Common::kRenderCGA) {
ci = 1;
@@ -481,8 +475,7 @@ uint8 *Screen_EoB::encodeShape(uint16 x, uint16 y, uint16 w, uint16 h, bool enco
if (_bytesPerPixel == 2 && encode8bit) {
shapesize = h * (w << 3) + 4;
- shp = new uint8[shapesize];
- memset(shp, 0, shapesize);
+ shp = new uint8[shapesize]();
uint8 *dst = shp;
*dst++ = 0;
@@ -502,8 +495,7 @@ uint8 *Screen_EoB::encodeShape(uint16 x, uint16 y, uint16 w, uint16 h, bool enco
if (cgaMapping)
generateCGADitheringTables(cgaMapping);
shapesize = h * (w << 2) + 4;
- shp = new uint8[shapesize];
- memset(shp, 0, shapesize);
+ shp = new uint8[shapesize]();
uint8 *dst = shp;
*dst++ = 4;
@@ -561,8 +553,7 @@ uint8 *Screen_EoB::encodeShape(uint16 x, uint16 y, uint16 w, uint16 h, bool enco
shapesize += 4;
- shp = new uint8[shapesize];
- memset(shp, 0, shapesize);
+ shp = new uint8[shapesize]();
uint8 *dst = shp;
*dst++ = 1;
@@ -610,8 +601,7 @@ uint8 *Screen_EoB::encodeShape(uint16 x, uint16 y, uint16 w, uint16 h, bool enco
}
shapesize = h * (w << 2) + 20;
- shp = new uint8[shapesize];
- memset(shp, 0, shapesize);
+ shp = new uint8[shapesize]();
uint8 *dst = shp;
*dst++ = 2;
@@ -1811,8 +1801,7 @@ OldDOSFont::OldDOSFont(Common::RenderMode mode, uint8 shadowColor) : _renderMode
_numRef++;
if (!_cgaDitheringTable && _numRef == 1) {
- _cgaDitheringTable = new uint16[256];
- memset(_cgaDitheringTable, 0, 256 * sizeof(uint16));
+ _cgaDitheringTable = new uint16[256]();
static const uint bits[] = { 0, 3, 12, 15 };
for (int i = 0; i < 256; i++)
_cgaDitheringTable[i] = (bits[i & 3] << 8) | (bits[(i >> 2) & 3] << 12) | (bits[(i >> 4) & 3] << 0) | (bits[(i >> 6) & 3] << 4);
diff --git a/engines/kyra/graphics/screen_eob_segacd.cpp b/engines/kyra/graphics/screen_eob_segacd.cpp
index f30432feef..d5f8ef2145 100644
--- a/engines/kyra/graphics/screen_eob_segacd.cpp
+++ b/engines/kyra/graphics/screen_eob_segacd.cpp
@@ -391,12 +391,10 @@ SegaRenderer::SegaRenderer(Screen_EoB *screen) : _screen(screen), _prioChainStar
, _renderLineFragmentD(0), _renderLineFragmentM(0)
#endif
{
- _vram = new uint8[0x10000];
+ _vram = new uint8[0x10000]();
assert(_vram);
- memset(_vram, 0, 0x10000 * sizeof(uint8));
- _vsram = new uint16[40];
+ _vsram = new uint16[40]();
assert(_vsram);
- memset(_vsram, 0, 40 * sizeof(uint16));
#if SEGA_PERFORMANCE
static const SegaRenderer::renderFuncD funcD[8] = {
@@ -445,9 +443,8 @@ void SegaRenderer::setResolution(int w, int h) {
_numSpritesMax = w >> 2;
delete[] _spriteMask;
- _spriteMask = new uint8[w * h];
+ _spriteMask = new uint8[w * h]();
assert(_spriteMask);
- memset(_spriteMask, 0, w * h * sizeof(uint8));
}
void SegaRenderer::setPlaneTableLocation(int plane, uint16 addr) {
@@ -956,12 +953,10 @@ void SegaRenderer::clearPrioChain() {
}
SegaAnimator::SegaAnimator(SegaRenderer *renderer) : _renderer(renderer), _needUpdate(false) {
- _sprites = new Sprite[80];
+ _sprites = new Sprite[80]();
assert(_sprites);
- memset(_sprites, 0, sizeof(Sprite) * 80);
- _tempBuffer = new uint16[320];
+ _tempBuffer = new uint16[320]();
assert(_tempBuffer);
- memset(_tempBuffer, 0, sizeof(uint16) * 320);
int linkCnt = 1;
for (int i = 1; i < 317; i += 4)
_tempBuffer[i] = linkCnt++;
diff --git a/engines/kyra/graphics/screen_lok.cpp b/engines/kyra/graphics/screen_lok.cpp
index ec53f22cb4..48d60052c8 100644
--- a/engines/kyra/graphics/screen_lok.cpp
+++ b/engines/kyra/graphics/screen_lok.cpp
@@ -65,12 +65,10 @@ bool Screen_LoK::init() {
memset(_saveLoadPage, 0, sizeof(_saveLoadPage));
memset(_saveLoadPageOvl, 0, sizeof(_saveLoadPageOvl));
- _unkPtr1 = new uint8[getRectSize(1, 144)];
+ _unkPtr1 = new uint8[getRectSize(1, 144)]();
assert(_unkPtr1);
- memset(_unkPtr1, 0, getRectSize(1, 144));
- _unkPtr2 = new uint8[getRectSize(1, 144)];
+ _unkPtr2 = new uint8[getRectSize(1, 144)]();
assert(_unkPtr2);
- memset(_unkPtr2, 0, getRectSize(1, 144));
return true;
}
diff --git a/engines/kyra/graphics/screen_lol.cpp b/engines/kyra/graphics/screen_lol.cpp
index b42565fc9d..dfe6d23d79 100644
--- a/engines/kyra/graphics/screen_lol.cpp
+++ b/engines/kyra/graphics/screen_lol.cpp
@@ -32,12 +32,9 @@
namespace Kyra {
Screen_LoL::Screen_LoL(LoLEngine *vm, OSystem *system) : Screen_v2(vm, system, vm->gameFlags().use16ColorMode ? _screenDimTable16C : _screenDimTable256C, _screenDimTableCount) {
- _paletteOverlay1 = new uint8[0x100];
- _paletteOverlay2 = new uint8[0x100];
- _grayOverlay = new uint8[0x100];
- memset(_paletteOverlay1, 0, 0x100);
- memset(_paletteOverlay2, 0, 0x100);
- memset(_grayOverlay, 0, 0x100);
+ _paletteOverlay1 = new uint8[0x100]();
+ _paletteOverlay2 = new uint8[0x100]();
+ _grayOverlay = new uint8[0x100]();
for (int i = 0; i < 8; i++)
_levelOverlays[i] = new uint8[256];
diff --git a/engines/kyra/graphics/vqa.cpp b/engines/kyra/graphics/vqa.cpp
index 40e927db56..f15d545499 100644
--- a/engines/kyra/graphics/vqa.cpp
+++ b/engines/kyra/graphics/vqa.cpp
@@ -414,16 +414,12 @@ VQADecoder::VQAVideoTrack::VQAVideoTrack(const VQAHeader *header) {
_codeBookSize = 0xF00 * header->blockW * header->blockH;
_compressedCodeBook = false;
- _codeBook = new byte[_codeBookSize];
+ _codeBook = new byte[_codeBookSize]();
_partialCodeBookSize = 0;
_numPartialCodeBooks = 0;
- _partialCodeBook = new byte[_codeBookSize];
+ _partialCodeBook = new byte[_codeBookSize]();
_numVectorPointers = (header->width / header->blockW) * (header->height * header->blockH);
- _vectorPointers = new uint16[_numVectorPointers];
-
- memset(_codeBook, 0, _codeBookSize);
- memset(_partialCodeBook, 0, _codeBookSize);
- memset(_vectorPointers, 0, _numVectorPointers);
+ _vectorPointers = new uint16[_numVectorPointers]();
_surface = new Graphics::Surface();
_surface->create(header->width, header->height, Graphics::PixelFormat::createFormatCLUT8());
diff --git a/engines/kyra/graphics/wsamovie.cpp b/engines/kyra/graphics/wsamovie.cpp
index 6cbda7b6c9..92f85d4c86 100644
--- a/engines/kyra/graphics/wsamovie.cpp
+++ b/engines/kyra/graphics/wsamovie.cpp
@@ -67,8 +67,7 @@ int WSAMovie_v1::open(const char *filename, int offscreenDecode, Palette *palBuf
if (offscreenDecode) {
_flags |= WF_OFFSCREEN_DECODE;
const int offscreenBufferSize = _width * _height;
- _offscreenBuffer = new uint8[offscreenBufferSize];
- memset(_offscreenBuffer, 0, offscreenBufferSize);
+ _offscreenBuffer = new uint8[offscreenBufferSize]();
}
if (_numFrames & 0x8000) {
@@ -80,8 +79,7 @@ int WSAMovie_v1::open(const char *filename, int offscreenDecode, Palette *palBuf
}
_currentFrame = _numFrames;
- _deltaBuffer = new uint8[_deltaBufferSize];
- memset(_deltaBuffer, 0, _deltaBufferSize);
+ _deltaBuffer = new uint8[_deltaBufferSize]();
// read frame offsets
_frameOffsTable = new uint32[_numFrames + 2];
@@ -406,8 +404,7 @@ int WSAMovie_v2::open(const char *filename, int unk1, Palette *palBuf) {
if (!(unk1 & 2)) {
_flags |= WF_OFFSCREEN_DECODE;
const int offscreenBufferSize = _width * _height;
- _offscreenBuffer = new uint8[offscreenBufferSize];
- memset(_offscreenBuffer, 0, offscreenBufferSize);
+ _offscreenBuffer = new uint8[offscreenBufferSize]();
}
if (_numFrames & 0x8000) {
@@ -417,8 +414,7 @@ int WSAMovie_v2::open(const char *filename, int unk1, Palette *palBuf) {
}
_currentFrame = _numFrames;
- _deltaBuffer = new uint8[_deltaBufferSize];
- memset(_deltaBuffer, 0, _deltaBufferSize);
+ _deltaBuffer = new uint8[_deltaBufferSize]();
// read frame offsets
_frameOffsTable = new uint32[_numFrames + 2];
diff --git a/engines/kyra/gui/gui.cpp b/engines/kyra/gui/gui.cpp
index 3afa4128ba..3b8f2c66c5 100644
--- a/engines/kyra/gui/gui.cpp
+++ b/engines/kyra/gui/gui.cpp
@@ -109,8 +109,7 @@ void GUI::updateSaveSlotsList(Common::String targetName, bool force) {
KyraEngine_v1::SaveHeader header;
Common::InSaveFile *in;
- _savegameList = new char*[_savegameListSize];
- memset(_savegameList, 0, _savegameListSize * sizeof(char *));
+ _savegameList = new char*[_savegameListSize]();
for (int i = 0; i < numSaves; i++) {
in = _vm->openSaveForReading(_vm->getSavegameFilename(targetName, _saveSlots[i]).c_str(), header, targetName == _vm->_targetName);
diff --git a/engines/kyra/gui/gui_eob.cpp b/engines/kyra/gui/gui_eob.cpp
index 4cc75d9011..eee3db2216 100644
--- a/engines/kyra/gui/gui_eob.cpp
+++ b/engines/kyra/gui/gui_eob.cpp
@@ -1502,13 +1502,11 @@ void EoBCoreEngine::gui_processInventorySlotClick(int slot) {
}
GUI_EoB::GUI_EoB(EoBCoreEngine *vm) : GUI(vm), _vm(vm), _screen(vm->_screen), _numSlotsVisible(vm->gameFlags().platform == Common::kPlatformSegaCD ? 5 : 6) {
- _menuStringsPrefsTemp = new char*[4];
- memset(_menuStringsPrefsTemp, 0, 4 * sizeof(char *));
+ _menuStringsPrefsTemp = new char*[4]();
_saveSlotStringsTemp = new char*[6];
for (int i = 0; i < 6; i++) {
- _saveSlotStringsTemp[i] = new char[26];
- memset(_saveSlotStringsTemp[i], 0, 26);
+ _saveSlotStringsTemp[i] = new char[26]();
}
_saveSlotIdTemp = new int16[7];
memset(_saveSlotIdTemp, 0xFF, sizeof(int16) * 7);
@@ -1532,8 +1530,7 @@ GUI_EoB::GUI_EoB(EoBCoreEngine *vm) : GUI(vm), _vm(vm), _screen(vm->_screen), _n
_numVisPages = (_vm->game() == GI_EOB2) ? 6 : 5;
_clericSpellAvltyFlags = (_vm->game() == GI_EOB2) ? 0xF7FFFFFF : 0x7BFFFF;
_paladinSpellAvltyFlags = (_vm->game() == GI_EOB2) ? 0xA9BBD1D : 0x800FF2;
- _numAssignedSpellsOfType = new int8[72];
- memset(_numAssignedSpellsOfType, 0, 72);
+ _numAssignedSpellsOfType = new int8[72]();
_charSelectRedraw = false;
_clickableCharactersPage = 0;
@@ -2709,8 +2706,7 @@ int GUI_EoB::getTextInput(char *dest, int x, int y, int destMaxLen, int textColo
uint8 cursorState = 1;
char sufx[3] = " \0";
- uint8 *segaCharBuf = new uint8[destMaxLen << 5];
- memset(segaCharBuf, 0, destMaxLen << 5);
+ uint8 *segaCharBuf = new uint8[destMaxLen << 5]();
int len = strlen(dest);
if (len > destMaxLen) {
@@ -3036,8 +3032,7 @@ Common::String GUI_EoB::transferTargetMenu(Common::Array<Common::String> &target
}
_savegameListSize = targets.size();
- _savegameList = new char*[_savegameListSize];
- memset(_savegameList, 0, _savegameListSize * sizeof(char *));
+ _savegameList = new char*[_savegameListSize]();
Common::StringArray::iterator ii = targets.begin();
for (int i = 0; i < _savegameListSize; ++i) {
@@ -3397,13 +3392,10 @@ void GUI_EoB::runMemorizePrayMenu(int charIndex, int spellType) {
}
}
- int8 *menuSpellMap = new int8[88];
- memset(menuSpellMap, 0, 88);
- int8 *numAssignedSpellsPerBookPage = new int8[8];
- memset(numAssignedSpellsPerBookPage, 0, 8);
+ int8 *menuSpellMap = new int8[88]();
+ int8 *numAssignedSpellsPerBookPage = new int8[8]();
memset(_numAssignedSpellsOfType, 0, 72);
- int8 *lh = new int8[40];
- memset(lh, 0, 40);
+ int8 *lh = new int8[40]();
memcpy(lh, spellType ? _vm->_spellLevelsCleric : _vm->_spellLevelsMage, spellType ? _vm->_spellLevelsClericSize : _vm->_spellLevelsMageSize);
int8 *charSpellList = spellType ? c->clericSpells : c->mageSpells;
diff --git a/engines/kyra/gui/saveload_eob.cpp b/engines/kyra/gui/saveload_eob.cpp
index ea25438f6d..46c3401921 100644
--- a/engines/kyra/gui/saveload_eob.cpp
+++ b/engines/kyra/gui/saveload_eob.cpp
@@ -856,14 +856,11 @@ Common::String EoBCoreEngine::readOriginalSaveFile(Common::String &file) {
l->wallsXorData = new uint8[4096];
l->flags = new uint16[1024];
memset(l->flags, 0, 1024 * sizeof(uint16));
- EoBMonsterInPlay *lm = new EoBMonsterInPlay[30];
- memset(lm, 0, 30 * sizeof(EoBMonsterInPlay));
+ EoBMonsterInPlay *lm = new EoBMonsterInPlay[30]();
l->monsters = lm;
- EoBFlyingObject *lf = new EoBFlyingObject[_numFlyingObjects];
- memset(lf, 0, _numFlyingObjects * sizeof(EoBFlyingObject));
+ EoBFlyingObject *lf = new EoBFlyingObject[_numFlyingObjects]();
l->flyingObjects = lf;
- WallOfForce *lw = new WallOfForce[5];
- memset(lw, 0, 5 * sizeof(WallOfForce));
+ WallOfForce *lw = new WallOfForce[5]();
l->wallsOfForce = lw;
if (sourcePlatform == Common::kPlatformFMTowns) {
diff --git a/engines/kyra/resource/staticres_eob.cpp b/engines/kyra/resource/staticres_eob.cpp
index 6b81b8eebc..9447e0658a 100644
--- a/engines/kyra/resource/staticres_eob.cpp
+++ b/engines/kyra/resource/staticres_eob.cpp
@@ -84,8 +84,7 @@ bool StaticResource::loadEoB2ShapeData(Common::SeekableReadStream &stream, void
bool StaticResource::loadEoBNpcData(Common::SeekableReadStream &stream, void *&ptr, int &size) {
size = stream.readUint16BE();
- EoBCharacter *e = new EoBCharacter[size];
- memset(e, 0, size * sizeof(EoBCharacter));
+ EoBCharacter *e = new EoBCharacter[size]();
EoBCharacter *s = e;
for (int i = 0; i < size; i++, s++) {
@@ -1264,8 +1263,7 @@ void EoBCoreEngine::initSpells() {
ec2(monster_causeCriticalWounds);
ec2(monster_fleshToStone);
- _spells = new EoBSpell[_numSpells];
- memset(_spells, 0, _numSpells * sizeof(EoBSpell));
+ _spells = new EoBSpell[_numSpells]();
for (int i = 0, n = 0; i < _numSpells; i++, n++) {
EoBSpell *s = &_spells[i];
@@ -1353,8 +1351,7 @@ void EoBEngine::initStaticResource() {
const uint8 *ps = _staticres->loadRawData(kEoB1MonsterProperties, temp);
temp /= 27;
- _monsterProps = new EoBMonsterProperty[temp];
- memset(_monsterProps, 0, temp * sizeof(EoBMonsterProperty));
+ _monsterProps = new EoBMonsterProperty[temp]();
// Convert EOB1 (hard coded) monster properties to EOB2 type monster properties.
for (int i = 0; i < temp; i++) {
EoBMonsterProperty *p = &_monsterProps[i];
diff --git a/engines/kyra/script/script_eob.cpp b/engines/kyra/script/script_eob.cpp
index 9e31a9c5f5..ac4835f82f 100644
--- a/engines/kyra/script/script_eob.cpp
+++ b/engines/kyra/script/script_eob.cpp
@@ -137,15 +137,12 @@ EoBInfProcessor::EoBInfProcessor(EoBCoreEngine *engine, Screen_EoB *screen) : _v
_lastScriptFunc = 0;
_lastScriptFlags = 0;
- _subroutineStack = new int8*[10];
- memset(_subroutineStack, 0, 10 * sizeof(int8 *));
+ _subroutineStack = new int8*[10]();
_subroutineStackPos = 0;
- _flagTable = new uint32[18];
- memset(_flagTable, 0, 18 * sizeof(uint32));
+ _flagTable = new uint32[18]();
- _stack = new int16[30];
- memset(_stack, 0, 30 * sizeof(int16));
+ _stack = new int16[30]();
_stackIndex = 0;
_activeCharacter = -1;
diff --git a/engines/kyra/sequence/seqplayer_eob_segacd.cpp b/engines/kyra/sequence/seqplayer_eob_segacd.cpp
index 03bd9d8130..995adf11f0 100644
--- a/engines/kyra/sequence/seqplayer_eob_segacd.cpp
+++ b/engines/kyra/sequence/seqplayer_eob_segacd.cpp
@@ -80,27 +80,21 @@ SegaSequencePlayer::SegaSequencePlayer(EoBEngine *vm, Screen_EoB *screen, SegaCD
_scrollManager = new ScrollManager(_renderer);
assert(_scrollManager);
- _tileSets = new TileSet[100];
+ _tileSets = new TileSet[100]();
assert(_tileSets);
- memset(_tileSets, 0, 100 * sizeof(TileSet));
- _drawObjects = new DrawObject[100];
+ _drawObjects = new DrawObject[100]();
assert(_drawObjects);
- memset(_drawObjects, 0, 100 * sizeof(DrawObject));
memset(_speechAnimDrawOps, 0, sizeof(_speechAnimDrawOps));
- _scaleSrcBuffer = new uint8[0x5800];
+ _scaleSrcBuffer = new uint8[0x5800]();
assert(_scaleSrcBuffer);
- memset(_scaleSrcBuffer, 0, 0x5800 * sizeof(uint8));
- _scaleOutBuffer = new uint8[0x5800];
+ _scaleOutBuffer = new uint8[0x5800]();
assert(_scaleOutBuffer);
- memset(_scaleOutBuffer, 0, 0x5800 * sizeof(uint8));
- _scaleStampMap = new uint16[0x100];
+ _scaleStampMap = new uint16[0x100]();
assert(_scaleStampMap);
- memset(_scaleStampMap, 0, 0x100 * sizeof(uint16));
- _scaleTraceVectors = new uint16[0x580];
+ _scaleTraceVectors = new uint16[0x580]();
assert(_scaleTraceVectors);
- memset(_scaleTraceVectors, 0, 0x580 * sizeof(uint16));
int temp;
_wdDsX = _vm->staticres()->loadRawDataBe16(kEoB1IntroWdDsX, temp);
diff --git a/engines/kyra/sequence/sequences_eob.cpp b/engines/kyra/sequence/sequences_eob.cpp
index d0ec693ffc..1e8080947a 100644
--- a/engines/kyra/sequence/sequences_eob.cpp
+++ b/engines/kyra/sequence/sequences_eob.cpp
@@ -196,8 +196,7 @@ EoBSeqPlayerCommon::EoBSeqPlayerCommon(EoBEngine *vm, Screen_EoB *screen) : _vm(
_fillColor1(vm->gameFlags().platform == Common::kPlatformAmiga ? 19 : (vm->gameFlags().platform == Common::kPlatformPC98 ? 0 : 12)),
_fillColor2(vm->gameFlags().platform == Common::kPlatformAmiga ? 10 : 157), _tickLength(16),
_textFont(vm->gameFlags().platform == Common::kPlatformPC98 ? Screen::FID_SJIS_TEXTMODE_FNT : Screen::FID_8_FNT) {
- _shapes = new uint8*[64];
- memset(_shapes, 0, 64 * sizeof(uint8*));
+ _shapes = new uint8*[64]();
}
EoBSeqPlayerCommon::~EoBSeqPlayerCommon() {
@@ -2456,8 +2455,7 @@ void EoBEngine::seq_xdeath() {
((int16*)scrollTable)[iii << 1] = ((int16*)scrollTable)[(iii << 1) + 1] = (iii & 1) ? -step : step;
void EoBEngine::seq_segaOpeningCredits(bool jumpToTitle) {
- uint16 *scrollTable = new uint16[0x200];
- memset(scrollTable, 0, 0x200 * sizeof(uint16));
+ uint16 *scrollTable = new uint16[0x200]();
SegaRenderer *r = _screen->sega_getRenderer();
r->setPitch(128);
diff --git a/engines/kyra/sequence/sequences_lok.cpp b/engines/kyra/sequence/sequences_lok.cpp
index a473aef337..bedeec8b0d 100644
--- a/engines/kyra/sequence/sequences_lok.cpp
+++ b/engines/kyra/sequence/sequences_lok.cpp
@@ -1685,9 +1685,8 @@ int KyraEngine_LoK::handleBeadState() {
_beadState1.width = ((_beadState1.width2 + 7) >> 3) + 1;
_beadState1.height = _animator->fetchAnimHeight(_panPagesTable[19], 256);
if (!_endSequenceBackUpRect) {
- _endSequenceBackUpRect = new uint8[(_beadState1.width * _beadState1.height) << 3];
+ _endSequenceBackUpRect = new uint8[(_beadState1.width * _beadState1.height) << 3]();
assert(_endSequenceBackUpRect);
- memset(_endSequenceBackUpRect, 0, ((_beadState1.width * _beadState1.height) << 3) * sizeof(uint8));
}
x = _beadState1.x = 60;
y = _beadState1.y = 40;
diff --git a/engines/kyra/sequence/sequences_lol.cpp b/engines/kyra/sequence/sequences_lol.cpp
index 626c1cc254..177ecfc038 100644
--- a/engines/kyra/sequence/sequences_lol.cpp
+++ b/engines/kyra/sequence/sequences_lol.cpp
@@ -1309,9 +1309,8 @@ void LoLEngine::processCredits(char *t, int dimState, int page, int delayTime) {
bool needNewShape = false;
bool doorRedraw = true;
- uint8 *animBlock = new uint8[40960];
+ uint8 *animBlock = new uint8[40960]();
assert(animBlock);
- memset(animBlock, 0, 40960);
int inputFlag = 0;
do {
diff --git a/engines/kyra/sound/drivers/mlalf98.cpp b/engines/kyra/sound/drivers/mlalf98.cpp
index 9457603b27..2858b3eebf 100644
--- a/engines/kyra/sound/drivers/mlalf98.cpp
+++ b/engines/kyra/sound/drivers/mlalf98.cpp
@@ -894,8 +894,7 @@ uint16 MusicChannelFM::_frequency2 = 0;
MusicChannelFM::MusicChannelFM(PC98AudioCore *pc98a, int part, int regOffset) : SoundChannelNonSSG(pc98a, part, regOffset, 0) {
if (!_registers) {
- _registers = new uint8[512];
- memset(_registers, 0, 512);
+ _registers = new uint8[512]();
}
}
diff --git a/engines/kyra/text/text_eob_segacd.cpp b/engines/kyra/text/text_eob_segacd.cpp
index 73cfd30df9..bb39dd6325 100644
--- a/engines/kyra/text/text_eob_segacd.cpp
+++ b/engines/kyra/text/text_eob_segacd.cpp
@@ -33,8 +33,7 @@ TextDisplayer_SegaCD::TextDisplayer_SegaCD(EoBEngine *engine, Screen_EoB *scr) :
_curDim(0), _textColor(0xFF), _curPosY(0), _curPosX(0) {
assert(_renderer);
_msgRenderBufferSize = 320 * 48;
- _msgRenderBuffer = new uint8[_msgRenderBufferSize];
- memset(_msgRenderBuffer, 0, _msgRenderBufferSize);
+ _msgRenderBuffer = new uint8[_msgRenderBufferSize]();
}
TextDisplayer_SegaCD::~TextDisplayer_SegaCD() {
diff --git a/engines/kyra/text/text_lol.cpp b/engines/kyra/text/text_lol.cpp
index 91500ce78b..e8b423da62 100644
--- a/engines/kyra/text/text_lol.cpp
+++ b/engines/kyra/text/text_lol.cpp
@@ -36,8 +36,7 @@ TextDisplayer_LoL::TextDisplayer_LoL(LoLEngine *engine, Screen_LoL *screenLoL) :
_vm(engine), _screen(screenLoL), _scriptTextParameter(0) {
memset(_stringParameters, 0, 15 * sizeof(char *));
- _buffer = new char[600];
- memset(_buffer, 0, 600);
+ _buffer = new char[600]();
_waitButtonSpace = 0;
}
diff --git a/engines/kyra/text/text_rpg.cpp b/engines/kyra/text/text_rpg.cpp
index 8ad3b5902e..fa865d417c 100644
--- a/engines/kyra/text/text_rpg.cpp
+++ b/engines/kyra/text/text_rpg.cpp
@@ -43,11 +43,9 @@ TextDisplayer_rpg::TextDisplayer_rpg(KyraRpgEngine *engine, Screen *scr) : _vm(e
0x00, 0x06, 0x1d, 0x1b, 0x1a, 0x17, 0x18, 0x0e, 0x19, 0x1c, 0x1c, 0x1e, 0x13, 0x0a, 0x11, 0x1f
};
- _dialogueBuffer = new char[kEoBTextBufferSize];
- memset(_dialogueBuffer, 0, kEoBTextBufferSize);
+ _dialogueBuffer = new char[kEoBTextBufferSize]();
- _currentLine = new char[85];
- memset(_currentLine, 0, 85);
+ _currentLine = new char[85]();
if (_pc98TextMode)
_waitButtonFont = Screen::FID_SJIS_TEXTMODE_FNT;
@@ -74,10 +72,8 @@ TextDisplayer_rpg::TextDisplayer_rpg(KyraRpgEngine *engine, Screen *scr) : _vm(e
_textDimData[i].column = d->unkE;
}
- _table1 = new char[128];
- memset(_table1, 0, 128);
- _table2 = new char[16];
- memset(_table2, 0, 16);
+ _table1 = new char[128]();
+ _table2 = new char[16]();
_waitButtonSpace = 0;
}
Commit: c2e7eeb563219ce8d4136c0c696e5ff48e24ea7a
https://github.com/scummvm/scummvm/commit/c2e7eeb563219ce8d4136c0c696e5ff48e24ea7a
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
SCUMM: Replace new[]/memset with new[]()
Changed paths:
engines/scumm/gfx_towns.cpp
engines/scumm/he/logic/soccer.cpp
engines/scumm/he/moonbase/ai_main.cpp
engines/scumm/imuse/drivers/amiga.cpp
engines/scumm/imuse/drivers/fmtowns.cpp
engines/scumm/nut_renderer.cpp
engines/scumm/players/player_towns.cpp
engines/scumm/resource.cpp
diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp
index 5b5e033646..96dc11f476 100644
--- a/engines/scumm/gfx_towns.cpp
+++ b/engines/scumm/gfx_towns.cpp
@@ -378,9 +378,8 @@ void TownsScreen::setupLayer(int layer, int width, int height, int scaleW, int s
warning("TownsScreen::setupLayer(): Layer palette usage requires 16 bit graphics setting.\nLayer palette will be ignored.");
delete[] l->pixels;
- l->pixels = new uint8[l->pitch * l->height];
+ l->pixels = new uint8[l->pitch * l->height]();
assert(l->pixels);
- memset(l->pixels, 0, l->pitch * l->height);
delete[] l->bltTmpPal;
l->bltTmpPal = (l->bpp == 1 && _pixelFormat.bytesPerPixel == 2) ? new uint16[l->numCol] : 0;
diff --git a/engines/scumm/he/logic/soccer.cpp b/engines/scumm/he/logic/soccer.cpp
index e9c7087de6..088e257764 100644
--- a/engines/scumm/he/logic/soccer.cpp
+++ b/engines/scumm/he/logic/soccer.cpp
@@ -569,10 +569,8 @@ int LogicHEsoccer::op_1013(int32 a1, int32 a2, int32 a3) {
// Initializes _collisionTree, a tree used for collision detection.
// It is used by op_1014 to work out which objects to check.
- _collisionTree = new uint32[585 * 11];
+ _collisionTree = new uint32[585 * 11]();
_collisionTreeAllocated = true;
- for (int i = 0; i < 585 * 11; i++)
- _collisionTree[i] = 0;
for (int i = 0; i < 8; i++)
_collisionTree[i + 2] = addCollisionTreeChild(1, i + 1, 0);
diff --git a/engines/scumm/he/moonbase/ai_main.cpp b/engines/scumm/he/moonbase/ai_main.cpp
index e56140bf10..4f32ee2538 100644
--- a/engines/scumm/he/moonbase/ai_main.cpp
+++ b/engines/scumm/he/moonbase/ai_main.cpp
@@ -2384,11 +2384,8 @@ int *AI::defendTarget(int &targetX, int &targetY, int index) {
}
if (defStatus == -3) {
- retVal = new int[4];
- retVal[0] = 0;
+ retVal = new int[4]();
retVal[1] = SKIP_TURN;
- retVal[2] = 0;
- retVal[3] = 0;
}
assert(targetX >= 0 && targetY >= 0);
diff --git a/engines/scumm/imuse/drivers/amiga.cpp b/engines/scumm/imuse/drivers/amiga.cpp
index cd6039ba88..9b8c99533a 100644
--- a/engines/scumm/imuse/drivers/amiga.cpp
+++ b/engines/scumm/imuse/drivers/amiga.cpp
@@ -599,8 +599,7 @@ IMuseDriver_Amiga::IMuseDriver_Amiga(Audio::Mixer *mixer) : Paula(true, mixer->g
_numParts(24), _baseTempo(5500), _internalTempo(5500), _timerProc(0), _timerProcPara(0), _parts(0), _chan(0), _instruments(0), _missingFiles(0), _ticker(0) {
setAudioFilter(true);
- _instruments = new Instrument_Amiga[129];
- memset(_instruments, 0, sizeof(Instrument_Amiga) * 129);
+ _instruments = new Instrument_Amiga[129]();
loadInstrument(128);
_parts = new IMusePart_Amiga*[_numParts];
diff --git a/engines/scumm/imuse/drivers/fmtowns.cpp b/engines/scumm/imuse/drivers/fmtowns.cpp
index 7f6b0a8923..628f3c9a5d 100644
--- a/engines/scumm/imuse/drivers/fmtowns.cpp
+++ b/engines/scumm/imuse/drivers/fmtowns.cpp
@@ -208,11 +208,9 @@ uint8 TownsMidiChanState::get(uint8 type) {
TownsMidiOutputChannel::TownsMidiOutputChannel(MidiDriver_TOWNS *driver, int chanIndex) : _driver(driver), _chan(chanIndex),
_in(0), _prev(0), _next(0), _adjustModTl(0), _operator2Tl(0), _note(0), _operator1Tl(0), _sustainNoteOff(0), _duration(0), _freq(0), _freqAdjust(0) {
- _effectEnvelopes = new EffectEnvelope[2];
- _effectDefs = new EffectDef[2];
+ _effectEnvelopes = new EffectEnvelope[2]();
+ _effectDefs = new EffectDef[2]();
- memset(_effectEnvelopes, 0, 2 * sizeof(EffectEnvelope));
- memset(_effectDefs, 0, 2 * sizeof(EffectDef));
_effectDefs[0].s = &_effectEnvelopes[1];
_effectDefs[1].s = &_effectEnvelopes[0];
}
@@ -654,8 +652,7 @@ const uint16 TownsMidiOutputChannel::_freqLSB[] = {
TownsMidiInputChannel::TownsMidiInputChannel(MidiDriver_TOWNS *driver, int chanIndex) : MidiChannel(), _driver(driver), _out(0), _chanIndex(chanIndex),
_priority(0), _tl(0), _transpose(0), _pitchBendFactor(0), _pitchBend(0), _sustain(0), _freqLSB(0), _detune(0), _modWheel(0), _allocated(false) {
- _instrument = new uint8[30];
- memset(_instrument, 0, 30);
+ _instrument = new uint8[30]();
}
TownsMidiInputChannel::~TownsMidiInputChannel() {
diff --git a/engines/scumm/nut_renderer.cpp b/engines/scumm/nut_renderer.cpp
index 9f6954ab84..f7703d9d8c 100644
--- a/engines/scumm/nut_renderer.cpp
+++ b/engines/scumm/nut_renderer.cpp
@@ -118,10 +118,7 @@ void NutRenderer::loadFont(const char *filename) {
uint32 decodedLength = 0;
int l;
- _paletteMap = new byte[256];
- for (l = 0; l < 256; l++) {
- _paletteMap[l] = 0;
- }
+ _paletteMap = new byte[256]();
for (l = 0; l < _numChars; l++) {
offset += READ_BE_UINT32(dataSrc + offset + 4) + 16;
@@ -220,8 +217,7 @@ void NutRenderer::loadFont(const char *filename) {
debug(1, "NutRenderer::loadFont('%s') - compressedLength = %d (%d bpp)", filename, compressedLength, _bpp);
- byte *compressedData = new byte[compressedLength];
- memset(compressedData, 0, compressedLength);
+ byte *compressedData = new byte[compressedLength]();
offset = 0;
diff --git a/engines/scumm/players/player_towns.cpp b/engines/scumm/players/player_towns.cpp
index a2b3fdb0ff..e3d0b29d8f 100644
--- a/engines/scumm/players/player_towns.cpp
+++ b/engines/scumm/players/player_towns.cpp
@@ -197,8 +197,7 @@ Player_Towns_v1::Player_Towns_v1(ScummEngine *vm, Audio::Mixer *mixer) : Player_
_eupLooping = false;
if (_vm->_game.version == 3) {
- _soundOverride = new SoundOvrParameters[_numSoundMax];
- memset(_soundOverride, 0, _numSoundMax * sizeof(SoundOvrParameters));
+ _soundOverride = new SoundOvrParameters[_numSoundMax]();
}
_player = new EuphonyPlayer(mixer);
@@ -584,8 +583,7 @@ void Player_Towns_v1::playCdaTrack(int sound, const uint8 *data, bool skipTrackV
}
Player_Towns_v2::Player_Towns_v2(ScummEngine *vm, Audio::Mixer *mixer, IMuse *imuse, bool disposeIMuse) : Player_Towns(vm, true), _imuse(imuse), _imuseDispose(disposeIMuse), _sblData(0) {
- _soundOverride = new SoundOvrParameters[_numSoundMax];
- memset(_soundOverride, 0, _numSoundMax * sizeof(SoundOvrParameters));
+ _soundOverride = new SoundOvrParameters[_numSoundMax]();
_intf = new TownsAudioInterface(mixer, 0, true);
}
diff --git a/engines/scumm/resource.cpp b/engines/scumm/resource.cpp
index fbe56102b6..25d8c174a5 100644
--- a/engines/scumm/resource.cpp
+++ b/engines/scumm/resource.cpp
@@ -839,12 +839,11 @@ byte *ResourceManager::createResource(ResType type, ResId idx, uint32 size) {
expireResources(size);
- byte *ptr = new byte[size + SAFETY_AREA];
+ byte *ptr = new byte[size + SAFETY_AREA]();
if (ptr == NULL) {
error("createResource(%s,%d): Out of memory while allocating %d", nameOfResType(type), idx, size);
}
- memset(ptr, 0, size + SAFETY_AREA);
_allocatedSize += size;
_types[type][idx]._address = ptr;
Commit: 3919f53326cc740fb6fd1809a211247b90efd10e
https://github.com/scummvm/scummvm/commit/3919f53326cc740fb6fd1809a211247b90efd10e
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2021-11-10T19:53:15+01:00
Commit Message:
ENGINES: Replace new[]/memset with new[]()
Changed paths:
engines/agos/drivers/accolade/pc98.cpp
engines/agos/items.cpp
engines/ags/engine/ac/dynobj/cc_dynamic_array.cpp
engines/ags/engine/script/cc_instance.cpp
engines/asylum/puzzles/pipes.cpp
engines/asylum/system/savegame.cpp
engines/cine/cine.cpp
engines/cryomni3d/versailles/engine.cpp
engines/draci/game.cpp
engines/groovie/cursor.cpp
engines/groovie/lzss.cpp
engines/icb/stagedraw_pc_poly.cpp
engines/lab/dispman.cpp
engines/lab/labsets.cpp
engines/lastexpress/data/background.cpp
engines/made/database.cpp
engines/parallaction/disk_ns.cpp
engines/queen/display.cpp
engines/sci/engine/kernel.cpp
engines/sci/engine/script_patches.cpp
engines/sherlock/scene.cpp
engines/startrek/graphics.cpp
engines/startrek/lzss.cpp
engines/sword1/resman.cpp
engines/testbed/graphics.cpp
engines/testbed/testsuite.cpp
engines/toltecs/animation.cpp
engines/toon/toon.cpp
engines/twine/resources/lzss.cpp
engines/ultima/ultima8/convert/convert_shape.cpp
engines/ultima/ultima8/graphics/shape_frame.cpp
engines/wintermute/base/scriptables/script_ext_string.cpp
engines/wintermute/utils/utils.cpp
diff --git a/engines/agos/drivers/accolade/pc98.cpp b/engines/agos/drivers/accolade/pc98.cpp
index a586ccc74f..51d8fe1654 100644
--- a/engines/agos/drivers/accolade/pc98.cpp
+++ b/engines/agos/drivers/accolade/pc98.cpp
@@ -532,8 +532,7 @@ const uint16 PC98FMDriver::_frequency[12] = {
PC98MidiDriver::PC98MidiDriver(MidiDriver::DeviceHandle dev) : _dev(dev), _drv(0) {
_instrumentsRemap = (getMusicType(dev) == MT_MT32) ? _instrumentsRemapMT32 : (getMusicType(dev) == MT_GM ? _instrumentsRemapGM : 0);
- int8 *tbl2 = new int8[128];
- memset(tbl2, 0, 128);
+ int8 *tbl2 = new int8[128]();
_instrumentLevelAdjust = tbl2;
_partsRemap = _partsRemapMidi;
memcpy(_volSysex, _sysexMsg[0], 9);
diff --git a/engines/agos/items.cpp b/engines/agos/items.cpp
index 86abe403b4..094b97fac6 100644
--- a/engines/agos/items.cpp
+++ b/engines/agos/items.cpp
@@ -38,9 +38,7 @@ Child *AGOSEngine::allocateChildBlock(Item *i, uint type, uint size) {
}
void *AGOSEngine::allocateItem(uint size) {
- byte *item = new byte[size];
-
- memset(item, 0, size);
+ byte *item = new byte[size]();
_itemHeap.push_back(item);
return item;
}
diff --git a/engines/ags/engine/ac/dynobj/cc_dynamic_array.cpp b/engines/ags/engine/ac/dynobj/cc_dynamic_array.cpp
index 9a51ede626..aa6095b688 100644
--- a/engines/ags/engine/ac/dynobj/cc_dynamic_array.cpp
+++ b/engines/ags/engine/ac/dynobj/cc_dynamic_array.cpp
@@ -72,8 +72,7 @@ void CCDynamicArray::Unserialize(int index, const char *serializedData, int data
}
DynObjectRef CCDynamicArray::Create(int numElements, int elementSize, bool isManagedType) {
- char *newArray = new char[numElements * elementSize + 8];
- memset(newArray, 0, numElements * elementSize + 8);
+ char *newArray = new char[numElements * elementSize + 8]();
int *sizePtr = (int *)newArray;
sizePtr[0] = numElements;
sizePtr[1] = numElements * elementSize;
diff --git a/engines/ags/engine/script/cc_instance.cpp b/engines/ags/engine/script/cc_instance.cpp
index d48b635b73..f7eb67ec24 100644
--- a/engines/ags/engine/script/cc_instance.cpp
+++ b/engines/ags/engine/script/cc_instance.cpp
@@ -1607,8 +1607,7 @@ ScriptVariable *ccInstance::FindGlobalVar(int32_t var_addr) {
}
bool ccInstance::CreateRuntimeCodeFixups(PScript scri) {
- code_fixups = new char[scri->codesize];
- memset(code_fixups, 0, scri->codesize);
+ code_fixups = new char[scri->codesize]();
for (int i = 0; i < scri->numfixups; ++i) {
if (scri->fixuptypes[i] == FIXUP_DATADATA) {
continue;
diff --git a/engines/asylum/puzzles/pipes.cpp b/engines/asylum/puzzles/pipes.cpp
index b443050c35..4e51ff6beb 100644
--- a/engines/asylum/puzzles/pipes.cpp
+++ b/engines/asylum/puzzles/pipes.cpp
@@ -539,8 +539,7 @@ void PuzzlePipes::setup() {
_spiders.push_back(new Spider(_vm, Common::Rect(544, 225, 650, 490)));
if (i) {
- _frameIndexSpider = new uint32[_spiders.size()];
- memset(_frameIndexSpider, 0, _spiders.size() * sizeof(uint32));
+ _frameIndexSpider = new uint32[_spiders.size()]();
}
}
diff --git a/engines/asylum/system/savegame.cpp b/engines/asylum/system/savegame.cpp
index 1042613a01..4cc74e57d6 100644
--- a/engines/asylum/system/savegame.cpp
+++ b/engines/asylum/system/savegame.cpp
@@ -312,8 +312,7 @@ Common::String Savegame::read(Common::InSaveFile *file, uint32 strLength, const
if (strLength > count)
error("[Savegame::read] Count too large (asked: %d, present: %d)", strLength, count);
- char *str = new char[strLength + 1];
- memset(str, 0, strLength + 1);
+ char *str = new char[strLength + 1]();
file->read(str, strLength);
Common::String ret(str);
diff --git a/engines/cine/cine.cpp b/engines/cine/cine.cpp
index 7e89369660..f4eff1322f 100644
--- a/engines/cine/cine.cpp
+++ b/engines/cine/cine.cpp
@@ -196,8 +196,7 @@ void CineEngine::initialize() {
lastSafeControlObjIdx = -1;
currentDisk = 1;
- collisionPage = new byte[320 * 200];
- memset(collisionPage, 0, 320 * 200);
+ collisionPage = new byte[320 * 200]();
// Clear part buffer as there's nothing loaded into it yet.
// Its size will change when loading data into it with the loadPart function.
diff --git a/engines/cryomni3d/versailles/engine.cpp b/engines/cryomni3d/versailles/engine.cpp
index 74cc41cd13..b8c4d521eb 100644
--- a/engines/cryomni3d/versailles/engine.cpp
+++ b/engines/cryomni3d/versailles/engine.cpp
@@ -432,9 +432,7 @@ void CryOmni3DEngine_Versailles::loadCursorsPalette() {
}
_cursorPalette = new byte[3 * (bmpDecoder.getPaletteColorCount() +
- bmpDecoder.getPaletteStartIndex())];
- memset(_cursorPalette, 0, 3 * (bmpDecoder.getPaletteColorCount() +
- bmpDecoder.getPaletteStartIndex()));
+ bmpDecoder.getPaletteStartIndex())]();
memcpy(_cursorPalette + 3 * bmpDecoder.getPaletteStartIndex(), bmpDecoder.getPalette(),
3 * bmpDecoder.getPaletteColorCount());
}
diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp
index 523a1d0132..d3bbd33aad 100644
--- a/engines/draci/game.cpp
+++ b/engines/draci/game.cpp
@@ -134,8 +134,7 @@ Game::Game(DraciEngine *vm) : _vm(vm), _walkingState(vm) {
curOffset += dialogueData.readUint16LE();
}
- _dialogueVars = new int[curOffset];
- memset(_dialogueVars, 0, sizeof(int) * curOffset);
+ _dialogueVars = new int[curOffset]();
// Read in game info
file = initArchive->getFile(3);
diff --git a/engines/groovie/cursor.cpp b/engines/groovie/cursor.cpp
index 9c0f9b1e52..a1d3ffd90c 100644
--- a/engines/groovie/cursor.cpp
+++ b/engines/groovie/cursor.cpp
@@ -298,9 +298,8 @@ Cursor_v2::~Cursor_v2() {
void Cursor_v2::decodeFrame(byte *pal, byte *data, byte *dest) {
// Scratch memory
- byte *tmp = new byte[_width * _height * 4];
+ byte *tmp = new byte[_width * _height * 4]();
byte *ptr = tmp;
- memset(tmp, 0, _width * _height * 4);
byte ctrA = 0, ctrB = 0;
diff --git a/engines/groovie/lzss.cpp b/engines/groovie/lzss.cpp
index 2a185aeeab..1ca15b8d2d 100644
--- a/engines/groovie/lzss.cpp
+++ b/engines/groovie/lzss.cpp
@@ -44,8 +44,7 @@ LzssReadStream::~LzssReadStream() {
uint32 LzssReadStream::decodeLZSS(Common::ReadStream *in, uint8 lengthmask, uint8 lengthbits) {
uint32 N = 1 << (16 - lengthbits); /* History buffer size */
- byte *histbuff = new byte[N]; /* History buffer */
- memset(histbuff, 0, N);
+ byte *histbuff = new byte[N](); /* History buffer */
uint32 outstreampos = 0;
uint32 bufpos = 0;
diff --git a/engines/icb/stagedraw_pc_poly.cpp b/engines/icb/stagedraw_pc_poly.cpp
index 0d047d4273..f5a5f0d461 100644
--- a/engines/icb/stagedraw_pc_poly.cpp
+++ b/engines/icb/stagedraw_pc_poly.cpp
@@ -122,8 +122,7 @@ void InitRevRenderDevice() {
SetRenderDevice(&revRen);
if (pUsedTiles == NULL)
- pUsedTiles = new uint32[TILE_COUNT];
- memset(pUsedTiles, 0, TILE_COUNT << 2);
+ pUsedTiles = new uint32[TILE_COUNT]();
}
void DestoryRevRenderDevice() {
diff --git a/engines/lab/dispman.cpp b/engines/lab/dispman.cpp
index 1ff6ab1ce8..c0e0232bc1 100644
--- a/engines/lab/dispman.cpp
+++ b/engines/lab/dispman.cpp
@@ -429,8 +429,7 @@ void DisplayMan::createScreen(bool hiRes) {
if (_displayBuffer)
delete[] _displayBuffer;
- _displayBuffer = new byte[_screenBytesPerPage];
- memset(_displayBuffer, 0, _screenBytesPerPage);
+ _displayBuffer = new byte[_screenBytesPerPage]();
}
void DisplayMan::setAmigaPal(uint16 *pal) {
diff --git a/engines/lab/labsets.cpp b/engines/lab/labsets.cpp
index 3e84275fa4..e119a99748 100644
--- a/engines/lab/labsets.cpp
+++ b/engines/lab/labsets.cpp
@@ -40,8 +40,7 @@ namespace Lab {
LargeSet::LargeSet(uint16 last, LabEngine *vm) : _vm(vm) {
last = (((last + 15) >> 4) << 4);
- _array = new uint16[last >> 3];
- memset(_array, 0, last >> 3);
+ _array = new uint16[last >> 3]();
_lastElement = last;
}
diff --git a/engines/lastexpress/data/background.cpp b/engines/lastexpress/data/background.cpp
index e1626213e0..88538afe4a 100644
--- a/engines/lastexpress/data/background.cpp
+++ b/engines/lastexpress/data/background.cpp
@@ -102,12 +102,11 @@ Common::Rect Background::draw(Graphics::Surface *surface) {
byte *Background::decodeComponent(Common::SeekableReadStream *in, uint32 inSize, uint32 outSize) const {
// Create the destination array
- byte *out = new byte[outSize];
+ byte *out = new byte[outSize]();
if (!out)
return NULL;
// Initialize the decoding
- memset(out, 0, outSize * sizeof(byte));
uint32 inPos = 0;
uint32 outPos = 0;
diff --git a/engines/made/database.cpp b/engines/made/database.cpp
index ecfd92a562..1e7209a629 100644
--- a/engines/made/database.cpp
+++ b/engines/made/database.cpp
@@ -438,8 +438,7 @@ void GameDatabaseV2::load(Common::SeekableReadStream &sourceS) {
debug(0, "textOffs = %08X; textSize = %08X; objectCount = %d; varObjectCount = %d; gameStateSize = %d; objectsOffs = %08X; objectsSize = %d; _mainCodeObjectIndex = %04X\n", textOffs, textSize, objectCount, varObjectCount, _gameStateSize, objectsOffs, objectsSize, _mainCodeObjectIndex);
- _gameState = new byte[_gameStateSize + 2];
- memset(_gameState, 0, _gameStateSize + 2);
+ _gameState = new byte[_gameStateSize + 2]();
setVar(1, objectCount);
sourceS.seek(textOffs);
diff --git a/engines/parallaction/disk_ns.cpp b/engines/parallaction/disk_ns.cpp
index 13072e1db3..0a0ad96c2e 100644
--- a/engines/parallaction/disk_ns.cpp
+++ b/engines/parallaction/disk_ns.cpp
@@ -303,9 +303,8 @@ Cnv *Disk_ns::makeCnv(Common::SeekableReadStream *stream) {
assert((width & 7) == 0);
uint16 height = stream->readByte();
uint32 decsize = numFrames * width * height;
- byte *data = new byte[decsize];
+ byte *data = new byte[decsize]();
assert(data);
- memset(data, 0, decsize);
decodeCnv(data, numFrames, width, height, stream);
diff --git a/engines/queen/display.cpp b/engines/queen/display.cpp
index 1214f6eb9d..45858a7bbe 100644
--- a/engines/queen/display.cpp
+++ b/engines/queen/display.cpp
@@ -47,25 +47,18 @@ Display::Display(QueenEngine *vm, OSystem *system)
initFont();
- _screenBuf = new uint8[ SCREEN_W * SCREEN_H ];
- _panelBuf = new uint8[ PANEL_W * PANEL_H ];
- _backdropBuf = new uint8[ BACKDROP_W * BACKDROP_H ];
- memset(_screenBuf, 0, SCREEN_W * SCREEN_H);
- memset(_panelBuf, 0, PANEL_W * PANEL_H);
- memset(_backdropBuf, 0, BACKDROP_W * BACKDROP_H);
+ _screenBuf = new uint8[ SCREEN_W * SCREEN_H ]();
+ _panelBuf = new uint8[ PANEL_W * PANEL_H ]();
+ _backdropBuf = new uint8[ BACKDROP_W * BACKDROP_H ]();
_fullRefresh = 1;
_dirtyBlocksWidth = SCREEN_W / D_BLOCK_W;
_dirtyBlocksHeight = SCREEN_H / D_BLOCK_H;
- _dirtyBlocks = new uint8[_dirtyBlocksWidth * _dirtyBlocksHeight];
- memset(_dirtyBlocks, 0, _dirtyBlocksWidth * _dirtyBlocksHeight);
-
- _pal.room = new uint8[ 256 * 3 ];
- _pal.screen = new uint8[ 256 * 3 ];
- _pal.panel = new uint8[ 112 * 3 ];
- memset(_pal.room, 0, 256 * 3);
- memset(_pal.screen, 0, 256 * 3);
- memset(_pal.panel, 0, 112 * 3);
+ _dirtyBlocks = new uint8[_dirtyBlocksWidth * _dirtyBlocksHeight]();
+
+ _pal.room = new uint8[ 256 * 3 ]();
+ _pal.screen = new uint8[ 256 * 3 ]();
+ _pal.panel = new uint8[ 112 * 3 ]();
_pal.dirtyMin = 0;
_pal.dirtyMax = 255;
_pal.scrollable = true;
diff --git a/engines/sci/engine/kernel.cpp b/engines/sci/engine/kernel.cpp
index f4d12c0a9f..c5f83a2638 100644
--- a/engines/sci/engine/kernel.cpp
+++ b/engines/sci/engine/kernel.cpp
@@ -660,9 +660,8 @@ void Kernel::mapFunctions(GameFeatures *features) {
error("k%s[%x]: no subfunctions found for requested version %s", kernelName.c_str(), id, getSciVersionDesc(mySubVersion));
// Now allocate required memory and go through it again
_kernelFuncs[id].subFunctionCount = subFunctionCount;
- KernelSubFunction *subFunctions = new KernelSubFunction[subFunctionCount];
+ KernelSubFunction *subFunctions = new KernelSubFunction[subFunctionCount]();
_kernelFuncs[id].subFunctions = subFunctions;
- memset(subFunctions, 0, sizeof(KernelSubFunction) * subFunctionCount);
// And fill this info out
kernelSubMap = kernelMap->subFunctions;
uint kernelSubNr = 0;
diff --git a/engines/sci/engine/script_patches.cpp b/engines/sci/engine/script_patches.cpp
index 0f6cf95ef2..322814b644 100644
--- a/engines/sci/engine/script_patches.cpp
+++ b/engines/sci/engine/script_patches.cpp
@@ -22155,8 +22155,7 @@ void ScriptPatcher::initSignature(const SciScriptPatcherEntry *patchTable) {
while (curEntry->signatureData) {
patchEntryCount++; curEntry++;
}
- _runtimeTable = new SciScriptPatcherRuntimeEntry[patchEntryCount];
- memset(_runtimeTable, 0, sizeof(SciScriptPatcherRuntimeEntry) * patchEntryCount);
+ _runtimeTable = new SciScriptPatcherRuntimeEntry[patchEntryCount]();
curEntry = patchTable;
curRuntimeEntry = _runtimeTable;
diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp
index b02569b26e..476966064c 100644
--- a/engines/sherlock/scene.cpp
+++ b/engines/sherlock/scene.cpp
@@ -499,9 +499,8 @@ bool Scene::loadScene(const Common::String &filename) {
rrmStream->readStream(animSize * bgHeader._numcAnimations);
// Load cAnim offset table as well
- uint32 *cAnimOffsetTablePtr = new uint32[bgHeader._numcAnimations];
+ uint32 *cAnimOffsetTablePtr = new uint32[bgHeader._numcAnimations]();
uint32 *cAnimOffsetPtr = cAnimOffsetTablePtr;
- memset(cAnimOffsetTablePtr, 0, bgHeader._numcAnimations * sizeof(uint32));
if (IS_SERRATED_SCALPEL) {
// Save current stream offset
int32 curOffset = rrmStream->pos();
@@ -836,10 +835,9 @@ bool Scene::loadScene(const Common::String &filename) {
roomStream->seek(header3DO_cAnim_offset);
Common::SeekableReadStream *cAnimStream = roomStream->readStream(header3DO_cAnim_size);
- uint32 *cAnimOffsetTablePtr = new uint32[header3DO_numAnimations];
+ uint32 *cAnimOffsetTablePtr = new uint32[header3DO_numAnimations]();
uint32 *cAnimOffsetPtr = cAnimOffsetTablePtr;
uint32 cAnimOffset = 0;
- memset(cAnimOffsetTablePtr, 0, header3DO_numAnimations * sizeof(uint32));
// Seek to end of graphics data and load cAnim offset table from there
roomStream->seek(header3DO_bgGraphicData_offset + header3DO_bgGraphicData_size);
diff --git a/engines/startrek/graphics.cpp b/engines/startrek/graphics.cpp
index a6566492d8..e4984e4858 100644
--- a/engines/startrek/graphics.cpp
+++ b/engines/startrek/graphics.cpp
@@ -55,11 +55,8 @@ Graphics::Graphics(StarTrekEngine *vm) : _vm(vm), _egaMode(false) {
_numSprites = 0;
_pushedNumSprites = -1;
- _palData = new byte[256 * 3];
- _lutData = new byte[256 * 3];
-
- memset(_palData, 0, 256 * 3);
- memset(_lutData, 0, 256 * 3);
+ _palData = new byte[256 * 3]();
+ _lutData = new byte[256 * 3]();
_paletteFadeLevel = 0;
_lockedMousePos = Common::Point(-1, -1);
diff --git a/engines/startrek/lzss.cpp b/engines/startrek/lzss.cpp
index 66ad43f69f..957f66e41e 100644
--- a/engines/startrek/lzss.cpp
+++ b/engines/startrek/lzss.cpp
@@ -33,8 +33,7 @@ namespace StarTrek {
Common::SeekableReadStream *decodeLZSS(Common::SeekableReadStream *indata, uint32 uncompressedSize) {
uint32 N = 0x1000; /* History buffer size */
- byte *histbuff = new byte[N]; /* History buffer */
- memset(histbuff, 0, N);
+ byte *histbuff = new byte[N](); /* History buffer */
uint32 outstreampos = 0;
uint32 bufpos = 0;
byte *outLzssBufData = (byte *)malloc(uncompressedSize);
diff --git a/engines/sword1/resman.cpp b/engines/sword1/resman.cpp
index f3b0f83e05..12fc0cdafd 100644
--- a/engines/sword1/resman.cpp
+++ b/engines/sword1/resman.cpp
@@ -89,8 +89,7 @@ void ResMan::loadCluDescript(const char *fileName) {
_prj.noClu = file.readUint32LE();
- _prj.clu = new Clu[_prj.noClu];
- memset(_prj.clu, 0, _prj.noClu * sizeof(Clu));
+ _prj.clu = new Clu[_prj.noClu]();
uint32 *cluIndex = (uint32 *)malloc(_prj.noClu * 4);
file.read(cluIndex, _prj.noClu * 4);
diff --git a/engines/testbed/graphics.cpp b/engines/testbed/graphics.cpp
index 1d598e82e9..da05fe3683 100644
--- a/engines/testbed/graphics.cpp
+++ b/engines/testbed/graphics.cpp
@@ -379,11 +379,9 @@ void GFXtests::drawEllipse(int cx, int cy, int a, int b) {
// Take a buffer of screen size
int width = g_system->getWidth();
int height = Testsuite::getDisplayRegionCoordinates().y;
- byte *buffer = new byte[height * width];
+ byte *buffer = new byte[height * width]();
double theta;
int x, y, x1, y1;
-
- memset(buffer, 0, sizeof(byte) * width * height);
// Illuminate the center
buffer[cx * width + cy] = 1;
diff --git a/engines/testbed/testsuite.cpp b/engines/testbed/testsuite.cpp
index 805b8c849d..712c56d342 100644
--- a/engines/testbed/testsuite.cpp
+++ b/engines/testbed/testsuite.cpp
@@ -163,8 +163,7 @@ void Testsuite::clearScreen() {
// Don't clear test info display region
int size = height * numBytesPerLine;
- byte *buffer = new byte[size];
- memset(buffer, 0, size);
+ byte *buffer = new byte[size]();
g_system->copyRectToScreen(buffer, numBytesPerLine, 0, 0, g_system->getWidth(), height);
g_system->updateScreen();
delete[] buffer;
@@ -243,8 +242,7 @@ void Testsuite::updateStats(const char *prefix, const char *info, uint testNum,
int wRect = 200;
int lRect = 7;
pt.x = g_system->getWidth() / 2 - 100;
- byte *buffer = new byte[lRect * wRect];
- memset(buffer, 0, sizeof(byte) * lRect * wRect);
+ byte *buffer = new byte[lRect * wRect]();
int wShaded = (int)(wRect * (((float)testNum) / numTests));
diff --git a/engines/toltecs/animation.cpp b/engines/toltecs/animation.cpp
index 5278b25ba8..cda30636cd 100644
--- a/engines/toltecs/animation.cpp
+++ b/engines/toltecs/animation.cpp
@@ -28,8 +28,7 @@
namespace Toltecs {
AnimationPlayer::AnimationPlayer(ToltecsEngine *vm) : _vm(vm) {
- _animBuffer = new byte[262144];
- memset(_animBuffer, 0, 262144);
+ _animBuffer = new byte[262144]();
_resIndex = 0;
_width = _height = 0;
diff --git a/engines/toon/toon.cpp b/engines/toon/toon.cpp
index ea1fe082be..06a08d9955 100644
--- a/engines/toon/toon.cpp
+++ b/engines/toon/toon.cpp
@@ -57,24 +57,15 @@ void ToonEngine::init() {
_mainSurface = new Graphics::Surface();
_mainSurface->create(TOON_BACKBUFFER_WIDTH, TOON_BACKBUFFER_HEIGHT, Graphics::PixelFormat::createFormatCLUT8());
- _finalPalette = new uint8[768];
- _backupPalette = new uint8[768];
- _additionalPalette1 = new uint8[69];
- _additionalPalette2 = new uint8[69];
- _cutawayPalette = new uint8[768];
- _universalPalette = new uint8[96];
- _fluxPalette = new uint8[24];
-
- memset(_finalPalette, 0, 768);
- memset(_backupPalette, 0, 768);
- memset(_additionalPalette1, 0, 69);
- memset(_additionalPalette2, 0, 69);
- memset(_cutawayPalette, 0, 768);
- memset(_universalPalette, 0, 96);
- memset(_fluxPalette, 0, 24);
-
- _conversationData = new int16[4096];
- memset(_conversationData, 0, 4096 * sizeof(int16));
+ _finalPalette = new uint8[768]();
+ _backupPalette = new uint8[768]();
+ _additionalPalette1 = new uint8[69]();
+ _additionalPalette2 = new uint8[69]();
+ _cutawayPalette = new uint8[768]();
+ _universalPalette = new uint8[96]();
+ _fluxPalette = new uint8[24]();
+
+ _conversationData = new int16[4096]();
_shouldQuit = false;
_scriptStep = 0;
diff --git a/engines/twine/resources/lzss.cpp b/engines/twine/resources/lzss.cpp
index 725e4f971c..e876865976 100644
--- a/engines/twine/resources/lzss.cpp
+++ b/engines/twine/resources/lzss.cpp
@@ -26,8 +26,7 @@
namespace TwinE {
LzssReadStream::LzssReadStream(Common::ReadStream *indata, uint32 mode, uint32 realsize) {
- _outLzssBufData = new uint8[realsize];
- memset(_outLzssBufData, 0, realsize);
+ _outLzssBufData = new uint8[realsize]();
decodeLZSS(indata, mode, realsize);
_size = realsize;
_pos = 0;
diff --git a/engines/ultima/ultima8/convert/convert_shape.cpp b/engines/ultima/ultima8/convert/convert_shape.cpp
index 38287741c0..e4cf3d9c06 100644
--- a/engines/ultima/ultima8/convert/convert_shape.cpp
+++ b/engines/ultima/ultima8/convert/convert_shape.cpp
@@ -102,8 +102,7 @@ void ConvertShape::Read(Common::SeekableReadStream &source, const ConvertShapeFo
// }
// Create _frames array
- _frames = new ConvertShapeFrame[_num_frames];
- memset(_frames, 0, _num_frames * sizeof(ConvertShapeFrame));
+ _frames = new ConvertShapeFrame[_num_frames]();
// Now read the _frames
for(uint32 f = 0; f < _num_frames; ++f) {
diff --git a/engines/ultima/ultima8/graphics/shape_frame.cpp b/engines/ultima/ultima8/graphics/shape_frame.cpp
index f52ef9548c..24086d02aa 100644
--- a/engines/ultima/ultima8/graphics/shape_frame.cpp
+++ b/engines/ultima/ultima8/graphics/shape_frame.cpp
@@ -33,9 +33,7 @@ ShapeFrame::ShapeFrame(const RawShapeFrame *rawframe) :
_width(rawframe->_width), _height(rawframe->_height) {
_pixels = new uint8[_width * _height];
- _mask = new uint8[_width * _height];
-
- memset(_mask, 0, _width * _height);
+ _mask = new uint8[_width * _height]();
for (int y = 0; y < _height; y++) {
int32 xpos = 0;
diff --git a/engines/wintermute/base/scriptables/script_ext_string.cpp b/engines/wintermute/base/scriptables/script_ext_string.cpp
index 039ec079a1..e00b463c04 100644
--- a/engines/wintermute/base/scriptables/script_ext_string.cpp
+++ b/engines/wintermute/base/scriptables/script_ext_string.cpp
@@ -55,8 +55,7 @@ SXString::SXString(BaseGame *inGame, ScStack *stack) : BaseScriptable(inGame) {
if (val->isInt()) {
_capacity = MAX(0, val->getInt());
if (_capacity > 0) {
- _string = new char[_capacity];
- memset(_string, 0, _capacity);
+ _string = new char[_capacity]();
}
} else {
setStringVal(val->getString());
@@ -83,8 +82,7 @@ void SXString::setStringVal(const char *val) {
_capacity = len + 1;
delete[] _string;
_string = nullptr;
- _string = new char[_capacity];
- memset(_string, 0, _capacity);
+ _string = new char[_capacity]();
}
strcpy(_string, val);
}
@@ -397,9 +395,8 @@ bool SXString::scSetProperty(const char *name, ScValue *value) {
if (newCap < (int32)(strlen(_string) + 1)) {
_gameRef->LOG(0, "Warning: cannot lower string capacity");
} else if (newCap != _capacity) {
- char *newStr = new char[newCap];
+ char *newStr = new char[newCap]();
if (newStr) {
- memset(newStr, 0, newCap);
strcpy(newStr, _string);
delete[] _string;
_string = newStr;
diff --git a/engines/wintermute/utils/utils.cpp b/engines/wintermute/utils/utils.cpp
index 7f976a24c3..9caa454355 100644
--- a/engines/wintermute/utils/utils.cpp
+++ b/engines/wintermute/utils/utils.cpp
@@ -118,8 +118,7 @@ char *BaseUtils::strEntry(int entry, const char *str, const char delim) {
if (str[i] == delim || str[i] == '\0') {
numEntries++;
if (start) {
- char *ret = new char[len + 1];
- memset(ret, 0, len + 1);
+ char *ret = new char[len + 1]();
Common::strlcpy(ret, start, len + 1);
return ret;
}
More information about the Scummvm-git-logs
mailing list