1 // 2 // Copyright(C) 1993-1996 Id Software, Inc. 3 // Copyright(C) 2005-2014 Simon Howard 4 // 5 // This program is free software; you can redistribute it and/or 6 // modify it under the terms of the GNU General Public License 7 // as published by the Free Software Foundation; either version 2 8 // of the License, or (at your option) any later version. 9 // 10 // This program is distributed in the hope that it will be useful, 11 // but WITHOUT ANY WARRANTY; without even the implied warranty of 12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 // GNU General Public License for more details. 14 // 15 // DESCRIPTION: 16 // Status bar code. 17 // Does the face/direction indicator animatin. 18 // Does palette indicators as well (red pain/berserk, bright pickup) 19 // 20 21 #ifndef __STSTUFF_H__ 22 #define __STSTUFF_H__ 23 24 #include "doomtype.h" 25 #include "d_event.h" 26 #include "m_cheat.h" 27 28 // Size of statusbar. 29 // Now sensitive for scaling. 30 #define ST_HEIGHT 32 31 #define ST_WIDTH ORIGWIDTH 32 #define ST_Y (ORIGHEIGHT - ST_HEIGHT) 33 34 35 // 36 // STATUS BAR 37 // 38 39 // Called by main loop. 40 boolean ST_Responder (event_t* ev); 41 42 // Called by main loop. 43 void ST_Ticker (void); 44 45 // Called by main loop. 46 void ST_Drawer (boolean fullscreen, boolean refresh); 47 48 // haleyjd 09/01/10: [STRIFE] New function. 49 // Called by main loop to draw external status bar bits. 50 // Returns true if a popup is drawing. 51 boolean ST_DrawExternal(void); 52 53 // Called when the console player is spawned on each level. 54 void ST_Start (void); 55 56 // Called by startup code. 57 void ST_Init (void); 58 59 60 61 // States for status bar code. 62 typedef enum 63 { 64 AutomapState, 65 FirstPersonState 66 67 } st_stateenum_t; 68 69 70 // States for the chat code. 71 typedef enum 72 { 73 StartChatState, 74 WaitDestState, 75 GetChatState 76 77 } st_chatstateenum_t; 78 79 80 81 extern byte *st_backing_screen; 82 83 extern cheatseq_t cheat_mus; // [STRIFE]: idmus -> spin 84 extern cheatseq_t cheat_god; // [STRIFE]: iddqd -> omnipotent 85 extern cheatseq_t cheat_ammo; // [STRIFE]: idfa -> boomstix 86 extern cheatseq_t cheat_noclip; // [STRIFE]: idclip -> elvis 87 extern cheatseq_t cheat_clev; // [STRIFE]: idclev -> rift 88 extern cheatseq_t cheat_mypos; // [STRIFE]: idmypos -> gps 89 extern cheatseq_t cheat_scoot; // [STRIFE]: new cheat scoot 90 extern cheatseq_t cheat_nuke; // [STRIFE]: new cheat stonecold 91 extern cheatseq_t cheat_keys; // [STRIFE]: new cheat jimmy (all keys) 92 extern cheatseq_t cheat_stealth; // [STRIFE]: new cheat gripper 93 extern cheatseq_t cheat_midas; // [STRIFE]: new cheat 94 extern cheatseq_t cheat_lego; // [STRIFE]: new cheat 95 extern cheatseq_t cheat_dev; // [STRIFE]: new cheat 96 97 extern cheatseq_t cheat_powerup[]; 98 99 100 #endif 101