mirror of https://github.com/snes9xgit/snes9x.git
65 lines
2.6 KiB
C
65 lines
2.6 KiB
C
/*****************************************************************************\
|
|
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
|
|
This file is licensed under the Snes9x License.
|
|
For further information, consult the LICENSE file in the root directory.
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _CROSSHAIRS_H_
|
|
#define _CROSSHAIRS_H_
|
|
|
|
// Read in the specified crosshair file, replacing whatever data might be in that slot.
|
|
// Available slots are 1-31.
|
|
// The input file must be a PNG or a text file.
|
|
// PNG: 15x15 pixels, palettized, with 3 colors (white, black, and transparent).
|
|
// text: 15 lines of 16 characters (counting the \n), consisting of ' ', '#', or '.'.
|
|
|
|
bool S9xLoadCrosshairFile (int idx, const char *filename);
|
|
|
|
// Return the specified crosshair. Woo-hoo.
|
|
// char * to a 225-byte string, with '#' marking foreground, '.' marking background,
|
|
// and anything else transparent.
|
|
|
|
const char * S9xGetCrosshair (int idx);
|
|
|
|
// In controls.cpp. Sets the crosshair for the specified device. Defaults are:
|
|
// cross fgcolor bgcolor
|
|
// Mouse 1: 1 White Black
|
|
// Mouse 2: 1 Purple White
|
|
// Superscope: 2 White Black
|
|
// Justifier 1: 4 Blue Black
|
|
// Justifier 2: 4 MagicPink Black
|
|
// Macs Rifle: 2 White Black
|
|
//
|
|
// Available colors are: Trans, Black, 25Grey, 50Grey, 75Grey, White, Red, Orange,
|
|
// Yellow, Green, Cyan, Sky, Blue, Violet, MagicPink, and Purple.
|
|
// You may also prefix a 't' (e.g. tBlue) for a 50%-transparent version.
|
|
// Use idx = -1 or fg/bg = NULL to keep the current setting.
|
|
|
|
enum crosscontrols
|
|
{
|
|
X_MOUSE1,
|
|
X_MOUSE2,
|
|
X_SUPERSCOPE,
|
|
X_JUSTIFIER1,
|
|
X_JUSTIFIER2,
|
|
X_MACSRIFLE
|
|
};
|
|
|
|
void S9xSetControllerCrosshair (enum crosscontrols ctl, int8 idx, const char *fg, const char *bg);
|
|
void S9xGetControllerCrosshair (enum crosscontrols ctl, int8 *idx, const char **fg, const char **bg);
|
|
|
|
// In gfx.cpp, much like S9xDisplayChar() except it takes the parameters
|
|
// listed and looks up GFX.Screen.
|
|
// The 'crosshair' arg is a 15x15 image, with '#' meaning fgcolor,
|
|
// '.' meaning bgcolor, and anything else meaning transparent.
|
|
// Color values should be (RGB):
|
|
// 0 = transparent 4 = 23 23 23 8 = 31 31 0 12 = 0 0 31
|
|
// 1 = 0 0 0 5 = 31 31 31 9 = 0 31 0 13 = 23 0 31
|
|
// 2 = 8 8 8 6 = 31 0 0 10 = 0 31 31 14 = 31 0 31
|
|
// 3 = 16 16 16 7 = 31 16 0 11 = 0 23 31 15 = 31 0 16
|
|
// 16-31 are 50% transparent versions of 0-15.
|
|
|
|
void S9xDrawCrosshair (const char *crosshair, uint8 fgcolor, uint8 bgcolor, int16 x, int16 y);
|
|
|
|
#endif
|