From: David Griffith Date: Mon, 9 Jul 2012 08:08:18 +0000 (-0700) Subject: DOS tweaks X-Git-Url: https://scope-eye.net/git/?a=commitdiff_plain;h=31d61837355f75a12351ba2e1b3464148a65fd41;p=liskon_frotz.git DOS tweaks --- diff --git a/.metadata b/.metadata index 343e131..ef65c34 100644 Binary files a/.metadata and b/.metadata differ diff --git a/Makefile b/Makefile index 9abd506..5a7a1b9 100644 --- a/Makefile +++ b/Makefile @@ -146,6 +146,7 @@ CURSES_OBJECT = $(CURSES_DIR)/ux_init.o \ $(CURSES_DIR)/ux_pic.o \ $(CURSES_DIR)/ux_screen.o \ $(CURSES_DIR)/ux_text.o \ + $(CURSES_DIR)/ux_blorb.o \ $(CURSES_DIR)/ux_audio_none.o \ $(CURSES_DIR)/ux_audio_oss.o diff --git a/src/dos/bcinit.c b/src/dos/bcinit.c index 8136ba3..72780dd 100644 --- a/src/dos/bcinit.c +++ b/src/dos/bcinit.c @@ -20,7 +20,6 @@ static char information[] = "Complies with standard 1.0 of Graham Nelson's specification.\n" "\n" "Syntax: frotz [options] story-file\n" -"\n" " -a watch attribute setting \t -o watch object movement\n" " -A watch attribute testing \t -O watch object locating\n" " -b # background colour \t -p alter piracy opcode\n" @@ -202,7 +201,7 @@ static void interrupt fast_exit () * */ -void os_fatal (const char *s) +void os_fatal (const char *s, ...) { if (h_interpreter_number) diff --git a/src/dos/bcinput.c b/src/dos/bcinput.c index 3ccca00..87a0361 100644 --- a/src/dos/bcinput.c +++ b/src/dos/bcinput.c @@ -463,7 +463,8 @@ static void input_move (zchar newc, zchar oldc) cursor_y + 1, cursor_x + 1, cursor_y + h_font_height, - cursor_x + oldwidth - newwidth); + cursor_x + oldwidth - newwidth, + -1); switch_scrn_attr (FALSE); diff --git a/src/dos/bcscreen.c b/src/dos/bcscreen.c index ed42e2e..0cd6091 100644 --- a/src/dos/bcscreen.c +++ b/src/dos/bcscreen.c @@ -117,9 +117,14 @@ static void clear_line (int y, int left, int right) * Fill a rectangular area of the screen with the current background * colour. Top left coordinates are (1,1). The cursor does not move. * + * The final argument gives the window being changed, -1 if only a + * portion of a window is being erased, or -2 if the whole screen is + * being erased. This is not relevant for the DOS interface, and so + * this function ignores that argument. + * */ -void os_erase_area (int top, int left, int bottom, int right) +void os_erase_area (int top, int left, int bottom, int right, int win) { int y; diff --git a/src/dos/bctext.c b/src/dos/bctext.c index 1d4e20f..1f99c45 100644 --- a/src/dos/bctext.c +++ b/src/dos/bctext.c @@ -793,7 +793,8 @@ void os_more_prompt (void) os_erase_area (cursor_y + 1, saved_x + 1, cursor_y + h_font_height, - cursor_x + 1); + cursor_x + 1, + -1); cursor_x = saved_x;