[Scummvm-git-logs] scummvm master -> 1b7a847e6318d50aea8a4fe72e33c31a08f24998
dreammaster
dreammaster at scummvm.org
Sat Mar 18 01:27:43 CET 2017
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:
1b7a847e63 TITANIC: Finisheed CStarControlSub5 class
Commit: 1b7a847e6318d50aea8a4fe72e33c31a08f24998
https://github.com/scummvm/scummvm/commit/1b7a847e6318d50aea8a4fe72e33c31a08f24998
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2017-03-17T20:27:37-04:00
Commit Message:
TITANIC: Finisheed CStarControlSub5 class
Changed paths:
engines/titanic/star_control/star_control_sub5.cpp
diff --git a/engines/titanic/star_control/star_control_sub5.cpp b/engines/titanic/star_control/star_control_sub5.cpp
index 3e4f9a4..8c33297 100644
--- a/engines/titanic/star_control/star_control_sub5.cpp
+++ b/engines/titanic/star_control/star_control_sub5.cpp
@@ -506,40 +506,85 @@ void CStarControlSub5::fn1() {
}
bool CStarControlSub5::setupEntry(int width, int height, int index, double val) {
- /*
if (width < 2 || height < 3)
return false;
SubEntry &entry = _array[index];
entry.clear();
- int height2 = height - 2;
- int height1 = height - 1;
- entry._data1.resize((2 * height - 3) * width);
- entry._data2.resize(width * height2 + 2);
- entry._data2[0] = FVector(0.0, val, 0.0);
+ const double FACTOR = 2 * M_PI / 360.0;
+ int d1Count, d2Count, size3, height1;
+ int ctr, ctr2, idx, offset, f11;
+ double vx, vy, f5, f6, f7, f8, f9, f10;
+
+ d1Count = width * (2 * height - 3);
+ d2Count = (height - 2) * width + 2;
+ entry._data1.resize(d1Count);
+ entry._data2.resize(d2Count);
+
+ height1 = height - 1;
+ entry._data2[0]._y = val;
+
+ vy = 180.0 / (double)height1;
+ vx = 360.0 / (double)width;
+
+ for (ctr = height - 2, idx = 0; ctr > 0; --ctr, vy *= 2) {
+ f5 = 0.0;
+ f6 = cos(vy * FACTOR);
+ f7 = sin(vy * FACTOR);
- index = 1;
- double vy = 180.0 / (double)height1;
- double vx = 360.0 / (double)width;
- const double FACTOR = 3.1415927 * 0.0055555557;
+ if (width > 0) {
+ f8 = f6 * val;
- if (height1 > 1) {
- double yAmount = vy;
- int width12 = width * 12;
- for (int yCtr = height1 - 1; yCtr > 0; --yCtr, yAmount += vy) {
- double sineVal = sin(yAmount * FACTOR);
+ for (int xp = width; xp > 0; --xp, ++idx, f5 += vx) {
+ f9 = f5 * FACTOR;
+ f10 = cos(f9) * f7 * val;
+ FVector &tempV = entry._data2[idx];
+ tempV._x = sin(f9) * f7 * val;
+ tempV._y = f8;
+ tempV._z = f10;
+ }
+ }
+ }
+ entry._data2[idx] = FVector(0.0, -1.0, 0.0);
+
+ size3 = width * (height - 3) + 1;
+ offset = 0;
+ Data1 *data1P = &entry._data1[0];
+ for (ctr = 0; ctr < width; ++ctr, ++size3) {
+ data1P->_index1 = 0;
+ data1P->_index2 = size3 - width * (height - 3);
+ ++data1P;
+
+ data1P->_index1 = d2Count - 1;
+ data1P->_index2 = size3;
+ ++data1P;
+ }
- | 0.0 * FACTOR |
- | cos(yAmount * FACTOR) * val |
- | 0.0 |
- |yAmount|
+ f11 = 1;
+ for (ctr = 1; ctr < height1; ++ctr, f11 += width) {
+ data1P = &entry._data1[offset];
+
+ for (ctr2 = 0; ctr2 < width; ++ctr2) {
+ data1P->_index1 = ctr2 + f11;
+ if (ctr2 == width - 1)
+ data1P->_index2 = f11;
+ else
+ data1P->_index2 = ctr2 + f11 + 1;
+
+ ++offset;
+ ++data1P;
+
+ if (ctr < height - 2) {
+ data1P->_index1 = ctr2 + f11;
+ ++offset;
+ data1P->_index2 = width + ctr2 + f11;
+ ++data1P;
+ }
}
}
- // TODO
- */
return true;
}
More information about the Scummvm-git-logs
mailing list