UFO: Alien Invasion
Loading...
Searching...
No Matches
e_event_particlespawn.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"
29
30int CL_ParticleSpawnEventTime (const struct eventRegister_s* self, dbuffer* msg, eventTiming_t* eventTiming)
31{
32 if (eventTiming->parsedShot) {
33 if (eventTiming->parsedDeath) { /* drop items after death (caused by impact) */
34 return eventTiming->impactTime + 400;
35 } else if (eventTiming->impactTime > cl.time) { /* item thrown on the ground */
36 return eventTiming->impactTime + 75;
37 }
38 }
39
40 return eventTiming->nextTime;
41}
42
51{
52 char particle[MAX_VAR];
53 int levelflags;
54 vec3_t s, v, a;
55
56 /* read data */
57 NET_ReadFormat(msg, self->formatString, &levelflags, &s, &v, &a, particle, sizeof(particle));
58
59 CL_ParticleSpawn(particle, levelflags, s, v, a);
60}
clientBattleScape_t cl
ptl_t * CL_ParticleSpawn(const char *name, int levelFlags, const vec3_t s, const vec3_t v, const vec3_t a)
Spawn a new particle to the map.
Primary header for client.
int CL_ParticleSpawnEventTime(const struct eventRegister_s *self, dbuffer *msg, eventTiming_t *eventTiming)
void CL_ParticleSpawnEvent(const eventRegister_t *self, dbuffer *msg)
Let a particle spawn for the client.
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
QGL_EXTERN int GLboolean GLfloat * v
Definition r_gl.h:120
#define MAX_VAR
Definition shared.h:36
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
CL_ParseEvent timers and vars.
Definition e_main.h:30
int nextTime
Definition e_main.h:31
int impactTime
Definition e_main.h:33
bool parsedDeath
Definition e_main.h:35
bool parsedShot
Definition e_main.h:36
vec_t vec3_t[3]
Definition ufotypes.h:39