5 void Read_Effect(bool is_new);
7 void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt);
8 void Send_Effect_(string eff_name, vector eff_loc, vector eff_vel, int eff_cnt);
11 #define particleeffectnum(e) _particleeffectnum(e.eent_eff_name)
13 REGISTRY(Effects, BIT(8))
14 REGISTER_REGISTRY(RegisterEffects)
15 #define EFFECT(istrail, name, realname) \
16 REGISTER(RegisterEffects, EFFECT, Effects, name, m_id, Create_Effect_Entity(realname, istrail));
19 .string eent_eff_name;
22 .vector eent_net_location;
23 .vector eent_net_velocity;
26 entity Create_Effect_Entity(string eff_name, bool eff_trail)
28 entity this = new(effect_entity);
29 this.eent_eff_name = eff_name;
30 this.eent_eff_trail = eff_trail;
34 void RegisterEffects_First()
37 #define dedi (server_is_dedicated ? "a dedicated " : "")
42 LOG_TRACEF("Beginning effect initialization on %s%s program...\n", dedi, PROGNAME);
46 void RegisterEffects_Done()
48 LOG_TRACE("Effects initialization successful!\n");
51 // NOW we actually activate the declarations
52 ACCUMULATE_FUNCTION(RegisterEffects, RegisterEffects_First)
53 EFFECT(0, Null, string_null)
54 #include "effects.inc"
55 ACCUMULATE_FUNCTION(RegisterEffects, RegisterEffects_Done)