chiark / gitweb /
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