[Scummvm-cvs-logs] scummvm master -> 93619b96d33619014a0ed18878410ade85295caa
Strangerke
Strangerke at scummvm.org
Sun Feb 12 13:09:36 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:
93619b96d3 TSAGE: R2R - Scene 1337: Implement 7 functions used by AI
Commit: 93619b96d33619014a0ed18878410ade85295caa
https://github.com/scummvm/scummvm/commit/93619b96d33619014a0ed18878410ade85295caa
Author: Strangerke (strangerke at scummvm.org)
Date: 2012-02-12T04:09:07-08:00
Commit Message:
TSAGE: R2R - Scene 1337: Implement 7 functions used by AI
Changed paths:
engines/tsage/ringworld2/ringworld2_logic.cpp
engines/tsage/ringworld2/ringworld2_scenes1.cpp
engines/tsage/ringworld2/ringworld2_scenes1.h
diff --git a/engines/tsage/ringworld2/ringworld2_logic.cpp b/engines/tsage/ringworld2/ringworld2_logic.cpp
index 6a986d5..83ca51f 100644
--- a/engines/tsage/ringworld2/ringworld2_logic.cpp
+++ b/engines/tsage/ringworld2/ringworld2_logic.cpp
@@ -113,6 +113,7 @@ Scene *Ringworld2Game::createScene(int sceneNumber) {
return new Scene1100();
case 1200:
return new Scene1200();
+ case 1337:
case 1330:
// Card Game
return new Scene1337();
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.cpp b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
index 7857363..4395e5c 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.cpp
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.cpp
@@ -4033,34 +4033,71 @@ bool Scene1337::subC264B(int arg1) {
}
}
-int Scene1337::subC2687(int arg1) {
- warning("STUBBED Scene1337::subC2687()");
- return -1;
+bool Scene1337::subC2687(int arg1) {
+ switch (arg1) {
+ case 11:
+ // No break on purpose
+ case 14:
+ // No break on purpose
+ case 16:
+ // No break on purpose
+ case 24:
+ return true;
+ default:
+ return false;
+ }
}
int Scene1337::subC26CB(int arg1, int arg2) {
- warning("STUBBED Scene1337::subC26CB()");
+ if ((_arrunkObj1337[arg1]._arr1[arg2]._field34 > 1) && (_arrunkObj1337[arg1]._arr1[arg2]._field34 <= 9)) {
+ return arg2;
+ }
+
return -1;
}
int Scene1337::subC2719(int arg1) {
- warning("STUBBED Scene1337::subC2719()");
+ for (int i = 0; i <= 3; i++) {
+ if (_arrunkObj1337[arg1]._arr1[i]._field34 == 1)
+ return i;
+ }
+
return -1;
}
int Scene1337::subC274D(int arg1) {
- warning("STUBBED Scene1337::subC274D()");
+ for (int i = 0; i <= 3; i++) {
+ if (_arrunkObj1337[arg1]._arr1[i]._field34 == 13)
+ return i;
+ }
+
return -1;
}
int Scene1337::subC2781(int arg1) {
- warning("STUBBED Scene1337::subC2781()");
+ for (int i = 0; i <= 3; i++) {
+ if (_arrunkObj1337[arg1]._arr1[i]._field34 == 25)
+ return i;
+ }
+
return -1;
}
int Scene1337::subC27B5(int arg1) {
- warning("STUBBED Scene1337::subC27B5()");
- return -1;
+ switch (arg1) {
+ case 11:
+ // No break on purpose
+ case 14:
+ // No break on purpose
+ case 16:
+ // No break on purpose
+ case 24:
+ return arg1;
+ break;
+ default:
+ return -1;
+ break;
+ }
}
int Scene1337::subC27F9(int arg1) {
@@ -4128,7 +4165,10 @@ int Scene1337::subC3E92(int arg1) {
}
void Scene1337::subC340B(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) {
- warning("STUBBED Scene1337::subC340B()");
+ _field3EF0 = subObj1;
+ _field3EF4 = subObj2;
+
+ _item1.setAction(&_action6);
}
void Scene1337::subC3456(unkObj1337sub1 *subObj1, unkObj1337sub1 *subObj2) {
@@ -4392,7 +4432,6 @@ void Scene1337::subCCF26() {
}
void Scene1337::subCF31D() {
- warning("STUBBED Scene1337::subCF31D()");
int tmpVal = 1;
bool found;
int count;
@@ -4456,7 +4495,7 @@ void Scene1337::subCF31D() {
for (int j = 0; j <= 7; j++) {
if (_arrunkObj1337[1]._arr2[j]._field34 == 1) {
- if (subC2687(_arrunkObj1337[1]._arr3[0]._field34) == 0) {
+ if (!subC2687(_arrunkObj1337[1]._arr3[0]._field34)) {
count = 0;
for (int k = 0; k <= 7; k++) {
if ((_arrunkObj1337[1]._arr2[k]._field34 > 1) && (_arrunkObj1337[1]._arr2[k]._field34 <= 9))
@@ -4480,7 +4519,7 @@ void Scene1337::subCF31D() {
tmpVal = subC2719(1);
if (tmpVal != -1) {
for (int i = 0; i <= 7; i++) {
- if ((_arrunkObj1337[1]._arr2[i]._field34 == 0) && (subC2687(_arrunkObj1337[1]._arr3[0]._field34) == 0)) {
+ if ((_arrunkObj1337[1]._arr2[i]._field34 == 0) && (!subC2687(_arrunkObj1337[1]._arr3[0]._field34))) {
subC340B(&_arrunkObj1337[1]._arr1[tmpVal], &_arrunkObj1337[1]._arr2[i]);
found = true;
}
diff --git a/engines/tsage/ringworld2/ringworld2_scenes1.h b/engines/tsage/ringworld2/ringworld2_scenes1.h
index 1e67029..d23ce00 100644
--- a/engines/tsage/ringworld2/ringworld2_scenes1.h
+++ b/engines/tsage/ringworld2/ringworld2_scenes1.h
@@ -317,7 +317,7 @@ public:
void subC20F9();
void subC2586();
bool subC264B(int arg1);
- int subC2687(int arg1);
+ bool subC2687(int arg1);
int subC26CB(int arg1, int arg2);
int subC2719(int arg1);
int subC274D(int arg1);
More information about the Scummvm-git-logs
mailing list