X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fvehicles%2Fvehicles_def.qh;h=7d5a787d0061d914ca9159d1ebe6a42108057690;hb=99e4fa0264127dfcf4675d5f645061b51af815e4;hp=3c8a6d7f04aa108e352a8d78955800ce18ca8555;hpb=835d73da991f798138916794ebf92a4e1a90c87c;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/vehicles/vehicles_def.qh b/qcsrc/server/vehicles/vehicles_def.qh index 3c8a6d7f0..7d5a787d0 100644 --- a/qcsrc/server/vehicles/vehicles_def.qh +++ b/qcsrc/server/vehicles/vehicles_def.qh @@ -1,56 +1,75 @@ +// #define VEHICLES_USE_ODE #define VEHICLES_ENABLED #ifdef VEHICLES_ENABLED -//#define VEHICLES_VIEWROTATE_CROSSHAIR - -#message "with tZork vehicles (experimental)" - -float SVC_SETVIEWPORT = 5; // Net.Protocol 0x05 -float SVC_SETVIEWANGLES = 10; // Net.Protocol 0x0A -float SVC_UPDATEENTITY = 128; // Net.Protocol 0x80 - .float vehicle_flags; -#define VHF_ISVEHICLE 2 -#define VHF_HASSHIELD 4 -#define VHF_SHIELDREGEN 8 -#define VHF_HEALTHREGEN 16 -#define VHF_ENERGYREGEN 32 -#define VHF_DEATHEJECT 64 -#define VHF_MOVE_GROUND 128 -#define VHF_MOVE_HOVER 256 -#define VHF_MOVE_FLY 512 - -.float hud; +float VHF_ISVEHICLE = 2; /// Indicates vehicle +float VHF_HASSHIELD = 4; /// Vehicle has shileding +float VHF_SHIELDREGEN = 8; /// Vehicles shield regenerates +float VHF_HEALTHREGEN = 16; /// Vehicles health regenerates +float VHF_ENERGYREGEN = 32; /// Vehicles energy regenerates +float VHF_DEATHEJECT = 64; /// Vehicle ejects pilot upon fatal damage +float VHF_MOVE_GROUND = 128; /// Vehicle moves on gound +float VHF_MOVE_HOVER = 256; /// Vehicle hover close to gound +float VHF_MOVE_FLY = 512; /// Vehicle is airborn +float VHF_DMGSHAKE = 1024; /// Add random velocity each frame if health < 50% +float VHF_DMGROLL = 2048; /// Add random angles each frame if health < 50% +float VHF_DMGHEADROLL = 4096; /// Add random head angles each frame if health < 50% +float VHF_MULTISLOT = 8192; /// Vehicle has multiple player slots +float VHF_PLAYERSLOT = 16384; /// This ent is a player slot on a multi-person vehicle .entity gun1; .entity gun2; +.entity gun3; +.entity vehicle_shieldent; /// Entity to disply the shild effect on damage +.entity vehicle; +.entity vehicle_viewport; +.entity vehicle_hudmodel; +.entity vehicle_controller; -//.entity shield; - -.float vehicle_health; -.float vehicle_shield; -.float vehicle_energy; +.entity gunner1; +.entity gunner2; -.float vehicle_ammo1; -.float vehicle_reload1; +.float vehicle_health; /// If self is player this is 0..100 indicating precentage of health left on vehicle. If self is vehile, this is the real health value. +.float vehicle_energy; /// If self is player this is 0..100 indicating precentage of energy left on vehicle. If self is vehile, this is the real energy value. +.float vehicle_shield; /// If self is player this is 0..100 indicating precentage of shield left on vehicle. If self is vehile, this is the real shield value. -.float vehicle_ammo2; -.float vehicle_reload2; +.float vehicle_ammo1; /// If self is player this field's use depends on the individual vehile. If self is vehile, this is the real ammo1 value. +.float vehicle_reload1; /// If self is player this field's use depends on the individual vehile. If self is vehile, this is the real reload1 value. +.float vehicle_ammo2; /// If self is player this field's use depends on the individual vehile. If self is vehile, this is the real ammo2 value. +.float vehicle_reload2; /// If self is player this field's use depends on the individual vehile. If self is vehile, this is the real reload2 value. -.entity vehicle; -.entity vehicle_viewport; -.entity vehicle_hudmodel; +.float sound_nexttime; +#define VOL_VEHICLEENGINE 1 +.float hud; .float dmg_time; +.float vehicle_respawntime; +//.void() vehicle_spawn; -var .void(float exit_flags) vehicle_exit; -#define VHEF_NORMAL 0 -#define VHEF_EJECT 1 -#define VHEF_RELESE 2 - -var .void() vehicle_enter; -var .void() vehicle_die; -var .void() vehicle_spawn; +void vehicles_exit(float eject); +.void(float exit_flags) vehicle_exit; +float VHEF_NORMAL = 0; /// User pressed exit key +float VHEF_EJECT = 1; /// User pressed exit key 3 times fast (not implemented) or vehile is dying +float VHEF_RELESE = 2; /// Release ownership, client possibly allready dissconnected / went spec / changed team / used "kill" (not implemented) -#endif +float SVC_SETVIEWPORT = 5; // Net.Protocol 0x05 +float SVC_SETVIEWANGLES = 10; // Net.Protocol 0x0A +float SVC_UPDATEENTITY = 128; // Net.Protocol 0x80 +.void() vehicle_enter; /// Vehicles custom funciton to be executed when owner exit it +.void() vehicle_die; /// Vehicles custom function to be executed when vehile die +#define VHSF_NORMAL 0 +#define VHSF_FACTORY 2 +.void(float _spawnflag) vehicle_spawn; /// Vehicles custom fucntion to be efecuted when vehicle (re)spawns +.float(float _imp) vehicles_impusle; +.float vehicle_weapon2mode = volly_counter; + +//ยง .void() vehicle_factory() + +#ifdef VEHICLES_USE_ODE +void(entity e, float physics_enabled) physics_enable = #540; // enable or disable physics on object +void(entity e, vector force, vector force_pos) physics_addforce = #541; // apply a force from certain origin, length of force vector is power of force +void(entity e, vector torque) physics_addtorque = #542; // add relative torque +#endif // VEHICLES_USE_ODE +#endif // VEHICLES_ENABLED