Proper Subversion configuration.
[newkind] / shipdata.h
1 /*
2 * Elite - The New Kind.
3 *
4 * Reverse engineered from the BBC disk version of Elite.
5 * Additional material by C.J.Pinder.
6 *
7 * The original Elite code is (C) I.Bell & D.Braben 1984.
8 * This version re-engineered in C by C.J.Pinder 1999-2001.
9 *
10 * email: <christian@newkind.co.uk>
11 *
12 */
13
14
15 #ifndef SHIPDATA_H
16 #define SHIPDATA_H
17
18 #include "vector.h"
19
20 #define NO_OF_SHIPS 33
21
22
23
24 struct ship_point
25 {
26 int x;
27 int y;
28 int z;
29 int dist;
30 int face1;
31 int face2;
32 int face3;
33 int face4;
34 };
35
36
37 struct ship_line
38 {
39 int dist;
40 int face1;
41 int face2;
42 int start_point;
43 int end_point;
44 };
45
46
47 struct ship_face_normal
48 {
49 int dist;
50 int x;
51 int y;
52 int z;
53 };
54
55
56
57 struct ship_data
58 {
59 char name[32];
60 int num_points;
61 int num_lines;
62 int num_faces;
63 int max_loot;
64 int scoop_type;
65 double size;
66 int front_laser;
67 int bounty;
68 int vanish_point;
69 int energy;
70 int velocity;
71 int missiles;
72 int laser_strength;
73 struct ship_point *points;
74 struct ship_line *lines;
75 struct ship_face_normal *normals;
76 };
77
78
79 #define SHIP_SUN -2
80 #define SHIP_PLANET -1
81 #define SHIP_MISSILE 1
82 #define SHIP_CORIOLIS 2
83 #define SHIP_ESCAPE_CAPSULE 3
84 #define SHIP_ALLOY 4
85 #define SHIP_CARGO 5
86 #define SHIP_BOULDER 6
87 #define SHIP_ASTEROID 7
88 #define SHIP_ROCK 8
89 #define SHIP_SHUTTLE 9
90 #define SHIP_TRANSPORTER 10
91 #define SHIP_COBRA3 11
92 #define SHIP_PYTHON 12
93 #define SHIP_BOA 13
94 #define SHIP_ANACONDA 14
95 #define SHIP_HERMIT 15
96 #define SHIP_VIPER 16
97 #define SHIP_SIDEWINDER 17
98 #define SHIP_MAMBA 18
99 #define SHIP_KRAIT 19
100 #define SHIP_ADDER 20
101 #define SHIP_GECKO 21
102 #define SHIP_COBRA1 22
103 #define SHIP_WORM 23
104 #define SHIP_COBRA3_LONE 24
105 #define SHIP_ASP2 25
106 #define SHIP_PYTHON_LONE 26
107 #define SHIP_FER_DE_LANCE 27
108 #define SHIP_MORAY 28
109 #define SHIP_THARGOID 29
110 #define SHIP_THARGLET 30
111 #define SHIP_CONSTRICTOR 31
112 #define SHIP_COUGAR 32
113 #define SHIP_DODEC 33
114
115 extern struct ship_data missile_data;
116 extern struct ship_data coriolis_data;
117 extern struct ship_data esccaps_data;
118 extern struct ship_data alloy_data;
119 extern struct ship_data cargo_data;
120 extern struct ship_data boulder_data;
121 extern struct ship_data asteroid_data;
122 extern struct ship_data rock_data;
123 extern struct ship_data orbit_data;
124 extern struct ship_data transp_data;
125 extern struct ship_data cobra3a_data;
126 extern struct ship_data pythona_data;
127 extern struct ship_data boa_data;
128 extern struct ship_data anacnda_data;
129 extern struct ship_data hermit_data;
130 extern struct ship_data viper_data;
131 extern struct ship_data sidewnd_data;
132 extern struct ship_data mamba_data;
133 extern struct ship_data krait_data;
134 extern struct ship_data adder_data;
135 extern struct ship_data gecko_data;
136 extern struct ship_data cobra1_data;
137 extern struct ship_data worm_data;
138 extern struct ship_data cobra3b_data;
139 extern struct ship_data asp2_data;
140 extern struct ship_data pythonb_data;
141 extern struct ship_data ferdlce_data;
142 extern struct ship_data moray_data;
143 extern struct ship_data thargoid_data;
144 extern struct ship_data thargon_data;
145 extern struct ship_data constrct_data;
146 extern struct ship_data cougar_data;
147 extern struct ship_data dodec_data;
148
149
150 #endif
151