Annotation of brogue-ce/src/platform/platform.h, Revision 1.1
1.1 ! rubenllo 1: #include "Rogue.h"
! 2:
! 3: #define U_MIDDLE_DOT 0x00b7
! 4: #define U_FOUR_DOTS 0x2237
! 5: #define U_DIAMOND 0x25c7
! 6: #define U_FLIPPED_V 0x22CF
! 7: #define U_ARIES 0x2648
! 8: #define U_ESZETT 0x00df
! 9: #define U_ANKH 0x2640
! 10: #define U_MUSIC_NOTE 0x266A
! 11: #define U_CIRCLE 0x26AA
! 12: #define U_LIGHTNING_BOLT 0x03DF
! 13: #define U_FILLED_CIRCLE 0x25cf
! 14: #define U_NEUTER 0x26b2
! 15: #define U_U_ACUTE 0x00da
! 16: #define U_CURRENCY 0x00A4
! 17: #define U_UP_ARROW 0x2191
! 18: #define U_DOWN_ARROW 0x2193
! 19: #define U_LEFT_ARROW 0x2190
! 20: #define U_RIGHT_ARROW 0x2192
! 21: #define U_OMEGA 0x03A9
! 22: #define U_CIRCLE_BARS 0x29F2
! 23: #define U_FILLED_CIRCLE_BARS 0x29F3
! 24:
! 25: // #define U_UP_TRIANGLE 0x2206
! 26: // #define U_DOWN_TRIANGLE 0x2207
! 27: // #define U_THETA 0x03B8
! 28: // #define U_LAMDA 0x03BB
! 29: // #define U_KOPPA 0x03DE
! 30: // #define U_LOZENGE 0x29EB
! 31: // #define U_CROSS_PRODUCT 0x2A2F
! 32:
! 33: struct brogueConsole {
! 34: /*
! 35: The platform entrypoint, called by the main function. Should initialize
! 36: and then call rogueMain.
! 37: */
! 38: void (*gameLoop)();
! 39:
! 40: /*
! 41: Pause the game, returning a boolean specifying whether an input event
! 42: is available for receiving with nextKeyOrMouseEvent.
! 43: */
! 44: boolean (*pauseForMilliseconds)(short milliseconds);
! 45:
! 46: /*
! 47: Block until an event is available and then update returnEvent with
! 48: its details. textInput is true iff a text-entry box is active. See
! 49: sdl2-platform.c for the boilerplate for colorsDance.
! 50: */
! 51: void (*nextKeyOrMouseEvent)(rogueEvent *returnEvent, boolean textInput, boolean colorsDance);
! 52:
! 53: /*
! 54: Draw a character at a location with a specific color.
! 55: */
! 56: void (*plotChar)(
! 57: enum displayGlyph inputChar,
! 58: short x, short y,
! 59: short foreRed, short foreGreen, short foreBlue,
! 60: short backRed, short backGreen, short backBlue
! 61: );
! 62:
! 63: void (*remap)(const char *, const char *);
! 64:
! 65: /*
! 66: Returns whether a keyboard modifier is active -- 0 for Shift, 1 for Ctrl.
! 67: */
! 68: boolean (*modifierHeld)(int modifier);
! 69:
! 70: /*
! 71: Optional. Notifies the platform code of an event during the game - e.g. victory
! 72: */
! 73: void (*notifyEvent)(short eventId, int data1, int data2, const char *str1, const char *str2);
! 74:
! 75: /*
! 76: Optional. Take a screenshot in current working directory
! 77: */
! 78: boolean (*takeScreenshot)();
! 79:
! 80: /*
! 81: Optional. Enables or disables graphical tiles, returning the new state. This
! 82: is called when the user changes the option in-game. It is also called at the
! 83: very start of the program, even before .gameLoop, to set the initial value.
! 84: */
! 85: boolean (*setGraphicsEnabled)(boolean);
! 86: };
! 87:
! 88: // defined in platform
! 89: void loadKeymap();
! 90: void dumpScores();
! 91: unsigned int glyphToUnicode(enum displayGlyph glyph);
! 92:
! 93: #ifdef BROGUE_SDL
! 94: extern struct brogueConsole sdlConsole;
! 95: extern int windowWidth;
! 96: extern int windowHeight;
! 97: extern boolean fullScreen;
! 98: extern boolean softwareRendering;
! 99: #endif
! 100:
! 101: #ifdef BROGUE_CURSES
! 102: extern struct brogueConsole cursesConsole;
! 103: #endif
! 104:
! 105: #ifdef BROGUE_WEB
! 106: extern struct brogueConsole webConsole;
! 107: #endif
! 108:
! 109: extern struct brogueConsole currentConsole;
! 110: extern boolean noMenu;
! 111: extern char dataDirectory[];
! 112:
! 113: // defined in brogue
! 114: extern playerCharacter rogue;
! 115:
CVSweb