#include "net_notice.qh"
+REGISTER_NET_TEMP(TE_CSQC_SVNOTICE)
+
#ifdef SVQC
void sv_notice_join_think()
-{
+{SELFPARAM();
//NextLevel();
float argc = tokenizebyseparator(autocvar_sv_join_notices, "|");
if(argc > 0)
}
void sv_notice_join()
-{
+{SELFPARAM();
// to-do: make sv_join_notices support per-entry times
if(autocvar_sv_join_notices == "")
return;
void sv_notice_to(entity _to, string _notice, float _howlong, float _modal)
{
msg_entity = _to;
- WriteByte(MSG_ONE, SVC_TEMPENTITY);
- WriteByte(MSG_ONE, TE_CSQC_SVNOTICE);
+ WriteHeader(MSG_ONE, TE_CSQC_SVNOTICE);
WriteString(MSG_ONE, _notice);
WriteLong(MSG_ONE, _howlong);
WriteByte(MSG_ONE, _modal);
#endif // SVQC
#ifdef CSQC
+NET_HANDLE(TE_CSQC_SVNOTICE, bool isNew)
+{
+ cl_notice_read();
+ return true;
+}
void cl_notice_read()
{
- entity _notice;
//float _done;
//float _modal;
- _notice = spawn();
- _notice.classname = "sv_notice";
+ entity _notice = new(sv_notice);
_notice.netname = strzone(ReadString());
_notice.alpha = ReadLong() + time;
_notice.skin = ReadByte();
_notes = findchain(classname, "sv_notice");
if(!_notes)
return false;
- #define M1 30
- #define M2 10
+ const int M1 = 30;
+ const int M2 = 10;
vector v1, v2 = '0 0 0', v3;
v1 = '1 1 0' * M1;
if(_notes.alpha <= time)
{
- _notes.think = SUB_Remove;
+ _notes.think = SUB_Remove_self;
_notes.nextthink = time;
}
}
#undef OUT
- #undef M1
- #undef M2
return m;
}