exult.h

Go to the documentation of this file.
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

Generated on Mon Jul 9 14:42:45 2007 for ExultEngine by  doxygen 1.5.1