aboutsummaryrefslogtreecommitdiff
path: root/src/libparsec/include/od_props.h
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
committerFelix Morgner <felix.morgner@gmail.com>2026-08-24 11:16:07 +0200
commitc068f22329d5cc722622a2183bbb22eef2093df7 (patch)
tree12d56c1aede67988a55e241364606bfbb4dba933 /src/libparsec/include/od_props.h
downloadopenparsec-c068f22329d5cc722622a2183bbb22eef2093df7.tar.xz
openparsec-c068f22329d5cc722622a2183bbb22eef2093df7.zip
initial importHEADmain
Diffstat (limited to 'src/libparsec/include/od_props.h')
-rw-r--r--src/libparsec/include/od_props.h248
1 files changed, 248 insertions, 0 deletions
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_
+
+