This is an automated email from the git hooks/post-receive script.

smcv pushed a commit to branch debian/master
in repository openjk.

commit 28c72736b22bc2858ad2063828a0a3b616c0ac42
Author: Ensiform <[email protected]>
Date:   Sun Jul 30 16:31:43 2017 -0500

    Shared: Add cvar_usercreated and unset_usercreated commands
    
    cvar_usercreated - Lists all user created cvars.
    unset_usercreated - Destroys all user created cvars. (USE with caution 
because it will unset valid cvars that are not currently valid)
    
    Scenarios where valid cvars that might be unset:
    At main menu and your cg_ g_ ui_ cvars might be not yet active.
---
 code/qcommon/cvar.cpp   | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 codemp/qcommon/cvar.cpp | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 100 insertions(+)

diff --git a/code/qcommon/cvar.cpp b/code/qcommon/cvar.cpp
index 078b36a..77d8e4b 100644
--- a/code/qcommon/cvar.cpp
+++ b/code/qcommon/cvar.cpp
@@ -1063,6 +1063,31 @@ void Cvar_ListModified_f( void ) {
        }
 }
 
+void Cvar_ListUserCreated_f( void ) {
+       cvar_t *var = NULL;
+       uint32_t count = 0;
+
+       // build a list of cvars that are modified
+       for ( var=cvar_vars;
+               var;
+               var=var->next )
+       {
+               char *value = var->latchedString ? var->latchedString : 
var->string;
+               if ( !(var->flags & CVAR_USER_CREATED) )
+                       continue;
+
+               Com_Printf( S_COLOR_GREY "Cvar "
+                       S_COLOR_WHITE "%s = " S_COLOR_GREY "\"" S_COLOR_WHITE 
"%s" S_COLOR_GREY "\"" S_COLOR_WHITE "\n",
+                       var->name, value );
+               count++;
+       }
+
+       if ( count > 0 )
+               Com_Printf( S_COLOR_GREY "Showing " S_COLOR_WHITE "%u" 
S_COLOR_GREY " user created cvars" S_COLOR_WHITE "\n", count );
+       else
+               Com_Printf( S_COLOR_GREY "No user created cvars" S_COLOR_WHITE 
"\n" );
+}
+
 /*
 ============
 Cvar_Unset
@@ -1135,6 +1160,29 @@ void Cvar_Unset_f(void)
                Com_Printf("Error: %s: Variable %s is not user created.\n", 
Cmd_Argv(0), cv->name);
 }
 
+void Cvar_UnsetUserCreated_f(void)
+{
+       cvar_t  *curvar = cvar_vars;
+       uint32_t count = 0;
+
+       while ( curvar )
+       {
+               if ( ( curvar->flags & CVAR_USER_CREATED ) )
+               {
+                       // throw out any variables the user created
+                       curvar = Cvar_Unset( curvar );
+                       count++;
+                       continue;
+               }
+               curvar = curvar->next;
+       }
+
+       if ( count > 0 )
+               Com_Printf( S_COLOR_GREY "Removed " S_COLOR_WHITE "%u" 
S_COLOR_GREY " user created cvars" S_COLOR_WHITE "\n", count );
+       else
+               Com_Printf( S_COLOR_GREY "No user created cvars to remove" 
S_COLOR_WHITE "\n" );
+}
+
 /*
 ============
 Cvar_Restart
@@ -1334,7 +1382,9 @@ void Cvar_Init (void) {
        Cmd_SetCommandCompletionFunc( "reset", Cvar_CompleteCvarName );
        Cmd_AddCommand( "unset", Cvar_Unset_f );
        Cmd_SetCommandCompletionFunc( "unset", Cvar_CompleteCvarName );
+       Cmd_AddCommand( "unset_usercreated", Cvar_UnsetUserCreated_f );
        Cmd_AddCommand( "cvarlist", Cvar_List_f );
+       Cmd_AddCommand( "cvar_usercreated", Cvar_ListUserCreated_f );
        Cmd_AddCommand( "cvar_modified", Cvar_ListModified_f );
        Cmd_AddCommand( "cvar_restart", Cvar_Restart_f );
 }
diff --git a/codemp/qcommon/cvar.cpp b/codemp/qcommon/cvar.cpp
index b3b26c1..157cdde 100644
--- a/codemp/qcommon/cvar.cpp
+++ b/codemp/qcommon/cvar.cpp
@@ -1256,6 +1256,31 @@ void Cvar_ListModified_f( void ) {
        }
 }
 
+void Cvar_ListUserCreated_f( void ) {
+       cvar_t *var = NULL;
+       uint32_t count = 0;
+
+       // build a list of cvars that are modified
+       for ( var=cvar_vars;
+               var;
+               var=var->next )
+       {
+               char *value = var->latchedString ? var->latchedString : 
var->string;
+               if ( !(var->flags & CVAR_USER_CREATED) )
+                       continue;
+
+               Com_Printf( S_COLOR_GREY "Cvar "
+                       S_COLOR_WHITE "%s = " S_COLOR_GREY "\"" S_COLOR_WHITE 
"%s" S_COLOR_GREY "\"" S_COLOR_WHITE "\n",
+                       var->name, value );
+               count++;
+       }
+
+       if ( count > 0 )
+               Com_Printf( S_COLOR_GREY "Showing " S_COLOR_WHITE "%u" 
S_COLOR_GREY " user created cvars" S_COLOR_WHITE "\n", count );
+       else
+               Com_Printf( S_COLOR_GREY "No user created cvars" S_COLOR_WHITE 
"\n" );
+}
+
 /*
 ============
 Cvar_Unset
@@ -1330,6 +1355,29 @@ void Cvar_Unset_f(void)
                Com_Printf("Error: %s: Variable %s is not user created.\n", 
Cmd_Argv(0), cv->name);
 }
 
+void Cvar_UnsetUserCreated_f(void)
+{
+       cvar_t  *curvar = cvar_vars;
+       uint32_t count = 0;
+
+       while ( curvar )
+       {
+               if ( ( curvar->flags & CVAR_USER_CREATED ) )
+               {
+                       // throw out any variables the user created
+                       curvar = Cvar_Unset( curvar );
+                       count++;
+                       continue;
+               }
+               curvar = curvar->next;
+       }
+
+       if ( count > 0 )
+               Com_Printf( S_COLOR_GREY "Removed " S_COLOR_WHITE "%u" 
S_COLOR_GREY " user created cvars" S_COLOR_WHITE "\n", count );
+       else
+               Com_Printf( S_COLOR_GREY "No user created cvars to remove" 
S_COLOR_WHITE "\n" );
+}
+
 /*
 ============
 Cvar_Restart
@@ -1564,7 +1612,9 @@ void Cvar_Init (void) {
        Cmd_SetCommandCompletionFunc( "reset", Cvar_CompleteCvarName );
        Cmd_AddCommand( "unset", Cvar_Unset_f, "Unset a user generated cvar" );
        Cmd_SetCommandCompletionFunc( "unset", Cvar_CompleteCvarName );
+       Cmd_AddCommand( "unset_usercreated", Cvar_UnsetUserCreated_f, "Unset 
all user generated cvars " S_COLOR_RED "Use with caution!" S_COLOR_WHITE );
        Cmd_AddCommand( "cvarlist", Cvar_List_f, "Show all cvars" );
+       Cmd_AddCommand( "cvar_usercreated", Cvar_ListUserCreated_f, "Show all 
user created cvars" );
        Cmd_AddCommand( "cvar_modified", Cvar_ListModified_f, "Show all 
modified cvars" );
        Cmd_AddCommand( "cvar_restart", Cvar_Restart_f, "Resetart the cvar 
sub-system" );
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-games/openjk.git

_______________________________________________
Pkg-games-commits mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

Reply via email to