Skip to content

Commit 1256d62

Browse files
author
nitrocaster
committed
Hide LZO implementation details.
1 parent 27abe17 commit 1256d62

File tree

6 files changed

+25
-37
lines changed

6 files changed

+25
-37
lines changed

src/xrCore/lzo_compressor.cpp

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
#include "stdafx.h"
22
#include "lzo_compressor.h"
3+
#include "rt_lzo1x.h"
34

4-
int lzo_compress_dict(const lzo_bytep in, lzo_uint in_len,
5-
lzo_bytep out, lzo_uintp out_len,
6-
lzo_voidp wrkmem,
7-
const lzo_bytep dict, lzo_uint dict_len)
5+
int lzo_compress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
6+
void *workMem, const void *dict, u32 dictSize)
87
{
9-
return lzo1x_999_compress_dict(in, in_len, out, out_len, wrkmem, dict, dict_len);
8+
return lzo1x_999_compress_dict((lzo_bytep)input, inputSize, (lzo_bytep)output, (lzo_uintp)&outputSize,
9+
workMem, (lzo_bytep)dict, dictSize);
1010
}
1111

12-
int lzo_decompress_dict(const lzo_bytep in, lzo_uint in_len,
13-
lzo_bytep out, lzo_uintp out_len,
14-
lzo_voidp wrkmem /* NOT USED */,
15-
const lzo_bytep dict, lzo_uint dict_len)
12+
int lzo_decompress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
13+
void *workMem, const void *dict, u32 dictSize)
1614
{
17-
return lzo1x_decompress_dict_safe(in, in_len, out, out_len, wrkmem, dict, dict_len);
15+
return lzo1x_decompress_dict_safe((lzo_bytep)input, inputSize, (lzo_bytep)output, (lzo_uintp)&outputSize,
16+
workMem, (lzo_bytep)dict, dictSize);
1817
}
1918

2019
int lzo_initialize()
21-
{
22-
return lzo_init();
23-
}
20+
{ return lzo_init(); }
2421

22+
u32 lzo_get_workmem_size()
23+
{ return LZO1X_999_MEM_COMPRESS; }

src/xrCore/lzo_compressor.h

Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,12 @@
1-
#ifndef LZO_COMPRESSOR_INCLUDED
2-
#define LZO_COMPRESSOR_INCLUDED
1+
#pragma once
2+
#include "xrCore/xrCore.h"
33

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

6-
XRCORE_API int lzo_compress_dict(
7-
const lzo_bytep in, lzo_uint in_len,
8-
lzo_bytep out, lzo_uintp out_len,
9-
lzo_voidp wrkmem,
10-
const lzo_bytep dict, lzo_uint dict_len);
11-
12-
XRCORE_API int lzo_decompress_dict(
13-
const lzo_bytep in, lzo_uint in_len,
14-
lzo_bytep out, lzo_uintp out_len,
15-
lzo_voidp wrkmem /* NOT USED */,
16-
const lzo_bytep dict, lzo_uint dict_len);
7+
XRCORE_API int lzo_decompress_dict(const void *input, u32 inputSize, void *output, u32 &outputSize,
8+
void *workMem, const void *dict, u32 dict_len);
179

1810
XRCORE_API int lzo_initialize();
1911

20-
21-
22-
23-
#endif //#ifndef LZO_COMPRESSOR_INCLUDED
12+
XRCORE_API u32 lzo_get_workmem_size();

src/xrGame/Level_network_compressed_updates.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void CLevel::ProcessCompressedUpdate(NET_Packet& P, u8 const compress_type)
3030
P.B.data + P.r_tell(),
3131
next_size,
3232
uncompressed_packet.B.data,
33-
(lzo_uint*)&uncompressed_packet.B.count,
33+
uncompressed_packet.B.count,
3434
m_lzo_working_memory,
3535
m_lzo_dictionary.data,
3636
m_lzo_dictionary.size

src/xrGame/traffic_optimization.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ void deinit_ppmd_trained_stream (ppmd_trained_stream* & src)
3333
void init_lzo (u8* & dest_wm, u8* & wm_buffer, lzo_dictionary_buffer & dest_dict)
3434
{
3535
lzo_initialize();
36-
wm_buffer = static_cast<u8*>(xr_malloc(LZO1X_999_MEM_COMPRESS+16));
36+
wm_buffer = static_cast<u8*>(xr_malloc(lzo_get_workmem_size()+16));
3737
// buffer must be alligned to 16 bytes
3838
dest_wm = (u8*)(size_t(wm_buffer + 16) & ~0xf);
3939

src/xrGame/traffic_optimization.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ void deinit_ppmd_trained_stream (ppmd_trained_stream* & src);
2020

2121
struct lzo_dictionary_buffer
2222
{
23-
lzo_bytep data;
24-
lzo_uint size;
25-
}; //struct lzo_dictionary_buffer
23+
u8 *data;
24+
u32 size;
25+
};
2626

2727
void init_lzo (u8* & dest_wm, u8* & wm_buffer, lzo_dictionary_buffer & dest_dict);
2828
void deinit_lzo (u8* & src_wm_buffer, lzo_dictionary_buffer & src_dict);

src/xrGame/xrServer_updates_compressor.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ void server_updates_compressor::flush_accumulative_buffer()
216216
m_acc_buff.B.data,
217217
m_acc_buff.B.count,
218218
m_compress_buf.B.data,
219-
(lzo_uint*)&m_compress_buf.B.count,
219+
m_compress_buf.B.count,
220220
m_lzo_working_memory,
221221
m_lzo_dictionary.data, m_lzo_dictionary.size
222222
);

0 commit comments

Comments
 (0)