1 /*
2  *  This program is free software; you can redistribute it and/or modify
3  *  it under the terms of the GNU General Public License as published by
4  *  the Free Software Foundation; either version 2 of the License, or
5  *  (at your option) any later version.
6  *
7  *  This program is distributed in the hope that it will be useful,
8  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
9  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  *  GNU General Public License for more details.
11  *
12  *  You should have received a copy of the GNU General Public License
13  *  along with this program; if not, write to the Free Software
14  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15  */
16 
17 /*
18  * This file contains definitions relating to using strings specific to
19  * the game. libs/strlib.h is for the string library.
20  */
21 
22 #ifndef UQM_GAMESTR_H_
23 #define UQM_GAMESTR_H_
24 
25 
26 #include "libs/strlib.h"
27 
28 #if defined(__cplusplus)
29 extern "C" {
30 #endif
31 
32 #define STAR_STRING_COUNT       133
33 #define DEVICE_STRING_COUNT      29
34 #define CARGO_STRING_COUNT       10
35 #define ELEMENTS_STRING_COUNT   133
36 #define SCAN_STRING_COUNT        56
37 #define STAR_NUMBER_COUNT        14
38 #define PLANET_NUMBER_COUNT      33
39 #define MONTHS_STRING_COUNT      12
40 #define FEEDBACK_STRING_COUNT     2
41 #define STARBASE_STRING_COUNT     5
42 #define ENCOUNTER_STRING_COUNT    8
43 #define NAVIGATION_STRING_COUNT   6
44 #define NAMING_STRING_COUNT       4
45 #define MELEE_STRING_COUNT        9
46 #define SAVEGAME_STRING_COUNT     5
47 #define OPTION_STRING_COUNT       5
48 #define QUITMENU_STRING_COUNT     3
49 #define STATUS_STRING_COUNT       6
50 #define FLAGSHIP_STRING_COUNT    13
51 #define ORBITSCAN_STRING_COUNT   19
52 #define MAINMENU_STRING_COUNT    55
53 #define NETMELEE_STRING_COUNT    19
54 
55 enum {
56 	STAR_STRING_BASE       = 0,
57 	DEVICE_STRING_BASE     = STAR_STRING_BASE + STAR_STRING_COUNT,
58 	CARGO_STRING_BASE      = DEVICE_STRING_BASE + DEVICE_STRING_COUNT,
59 	ELEMENTS_STRING_BASE   = CARGO_STRING_BASE + CARGO_STRING_COUNT,
60 	SCAN_STRING_BASE       = ELEMENTS_STRING_BASE + ELEMENTS_STRING_COUNT,
61 	STAR_NUMBER_BASE       = SCAN_STRING_BASE + SCAN_STRING_COUNT,
62 	PLANET_NUMBER_BASE     = STAR_NUMBER_BASE + STAR_NUMBER_COUNT,
63 	MONTHS_STRING_BASE     = PLANET_NUMBER_BASE + PLANET_NUMBER_COUNT,
64 	FEEDBACK_STRING_BASE   = MONTHS_STRING_BASE + MONTHS_STRING_COUNT,
65 	STARBASE_STRING_BASE   = FEEDBACK_STRING_BASE + FEEDBACK_STRING_COUNT,
66 	ENCOUNTER_STRING_BASE  = STARBASE_STRING_BASE + STARBASE_STRING_COUNT,
67 	NAVIGATION_STRING_BASE = ENCOUNTER_STRING_BASE + ENCOUNTER_STRING_COUNT,
68 	NAMING_STRING_BASE     = NAVIGATION_STRING_BASE + NAVIGATION_STRING_COUNT,
69 	MELEE_STRING_BASE      = NAMING_STRING_BASE + NAMING_STRING_COUNT,
70 	SAVEGAME_STRING_BASE   = MELEE_STRING_BASE + MELEE_STRING_COUNT,
71 	OPTION_STRING_BASE     = SAVEGAME_STRING_BASE + SAVEGAME_STRING_COUNT,
72 	QUITMENU_STRING_BASE   = OPTION_STRING_BASE + OPTION_STRING_COUNT,
73 	STATUS_STRING_BASE     = QUITMENU_STRING_BASE + QUITMENU_STRING_COUNT,
74 	FLAGSHIP_STRING_BASE   = STATUS_STRING_BASE + STATUS_STRING_COUNT,
75 	ORBITSCAN_STRING_BASE  = FLAGSHIP_STRING_BASE + FLAGSHIP_STRING_COUNT,
76 	MAINMENU_STRING_BASE   = ORBITSCAN_STRING_BASE + ORBITSCAN_STRING_COUNT,
77 	NETMELEE_STRING_BASE   = MAINMENU_STRING_BASE + MAINMENU_STRING_COUNT,
78 
79 	GAMESTR_COUNT          = NETMELEE_STRING_BASE + NETMELEE_STRING_COUNT
80 };
81 
82 
83 #define GAME_STRING(i) ((UNICODE *)GetStringAddress (SetAbsStringTableIndex (GameStrings, (i))))
84 
85 extern STRING GameStrings;
86 
87 
88 
89 #if defined(__cplusplus)
90 }
91 #endif
92 
93 #endif  /* UQM_GAMESTR_H_ */
94