Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

src/rle.c File Reference


Detailed Description

Code for run-length-encoding compression.

THIS FILE IS USED IN PROGRAMS OTHER THAN CALCROGUE, AND SHOULD NOT INCLUDE CROGUE.H

Definition in file rle.c.

#include "crogue.h"
#include "substdio.h"
#include "config.h"
#include "rle.h"
#include "huffman.h"

Go to the source code of this file.

Defines

#define CHECKSUM_INIT   0xF1897134L
#define CHECKSUM_MUL   0xA8159803L
#define CHECKSUM_ADD   0x81340967L

Functions

unsigned long _checksum_file (FILE *f)
unsigned char _rleread_file (void)
unsigned char _rleread_ptr (void)
unsigned char _rleread_huffman (void)
unsigned long checksum_bytes (void *data, unsigned int length)
int frleverify (FILE *f)
void frlewrite (void *data, size_t s, size_t granularity, FILE *f)
void frleread (void *data, size_t s, size_t granularity, FILE *f)
void frleinit (void)
void frleinit_read (FILE *f)
void frleinit_write (FILE *f, void(*outfunc)(unsigned char c, FILE *f))
void frleinit_write_nochecksum (void(*outfunc)(unsigned char c, FILE *f))
void frlefinalize (FILE *f)
void frleflush (FILE *fout)
void frleputc (unsigned char c, FILE *fout)
unsigned char rlegetc (void)
void rle_set_source (rle_source_type t, const void *s)

Variables

unsigned short _runlen = 0
unsigned char _runchar = ' '
const void * _rlepos
unsigned char(* _rleread )(void)
void(* _putc_compress )(unsigned char c, FILE *f)=(void(*)(unsigned char c, FILE *f))&fputc
const unsigned char magic_byte = 0x5F


Define Documentation

#define CHECKSUM_ADD   0x81340967L
 

Definition at line 41 of file rle.c.

Referenced by checksum_bytes().

#define CHECKSUM_INIT   0xF1897134L
 

Definition at line 39 of file rle.c.

Referenced by checksum_bytes().

#define CHECKSUM_MUL   0xA8159803L
 

Definition at line 40 of file rle.c.

Referenced by checksum_bytes().


Function Documentation

unsigned long _checksum_file FILE *  f  )  [static]
 

Definition at line 78 of file rle.c.

References checksum_bytes().

Referenced by frlefinalize(), and frleverify().

unsigned char _rleread_file void   )  [static]
 

Definition at line 337 of file rle.c.

References _rlepos.

Referenced by rle_set_source().

unsigned char _rleread_huffman void   )  [static]
 

Definition at line 331 of file rle.c.

References _rlepos, and fhuffmangetc().

Referenced by rle_set_source().

unsigned char _rleread_ptr void   )  [static]
 

Definition at line 343 of file rle.c.

References _rlepos.

Referenced by rle_set_source().

unsigned long checksum_bytes void *  data,
unsigned int  length
 

Definition at line 62 of file rle.c.

References CHECKSUM_ADD, CHECKSUM_INIT, and CHECKSUM_MUL.

Referenced by _checksum_file(), checksum_scores(), frleread(), and frlewrite().

void frlefinalize FILE *  f  ) 
 

Definition at line 215 of file rle.c.

References _checksum_file(), and frleflush().

Referenced by save_game(), and save_level().

void frleflush FILE *  fout  ) 
 

Definition at line 227 of file rle.c.

References _putc_compress, _runchar, _runlen, and magic_byte.

Referenced by frlefinalize(), frleputc(), frlewrite(), save_game(), and save_level().

void frleinit void   ) 
 

Definition at line 183 of file rle.c.

References _runchar, and _runlen.

Referenced by frleinit_read(), frleinit_write(), and frleinit_write_nochecksum().

void frleinit_read FILE *  f  ) 
 

Definition at line 190 of file rle.c.

References frleinit().

Referenced by load_level(), and restore_game().

void frleinit_write FILE *  f,
void(*  outfunc)(unsigned char c, FILE *f)
 

Definition at line 197 of file rle.c.

References _putc_compress, and frleinit().

Referenced by save_game(), and save_level().

void frleinit_write_nochecksum void(*  outfunc)(unsigned char c, FILE *f)  ) 
 

Definition at line 208 of file rle.c.

References _putc_compress, and frleinit().

void frleputc unsigned char  c,
FILE *  fout
 

Definition at line 265 of file rle.c.

References _runchar, _runlen, and frleflush().

Referenced by frlewrite().

void frleread void *  data,
size_t  s,
size_t  granularity,
FILE *  f
 

Definition at line 135 of file rle.c.

References _rleread, checksum_bytes(), message(), rle_huffman, rle_set_source(), and rlegetc().

Referenced by load_level(), and restore_game().

int frleverify FILE *  f  ) 
 

Definition at line 90 of file rle.c.

References _checksum_file().

Referenced by load_level(), and restore_game().

void frlewrite void *  data,
size_t  s,
size_t  granularity,
FILE *  f
 

Definition at line 101 of file rle.c.

References _putc_compress, checksum_bytes(), frleflush(), and frleputc().

Referenced by save_game(), and save_level().

void rle_set_source rle_source_type  t,
const void *  s
 

Definition at line 312 of file rle.c.

References _rlepos, _rleread, _rleread_file(), _rleread_huffman(), _rleread_ptr(), rle_file, rle_huffman, and rle_pointer.

Referenced by base_coat(), and frleread().

unsigned char rlegetc void   ) 
 

Definition at line 288 of file rle.c.

References _rleread, _runchar, _runlen, and magic_byte.

Referenced by base_coat(), and frleread().


Variable Documentation

void(* _putc_compress)(unsigned char c, FILE *f) = (void(*)(unsigned char c, FILE *f))&fputc [static]
 

Definition at line 56 of file rle.c.

Referenced by frleflush(), frleinit_write(), frleinit_write_nochecksum(), and frlewrite().

const void* _rlepos [static]
 

Definition at line 51 of file rle.c.

Referenced by _rleread_file(), _rleread_huffman(), _rleread_ptr(), and rle_set_source().

unsigned char(* _rleread)(void) [static]
 

Definition at line 52 of file rle.c.

Referenced by frleread(), rle_set_source(), and rlegetc().

unsigned char _runchar = ' ' [static]
 

Definition at line 43 of file rle.c.

Referenced by frleflush(), frleinit(), frleputc(), and rlegetc().

unsigned short _runlen = 0 [static]
 

Definition at line 42 of file rle.c.

Referenced by frleflush(), frleinit(), frleputc(), and rlegetc().

const unsigned char magic_byte = 0x5F [static]
 

Definition at line 59 of file rle.c.

Referenced by frleflush(), and rlegetc().


Generated on Thu May 20 13:12:13 2004 for CalcRogue by doxygen 1.3.6