aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/star_control/star_control.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2017-02-27 09:08:34 -0500
committerPaul Gilbert2017-02-27 09:08:34 -0500
commit1f99c01f1241b240017846822d387501b208f1d2 (patch)
tree47d1e4fa4435ab397aa05a9a781fb74bcc12adac /engines/titanic/star_control/star_control.cpp
parent2dab510bee4fd04712bb73fd511073735cc84665 (diff)
downloadscummvm-rg350-1f99c01f1241b240017846822d387501b208f1d2.tar.gz
scummvm-rg350-1f99c01f1241b240017846822d387501b208f1d2.tar.bz2
scummvm-rg350-1f99c01f1241b240017846822d387501b208f1d2.zip
TITANIC: Added remainder of CStarControl class
Diffstat (limited to 'engines/titanic/star_control/star_control.cpp')
-rw-r--r--engines/titanic/star_control/star_control.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/engines/titanic/star_control/star_control.cpp b/engines/titanic/star_control/star_control.cpp
index 5874d01760..dcde81e253 100644
--- a/engines/titanic/star_control/star_control.cpp
+++ b/engines/titanic/star_control/star_control.cpp
@@ -72,7 +72,7 @@ void CStarControl::load(SimpleFile *file) {
_view.load(file, 0);
CScreenManager *screenManager = CScreenManager::setCurrent();
if (!screenManager)
- error("There's no screen manager during loading");
+ error("There's no screen manager during loading");
_view.setup(screenManager, &_starField, this);
_view.reset();
@@ -131,7 +131,21 @@ bool CStarControl::FrameMsg(CFrameMsg *msg) {
}
void CStarControl::newFrame() {
- // TODO
+ if (!_petControl)
+ _petControl = getPetControl();
+
+ if (_petControl) {
+ int val1 = _starField.get88();
+ int val2 = 0;
+
+ if (!_starField.get3()) {
+ val2 = _starField.get5();
+ if ((val1 + 2) == _starField.get7Count())
+ val2 = 0;
+ }
+
+ _petControl->starsSetButtons(val1, val2);
+ }
}
void CStarControl::doAction(StarControlAction action) {
@@ -238,10 +252,7 @@ void CStarControl::doAction(StarControlAction action) {
case STAR_19:
_view.petDestinationSet();
break;
-
}
-
- // TODO
}
bool CStarControl::isSolved() const {