aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_control_sub12.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/star_control/star_control_sub12.cpp')
-rw-r--r--engines/titanic/star_control/star_control_sub12.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/titanic/star_control/star_control_sub12.cpp b/engines/titanic/star_control/star_control_sub12.cpp
index cd7400c577..ff0edb5cc7 100644
--- a/engines/titanic/star_control/star_control_sub12.cpp
+++ b/engines/titanic/star_control/star_control_sub12.cpp
@@ -198,13 +198,15 @@ int CStarControlSub12::proc27() const {
return _sub13._field24;
}
-FVector CStarControlSub12::proc28(int index, const void *v2) {
- error("TODO: CStarControlSub12::proc28");
- return FVector();
+void CStarControlSub12::proc28(int index, const FVector &src, FVector &dest) {
+ dest._x = ((_sub13._valArray[index] + src._x) * _sub13._fieldC8)
+ / (_sub13._fieldCC * src._z);
+ dest._y = src._y * _sub13._fieldC8 / (_sub13._fieldD0 * src._z);
+ dest._z = src._z;
}
-FVector CStarControlSub12::proc29(const FVector &v) {
- return _sub13.fn16(v);
+void CStarControlSub12::proc29(int index, const FVector &src, FVector &dest) {
+ _sub13.fn16(index, src, dest);
}
FVector CStarControlSub12::proc30(int index, const FVector &v) {