[Scummvm-cvs-logs] scummvm-tools master -> 6689073cbde4bb776da322f5400ac519e2735ce2

clone2727 clone2727 at gmail.com
Fri Jun 1 05:20:28 CEST 2012


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

Summary:
6689073cbd TOOLS: Implement dup_n() in descumm for HE90+


Commit: 6689073cbde4bb776da322f5400ac519e2735ce2
    https://github.com/scummvm/scummvm-tools/commit/6689073cbde4bb776da322f5400ac519e2735ce2
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2012-05-31T20:15:01-07:00

Commit Message:
TOOLS: Implement dup_n() in descumm for HE90+

Changed paths:
    engines/scumm/descumm6.cpp



diff --git a/engines/scumm/descumm6.cpp b/engines/scumm/descumm6.cpp
index ff6fe68..8e8ca79 100644
--- a/engines/scumm/descumm6.cpp
+++ b/engines/scumm/descumm6.cpp
@@ -1459,6 +1459,15 @@ void jumpif(char *output, StackEnt *se, bool negate) {
 	sprintf(e, ") jump %x", to);
 }
 
+void dup_n() {
+	push(se_int(get_word()));
+	ListStackEnt *list = (ListStackEnt *)se_get_list();
+
+	for (int i = 0; i < 2; i++)
+		for (int j = 0; j < list->_size; j++)
+			push(list->_list[j]);
+}
+
 
 #define PRINT_V100HE(name)           \
 	do {                          \
@@ -1717,6 +1726,9 @@ void next_line_HE_V100(char *output) {
 		push(se_a);
 		push(se_a);
 		break;
+	case 0x29:
+		dup_n();
+		break;
 	case 0x2A:
 		ext(output, "|endCutscene");
 		break;
@@ -2677,6 +2689,9 @@ void next_line_HE_V72(char *output) {
 	case 0x7:
 		push(se_array(get_word(), NULL, pop()));
 		break;
+	case 0xA: // HE90+
+		dup_n();
+		break;
 	case 0xB:
 		se_a = pop();
 		push(se_array(get_word(), pop(), se_a));






More information about the Scummvm-git-logs mailing list