diff options
| -rw-r--r-- | scumm/script_v90he.cpp | 36 | 
1 files changed, 35 insertions, 1 deletions
| diff --git a/scumm/script_v90he.cpp b/scumm/script_v90he.cpp index ffc3e71807..504baa75a1 100644 --- a/scumm/script_v90he.cpp +++ b/scumm/script_v90he.cpp @@ -1090,11 +1090,40 @@ void ScummEngine_v90he::o90_unknown27() {  }  void ScummEngine_v90he::o90_unknown28() { -	// Incomplete  	byte subOp = fetchScriptByte();  	subOp -= 37;  	switch (subOp) { +	case 0: +		switch (pop()) { +		case 1: +			pop(); +			pop(); +			break; +		case 2: +			pop(); +			break; +		case 3: +			pop(); +			break; +		case 4: +			pop(); +			break; +		case 5: +			break; +		case 6: +			pop(); +			break; +		case 7: +			pop(); +			break; +		case 8: +			pop(); +			break; +		default: +			error("o90_unknown28 subOp 38: Unknown case %d", subOp); +		} +		break;  	case 5:  		pop();  		pop(); @@ -1109,6 +1138,9 @@ void ScummEngine_v90he::o90_unknown28() {  	case 20:  		pop();  		break; +	case 26: +		pop(); +		break;  	case 28:  		pop();  		pop(); @@ -1119,6 +1151,8 @@ void ScummEngine_v90he::o90_unknown28() {  		pop();  		pop();  		break; +	case 56: +		break;  	case 180:  		break;  	default: | 
