aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_view.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/star_control/star_view.cpp')
-rw-r--r--engines/titanic/star_control/star_view.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/engines/titanic/star_control/star_view.cpp b/engines/titanic/star_control/star_view.cpp
index d5026324f3..e717206e55 100644
--- a/engines/titanic/star_control/star_view.cpp
+++ b/engines/titanic/star_control/star_view.cpp
@@ -242,7 +242,7 @@ void CStarView::starDestinationSet() {
}
void CStarView::resetPosition() {
- // TODO
+ _sub12.setPosition(FVector(0.0, 0.0, 0.0));
}
bool CStarView::fn1() {
@@ -359,7 +359,10 @@ void CStarView::fn16() {
}
void CStarView::fn17() {
- // TODO
+ if (_starField && !_showingPhoto) {
+ _sub12.proc35();
+ _starField->fn8(_videoSurface2);
+ }
}
void CStarView::fn18(CStarControlSub12 *sub12) {
@@ -410,12 +413,36 @@ void CStarView::randomizeVectors2(FVector *v1, FVector *v2) {
v1->_y = 3072.0 - g_vm->getRandomFloat() * -4096.0;
v1->_z = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+ // TODO: Doublecheck
+ v2->_x = -v1->_x;
+ v2->_y = -v1->_y;
+ v2->_z = -v1->_z;
+ v2->fn3();
+}
+
+void CStarView::randomizeVectors3(FVector *v1, FVector *v2) {
+ v1->_x = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+ v1->_y = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+ v1->_z = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+
+ // TODO: Doublecheck
v2->_x = -v1->_x;
v2->_y = -v1->_y;
v2->_z = -v1->_z;
v2->fn3();
}
+void CStarView::randomizeVectors4(FVector *v1, FVector *v2) {
+ v1->_x = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+ v1->_y = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+ v1->_z = 3072.0 - g_vm->getRandomFloat() * -4096.0;
+
+ // TODO: Doublecheck
+ v2->_x = -v1->_x;
+ v2->_y = -v1->_y;
+ v2->_z = -v1->_z;
+ v2->fn3();
+}
void CStarView::resizeSurface(CScreenManager *scrManager, int width, int height,
CVideoSurface **surface) {
if (!surface)