aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_stacks/tspit.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/riven_stacks/tspit.h')
-rw-r--r--engines/mohawk/riven_stacks/tspit.h42
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