[Scummvm-cvs-logs] scummvm master -> 32b44b7c18531eb743b88e5d42aac5e24d22f72e

m-kiewitz m_kiewitz at users.sourceforge.net
Fri Jul 3 02:09:31 CEST 2015


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
04146fc9b3 AUDIO: Miles Audio AdLib: fix instrument load code
32b44b7c18 Merge branch 'master' of github.com:scummvm/scummvm


Commit: 04146fc9b399f99165ff71e609450378f6928847
    https://github.com/scummvm/scummvm/commit/04146fc9b399f99165ff71e609450378f6928847
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-07-03T02:05:26+02:00

Commit Message:
AUDIO: Miles Audio AdLib: fix instrument load code

clean up, uses separate non-const pointer for reading file
and a const pointer for actually parsing the data

Changed paths:
    audio/miles_adlib.cpp



diff --git a/audio/miles_adlib.cpp b/audio/miles_adlib.cpp
index e45fa4e..90c2c4b 100644
--- a/audio/miles_adlib.cpp
+++ b/audio/miles_adlib.cpp
@@ -1064,17 +1064,17 @@ MidiDriver *MidiDriver_Miles_AdLib_create(const Common::String instrumentDataFil
 	// Load adlib instrument data from file SAMPLE.AD (OPL3: SAMPLE.OPL)
 	Common::File *fileStream = NULL;
 	uint32        fileSize = 0;
-	const byte   *fileDataPtr = NULL;
-	bool          fileDataAllocatedByUs = false;
+	byte         *fileDataReadPtr = nullptr;
+	const byte   *fileDataPtr = nullptr;
 	uint32        fileDataOffset = 0;
 	uint32        fileDataLeft = 0;
 
 	byte curBankId = 0;
 	byte curPatchId = 0;
 
-	InstrumentEntry *instrumentTablePtr = NULL;
+	InstrumentEntry *instrumentTablePtr = nullptr;
 	uint16           instrumentTableCount = 0;
-	InstrumentEntry *instrumentPtr = NULL;
+	InstrumentEntry *instrumentPtr = nullptr;
 	uint32           instrumentOffset = 0;
 	uint16           instrumentDataSize = 0;
 
@@ -1087,14 +1087,15 @@ MidiDriver *MidiDriver_Miles_AdLib_create(const Common::String instrumentDataFil
 
 		fileSize = fileStream->size();
 
-		fileDataPtr = new byte[fileSize];
-		fileDataAllocatedByUs = true;
+		fileDataReadPtr = new byte[fileSize];
 
-		if (fileStream->read((byte *)fileDataPtr, fileSize) != fileSize)
+		if (fileStream->read(fileDataReadPtr, fileSize) != fileSize)
 			error("MILES-ADLIB: error while reading instrument file");
 		fileStream->close();
 		delete fileStream;
 
+		fileDataPtr = fileDataReadPtr;
+
 	} else if (instrumentRawDataPtr) {
 		// instrument data was passed directly (currently used by Amazon Guardians of Eden
 		fileDataPtr = instrumentRawDataPtr;
@@ -1168,9 +1169,9 @@ MidiDriver *MidiDriver_Miles_AdLib_create(const Common::String instrumentDataFil
 		instrumentPtr++;
 	}
 
-	if (fileDataAllocatedByUs) {
-		// Free instrument file data
-		delete[] fileDataPtr;
+	if (fileDataReadPtr) {
+		// Free instrument file data in case it was read by us
+		delete[] fileDataReadPtr;
 	}
 
 	return new MidiDriver_Miles_AdLib(g_system->getMixer(), instrumentTablePtr, instrumentTableCount);


Commit: 32b44b7c18531eb743b88e5d42aac5e24d22f72e
    https://github.com/scummvm/scummvm/commit/32b44b7c18531eb743b88e5d42aac5e24d22f72e
Author: Martin Kiewitz (m_kiewitz at users.sourceforge.net)
Date: 2015-07-03T02:05:59+02:00

Commit Message:
Merge branch 'master' of github.com:scummvm/scummvm

Changed paths:
    engines/saga/music.cpp
    engines/sherlock/tattoo/tattoo_people.cpp









More information about the Scummvm-git-logs mailing list