This is an automated email from the git hooks/post-receive script. smcv pushed a commit to branch debian/master in repository openjk.
commit 35a97816473284f34895a668ede751ae07c3d238 Author: bibendovsky <[email protected]> Date: Sat Jul 23 21:59:22 2016 +0300 Fix ICARUS data saving --- code/game/g_savegame.cpp | 9 +++++++++ code/icarus/IcarusImplementation.cpp | 4 ++-- shared/qcommon/ojk_saved_game.cpp | 12 ++++-------- 3 files changed, 15 insertions(+), 10 deletions(-) diff --git a/code/game/g_savegame.cpp b/code/game/g_savegame.cpp index 25a362c..5d6e77c 100644 --- a/code/game/g_savegame.cpp +++ b/code/game/g_savegame.cpp @@ -814,6 +814,15 @@ static void EvaluateFields( pbData->sg_import( ::gi.saved_game); + // FIXME Add support for retail version? + + if (!::gi.saved_game->is_all_data_read()) + { + ::G_Error( + ::va("EvaluateFields(): variable-sized chunk '%s' without handler!", + ::SG_GetChidText(ulChid))); + } + if (pFields) { for (const save_field_t* pField = pFields; pField->psName; ++pField) { diff --git a/code/icarus/IcarusImplementation.cpp b/code/icarus/IcarusImplementation.cpp index a3cf024..a93fdc6 100644 --- a/code/icarus/IcarusImplementation.cpp +++ b/code/icarus/IcarusImplementation.cpp @@ -543,7 +543,7 @@ int CIcarus::Save() //Save out a ICARUS save block header with the ICARUS version double version = ICARUS_VERSION; - saved_game->read_chunk<double>( + saved_game->write_chunk<double>( INT_ID('I','C','A','R'), version); @@ -569,7 +569,7 @@ int CIcarus::Save() } // Write out the buffer with all our collected data. - saved_game->read_chunk( + saved_game->write_chunk( INT_ID('I','S','E','Q'), m_byBuffer, static_cast<int>(m_ulBufferCurPos)); diff --git a/shared/qcommon/ojk_saved_game.cpp b/shared/qcommon/ojk_saved_game.cpp index b170dfe..9617e5f 100644 --- a/shared/qcommon/ojk_saved_game.cpp +++ b/shared/qcommon/ojk_saved_game.cpp @@ -120,7 +120,7 @@ bool SavedGame::create( } - is_writable_ = false; + is_writable_ = true; int sg_version = iSAVEGAME_VERSION; @@ -327,13 +327,9 @@ bool SavedGame::write_chunk( static_cast<int>(sizeof(chunk_id)), file_handle_); - int iCompressedLength = 0; + int iCompressedLength = -1; - if (::sv_compress_saved_games->integer == 0) - { - iCompressedLength = -1; - } - else + if (::sv_compress_saved_games->integer != 0) { compress( io_buffer_, @@ -577,7 +573,7 @@ void SavedGame::rename( old_path.c_str(), new_path.c_str()); - if (rename_result != 0) + if (rename_result == 0) { ::Com_Printf( S_COLOR_RED "Error during savegame-rename. Check \"%s\" for write-protect or disk full!\n", -- 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

