]> icculus.org git repositories - taylor/freespace2.git/blob - include/aibig.h
Initial revision
[taylor/freespace2.git] / include / aibig.h
1 /*
2  * $Logfile: /Freespace2/code/Ship/AiBig.h $
3  * $Revision$
4  * $Date$
5  * $Author$
6  *
7  * Header file for AI code related to large ships
8  *
9  * $Log$
10  * Revision 1.1  2002/05/03 03:28:12  root
11  * Initial revision
12  *
13  * 
14  * 2     10/07/98 10:53a Dave
15  * Initial checkin.
16  * 
17  * 1     10/07/98 10:51a Dave
18  * 
19  * 13    4/29/98 5:01p Mike
20  * Large overhaul in how turrets fire.
21  * 
22  * 12    4/27/98 11:59p Mike
23  * Intermediate checkin.  Getting big ship turrets firing at big ships to
24  * use pick_big_attack_point.
25  * 
26  * 11    3/21/98 3:36p Mike
27  * Fix/optimize attacking of big ships.
28  * 
29  * 10    1/29/98 1:39p Mike
30  * Better heat seeking homing on big ships.
31  * 
32  * 9     1/22/98 5:14p Lawrance
33  * clean up ai_big code, clear path info when stop attacking a subsystem
34  * 
35  * 8     1/06/98 6:58p Lawrance
36  * Attack turrets (sometimes) when fired upon while attacking a ship.
37  * 
38  * 7     12/15/97 7:16p Lawrance
39  * improving subsystem attacking
40  * 
41  * 6     12/01/97 5:11p Lawrance
42  * make strafe mode more effective... slow down when approaching and use
43  * afterburner in avoids
44  * 
45  * 5     10/30/97 9:17p Lawrance
46  * work on getting AIM_STRAFE working well with disable/disarm, try to
47  * balance
48  * 
49  * 4     10/30/97 12:32a Lawrance
50  * further work on AIM_STRAFE
51  * 
52  * 3     10/29/97 6:24p Lawrance
53  * extern ai_strafe()
54  * 
55  * 2     10/26/97 3:24p Lawrance
56  * split off large ship ai code into AiBig.cpp
57  *
58  * $NoKeywords: $
59  */
60
61
62 #ifndef __AIBIG_H__
63 #define __AIBIG_H__
64
65 void    ai_big_ship(object *objp);
66 void    ai_big_chase();
67 void    ai_big_subsys_path_cleanup(ai_info *aip);
68
69 // strafe functions
70 void    ai_big_strafe();
71 int     ai_big_maybe_enter_strafe_mode(object *objp, int weapon_objnum, int consider_target_only=0);
72 void    ai_big_strafe_maybe_attack_turret(object *ship_objp, object *weapon_objp);
73 void ai_big_pick_attack_point(object *objp, object *attacker_objp, vector *attack_point, float fov=1.0f);
74 void ai_big_pick_attack_point_turret(object *objp, ship_subsys *ssp, vector *gpos, vector *gvec, vector *attack_point, float weapon_travel_dist, float fov=1.0f);
75
76
77 #endif
78