1 /* app_data.hh 1.6 95/12/23 03:11:20 */ 2 3 4 // xspacewarp by Greg Walker (gow@math.orst.edu) 5 6 // This is free software. Non-profit redistribution and/or modification 7 // is allowed and welcome. 8 9 10 // define the application data struct. the app resource array is 11 // defined in xprep.hh 12 13 14 #ifndef _APPDATA_ 15 #define _APPDATA_ 16 17 #include <X11/StringDefs.h> 18 19 typedef struct 20 { 21 Boolean nomouse; // whether to use mouse pointer 22 int rows; // number rows of 9x15 blocks in a sector of the universe 23 int columns; // number columns of 9x15 blocks in a sector of the universe 24 25 // average numbers of bases, jovians, stars, and blackholes in universe. 26 // "min" average refers to the lowest skill level and "max" refers to 27 // the highest skill level. 28 29 int min_average_base_pop; 30 int max_average_base_pop; 31 int min_average_jovian_pop; 32 int max_average_jovian_pop; 33 int min_average_star_pop; 34 int max_average_star_pop; 35 int min_average_blackhole_pop; 36 int max_average_blackhole_pop; 37 38 // variation in the number of bases, jovians, stars, and 39 // blackholes in universe. "min" average refers to the lowest 40 // skill level and "max" refers to the highest skill level. 41 42 int min_variation_base_pop; 43 int max_variation_base_pop; 44 int min_variation_jovian_pop; 45 int max_variation_jovian_pop; 46 int min_variation_star_pop; 47 int max_variation_star_pop; 48 int min_variation_blackhole_pop; 49 int max_variation_blackhole_pop; 50 51 Pixel foreground; // color for text and graphical borders 52 Pixel background; // background color for everything 53 54 Pixel endever_color; 55 String endever_icon; // visual symbol for the endever 56 57 Pixel jovian_color; 58 String jovian_icon; // visual symbol for the jovians 59 60 Pixel base_color; 61 String base_icon; // visual symbol for the bases 62 63 Pixel star_color; 64 String star_icon; // visual symbol for the stars 65 66 Pixel blackhole_color; 67 String blackhole_icon; // visual symbol for the blackholes 68 69 Pixel faser_color; 70 int faser_width; // width in pixels 71 int faser_dash_offset; // dash pattern, in pixels, of faser dashes 72 char *faser_dash_list; // dash pattern, in pixels, of faser dashes 73 long faser_speed; // millisec interval for faser movement 74 75 Pixel torpedo_color; 76 int torpedo_width; // width in pixels 77 int torpedo_length; // length of torpedo in pixels 78 long torpedo_speed; // millisec interval for torpedo movement 79 80 Pixel explosion_color; 81 long explosion_speed; // millisec interval for rate of explosion growth 82 int explosion_radius_small; // radius to use for most ship explosions 83 int explosion_radius_big; // radius to use for self-destruct explosion 84 85 long endever_thrust_speed; // millisec interval for endever movement 86 long ship_energize_speed; // millisec interval for ship re-energizing 87 long jovian_action_speed; // millisec interval between jovian actions 88 89 char *self_destruct_code; // endever self-destruct 90 float default_firing_angle; // endever default faser/torpedo angle (radians) 91 int max_torpedoes; // starting number of torpedoes for endever 92 93 int max_jovians_per_sector; 94 int max_stars_per_sector; 95 int mask_probability; // probability a sector is masked (percent) 96 97 int min_jovian_distance; // min dist to place endv/bases to jovs in sector 98 99 int endever_min_faser_energy; // min percent energy needed for faser to work 100 int endever_min_warp_energy; // min percent energy for warpdrive to work 101 int endever_min_thrust_energy; // min percent energy for thrusters to work 102 int jovian_min_faser_energy; // min percent energy needed for faser to work 103 int jovian_min_warp_energy; // min percent energy for warpdrive to work 104 int jovian_min_thrust_energy; // min percent energy for thrusters to work 105 106 // If the thrust, warp, faser and shield percent-energies (ie, 107 // percent of max energy) of a jovian are 108 // less than the respective "retreat" percent-energies, then the 109 // jovian exits the battle scene with probability (ie, percent) 110 // jovian_retreat_probability. jovian_retreat_speed is the 111 // rate at which the jovian flees toward the sector edge. 112 113 int jovian_thrust_retreat_energy; 114 int jovian_warp_retreat_energy; 115 int jovian_faser_retreat_energy; 116 int jovian_shield_retreat_energy; 117 int jovian_retreat_probability; 118 float jovian_retreat_speed; 119 120 float jovian_min_fight_frequency; // rate at which jovians fight back 121 float jovian_max_fight_frequency; // max rate is for highest skill level 122 float jovian_min_raid_frequency; // rate at which jovians raid bases 123 float jovian_max_raid_frequency; // max rate is for highest skill level 124 float jovian_min_leap_frequency; // rate at which jovians leap to new sectors 125 float jovian_max_leap_frequency; // max rate is for highest skill level 126 } AppData; 127 128 129 // string constant definitions 130 131 #define XtNnomouse "nomouse" 132 #define XtCNomouse "Nomouse" 133 #define XtNrows "rows" 134 #define XtCRows "Rows" 135 #define XtNcolumns "columns" 136 #define XtCColumns "Columns" 137 138 #define XtNminAverageBasePop "minAverageBasePop" 139 #define XtCMinAverageBasePop "MinAverageBasePop" 140 141 #define XtNmaxAverageBasePop "maxAverageBasePop" 142 #define XtCMaxAverageBasePop "MaxAverageBasePop" 143 144 #define XtNminAverageJovianPop "minAverageJovianPop" 145 #define XtCMinAverageJovianPop "MinAverageJovianPop" 146 147 #define XtNmaxAverageJovianPop "maxAverageJovianPop" 148 #define XtCMaxAverageJovianPop "MaxAverageJovianPop" 149 150 #define XtNminAverageStarPop "minAverageStarPop" 151 #define XtCMinAverageStarPop "MinAverageStarPop" 152 153 #define XtNmaxAverageStarPop "maxAverageStarPop" 154 #define XtCMaxAverageStarPop "MaxAverageStarPop" 155 156 #define XtNminAverageBlackholePop "minAverageBlackholePop" 157 #define XtCMinAverageBlackholePop "MinAverageBlackholePop" 158 159 #define XtNmaxAverageBlackholePop "maxAverageBlackholePop" 160 #define XtCMaxAverageBlackholePop "MaxAverageBlackholePop" 161 162 #define XtNminVariationBasePop "minVariationBasePop" 163 #define XtCMinVariationBasePop "MinVariationBasePop" 164 165 #define XtNmaxVariationBasePop "maxVariationBasePop" 166 #define XtCMaxVariationBasePop "MaxVariationBasePop" 167 168 #define XtNminVariationJovianPop "minVariationJovianPop" 169 #define XtCMinVariationJovianPop "MinVariationJovianPop" 170 171 #define XtNmaxVariationJovianPop "maxVariationJovianPop" 172 #define XtCMaxVariationJovianPop "MaxVariationJovianPop" 173 174 #define XtNminVariationStarPop "minVariationStarPop" 175 #define XtCMinVariationStarPop "MinVariationStarPop" 176 177 #define XtNmaxVariationStarPop "maxVariationStarPop" 178 #define XtCMaxVariationStarPop "MaxVariationStarPop" 179 180 #define XtNminVariationBlackholePop "minVariationBlackholePop" 181 #define XtCMinVariationBlackholePop "MinVariationBlackholePop" 182 183 #define XtNmaxVariationBlackholePop "maxVariationBlackholePop" 184 #define XtCMaxVariationBlackholePop "MaxVariationBlackholePop" 185 186 #define XtNendeverColor "endeverColor" 187 #define XtCEndeverColor "EndeverColor" 188 #define XtNendeverIcon "endeverIcon" 189 #define XtCEndeverIcon "EndeverIcon" 190 191 #define XtNjovianColor "jovianColor" 192 #define XtCJovianColor "JovianColor" 193 #define XtNjovianIcon "jovianIcon" 194 #define XtCJovianIcon "JovianIcon" 195 196 #define XtNbaseColor "baseColor" 197 #define XtCBaseColor "BaseColor" 198 #define XtNbaseIcon "baseIcon" 199 #define XtCBaseIcon "BaseIcon" 200 201 #define XtNstarColor "starColor" 202 #define XtCStarColor "StarColor" 203 #define XtNstarIcon "starIcon" 204 #define XtCStarIcon "StarIcon" 205 206 #define XtNblackholeColor "blackholeColor" 207 #define XtCBlackholeColor "BlackholeColor" 208 #define XtNblackholeIcon "blackholeIcon" 209 #define XtCBlackholeIcon "BlackholeIcon" 210 211 #define XtNfaserColor "faserColor" 212 #define XtCFaserColor "FaserColor" 213 #define XtNfaserWidth "faserWidth" 214 #define XtCFaserWidth "FaserWidth" 215 #define XtNfaserDashOffset "faserDashOffset" 216 #define XtCFaserDashOffset "FaserDashOffset" 217 #define XtNfaserDashList "faserDashList" 218 #define XtCFaserDashList "FaserDashList" 219 #define XtNfaserSpeed "faserSpeed" 220 #define XtCFaserSpeed "FaserSpeed" 221 222 #define XtNtorpedoColor "torpedoColor" 223 #define XtCTorpedoColor "TorpedoColor" 224 #define XtNtorpedoWidth "torpedoWidth" 225 #define XtCTorpedoWidth "TorpedoWidth" 226 #define XtNtorpedoSpeed "torpedoSpeed" 227 #define XtCTorpedoSpeed "TorpedoSpeed" 228 #define XtNtorpedoLength "torpedoLength" 229 #define XtCTorpedoLength "TorpedoLength" 230 231 #define XtNexplosionColor "explosionColor" 232 #define XtCExplosionColor "ExplosionColor" 233 #define XtNexplosionSpeed "explosionSpeed" 234 #define XtCExplosionSpeed "ExplosionSpeed" 235 #define XtNexplosionRadiusSmall "explosionRadiusSmall" 236 #define XtCExplosionRadiusSmall "ExplosionRadiusSmall" 237 #define XtNexplosionRadiusBig "explosionRadiusBig" 238 #define XtCExplosionRadiusBig "ExplosionRadiusBig" 239 240 #define XtNendeverThrustSpeed "endeverThrustSpeed" 241 #define XtCEndeverThrustSpeed "EndeverThrustSpeed" 242 #define XtNshipEnergizeSpeed "shipEnergizeSpeed" 243 #define XtCShipEnergizeSpeed "ShipEnergizeSpeed" 244 #define XtNjovianActionSpeed "jovianActionSpeed" 245 #define XtCJovianActionSpeed "JovianActionSpeed" 246 247 #define XtNselfDestructCode "selfDestructCode" 248 #define XtCSelfDestructCode "SelfDestructCode" 249 #define XtNdefaultFiringAngle "defaultFiringAngle" 250 #define XtCDefaultFiringAngle "DefaultFiringAngle" 251 #define XtNmaxTorpedoes "maxTorpedoes" 252 #define XtCMaxTorpedoes "MaxTorpedoes" 253 254 #define XtNmaxJoviansPerSector "maxJoviansPerSector" 255 #define XtCMaxJoviansPerSector "MaxJoviansPerSector" 256 #define XtNmaxStarsPerSector "maxStarsPerSector" 257 #define XtCMaxStarsPerSector "MaxStarsPerSector" 258 #define XtNmaskProbability "maskProbability" 259 #define XtCMaskProbability "MaskProbability" 260 #define XtNminJovianDistance "minJovianDistance" 261 #define XtCMinJovianDistance "MinJovianDistance" 262 263 #define XtNendeverMinFaserEnergy "endeverMinFaserEnergy" 264 #define XtCEndeverMinFaserEnergy "EndeverMinFaserEnergy" 265 #define XtNendeverMinWarpEnergy "endeverMinWarpEnergy" 266 #define XtCEndeverMinWarpEnergy "EndeverMinWarpEnergy" 267 #define XtNendeverMinThrustEnergy "endeverMinThrustEnergy" 268 #define XtCEndeverMinThrustEnergy "EndeverMinThrustEnergy" 269 #define XtNjovianMinFaserEnergy "jovianMinFaserEnergy" 270 #define XtCJovianMinFaserEnergy "JovianMinFaserEnergy" 271 #define XtNjovianMinWarpEnergy "jovianMinWarpEnergy" 272 #define XtCJovianMinWarpEnergy "JovianMinWarpEnergy" 273 #define XtNjovianMinThrustEnergy "jovianMinThrustEnergy" 274 #define XtCJovianMinThrustEnergy "JovianMinThrustEnergy" 275 276 #define XtNjovianThrustRetreatEnergy "jovianThrustRetreatEnergy" 277 #define XtCJovianThrustRetreatEnergy "JovianThrustRetreatEnergy" 278 #define XtNjovianWarpRetreatEnergy "jovianWarpRetreatEnergy" 279 #define XtCJovianWarpRetreatEnergy "JovianWarpRetreatEnergy" 280 #define XtNjovianFaserRetreatEnergy "jovianFaserRetreatEnergy" 281 #define XtCJovianFaserRetreatEnergy "JovianFaserRetreatEnergy" 282 #define XtNjovianShieldRetreatEnergy "jovianShieldRetreatEnergy" 283 #define XtCJovianShieldRetreatEnergy "JovianShieldRetreatEnergy" 284 #define XtNjovianRetreatProbability "jovianRetreatProbability" 285 #define XtCJovianRetreatProbability "JovianRetreatProbability" 286 #define XtNjovianRetreatSpeed "jovianRetreatSpeed" 287 #define XtCJovianRetreatSpeed "JovianRetreatSpeed" 288 289 290 #define XtNjovianMinFightFrequency "jovianMinFightFrequency" 291 #define XtCJovianMinFightFrequency "JovianMinFightFrequency" 292 #define XtNjovianMaxFightFrequency "jovianMaxFightFrequency" 293 #define XtCJovianMaxFightFrequency "JovianMaxFightFrequency" 294 #define XtNjovianMinRaidFrequency "jovianMinRaidFrequency" 295 #define XtCJovianMinRaidFrequency "JovianMinRaidFrequency" 296 #define XtNjovianMaxRaidFrequency "jovianMaxRaidFrequency" 297 #define XtCJovianMaxRaidFrequency "JovianMaxRaidFrequency" 298 #define XtNjovianMinLeapFrequency "jovianMinLeapFrequency" 299 #define XtCJovianMinLeapFrequency "JovianMinLeapFrequency" 300 #define XtNjovianMaxLeapFrequency "jovianMaxLeapFrequency" 301 #define XtCJovianMaxLeapFrequency "JovianMaxLeapFrequency" 302 303 304 #endif // _APPDATA_ 305 306 // end 307