rework TTY_PERM_INVENT; update window port interface
Change the inner workings of the experimental TTY_PERM_INVENT. Switch to delivering the content to tty for the experimental perm_invent via the existing window port interface (start_menu(), add_menu(), end_menu). This also adds a new window port interface call ctrl_nhwindow() for delivering information to the window port, and/or obtaining specific information from the window port. The information and requests can be extended as required. To be documented later once the changes settle down. Due to the intrusive nature of these changes and the possibility of some bugs in the new code, I'm going to leave TTY_PERM_INVENT commented out in the repository for a day or two. Anyone wishing to test it out can do so by uncommenting TTY_PERM_INVENT in config.h.
This commit is contained in:
@@ -92,7 +92,7 @@ struct window_procs {
|
||||
unsigned long *);
|
||||
boolean (*win_can_suspend)(void);
|
||||
void (*win_update_inventory)(int);
|
||||
perminvent_info *(*win_update_invent_slot)(winid, int, perminvent_info *);
|
||||
win_request_info *(*win_ctrl_nhwindow)(winid, int, win_request_info *);
|
||||
};
|
||||
|
||||
extern
|
||||
@@ -174,7 +174,7 @@ extern
|
||||
*/
|
||||
#define status_enablefield (*windowprocs.win_status_enablefield)
|
||||
#define status_update (*windowprocs.win_status_update)
|
||||
#define update_invent_slot (*windowprocs.win_update_invent_slot)
|
||||
#define ctrl_nhwindow (*windowprocs.win_ctrl_nhwindow)
|
||||
|
||||
/*
|
||||
*
|
||||
@@ -491,7 +491,7 @@ extern void stdio_nonl_raw_print(const char *);
|
||||
extern void stdio_raw_print_bold(const char *);
|
||||
extern void stdio_wait_synch(void);
|
||||
extern void safe_update_inventory(int);
|
||||
extern perminvent_info *safe_update_invent_slot(winid, int, perminvent_info *);
|
||||
extern win_request_info *safe_ctrl_nhwindow(winid, int, win_request_info *);
|
||||
extern int stdio_nhgetch(void);
|
||||
#endif /* SAFEPROCS */
|
||||
#endif /* WINPROCS_H */
|
||||
|
||||
Reference in New Issue
Block a user