aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova
diff options
context:
space:
mode:
authorJoseph-Eugene Winzer2017-06-21 12:58:39 +0200
committerThierry Crozat2018-01-22 23:34:49 +0000
commit74b822c220049df185db35f03714c64db6cf360a (patch)
tree26639d08e96c46a79f62757357d343e35d58e349 /engines/supernova
parentf2e3a4d9c458499108d73f1e616517c8b8e841d6 (diff)
downloadscummvm-rg350-74b822c220049df185db35f03714c64db6cf360a.tar.gz
scummvm-rg350-74b822c220049df185db35f03714c64db6cf360a.tar.bz2
scummvm-rg350-74b822c220049df185db35f03714c64db6cf360a.zip
SUPERNOVA: Refactors and adds GameManager functions
Diffstat (limited to 'engines/supernova')
-rw-r--r--engines/supernova/supernova.cpp37
-rw-r--r--engines/supernova/supernova.h16
2 files changed, 40 insertions, 13 deletions
diff --git a/engines/supernova/supernova.cpp b/engines/supernova/supernova.cpp
index 53890398dd..c57e1e929e 100644
--- a/engines/supernova/supernova.cpp
+++ b/engines/supernova/supernova.cpp
@@ -648,7 +648,7 @@ void GameManager::processInput() {
// STUB
}
-void GameManager::turnoff() {
+void GameManager::turnOff() {
if (_state.powerOff)
return;
@@ -656,6 +656,9 @@ void GameManager::turnoff() {
roomBrightness();
}
+void GameManager::turnOn() {
+ // STUB
+}
void GameManager::takeObject(Object &obj) {
if (obj.hasProperty(CARRIED))
@@ -680,7 +683,7 @@ void GameManager::mouseInput3() {
// STUB
}
-void GameManager::mouseWait(int) {
+void GameManager::mouseWait(int delay) {
// STUB
}
@@ -688,7 +691,7 @@ void GameManager::roomBrightness() {
// STUB
}
-void GameManager::load_time() {
+void GameManager::loadTime() {
// STUB
}
@@ -696,15 +699,16 @@ void GameManager::saveTime() {
// STUB
}
-void GameManager::saveGame(int) {
+bool GameManager::saveGame(int number) {
// STUB
+ return false;
}
void GameManager::errorTemp() {
// STUB
}
-void GameManager::wait2(int) {
+void GameManager::wait2(int delay) {
// STUB
}
@@ -717,6 +721,12 @@ void GameManager::palette() {
// Adjust palette to brightness parameters and make it current
}
+void GameManager::shock() {
+ // STUB
+ _vm->playSound(48, 10520);
+ // die
+}
+
void GameManager::showMenu() {
// STUB
}
@@ -733,7 +743,7 @@ void GameManager::animationOn() {
// STUB
}
-void GameManager::edit(int, int, char *, int) {
+void GameManager::edit(char *text, int x, int y, int length) {
// STUB
}
@@ -741,6 +751,19 @@ void GameManager::loadOverlayStart() {
// STUB
}
+void GameManager::openLocker(const Room *room, Object *obj, Object *lock, int section) {
+ _vm->renderImage(room->getFileNumber(), section);
+ obj->setProperty(OPENED);
+ lock->_click = 255;
+ int i = obj->_click;
+ obj->_click = obj->_click2;
+ obj->_click2 = i;
+}
+
+void GameManager::closeLocker(const Room *room, Object *obj, Object *lock, int section) {
+ // STUB
+}
+
int GameManager::invertSection(int section) {
if (section < 128)
section += 128;
@@ -840,7 +863,7 @@ bool GameManager::genericInteract(Action verb, Object &obj1, Object &obj2) {
t[0] = 0;
_vm->renderBox(91, 99, 138, 9, kColorDarkBlue);
do {
- edit(91, 100, t, 5);
+ edit(t, 91, 100, 5);
} while ((_key != Common::ASCII_RETURN) && (_key != Common::ASCII_ESCAPE));
f = false;
if (t[0] == ':') {
diff --git a/engines/supernova/supernova.h b/engines/supernova/supernova.h
index 0068d70191..5044a1d635 100644
--- a/engines/supernova/supernova.h
+++ b/engines/supernova/supernova.h
@@ -160,16 +160,18 @@ public:
bool isHelmetOff();
void great(uint number);
bool airless();
+ void shock();
void mouseInput();
void mouseInput2();
void mouseInput3();
- void mouseWait(int);
- void wait2(int);
- void turnoff();
+ void mouseWait(int delay);
+ void wait2(int delay);
+ void turnOff();
+ void turnOn();
void screenShake();
- void load_time();
+ void loadTime();
void saveTime();
- void saveGame(int);
+ bool saveGame(int number);
void errorTemp();
void roomBrightness();
void palette();
@@ -178,7 +180,9 @@ public:
void animationOff();
void animationOn();
void loadOverlayStart();
- void edit(int, int, char *, int);
+ void openLocker(const Room *room, Object *obj, Object *lock, int section);
+ void closeLocker(const Room *room, Object *obj, Object *lock, int section);
+ void edit(char *text, int x, int y, int length);
int invertSection(int section);
};