00001 /* 00002 * Copyright (C) 2001 The Exult Team 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00019 #ifndef EXULT_H 00020 #define EXULT_H 00021 00022 #include "mouse.h" 00023 00024 class Actor; 00025 class Cheat; 00026 class Configuration; 00027 class Game_window; 00028 class KeyBinder; 00029 class Tile_coord; 00030 class Paintable; 00031 00032 /* 00033 * Get a click, or, optionally, a keyboard char. 00034 * 00035 * Output: 0 if user hit ESC. 00036 * Chr gets keyboard char., or 0 if it's was a mouse click. 00037 */ 00038 00039 extern int Get_click 00040 ( 00041 int& x, int& y, // Location returned (if not ESC). 00042 Mouse::Mouse_shapes shape, // Mouse shape to use. 00043 char *chr = 0, // Char. returned if not null. 00044 bool drag_ok = false, // Can drag while here. 00045 Paintable *paint = 0 // Paint over everything else. 00046 ); 00047 00048 /* 00049 * Make a screenshot of the current screen display 00050 */ 00051 extern void make_screenshot 00052 ( 00053 bool silent = false // If false, will display a success/failure message 00054 ); 00055 00056 /* 00057 * Wait for someone to stop walking. If a timeout is given, at least 00058 * one animation cycle will still always occur. 00059 */ 00060 00061 extern void Wait_for_arrival 00062 ( 00063 Actor *actor, // Whom to wait for. 00064 Tile_coord dest, // Where he's going. 00065 long maxticks = 0 // Max. # msecs. to wait, or 0. 00066 ); 00067 00068 extern void change_gamma (bool down); 00069 extern void increase_resolution(); 00070 extern void decrease_resolution(); 00071 00072 typedef enum 00073 { 00074 QUIT_TIME_NO = 0, 00075 QUIT_TIME_YES = 1, 00076 QUIT_TIME_RESTART = 2 00077 } quitting_time_enum; 00078 00079 extern KeyBinder *keybinder; 00080 extern Configuration *config; 00081 00082 extern quitting_time_enum quitting_time; 00083 00084 00085 #endif
1.5.1