summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/bg_pmove.c8
-rw-r--r--src/game/bg_public.h15
2 files changed, 16 insertions, 7 deletions
diff --git a/src/game/bg_pmove.c b/src/game/bg_pmove.c
index cae5470b..b8e3b982 100644
--- a/src/game/bg_pmove.c
+++ b/src/game/bg_pmove.c
@@ -2707,6 +2707,14 @@ void PmoveSingle (pmove_t *pmove)
else
pm->ps->eFlags &= ~EF_FIRING2;
+ // set the firing flag for continuous beam weapons
+ if( !(pm->ps->pm_flags & PMF_RESPAWNED) && pm->ps->pm_type != PM_INTERMISSION &&
+ ( pm->cmd.buttons & BUTTON_USE_HOLDABLE ) &&
+ ( ( ammo > 0 || clips > 0 ) || BG_FindInfinteAmmoForWeapon( pm->ps->weapon ) ) )
+ pm->ps->eFlags |= EF_FIRING3;
+ else
+ pm->ps->eFlags &= ~EF_FIRING3;
+
// clear the respawned flag if attack and use are cleared
if( pm->ps->stats[STAT_HEALTH] > 0 &&
diff --git a/src/game/bg_public.h b/src/game/bg_public.h
index c8341ce1..90e63e07 100644
--- a/src/game/bg_public.h
+++ b/src/game/bg_public.h
@@ -287,13 +287,14 @@ typedef enum
#define EF_NODRAW 0x00000080 // may have an event, but no model (unspawned items)
#define EF_FIRING 0x00000100 // for lightning gun
#define EF_FIRING2 0x00000200 // alt fire
-#define EF_MOVER_STOP 0x00000400 // will push otherwise
-#define EF_TALK 0x00000800 // draw a talk balloon
-#define EF_CONNECTION 0x00001000 // draw a connection trouble sprite
-#define EF_VOTED 0x00002000 // already cast a vote
-#define EF_TEAMVOTED 0x00004000 // already cast a vote
-#define EF_OVERDRAW_OFF 0x00008000 // TA: disable overdraw protection on sprites
-#define EF_REAL_LIGHT 0x00010000 // TA: light sprites according to ambient light
+#define EF_FIRING3 0x00000400 // third fire
+#define EF_MOVER_STOP 0x00000800 // will push otherwise
+#define EF_TALK 0x00001000 // draw a talk balloon
+#define EF_CONNECTION 0x00002000 // draw a connection trouble sprite
+#define EF_VOTED 0x00004000 // already cast a vote
+#define EF_TEAMVOTED 0x00008000 // already cast a vote
+#define EF_OVERDRAW_OFF 0x00010000 // TA: disable overdraw protection on sprites
+#define EF_REAL_LIGHT 0x00020000 // TA: light sprites according to ambient light
typedef enum
{