From c068f22329d5cc722622a2183bbb22eef2093df7 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Mon, 24 Aug 2026 11:16:07 +0200 Subject: initial import --- src/libparsec/include/od_props.h | 248 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 248 insertions(+) create mode 100644 src/libparsec/include/od_props.h (limited to 'src/libparsec/include/od_props.h') diff --git a/src/libparsec/include/od_props.h b/src/libparsec/include/od_props.h new file mode 100644 index 0000000..c5548e4 --- /dev/null +++ b/src/libparsec/include/od_props.h @@ -0,0 +1,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_ + + -- cgit v1.2.3