UFO: Alien Invasion
Doxygen documentation generating
e_event_actorturn.cpp
Go to the documentation of this file.
1 
5 /*
6 Copyright (C) 2002-2023 UFO: Alien Invasion.
7 
8 This program is free software; you can redistribute it and/or
9 modify it under the terms of the GNU General Public License
10 as published by the Free Software Foundation; either version 2
11 of the License, or (at your option) any later version.
12 
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 
17 See the GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 
23 */
24 
25 #include "../../../../client.h"
26 #include "../../../cl_localentity.h"
27 #include "e_event_actorturn.h"
28 
34 void CL_ActorDoTurn (const eventRegister_t* self, dbuffer* msg)
35 {
36  int entnum, dir;
37  NET_ReadFormat(msg, self->formatString, &entnum, &dir);
38 
39  /* get le */
40  le_t* le = LE_Get(entnum);
41  if (!le)
42  LE_NotFoundError(entnum);
43 
44  if (!LE_IsActor(le))
45  Com_Error(ERR_DROP, "Can't turn, LE doesn't exist or is not an actor (number: %i, type: %i)\n",
46  entnum, le->type);
47 
48  if (LE_IsDead(le))
49  Com_Error(ERR_DROP, "Can't turn, actor dead\n");
50 
51  le->angle = dir;
52  le->angles[YAW] = directionAngles[le->angle];
53 }
void CL_ActorDoTurn(const eventRegister_t *self, dbuffer *msg)
Turns actor.
void NET_ReadFormat(dbuffer *buf, const char *format,...)
The user-friendly version of NET_ReadFormat that reads variable arguments from a buffer according to ...
Definition: netpack.cpp:533
bool LE_IsActor(const le_t *le)
Checks whether the given le is a living actor.
int angle
#define YAW
Definition: mathlib.h:55
void Com_Error(int code, const char *fmt,...)
Definition: common.cpp:417
float angles[3]
#define ERR_DROP
Definition: common.h:211
a local entity
le_t * LE_Get(int entnum)
Searches all local entities for the one with the searched entnum.
#define LE_IsDead(le)
const float directionAngles[CORE_DIRECTIONS]
Definition: mathlib.cpp:105
entity_type_t type
Struct that defines one particular event with all its callbacks and data.
Definition: e_main.h:42
#define LE_NotFoundError(entnum)