float W_Config_Queue_Compare(float root, float child, entity pass)
{
- float i, r, c;
-
- for(i = 1; i <= 100; ++i)
- {
- r = str2chr(wep_config_queue[root], i);
- c = str2chr(wep_config_queue[child], i);
- if(r == c) { continue; }
- else if(c > r) { return -1; }
- else { return 1; }
- }
-
- return 0;
+ return strcmp(wep_config_queue[root], wep_config_queue[child]);
}
void Dump_Weapon_Settings(void)
{
- float i, x;
+ float i, x, totalsettings = 0;
for(i = WEP_FIRST; i <= WEP_LAST; ++i)
{
// step 1: clear the queue
heapsort(WEP_CONFIG_COUNT, W_Config_Queue_Swap, W_Config_Queue_Compare, world);
// step 4: write queue
- WEP_CONFIG_WRITE(sprintf("// {{{ #%d: %s\n// %d settings\n", i, W_Name(i), WEP_CONFIG_COUNT))
- for(x = 0; x <= WEP_CONFIG_COUNT; ++x)
- { WEP_CONFIG_WRITE(wep_config_queue[x]) }
- WEP_CONFIG_WRITE("// }}}\n")
- }
-}
- /*
- * float WEP_CONFIG_COUNT;
-string wep_config_queue[MAX_WEP_CONFIG];
- #define WEP_BAL_WRITE(a) { \
- fputs(fh, a); \
- if(alsoprint) { print(a); } }
- #define WEP_BAL_WRITE_ENTITY(description) { \
- notif_msg = \
- sprintf( \
- "seta notification_%s \"%d\" \"%s\"\n", \
- e.nent_name, e.nent_default, description \
- ); \
- WEP_BAL_WRITE(notif_msg) }
- #define WEP_BAL_WRITE_HARDCODED(cvar,default,description) { \
- notif_msg = \
- sprintf( \
- "seta notification_%s \"%s\" \"%s\"\n", \
- cvar, default, description \
- ); \
- WEP_BAL_WRITE(notif_msg) }
-
- string notif_msg;
- float i;
- entity e;
-
- NOTIF_WRITE(sprintf("\n// MSG_ANNCE notifications (count = %d):\n", NOTIF_ANNCE_COUNT));
- for(i = 1; i <= NOTIF_ANNCE_COUNT; ++i)
- {
- e = Get_Notif_Ent(MSG_ANNCE, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
- NOTIF_WRITE_ENTITY(
- "Notification control cvar: 0 = disabled, 1 = enabled if gentle mode is off, 2 = always enabled)"
- );
- }
-
- NOTIF_WRITE(sprintf("\n// MSG_INFO notifications (count = %d):\n", NOTIF_INFO_COUNT));
- for(i = 1; i <= NOTIF_INFO_COUNT; ++i)
- {
- e = Get_Notif_Ent(MSG_INFO, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
- NOTIF_WRITE_ENTITY(
- "Notification control cvar: 0 = off, 1 = print to console, "
- "2 = print to console and chatbox (if notification_allow_chatboxprint is enabled)"
- );
+ WEP_CONFIG_WRITETOFILE(sprintf(
+ "// {{{ #%d: %s%s\n",
+ i,
+ WEP_NAME(i),
+ (((get_weaponinfo(i)).spawnflags & WEP_FLAG_MUTATORBLOCKED) ? " (MUTATOR WEAPON)" : "")
+ ))
+ for(x = 0; x <= WEP_CONFIG_COUNT; ++x) { WEP_CONFIG_WRITETOFILE(wep_config_queue[x]) }
+ WEP_CONFIG_WRITETOFILE("// }}}\n")
+
+ // step 5: debug info
+ print(sprintf("#%d: %s: %d settings...\n", i, WEP_NAME(i), WEP_CONFIG_COUNT));
+ totalsettings += WEP_CONFIG_COUNT;
}
- NOTIF_WRITE(sprintf("\n// MSG_CENTER notifications (count = %d):\n", NOTIF_CENTER_COUNT));
- for(i = 1; i <= NOTIF_CENTER_COUNT; ++i)
- {
- e = Get_Notif_Ent(MSG_CENTER, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
- NOTIF_WRITE_ENTITY(
- "Notification control cvar: 0 = off, 1 = centerprint"
- );
- }
+ // clear queue now that we're finished
+ WEP_CONFIG_COUNT = 0;
+ for(x = 0; x <= MAX_WEP_CONFIG; ++x)
+ { wep_config_queue[x] = string_null; }
- NOTIF_WRITE(sprintf("\n// MSG_MULTI notifications (count = %d):\n", NOTIF_MULTI_COUNT));
- for(i = 1; i <= NOTIF_MULTI_COUNT; ++i)
- {
- e = Get_Notif_Ent(MSG_MULTI, i);
- if not(e) { backtrace("Dump_Notifications(): Missing notification entity!\n"); return; }
-
- NOTIF_WRITE_ENTITY(
- "Notification control cvar: 0 = off, 1 = trigger subcalls"
- );
- }
-
- // edit these to match whichever cvars are used for specific notification options
- NOTIF_WRITE("\n// HARD CODED notification variables:\n");
-
- NOTIF_WRITE_HARDCODED(
- "allow_chatboxprint", "1",
- "Allow notifications to be printed to chat box by setting notification cvar to 2 "
- "(You can also set this cvar to 2 to force ALL notifications to be printed to the chatbox)"
- );
-
- NOTIF_WRITE(sprintf(
- strcat(
- "\n// Notification counts (total = %d): ",
- "MSG_ANNCE = %d, MSG_INFO = %d, MSG_CENTER = %d, MSG_MULTI = %d\n"
- ),
- (
- NOTIF_ANNCE_COUNT +
- NOTIF_INFO_COUNT +
- NOTIF_CENTER_COUNT +
- NOTIF_MULTI_COUNT
- ),
- NOTIF_ANNCE_COUNT,
- NOTIF_INFO_COUNT,
- NOTIF_CENTER_COUNT,
- NOTIF_MULTI_COUNT
- ));
-
- return;
- #undef NOTIF_WRITE_HARDCODED
- #undef NOTIF_WRITE_ENTITY
- #undef NOTIF_WRITE
-}*/
+ // extra information
+ print(sprintf("Totals: %d weapons, %d settings\n", (i - 1), totalsettings));
+}