[Scummvm-git-logs] scummvm master -> d6fd5c821a530af6a1380af098d6de61ca93a474
somaen
einarjohants at gmail.com
Tue Feb 16 23:36:06 UTC 2021
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e4e0779a28 TINSEL: Map STARTPROCESS
cdd1fe91bd TINSEL: Map MOVECURSOR
fc58fe123a TINSEL: Map CONTROL
dff38571d6 TINSEL: Map WHICHINVENTORY
5e91a9a3f6 TINSEL: Initialize cursor from system reel in Noir
61d43d2f65 TINSEL: Map CURSORXPOS / CURSORYPOS
deee5defc6 TINSEL: Map SYSTEMVAR
d6fd5c821a TINSEL: Map and stub PLAY
Commit: e4e0779a288f95074617d6e642626c72c2dbf9e0
https://github.com/scummvm/scummvm/commit/e4e0779a288f95074617d6e642626c72c2dbf9e0
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:50+01:00
Commit Message:
TINSEL: Map STARTPROCESS
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index d313603b79..ae602d000d 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4295,6 +4295,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 167:
+ mapping = NoirMapping{"STARTPROCESS", STARTPROCESS, 1};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X)", mapping.name, pp[0]);
+ break;
case 197:
mapping = NoirMapping{"WAITTIME", WAITTIME, 2};
pp -= mapping.numArgs - 1;
@@ -5508,7 +5513,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -1;
case STARTPROCESS:
- // DW2 only
+ // DW2 / Noir
StartProcess(coroParam, pp[0]);
return -1;
Commit: cdd1fe91bdb22764bf8f7f980e299d80b939a401
https://github.com/scummvm/scummvm/commit/cdd1fe91bdb22764bf8f7f980e299d80b939a401
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:50+01:00
Commit Message:
TINSEL: Map MOVECURSOR
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index ae602d000d..4d9b9cb851 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4270,6 +4270,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 96:
+ mapping = NoirMapping{"MOVECURSOR", MOVECURSOR, 2};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(%d, %d)", mapping.name, pp[0], pp[1]);
+ break;
case 99:
mapping = NoirMapping{"NEWSCENE", NEWSCENE, 3};
pp -= mapping.numArgs - 1;
@@ -5004,7 +5009,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
error("LocalVar isn't a real function");
case MOVECURSOR:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp -= 1; // 2 parameters
MoveCursor(pp[0], pp[1]);
return -2;
Commit: fc58fe123a1106078b69eb751ec39f95b96ba019
https://github.com/scummvm/scummvm/commit/fc58fe123a1106078b69eb751ec39f95b96ba019
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:50+01:00
Commit Message:
TINSEL: Map CONTROL
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 4d9b9cb851..29f7607331 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4221,6 +4221,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 37:
+ mapping = NoirMapping{"CONTROL", CONTROL, 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;
@@ -4617,7 +4622,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return 0;
case CONTROL:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
Control(pp[0]);
return -1;
Commit: dff38571d651cd5292f42d266cc428ae880d9ab6
https://github.com/scummvm/scummvm/commit/dff38571d651cd5292f42d266cc428ae880d9ab6
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:51+01:00
Commit Message:
TINSEL: Map WHICHINVENTORY
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 29f7607331..c94d6bbdd3 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4315,6 +4315,10 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(%d, %d)", mapping.name, pp[0], pp[1]);
break;
+ case 208:
+ mapping = NoirMapping{"WHICHINVENTORY", WHICHINVENTORY, 0};
+ debug(7, "%s()", mapping.name);
+ break;
case 210: // STUBBED
mapping = NoirMapping{"OP210", ZZZZZZ, 8};
pp -= mapping.numArgs - 1;
@@ -5814,7 +5818,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return 0;
case WHICHINVENTORY:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp[0] = WhichInventory();
return 0;
Commit: 5e91a9a3f6aa0575c1413d14f0c83e239921f53c
https://github.com/scummvm/scummvm/commit/5e91a9a3f6aa0575c1413d14f0c83e239921f53c
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:51+01:00
Commit Message:
TINSEL: Initialize cursor from system reel in Noir
Changed paths:
engines/tinsel/cursor.cpp
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/cursor.cpp b/engines/tinsel/cursor.cpp
index 412576831a..caea9afcc0 100644
--- a/engines/tinsel/cursor.cpp
+++ b/engines/tinsel/cursor.cpp
@@ -632,6 +632,15 @@ void CursorStoppedCheck(CORO_PARAM) {
CORO_END_CODE;
}
+bool CanInitializeCursor() {
+ if (!_vm->_cursor->HasReelData()) {
+ return false;
+ } else if (TinselVersion != TINSEL_V3) {
+ return (_vm->_bg->BgPal() != 0);
+ }
+ return true;
+}
+
/**
* The main cursor process.
*/
@@ -642,7 +651,7 @@ void CursorProcess(CORO_PARAM, const void *) {
CORO_BEGIN_CODE(_ctx);
- while (!_vm->_cursor->HasReelData() || !_vm->_bg->BgPal())
+ while (!CanInitializeCursor())
CORO_SLEEP(1);
_vm->_cursor->InitCurObj();
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index c94d6bbdd3..15df735319 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -2702,7 +2702,14 @@ static void SetPalette(SCNHANDLE hPal, bool escOn, int myEscape) {
* Set system reel
*/
static void SetSystemReel(int index, SCNHANDLE reel) {
- warning("SetSystemReel(%d, %08X), STUBBED", index, reel);
+ switch (index) {
+ case 11:
+ DecCursor(reel);
+ break;
+ default:
+ warning("SetSystemReel(%d, %08X), STUBBED", index, reel);
+ break;
+ }
}
/**
Commit: 61d43d2f659e7be476f121b42ed3d7222299466e
https://github.com/scummvm/scummvm/commit/61d43d2f659e7be476f121b42ed3d7222299466e
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:51+01:00
Commit Message:
TINSEL: Map CURSORXPOS / CURSORYPOS
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 15df735319..f8c53d4817 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4238,6 +4238,14 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 41:
+ mapping = NoirMapping{"CURSORXPOS", CURSORXPOS, 0};
+ debug(7, "%s()", mapping.name);
+ break;
+ case 42:
+ mapping = NoirMapping{"CURSORYPOS", CURSORYPOS, 0};
+ debug(7, "%s()", mapping.name);
+ break;
case 43:
mapping = NoirMapping{"DECINVMAIN", DECINVMAIN, 8};
pp -= mapping.numArgs - 1;
@@ -4653,12 +4661,12 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -1;
case CURSORXPOS:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp[0] = CursorPos(CURSORXPOS);
return 0;
case CURSORYPOS:
- // Common to both DW1 & DW2
+ // Common to DW1 / DW2 / Noir
pp[0] = CursorPos(CURSORYPOS);
return 0;
Commit: deee5defc694da6d078fe0ef7747827cb03b3390
https://github.com/scummvm/scummvm/commit/deee5defc694da6d078fe0ef7747827cb03b3390
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:51+01:00
Commit Message:
TINSEL: Map SYSTEMVAR
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index f8c53d4817..0d10c6e795 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4325,6 +4325,10 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X)", mapping.name, pp[0]);
break;
+ case 175:
+ mapping = NoirMapping{"SYSTEMVAR", SYSTEMVAR, 0};
+ debug(7, "%s(%d)", mapping.name, pp[0]);
+ break;
case 197:
mapping = NoirMapping{"WAITTIME", WAITTIME, 2};
pp -= mapping.numArgs - 1;
@@ -5590,7 +5594,7 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return -7;
case SYSTEMVAR:
- // DW2 only
+ // DW2 / Noir
pp[0] = SystemVar(pp[0]);
return 0;
Commit: d6fd5c821a530af6a1380af098d6de61ca93a474
https://github.com/scummvm/scummvm/commit/d6fd5c821a530af6a1380af098d6de61ca93a474
Author: Einar Johan Trøan SømaÌen (somaen at scummvm.org)
Date: 2021-02-17T00:35:52+01:00
Commit Message:
TINSEL: Map and stub PLAY
Changed paths:
engines/tinsel/tinlib.cpp
diff --git a/engines/tinsel/tinlib.cpp b/engines/tinsel/tinlib.cpp
index 0d10c6e795..7224ce5914 100644
--- a/engines/tinsel/tinlib.cpp
+++ b/engines/tinsel/tinlib.cpp
@@ -4300,6 +4300,11 @@ NoirMapping translateNoirLibCode(int libCode, int32 *pp) {
pp -= mapping.numArgs - 1;
debug(7, "%s(0x%08X, 0x%08X, 0x%08X)", mapping.name, pp[0], pp[1], pp[2]);
break;
+ case 110:
+ mapping = NoirMapping{"PLAY", PLAY, 2};
+ pp -= mapping.numArgs - 1;
+ debug(7, "%s(0x%08X, 0x%08X)", mapping.name, pp[0], pp[1]);
+ break;
case 112:
mapping = NoirMapping{"PLAYMUSIC", PLAYMUSIC, 1};
pp -= mapping.numArgs - 1;
@@ -5107,8 +5112,11 @@ int CallLibraryRoutine(CORO_PARAM, int operand, int32 *pp, const INT_CONTEXT *pi
return 0;
case PLAY:
- // Common to both DW1 & DW2
- if (TinselV2) {
+ // Common to DW1 / DW2 / Noir
+ if (TinselV3) {
+ warning("TODO: Implement PLAY");
+ return -2;
+ } if (TinselV2) {
pp -= 3; // 4 parameters
if (*pResumeState == RES_1 && _vm->_handle->IsCdPlayHandle(pp[0]))
*pResumeState = RES_NOT;
More information about the Scummvm-git-logs
mailing list