Initial check-in. Mostly sort of works. Ish.
2 * $Id: extprocs.c,v 1.5 2004/12/30 09:07:47 ali Exp $
3 * Copyright (C) 2007 J. Ali Harlow
4 * Min Hack may be freely redistributed. See license for details.
12 struct nhproxy_cb_get_glyph_mapping_res *glyph_map;
13 struct minhack_window *windows=NULL;
16 static int v_hook(void)
18 fprintf(stderr,"v_hook called\n");
21 struct nhproxy_clnt_ext_procs minhack_ext_procs = {
23 minhack_init_nhwindows,
24 minhack_player_selection,
26 NULL, /* get_nh_event */
27 minhack_exit_nhwindows,
28 NULL, /* suspend_nhwindows */
29 NULL, /* resume_nhwindows */
30 minhack_create_nhwindow,
31 minhack_clear_nhwindow,
32 minhack_display_nhwindow,
33 minhack_destroy_nhwindow,
42 NULL, /* update_inventory */
45 NULL, /* cliparound */
46 NULL, /* update_positionbar */
49 minhack_raw_print_bold,
53 NULL, /* doprev_message */
57 NULL, /* number_pad */
58 NULL, /* delay_output */
59 NULL, /* change_color */
60 NULL, /* change_background */
61 NULL, /* set_font_name */
62 NULL, /* get_color_string */
63 NULL, /* start_screen,*/
64 NULL, /* end_screen,*/
66 minhack_preference_update,
68 v_hook, /* print_glyph_layered */
69 minhack_send_config_file,
72 int minhack_init_nhwindows(int *argc, char **argv, char ***capv)
79 glyph_map=nhproxy_cb_get_glyph_mapping();
83 int minhack_player_selection(int *role, int *race, int *gend, int *align)
88 char *minhack_askname(void)
93 void minhack_exit_nhwindows(const char *str)
96 minhack_raw_print(str);
99 void minhack_curs(int window, int x, int y)
101 wmove(windows[window].win,y,x);
104 void minhack_putstr(int window, int attr, const char *str)
106 waddstr(windows[window].win,str);
109 void minhack_display_file(int fh)
111 /* FIXME: Implement */
114 void minhack_print_glyph(int id, int x, int y, int glyph)
116 struct nhproxy_glyph_map_info info;
117 struct nhproxy_glyph_mapping *map;
118 map=nhproxy_glyph_map_first(&info,glyph_map);
120 map=nhproxy_glyph_map_next(&info);
121 mvwaddch(windows[id].win,y,x,map->rgbsym&0xFF);
122 nhproxy_glyph_map_close(&info);
125 void minhack_raw_print(const char *str)
131 void minhack_raw_print_bold(const char *str)
133 minhack_raw_print(str);
136 int minhack_nhgetch(void)
139 for(i=0;i<no_windows;i++)
140 if (windows[i].win && windows[i].type!=NHPROXY_EXT_NHW_MENU &&
141 windows[i].type!=NHPROXY_EXT_NHW_TEXT)
142 wrefresh(windows[i].win);
146 int minhack_nh_poskey(int *x, int *y, int *mod)
148 return minhack_nhgetch();
151 int minhack_outrip(int window, char *killed_by)
153 return nhproxy_false;
156 void minhack_preference_update(const char *optnam, const char *value)
160 void minhack_send_config_file(int fh)