#ifndef __SLOTS__SCREEN_H__184802466018249 #define __SLOTS__SCREEN_H__184802466018249 #include #include #define STATIC_ARRSIZE(arr) (sizeof((arr)) / sizeof((arr)[0])) #define RGB_MIN 0 #define RGB_MAX 255 #define CURSESCOLOR_MIN 0 #define CURSESCOLOR_MAX 1000 #define FUCKED_UP_ENTER 10 enum custom_colors { // Unspecified color CC_UNSPEC = -1, /* The standard curses colors are defined here as to prevent custom colors from reusing pre-existing // colors, in case the defaults are to be used */ CURSES_BLACK = COLOR_BLACK, // ncurses' default black CURSES_RED = COLOR_RED, // ncurses' default red CURSES_GREEN = COLOR_GREEN, // ncurses' default green CURSES_YELLOW = COLOR_YELLOW, // ncurses' default yellow CURSES_BLUE = COLOR_BLUE, // ncurses' default blue CURSES_MAGENTA = COLOR_MAGENTA, // ncurses' default magenta CURSES_CYAN = COLOR_CYAN, // ncurses' default cyan CURSES_WHITE = COLOR_WHITE, // ncurses' default white /* Start custom color definitions */ CC_RED, // RGB: 255, 0, 0 CC_ORANGE, // RGB: 255, 128, 0 CC_YELLOW, // RGB: 255, 255, 0 CC_GREEN, // RGB: 0, 255, 0 CC_BLUE, // RGB: 0, 0, 255 CC_PURPLE, // RGB: 155, 0, 255 CC_MAGENTA, // RGB: 255, 0, 255 CC_WHITE, // RGB: 255, 255, 255 CC_BLACK, // RGB: 0, 0, 0 // This isn't actually a color, even if you try to use it as one CC_TOOBIG }; enum customcolor_pairs { CCP_UNDEFINED, CCP_TESTING, CCP_BANNER, CCP_RED, CCP_ORANGE, CCP_YELLOW, CCP_GREEN, CCP_BLUE, CCP_PURPLE, CCP_MAGENTA, CCP_WHITE, CCP_TOOBIG }; #define NUMCOLORCYCLE 4 #define COLORWIDTH (CCP_WHITE - CCP_RED) #define NUMCOLORPAIRS (COLORWIDTH + 1) struct funcholder { int (*callback)(void*); enum type { FH_UNSPEC, FH_SPIN, FH_BUY, FH_QUIT, FH_TOOBIG } type; union param { struct spinp { WINDOW *bannerwin; int phrasenum; WINDOW *menuholder; MENU *menu; } spinp; struct buyp { unsigned long int price; int numspins; } buyp; struct quitp { char *REPLACEME; } quitp; } params; }; // Converts value from within the range of [oldmin, oldmax] to a value within the range [newmin, newmax] float normalize(float value, float oldmin, float oldmax, float newmin, float newmax); // Find the result of x + offset and constrain it to the range [min, max]. x must be >= min int rangemod(int x, int offset, int min, int max); // Initialize a new curses color using standard rgb values (0-255) instead of curses' 0-1000 range static int init_rgb_color(int colornum, int red, int green, int blue); int spin(void *spinp); int buy(void *buyp); int quit(void *quitp); #endif