[Scummvm-git-logs] scummvm master -> 160f5297f4fa98dce13243b3bd53fc6085ac327e

somaen einarjohants at gmail.com
Mon Mar 1 21:33:59 UTC 2021


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

Summary:
7543ee52e7 TINSEL: Map and partially implement FADEMUSIC
4320fff786 TINSEL: Stub library function 228
b9e4f24e86 TINSEL: Stub library function 225
ee57db6c75 TINSEL: Stub library function 217
e31fbf6766 TINSEL: Map ACTORPRIORITY
bd44a9d597 TINSEL: Map RANDOM
160f5297f4 TINSEL: Map PLAYSAMPLE, and set sample data to MP3 in Noir


Commit: 7543ee52e7f37257defe65c7ec41c8b1f74904de
    https://github.com/scummvm/scummvm/commit/7543ee52e7f37257defe65c7ec41c8b1f74904de
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:04:00+01:00

Commit Message:
TINSEL: Map and partially implement FADEMUSIC

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 9fc1ffa05b..4c158b88a7 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -153,7 +153,7 @@ enum MASTER_LIB_CODES {
 	TRYPLAYSAMPLE, UNDIMMUSIC, UNHOOKSCENE, UNTAGACTOR, VIBRATE, WAITFRAME, WAITKEY,
 	WAITSCROLL, WAITTIME, WALK, WALKED, WALKEDPOLY, WALKEDTAG, WALKINGACTOR, WALKPOLY,
 	WALKTAG, WALKXPOS, WALKYPOS, WHICHCD, WHICHINVENTORY, ZZZZZZ, DEC3D, DECINVMAIN,
-	ADDNOTEBOOK, ADDINV3, ADDCONV, SET3DTEXTURE, HIGHEST_LIBCODE
+	ADDNOTEBOOK, ADDINV3, ADDCONV, SET3DTEXTURE, FADEMUSIC, HIGHEST_LIBCODE
 };
 
 static const MASTER_LIB_CODES DW1DEMO_CODES[] = {
@@ -1664,6 +1664,11 @@ static void PlayMusic(int tune) {
 	_vm->_pcmMusic->startPlay(tune);
 }
 
+static void FadeMusic(int tune, int fadeParams) {
+	warning("TODO: Implement fading: %08x", fadeParams);
+	_vm->_pcmMusic->startPlay(tune);
+}
+
 /**
  * Play a sample.
  * Tinsel 1 version
@@ -4286,6 +4291,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		mapping = NoirMapping{"EVENT", EVENT, 0};
 		debug(7, "%s()", mapping.name);
 		break;
+	case 64:
+		mapping = NoirMapping{"FADEMUSIC", FADEMUSIC, 2};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(%08X, %d)", mapping.name, pp[0], pp[1]);
+		break;
 	case 77:
 		mapping = NoirMapping{"HIDEACTOR", HIDEACTOR, 1};
 		pp -= mapping.numArgs - 1;
@@ -4876,6 +4886,12 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
 		FadeMidi(coroParam, pp[0]);
 		return -1;
 
+	case FADEMUSIC:
+		// Noir only
+		pp -= 1;
+		FadeMusic(pp[0], pp[1]);
+		return -2;
+
 	case FADEOUT:
 		// DW1 only
 		FadeOutMedium();


Commit: 4320fff786039fa116b5545185e231a797c16948
    https://github.com/scummvm/scummvm/commit/4320fff786039fa116b5545185e231a797c16948
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:06:16+01:00

Commit Message:
TINSEL: Stub library function 228

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 4c158b88a7..89b1bf08dd 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4397,6 +4397,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		pp -= mapping.numArgs - 1;
 		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
 		break;
+	case 228: // STUBBED
+		mapping = NoirMapping{"OP228", ZZZZZZ, 1};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+		break;
 	default:
 		error("Unmapped libCode %d", libCode);
 	}


Commit: b9e4f24e86b5bc44e859941522dad6b4c231583d
    https://github.com/scummvm/scummvm/commit/b9e4f24e86b5bc44e859941522dad6b4c231583d
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:09:43+01:00

Commit Message:
TINSEL: Stub library function 225

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 89b1bf08dd..48f7fbb0eb 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4397,6 +4397,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		pp -= mapping.numArgs - 1;
 		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
 		break;
+	case 225: // STUBBED
+		mapping = NoirMapping{"OP225", ZZZZZZ, 1};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+		break;
 	case 228: // STUBBED
 		mapping = NoirMapping{"OP228", ZZZZZZ, 1};
 		pp -= mapping.numArgs - 1;


Commit: ee57db6c75fb499fa5fb22847bab110bf8e8cbdd
    https://github.com/scummvm/scummvm/commit/ee57db6c75fb499fa5fb22847bab110bf8e8cbdd
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:12:43+01:00

Commit Message:
TINSEL: Stub library function 217

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 48f7fbb0eb..2c8e657087 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4397,6 +4397,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		pp -= mapping.numArgs - 1;
 		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
 		break;
+	case 217: // STUBBED
+		mapping = NoirMapping{"217", ZZZZZZ, 1};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+		break;
 	case 225: // STUBBED
 		mapping = NoirMapping{"OP225", ZZZZZZ, 1};
 		pp -= mapping.numArgs - 1;


Commit: e31fbf67660148af9155916e6407672504a17034
    https://github.com/scummvm/scummvm/commit/e31fbf67660148af9155916e6407672504a17034
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:15:16+01:00

Commit Message:
TINSEL: Map ACTORPRIORITY

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 2c8e657087..c9b77a5fca 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4199,6 +4199,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 	// this is convenient for debug.
 	NoirMapping mapping;
 	switch (libCode) {
+	case 3:
+		mapping = NoirMapping{"ACTORPRIORITY", ACTORPRIORITY, 2};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(%d, 0x%08X)", mapping.name, pp[0], pp[1]);
+		break;
 	case 5:
 		mapping = NoirMapping{"ACTORRGB", ACTORRGB, 2};
 		pp -= mapping.numArgs - 1;
@@ -4474,7 +4479,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
 		return -3;
 
 	case ACTORPRIORITY:
-		// DW2 only
+		// DW2 / Noir
 		pp -= 1;			// 2 parameters
 		ActorPriority(pp[0], pp[1]);
 		return -2;


Commit: bd44a9d597b4c6290ce26eaa64cb891b4c438080
    https://github.com/scummvm/scummvm/commit/bd44a9d597b4c6290ce26eaa64cb891b4c438080
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:17:14+01:00

Commit Message:
TINSEL: Map RANDOM

Changed paths:
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index c9b77a5fca..8a07b3226c 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4336,6 +4336,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		pp -= mapping.numArgs - 1;
 		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
 		break;
+	case 128:
+		mapping = NoirMapping{"RANDOM", RANDOM, 2};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(%d, %d, %d)", mapping.name, pp[0], pp[1], pp[2]);
+		break;
 	case 151:
 		mapping = NoirMapping{"SETSYSTEMREEL", SETSYSTEMREEL, 2};
 		pp -= mapping.numArgs - 1;
@@ -5308,7 +5313,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
 		return 0;
 
 	case RANDOM:
-		// Common to both DW1 & DW2
+		// Common to DW1 / DW2 / Noir
 		pp -= 2;			// 3 parameters
 		pp[0] = RandomFn(pp[0], pp[1], pp[2]);
 		return -2;		// One holds return value


Commit: 160f5297f4fa98dce13243b3bd53fc6085ac327e
    https://github.com/scummvm/scummvm/commit/160f5297f4fa98dce13243b3bd53fc6085ac327e
Author: Einar Johan Trøan Sømåen (somaen at scummvm.org)
Date: 2021-03-01T22:32:47+01:00

Commit Message:
TINSEL: Map PLAYSAMPLE, and set sample data to MP3 in Noir

Changed paths:
    engines/tinsel/sound.cpp
    engines/tinsel/tinlib.cpp


diff --git a/engines/tinsel/sound.cpp b/engines/tinsel/sound.cpp
index bf4a7e781c..f77c6d70f5 100644
--- a/engines/tinsel/sound.cpp
+++ b/engines/tinsel/sound.cpp
@@ -542,6 +542,10 @@ void SoundManager::openSampleFiles() {
 			break;
 		default:
 			debugC(DEBUG_DETAILED, kTinselDebugSound, "Detected original sound-data");
+			if (TinselV3) {
+				// And in Noir, the data is MP3
+				_soundMode = kMP3Mode;
+			}
 			break;
 		}
 
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 8a07b3226c..34089a9502 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4336,6 +4336,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
 		pp -= mapping.numArgs - 1;
 		debug(7, "%s(0x%08X)", mapping.name, pp[0]);
 		break;
+	case 113:
+		mapping = NoirMapping{"PLAYSAMPLE", PLAYSAMPLE, 4};
+		pp -= mapping.numArgs - 1;
+		debug(7, "%s(0x%08X, 0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2], pp[3]);
+		break;
 	case 128:
 		mapping = NoirMapping{"RANDOM", RANDOM, 2};
 		pp -= mapping.numArgs - 1;
@@ -5222,8 +5227,8 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
 		error("playrtf only applies to cdi");
 
 	case PLAYSAMPLE:
-		// Common to both DW1 & DW2
-		if (TinselV2) {
+		// Common to DW1 / DW2 / Noir
+		if (TinselV2 || TinselV3) {
 			pp -= 3;			// 4 parameters
 			PlaySample(coroParam, pp[0], pp[1], pp[2], pp[3], pic->myEscape);
 			return -4;




More information about the Scummvm-git-logs mailing list