Proper Subversion configuration.
[newkind] / shipdata.h
CommitLineData
84bbd123 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
24struct 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
37struct ship_line
38{
39 int dist;
40 int face1;
41 int face2;
42 int start_point;
43 int end_point;
44};
45
46
47struct ship_face_normal
48{
49 int dist;
50 int x;
51 int y;
52 int z;
53};
54
55
56
57struct 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
115extern struct ship_data missile_data;
116extern struct ship_data coriolis_data;
117extern struct ship_data esccaps_data;
118extern struct ship_data alloy_data;
119extern struct ship_data cargo_data;
120extern struct ship_data boulder_data;
121extern struct ship_data asteroid_data;
122extern struct ship_data rock_data;
123extern struct ship_data orbit_data;
124extern struct ship_data transp_data;
125extern struct ship_data cobra3a_data;
126extern struct ship_data pythona_data;
127extern struct ship_data boa_data;
128extern struct ship_data anacnda_data;
129extern struct ship_data hermit_data;
130extern struct ship_data viper_data;
131extern struct ship_data sidewnd_data;
132extern struct ship_data mamba_data;
133extern struct ship_data krait_data;
134extern struct ship_data adder_data;
135extern struct ship_data gecko_data;
136extern struct ship_data cobra1_data;
137extern struct ship_data worm_data;
138extern struct ship_data cobra3b_data;
139extern struct ship_data asp2_data;
140extern struct ship_data pythonb_data;
141extern struct ship_data ferdlce_data;
142extern struct ship_data moray_data;
143extern struct ship_data thargoid_data;
144extern struct ship_data thargon_data;
145extern struct ship_data constrct_data;
146extern struct ship_data cougar_data;
147extern struct ship_data dodec_data;
148
149
150#endif
151