Skip to content

Commit

Permalink
Hide LZO implementation details.
Browse files Browse the repository at this point in the history
  • Loading branch information
nitrocaster committed Oct 3, 2015
1 parent 27abe17 commit 1256d62
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 37 deletions.
25 changes: 12 additions & 13 deletions src/xrCore/lzo_compressor.cpp
Original file line number Diff line number Diff line change
@@ -1,24 +1,23 @@
#include "stdafx.h"
#include "lzo_compressor.h"
#include "rt_lzo1x.h"

int lzo_compress_dict(const lzo_bytep in, lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem,
const lzo_bytep dict, lzo_uint dict_len)
int lzo_compress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
void *workMem, const void *dict, u32 dictSize)
{
return lzo1x_999_compress_dict(in, in_len, out, out_len, wrkmem, dict, dict_len);
return lzo1x_999_compress_dict((lzo_bytep)input, inputSize, (lzo_bytep)output, (lzo_uintp)&outputSize,
workMem, (lzo_bytep)dict, dictSize);
}

int lzo_decompress_dict(const lzo_bytep in, lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem /* NOT USED */,
const lzo_bytep dict, lzo_uint dict_len)
int lzo_decompress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
void *workMem, const void *dict, u32 dictSize)
{
return lzo1x_decompress_dict_safe(in, in_len, out, out_len, wrkmem, dict, dict_len);
return lzo1x_decompress_dict_safe((lzo_bytep)input, inputSize, (lzo_bytep)output, (lzo_uintp)&outputSize,
workMem, (lzo_bytep)dict, dictSize);
}

int lzo_initialize()
{
return lzo_init();
}
{ return lzo_init(); }

u32 lzo_get_workmem_size()
{ return LZO1X_999_MEM_COMPRESS; }
25 changes: 7 additions & 18 deletions src/xrCore/lzo_compressor.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,12 @@
#ifndef LZO_COMPRESSOR_INCLUDED
#define LZO_COMPRESSOR_INCLUDED
#pragma once
#include "xrCore/xrCore.h"

#include "rt_lzo1x.h"
XRCORE_API int lzo_compress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
void *workMem, const void *dict, u32 dictSize);

XRCORE_API int lzo_compress_dict(
const lzo_bytep in, lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem,
const lzo_bytep dict, lzo_uint dict_len);

XRCORE_API int lzo_decompress_dict(
const lzo_bytep in, lzo_uint in_len,
lzo_bytep out, lzo_uintp out_len,
lzo_voidp wrkmem /* NOT USED */,
const lzo_bytep dict, lzo_uint dict_len);
XRCORE_API int lzo_decompress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
void *workMem, const void *dict, u32 dict_len);

XRCORE_API int lzo_initialize();




#endif //#ifndef LZO_COMPRESSOR_INCLUDED
XRCORE_API u32 lzo_get_workmem_size();
2 changes: 1 addition & 1 deletion src/xrGame/Level_network_compressed_updates.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ void CLevel::ProcessCompressedUpdate(NET_Packet& P, u8 const compress_type)
P.B.data + P.r_tell(),
next_size,
uncompressed_packet.B.data,
(lzo_uint*)&uncompressed_packet.B.count,
uncompressed_packet.B.count,
m_lzo_working_memory,
m_lzo_dictionary.data,
m_lzo_dictionary.size
Expand Down
2 changes: 1 addition & 1 deletion src/xrGame/traffic_optimization.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ void deinit_ppmd_trained_stream (ppmd_trained_stream* & src)
void init_lzo (u8* & dest_wm, u8* & wm_buffer, lzo_dictionary_buffer & dest_dict)
{
lzo_initialize();
wm_buffer = static_cast<u8*>(xr_malloc(LZO1X_999_MEM_COMPRESS+16));
wm_buffer = static_cast<u8*>(xr_malloc(lzo_get_workmem_size()+16));
// buffer must be alligned to 16 bytes
dest_wm = (u8*)(size_t(wm_buffer + 16) & ~0xf);

Expand Down
6 changes: 3 additions & 3 deletions src/xrGame/traffic_optimization.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ void deinit_ppmd_trained_stream (ppmd_trained_stream* & src);

struct lzo_dictionary_buffer
{
lzo_bytep data;
lzo_uint size;
}; //struct lzo_dictionary_buffer
u8 *data;
u32 size;
};

void init_lzo (u8* & dest_wm, u8* & wm_buffer, lzo_dictionary_buffer & dest_dict);
void deinit_lzo (u8* & src_wm_buffer, lzo_dictionary_buffer & src_dict);
Expand Down
2 changes: 1 addition & 1 deletion src/xrGame/xrServer_updates_compressor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ void server_updates_compressor::flush_accumulative_buffer()
m_acc_buff.B.data,
m_acc_buff.B.count,
m_compress_buf.B.data,
(lzo_uint*)&m_compress_buf.B.count,
m_compress_buf.B.count,
m_lzo_working_memory,
m_lzo_dictionary.data, m_lzo_dictionary.size
);
Expand Down

0 comments on commit 1256d62

Please sign in to comment.