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