From 9325c3672c83112597aa97eedb6fd8d6c96709c4 Mon Sep 17 00:00:00 2001 From: Jonathan Young Date: Mon, 4 Jul 2016 19:12:58 +1000 Subject: [PATCH 1/2] Fix debug assert when auto-completing some command arguments. --- neo/framework/FileSystem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neo/framework/FileSystem.cpp b/neo/framework/FileSystem.cpp index fe870963..20c7d7d0 100644 --- a/neo/framework/FileSystem.cpp +++ b/neo/framework/FileSystem.cpp @@ -2271,7 +2271,7 @@ int idFileSystemLocal::GetFileList( const char* relativePath, const idStrList& e } // ensure we have a path, and not just a filename containing the path - if( rt.filename[ pathLength ] == '\0' || rt.filename[pathLength - 1] != '/' ) + if( rt.filename[ pathLength ] == '\0' || ( pathLength && rt.filename[pathLength - 1] != '/' ) ) { continue; } From 42f93f5b0ea064d31a5b1f93dfd1b5e2d58b1800 Mon Sep 17 00:00:00 2001 From: Jonathan Young Date: Mon, 4 Jul 2016 19:14:16 +1000 Subject: [PATCH 2/2] Include json maps in command argument auto-complete. --- neo/framework/CmdSystem.h | 6 ++++++ neo/framework/Common_mapconvert.cpp | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/neo/framework/CmdSystem.h b/neo/framework/CmdSystem.h index 4de1528f..04688e67 100644 --- a/neo/framework/CmdSystem.h +++ b/neo/framework/CmdSystem.h @@ -191,6 +191,7 @@ public: static void ArgCompletion_Decl( const idCmdArgs& args, void( *callback )( const char* s ) ); static void ArgCompletion_FileName( const idCmdArgs& args, void( *callback )( const char* s ) ); static void ArgCompletion_MapName( const idCmdArgs& args, void( *callback )( const char* s ) ); + static void ArgCompletion_MapNameNoJson( const idCmdArgs& args, void( *callback )( const char* s ) ); static void ArgCompletion_ModelName( const idCmdArgs& args, void( *callback )( const char* s ) ); static void ArgCompletion_SoundName( const idCmdArgs& args, void( *callback )( const char* s ) ); static void ArgCompletion_ImageName( const idCmdArgs& args, void( *callback )( const char* s ) ); @@ -236,6 +237,11 @@ ID_INLINE void idCmdSystem::ArgCompletion_FileName( const idCmdArgs& args, void( } ID_INLINE void idCmdSystem::ArgCompletion_MapName( const idCmdArgs& args, void( *callback )( const char* s ) ) +{ + cmdSystem->ArgCompletion_FolderExtension( args, callback, "maps/", true, ".map", ".json", NULL ); +} + +ID_INLINE void idCmdSystem::ArgCompletion_MapNameNoJson( const idCmdArgs& args, void( *callback )( const char* s ) ) { cmdSystem->ArgCompletion_FolderExtension( args, callback, "maps/", true, ".map", NULL ); } diff --git a/neo/framework/Common_mapconvert.cpp b/neo/framework/Common_mapconvert.cpp index 4454e011..3e4c4e01 100644 --- a/neo/framework/Common_mapconvert.cpp +++ b/neo/framework/Common_mapconvert.cpp @@ -584,7 +584,7 @@ CONSOLE_COMMAND( exportMapToOBJ, "Convert .map file to .obj/.mtl ", idCmdSystem: -CONSOLE_COMMAND( convertMap, "Convert .map file to new map format with polygons instead of brushes ", idCmdSystem::ArgCompletion_MapName ) +CONSOLE_COMMAND( convertMap, "Convert .map file to new map format with polygons instead of brushes ", idCmdSystem::ArgCompletion_MapNameNoJson ) { common->SetRefreshOnPrint( true ); @@ -627,7 +627,7 @@ CONSOLE_COMMAND( convertMap, "Convert .map file to new map format with polygons } -CONSOLE_COMMAND( convertMapToJSON, "Convert .map file to new map format with polygons instead of brushes ", idCmdSystem::ArgCompletion_MapName ) +CONSOLE_COMMAND( convertMapToJSON, "Convert .map file to new map format with polygons instead of brushes ", idCmdSystem::ArgCompletion_MapNameNoJson ) { common->SetRefreshOnPrint( true );