Mercurial > hg > early-roguelike
diff urogue/dictutil.h @ 256:c495a4f288c6
Import UltraRogue from the Roguelike Restoration Project (r1490)
author | John "Elwin" Edwards |
---|---|
date | Tue, 31 Jan 2017 19:56:04 -0500 |
parents | |
children | 13b482bd9e66 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/urogue/dictutil.h Tue Jan 31 19:56:04 2017 -0500 @@ -0,0 +1,116 @@ +/* + dictutil.h + + UltraRogue: The Ultimate Adventure in the Dungeons of Doom + Copyright (C) 1995 Herb Chong + All rights reserved. + + See the file LICENSE.TXT for full copyright and licensing information. +*/ + +/****************************************************************/ +/* HEADERS FOR DICTIONARY MAINTENENCE ROUTINE UTILITIES */ +/****************************************************************/ + +#ifndef dictutil_h_included +#define dictutil_h_included + +static char dictutil_sccsid[] = "%W% %G%"; + +#include <stdio.h> +#include "dict.h" + +/*------------------------------- + Binary read of a block of bytes + -------------------------------*/ +extern int block_read( + FILE *fi, + char *buffer, + size_t count, + long offset ); + +/*-------------------------------- + Binary write of a block of bytes + --------------------------------*/ +extern int block_write( + FILE *fo, + char *buffer, + size_t count ); + +/*-------------------------------------- + Compute a checksum of a block of bytes + --------------------------------------*/ +extern unsigned long compute_checksum( + size_t size, + char *block ); + +/*----------------------------------------------------------------- + Load a block of bytes from a compiled dictionary file into memory + -----------------------------------------------------------------*/ +extern void *dict_load_block( + DICTIONARY *dict, + char *toc_id, + FILE *fi, + void *block ); + +/*----------------------------------- + Create a dictionary parameter entry + -----------------------------------*/ +extern DICT_PARM_ENTRY *dict_make_parm_entry( + char *id, + unsigned long value ); + +/*------------------------------------ + Look up an id in the parameter array + ------------------------------------*/ +extern int dict_parm_index( + DICTIONARY *dict, + char *parm_id ); + +/*------------------------------- + Reset table of contents offsets + -------------------------------*/ +extern BOOLEANC dict_reset_toc_offsets( + DICTIONARY *dict ); + +/*----------------------------------------------------------------- + Save a block of bytes from memory into a compiled dictionary file + -----------------------------------------------------------------*/ +extern BOOLEANC dict_save_block( + DICTIONARY *dict, + char *toc_id, + FILE *fo ); + +/*-------------------------------------------------------------------- + Set the dictionary parm values from the values in the dict structure + --------------------------------------------------------------------*/ +extern BOOLEANC dict_set_parm_values( + DICTIONARY *dict ); + +/*-------------------------------------------------------------------- + Set the values in the dict structure from the dictionary parm values + --------------------------------------------------------------------*/ +extern BOOLEANC dict_set_parm_variables( + DICTIONARY *dict ); + +/*--------------------------- + Set the dictionary parm ids + ---------------------------*/ +extern BOOLEANC dict_set_parm_ids( + DICTIONARY *dict ); + +/*-------------------------------------- + Look up an id in the table of contents + --------------------------------------*/ +extern int dict_toc_index( + DICTIONARY *dict, + char *toc_id ); + +/*------------------------------------ + Record and error and abort if needed + ------------------------------------*/ +extern void signal_error( + char *header, + char *message, + int severity ); +#endif