aboutsummaryrefslogtreecommitdiff
path: root/engines/lastexpress/game/menu.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/lastexpress/game/menu.h')
-rw-r--r--engines/lastexpress/game/menu.h207
1 files changed, 0 insertions, 207 deletions
diff --git a/engines/lastexpress/game/menu.h b/engines/lastexpress/game/menu.h
deleted file mode 100644
index 4b84c065cb..0000000000
--- a/engines/lastexpress/game/menu.h
+++ /dev/null
@@ -1,207 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef LASTEXPRESS_MENU_H
-#define LASTEXPRESS_MENU_H
-
-#include "lastexpress/data/sequence.h"
-
-#include "lastexpress/eventhandler.h"
-
-#include "lastexpress/shared.h"
-
-#include "common/hashmap.h"
-
-namespace LastExpress {
-
-class LastExpressEngine;
-class Scene;
-class SceneHotspot;
-
-class Clock;
-class TrainLine;
-
-class Menu : public EventHandler {
-public:
- Menu(LastExpressEngine *engine);
- ~Menu();
-
- void show(bool doSavegame, SavegameType type, uint32 value);
-
- // Event handling
- void eventMouse(const Common::Event &ev);
- void eventTick(const Common::Event &ev);
-
- bool isShown() const { return _isShowingMenu; }
-
- GameId getGameId() const { return _gameId; }
-
-private:
- // Start menu events
- enum StartMenuAction {
- kMenuContinue = 1,
- kMenuCredits = 2,
- kMenuQuitGame = 3,
- kMenuCase4 = 4,
- kMenuSwitchSaveGame = 6,
- kMenuRewindGame = 7,
- kMenuForwardGame = 8,
- kMenuParis = 10,
- kMenuStrasBourg = 11,
- kMenuMunich = 12,
- kMenuVienna = 13,
- kMenuBudapest = 14,
- kMenuBelgrade = 15,
- kMenuConstantinople = 16,
- kMenuDecreaseVolume = 17,
- kMenuIncreaseVolume = 18,
- kMenuDecreaseBrightness = 19,
- kMenuIncreaseBrightness = 20
- };
-
- // City buttons
- enum CityButton {
- kParis = 0,
- kStrasbourg = 1,
- kMunich = 2,
- kVienna = 3,
- kBudapest = 4,
- kBelgrade = 5,
- kConstantinople = 6
- };
-
- // Start menu overlay elements
- enum StartMenuOverlay {
- kOverlayTooltip, // 0
- kOverlayEggButtons,
- kOverlayButtons,
- kOverlayAcorn,
- kOverlayCity1,
- kOverlayCity2, // 5
- kOverlayCity3,
- kOverlayCredits
- };
-
- LastExpressEngine *_engine;
-
- // Sequences
- Sequence *_seqTooltips;
- Sequence *_seqEggButtons;
- Sequence *_seqButtons;
- Sequence *_seqAcorn;
- Sequence *_seqCity1;
- Sequence *_seqCity2;
- Sequence *_seqCity3;
- Sequence *_seqCredits;
-
- GameId _gameId;
-
- // Indicator to know if we need to show the start animation when showMenu is called
- bool _hasShownStartScreen;
- bool _hasShownIntro;
-
- bool _isShowingCredits;
- bool _isGameStarted;
- bool _isShowingMenu;
-
-
- uint16 _creditsSequenceIndex;
-
- //////////////////////////////////////////////////////////////////////////
- // Event handling
- uint32 _checkHotspotsTicks;
- Common::EventType _mouseFlags;
- SceneHotspot *_lastHotspot;
-
- void init(bool doSavegame, SavegameType type, uint32 value);
- void setup();
- bool handleEvent(StartMenuAction action, Common::EventType type);
- void checkHotspots();
- void setLogicEventHandlers();
-
- //////////////////////////////////////////////////////////////////////////
- // Game-related
- void startGame();
- void switchGame();
-
- //////////////////////////////////////////////////////////////////////////
- // Overlays & elements
- Clock *_clock;
- TrainLine *_trainLine;
-
- struct MenuOverlays_EqualTo {
- bool operator()(const StartMenuOverlay &x, const StartMenuOverlay &y) const { return x == y; }
- };
-
- struct MenuOverlays_Hash {
- uint operator()(const StartMenuOverlay &x) const { return x; }
- };
-
- typedef Common::HashMap<StartMenuOverlay, SequenceFrame *, MenuOverlays_Hash, MenuOverlays_EqualTo> MenuFrames;
-
- MenuFrames _frames;
-
- void hideOverlays();
- void showFrame(StartMenuOverlay overlay, int index, bool redraw);
-
- void clear();
-
- // TODO: remove?
- void moveToCity(CityButton city, bool clicked);
-
- //////////////////////////////////////////////////////////////////////////
- // Misc
- Common::String getAcornSequenceName(GameId id) const;
-
- //////////////////////////////////////////////////////////////////////////
- // Time
- uint32 _currentTime; // current game time
- uint32 _lowerTime; // lower time value
- uint32 _time;
-
- uint32 _currentIndex; // current savegame entry
- uint32 _index;
- uint32 _lastIndex;
- uint32 _delta;
- bool _handleTimeDelta;
-
- void initTime(SavegameType type, uint32 val);
- void updateTime(uint32 time);
- void adjustTime();
- void adjustIndex(uint32 time1, uint32 time2, bool searchEntry);
- void goToTime(uint32 time);
- void setTime();
- void forwardTime();
- void rewindTime();
- bool hasTimeDelta() { return (_currentTime - _time) >= 1; }
-
- //////////////////////////////////////////////////////////////////////////
- // Sound/Brightness related
- uint32 getVolume() const;
- void setVolume(uint32 volume) const;
- uint32 getBrightness() const;
- void setBrightness(uint32 brightness) const;
-};
-
-} // End of namespace LastExpress
-
-#endif // LASTEXPRESS_MENU_H