-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathhu_stuff.h
125 lines (107 loc) · 3.92 KB
/
hu_stuff.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
/* Emacs style mode select -*- C++ -*-
*-----------------------------------------------------------------------------
*
*
* PrBoom: a Doom port merged with LxDoom and LSDLDoom
* based on BOOM, a modified and improved DOOM engine
* Copyright (C) 1999 by
* id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman
* Copyright (C) 1999-2000 by
* Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze
* Copyright 2005, 2006 by
* Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko
*
* 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., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* DESCRIPTION: Head up display
*
*-----------------------------------------------------------------------------*/
#ifndef __HU_STUFF_H__
#define __HU_STUFF_H__
#include "d_event.h"
/*
* Globally visible constants.
*/
#define HU_FONTSTART '!' /* the first font characters */
#define HU_FONTEND (0x7f) /*jff 2/16/98 '_' the last font characters */
/* Calculate # of glyphs in font. */
#define HU_FONTSIZE (HU_FONTEND - HU_FONTSTART + 1)
#define HU_BROADCAST 5
/*#define HU_MSGREFRESH KEYD_ENTER phares */
#define HU_MSGX 0
#define HU_MSGY 0
#define HU_MSGWIDTH 64 /* in characters */
#define HU_MSGHEIGHT 1 /* in lines */
#define HU_MSGTIMEOUT (4*TICRATE)
#define HU_CROSSHAIRS 4
extern const char *crosshair_nam[HU_CROSSHAIRS];
extern const char *crosshair_str[HU_CROSSHAIRS];
/*
* Heads up text
*/
void HU_Init(void);
void HU_LoadHUDDefs(void);
void HU_Start(void);
dboolean HU_Responder(event_t* ev);
void HU_Ticker(void);
void HU_Drawer(void);
char HU_dequeueChatChar(void);
void HU_Erase(void);
void HU_MoveHud(int force); // jff 3/9/98 avoid glitch in HUD display
void HU_NextHud(void);
/* killough 5/2/98: moved from m_misc.c: */
/* jff 2/16/98 hud supported automap colors added */
extern int hudcolor_titl; /* color range of automap level title */
extern int hudcolor_xyco; /* color range of new coords on automap */
extern int hudcolor_mapstat_title;
extern int hudcolor_mapstat_value;
extern int hudcolor_mapstat_time;
/* jff 2/16/98 hud text colors, controls added */
extern int hudcolor_mesg; /* color range of scrolling messages */
extern int hudcolor_chat; /* color range of chat lines */
/* jff 2/26/98 hud message list color and background enable */
extern int hudcolor_list; /* color of list of past messages */
extern int hud_list_bgon; /* solid window background for list of messages */
extern int hud_msg_lines; /* number of message lines in window up to 16 */
/* jff 2/23/98 hud is currently displayed */
extern int hud_displayed; /* hud is displayed */
/* jff 2/18/98 hud/status control */
extern int hud_num;
extern int huds_count;
typedef struct custom_message_s
{
int ticks;
int cm;
int sfx;
const char *msg;
} custom_message_t;
typedef struct message_thinker_s
{
thinker_t thinker;
int plr;
int delay;
custom_message_t msg;
} message_thinker_t;
typedef struct crosshair_s
{
int lump;
int w, h, flags;
int target_x, target_y, target_z, target_sprite;
float target_screen_x, target_screen_y;
} crosshair_t;
extern crosshair_t crosshair;
int SetCustomMessage(int plr, const char *msg, int delay, int ticks, int cm, int sfx);
#endif