aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTravis Howell2005-05-07 11:07:45 +0000
committerTravis Howell2005-05-07 11:07:45 +0000
commitc4d2ac0eb7350721a9dfb223bb4760327fc48539 (patch)
treed524b765ac109c280ac2fb34ccc319b7eb251deb
parent873c10c16b2f4dd90b121337fc3f30f50d9dae63 (diff)
downloadscummvm-rg350-c4d2ac0eb7350721a9dfb223bb4760327fc48539.tar.gz
scummvm-rg350-c4d2ac0eb7350721a9dfb223bb4760327fc48539.tar.bz2
scummvm-rg350-c4d2ac0eb7350721a9dfb223bb4760327fc48539.zip
Additions for funshop titles.
svn-id: r17942
-rw-r--r--scumm/script_v100he.cpp2
-rw-r--r--scumm/script_v72he.cpp2
-rw-r--r--scumm/script_v90he.cpp33
-rw-r--r--scumm/wiz_he.cpp12
4 files changed, 48 insertions, 1 deletions
diff --git a/scumm/script_v100he.cpp b/scumm/script_v100he.cpp
index b132d0263d..bf2abb99ed 100644
--- a/scumm/script_v100he.cpp
+++ b/scumm/script_v100he.cpp
@@ -2348,6 +2348,7 @@ void ScummEngine_v100he::o100_getSpriteGroupInfo() {
}
void ScummEngine_v100he::o100_getWizData() {
+ byte filename[4096];
int state, resId;
int32 w, h;
int16 x, y;
@@ -2407,6 +2408,7 @@ void ScummEngine_v100he::o100_getWizData() {
break;
case 111:
pop();
+ copyScriptString(filename, sizeof(filename));
pop();
push(0);
warning("o100_getWizData() case 111 unhandled");
diff --git a/scumm/script_v72he.cpp b/scumm/script_v72he.cpp
index 36cea0253a..178c6ca602 100644
--- a/scumm/script_v72he.cpp
+++ b/scumm/script_v72he.cpp
@@ -1742,7 +1742,7 @@ void ScummEngine_v72he::o72_openFile() {
debug(0,"Final filename to %s", filename + r);
slot = -1;
- for (i = 0; i < 17; i++) {
+ for (i = 1; i < 17; i++) {
if (_hFileTable[i].isOpen() == false) {
slot = i;
break;
diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp
index 4337af0757..8e5b722ecc 100644
--- a/scumm/script_v90he.cpp
+++ b/scumm/script_v90he.cpp
@@ -733,11 +733,36 @@ void ScummEngine_v90he::o90_wizImageOps() {
_wizParams.processFlags |= kWPFDstResNum;
_wizParams.dstResNum = pop();
break;
+ case 93: // HE99+
+ _wizParams.processFlags |= 0x100000;
+ _wizParams.field_180 = pop();
+ _wizParams.field_184 = pop();
+ break;
+ case 95: // HE99+
+ _wizParams.processMode = 13;
+ break;
+ case 96: // HE99+
+ _wizParams.field_239D = pop();
+ _wizParams.field_2399 = pop();
+ _wizParams.field_23A5 = pop();
+ _wizParams.field_23A1 = pop();
+ copyScriptString(_wizParams.string2, sizeof(_wizParams.string2));
+ _wizParams.processMode = 15;
+ break;
+ case 97: // HE99+
+ _wizParams.processMode = 16;
+ _wizParams.field_23AD = pop();
+ _wizParams.field_23A9 = pop();
+ copyScriptString(_wizParams.string1, sizeof(_wizParams.string1));
+ break;
case 108:
_wizParams.processFlags |= kWPFSetPos;
_wizParams.img.y1 = pop();
_wizParams.img.x1 = pop();
break;
+ case 150: // HE99+
+ _wizParams.processMode = 14;
+ break;
case 171: // HE99+
_wizParams.processMode = 8;
break;
@@ -1625,6 +1650,7 @@ void ScummEngine_v90he::o90_setSpriteGroupInfo() {
}
void ScummEngine_v90he::o90_getWizData() {
+ byte filename[4096];
int state, resId;
int32 w, h;
int16 x, y;
@@ -1694,6 +1720,13 @@ void ScummEngine_v90he::o90_getWizData() {
pop();
push(0);
break;
+ case 111:
+ pop();
+ copyScriptString(filename, sizeof(filename));
+ pop();
+ push(0);
+ warning("o90_getWizData() case 111 unhandled");
+ break;
default:
error("o90_getWizData: Unknown case %d", subOp);
}
diff --git a/scumm/wiz_he.cpp b/scumm/wiz_he.cpp
index 5cb9aead52..e09ced88ed 100644
--- a/scumm/wiz_he.cpp
+++ b/scumm/wiz_he.cpp
@@ -1818,6 +1818,18 @@ void ScummEngine_v90he::processWizImage(const WizParameters *params) {
case 10:
fillWizParallelogram(params);
break;
+ case 13:
+ // Used in SamsFunShop
+ // Start font
+ break;
+ case 14:
+ // Used in SamsFunShop
+ // End font
+ break;
+ case 15:
+ // Used in SamsFunShop
+ // Create font
+ break;
default:
error("Unhandled processWizImage mode %d", params->processMode);
}