diff options
Diffstat (limited to 'engines/mohawk/riven_stacks/tspit.h')
-rw-r--r-- | engines/mohawk/riven_stacks/tspit.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/engines/mohawk/riven_stacks/tspit.h b/engines/mohawk/riven_stacks/tspit.h index 90c62a0272..6b9e7efdf3 100644 --- a/engines/mohawk/riven_stacks/tspit.h +++ b/engines/mohawk/riven_stacks/tspit.h @@ -25,13 +25,55 @@ #include "mohawk/riven_stacks/domespit.h" +#include "common/rect.h" + namespace Mohawk { namespace RivenStacks { +/** + * Temple Island + */ class TSpit : public DomeSpit { public: TSpit(MohawkEngine_Riven *vm); + // External commands - Telescope + void xtexterior300_telescopedown(uint16 argc, uint16 *argv); + void xtexterior300_telescopeup(uint16 argc, uint16 *argv); + + // External commands - Telescope cover buttons. Button is the button number (1...5). + void xtisland390_covercombo(uint16 argc, uint16 *argv); // Param1: button + + // External commands - Atrus' Journal and Trap Book are added to inventory + void xtatrusgivesbooks(uint16 argc, uint16 *argv); + + // External commands - Trap Book is removed from inventory + void xtchotakesbook(uint16 argc, uint16 *argv); + void xthideinventory(uint16 argc, uint16 *argv); + + // External commands - Marble Puzzle + void xt7500_checkmarbles(uint16 argc, uint16 *argv); + void xt7600_setupmarbles(uint16 argc, uint16 *argv); + void xt7800_setup(uint16 argc, uint16 *argv); + void xdrawmarbles(uint16 argc, uint16 *argv); + void xtakeit(uint16 argc, uint16 *argv); + + // External commands - Dome + void xtscpbtn(uint16 argc, uint16 *argv); + void xtisland4990_domecheck(uint16 argc, uint16 *argv); + void xtisland5056_opencard(uint16 argc, uint16 *argv); + void xtisland5056_resetsliders(uint16 argc, uint16 *argv); + void xtisland5056_slidermd(uint16 argc, uint16 *argv); + void xtisland5056_slidermw(uint16 argc, uint16 *argv); + + // External commands - Demo-specific + void xtatboundary(uint16 argc, uint16 *argv); + +private: + void drawMarbles(); + void setMarbleHotspots(); + + Common::Array<Common::Rect> _marbleBaseHotspots; }; } // End of namespace RivenStacks |