#ifdef SVQC
string Notification_CheckArgs(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name)
{
// check supplied broadcast, target, type, and name for errors
return checkargs;
}
-float Notification_ShouldSend(float broadcast, entity to_client, entity other_client)
+float Notification_ShouldSend(NOTIF broadcast, entity to_client, entity other_client)
{
switch(broadcast)
{
}
void Kill_Notification(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name)
{
#ifdef NOTIFICATIONS_DEBUG
}
void Send_Notification(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
...count)
{
#ifdef NOTIFICATIONS_DEBUG
Get_Notif_BroadcastName(broadcast);
#else
- ftos(broadcast);
+ ftos(ORDINAL(broadcast));
#endif
backtrace(sprintf(
strcat(
#ifdef NOTIFICATIONS_DEBUG
Get_Notif_BroadcastName(broadcast);
#else
- ftos(broadcast);
+ ftos(ORDINAL(broadcast));
#endif
backtrace(sprintf(
strcat(
// WOVA = Without Variable Arguments
void Send_Notification_WOVA(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
float stringcount, float floatcount,
string s1, string s2, string s3, string s4,
// WOCOVA = Without Counts Or Variable Arguments
void Send_Notification_WOCOVA(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
string s1, string s2, string s3, string s4,
float f1, float f2, float f3, float f4)
#endif
#ifdef SVQC // SERVER ONLY
-const float NOTIF_ONE = 1;
-const float NOTIF_ONE_ONLY = 2;
-const float NOTIF_TEAM = 3;
-const float NOTIF_TEAM_EXCEPT = 4;
-const float NOTIF_ALL = 5;
-const float NOTIF_ALL_EXCEPT = 6;
+ENUMCLASS(NOTIF)
+ CASE(NOTIF, ONE)
+ CASE(NOTIF, ONE_ONLY)
+ CASE(NOTIF, TEAM)
+ CASE(NOTIF, TEAM_EXCEPT)
+ CASE(NOTIF, ALL)
+ CASE(NOTIF, ALL_EXCEPT)
+ENUMCLASS_END(NOTIF)
void Kill_Notification(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name);
void Send_Notification(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
...count);
void Send_Notification_WOVA(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
float stringcount, float floatcount,
string s1, string s2, string s3, string s4,
float f1, float f2, float f3, float f4);
void Send_Notification_WOCOVA(
- float broadcast, entity client,
+ NOTIF broadcast, entity client,
float net_type, float net_name,
string s1, string s2, string s3, string s4,
float f1, float f2, float f3, float f4);
.entity nent_optionb;
// networked notification entity values
-.float nent_broadcast;
+#ifdef SVQC
+.NOTIF nent_broadcast;
+#endif
.entity nent_client;
.float nent_net_type;
.float nent_net_name;
#define ENUMCLASS(id) typedef int id; enum {
#define CASE(class, id) class##_##id,
#define ENUMCLASS_END(id) };
+#define ORDINAL(it) (it)
#else
// edict overhead mode, use this for type checking
-#define ENUMCLASS(id) CLASS(id, Object)
-#define CASE(class, id) class class##_##id; STATIC_INIT(class##_##id) { class##_##id = NEW(class); }
+.int enum_ordinal;
+#define ENUMCLASS(id) CLASS(id, Object) int id##_count;
+#define CASE(class, id) class class##_##id; STATIC_INIT(class##_##id) { entity e = class##_##id = NEW(class); e.enum_ordinal = class##_count++; }
#define ENUMCLASS_END(id) ENDCLASS(id)
+#define ORDINAL(it) ((it).enum_ordinal)
#endif