3 * \brief Load a list of possible graphics modes.
5 * Copyright (c) 2011 Brett Reid
7 * This work is free software; you can redistribute it and/or modify it
8 * under the terms of either:
10 * a) the GNU General Public License as published by the Free Software
11 * Foundation, version 2, or
13 * b) the "Angband licence":
14 * This software may be copied and distributed for educational, research,
15 * and not for profit purposes provided that this copyright and statement
16 * are included in all such copies. Other copyrights may also apply.
18 /* Imported from Angband 4.2 to support main-cocoa.m in Hengband. */
19 #ifndef INCLUDED_GRAFMODE_H
20 #define INCLUDED_GRAFMODE_H
25 * Default graphic modes
27 * For Hengband, this preprocessor macro is in defines.h.
29 /* #define GRAPHICS_NONE 0 */
33 * Specifications for graphics modes.
35 * grafID: ID of tile set should be >0 and unique for anything new.
36 * alphablend: Bool whether or not the tileset needs alpha blending.
37 * overdrawRow: Row in the file where tiles in that row or lower draw the tile
39 * overdrawMax: Row in the file where tiles in that row or above draw the tile
41 * cell_width: Width of an individual tile in pixels.
42 * cell_height: Height of an individual tile in pixels.
43 * pref: Value of ANGBAND_GRAF variable.
44 * file: Name of PNG file (if any).
45 * menuname: Name of the tileset in menu.
47 typedef struct _graphics_mode {
48 struct _graphics_mode *pNext;
60 * This is a hack for Hengband: ANGBAND_GRAF set to this rather
61 * then the pref field above.
66 extern graphics_mode *graphics_modes;
67 extern graphics_mode *current_graphics_mode;
68 extern int graphics_mode_high_id;
70 bool init_graphics_modes();
71 void close_graphics_modes(void);
72 graphics_mode* get_graphics_mode(byte id);
74 #endif /* INCLUDED_GRAFMODE_H */