⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compress.h

📁 里面包含了许多实用的游戏开发包
💻 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 + -