Skip to content

Commit b1e4bd7

Browse files
authored
flight cursor aiming for secondaries (#7075)
1 parent f087c8a commit b1e4bd7

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

code/ship/ship.cpp

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3754,6 +3754,10 @@ static void parse_ship_values(ship_info* sip, const bool is_template, const bool
37543754
if (optional_string("$Aims at Flight Cursor:")) {
37553755
stuff_boolean(&sip->aims_at_flight_cursor);
37563756

3757+
if (optional_string("+Secondary Aims at Flight Cursor:")) {
3758+
stuff_boolean(&sip->aims_at_flight_cursor_secondary);
3759+
}
3760+
37573761
if (optional_string("+Extent:")) {
37583762
stuff_float(&sip->flight_cursor_aim_extent);
37593763
sip->flight_cursor_aim_extent = fl_radians(sip->flight_cursor_aim_extent);
@@ -14416,7 +14420,12 @@ int ship_fire_secondary( object *obj, int allow_swarm, bool rollback_shot )
1441614420
}
1441714421

1441814422
matrix firing_orient;
14419-
if(!(sip->flags[Ship::Info_Flags::Gun_convergence]))
14423+
if (obj == Player_obj && sip->aims_at_flight_cursor_secondary)
14424+
{
14425+
vm_angles_2_matrix(&firing_orient, &Player_flight_cursor);
14426+
firing_orient = firing_orient * obj->orient;
14427+
}
14428+
else if(!(sip->flags[Ship::Info_Flags::Gun_convergence]))
1442014429
{
1442114430
firing_orient = obj->orient;
1442214431
}

code/ship/ship.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1450,6 +1450,7 @@ class ship_info
14501450
float bank_autoaim_fov[MAX_SHIP_PRIMARY_BANKS];
14511451

14521452
bool aims_at_flight_cursor;
1453+
bool aims_at_flight_cursor_secondary;
14531454
float flight_cursor_aim_extent;
14541455

14551456
bool topdown_offset_def;

0 commit comments

Comments
 (0)