src/minhack.h
author ali@juiblex.co.uk
Mon Jan 29 20:22:01 2007 +0000 (2007-01-29)
changeset 0 acc07f1f4b1e
permissions -rw-r--r--
Initial check-in. Mostly sort of works. Ish.
     1 /*
     2  * $Id: minhack.h,v 1.56 2005/02/02 09:36:01 j_ali Exp $
     3  * Copyright (C) 2007 J. Ali Harlow
     4  * Minimal Hack may be freely redistributed.  See license for details.
     5  */
     6 
     7 #ifndef MINHACK_H
     8 #define MINHACK_H
     9 
    10 #include <nhproxy/nhproxy.h>
    11 
    12 #include "config.h"
    13 #include <curses.h>
    14 #include <menu.h>
    15 
    16 #define MINHACK_PICK_NONE	0
    17 #define MINHACK_PICK_ONE	1
    18 #define MINHACK_PICK_ANY	2
    19 
    20 struct minhack_mitem {
    21     struct minhack_mitem *next;
    22     int identifier;
    23     int accelerator;
    24     int groupacc;
    25     char *str;
    26     nhproxy_bool_t selected;
    27     ITEM *item;
    28 };
    29 
    30 struct minhack_menu {
    31     struct minhack_mitem *mitems;
    32     ITEM **items;
    33     MENU *menu;
    34 };
    35 
    36 struct minhack_window {
    37     nhproxy_bool_t in_use;
    38     int type;
    39     struct minhack_menu *menu;
    40     WINDOW *win;
    41 };
    42 
    43 extern struct nhproxy_clnt_ext_procs minhack_ext_procs;
    44 extern struct minhack_window *windows;
    45 extern int no_windows;
    46 extern int message_win,map_win;
    47 
    48 extern int minhack_init_nhwindows(int *, char **, char ***);
    49 extern int minhack_player_selection(int *, int *, int *, int *);
    50 extern char *minhack_askname(void);
    51 extern void minhack_exit_nhwindows(const char *);
    52 extern int minhack_create_nhwindow(int);
    53 extern void minhack_clear_nhwindow(int, int, int, int);
    54 extern void minhack_display_nhwindow(int, NHPROXY_BOOLEAN_P);
    55 extern void minhack_destroy_nhwindow(int);
    56 extern void minhack_curs(int, int, int);
    57 extern void minhack_putstr(int, int, const char *);
    58 extern void minhack_display_file(int fh);
    59 extern void minhack_start_menu(int);
    60 extern void minhack_add_menu(int, int, int, NHPROXY_CHAR_P, NHPROXY_CHAR_P,
    61   int, const char *, NHPROXY_BOOLEAN_P);
    62 extern void minhack_end_menu(int, const char *);
    63 extern int minhack_select_menu(int, int, struct nhproxy_mi **);
    64 extern int minhack_message_menu(int let, int how, const char *mesg);
    65 extern void minhack_print_glyph(int id, int x, int y, int glyph);
    66 extern void minhack_raw_print(const char *);
    67 extern void minhack_raw_print_bold(const char *);
    68 extern int minhack_nhgetch(void);
    69 extern int minhack_nh_poskey(int *, int *, int *);
    70 extern char minhack_yn_function(const char *, const char *, NHPROXY_CHAR_P,
    71   int *);
    72 extern char *minhack_getlin(const char *query);
    73 extern int minhack_get_ext_cmd(void);
    74 extern int minhack_outrip(int, char *);
    75 extern void minhack_preference_update(const char *, const char *);
    76 extern void minhack_send_config_file(int);
    77 
    78 extern void minhack_free_menu(int window);
    79 
    80 #endif	/* MINHACK_H */