[openjk] 24/130: Implement method open
Simon McVittie
smcv at debian.org
Fri Oct 28 11:09:13 UTC 2016
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch debian/master
in repository openjk.
commit 3761dffdcbc65f01d43c01996e4b1bcc48fc62f6
Author: bibendovsky <bibendovsky at hotmail.com>
Date: Thu Jul 7 23:04:12 2016 +0300
Implement method open
---
code/cgame/cg_main.cpp | 2 +-
code/game/G_Timer.cpp | 2 +-
code/game/Q3_Interface.cpp | 2 +-
code/game/g_main.cpp | 2 +-
code/game/g_objectives.cpp | 2 +-
code/game/g_roff.cpp | 2 +-
code/game/g_savegame.cpp | 2 +-
code/icarus/IcarusImplementation.cpp | 2 +-
code/qcommon/cm_load.cpp | 2 +-
code/rd-vanilla/G2_misc.cpp | 2 +-
code/server/sv_savegame.cpp | 2 +-
codeJK2/cgame/cg_main.cpp | 2 +-
codeJK2/game/G_Timer.cpp | 2 +-
codeJK2/game/Q3_Registers.cpp | 2 +-
codeJK2/game/g_main.cpp | 2 +-
codeJK2/game/g_objectives.cpp | 2 +-
codeJK2/game/g_roff.cpp | 2 +-
codeJK2/game/g_savegame.cpp | 2 +-
codeJK2/icarus/Instance.cpp | 2 +-
codeJK2/icarus/Sequence.cpp | 2 +-
codeJK2/icarus/Sequencer.cpp | 2 +-
codeJK2/icarus/TaskManager.cpp | 2 +-
shared/qcommon/ojk_saved_game.cpp | 189 +++++++++++++++++++++++++++++------
shared/qcommon/ojk_saved_game_fwd.h | 20 ++--
24 files changed, 195 insertions(+), 58 deletions(-)
diff --git a/code/cgame/cg_main.cpp b/code/cgame/cg_main.cpp
index d93d4f7..2ffa679 100644
--- a/code/cgame/cg_main.cpp
+++ b/code/cgame/cg_main.cpp
@@ -29,7 +29,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../qcommon/sstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
//NOTENOTE: Be sure to change the mirrored code in g_shared.h
typedef std::map< sstring_t, unsigned char > namePrecache_m;
diff --git a/code/game/G_Timer.cpp b/code/game/G_Timer.cpp
index 2e97b40..eb8cf38 100644
--- a/code/game/G_Timer.cpp
+++ b/code/game/G_Timer.cpp
@@ -23,7 +23,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_local.h"
#include "../Rufl/hstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#define MAX_GTIMERS 16384
diff --git a/code/game/Q3_Interface.cpp b/code/game/Q3_Interface.cpp
index e395e1f..13e9c5d 100644
--- a/code/game/Q3_Interface.cpp
+++ b/code/game/Q3_Interface.cpp
@@ -41,7 +41,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_vehicles.h"
#include "g_navigator.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern cvar_t *com_buildScript;
diff --git a/code/game/g_main.cpp b/code/game/g_main.cpp
index e01516c..302d856 100644
--- a/code/game/g_main.cpp
+++ b/code/game/g_main.cpp
@@ -37,7 +37,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
//rww - RAGDOLL_END
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern void WP_SaberLoadParms( void );
extern qboolean G_PlayerSpawned( void );
diff --git a/code/game/g_objectives.cpp b/code/game/g_objectives.cpp
index 4f0dd85..e7a87d7 100644
--- a/code/game/g_objectives.cpp
+++ b/code/game/g_objectives.cpp
@@ -30,7 +30,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "objectives.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
qboolean missionInfo_Updated;
diff --git a/code/game/g_roff.cpp b/code/game/g_roff.cpp
index 3ed0d3d..8fdecd1 100644
--- a/code/game/g_roff.cpp
+++ b/code/game/g_roff.cpp
@@ -26,7 +26,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../cgame/cg_local.h"
#include "g_functions.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
// The list of precached ROFFs
roff_list_t roffs[MAX_ROFFS];
diff --git a/code/game/g_savegame.cpp b/code/game/g_savegame.cpp
index f62c7ff..dcc46aa 100644
--- a/code/game/g_savegame.cpp
+++ b/code/game/g_savegame.cpp
@@ -31,7 +31,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../cgame/cg_camera.h"
#include "../qcommon/sstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern void OBJ_LoadTacticalInfo(void);
diff --git a/code/icarus/IcarusImplementation.cpp b/code/icarus/IcarusImplementation.cpp
index f404f51..bc2ecff 100644
--- a/code/icarus/IcarusImplementation.cpp
+++ b/code/icarus/IcarusImplementation.cpp
@@ -34,7 +34,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../qcommon/q_shared.h"
#include "../qcommon/qcommon.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#define STL_ITERATE( a, b ) for ( a = b.begin(); a != b.end(); ++a )
#define STL_INSERT( a, b ) a.insert( a.end(), b );
diff --git a/code/qcommon/cm_load.cpp b/code/qcommon/cm_load.cpp
index f2573e9..d809a7e 100644
--- a/code/qcommon/cm_load.cpp
+++ b/code/qcommon/cm_load.cpp
@@ -25,7 +25,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "cm_local.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#ifdef BSPC
void SetPlaneSignbits (cplane_t *out) {
diff --git a/code/rd-vanilla/G2_misc.cpp b/code/rd-vanilla/G2_misc.cpp
index 9ce7074..5b51819 100644
--- a/code/rd-vanilla/G2_misc.cpp
+++ b/code/rd-vanilla/G2_misc.cpp
@@ -51,7 +51,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#ifdef _G2_GORE
#include "../ghoul2/ghoul2_gore.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#define GORE_TAG_UPPER (256)
#define GORE_TAG_MASK (~255)
diff --git a/code/server/sv_savegame.cpp b/code/server/sv_savegame.cpp
index 305a06b..03e6256 100644
--- a/code/server/sv_savegame.cpp
+++ b/code/server/sv_savegame.cpp
@@ -38,7 +38,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include <map>
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
static char saveGameComment[iSG_COMMENT_SIZE];
diff --git a/codeJK2/cgame/cg_main.cpp b/codeJK2/cgame/cg_main.cpp
index 3ff00fb..c4c84fc 100644
--- a/codeJK2/cgame/cg_main.cpp
+++ b/codeJK2/cgame/cg_main.cpp
@@ -29,7 +29,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../../code/qcommon/sstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
//NOTENOTE: Be sure to change the mirrored code in g_shared.h
typedef std::map< sstring_t, unsigned char, std::less<sstring_t>, std::allocator< unsigned char > > namePrecache_m;
diff --git a/codeJK2/game/G_Timer.cpp b/codeJK2/game/G_Timer.cpp
index 26197b2..80fb4be 100644
--- a/codeJK2/game/G_Timer.cpp
+++ b/codeJK2/game/G_Timer.cpp
@@ -24,7 +24,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_local.h"
#include "../../code/Rufl/hstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#define MAX_GTIMERS 16384
diff --git a/codeJK2/game/Q3_Registers.cpp b/codeJK2/game/Q3_Registers.cpp
index 87c21a5..269e4f6 100644
--- a/codeJK2/game/Q3_Registers.cpp
+++ b/codeJK2/game/Q3_Registers.cpp
@@ -25,7 +25,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_local.h"
#include "Q3_Registers.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern void Q3_DebugPrint( int level, const char *format, ... );
diff --git a/codeJK2/game/g_main.cpp b/codeJK2/game/g_main.cpp
index 76f6f96..bc09a5d 100644
--- a/codeJK2/game/g_main.cpp
+++ b/codeJK2/game/g_main.cpp
@@ -36,7 +36,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "../cgame/cg_local.h" // yeah I know this is naughty, but we're shipping soon...
#include "time.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern CNavigator navigator;
diff --git a/codeJK2/game/g_objectives.cpp b/codeJK2/game/g_objectives.cpp
index 9fdbc4c..8420d2a 100644
--- a/codeJK2/game/g_objectives.cpp
+++ b/codeJK2/game/g_objectives.cpp
@@ -32,7 +32,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "objectives.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
qboolean missionInfo_Updated;
diff --git a/codeJK2/game/g_roff.cpp b/codeJK2/game/g_roff.cpp
index 749c7e0..abdda30 100644
--- a/codeJK2/game/g_roff.cpp
+++ b/codeJK2/game/g_roff.cpp
@@ -26,7 +26,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_roff.h"
#include "g_icarus.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
// The list of precached ROFFs
roff_list_t roffs[MAX_ROFFS];
diff --git a/codeJK2/game/g_savegame.cpp b/codeJK2/game/g_savegame.cpp
index 799c9e9..e0e4333 100644
--- a/codeJK2/game/g_savegame.cpp
+++ b/codeJK2/game/g_savegame.cpp
@@ -34,7 +34,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "g_icarus.h"
#include "../../code/qcommon/sstring.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
extern void OBJ_LoadTacticalInfo(void);
diff --git a/codeJK2/icarus/Instance.cpp b/codeJK2/icarus/Instance.cpp
index 6a833f5..0d9693b 100644
--- a/codeJK2/icarus/Instance.cpp
+++ b/codeJK2/icarus/Instance.cpp
@@ -30,7 +30,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include <assert.h>
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
// Instance
diff --git a/codeJK2/icarus/Sequence.cpp b/codeJK2/icarus/Sequence.cpp
index 7f2cbba..5add77e 100644
--- a/codeJK2/icarus/Sequence.cpp
+++ b/codeJK2/icarus/Sequence.cpp
@@ -29,7 +29,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include <assert.h>
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
CSequence::CSequence( void )
{
diff --git a/codeJK2/icarus/Sequencer.cpp b/codeJK2/icarus/Sequencer.cpp
index 8096d3f..bbf7184 100644
--- a/codeJK2/icarus/Sequencer.cpp
+++ b/codeJK2/icarus/Sequencer.cpp
@@ -31,7 +31,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include "assert.h"
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_sg_archive.h"
+#include "qcommon/ojk_saved_game_fwd.h"
// Sequencer
diff --git a/codeJK2/icarus/TaskManager.cpp b/codeJK2/icarus/TaskManager.cpp
index 3b32e53..f17bad7 100644
--- a/codeJK2/icarus/TaskManager.cpp
+++ b/codeJK2/icarus/TaskManager.cpp
@@ -32,7 +32,7 @@ along with this program; if not, see <http://www.gnu.org/licenses/>.
#include <assert.h>
#include "qcommon/ojk_sg_wrappers.h"
-#include "qcommon/ojk_saved_game.h"
+#include "qcommon/ojk_saved_game_fwd.h"
#define ICARUS_VALIDATE(a) if ( a == false ) return TASK_FAILED;
diff --git a/shared/qcommon/ojk_saved_game.cpp b/shared/qcommon/ojk_saved_game.cpp
index dd3f384..343d559 100644
--- a/shared/qcommon/ojk_saved_game.cpp
+++ b/shared/qcommon/ojk_saved_game.cpp
@@ -12,7 +12,7 @@ SavedGame::SavedGame() :
io_buffer_(),
io_buffer_offset_(),
rle_buffer_(),
- is_testing_read_chunk_()
+ is_preview_mode_()
{
}
@@ -121,8 +121,126 @@ void SavedGame::close()
bool SavedGame::read_chunk(
const SavedGame::ChunkId chunk_id)
{
- throw SavedGameException(
- "Not implemented.");
+ auto chunk_id_string = get_chunk_id_string(
+ chunk_id);
+
+ ::Com_DPrintf(
+ "Attempting read of chunk %s\n",
+ chunk_id_string.c_str());
+
+ // Load in chid and length...
+ //
+ uint32_t ulLoadedChid = 0;
+ uint32_t uiLoadedLength = 0;
+
+ auto uiLoaded = ::FS_Read(
+ &ulLoadedChid,
+ static_cast<int>(sizeof(ulLoadedChid)),
+ file_handle_);
+
+ uiLoaded += ::FS_Read(
+ &uiLoadedLength,
+ static_cast<int>(sizeof(uiLoadedLength)),
+ file_handle_);
+
+ auto bBlockIsCompressed = (static_cast<int32_t>(uiLoadedLength) < 0);
+
+ if (bBlockIsCompressed) {
+ uiLoadedLength = -static_cast<int32_t>(uiLoadedLength);
+ }
+
+ // Make sure we are loading the correct chunk...
+ //
+ if (ulLoadedChid != chunk_id) {
+ auto loaded_chunk_id_string = get_chunk_id_string(ulLoadedChid);
+
+ if (!is_preview_mode_) {
+ ::Com_Error(
+ ERR_DROP,
+ "Loaded chunk ID (%s) does not match requested chunk ID (%s)",
+ loaded_chunk_id_string.c_str(),
+ chunk_id_string.c_str());
+ }
+
+ return false;
+ }
+
+ // Load in data and magic number...
+ //
+ uint32_t uiCompressedLength = 0;
+
+ if (bBlockIsCompressed) {
+ uiLoaded += ::FS_Read(
+ &uiCompressedLength,
+ static_cast<int>(uiCompressedLength),
+ file_handle_);
+
+ rle_buffer_.resize(
+ uiCompressedLength);
+
+ uiLoaded += ::FS_Read(
+ rle_buffer_.data(),
+ uiCompressedLength,
+ file_handle_);
+
+ decompress(
+ rle_buffer_,
+ io_buffer_);
+ } else {
+ io_buffer_.resize(
+ uiLoadedLength);
+
+ uiLoaded += ::FS_Read(
+ io_buffer_.data(),
+ uiLoadedLength,
+ file_handle_);
+ }
+
+ // Get checksum...
+ //
+ uint32_t uiLoadedCksum = 0;
+
+ uiLoaded += ::FS_Read(
+ &uiLoadedCksum,
+ static_cast<int>(sizeof(uiLoadedCksum)),
+ file_handle_);
+
+ // Make sure the checksums match...
+ //
+ auto uiCksum = ::Com_BlockChecksum(
+ io_buffer_.data(),
+ static_cast<int>(io_buffer_.size()));
+
+ if (uiLoadedCksum != uiCksum) {
+ if (!is_preview_mode_) {
+ ::Com_Error(
+ ERR_DROP,
+ "Failed checksum check for chunk",
+ chunk_id_string.c_str());
+ }
+
+ return false;
+ }
+
+ // Make sure we didn't encounter any read errors...
+ if (uiLoaded !=
+ sizeof(ulLoadedChid) +
+ sizeof(uiLoadedLength) +
+ sizeof(uiLoadedCksum) +
+ (bBlockIsCompressed ? sizeof(uiCompressedLength) : 0) +
+ (bBlockIsCompressed ? uiCompressedLength : io_buffer_.size()))
+ {
+ if (!is_preview_mode_) {
+ ::Com_Error(
+ ERR_DROP,
+ "Error during loading chunk %s",
+ chunk_id_string.c_str());
+ }
+
+ return false;
+ }
+
+ return true;
}
bool SavedGame::write_chunk(
@@ -169,22 +287,24 @@ SavedGame& SavedGame::get_instance()
return result;
}
-int SavedGame::compress()
+void SavedGame::compress(
+ const Buffer& src_buffer,
+ Buffer& dst_buffer)
{
- auto src_size = static_cast<int>(io_buffer_.size());
+ auto src_size = static_cast<int>(src_buffer.size());
- rle_buffer_.resize(2 * src_size);
+ dst_buffer.resize(2 * src_size);
int src_count = 0;
int dst_index = 0;
while (src_count < src_size) {
auto src_index = src_count;
- auto b = io_buffer_[src_index++];
+ auto b = src_buffer[src_index++];
while (src_index < src_size &&
(src_index - src_count) < 127 &&
- io_buffer_[src_index] == b)
+ src_buffer[src_index] == b)
{
src_index += 1;
}
@@ -192,73 +312,71 @@ int SavedGame::compress()
if ((src_index - src_count) == 1) {
while (src_index < src_size &&
(src_index - src_count) < 127 && (
- io_buffer_[src_index] != io_buffer_[src_index - 1] || (
+ src_buffer[src_index] != src_buffer[src_index - 1] || (
src_index > 1 &&
- io_buffer_[src_index] != io_buffer_[src_index - 2])))
+ src_buffer[src_index] != src_buffer[src_index - 2])))
{
src_index += 1;
}
while (src_index < src_size &&
- io_buffer_[src_index] == io_buffer_[src_index - 1])
+ src_buffer[src_index] == src_buffer[src_index - 1])
{
src_index -= 1;
}
- rle_buffer_[dst_index++] =
+ dst_buffer[dst_index++] =
static_cast<uint8_t>(src_count - src_index);
for (auto i = src_count; i < src_index; ++i) {
- rle_buffer_[dst_index++] = io_buffer_[i];
+ dst_buffer[dst_index++] = src_buffer[i];
}
} else {
- rle_buffer_[dst_index++] =
+ dst_buffer[dst_index++] =
static_cast<uint8_t>(src_index - src_count);
- rle_buffer_[dst_index++] = b;
+ dst_buffer[dst_index++] = b;
}
src_count = src_index;
}
- rle_buffer_.resize(
+ dst_buffer.resize(
dst_index);
-
- return dst_index;
}
void SavedGame::decompress(
- int dst_size)
+ const Buffer& src_buffer,
+ Buffer& dst_buffer)
{
- rle_buffer_.resize(
- dst_size);
-
int src_index = 0;
int dst_index = 0;
- while (dst_size > 0) {
- auto count = static_cast<int8_t>(io_buffer_[src_index++]);
+ auto remain_size = static_cast<int>(dst_buffer.size());
+
+ while (remain_size > 0) {
+ auto count = static_cast<int8_t>(src_buffer[src_index++]);
if (count > 0) {
std::uninitialized_fill_n(
- &rle_buffer_[dst_index],
+ &dst_buffer[dst_index],
count,
- io_buffer_[src_index++]);
+ src_buffer[src_index++]);
} else {
if (count < 0) {
count = -count;
std::uninitialized_copy_n(
- &io_buffer_[src_index],
+ &src_buffer[src_index],
count,
- &rle_buffer_[dst_index]);
+ &dst_buffer[dst_index]);
src_index += count;
}
}
dst_index += count;
- dst_size -= count;
+ remain_size -= count;
}
}
@@ -309,5 +427,18 @@ std::string SavedGame::get_failed_to_open_message(
return result;
}
+std::string SavedGame::get_chunk_id_string(
+ uint32_t chunk_id)
+{
+ std::string result(4, '\0');
+
+ result[0] = static_cast<char>((chunk_id >> 24) & 0xFF);
+ result[1] = static_cast<char>((chunk_id >> 16) & 0xFF);
+ result[2] = static_cast<char>((chunk_id >> 8) & 0xFF);
+ result[3] = static_cast<char>((chunk_id >> 0) & 0xFF);
+
+ return result;
+}
+
} // ojk
diff --git a/shared/qcommon/ojk_saved_game_fwd.h b/shared/qcommon/ojk_saved_game_fwd.h
index 0c1886c..55f932c 100644
--- a/shared/qcommon/ojk_saved_game_fwd.h
+++ b/shared/qcommon/ojk_saved_game_fwd.h
@@ -152,16 +152,18 @@ private:
Buffer rle_buffer_;
// Does not throws an exception on chunk reading if true.
- bool is_testing_read_chunk_;
+ bool is_preview_mode_;
- // Compresses I/O buffer into RLE one.
- // Returns a size of compressed data.
- int compress();
+ // Compresses data.
+ static void compress(
+ const Buffer& src_buffer,
+ Buffer& dst_buffer);
- // Decompresses I/O buffer into RLE one.
- void decompress(
- int dst_size);
+ // Decompresses data.
+ static void decompress(
+ const Buffer& src_buffer,
+ Buffer& dst_buffer);
static std::string generate_path(
@@ -172,6 +174,10 @@ private:
bool is_open);
+ static std::string get_chunk_id_string(
+ uint32_t chunk_id);
+
+
// Checks if there is enough data for reading in the I/O buffer.
template<typename T>
void check_io_buffer(
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/openjk.git
More information about the Pkg-games-commits
mailing list