]> icculus.org git repositories - btb/d2x.git/blob - main/multibot.h
make next axis config key skip currently allocated axes (d1x r1.11)
[btb/d2x.git] / main / multibot.h
1 /* $Id: multibot.h,v 1.2 2003-10-10 09:36:35 btb Exp $ */
2 /*
3 THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
4 SOFTWARE CORPORATION ("PARALLAX").  PARALLAX, IN DISTRIBUTING THE CODE TO
5 END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
6 ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
7 IN USING, DISPLAYING,  AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
8 SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
9 FREE PURPOSES.  IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
10 CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES.  THE END-USER UNDERSTANDS
11 AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
12 COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION.  ALL RIGHTS RESERVED.
13 */
14
15 /*
16  *
17  * Header file for multiplayer robot support.
18  *
19  * Old Log:
20  * Revision 1.2  1995/08/24  16:04:38  allender
21  * fix function prototype for compiler warning
22  *
23  * Revision 1.1  1995/05/16  15:59:53  allender
24  * Initial revision
25  *
26  * Revision 2.1  1995/03/21  14:40:18  john
27  * Ifdef'd out the NETWORK code.
28  *
29  * Revision 2.0  1995/02/27  11:30:57  john
30  * New version 2.0, which has no anonymous unions, builds with
31  * Watcom 10.0, and doesn't require parsing BITMAPS.TBL.
32  *
33  * Revision 1.20  1995/02/06  18:18:05  rob
34  * Tweaking cooperative stuff.
35  *
36  * Revision 1.19  1995/02/04  16:49:50  rob
37  * Changed multi_send_robot_frame to return the number of robot positions that were sent.
38  *
39  * Revision 1.18  1995/02/04  12:29:32  rob
40  * Added buffered fire sends.
41  *
42  * Revision 1.17  1995/01/30  17:22:02  rob
43  * Added prototype for modem robot send function.
44  *
45  * Revision 1.16  1995/01/26  18:24:56  rob
46  * Reduced # of controlled bots.
47  *
48  * Revision 1.15  1995/01/25  19:26:35  rob
49  * Added define for robot laser agitation.
50  *
51  * Revision 1.14  1995/01/25  13:45:26  rob
52  * Added prototype of robot transfer fucm.
53  *
54  * Revision 1.13  1995/01/14  19:01:08  rob
55  * Added prototypes for new functionality.
56  *
57  * Revision 1.12  1995/01/12  16:41:53  rob
58  * Added new prototypes.
59  *
60  * Revision 1.11  1995/01/12  15:42:55  rob
61  * Fixing score awards for coop.
62  *
63  * Revision 1.10  1995/01/02  21:00:40  rob
64  * added robot matcen support.
65  *
66  * Revision 1.9  1994/12/31  21:03:53  rob
67  * More tweaking for robot behavior.
68  *
69  * Revision 1.8  1994/12/29  13:54:25  rob
70  * Ooops.. fixed a bug..
71  *
72  * Revision 1.7  1994/12/29  12:51:38  rob
73  * ADded proto for multi_robot_explode_sub
74  *
75  * Revision 1.6  1994/12/21  21:08:32  rob
76  * Added new functions for robot firing.
77  *
78  * Revision 1.5  1994/12/21  19:04:02  rob
79  * Fixing score accounting for multi robot games.
80  *
81  * Revision 1.4  1994/12/21  17:36:09  rob
82  * Added a new func.
83  *
84  * Revision 1.3  1994/12/21  11:12:02  rob
85  * Added new function and new vars.
86  *
87  * Revision 1.2  1994/12/19  16:41:42  rob
88  * first revision.
89  *
90  * Revision 1.1  1994/12/16  15:48:20  rob
91  * Initial revision
92  *
93  *
94  */
95
96
97 #ifndef _MULTIBOT_H
98 #define _MULTIBOT_H
99
100 #define MAX_ROBOTS_CONTROLLED 5
101
102 extern int robot_controlled[MAX_ROBOTS_CONTROLLED];
103 extern int robot_agitation[MAX_ROBOTS_CONTROLLED];
104 extern int robot_fired[MAX_ROBOTS_CONTROLLED];
105
106 int multi_can_move_robot(int objnum, int agitation);
107 void multi_send_robot_position(int objnum, int fired);
108 void multi_send_robot_fire(int objnum, int gun_num, vms_vector *fire);
109 void multi_send_claim_robot(int objnum);
110 void multi_send_robot_explode(int,int,char);
111 void multi_send_create_robot(int robotcen, int objnum, int type);
112 void multi_send_boss_actions(int bossobjnum, int action, int secondary, int objnum);
113 int multi_send_robot_frame(int sent);
114
115 void multi_do_robot_explode(char *buf);
116 void multi_do_robot_position(char *buf);
117 void multi_do_claim_robot(char *buf);
118 void multi_do_release_robot(char *buf);
119 void multi_do_robot_fire(char *buf);
120 void multi_do_create_robot(char *buf);
121 void multi_do_boss_actions(char *buf);
122 void multi_do_create_robot_powerups(char *buf);
123
124 int multi_explode_robot_sub(int botnum, int killer,char);
125
126 void multi_drop_robot_powerups(int objnum);
127 void multi_dump_robots(void);
128
129 void multi_strip_robots(int playernum);
130 void multi_check_robot_timeout(void);
131
132 void multi_robot_request_change(object *robot, int playernum);
133
134 #endif /* _MULTIBOT_H */