📄 compress.h
字号:
/* .,=====; __ ,--
* ,==/' || -" _ /==+-.
* ||-. |`| _,-' ||-+ |
* ,| \ / `| -='| . `=/"
* ,/ /`-, `: _/--+\ /\ /.
* |;-=" \_ '. , _/" |.`-',:\
* /' `=' `-=-''
* WIND SOUL
*
* 基于 DirectX 的游戏程序库
* A Game Programming Library Base On DirectX
*
* 云风 1999
* (by Cloud Wu, 1999)
*
* http://www.netease.com/~cloudwu
* mailto:cloudwu@263.net
*
* 数据块压缩/解压
*
* 本文件由 云风(Cloud Wu) 创建于 1999/4/4
* 云风最后修改于 1999年4月4日
*
* 请阅读 readme.txt 中的版权信息
* See readme.txt for copyright information.
*
*/
// 本程序采用 Lempel-Ziv 压缩算法, 云风没有对这个算法做深入研究
// 代码是根据 Markus Franz Xaver Johannes Oberhumer 的 LZO 改写
// 而成, 所以算法上的问题请不要问我, 如果你对这个压缩算法有兴趣,
// 请拜访 LZO 的主页
// http://wildsau.idv.uni-linz.ac.at/mfx/lzo.html
// LZO 属于 GNU 软件, 我不知道我参考它的代码完成这个是否也
// 应该遵守 GPL (虽然没有直接利用其代码), 为了保险起见,
// 在此声明, 本文件中的代码使用权利不同于风魂游戏程序库中的
// 其他部分, 请遵守 GNU 协议使用. (有关 GNU 协议, 可以从很多
// 途径获得, 比如你可以去上面提到的 LZO 的主页下载一份)
/*----------------------------------------------------------------*\
函 数:
DWORD Encode(BYTE *out, BYTE *in , DWORD in_len)
功 能:
压缩代码
参 数:
out - 目的缓冲区
in - 源缓冲区
in_len - 源缓冲区长度
返回值:
压缩后的数据长度 - 0表示失败
\*----------------------------------------------------------------*/
DllExport DWORD Encode(BYTE *out, BYTE *in , DWORD in_len);
/*----------------------------------------------------------------*\
函 数:
DWORD Decode(BYTE *out, BYTE *in , DWORD in_len)
功 能:
解压缩代码
参 数:
out - 目的缓冲区
in - 源缓冲区
in_len - 源缓冲区长度
返回值:
解压后的数据长度 - 0表示失败
\*----------------------------------------------------------------*/
DllExport DWORD Decode(BYTE *out, BYTE *in , DWORD in_len);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -