diff options
author | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
---|---|---|
committer | zakk <zakk@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2005-08-26 17:39:27 +0000 |
commit | 6bf20c78f5b69d40bcc4931df93d29198435ab67 (patch) | |
tree | e3eda937a05d7db42de725b7013bd0344b987f34 /code/botlib/be_ea.c | |
parent | 872d4d7f55af706737ffb361bb76ad13e7496770 (diff) | |
download | ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.tar.gz ioquake3-aero-6bf20c78f5b69d40bcc4931df93d29198435ab67.zip |
newlines fixed
git-svn-id: svn://svn.icculus.org/quake3/trunk@6 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/botlib/be_ea.c')
-rwxr-xr-x | code/botlib/be_ea.c | 1016 |
1 files changed, 508 insertions, 508 deletions
diff --git a/code/botlib/be_ea.c b/code/botlib/be_ea.c index 2c57099..5c0dd6c 100755 --- a/code/botlib/be_ea.c +++ b/code/botlib/be_ea.c @@ -1,508 +1,508 @@ -/*
-===========================================================================
-Copyright (C) 1999-2005 Id Software, Inc.
-
-This file is part of Quake III Arena source code.
-
-Quake III Arena source code is free software; you can redistribute it
-and/or modify it under the terms of the GNU General Public License as
-published by the Free Software Foundation; either version 2 of the License,
-or (at your option) any later version.
-
-Quake III Arena source code is distributed in the hope that it will be
-useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with Foobar; if not, write to the Free Software
-Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-===========================================================================
-*/
-
-/*****************************************************************************
- * name: be_ea.c
- *
- * desc: elementary actions
- *
- * $Archive: /MissionPack/code/botlib/be_ea.c $
- *
- *****************************************************************************/
-
-#include "../game/q_shared.h"
-#include "l_memory.h"
-#include "l_script.h"
-#include "l_precomp.h"
-#include "l_struct.h"
-#include "../game/botlib.h"
-#include "be_interface.h"
-
-#define MAX_USERMOVE 400
-#define MAX_COMMANDARGUMENTS 10
-#define ACTION_JUMPEDLASTFRAME 128
-
-bot_input_t *botinputs;
-
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Say(int client, char *str)
-{
- botimport.BotClientCommand(client, va("say %s", str) );
-} //end of the function EA_Say
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_SayTeam(int client, char *str)
-{
- botimport.BotClientCommand(client, va("say_team %s", str));
-} //end of the function EA_SayTeam
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Tell(int client, int clientto, char *str)
-{
- botimport.BotClientCommand(client, va("tell %d, %s", clientto, str));
-} //end of the function EA_SayTeam
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_UseItem(int client, char *it)
-{
- botimport.BotClientCommand(client, va("use %s", it));
-} //end of the function EA_UseItem
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_DropItem(int client, char *it)
-{
- botimport.BotClientCommand(client, va("drop %s", it));
-} //end of the function EA_DropItem
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_UseInv(int client, char *inv)
-{
- botimport.BotClientCommand(client, va("invuse %s", inv));
-} //end of the function EA_UseInv
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_DropInv(int client, char *inv)
-{
- botimport.BotClientCommand(client, va("invdrop %s", inv));
-} //end of the function EA_DropInv
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Gesture(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_GESTURE;
-} //end of the function EA_Gesture
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Command(int client, char *command)
-{
- botimport.BotClientCommand(client, command);
-} //end of the function EA_Command
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_SelectWeapon(int client, int weapon)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->weapon = weapon;
-} //end of the function EA_SelectWeapon
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Attack(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_ATTACK;
-} //end of the function EA_Attack
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Talk(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_TALK;
-} //end of the function EA_Talk
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Use(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_USE;
-} //end of the function EA_Use
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Respawn(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_RESPAWN;
-} //end of the function EA_Respawn
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Jump(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- if (bi->actionflags & ACTION_JUMPEDLASTFRAME)
- {
- bi->actionflags &= ~ACTION_JUMP;
- } //end if
- else
- {
- bi->actionflags |= ACTION_JUMP;
- } //end if
-} //end of the function EA_Jump
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_DelayedJump(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- if (bi->actionflags & ACTION_JUMPEDLASTFRAME)
- {
- bi->actionflags &= ~ACTION_DELAYEDJUMP;
- } //end if
- else
- {
- bi->actionflags |= ACTION_DELAYEDJUMP;
- } //end if
-} //end of the function EA_DelayedJump
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Crouch(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_CROUCH;
-} //end of the function EA_Crouch
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Walk(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_WALK;
-} //end of the function EA_Walk
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Action(int client, int action)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= action;
-} //end of function EA_Action
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveUp(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVEUP;
-} //end of the function EA_MoveUp
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveDown(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVEDOWN;
-} //end of the function EA_MoveDown
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveForward(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVEFORWARD;
-} //end of the function EA_MoveForward
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveBack(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVEBACK;
-} //end of the function EA_MoveBack
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveLeft(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVELEFT;
-} //end of the function EA_MoveLeft
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_MoveRight(int client)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- bi->actionflags |= ACTION_MOVERIGHT;
-} //end of the function EA_MoveRight
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Move(int client, vec3_t dir, float speed)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- VectorCopy(dir, bi->dir);
- //cap speed
- if (speed > MAX_USERMOVE) speed = MAX_USERMOVE;
- else if (speed < -MAX_USERMOVE) speed = -MAX_USERMOVE;
- bi->speed = speed;
-} //end of the function EA_Move
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_View(int client, vec3_t viewangles)
-{
- bot_input_t *bi;
-
- bi = &botinputs[client];
-
- VectorCopy(viewangles, bi->viewangles);
-} //end of the function EA_View
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_EndRegular(int client, float thinktime)
-{
-/*
- bot_input_t *bi;
- int jumped = qfalse;
-
- bi = &botinputs[client];
-
- bi->actionflags &= ~ACTION_JUMPEDLASTFRAME;
-
- bi->thinktime = thinktime;
- botimport.BotInput(client, bi);
-
- bi->thinktime = 0;
- VectorClear(bi->dir);
- bi->speed = 0;
- jumped = bi->actionflags & ACTION_JUMP;
- bi->actionflags = 0;
- if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME;
-*/
-} //end of the function EA_EndRegular
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_GetInput(int client, float thinktime, bot_input_t *input)
-{
- bot_input_t *bi;
-// int jumped = qfalse;
-
- bi = &botinputs[client];
-
-// bi->actionflags &= ~ACTION_JUMPEDLASTFRAME;
-
- bi->thinktime = thinktime;
- Com_Memcpy(input, bi, sizeof(bot_input_t));
-
- /*
- bi->thinktime = 0;
- VectorClear(bi->dir);
- bi->speed = 0;
- jumped = bi->actionflags & ACTION_JUMP;
- bi->actionflags = 0;
- if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME;
- */
-} //end of the function EA_GetInput
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_ResetInput(int client)
-{
- bot_input_t *bi;
- int jumped = qfalse;
-
- bi = &botinputs[client];
- bi->actionflags &= ~ACTION_JUMPEDLASTFRAME;
-
- bi->thinktime = 0;
- VectorClear(bi->dir);
- bi->speed = 0;
- jumped = bi->actionflags & ACTION_JUMP;
- bi->actionflags = 0;
- if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME;
-} //end of the function EA_ResetInput
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-int EA_Setup(void)
-{
- //initialize the bot inputs
- botinputs = (bot_input_t *) GetClearedHunkMemory(
- botlibglobals.maxclients * sizeof(bot_input_t));
- return BLERR_NOERROR;
-} //end of the function EA_Setup
-//===========================================================================
-//
-// Parameter: -
-// Returns: -
-// Changes Globals: -
-//===========================================================================
-void EA_Shutdown(void)
-{
- FreeMemory(botinputs);
- botinputs = NULL;
-} //end of the function EA_Shutdown
+/* +=========================================================================== +Copyright (C) 1999-2005 Id Software, Inc. + +This file is part of Quake III Arena source code. + +Quake III Arena source code is free software; you can redistribute it +and/or modify it under the terms of the GNU General Public License as +published by the Free Software Foundation; either version 2 of the License, +or (at your option) any later version. + +Quake III Arena source code is distributed in the hope that it will be +useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Foobar; if not, write to the Free Software +Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +=========================================================================== +*/ + +/***************************************************************************** + * name: be_ea.c + * + * desc: elementary actions + * + * $Archive: /MissionPack/code/botlib/be_ea.c $ + * + *****************************************************************************/ + +#include "../game/q_shared.h" +#include "l_memory.h" +#include "l_script.h" +#include "l_precomp.h" +#include "l_struct.h" +#include "../game/botlib.h" +#include "be_interface.h" + +#define MAX_USERMOVE 400 +#define MAX_COMMANDARGUMENTS 10 +#define ACTION_JUMPEDLASTFRAME 128 + +bot_input_t *botinputs; + +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Say(int client, char *str) +{ + botimport.BotClientCommand(client, va("say %s", str) ); +} //end of the function EA_Say +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_SayTeam(int client, char *str) +{ + botimport.BotClientCommand(client, va("say_team %s", str)); +} //end of the function EA_SayTeam +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Tell(int client, int clientto, char *str) +{ + botimport.BotClientCommand(client, va("tell %d, %s", clientto, str)); +} //end of the function EA_SayTeam +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_UseItem(int client, char *it) +{ + botimport.BotClientCommand(client, va("use %s", it)); +} //end of the function EA_UseItem +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_DropItem(int client, char *it) +{ + botimport.BotClientCommand(client, va("drop %s", it)); +} //end of the function EA_DropItem +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_UseInv(int client, char *inv) +{ + botimport.BotClientCommand(client, va("invuse %s", inv)); +} //end of the function EA_UseInv +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_DropInv(int client, char *inv) +{ + botimport.BotClientCommand(client, va("invdrop %s", inv)); +} //end of the function EA_DropInv +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Gesture(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_GESTURE; +} //end of the function EA_Gesture +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Command(int client, char *command) +{ + botimport.BotClientCommand(client, command); +} //end of the function EA_Command +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_SelectWeapon(int client, int weapon) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->weapon = weapon; +} //end of the function EA_SelectWeapon +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Attack(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_ATTACK; +} //end of the function EA_Attack +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Talk(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_TALK; +} //end of the function EA_Talk +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Use(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_USE; +} //end of the function EA_Use +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Respawn(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_RESPAWN; +} //end of the function EA_Respawn +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Jump(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + if (bi->actionflags & ACTION_JUMPEDLASTFRAME) + { + bi->actionflags &= ~ACTION_JUMP; + } //end if + else + { + bi->actionflags |= ACTION_JUMP; + } //end if +} //end of the function EA_Jump +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_DelayedJump(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + if (bi->actionflags & ACTION_JUMPEDLASTFRAME) + { + bi->actionflags &= ~ACTION_DELAYEDJUMP; + } //end if + else + { + bi->actionflags |= ACTION_DELAYEDJUMP; + } //end if +} //end of the function EA_DelayedJump +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Crouch(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_CROUCH; +} //end of the function EA_Crouch +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Walk(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_WALK; +} //end of the function EA_Walk +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Action(int client, int action) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= action; +} //end of function EA_Action +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveUp(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVEUP; +} //end of the function EA_MoveUp +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveDown(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVEDOWN; +} //end of the function EA_MoveDown +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveForward(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVEFORWARD; +} //end of the function EA_MoveForward +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveBack(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVEBACK; +} //end of the function EA_MoveBack +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveLeft(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVELEFT; +} //end of the function EA_MoveLeft +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_MoveRight(int client) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + bi->actionflags |= ACTION_MOVERIGHT; +} //end of the function EA_MoveRight +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Move(int client, vec3_t dir, float speed) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + VectorCopy(dir, bi->dir); + //cap speed + if (speed > MAX_USERMOVE) speed = MAX_USERMOVE; + else if (speed < -MAX_USERMOVE) speed = -MAX_USERMOVE; + bi->speed = speed; +} //end of the function EA_Move +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_View(int client, vec3_t viewangles) +{ + bot_input_t *bi; + + bi = &botinputs[client]; + + VectorCopy(viewangles, bi->viewangles); +} //end of the function EA_View +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_EndRegular(int client, float thinktime) +{ +/* + bot_input_t *bi; + int jumped = qfalse; + + bi = &botinputs[client]; + + bi->actionflags &= ~ACTION_JUMPEDLASTFRAME; + + bi->thinktime = thinktime; + botimport.BotInput(client, bi); + + bi->thinktime = 0; + VectorClear(bi->dir); + bi->speed = 0; + jumped = bi->actionflags & ACTION_JUMP; + bi->actionflags = 0; + if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME; +*/ +} //end of the function EA_EndRegular +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_GetInput(int client, float thinktime, bot_input_t *input) +{ + bot_input_t *bi; +// int jumped = qfalse; + + bi = &botinputs[client]; + +// bi->actionflags &= ~ACTION_JUMPEDLASTFRAME; + + bi->thinktime = thinktime; + Com_Memcpy(input, bi, sizeof(bot_input_t)); + + /* + bi->thinktime = 0; + VectorClear(bi->dir); + bi->speed = 0; + jumped = bi->actionflags & ACTION_JUMP; + bi->actionflags = 0; + if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME; + */ +} //end of the function EA_GetInput +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_ResetInput(int client) +{ + bot_input_t *bi; + int jumped = qfalse; + + bi = &botinputs[client]; + bi->actionflags &= ~ACTION_JUMPEDLASTFRAME; + + bi->thinktime = 0; + VectorClear(bi->dir); + bi->speed = 0; + jumped = bi->actionflags & ACTION_JUMP; + bi->actionflags = 0; + if (jumped) bi->actionflags |= ACTION_JUMPEDLASTFRAME; +} //end of the function EA_ResetInput +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +int EA_Setup(void) +{ + //initialize the bot inputs + botinputs = (bot_input_t *) GetClearedHunkMemory( + botlibglobals.maxclients * sizeof(bot_input_t)); + return BLERR_NOERROR; +} //end of the function EA_Setup +//=========================================================================== +// +// Parameter: - +// Returns: - +// Changes Globals: - +//=========================================================================== +void EA_Shutdown(void) +{ + FreeMemory(botinputs); + botinputs = NULL; +} //end of the function EA_Shutdown |