[Scummvm-git-logs] scummvm master -> 3fd13952733fb4dd453f519b8efb65b6d27fa43f
somaen
einarjohants at gmail.com
Mon Feb 15 22:42:40 UTC 2021
This automated email contains information about 10 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ca96788c5a TINSEL: Stub library function 86
f7f4669e54 TINSEL: Map SETSYSTEMSTRING
918dce9803 TINSEL: Map and stub DECINVMAIN
29685806ad TINSEL: Map DECINV2
1a7d06c5ce TINSEL: Map and stub ADDNOTEBOOK
4c358a7753 TINSEL: Map and stub ADDINV3
5993212fab TINSEL: Map and stub ADDCONV
430e3e4bf6 TINSEL: Map ADDINV1
77692d3d7c TINSEL: Patch heap_mem to use 512 MiB for Noir.
3fd1395273 TINSEL: Map NEWSCENE, and error out during loading.
Commit: ca96788c5a595ab40c9954c758872ff07fe5d63f
https://github.com/scummvm/scummvm/commit/ca96788c5a595ab40c9954c758872ff07fe5d63f
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T22:55:27+01:00
Commit Message:
TINSEL: Stub library function 86
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 69e11bc473..7cd4657f2a 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4222,6 +4222,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 86:
+ mapping = NoirMapping{"OP86", ZZZZZZ, 2};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X, 0x%08X)", mapping.name, pp[0], pp[1]);
+ break;
case 151:
mapping = NoirMapping{"SETSYSTEMREEL", SETSYSTEMREEL, 2};
pp -= mapping.numArgs - 1;
Commit: f7f4669e54bdc60409cd057535085e5d62e8671a
https://github.com/scummvm/scummvm/commit/f7f4669e54bdc60409cd057535085e5d62e8671a
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T22:59:48+01:00
Commit Message:
TINSEL: Map SETSYSTEMSTRING
Changed paths:
engines/tinsel/sysvar.h
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/sysvar.h b/engines/tinsel/sysvar.h
index 49391cc5cf..2efc8e89c0 100644
--- a/engines/tinsel/sysvar.h
+++ b/engines/tinsel/sysvar.h
@@ -121,6 +121,12 @@ typedef enum {
SS_CONTROLS_HEADING,
SS_LANGUAGE_SELECT,
+ // Noir only:
+ SS_NOIR1,
+ SS_NOIR2,
+ SS_NOIR3,
+ SS_NOIR4,
+
SS_MAX_VALID
} BOLLOX;
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 7cd4657f2a..c033c91ff9 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4232,6 +4232,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(%d, 0x%08X)", mapping.name, pp[0], pp[1]);
break;
+ case 152:
+ mapping = NoirMapping{"SETSYSTEMSTRING", SETSYSTEMSTRING, 2};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(%d, %08X)", mapping.name, pp[0], pp[1]);
+ break;
case 153:
mapping = NoirMapping{"SETSYSTEMVAR", SETSYSTEMVAR, 2};
pp -= mapping.numArgs - 1;
@@ -5297,7 +5302,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
}
case SETSYSTEMSTRING:
- // DW2 only
+ // DW2 & Noir
pp -= 1; // 2 parameters
SetSystemString(pp[0], pp[1]);
return -2;
Commit: 918dce9803b655f03fddbfe4fa72cbc06bab0a6e
https://github.com/scummvm/scummvm/commit/918dce9803b655f03fddbfe4fa72cbc06bab0a6e
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:02:59+01:00
Commit Message:
TINSEL: Map and stub DECINVMAIN
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index c033c91ff9..277cc51bf6 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -152,7 +152,7 @@ enum MASTER_LIB_CODES {
THISOBJECT, THISTAG, TIMER, TOPIC, TOPPLAY, TOPWINDOW, TRANSLUCENTINDEX,
TRYPLAYSAMPLE, UNDIMMUSIC, UNHOOKSCENE, UNTAGACTOR, VIBRATE, WAITFRAME, WAITKEY,
WAITSCROLL, WAITTIME, WALK, WALKED, WALKEDPOLY, WALKEDTAG, WALKINGACTOR, WALKPOLY,
- WALKTAG, WALKXPOS, WALKYPOS, WHICHCD, WHICHINVENTORY, ZZZZZZ, DEC3D,
+ WALKTAG, WALKXPOS, WALKYPOS, WHICHCD, WHICHINVENTORY, ZZZZZZ, DEC3D, DECINVMAIN,
HIGHEST_LIBCODE
};
@@ -4197,6 +4197,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 43:
+ mapping = NoirMapping{"DECINVMAIN", DECINVMAIN, 8};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2], pp[3], pp[4], pp[5], pp[6], pp[7]);
+ break;
case 45:
mapping = NoirMapping{"DECLARELANGUAGE", DECLARELANGUAGE, 3};
pp -= mapping.numArgs - 1;
@@ -4607,6 +4612,10 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
pp[4], pp[5], pp[6], pp[7]);
return -8;
+ case DECINVMAIN:
+ warning("TODO: Implement DECINVMAIN");
+ return -8;
+
case DECINVW:
// Common to both DW1 & DW2
DecInvW(pp[0]);
Commit: 29685806adf5b72520644e486638716f65f42978
https://github.com/scummvm/scummvm/commit/29685806adf5b72520644e486638716f65f42978
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:39:51+01:00
Commit Message:
TINSEL: Map DECINV2
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 277cc51bf6..0dd4f743cb 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4202,6 +4202,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2], pp[3], pp[4], pp[5], pp[6], pp[7]);
break;
+ case 44: // Changed in Noir
+ mapping = NoirMapping{"DECINV2", DECINV2, 8};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2], pp[3], pp[4], pp[5], pp[6], pp[7]);
+ break;
case 45:
mapping = NoirMapping{"DECLARELANGUAGE", DECLARELANGUAGE, 3};
pp -= mapping.numArgs - 1;
@@ -4606,7 +4611,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -8;
case DECINV2:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp -= 7; // 8 parameters
DecInv2(pp[0], pp[1], pp[2], pp[3],
pp[4], pp[5], pp[6], pp[7]);
Commit: 1a7d06c5cea3bc313721440e106910017d0251be
https://github.com/scummvm/scummvm/commit/1a7d06c5cea3bc313721440e106910017d0251be
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:39:51+01:00
Commit Message:
TINSEL: Map and stub ADDNOTEBOOK
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 0dd4f743cb..411a62b2e8 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,
- HIGHEST_LIBCODE
+ ADDNOTEBOOK, HIGHEST_LIBCODE
};
static const MASTER_LIB_CODES DW1DEMO_CODES[] = {
@@ -4192,6 +4192,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(%d, 0x%08X)", mapping.name, pp[0], pp[1]);
break;
+ case 8:
+ mapping = NoirMapping{"ADDNOTEBOOK", ADDNOTEBOOK, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+ break;
case 28:
mapping = NoirMapping{"CDCHANGESCENE", CDCHANGESCENE, 1};
pp -= mapping.numArgs - 1;
@@ -4387,6 +4392,11 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
AddInv(INV_2, pp[0]);
return -1;
+ case ADDNOTEBOOK:
+ // Noir Only
+ warning("TODO: Implement ADDNOTEBOOK");
+ return -1;
+
case ADDOPENINV:
// Common to both DW1 & DW2
AddInv(TinselV2 ? DW2_INV_OPEN : INV_OPEN, pp[0]);
Commit: 4c358a7753f4cb3df23a4ea31c7cd255115071b0
https://github.com/scummvm/scummvm/commit/4c358a7753f4cb3df23a4ea31c7cd255115071b0
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:39:52+01:00
Commit Message:
TINSEL: Map and stub ADDINV3
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 411a62b2e8..53b31b5dbc 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, HIGHEST_LIBCODE
+ ADDNOTEBOOK, ADDINV3, HIGHEST_LIBCODE
};
static const MASTER_LIB_CODES DW1DEMO_CODES[] = {
@@ -4197,6 +4197,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 16:
+ mapping = NoirMapping{"ADDINV3", ADDINV3, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(%08X)", mapping.name, pp[0]);
+ break;
case 28:
mapping = NoirMapping{"CDCHANGESCENE", CDCHANGESCENE, 1};
pp -= mapping.numArgs - 1;
@@ -4392,6 +4397,11 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
AddInv(INV_2, pp[0]);
return -1;
+ case ADDINV3:
+ // Noir only
+ warning("TODO: Implement ADDINV3");
+ return -1;
+
case ADDNOTEBOOK:
// Noir Only
warning("TODO: Implement ADDNOTEBOOK");
Commit: 5993212fab802993a262986a5171edfa24f8761b
https://github.com/scummvm/scummvm/commit/5993212fab802993a262986a5171edfa24f8761b
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:39:52+01:00
Commit Message:
TINSEL: Map and stub ADDCONV
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 53b31b5dbc..b8c850dd6a 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, HIGHEST_LIBCODE
+ ADDNOTEBOOK, ADDINV3, ADDCONV, HIGHEST_LIBCODE
};
static const MASTER_LIB_CODES DW1DEMO_CODES[] = {
@@ -4197,6 +4197,10 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 9:
+ mapping = NoirMapping{"ADDCONV", ADDCONV, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X)", mapping.name, pp[0]);
case 16:
mapping = NoirMapping{"ADDINV3", ADDINV3, 1};
pp -= mapping.numArgs - 1;
@@ -4376,6 +4380,11 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
pp[0] = ActorPos(ACTORYPOS, pp[0]);
return 0;
+ case ADDCONV:
+ // Noir only
+ warning("TODO: Implement ADDCONV");
+ return -1;
+
case ADDHIGHLIGHT:
// DW2 only
// Command doesn't actually do anything
Commit: 430e3e4bf66f1f83fc878b4ab9200c067715bb0b
https://github.com/scummvm/scummvm/commit/430e3e4bf66f1f83fc878b4ab9200c067715bb0b
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:40:59+01:00
Commit Message:
TINSEL: Map ADDINV1
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index b8c850dd6a..d8511ac375 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4201,6 +4201,10 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
mapping = NoirMapping{"ADDCONV", ADDCONV, 1};
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+ case 12:
+ mapping = NoirMapping{"ADDINV1", ADDINV1, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X)", mapping.name, pp[0]);
case 16:
mapping = NoirMapping{"ADDINV3", ADDINV3, 1};
pp -= mapping.numArgs - 1;
@@ -4397,7 +4401,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -1;
case ADDINV1:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
AddInv(INV_1, pp[0]);
return -1;
Commit: 77692d3d7c31b0e37669db015f97bd740a1a7221
https://github.com/scummvm/scummvm/commit/77692d3d7c31b0e37669db015f97bd740a1a7221
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:41:04+01:00
Commit Message:
TINSEL: Patch heap_mem to use 512 MiB for Noir.
This is similar to what Kerbox' implementation does, but not
verified to be the precise value needed.
Changed paths:
engines/tinsel/heapmem.cpp
diff --git a/engines/tinsel/heapmem.cpp b/engines/tinsel/heapmem.cpp
index c1c036a2fa..e189f9524d 100644
--- a/engines/tinsel/heapmem.cpp
+++ b/engines/tinsel/heapmem.cpp
@@ -52,7 +52,7 @@ struct MEM_NODE {
// Currently this is set at 5MB for the DW1 demo and DW1 and 10MB for DW2
// This could probably be reduced somewhat
// If the memory is not enough, the engine throws an "Out of memory" error in handle.cpp inside LockMem()
-static const uint32 MemoryPoolSize[3] = {5 * 1024 * 1024, 5 * 1024 * 1024, 10 * 1024 * 1024};
+static const uint32 MemoryPoolSize[4] = {5 * 1024 * 1024, 5 * 1024 * 1024, 10 * 1024 * 1024, 512 * 1024 * 1024};
// These vars are reset upon engine destruction
@@ -128,6 +128,10 @@ void MemoryInit() {
uint32 size = MemoryPoolSize[0];
if (TinselVersion == TINSEL_V1) size = MemoryPoolSize[1];
else if (TinselVersion == TINSEL_V2) size = MemoryPoolSize[2];
+ else if (TinselVersion == TINSEL_V3) {
+ warning("TODO: Find the correct memory pool size for Noir, using 512 MiB for now");
+ size = MemoryPoolSize[3];
+ }
g_heapSentinel.size = size;
}
Commit: 3fd13952733fb4dd453f519b8efb65b6d27fa43f
https://github.com/scummvm/scummvm/commit/3fd13952733fb4dd453f519b8efb65b6d27fa43f
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-15T23:41:27+01:00
Commit Message:
TINSEL: Map NEWSCENE, and error out during loading.
Changed paths:
engines/tinsel/scene.cpp
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/scene.cpp b/engines/tinsel/scene.cpp
index 1dd90d50a6..eb0930bbe2 100644
--- a/engines/tinsel/scene.cpp
+++ b/engines/tinsel/scene.cpp
@@ -263,6 +263,9 @@ static void LoadScene(SCNHANDLE scene, int entry) {
} else {
// Genuine new scene
+ if (TinselV3) {
+ error("TODO: Implement scene loading for Noir");
+ }
// Initialize all the polygons for this scene
InitPolygons(FROM_32(ss->hPoly), FROM_32(ss->numPoly), false);
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index d8511ac375..e273db01be 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4255,6 +4255,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X, 0x%08X)", mapping.name, pp[0], pp[1]);
break;
+ case 99:
+ mapping = NoirMapping{"NEWSCENE", NEWSCENE, 3};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2]);
+ break;
case 151:
mapping = NoirMapping{"SETSYSTEMREEL", SETSYSTEMREEL, 2};
pp -= mapping.numArgs - 1;
@@ -4982,7 +4987,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -3;
case NEWSCENE:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp -= 2; // 3 parameters
if (*pResumeState == RES_2)
*pResumeState = RES_NOT;
More information about the Scummvm-git-logs
mailing list