diff options
author | Jordi Vilalta Prat | 2009-02-15 06:10:59 +0000 |
---|---|---|
committer | Jordi Vilalta Prat | 2009-02-15 06:10:59 +0000 |
commit | fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc (patch) | |
tree | ce87338830cc8c149e1de545246bcefe4f45da00 /engines/sci/include/reg_t_hashmap.h | |
parent | 7c148ddf021c990fa866b7600f979aac9a5b26c9 (diff) | |
download | scummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.tar.gz scummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.tar.bz2 scummvm-rg350-fa6e10e9cec163845aa29e7940c86e9c9ab8a2bc.zip |
Import the SCI engine sources from the FreeSCI Glutton branch (it doesn't compile yet)
svn-id: r38192
Diffstat (limited to 'engines/sci/include/reg_t_hashmap.h')
-rw-r--r-- | engines/sci/include/reg_t_hashmap.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/engines/sci/include/reg_t_hashmap.h b/engines/sci/include/reg_t_hashmap.h new file mode 100644 index 0000000000..0bd89fe8f2 --- /dev/null +++ b/engines/sci/include/reg_t_hashmap.h @@ -0,0 +1,71 @@ +/*************************************************************************** + int_hashmap.h Copyright (C) 2001 Christoph Reichenbach + + + This program may be modified and copied freely according to the terms of + the GNU general public license (GPL), as long as the above copyright + notice and the licensing information contained herein are preserved. + + Please refer to www.gnu.org for licensing details. + + This work is provided AS IS, without warranty of any kind, expressed or + implied, including but not limited to the warranties of merchantibility, + noninfringement, and fitness for a specific purpose. The author will not + be held liable for any damage caused by this work or derivatives of it. + + By using this source code, you agree to the licensing terms as stated + above. + + + Please contact the maintainer for bug reports or inquiries. + + Current Maintainer: + + Christoph Reichenbach (CR) <jameson@linuxgames.com> + +***************************************************************************/ + +#ifndef _REG_T_HASHMAP_H_ +#define _REG_T_HASHMAP_H_ + +#define DCS_REGT_HASH_MAX 512 + +#include "vm.h" +#ifdef HASH_MAX +# undef HASH_MAX +# undef COMP +# undef HASH +#endif + +#define HASH_MAX DCS_REGT_HASH_MAX +#define COMP(x, y) compare_reg_t(x, y) +#define HASH(x) (((x.segment << 3) | x.offset) & 0x1ff) +#undef MUST_FREE + +#include "hashmap.h" +DECLARE_STRUCTS(reg_t) +DECLARE_FUNCTIONS(reg_t) + +#ifndef BUILD_MAP_FUNCTIONS +# undef HASH_MAX +# undef COMP +# undef HASH +#endif + +/* see hashmap.h for descriptions of these functions */ +reg_t_hash_map_ptr +new_reg_t_hash_map(void); + +void +free_reg_t_hash_map(reg_t_hash_map_ptr); + +int +reg_t_hash_map_check_value(reg_t_hash_map_ptr, reg_t value, char add_p, char *added); + +int +reg_t_hash_map_remove_value(reg_t_hash_map_ptr, reg_t value); + +void +apply_to_reg_t_hash_map(reg_t_hash_map_ptr map, void *param, void (*note) (void *param, reg_t name, int value)); + +#endif /* _INT_HASHMAP_H_ */ |