[Scummvm-cvs-logs] SF.net SVN: scummvm: [29616] scummvm/trunk/engines/scumm/he

sev at users.sourceforge.net sev at users.sourceforge.net
Thu Nov 22 23:32:59 CET 2007


Revision: 29616
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29616&view=rev
Author:   sev
Date:     2007-11-22 14:32:58 -0800 (Thu, 22 Nov 2007)

Log Message:
-----------
Implement soccer logic opcode 1003

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/he/logic_he.cpp
    scummvm/trunk/engines/scumm/he/logic_he.h

Modified: scummvm/trunk/engines/scumm/he/logic_he.cpp
===================================================================
--- scummvm/trunk/engines/scumm/he/logic_he.cpp	2007-11-22 21:51:33 UTC (rev 29615)
+++ scummvm/trunk/engines/scumm/he/logic_he.cpp	2007-11-22 22:32:58 UTC (rev 29616)
@@ -864,6 +864,25 @@
 	return _vm->VAR(2) * args[0];
 }
 
+int LogicHEsoccer::op_1003(int32 *args) {
+	double data[6], out[3];
+	int i;
+
+	for (i = 0; i < 6; i++) {
+		data[i] = getFromArray(args[0], 0, i);
+	}
+
+	out[0] = data[1] * data[5] - data[4] * data[2];
+	out[1] = data[5] * data[0] - data[3] * data[2];
+	out[2] = data[4] * data[0] - data[3] * data[1];
+
+	for (i = 0; i < 3; i++) {
+		putInArray(args[0], 0, i, scumm_round(out[i]));
+	}
+
+	return 1;
+}
+
 int LogicHEsoccer::op_1004(int32 *args) {
 	// Identical to LogicHEfootball::op_1004
 	double res, a2, a4, a5;

Modified: scummvm/trunk/engines/scumm/he/logic_he.h
===================================================================
--- scummvm/trunk/engines/scumm/he/logic_he.h	2007-11-22 21:51:33 UTC (rev 29615)
+++ scummvm/trunk/engines/scumm/he/logic_he.h	2007-11-22 22:32:58 UTC (rev 29616)
@@ -121,6 +121,7 @@
 private:
 	int op_1001(int32 *args);
 	int op_1002(int32 *args);
+	int op_1003(int32 *args);
 	int op_1004(int32 *args);
 };
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list