diff options
Diffstat (limited to 'includes/lzss.h')
-rw-r--r-- | includes/lzss.h | 162 |
1 files changed, 81 insertions, 81 deletions
diff --git a/includes/lzss.h b/includes/lzss.h index 14aa345..d4da684 100644 --- a/includes/lzss.h +++ b/includes/lzss.h @@ -1,81 +1,81 @@ -/* - * PSX-Tools Bundle Pack - * Copyright (C) 2002 Nicolas "Pixel" Noble - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * aint with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - -#ifndef __LZSS_H__ -#define __LZSS_H__ - -#include <stdio.h> -#include "generic.h" -#include "Handle.h" - -#define LZSS_VERSION String("3.0.0-pre1") -#define LZSS_NAME String("lzss") - -class lzss : public Base { - public: - lzss(); - typedef struct { - char * name; - int one_is_compressed, bitmap_inversed, one_jump, overlap_trick, negative_trick, sixteen_bits, ptrb, filling; - int window_start; - int l_mask_1, l_shft_1, l_mask_2, l_shft_2; - int j_mask_1, j_shft_1, j_mask_2, j_shft_2; - int f_mask_1, f_shft_1, f_mask_2, f_shft_2; - int v_mask_1, v_shft_1, v_mask_2, v_shft_2; - } scheme_t; - - enum { - XENO = 0, - DBZ, - FF7, - LM, - MM, - OB, - LODOSS, - FF6, - VP_1, - VP_2, - TOD, - END - }; - - static const scheme_t schemes[]; - int tolerate, blockb; - int blk, bitmap_count; - - unsigned int lzss_decomp(Handle * f_source, Handle * f_cible, int true_length = -1); - void lzss_comp(Handle * f_source, Handle * f_cible, int * delta = NULL); - - Byte swap_bits(Byte); - - void change_scheme(scheme_t); - scheme_t get_scheme(); - - private: - scheme_t scheme; - int lzss_maxsize, lzss_maxptr; - - unsigned int shift(unsigned int, int); - void compute_limits(void); - unsigned char lzss_rd(unsigned char *, int); - int lzss_comp_strstr(unsigned char *, unsigned char *, int *, int); - unsigned char * lzss_memcomp(unsigned char *, int *, int *); -}; - -#endif +/*
+ * PSX-Tools Bundle Pack
+ * Copyright (C) 2002 Nicolas "Pixel" Noble
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * aint with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef __LZSS_H__
+#define __LZSS_H__
+
+#include <stdio.h>
+#include "generic.h"
+#include "Handle.h"
+
+#define LZSS_VERSION String("3.0.0-pre1")
+#define LZSS_NAME String("lzss")
+
+class lzss : public Base {
+ public:
+ lzss();
+ typedef struct {
+ char * name;
+ int one_is_compressed, bitmap_inversed, one_jump, overlap_trick, negative_trick, sixteen_bits, ptrb, filling;
+ int window_start;
+ int l_mask_1, l_shft_1, l_mask_2, l_shft_2;
+ int j_mask_1, j_shft_1, j_mask_2, j_shft_2;
+ int f_mask_1, f_shft_1, f_mask_2, f_shft_2;
+ int v_mask_1, v_shft_1, v_mask_2, v_shft_2;
+ } scheme_t;
+
+ enum {
+ XENO = 0,
+ DBZ,
+ FF7,
+ LM,
+ MM,
+ OB,
+ LODOSS,
+ FF6,
+ VP_1,
+ VP_2,
+ TOD,
+ END
+ };
+
+ static const scheme_t schemes[];
+ int tolerate, blockb;
+ int blk, bitmap_count;
+
+ unsigned int lzss_decomp(Handle * f_source, Handle * f_cible, int true_length = -1);
+ void lzss_comp(Handle * f_source, Handle * f_cible, int * delta = NULL);
+
+ Byte swap_bits(Byte);
+
+ void change_scheme(scheme_t);
+ scheme_t get_scheme();
+
+ private:
+ scheme_t scheme;
+ int lzss_maxsize, lzss_maxptr;
+
+ unsigned int shift(unsigned int, int);
+ void compute_limits(void);
+ unsigned char lzss_rd(unsigned char *, int);
+ int lzss_comp_strstr(unsigned char *, unsigned char *, int *, int);
+ unsigned char * lzss_memcomp(unsigned char *, int *, int *);
+};
+
+#endif
|