view 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 source

/*
    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