diff options
author | Matthew Stewart | 2018-05-16 18:21:34 -0400 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-09 08:37:30 +0200 |
commit | 2120ce106210538c9508be1e275bdba97ddda63a (patch) | |
tree | e255e695c4c0253fba4545fa935f0c450a5ef1b2 /engines/startrek/startrek.h | |
parent | 2731ae228795ca1a8d823f147212ef5c22261598 (diff) | |
download | scummvm-rg350-2120ce106210538c9508be1e275bdba97ddda63a.tar.gz scummvm-rg350-2120ce106210538c9508be1e275bdba97ddda63a.tar.bz2 scummvm-rg350-2120ce106210538c9508be1e275bdba97ddda63a.zip |
STARTREK: Action menu
Diffstat (limited to 'engines/startrek/startrek.h')
-rw-r--r-- | engines/startrek/startrek.h | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/engines/startrek/startrek.h b/engines/startrek/startrek.h index 8031bcb557..b146df8c8f 100644 --- a/engines/startrek/startrek.h +++ b/engines/startrek/startrek.h @@ -26,6 +26,7 @@ #include "common/events.h" #include "common/list.h" #include "common/ptr.h" +#include "common/random.h" #include "common/rect.h" #include "common/scummsys.h" #include "common/str.h" @@ -137,7 +138,7 @@ enum OptionMenuButtons { }; enum TrekEventType { - TREKEVENT_TICK = 0, // DOS clock changes (see updateClockTicks) + TREKEVENT_TICK = 0, // DOS clock changes TREKEVENT_LBUTTONDOWN = 1, TREKEVENT_MOUSEMOVE = 2, TREKEVENT_LBUTTONUP = 3, @@ -153,6 +154,8 @@ struct TrekEvent { uint32 tick; }; +// Commands: Signals that can be passed to "handleAwayMissionCommands" or to room-specfiic +// code. enum Commands { COMMAND_TICK = 0, COMMAND_CLICKED_ON_OBJECT = 1, @@ -172,6 +175,16 @@ struct Command { : type(_type), b1(_b1), b2(_b2), b3(_b3) {} }; +// Actions that can be used on away missions. +enum Acton { + ACTION_WALK = 1, + ACTION_USE = 2, + ACTION_GET = 3, + ACTION_LOOK = 4, + ACTION_TALK = 5, + ACTION_OPTIONS = 13 // Not really an action, but selectable from action menu +}; + struct StarTrekGameDescription; class Graphics; @@ -292,6 +305,7 @@ public: void chooseMousePositionFromSprites(Sprite *sprites, int numSprites, int spriteIndex, int mode); void drawMenuButtonOutline(SharedPtr<Bitmap> bitmap, byte color); void showOptionsMenu(int x, int y); + int showActionMenu(); void loadMenuButtons(String mnuFilename, int xpos, int ypos); void setVisibleMenuButtons(uint32 bits); void disableMenuButtons(uint32 bits); @@ -299,6 +313,7 @@ public: int handleMenuEvents(uint32 ticksUntilClickingEnabled, bool arg4); void unloadMenuButtons(); + void chooseMouseBitmapForAction(int action, bool withRedOutline); void showSaveMenu(); void showLoadMenu(); void showQuitGamePrompt(int x, int y); @@ -333,6 +348,9 @@ public: void playMovie(Common::String filename); void playMovieMac(Common::String filename); + // Misc + uint16 getRandomWord(); + public: int _gameMode; @@ -355,6 +373,7 @@ public: bool _warpHotspotsActive; int16 _activeWarpHotspot; int16 _activeDoorWarpHotspot; + int16 _lookActionBitmapIndex; Object _objectList[MAX_OBJECTS]; Object * const _kirkObject; @@ -393,6 +412,8 @@ public: Sound *_sound; private: + Common::RandomSource _randomSource; + Common::MacResManager *_macResFork; SharedPtr<Room> _room; SharedPtr<IWFile> _iwFile; |