scummvm/engines/sci/gfx/gfx_res_options.h
Filippos Karapetis e940bcff23 - Simplified SCI version detection a bit and clarified the different version feature flags (not used yet)
- Removed the version verification functions (they were only used for two specific cases, but the SCI executable reader is able to detect the exact SCI game version anyway, so there is no point in having these)
- Removed the empty GameFlags structure and replaced it with a 32-bit integer instead

svn-id: r40524
2009-05-13 16:52:41 +00:00

102 lines
2.8 KiB
C++

/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* $URL$
* $Id$
*
*/
/* Configuration options for per-resource customisations */
#ifndef SCI_GFX_GFX_RES_OPTIONS_H
#define SCI_GFX_GFX_RES_OPTIONS_H
#ifdef CUSTOM_GRAPHICS_OPTIONS
#include "sci/sci.h"
#include "sci/gfx/gfx_resource.h"
#include "sci/gfx/gfx_resmgr.h"
namespace Sci {
struct gfx_res_pattern_t {
int min, max;
};
/* GFX resource assignments */
struct gfx_res_assign_t {
union {
struct {
int colors_nr;
gfx_pixmap_color_t *colors;
} palette;
} assign;
};
/* GFX resource modifications */
struct gfx_res_conf_t {
int type; /* Resource type-- only one allowed */
/* If any of the following is 0, it means that there is no restriction.
** Otherwise, one of the patterns associated with them must match. */
int patterns_nr; /* Number of patterns (only 'view' patterns for views) */
int loops_nr, cels_nr; /* Number of loop/cel patterns, for views only.
** For pics, loops_nr identifies the palette. */
gfx_res_pattern_t *patterns;
union {
gfx_res_assign_t assign;
byte factor[3]; /* divide by 16 to retrieve factor */
} conf; /* The actual configuration */
gfx_res_conf_t *next;
};
typedef gfx_res_conf_t *gfx_res_conf_p_t;
struct gfx_res_fullconf_t {
gfx_res_conf_p_t assign[GFX_RESOURCE_TYPES_NR];
gfx_res_conf_p_t mod[GFX_RESOURCE_TYPES_NR];
};
struct gfx_options_t;
int gfx_get_res_config(gfx_options_t *options, gfx_pixmap_t *pxm);
/* Configures a graphical pixmap according to config options
** Parameters: (gfx_options_t *) options: The options according to which
** configuration should be performed
** (gfx_resource_type_t) pxm: The pixmap to configure
** Returns : (int) 0 on success, non-zero otherwise
** Modifies pxm as considered appropriate by configuration options. Does
** not do anything in colour index mode.
*/
} // End of namespace Sci
#endif
#endif // SCI_GFX_GFX_RES_OPTIONS_H