Richard Boegli's CnC_Generals_Zero_Hour Fork WIP
This is documentation of Richard Boegil's Zero Hour Fork
 
Loading...
Searching...
No Matches
huffcodex.h
Go to the documentation of this file.
1/*
2** Command & Conquer Generals Zero Hour(tm)
3** Copyright 2025 Electronic Arts Inc.
4**
5** This program is free software: you can redistribute it and/or modify
6** it under the terms of the GNU General Public License as published by
7** the Free Software Foundation, either version 3 of the License, or
8** (at your option) any later version.
9**
10** This program is distributed in the hope that it will be useful,
11** but WITHOUT ANY WARRANTY; without even the implied warranty of
12** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13** GNU General Public License for more details.
14**
15** You should have received a copy of the GNU General Public License
16** along with this program. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19/* Copyright (C) Electronic Arts Canada Inc. 1995-2002. All rights reserved. */
20
21#ifndef __HUFCODEX
22#define __HUFCODEX 1
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28#ifndef __CODEX_H
29#error "Include codex.h before huffcodex.h"
30#endif
31
32/****************************************************************/
33/* HUF Codex */
34/****************************************************************/
35
36/* Information Functions */
37
39bool GCALL HUFF_is(const void *compresseddata);
40
41/* Decode Functions */
42
43int GCALL HUFF_size(const void *compresseddata);
44#ifdef __cplusplus
45int GCALL HUFF_decode(void *dest, const void *compresseddata, int *compressedsize=0);
46#else
47int GCALL HUFF_decode(void *dest, const void *compresseddata, int *compressedsize);
48#endif
49
50/* Encode Functions */
51
52#ifdef __cplusplus
53int GCALL HUFF_encode(void *compresseddata, const void *source, int sourcesize, int *opts=0);
54#else
55int GCALL HUFF_encode(void *compresseddata, const void *source, int sourcesize, int *opts);
56#endif
57
58/****************************************************************/
59/* Internal */
60/****************************************************************/
61
62#ifndef qmin
63#define qmin(a,b) ((a)<(b)?(a):(b))
64#endif
65
66#ifndef qmax
67#define qmax(a,b) ((a)>(b)?(a):(b))
68#endif
69
70#ifdef __cplusplus
71}
72#endif
73#endif
74
#define GCALL
Definition codex.h:81
int GCALL HUFF_encode(void *compresseddata, const void *source, int sourcesize, int *opts)
CODEXABOUT *GCALL HUFF_about(void)
Definition huffabout.cpp:67
bool GCALL HUFF_is(const void *compresseddata)
int GCALL HUFF_decode(void *dest, const void *compresseddata, int *compressedsize)
int GCALL HUFF_size(const void *compresseddata)