version 1.1 | | version 1.2 |
---|
| | |
* Protypes for weapon stuff. | | * Protypes for weapon stuff. |
* | | * |
* $Log$ | | * $Log$ |
* Revision 1.1 1999/06/14 22:13:23 donut | | * Revision 1.2 2003/03/09 06:41:01 donut |
* Initial revision | | * change byte typedef to sbyte to avoid conflict with win32 byte which is unsigned |
| | * |
| | * Revision 1.1.1.1 1999/06/14 22:13:23 donut |
| | * Import of d1x 1.37 source. |
* | | * |
* Revision 2.0 1995/02/27 11:31:10 john | | * Revision 2.0 1995/02/27 11:31:10 john |
* New version 2.0, which has no anonymous unions, builds with | | * New version 2.0, which has no anonymous unions, builds with |
| | |
#include "piggy.h" | | #include "piggy.h" |
| | |
typedef struct weapon_info { | | typedef struct weapon_info { |
byte render_type; // How to draw 0=laser, 1=blob, 2=object | | sbyte render_type; // How to draw 0=laser, 1=blob, 2=object |
byte model_num; // Model num if rendertype==2. | | sbyte model_num; // Model num if rendertype==2. |
byte model_num_inner; // Model num of inner part if rendertype==2. | | sbyte model_num_inner; // Model num of inner part if rendertype==2. |
byte persistent; // 0 = dies when it hits something, 1 = continues (eg, fusion cannon) | | sbyte persistent; // 0 = dies when it hits something, 1 = continues (eg, fusion cannon) |
| | |
byte flash_vclip; // What vclip to use for muzzle flash | | sbyte flash_vclip; // What vclip to use for muzzle flash |
short flash_sound; // What sound to play when fired | | short flash_sound; // What sound to play when fired |
byte robot_hit_vclip; // What vclip for impact with robot | | sbyte robot_hit_vclip; // What vclip for impact with robot |
short robot_hit_sound; // What sound for impact with robot | | short robot_hit_sound; // What sound for impact with robot |
| | |
byte wall_hit_vclip; // What vclip for impact with wall | | sbyte wall_hit_vclip; // What vclip for impact with wall |
short wall_hit_sound; // What sound for impact with wall | | short wall_hit_sound; // What sound for impact with wall |
byte fire_count; // Number of bursts fired from EACH GUN per firing. For weapons which fire from both sides, 3*fire_count shots will be fired. | | sbyte fire_count; // Number of bursts fired from EACH GUN per firing. For weapons which fire from both sides, 3*fire_count shots will be fired. |
byte ammo_usage; // How many units of ammunition it uses. | | sbyte ammo_usage; // How many units of ammunition it uses. |
| | |
byte weapon_vclip; // Vclip to render for the weapon, itself. | | sbyte weapon_vclip; // Vclip to render for the weapon, itself. |
byte destroyable; // If !0, this weapon can be destroyed by another weapon. | | sbyte destroyable; // If !0, this weapon can be destroyed by another weapon. |
byte matter; // Flag: set if this object is matter (as opposed to energy) | | sbyte matter; // Flag: set if this object is matter (as opposed to energy) |
byte bounce; // Flag: set if this object bounces off walls | | sbyte bounce; // Flag: set if this object bounces off walls |
| | |
byte homing_flag; // Set if this weapon can home in on a target. | | sbyte homing_flag; // Set if this weapon can home in on a target. |
byte dum1, dum2, dum3; | | sbyte dum1, dum2, dum3; |
| | |
fix energy_usage; // How much fuel is consumed to fire this weapon. | | fix energy_usage; // How much fuel is consumed to fire this weapon. |
fix fire_wait; // Time until this weapon can be fired again. | | fix fire_wait; // Time until this weapon can be fired again. |
| | |
extern void do_weapon_select(int weapon_num, int secondary_flag); | | extern void do_weapon_select(int weapon_num, int secondary_flag); |
extern void show_weapon_status(void); | | extern void show_weapon_status(void); |
| | |
extern byte Primary_weapon, Secondary_weapon; | | extern sbyte Primary_weapon, Secondary_weapon; |
| | |
extern ubyte Primary_weapon_to_weapon_info[MAX_PRIMARY_WEAPONS]; | | extern ubyte Primary_weapon_to_weapon_info[MAX_PRIMARY_WEAPONS]; |
extern ubyte Secondary_weapon_to_weapon_info[MAX_SECONDARY_WEAPONS]; | | extern ubyte Secondary_weapon_to_weapon_info[MAX_SECONDARY_WEAPONS]; |