21#ifndef SCUMM_INSANE_MORTIMER_INTERVIEW_H
22#define SCUMM_INSANE_MORTIMER_INTERVIEW_H
24#include "common/random.h"
25#include "scumm/insane/mortimer/text.h"
37 enum Effect { kNoEffect, kButtonEffect, kPayoutEffect, kSwitchEffect };
40 bool loadResources(uint region = 0,
bool programmer =
false);
41 void setDifficulty(uint difficulty) { _difficulty = difficulty; }
44 void start(uint species, uint stones,
int scene = 10);
45 void rescueAll() { _species = 0x7f; _selected = 0; }
47 void scroll(
int direction);
50 void movieLoaded() { _moviePending =
false; }
55 bool needsMovie()
const {
return _moviePending; }
56 bool playingMovie()
const {
return !_movieName.empty(); }
57 bool fullScreen()
const;
58 bool showDashboard()
const {
return !fullScreen() || _stage == kPopup; }
59 bool forceSubtitles()
const {
return _stage == kSong; }
60 bool movieDoubled()
const;
61 bool wantsFlight()
const {
return _stage == kFlyAway; }
62 bool finished()
const {
return _stage == kFinished; }
63 bool solved()
const {
return _stage == kCorrect || _stage == kBonus || _stage == kOpenGate || _stage == kFinished; }
64 bool payingBonus()
const {
return _stage == kBonus; }
65 bool bonusFinished()
const {
return _stage == kOpenGate || _stage == kFinished; }
66 uint takeBonusStones();
67 bool restartsRegion()
const {
return _restartRegion; }
69 int riddleId()
const {
return _answer * 10 + _textDifficulty; }
70 bool outOfGuesses()
const {
return _guesses == 0; }
74 uint stones()
const {
return _stones; }
75 uint species()
const {
return _species; }
76 int highlightedAnimal()
const;
81 kGate, kSong, kPopup, kIdle, kAnswer, kRiddle, kSolve,
82 kNoStones, kPay, kGuess, kCorrect, kBonus, kWrong, kOpenGate,
83 kEnding, kHelp, kFlyAway, kFinished, kCost, kNoAnimals, kTried
86 void enter(Stage stage);
87 void selectAnimal(
int animal);
89 bool loadText(
const char *path,
bool riddles);
95 uint _region, _difficulty, _textDifficulty, _tried;
100 byte _palette[768], _gatePalette[768];
103 int _answer, _previousAnswer, _selected, _question, _guess, _lastAction, _textScroll, _guesses;
104 uint _species, _stones, _frame, _switchFrame, _payment, _bonusStones;
105 bool _moviePending, _riddleView, _solving, _help, _helpExplained, _restartRegion, _programmer;
Definition: interview.h:35
Definition: formatinfo.h:28