[Scummvm-git-logs] scummvm master -> 80e7401d9941455781194ab2079423784a56dd26

athrxx athrxx at scummvm.org
Sat Apr 13 23:27:33 CEST 2019


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

Summary:
80e7401d99 KYRA: (EOB) - try to fix PSP and OpenPandora


Commit: 80e7401d9941455781194ab2079423784a56dd26
    https://github.com/scummvm/scummvm/commit/80e7401d9941455781194ab2079423784a56dd26
Author: athrxx (athrxx at scummvm.org)
Date: 2019-04-13T23:26:47+02:00

Commit Message:
KYRA: (EOB) - try to fix PSP and OpenPandora

This is guesswork. I really don't understand the actual problem (internal compiler error: in get_addr_dereference_operands, at tree-ssa-operands.c:1698)

Changed paths:
    engines/kyra/sequence/sequences_darkmoon.cpp


diff --git a/engines/kyra/sequence/sequences_darkmoon.cpp b/engines/kyra/sequence/sequences_darkmoon.cpp
index b68bbfd..76c8dfc 100644
--- a/engines/kyra/sequence/sequences_darkmoon.cpp
+++ b/engines/kyra/sequence/sequences_darkmoon.cpp
@@ -65,6 +65,7 @@ public:
 	void updateAmigaSound();
 
 private:
+	void init(Mode mode);
 	void setPaletteWithoutTextColor(int index);
 
 	OSystem *_system;
