]> icculus.org git repositories - taylor/freespace2.git/blob - include/aibig.h
re-add PXO sources to project files
[taylor/freespace2.git] / include / aibig.h
1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell 
5  * or otherwise commercially exploit the source or things you created based on
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/Ship/AiBig.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  * Header file for AI code related to large ships
16  *
17  * $Log$
18  * Revision 1.2  2002/06/09 04:41:12  relnev
19  * added copyright header
20  *
21  * Revision 1.1.1.1  2002/05/03 03:28:12  root
22  * Initial import.
23  *
24  * 
25  * 2     10/07/98 10:53a Dave
26  * Initial checkin.
27  * 
28  * 1     10/07/98 10:51a Dave
29  * 
30  * 13    4/29/98 5:01p Mike
31  * Large overhaul in how turrets fire.
32  * 
33  * 12    4/27/98 11:59p Mike
34  * Intermediate checkin.  Getting big ship turrets firing at big ships to
35  * use pick_big_attack_point.
36  * 
37  * 11    3/21/98 3:36p Mike
38  * Fix/optimize attacking of big ships.
39  * 
40  * 10    1/29/98 1:39p Mike
41  * Better heat seeking homing on big ships.
42  * 
43  * 9     1/22/98 5:14p Lawrance
44  * clean up ai_big code, clear path info when stop attacking a subsystem
45  * 
46  * 8     1/06/98 6:58p Lawrance
47  * Attack turrets (sometimes) when fired upon while attacking a ship.
48  * 
49  * 7     12/15/97 7:16p Lawrance
50  * improving subsystem attacking
51  * 
52  * 6     12/01/97 5:11p Lawrance
53  * make strafe mode more effective... slow down when approaching and use
54  * afterburner in avoids
55  * 
56  * 5     10/30/97 9:17p Lawrance
57  * work on getting AIM_STRAFE working well with disable/disarm, try to
58  * balance
59  * 
60  * 4     10/30/97 12:32a Lawrance
61  * further work on AIM_STRAFE
62  * 
63  * 3     10/29/97 6:24p Lawrance
64  * extern ai_strafe()
65  * 
66  * 2     10/26/97 3:24p Lawrance
67  * split off large ship ai code into AiBig.cpp
68  *
69  * $NoKeywords: $
70  */
71
72
73 #ifndef __AIBIG_H__
74 #define __AIBIG_H__
75
76 void    ai_big_ship(object *objp);
77 void    ai_big_chase();
78 void    ai_big_subsys_path_cleanup(ai_info *aip);
79
80 // strafe functions
81 void    ai_big_strafe();
82 int     ai_big_maybe_enter_strafe_mode(object *objp, int weapon_objnum, int consider_target_only=0);
83 void    ai_big_strafe_maybe_attack_turret(object *ship_objp, object *weapon_objp);
84 void ai_big_pick_attack_point(object *objp, object *attacker_objp, vector *attack_point, float fov=1.0f);
85 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);
86
87
88 #endif
89