aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_control_sub8.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/star_control/star_control_sub8.cpp')
-rw-r--r--engines/titanic/star_control/star_control_sub8.cpp16
1 files changed, 7 insertions, 9 deletions
diff --git a/engines/titanic/star_control/star_control_sub8.cpp b/engines/titanic/star_control/star_control_sub8.cpp
index 53f2394c20..bf29b053c5 100644
--- a/engines/titanic/star_control/star_control_sub8.cpp
+++ b/engines/titanic/star_control/star_control_sub8.cpp
@@ -31,11 +31,6 @@ namespace Titanic {
CStarControlSub8::CStarControlSub8() : _field8(-1), _entryIndex(-1) {
}
-int CStarControlSub8::findStar(const Common::Point &pt) {
- // TODO
- return -1;
-}
-
void CStarControlSub8::selectStar(int index, CVideoSurface *surface,
CStarField *starField, CStarControlSub7 *sub7) {
if (_entryIndex >= 0) {
@@ -110,9 +105,6 @@ bool CStarControlSub8::fn1(CStarField *starField, CSurfaceArea *surfaceArea, CSt
clear();
return false;
}
-
- // TODO
- return true;
}
void CStarControlSub8::fn2(CVideoSurface *surface, CStarField *starField, CStarControlSub7 *sub7) {
@@ -198,7 +190,13 @@ void CStarControlSub8::fn4(int index, CSurfaceArea *surfaceArea) {
}
void CStarControlSub8::fn5(int index, CVideoSurface *surface, CStarField *starField, CStarControlSub7 *sub7) {
- // TODO
+ surface->lock();
+ CSurfaceArea surfaceArea(surface);
+ fn7(_positions[index + 1], &surfaceArea);
+ surface->unlock();
+
+ const CBaseStarEntry *starP = starField->getDataPtr(_positions[index + 1]._index1);
+ sub7->addStar(starP);
}
void CStarControlSub8::fn6(CSurfaceArea *surfaceArea) {