There are currently 0 players online.
 
Warsow


 
 

backcvar autocompletion

Posted by
Post Scroll to bottom
learn_more

Member
(3313 posts)

adds auto-completion (press tab) to the following cvar commands:

set, seta, reset, toggle - lists all cvars that starts with whatever you entered
setu, setau - lists all userinfo cvars
sets, setas - lists all serverinfo cvars


patch:

http://drop.st/5FnKtv

--- D:/Warsow/0.7B3/sdk_vanilla/source/qcommon/cvar.c      Sat Jun 25 15:04:16 2011
+++ D:/Warsow/0.7B3/sdk/source/qcommon/cvar.c Sat Jul 21 16:27:00 2012
@@ -797,6 +797,38 @@
return buf;
}

+
+/*
+CVar_CompleteBuildList
+*/
+char **Cvar_CompleteBuildListWithFlag( const char *partial, cvar_flag_t flag )
+{
+ struct trie_dump_s *dump;
+ char **buf;
+ unsigned int i;
+
+ assert( cvar_trie );
+ Trie_DumpIf( cvar_trie, partial, TRIE_DUMP_VALUES, Cvar_HasFlags, &flag, &dump );
+ buf = (char **) Mem_TempMalloc( sizeof( char * ) * ( dump->size + 1 ) );
+ for( i = 0; i < dump->size; ++i )
+ buf = ( (cvar_t *) ( dump->key_value_vector.value ) )->name;
+ buf[dump->size] = NULL;
+ Trie_FreeDump( dump );
+ return buf;
+}
+
+
+char **Cvar_CompleteBuildListUser( const char *partial )
+{
+ return Cvar_CompleteBuildListWithFlag( partial, CVAR_USERINFO );
+}
+
+
+char **Cvar_CompleteBuildListServer( const char *partial )
+{
+ return Cvar_CompleteBuildListWithFlag( partial, CVAR_SERVERINFO );
+}
+
/*
* Cvar_PreInit
*/
@@ -833,6 +865,16 @@
Cmd_AddCommand( "reset", Cvar_Reset_f );
Cmd_AddCommand( "toggle", Cvar_Toggle_f );
Cmd_AddCommand( "cvarlist", Cvar_List_f );
+
+ Cmd_SetCompletionFunc( "set", Cvar_CompleteBuildList );
+ Cmd_SetCompletionFunc( "seta", Cvar_CompleteBuildList );
+ Cmd_SetCompletionFunc( "reset", Cvar_CompleteBuildList );
+ Cmd_SetCompletionFunc( "toggle", Cvar_CompleteBuildList );
+ Cmd_SetCompletionFunc( "setau", Cvar_CompleteBuildListUser );
+ Cmd_SetCompletionFunc( "setas", Cvar_CompleteBuildListServer );
+ Cmd_SetCompletionFunc( "setu", Cvar_CompleteBuildListUser );
+ Cmd_SetCompletionFunc( "sets", Cvar_CompleteBuildListServer );
+
#ifndef PUBLIC_BUILD
Cmd_AddCommand( "cvararchivelist", Cvar_ArchiveList_f );
#endif


Vic

Member
(4891 posts)


Scroll to top



RSSRSSRSSRSS

Copyright © 2013 Chasseur De Bots

Warsow in social media



Warsow is an indie game developed by group of hobbyists. Please consider giving us a small donation: