[Scummvm-cvs-logs] scummvm master -> 0ba3335674dcd88d34d1d2ab8453658191d31c38

Strangerke Strangerke at scummvm.org
Sun Feb 12 16:14:58 CET 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:
0ba3335674 TSAGE: R2R - Scene 1337: Implement 2 functions used by AI


Commit: 0ba3335674dcd88d34d1d2ab8453658191d31c38
    https://github.com/scummvm/scummvm/commit/0ba3335674dcd88d34d1d2ab8453658191d31c38
Author: Strangerke (strangerke at scummvm.org)
Date: 2012-02-12T07:14:25-08:00

Commit Message:
TSAGE: R2R - Scene 1337: Implement 2 functions used by AI

Changed paths:
    engines/tsage/ringworld2/ringworld2_scenes1.cpp



diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 4395e5c..0c95ee3 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -4124,7 +4124,151 @@ int Scene1337::subC27F9(int arg1) {
 }
 
 void Scene1337::subC2835(int arg1) {
-	warning("STUBBED Scene1337::subC2835()");
+	int i;
+	bool found = false;
+	switch (arg1) {
+	case 0:
+		for (i = 0; i <= 3; i++) {
+			if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if ((_arrunkObj1337[arg1]._arr1[i]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 9)) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if ((_arrunkObj1337[arg1]._arr1[i]._field34 >= 26) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 33)) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+		
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13) {
+				found = true;
+				break;
+			}
+		}
+		break;
+	case 1:
+		for (i = 0; i <= 3; i++) {
+			if ((_arrunkObj1337[arg1]._arr1[i]._field34 >= 26) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 33)) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if ((_arrunkObj1337[arg1]._arr1[i]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[i]._field34 <= 9)) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (subC27F9(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (subC27B5(_arrunkObj1337[arg1]._arr1[i]._field34) != -1) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25) {
+				found = true;
+				break;
+			}
+		}
+
+		if (found)
+			break;
+
+		for (i = 0; i <= 3; i++) {
+			if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13) {
+				found = true;
+				break;
+			}
+		}
+
+		break;
+	default:
+		return;
+	}
+
+	subC4A39(&_arrunkObj1337[arg1]._arr1[i]);
 }
 
 int Scene1337::subC2BF8(unkObj1337sub1 *subObj1, Common::Point *pt) {
@@ -4184,7 +4328,9 @@ void Scene1337::subC358E(unkObj1337sub1 *subObj1) {
 }
 
 void Scene1337::subC4A39(unkObj1337sub1 *subObj) {
-	warning("STUBBED Scene1337::subC4A39()");
+	_field3EF0 = subObj;
+
+	_item1.setAction(&_action5);
 }
 
 void Scene1337::subC4CD2() {






More information about the Scummvm-git-logs mailing list