UFO: Alien Invasion
Loading...
Searching...
No Matches
e_event_actorturn.cpp
Go to the documentation of this file.
1
4
5/*
6Copyright (C) 2002-2025 UFO: Alien Invasion.
7
8This program is free software; you can redistribute it and/or
9modify it under the terms of the GNU General Public License
10as published by the Free Software Foundation; either version 2
11of the License, or (at your option) any later version.
12
13This program is distributed in the hope that it will be useful,
14but WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16
17See the GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23*/
24
25#include "../../../../client.h"
27#include "e_event_actorturn.h"
28
34void 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}
le_t * LE_Get(int entnum)
Searches all local entities for the one with the searched entnum.
bool LE_IsActor(const le_t *le)
Checks whether the given le is a living actor.
#define LE_IsDead(le)
#define LE_NotFoundError(entnum)
Primary header for client.
void Com_Error(int code, const char *fmt,...)
Definition common.cpp:459
#define ERR_DROP
Definition common.h:211
void CL_ActorDoTurn(const eventRegister_t *self, dbuffer *msg)
Turns actor.
const float directionAngles[CORE_DIRECTIONS]
Definition mathlib.cpp:105
#define YAW
Definition mathlib.h:55
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
Struct that defines one particular event with all its callbacks and data.
Definition e_main.h:42
const char * formatString
The format string that is used to write and parse this event.
Definition e_main.h:54
a local entity
float angles[3]
int angle
entity_type_t type