]> icculus.org git repositories - btb/d2x.git/blob - main/gamefont.c
remove rcs tags
[btb/d2x.git] / main / gamefont.c
1 /*
2 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
3 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
4 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
5 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
6 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
7 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
8 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
9 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
10 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
11 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
12 */
13
14 /*
15  *
16  * Fonts for the game.
17  *
18  */
19
20 #ifdef HAVE_CONFIG_H
21 #include <conf.h>
22 #endif
23
24 #include <stdlib.h>
25
26 #include "inferno.h"
27 #include "gr.h"
28 #include "gamefont.h"
29
30 // if 1, use high-res versions of fonts
31 int FontHires = 0;
32 int FontHiresAvailable = 0;
33
34 char * Gamefont_filenames[] = { "font1-1.fnt",      // Font 0
35                                 "font1-1h.fnt",     // Font 0 High-res
36                                 "font2-1.fnt",      // Font 1
37                                 "font2-1h.fnt",     // Font 1 High-res
38                                 "font2-2.fnt",      // Font 2
39                                 "font2-2h.fnt",     // Font 2 High-res
40                                 "font2-3.fnt",      // Font 3
41                                 "font2-3h.fnt",     // Font 3 High-res
42                                 "font3-1.fnt",      // Font 4
43                                 "font3-1h.fnt",     // Font 4 High-res
44                               };
45
46 grs_font *Gamefonts[MAX_FONTS];
47
48 int Gamefont_installed = 0;
49
50 void gamefont_init()
51 {
52         int i;
53
54         if (Gamefont_installed)
55                 return;
56         Gamefont_installed = 1;
57         FontHiresAvailable = 1;
58
59         for (i = 0; i < MAX_FONTS; i += 2)
60                 Gamefonts[i] = gr_init_font(Gamefont_filenames[i]);
61         for (i = 1; i < MAX_FONTS; i += 2)
62         {
63                 Gamefonts[i] = gr_init_font(Gamefont_filenames[i]);
64                 if (!Gamefonts[i])
65                         FontHiresAvailable = 0;
66         }
67
68         atexit(gamefont_close);
69 }
70
71
72 void gamefont_close()
73 {
74         int i;
75
76         if (!Gamefont_installed)
77                 return;
78         Gamefont_installed = 0;
79
80         for (i = 0; i < MAX_FONTS; i++)
81         {
82                 gr_close_font(Gamefonts[i]);
83                 Gamefonts[i] = NULL;
84         }
85 }