1 /* ScummVM - Graphic Adventure Engine 2 * 3 * ScummVM is the legal property of its developers, whose names 4 * are too numerous to list here. Please refer to the COPYRIGHT 5 * file distributed with this source distribution. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * as published by the Free Software Foundation; either version 2 10 * of the License, or (at your option) any later version. 11 * 12 * This program is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with this program; if not, write to the Free Software 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 20 * 21 */ 22 23 #ifndef LASTEXPRESS_MAX_H 24 #define LASTEXPRESS_MAX_H 25 26 #include "lastexpress/entities/entity.h" 27 28 namespace LastExpress { 29 30 class LastExpressEngine; 31 32 class Max : public Entity { 33 public: 34 Max(LastExpressEngine *engine); ~Max()35 ~Max() {} 36 37 /** 38 * Resets the entity 39 */ 40 DECLARE_FUNCTION(reset) 41 42 /** 43 * Plays sound 44 * 45 * @param filename The sound filename 46 */ 47 DECLARE_FUNCTION_1(playSound, const char *filename) 48 49 /** 50 * Draws the entity 51 * 52 * @param savepoint The savepoint 53 * - The sequence to draw 54 */ 55 DECLARE_FUNCTION_NOSETUP(draw) 56 57 /** 58 * Handles entering/exiting a compartment. 59 * 60 * @param sequence The sequence to draw 61 * @param compartment The compartment 62 */ 63 DECLARE_FUNCTION_2(enterExitCompartment, const char *sequence, ObjectIndex compartment) 64 65 /** 66 * Saves the game 67 * 68 * @param savegameType The type of the savegame 69 * @param param The param for the savegame (EventIndex or TimeValue) 70 */ 71 DECLARE_FUNCTION_2(savegame, SavegameType savegameType, uint32 param) 72 73 DECLARE_FUNCTION(withAnna) 74 DECLARE_FUNCTION(guardingCompartment) 75 DECLARE_FUNCTION(inCageFriendly) 76 DECLARE_FUNCTION(function9) 77 78 /** 79 * Setup Chapter 1 80 */ 81 DECLARE_FUNCTION(chapter1) 82 83 /** 84 * Setup Chapter 2 85 */ 86 DECLARE_FUNCTION(chapter2) 87 88 /** 89 * Setup Chapter 3 90 */ 91 DECLARE_FUNCTION(chapter3) 92 93 /** 94 * Handle Chapter 3 events 95 */ 96 DECLARE_FUNCTION(chapter3Handler) 97 98 DECLARE_FUNCTION(inCageMad) 99 DECLARE_FUNCTION(letMeIn) 100 101 /** 102 * Setup Chapter 4 103 */ 104 DECLARE_FUNCTION(chapter4) 105 106 DECLARE_FUNCTION(function17) 107 108 /** 109 * Setup Chapter 5 110 */ 111 DECLARE_FUNCTION(chapter5) 112 }; 113 114 } // End of namespace LastExpress 115 116 #endif // LASTEXPRESS_MAX_H 117