UFO: Alien Invasion
Toggle main menu visibility
Loading...
Searching...
No Matches
e_event_actoradd.cpp
Go to the documentation of this file.
1
4
5
/*
6
Copyright (C) 2002-2025 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_actoradd.h
"
28
#include "
../../../../../common/grid.h
"
29
37
void
CL_ActorAdd
(
const
eventRegister_t
* self,
dbuffer
* msg)
38
{
39
/* check if the actor is already visible */
40
const
int
entnum =
NET_ReadShort
(msg);
41
le_t
* le =
LE_Get
(entnum);
42
if
(le) {
43
Com_Printf
(
"CL_ActorAdd: Actor with number %i already exists\n"
, entnum);
44
NET_SkipFormat
(msg, self->
formatString
);
45
return
;
46
}
47
le =
LE_Add
(entnum);
48
49
/* get the info */
50
int
teamDefID;
51
NET_ReadFormat
(msg, self->
formatString
,
52
&le->
team
, &teamDefID,
53
&le->
gender
, &le->
pnum
, &le->
pos
,
54
&le->
state
, &le->
fieldSize
);
55
56
if
(teamDefID < 0 || teamDefID >
csi
.numTeamDefs)
57
Com_Printf
(
"CL_ActorAdd: Invalid teamDef index\n"
);
58
else
59
le->
teamDef
= &
csi
.teamDef[teamDefID];
60
61
/*Com_Printf("CL_ActorAdd: Add number: %i\n", entnum);*/
62
63
le->
type
=
ET_ACTORHIDDEN
;
64
65
Grid_PosToVec
(
cl
.mapData->routing, le->
fieldSize
, le->
pos
, le->
origin
);
66
le->
flags
=
LE_INVISIBLE
;
67
}
cl
clientBattleScape_t cl
Definition
cl_battlescape.cpp:29
LE_Add
le_t * LE_Add(int entnum)
Add a new local entity to the scene.
Definition
cl_localentity.cpp:1209
LE_Get
le_t * LE_Get(int entnum)
Searches all local entities for the one with the searched entnum.
Definition
cl_localentity.cpp:1287
cl_localentity.h
LE_INVISIBLE
#define LE_INVISIBLE
Definition
cl_localentity.h:53
dbuffer
Definition
dbuffer.h:20
client.h
Primary header for client.
csi
csi_t csi
Definition
common.cpp:39
Com_Printf
void Com_Printf(const char *const fmt,...)
Definition
common.cpp:428
CL_ActorAdd
void CL_ActorAdd(const eventRegister_t *self, dbuffer *msg)
Adds an hidden actor to the list of le's.
Definition
e_event_actoradd.cpp:37
e_event_actoradd.h
Grid_PosToVec
void Grid_PosToVec(const Routing &routing, const actorSizeEnum_t actorSize, const pos3_t pos, vec3_t vec)
Converts a grid position to world coordinates.
Definition
grid.cpp:832
grid.h
Battlescape grid functions.
NET_ReadFormat
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
NET_ReadShort
int NET_ReadShort(dbuffer *buf)
Definition
netpack.cpp:242
NET_SkipFormat
void NET_SkipFormat(dbuffer *buf, const char *format)
Definition
netpack.cpp:476
ET_ACTORHIDDEN
@ ET_ACTORHIDDEN
Definition
q_shared.h:163
eventRegister_t
Struct that defines one particular event with all its callbacks and data.
Definition
e_main.h:42
eventRegister_t::formatString
const char * formatString
The format string that is used to write and parse this event.
Definition
e_main.h:54
le_t
a local entity
Definition
cl_localentity.h:65
le_t::state
int state
Definition
cl_localentity.h:81
le_t::flags
int flags
Definition
cl_localentity.h:91
le_t::origin
vec3_t origin
Definition
cl_localentity.h:70
le_t::fieldSize
actorSizeEnum_t fieldSize
Definition
cl_localentity.h:157
le_t::pnum
int pnum
Definition
cl_localentity.h:88
le_t::gender
int gender
Definition
cl_localentity.h:162
le_t::pos
pos3_t pos
Definition
cl_localentity.h:71
le_t::team
int team
Definition
cl_localentity.h:87
le_t::teamDef
teamDef_t * teamDef
Definition
cl_localentity.h:161
le_t::type
entity_type_t type
Definition
cl_localentity.h:67
src
client
battlescape
events
event
actor
e_event_actoradd.cpp
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0