blob: c5548e47d446fc47c68565dc89d9557baec99d00 (
plain)
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
|
/*
* PARSEC HEADER (OBJECT)
* Default Object Properties V1.35
*
* Copyright (c) Markus Hadwiger 1996-2000
* All Rights Reserved.
*/
#ifndef _OD_PROPS_H_
#define _OD_PROPS_H_
// game control data ------------------------------------------------
//
#define ENERGY_EXTRA_BOOST 50
#define DUMB_PACK_NUMMISSLS 5
#define HOM_PACK_NUMMISSLS 8
#define PROX_PACK_NUMMINES 3
#define SWARM_PACK_NUMMISSLS 2
#define MAX_EXTRA_AREA 700
#define MIN_EXTRA_DIST 150
#define EXTRA_PROBABILITY 4
#define PROB_DAZZLE_LASER 4 // remainder to 100% is prob of energy extras!
#define PROB_THIEF_LASER 4
#define PROB_PROXIMITY_MINE 6
#define PROB_MISSILE_PACK 22
#define PROB_DUMB_MISS_PACK 45
#define PROB_HOM_MISS_PACK 55
#define MEGASHIELD_STRENGTH 20
#define LASER2_INTENSITY 20
#define FLASHTIME_LASER_STANDARD 2
#define FLASHTIME_LASER_THIEF 8
#define FLASHTIME_MISSILE 4
// ship steering speeds and delays ----------------------------------
//
#define SHIP_SPEED_INC_PER_REFFRAME ( 0x01200 / 8 /23)
#define SHIP_SPEED_DEC_PER_REFFRAME ( 0x01200 / 8 /23)
#define SHIP_YAW_PER_REFFRAME ( 0x068 / 8 )
#define SHIP_PITCH_PER_REFFRAME ( 0x068 / 8 )
#define SHIP_ROLL_PER_REFFRAME ( 0x05A / 3 )
#define SHIP_SLIDE_PER_REFFRAME FIXED_TO_GEOMV( 0xb000 / 8 )
#define SHIP_FIRE_REPEAT_DELAY ( 24 * 8 )
#define SHIP_FIRE_DISABLE_DELAY ( 12 * 8 )
#define SHIP_MISSILE_DISABLE_DELAY ( 36 * 8 )
// object member variables init values ------------------------------
//
#define PROP_FUME_FREQUENCY 220
#define PROP_FUME_LIFETIME 11000
#define PROP_FUME_SPEED -0x0080
#define PROP_FUME_START_X1 FIXED_TO_GEOMV( -0x35000 )
#define PROP_FUME_START_X2 FIXED_TO_GEOMV( -0x35000 )
#define PROP_FUME_START_X3 FIXED_TO_GEOMV( 0x35000 )
#define PROP_FUME_START_X4 FIXED_TO_GEOMV( 0x35000 )
#define PROP_FUME_START_Y FIXED_TO_GEOMV( 0x00000 )
#define PROP_FUME_START_Z FIXED_TO_GEOMV( -0x125000 )
#define _2_PROP_FUME_START_X1 FIXED_TO_GEOMV( -0x35000 )
#define _2_PROP_FUME_START_X2 FIXED_TO_GEOMV( -0x35000 )
#define _2_PROP_FUME_START_X3 FIXED_TO_GEOMV( 0x35000 )
#define _2_PROP_FUME_START_X4 FIXED_TO_GEOMV( 0x35000 )
#define _2_PROP_FUME_START_Y FIXED_TO_GEOMV( 0x00000 )
#define _2_PROP_FUME_START_Z FIXED_TO_GEOMV( -0x125000 )
#define SPREADFIRE_LIFETIME 1500
#define SPREADFIRE_SPEED 0x10000
#define HELIX_LIFETIME 1500
#define HELIX_SPEED 0x10000
#define PHOTON_LIFETIME 1500
#define PHOTON_SPEED 0x80000
#define SHIP1_MAXDAMAGE 20
#define SHIP1_MAXSHIELD 10
#define SHIP1_NUM_MISSLS 05
#define SHIP1_NUM_HOMMISSLS 10
#define SHIP1_NUM_SWARMMISSLS 0
#define SHIP1_NUM_MINES 3
#define SHIP1_MAX_SPEED 0xbb80
#define SHIP1_MAX_ENERGY 400
#define SHIP1_MAX_FUEL 300
#define SHIP1_WEAPONS 0x00070101
#define SHIP2_MAXDAMAGE 20
#define SHIP2_MAXSHIELD 10
#define SHIP2_NUM_MISSLS 10
#define SHIP2_NUM_HOMMISSLS 15
#define SHIP2_NUM_SWARMMISSLS 0
#define SHIP2_NUM_MINES 5
#define SHIP2_MAX_SPEED 0x9600
#define SHIP2_MAX_ENERGY 800
#define SHIP2_MAX_FUEL 950
#define SHIP2_WEAPONS 0x00070101
#define ENERGYEXTRA_LIFETIME 10000
#define MISSILEEXTRA_LIFETIME 20000
#define DEVICEEXTRA_LIFETIME 25000
#define ENERGYEXTRA_SELFROTX 0x0025
#define ENERGYEXTRA_SELFROTY 0x0055
#define ENERGYEXTRA_SELFROTZ 0x0080
#define MISSILEEXTRA_SELFROTX 0x0065
#define MISSILEEXTRA_SELFROTY 0x0040
#define MISSILEEXTRA_SELFROTZ 0x0015
#define DEVICEEXTRA_SELFROTX 0x0025
#define DEVICEEXTRA_SELFROTY 0x0055
#define DEVICEEXTRA_SELFROTZ 0x0080
#define MINE1_HITPOINTS 15
#define MINE1_LIFETIME 60000
#define MINE1_SELFROTX 0x0065
#define MINE1_SELFROTY 0x0040
#define MINE1_SELFROTZ 0x0015
#define LASER1_LIFETIME 1680
#define LASER1_SPEED 0x25000
#define LASER1_HITPOINTS 1
#define LASER1_ENERGY 5
#define LASER2_LIFETIME 1680
#define LASER2_SPEED 0x25000
#define LASER2_INTENSITY 20
#define LASER2_ENERGY 2
#define LASER3_LIFETIME 1680
#define LASER3_SPEED 0x25000
#define LASER3_THEFTDAMAGE 50
#define LASER3_ENERGY 10
#define MISSILE1_LIFETIME 3600
#define MISSILE1_SPEED 0x1a000
#define MISSILE1_HITPOINTS 10
#define HOMMISS1_LIFETIME 4800
#define HOMMISS1_SPEED 0x20000
#define HOMMISS1_HITPOINTS 5
#define HOMMISS1_LATENCY 60
#define HOMMISS1_MAX_ROT 0x0100
#define LASER1_START_X_1 FIXED_TO_GEOMV( -0x0c000 )
#define LASER1_START_X_2 FIXED_TO_GEOMV( -0x07000 )
#define LASER1_START_X_3 FIXED_TO_GEOMV( 0x07000 )
#define LASER1_START_X_4 FIXED_TO_GEOMV( 0x0c000 )
#define LASER1_START_Y FIXED_TO_GEOMV( 0x19000 )
#define LASER1_START_Z FIXED_TO_GEOMV( 0x3e0000 )
#define _2_LASER1_START_X_1 FIXED_TO_GEOMV( -0x74000 )
#define _2_LASER1_START_X_2 FIXED_TO_GEOMV( -0x66000 )
#define _2_LASER1_START_X_3 FIXED_TO_GEOMV( 0x66000 )
#define _2_LASER1_START_X_4 FIXED_TO_GEOMV( 0x74000 )
#define _2_LASER1_START_Y FIXED_TO_GEOMV( 0x22000 )
#define _2_LASER1_START_Z FIXED_TO_GEOMV( 0x370000 )
#define MISSILE1_START_X_1 FIXED_TO_GEOMV( -0x090000 )
#define MISSILE1_START_X_2 FIXED_TO_GEOMV( -0x050000 )
#define MISSILE1_START_X_3 FIXED_TO_GEOMV( 0x050000 )
#define MISSILE1_START_X_4 FIXED_TO_GEOMV( 0x090000 )
#define MISSILE1_START_Y FIXED_TO_GEOMV( 0x030000 )
#define MISSILE1_START_Z FIXED_TO_GEOMV( 0x120000 )
#define _2_MISSILE1_START_X_1 FIXED_TO_GEOMV( -0xc5000 )
#define _2_MISSILE1_START_X_2 FIXED_TO_GEOMV( -0x63000 )
#define _2_MISSILE1_START_X_3 FIXED_TO_GEOMV( 0x63000 )
#define _2_MISSILE1_START_X_4 FIXED_TO_GEOMV( 0xc5000 )
#define _2_MISSILE1_START_Y FIXED_TO_GEOMV( 0x6c000 )
#define _2_MISSILE1_START_Z FIXED_TO_GEOMV( -0x17000 )
#define MINE1_START_X FIXED_TO_GEOMV( 0x00000 )
#define MINE1_START_Y FIXED_TO_GEOMV( 0x00000 )
#define MINE1_START_Z FIXED_TO_GEOMV( -0x330000 )
#define _2_MINE1_START_X FIXED_TO_GEOMV( 0x00000 )
#define _2_MINE1_START_Y FIXED_TO_GEOMV( 0x00000 )
#define _2_MINE1_START_Z FIXED_TO_GEOMV( -0x360000 )
#define HOMMISS1_START_X_1 FIXED_TO_GEOMV( -0x060000 )
#define HOMMISS1_START_X_2 FIXED_TO_GEOMV( -0x020000 )
#define HOMMISS1_START_X_3 FIXED_TO_GEOMV( 0x020000 )
#define HOMMISS1_START_X_4 FIXED_TO_GEOMV( 0x060000 )
#define HOMMISS1_START_Y FIXED_TO_GEOMV( -0x010000 )
#define HOMMISS1_START_Z FIXED_TO_GEOMV( 0x1f0000 )
#define SPREAD_START_X_1 FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define SPREAD_START_X_2 FIXED_TO_GEOMV( -0x07000 )
#define SPREAD_START_X_3 FIXED_TO_GEOMV( 0x07000 )
#define SPREAD_START_X_4 FIXED_TO_GEOMV( (0x0c000+0x45000) )
#define SPREAD_START_Y FIXED_TO_GEOMV( 0x19000 )
#define SPREAD_START_Z FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )
#define _2_SPREAD_START_X_1 FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define _2_SPREAD_START_X_2 FIXED_TO_GEOMV( -0x07000 )
#define _2_SPREAD_START_X_3 FIXED_TO_GEOMV( 0x07000 )
#define _2_SPREAD_START_X_4 FIXED_TO_GEOMV( (0x0c000+0x45000) )
#define _2_SPREAD_START_Y FIXED_TO_GEOMV( 0x19000 )
#define _2_SPREAD_START_Z FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )
#define HELIX_START_X FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define HELIX_START_Y FIXED_TO_GEOMV( 0x19000 )
#define HELIX_START_Z FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )
#define _2_HELIX_START_X FIXED_TO_GEOMV( -(0x0c000+0x45000) )
#define _2_HELIX_START_Y FIXED_TO_GEOMV( 0x19000 )
#define _2_HELIX_START_Z FIXED_TO_GEOMV( (0x3e0000 - 0x450000) )
#define BEAM_START_X_1 FIXED_TO_GEOMV( -0x51000 )
#define BEAM_START_X_2 FIXED_TO_GEOMV( -0x4a000 )
#define BEAM_START_X_3 FIXED_TO_GEOMV( 0x4a000 )
#define BEAM_START_X_4 FIXED_TO_GEOMV( 0x51000 )
#define BEAM_START_Y FIXED_TO_GEOMV( 0x19000 )
#define BEAM_START_Z FIXED_TO_GEOMV( 0x40000 )
#define _2_BEAM_START_X_1 FIXED_TO_GEOMV( -500000 )
#define _2_BEAM_START_X_2 0
#define _2_BEAM_START_X_3 0
#define _2_BEAM_START_X_4 FIXED_TO_GEOMV( 400000 )
#define _2_BEAM_START_Y 0
#define _2_BEAM_START_Z FIXED_TO_GEOMV( -180000 )
#define SHIP1_OBJCAM_STARTPITCH ((bams_t) 0x0d00)
#define SHIP1_OBJCAM_STARTYAW ((bams_t)-0x0f00)
#define SHIP1_OBJCAM_STARTROLL ((bams_t) 0x0000)
#define SHIP1_OBJCAM_STARTDIST FIXED_TO_GEOMV( 0x600000 )
#define SHIP1_OBJCAM_MINDISTANCE FIXED_TO_GEOMV( 0x300000 )
#define SHIP1_OBJCAM_MAXDISTANCE FIXED_TO_GEOMV( 0xd00000 )
#define SHIP2_OBJCAM_STARTPITCH ((bams_t) 0x1000)
#define SHIP2_OBJCAM_STARTYAW ((bams_t)-0x1000)
#define SHIP2_OBJCAM_STARTROLL ((bams_t)-0x0500)
#define SHIP2_OBJCAM_STARTDIST FIXED_TO_GEOMV( 0x5c0000 )
#define SHIP2_OBJCAM_MINDISTANCE FIXED_TO_GEOMV( 0x300000 )
#define SHIP2_OBJCAM_MAXDISTANCE FIXED_TO_GEOMV( 0xc00000 )
#endif // _OD_PROPS_H_
|