switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #if (prog != ARG_DC) \
- case selected: { ++sel_num; break; } \
- #endif
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_CS(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_SV(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_DC(selected,result)
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default:
{
print(sprintf(
switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #if (prog == ARG_CS_SV_HA) \
- case selected: { ++sel_num; break; } \
- #endif
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result)
+ #define ARG_CASE_ARG_CS_SV(selected,result)
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result)
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default:
{
print(sprintf(
switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #if (prog == ARG_CS_SV_DC) || (prog == ARG_DC) \
- case selected: { ++sel_num; break; } \
- #endif
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result)
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result)
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result) case selected: { ++sel_num; break; }
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default:
{
if(ftos(stof(selected)) != "") { ++sel_num; }
default:
{
- error(sprintf(
+ print(sprintf(
strcat(
"^1NOTIFICATION WITH IMPROPER TYPE: ",
"^7net_type = %d, net_name = %s.\n"
notif.nent_stringcount = max(notif.nent_optiona.nent_stringcount, notif.nent_optionb.nent_stringcount);
notif.nent_floatcount = max(notif.nent_optiona.nent_floatcount, notif.nent_optionb.nent_floatcount);
- #ifdef NOTIFICATIONS_DEBUG
+ /*#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
"Create_Notification_Entity(...): MSG_CHOICE: %s\n%s\n%s\n",
notif.nent_name,
notif.nent_optionb.nent_floatcount
)
));
- #endif
+ #endif*/
}
break;
}
- default: print("DAFUQ?\n"); notif_error = TRUE; break;
+ default:
+ {
+ print(sprintf(
+ strcat(
+ "^1NOTIFICATION WITH IMPROPER TYPE: ",
+ "^7net_type = %d, net_name = %s.\n"
+ ),
+ typeid,
+ namestring
+ ));
+ notif_error = TRUE;
+ break;
+ }
}
// now check to see if any errors happened
sprintf("notification_%s", msg_choice_notifs[i].nent_name)
);
}
-
- GetCvars_handleFloat(get_cvars_s, get_cvars_f, FRAG_VERBOSE, "notification_frag_verbose");
}
#endif
NOTIF_HIT_MAX(NOTIF_MAX_ARGS, "Local_Notification_sprintf")
switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #ifdef CSQC \
- #if (prog != ARG_SV) && (prog != ARG_DC) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif \
- #else \
- #if (prog != ARG_CS) && (prog != ARG_DC) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif \
- #endif
+ #ifdef CSQC
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result)
+ #else
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_DC(selected,result)
+ #endif
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default: NOTIF_HIT_UNKNOWN(NOTIF_MAX_ARGS, "Local_Notification_sprintf")
}
}
NOTIF_HIT_MAX(NOTIF_MAX_HUDARGS, "Local_Notification_HUD_Notify_Push")
switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #if (prog == ARG_CS_SV_HA) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result)
+ #define ARG_CASE_ARG_CS_SV(selected,result)
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result)
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default: NOTIF_HIT_UNKNOWN(NOTIF_MAX_HUDARGS, "Local_Notification_HUD_Notify_Push")
}
}
NOTIF_HIT_MAX(NOTIF_MAX_DURCNT, "Local_Notification_centerprint_generic")
switch(strtolower(selected))
{
- #define ARG_CASE(prog,selected,result) \
- #if (prog == ARG_CS_SV_DC) || (prog == ARG_DC) \
- case selected: { arg_slot[sel_num] = result; ++sel_num; break; } \
- #endif
+ #define ARG_CASE_ARG_CS_SV_HA(selected,result)
+ #define ARG_CASE_ARG_CS_SV_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE_ARG_CS_SV(selected,result)
+ #define ARG_CASE_ARG_CS(selected,result)
+ #define ARG_CASE_ARG_SV(selected,result)
+ #define ARG_CASE_ARG_DC(selected,result) case selected: { arg_slot[sel_num] = result; ++sel_num; break; }
+ #define ARG_CASE(prog,selected,result) ARG_CASE_##prog(selected,result)
NOTIF_ARGUMENT_LIST
#undef ARG_CASE
+ #undef ARG_CASE_ARG_DC
+ #undef ARG_CASE_ARG_SV
+ #undef ARG_CASE_ARG_CS
+ #undef ARG_CASE_ARG_CS_SV
+ #undef ARG_CASE_ARG_CS_SV_DC
+ #undef ARG_CASE_ARG_CS_SV_HA
default:
{
if(ftos(stof(selected)) != "") { arg_slot[sel_num] = selected; ++sel_num; }
void Local_Notification(float net_type, float net_name, ...count)
{
+ // check if this should be aborted
+ if(net_name == NOTIF_ABORT)
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Local_Notification(%s, %s, ...);\n",
+ Get_Notif_TypeName(net_type),
+ "NOTIF_ABORT"
+ ));
+ #endif
+ return;
+ }
+
// check supplied type and name for errors
string checkargs = Notification_CheckArgs_TypeName(net_type, net_name);
- if(checkargs != "") { backtrace(sprintf("Incorrect usage of Local_Notification: %s\n", checkargs)); return; }
+ if(checkargs != "")
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Local_Notification(%s, %d, ...);\n",
+ Get_Notif_TypeName(net_type),
+ Get_Notif_Ent(net_type, net_name).nent_name
+ ));
+ #endif
+ backtrace(sprintf("Incorrect usage of Local_Notification: %s\n", checkargs));
+ return;
+ }
+ // retreive entity of this notification
entity notif = Get_Notif_Ent(net_type, net_name);
- if not(notif) { backtrace("Local_Notification: Could not find notification entity!\n"); return; }
+ if not(notif)
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Local_Notification(%s, %d, ...);\n",
+ Get_Notif_TypeName(net_type),
+ net_name
+ ));
+ #endif
+ backtrace("Local_Notification: Could not find notification entity!\n");
+ return;
+ }
+
+ // check if the notification is enabled
if not(notif.nent_enabled)
{
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Local_Notification(%s, %s): Entity was disabled...\n",
+ "Local_Notification(%s, %s, ...): Entity was disabled...\n",
Get_Notif_TypeName(net_type),
notif.nent_name
));
#endif
return;
}
+
+ string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
+ string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
+ string s3 = ((2 < notif.nent_stringcount) ? ...(2, string) : "");
+ string s4 = ((3 < notif.nent_stringcount) ? ...(3, string) : "");
+ float f1 = ((0 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 0), float) : 0);
+ float f2 = ((1 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 1), float) : 0);
+ float f3 = ((2 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 2), float) : 0);
+ float f4 = ((3 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 3), float) : 0);
+
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Local_Notification(%s, %s, %s, %s);\n",
+ Get_Notif_TypeName(net_type),
+ notif.nent_name,
+ MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
+ sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
+ ));
+ #endif
if((notif.nent_stringcount + notif.nent_floatcount) > count)
{
));
return;
}
-
- string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
- string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
- string s3 = ((2 < notif.nent_stringcount) ? ...(2, string) : "");
- string s4 = ((3 < notif.nent_stringcount) ? ...(3, string) : "");
- float f1 = ((0 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 0), float) : 0);
- float f2 = ((1 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 1), float) : 0);
- float f3 = ((2 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 2), float) : 0);
- float f4 = ((3 < notif.nent_floatcount) ? ...((notif.nent_stringcount + 3), float) : 0);
-
- #ifdef NOTIFICATIONS_DEBUG
- Debug_Notification(sprintf(
- "Local_Notification(%s, %s, %s, %s);\n",
- Get_Notif_TypeName(net_type),
- notif.nent_name,
- MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
- sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
- ));
- #endif
switch(net_type)
{
float broadcast, entity client,
float net_type, float net_name)
{
- string checkargs = Notification_CheckArgs(broadcast, client, 1, 1);
- if(checkargs != "") { backtrace(sprintf("Incorrect usage of Kill_Notification: %s\n", checkargs)); return; }
-
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
"Kill_Notification(%s, '%s', %s, %d);\n",
net_name
));
#endif
+
+ string checkargs = Notification_CheckArgs(broadcast, client, 1, 1);
+ if(checkargs != "") { backtrace(sprintf("Incorrect usage of Kill_Notification: %s\n", checkargs)); return; }
entity notif, net_notif;
float killed_cpid = NO_CPID;
float net_type, float net_name,
...count)
{
+ // check if this should be aborted
+ if(net_name == NOTIF_ABORT)
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Send_Notification(%s, '%s', %s, %s, ...);\n",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ "NOTIF_ABORT"
+ ));
+ #endif
+ return;
+ }
+
// check supplied broadcast, target, type, and name for errors
string checkargs = Notification_CheckArgs(broadcast, client, net_type, net_name);
if(checkargs != "")
{
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Send_Notification(%s, '%s', %s, %d, ...);\n",
+ "Send_Notification(%s, '%s', %s, %s, ...);\n",
Get_Notif_BroadcastName(broadcast),
client.classname,
Get_Notif_TypeName(net_type),
return;
}
- // retreive counts for the arguments of this notification
+ // retreive entity of this notification
entity notif = Get_Notif_Ent(net_type, net_name);
if not(notif)
{
"Check the definition and function call for accuracy...?\n"
),
sprintf(
+ #ifdef NOTIFICATIONS_DEBUG
"%s, '%s', %s, %s",
Get_Notif_BroadcastName(broadcast),
+ #else
+ "%d, '%s', %s, %s",
+ broadcast,
+ #endif
client.classname,
Get_Notif_TypeName(net_type),
notif.nent_name
"Check the definition and function call for accuracy...?\n"
),
sprintf(
+ #ifdef NOTIFICATIONS_DEBUG
"%s, '%s', %s, %s",
Get_Notif_BroadcastName(broadcast),
+ #else
+ "%d, '%s', %s, %s",
+ broadcast,
+ #endif
client.classname,
Get_Notif_TypeName(net_type),
notif.nent_name