[Scummvm-cvs-logs] scummvm master -> c735b2acda10dcf2225a38cb50a69c840b6662bc

clone2727 clone2727 at gmail.com
Fri Jun 8 20:35:29 CEST 2012


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

Summary:
c735b2acda SCUMM: Give football u32 opcodes proper names


Commit: c735b2acda10dcf2225a38cb50a69c840b6662bc
    https://github.com/scummvm/scummvm/commit/c735b2acda10dcf2225a38cb50a69c840b6662bc
Author: Matthew Hoops (clone2727 at gmail.com)
Date: 2012-06-08T11:32:13-07:00

Commit Message:
SCUMM: Give football u32 opcodes proper names

Changed paths:
    engines/scumm/he/logic/football.cpp



diff --git a/engines/scumm/he/logic/football.cpp b/engines/scumm/he/logic/football.cpp
index 5a0d423..87efd7c 100644
--- a/engines/scumm/he/logic/football.cpp
+++ b/engines/scumm/he/logic/football.cpp
@@ -38,14 +38,14 @@ public:
 	int32 dispatch(int op, int numArgs, int32 *args);
 
 private:
-	int op_1004(int32 *args);
-	int op_1006(int32 *args);
-	int op_1007(int32 *args);
-	int op_1010(int32 *args);
-	int op_1022(int32 *args);
-	int op_1023(int32 *args);
-	int op_1024(int32 *args);
-	int op_1028();
+	int lineEquation3D(int32 *args);
+	int translateWorldToScreen(int32 *args);
+	int fieldGoalScreenTranslation(int32 *args);
+	int translateScreenToWorld(int32 *args);
+	int nextPoint(int32 *args);
+	int computePlayerBallIntercepts(int32 *args);
+	int computeTwoCircleIntercepts(int32 *args);
+	int largestFreeBlock();
 };
 
 int LogicHEfootball::versionID() {
@@ -57,36 +57,36 @@ int32 LogicHEfootball::dispatch(int op, int numArgs, int32 *args) {
 
 	switch (op) {
 	case 1004:
-		res = op_1004(args);
+		res = lineEquation3D(args);
 		break;
 
 	case 1006:
-		res = op_1006(args);
+		res = translateWorldToScreen(args);
 		break;
 
 	case 1007:
-		res = op_1007(args);
+		res = fieldGoalScreenTranslation(args);
 		break;
 
 	case 1010:
-		res = op_1010(args);
+		res = translateScreenToWorld(args);
 		break;
 
 	case 1022:
-		res = op_1022(args);
+		res = nextPoint(args);
 		break;
 
 	case 1023:
-		res = op_1023(args);
+		res = computePlayerBallIntercepts(args);
 		break;
 
 	case 1024:
-		res = op_1024(args);
+		res = computeTwoCircleIntercepts(args);
 		break;
 
 	case 1028:
 		// Backyard Football 2002 only
-		res = op_1028();
+		res = largestFreeBlock();
 		break;
 
 	case 8221968:
@@ -129,8 +129,8 @@ int32 LogicHEfootball::dispatch(int op, int numArgs, int32 *args) {
 	return res;
 }
 
-int LogicHEfootball::op_1004(int32 *args) {
-	// Identical to LogicHEsoccer::op_1004
+int LogicHEfootball::lineEquation3D(int32 *args) {
+	// Identical to soccer's 1004 opcode
 	double res, a2, a4, a5;
 
 	a5 = ((double)args[4] - (double)args[1]) / ((double)args[5] - (double)args[2]);
@@ -147,8 +147,8 @@ int LogicHEfootball::op_1004(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1006(int32 *args) {
-	// This seems to be more or less the inverse of op_1010
+int LogicHEfootball::translateWorldToScreen(int32 *args) {
+	// This is more or less the inverse of translateScreenToWorld
 	const double a1 = args[1];
 	double res;
 
@@ -173,7 +173,7 @@ int LogicHEfootball::op_1006(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1007(int32 *args) {
+int LogicHEfootball::fieldGoalScreenTranslation(int32 *args) {
 	double res, temp;
 
 	temp = (double)args[1] * 0.32;
@@ -194,8 +194,8 @@ int LogicHEfootball::op_1007(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1010(int32 *args) {
-	// This seems to be more or less the inverse of op_1006
+int LogicHEfootball::translateScreenToWorld(int32 *args) {
+	// This is more or less the inverse of translateWorldToScreen
 	double a1 = (640.0 - (double)args[1] - 26.0) / 1.1588235e-1;
 
 	// 2.9411764e-4 = 1/3400
@@ -211,7 +211,7 @@ int LogicHEfootball::op_1010(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1022(int32 *args) {
+int LogicHEfootball::nextPoint(int32 *args) {
 	double res;
 	double var10 = args[4] - args[1];
 	double var8 = args[5] - args[2];
@@ -232,7 +232,7 @@ int LogicHEfootball::op_1022(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1023(int32 *args) {
+int LogicHEfootball::computePlayerBallIntercepts(int32 *args) {
 	double var10, var18, var20, var28, var30, var30_;
 	double argf[7];
 
@@ -278,7 +278,8 @@ int LogicHEfootball::op_1023(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1024(int32 *args) {
+int LogicHEfootball::computeTwoCircleIntercepts(int32 *args) {
+	// Looks like this was just dummied out
 	writeScummVar(108, 0);
 	writeScummVar(109, 0);
 	writeScummVar(110, 0);
@@ -287,8 +288,10 @@ int LogicHEfootball::op_1024(int32 *args) {
 	return 1;
 }
 
-int LogicHEfootball::op_1028() {
+int LogicHEfootball::largestFreeBlock() {
 	// Backyard Football 2002 only
+	// The Windows version always sets the variable to this
+	// The Mac version actually checks for the largest free block
 	writeScummVar(108, 100000000);
 	return 1;
 }






More information about the Scummvm-git-logs mailing list