From 9d4da85fc585e2f1840ac233e4d8b7ab0dcf60f1 Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Tue, 26 Oct 2010 20:58:26 +0200 Subject: [PATCH] sv_db_saveasdump and cl_db_saveasdump cvars --- defaultXonotic.cfg | 4 ++++ qcsrc/client/Main.qc | 5 ++++- qcsrc/server/g_world.qc | 14 ++++++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 0ba520e135..b89fdda7ea 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1990,3 +1990,7 @@ utf8_enable 1 r_font_hinting 1 r_font_disable_freetype 0 r_font_size_snapping 2 + +// database management +set sv_db_saveasdump 0 "write server.db in dump format (loads slower, easier to read/parse)" +set cl_db_saveasdump 0 "write client.db in dump format (loads slower, easier to read/parse)" diff --git a/qcsrc/client/Main.qc b/qcsrc/client/Main.qc index 9ed7d92e36..9c50d7a344 100644 --- a/qcsrc/client/Main.qc +++ b/qcsrc/client/Main.qc @@ -186,7 +186,10 @@ void CSQC_Shutdown(void) remove(players); db_close(binddb); db_close(tempdb); - db_save(ClientProgsDB, "client.db"); + if(cvar("cl_db_saveasdump")) + db_dump(ClientProgsDB, "client.db"); + else + db_save(ClientProgsDB, "client.db"); db_close(ClientProgsDB); cvar_clientsettemp_restore(); diff --git a/qcsrc/server/g_world.qc b/qcsrc/server/g_world.qc index 6260d7e86d..73ae5605f0 100644 --- a/qcsrc/server/g_world.qc +++ b/qcsrc/server/g_world.qc @@ -2780,9 +2780,19 @@ void SV_Shutdown() print("Saving persistent data...\n"); Ban_SaveBans(); if(!cheatcount_total) - db_save(ServerProgsDB, "server.db"); + { + if(cvar("sv_db_saveasdump")) + db_dump(ServerProgsDB, "server.db"); + else + db_save(ServerProgsDB, "server.db"); + } if(cvar("developer")) - db_save(TemporaryDB, "server-temp.db"); + { + if(cvar("sv_db_saveasdump")) + db_dump(TemporaryDB, "server-temp.db"); + else + db_save(TemporaryDB, "server-temp.db"); + } CheatShutdown(); // must be after cheatcount check db_close(ServerProgsDB); db_close(TemporaryDB); -- 2.39.2