@@ -1121,156 +1122,7 @@ void DarkMoonEngine::seq_playCredits(DarkmoonSequenceHelper *sq, const uint8 *da
 }
 
 DarkmoonSequenceHelper::DarkmoonSequenceHelper(OSystem *system, DarkMoonEngine *vm, Screen_EoB *screen, Mode mode) : _system(system), _vm(vm), _screen(screen) {
-	assert(mode == kIntro || mode == kFinale);
-
-	static const uint16 soundMarkersFMTowns[2][8] = {
-		{  229,  447,  670, 1380, 2037, 3000, 4475, 4825 },
-		{  475, 2030, 2200, 2752, 3475,    0,    0,    0 }
-	};
-
-	int size = 0;
-	_platformAnimOffset = 0;
-	_sndNextTrack = 1;
-	_sndNextTrackMarker = 0;
-	_sndMarkersFMTowns = soundMarkersFMTowns[mode];
-
-	if (mode == kIntro) {
-		_config = new Config(
-			_vm->staticres()->loadStrings(kEoB2IntroStrings, size),
-			_vm->staticres()->loadStrings(kEoB2IntroCPSFiles, size),
-			new const uint8*[16],
-			_vm->_flags.platform == Common::kPlatformAmiga ? 0 : (_vm->_configRenderMode == Common::kRenderEGA ? _palFilesIntroEGA : _palFilesIntroVGA),
-			new const DarkMoonShapeDef*[16],
-			new const DarkMoonAnimCommand *[44],
-			false,
-			false,
-			true,
-			true,
-			_vm->_flags.platform == Common::kPlatformAmiga ? 1 : 0,
-			0,
-			false,
-			2
-			);
-
-		for (int i = 0; i < 44; i++)
-			_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2IntroAnimData00 + i, size);
-
-		for (int i = 0; i < 16; i++)
-			_config->cpsData[i] = _vm->staticres()->loadRawData(kEoB2IntroCpsDataStreet1 + i, size);
-
-		memset(_config->shapeDefs, 0, 16 * sizeof(DarkMoonShapeDef*));
-		_config->shapeDefs[0] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes00, size);
-		_config->shapeDefs[1] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes01, size);
-		_config->shapeDefs[4] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes04, size);
-		_config->shapeDefs[7] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes07, size);
-		_config->shapeDefs[13] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes13, size);
-		_config->shapeDefs[14] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes14, size);
-		_config->shapeDefs[15] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes15, size);
-
-	} else {
-		_config = new Config(
-			_vm->staticres()->loadStrings(kEoB2FinaleStrings, size),
-			_vm->staticres()->loadStrings(kEoB2FinaleCPSFiles, size),
-			new const uint8*[13],
-			_vm->_flags.platform == Common::kPlatformAmiga ? _palFilesFinaleAmiga : (_vm->_configRenderMode == Common::kRenderEGA ? _palFilesFinaleEGA : _palFilesFinaleVGA),
-			new const DarkMoonShapeDef*[13],
-			new const DarkMoonAnimCommand *[21],
-			true,
-			true,
-			false,
-			false,
-			_vm->_flags.platform == Common::kPlatformAmiga ? 2 : 1,
-			18,
-			true,
-			6
-			);
-
-		for (int i = 0; i < 21; i++)
-			_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2FinaleAnimData00 + i, size);
-
-		for (int i = 0; i < 13; i++)
-			_config->cpsData[i] = _vm->staticres()->loadRawData(kEoB2FinaleCpsDataDragon1 + i, size);
-
-		memset(_config->shapeDefs, 0, 13 * sizeof(DarkMoonShapeDef*));
-		_config->shapeDefs[0] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes00, size);
-		_config->shapeDefs[3] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes03, size);
-		_config->shapeDefs[7] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes07, size);
-		_config->shapeDefs[9] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes09, size);
-		_config->shapeDefs[10] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes10, size);
-	}
-
-	_screen->enableHiColorMode(false);
-	_screen->disableDualPalettesSplitScreen();
-	int numColors = 256;
-
-	if (_vm->_flags.platform == Common::kPlatformAmiga) {
-		static const int8 palIndex[13] = { -1, -1, 3, 2, 4, 5, 6, 7, -1, -1, -1, -1, -1 };
-		for (int i = 0; i < 13; ++i)
-			_palettes[i] = &_screen->getPalette(i);
-		Common::SeekableReadStream *s = _config->palFiles ? _vm->resource()->createReadStream(_config->palFiles[0]) : 0;
-		numColors = 32;
-		for (int i = 0; i < 13; ++i) {
-			if (s && palIndex[i] != -1)
-				_palettes[palIndex[i]]->loadAmigaPalette(*s, 0, 32);
-		}
-		delete s;
-	} else {
-		for (int i = 0; _config->palFiles[i]; i++) {
-			if (i < 4)
-				_palettes[i] = &_screen->getPalette(i);
-			else
-				_palettes[i] = new Palette(256);
-			_screen->loadPalette(_config->palFiles[i], *_palettes[i]);
-		}
-
-		for (int i = 9; i < 13; ++i)
-			_palettes[i] = new Palette(256);
-	}
-
-	_palettes[9]->fill(0, numColors, 0);
-	_palettes[10]->fill(0, numColors, 63);
-	_palettes[11]->fill(0, numColors, 0);
-	
-
-	if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
-		_screen->loadPalette("PALETTE.COL", *_palettes[12]);
-
-	for (int i = 0; i < 7; i++)
-		_fadingTables[i] = 0;
-
-	uint8 *fadeData = (_vm->_configRenderMode != Common::kRenderCGA && _vm->_configRenderMode != Common::kRenderEGA) ? _vm->resource()->fileData("FADING.DAT", 0) : 0;
-	
-	if (fadeData) {
-		for (int i = 0; i < 7; i++) {
-			_fadingTables[i] = new uint8[256];
-			memcpy(_fadingTables[i], fadeData + (i << 8), 256);
-		}
-	} else {
-		if (_vm->_flags.platform != Common::kPlatformAmiga && _vm->_configRenderMode != Common::kRenderCGA && _vm->_configRenderMode != Common::kRenderEGA) {
-			uint8 *pal = _vm->resource()->fileData("PALETTE1.PAL", 0);
-			for (int i = 0; i < 7; i++)
-				_screen->createFadeTable(pal, _fadingTables[i], 18, (i + 1) * 36);
-			delete[] pal;
-		}
-	}
-
-	delete[] fadeData;
-
-	_shapes = new const uint8*[54];
-	memset(_shapes, 0, 54 * sizeof(uint8 *));
-
-	_fadePalTimer = 0;
-	_fadePalRate = 0;
-
-	memset(_textColor, 0, 3);
-
-	_screen->setScreenPalette(*_palettes[0]);
-	_prevFont = _screen->setFont(_vm->gameFlags().platform == Common::kPlatformFMTowns ? Screen::FID_SJIS_LARGE_FNT : Screen::FID_8_FNT);
-	_screen->hideMouse();
-
-	_vm->delay(150);
-	_vm->_eventList.clear();
-	_vm->_allowSkip = true;
+	init(mode);
 }
 
 DarkmoonSequenceHelper::~DarkmoonSequenceHelper() {
@@ -1625,6 +1477,159 @@ void DarkmoonSequenceHelper::update(int srcPage) {
 	_screen->updateScreen();
 }
 
+void DarkmoonSequenceHelper::init(Mode mode) {
+	assert(mode == kIntro || mode == kFinale);
+
+	static const uint16 soundMarkersFMTowns[2][8] = {
+		{  229,  447,  670, 1380, 2037, 3000, 4475, 4825 },
+		{  475, 2030, 2200, 2752, 3475,    0,    0,    0 }
+	};
+
+	int size = 0;
+	_platformAnimOffset = 0;
+	_sndNextTrack = 1;
+	_sndNextTrackMarker = 0;
+	_sndMarkersFMTowns = soundMarkersFMTowns[mode];
+
+	if (mode == kIntro) {
+		_config = new Config(
+			_vm->staticres()->loadStrings(kEoB2IntroStrings, size),
+			_vm->staticres()->loadStrings(kEoB2IntroCPSFiles, size),
+			new const uint8*[16],
+			_vm->_flags.platform == Common::kPlatformAmiga ? 0 : (_vm->_configRenderMode == Common::kRenderEGA ? _palFilesIntroEGA : _palFilesIntroVGA),
+			new const DarkMoonShapeDef*[16],
+			new const DarkMoonAnimCommand *[44],
+			false,
+			false,
+			true,
+			true,
+			_vm->_flags.platform == Common::kPlatformAmiga ? 1 : 0,
+			0,
+			false,
+			2
+		);
+
+		for (int i = 0; i < 44; i++)
+			_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2IntroAnimData00 + i, size);
+
+		for (int i = 0; i < 16; i++)
+			_config->cpsData[i] = _vm->staticres()->loadRawData(kEoB2IntroCpsDataStreet1 + i, size);
+
+		memset(_config->shapeDefs, 0, 16 * sizeof(DarkMoonShapeDef*));
+		_config->shapeDefs[0] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes00, size);
+		_config->shapeDefs[1] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes01, size);
+		_config->shapeDefs[4] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes04, size);
+		_config->shapeDefs[7] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes07, size);
+		_config->shapeDefs[13] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes13, size);
+		_config->shapeDefs[14] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes14, size);
+		_config->shapeDefs[15] = _vm->staticres()->loadEoB2ShapeData(kEoB2IntroShapes15, size);
+
+	} else {
+		_config = new Config(
+			_vm->staticres()->loadStrings(kEoB2FinaleStrings, size),
+			_vm->staticres()->loadStrings(kEoB2FinaleCPSFiles, size),
+			new const uint8*[13],
+			_vm->_flags.platform == Common::kPlatformAmiga ? _palFilesFinaleAmiga : (_vm->_configRenderMode == Common::kRenderEGA ? _palFilesFinaleEGA : _palFilesFinaleVGA),
+			new const DarkMoonShapeDef*[13],
+			new const DarkMoonAnimCommand *[21],
+			true,
+			true,
+			false,
+			false,
+			_vm->_flags.platform == Common::kPlatformAmiga ? 2 : 1,
+			18,
+			true,
+			6
+		);
+
+		for (int i = 0; i < 21; i++)
+			_config->animData[i] = _vm->staticres()->loadEoB2SeqData(kEoB2FinaleAnimData00 + i, size);
+
+		for (int i = 0; i < 13; i++)
+			_config->cpsData[i] = _vm->staticres()->loadRawData(kEoB2FinaleCpsDataDragon1 + i, size);
+
+		memset(_config->shapeDefs, 0, 13 * sizeof(DarkMoonShapeDef*));
+		_config->shapeDefs[0] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes00, size);
+		_config->shapeDefs[3] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes03, size);
+		_config->shapeDefs[7] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes07, size);
+		_config->shapeDefs[9] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes09, size);
+		_config->shapeDefs[10] = _vm->staticres()->loadEoB2ShapeData(kEoB2FinaleShapes10, size);
+	}
+
+	_screen->enableHiColorMode(false);
+	_screen->disableDualPalettesSplitScreen();
+	int numColors = 256;
+
+	if (_vm->_flags.platform == Common::kPlatformAmiga) {
+		static const int8 palIndex[13] = { -1, -1, 3, 2, 4, 5, 6, 7, -1, -1, -1, -1, -1 };
+		for (int i = 0; i < 13; ++i)
+			_palettes[i] = &_screen->getPalette(i);
+		Common::SeekableReadStream *s = _config->palFiles ? _vm->resource()->createReadStream(_config->palFiles[0]) : 0;
+		numColors = 32;
+		for (int i = 0; i < 13; ++i) {
+			if (s && palIndex[i] != -1)
+				_palettes[palIndex[i]]->loadAmigaPalette(*s, 0, 32);
+		}
+		delete s;
+	} else {
+		for (int i = 0; _config->palFiles[i]; i++) {
+			if (i < 4)
+				_palettes[i] = &_screen->getPalette(i);
+			else
+				_palettes[i] = new Palette(256);
+			_screen->loadPalette(_config->palFiles[i], *_palettes[i]);
+		}
+
+		for (int i = 9; i < 13; ++i)
+			_palettes[i] = new Palette(256);
+	}
+
+	_palettes[9]->fill(0, numColors, 0);
+	_palettes[10]->fill(0, numColors, 63);
+	_palettes[11]->fill(0, numColors, 0);
+
+
+	if (_vm->gameFlags().platform == Common::kPlatformFMTowns)
+		_screen->loadPalette("PALETTE.COL", *_palettes[12]);
+
+	for (int i = 0; i < 7; i++)
+		_fadingTables[i] = 0;
+
+	uint8 *fadeData = (_vm->_configRenderMode != Common::kRenderCGA && _vm->_configRenderMode != Common::kRenderEGA) ? _vm->resource()->fileData("FADING.DAT", 0) : 0;
+
+	if (fadeData) {
+		for (int i = 0; i < 7; i++) {
+			_fadingTables[i] = new uint8[256];
+			memcpy(_fadingTables[i], fadeData + (i << 8), 256);
+		}
+	} else {
+		if (_vm->_flags.platform != Common::kPlatformAmiga && _vm->_configRenderMode != Common::kRenderCGA && _vm->_configRenderMode != Common::kRenderEGA) {
+			uint8 *pal = _vm->resource()->fileData("PALETTE1.PAL", 0);
+			for (int i = 0; i < 7; i++)
+				_screen->createFadeTable(pal, _fadingTables[i], 18, (i + 1) * 36);
+			delete[] pal;
+		}
+	}
+
+	delete[] fadeData;
+
+	_shapes = new const uint8*[54];
+	memset(_shapes, 0, 54 * sizeof(uint8 *));
+
+	_fadePalTimer = 0;
+	_fadePalRate = 0;
+
+	memset(_textColor, 0, 3);
+
+	_screen->setScreenPalette(*_palettes[0]);
+	_prevFont = _screen->setFont(_vm->gameFlags().platform == Common::kPlatformFMTowns ? Screen::FID_SJIS_LARGE_FNT : Screen::FID_8_FNT);
+	_screen->hideMouse();
+
+	_vm->delay(150);
+	_vm->_eventList.clear();
+	_vm->_allowSkip = true;
+}
+
 void DarkmoonSequenceHelper::setPaletteWithoutTextColor(int index) {
 	if (_vm->_configRenderMode == Common::kRenderEGA || _vm->skipFlag() || _vm->shouldQuit())
 		return;





More information about the Scummvm-git-logs mailing list