move old per-file change logs into new file ChangeLog-old
[btb/d2x.git] / main / gauges.h
1 /* $Id: gauges.h,v 1.3 2004-08-28 23:17:45 schaffner Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Prototypes and defines for gauges
18  *
19  */
20
21
22 #ifndef _GAUGES_H
23 #define _GAUGES_H
24
25 #include "fix.h"
26 #include "gr.h"
27 #include "piggy.h"
28 #include "object.h"
29
30 //from gauges.c
31
32 #define MAX_GAUGE_BMS 100   // increased from 56 to 80 by a very unhappy MK on 10/24/94.
33
34 extern bitmap_index Gauges[MAX_GAUGE_BMS];      // Array of all gauge bitmaps.
35 extern bitmap_index Gauges_hires[MAX_GAUGE_BMS];    // hires gauges
36
37 // Flags for gauges/hud stuff
38 extern ubyte Reticle_on;
39
40 extern void init_gauge_canvases();
41 extern void close_gauge_canvases();
42
43 extern void show_score();
44 extern void show_score_added();
45 extern void add_points_to_score();
46 extern void add_bonus_points_to_score();
47
48 void render_gauges(void);
49 void init_gauges(void);
50 extern void check_erase_message(void);
51
52 extern void HUD_render_message_frame();
53 extern void HUD_clear_messages();
54
55 // Call to flash a message on the HUD.  Returns true if message drawn.
56 // (message might not be drawn if previous message was same)
57 extern int HUD_init_message(char *format, ... );
58
59 #define gauge_message HUD_init_message
60
61 extern void draw_hud();     // draw all the HUD stuff
62
63 extern void player_dead_message(void);
64 //extern void say_afterburner_status(void);
65
66 // fills in the coords of the hostage video window
67 void get_hostage_window_coords(int *x, int *y, int *w, int *h);
68
69 // from testgaug.c
70
71 void gauge_frame(void);
72 extern void update_laser_weapon_info(void);
73 extern void play_homing_warning(void);
74
75 typedef struct {
76         ubyte r,g,b;
77 } rgb;
78
79 extern rgb player_rgb[];
80
81 #define WBU_WEAPON      0       // the weapons display
82 #define WBU_MISSILE     1       // the missile view
83 #define WBU_ESCORT      2       // the "buddy bot"
84 #define WBU_REAR        3       // the rear view
85 #define WBU_COOP        4       // coop or team member view
86 #define WBU_GUIDED      5       // the guided missile
87 #define WBU_MARKER      6       // a dropped marker
88 #define WBU_STATIC      7       // playing static after missile hits
89
90 // draws a 3d view into one of the cockpit windows.  win is 0 for
91 // left, 1 for right.  viewer is object.  NULL object means give up
92 // window user is one of the WBU_ constants.  If rear_view_flag is
93 // set, show a rear view.  If label is non-NULL, print the label at
94 // the top of the window.
95 void do_cockpit_window_view(int win, object *viewer, int rear_view_flag, int user, char *label);
96
97 #ifdef MACINTOSH
98 # include "QuickDraw.h"
99 # include "RAVE.h"
100 void calculate_sub_view_window_bounds(int inSubWindowNum, TQARect* outBoundsRect);
101 #endif
102
103 #endif /* _GAUGES_H */