diff -urNbB frotz-2.32/Makefile frotz-2.32a/Makefile --- frotz-2.32/Makefile Fri Oct 17 13:11:10 1997 +++ frotz-2.32a/Makefile Thu Aug 19 10:32:39 1999 @@ -71,3 +71,5 @@ frotz: $(OBJECTS) $(CC) -o frotz $(OBJECTS) $(LIB) $(CURSES) +clean: + rm -f *.o frotz diff -urNbB frotz-2.32/buffer.c frotz-2.32a/buffer.c --- frotz-2.32/buffer.c Thu Sep 18 08:21:48 1997 +++ frotz-2.32a/buffer.c Thu Aug 19 10:38:45 1999 @@ -12,7 +12,7 @@ extern void stream_new_line (void); static zchar buffer[TEXT_BUFFER_SIZE]; -static bufpos = 0; +static int bufpos = 0; static zchar prev_c = 0; diff -urNbB frotz-2.32/fastmem.c frotz-2.32a/fastmem.c --- frotz-2.32/fastmem.c Fri Oct 3 13:04:57 1997 +++ frotz-2.32a/fastmem.c Thu Aug 19 10:36:11 1999 @@ -55,9 +55,9 @@ static zbyte far *undo[MAX_UNDO_SLOTS]; -static undo_slots = 0; -static undo_count = 0; -static undo_valid = 0; +static int undo_slots = 0; +static int undo_count = 0; +static int undo_valid = 0; /* * get_header_extension diff -urNbB frotz-2.32/files.c frotz-2.32a/files.c --- frotz-2.32/files.c Fri Aug 22 06:49:18 1997 +++ frotz-2.32a/files.c Thu Aug 19 10:34:44 1999 @@ -28,7 +28,7 @@ extern char latin1_to_ibm[]; #endif -static script_width = 0; +static int script_width = 0; static FILE *sfp = NULL; static FILE *rfp = NULL; diff -urNbB frotz-2.32/frotz.h frotz-2.32a/frotz.h --- frotz-2.32/frotz.h Fri Oct 3 13:04:52 1997 +++ frotz-2.32a/frotz.h Thu Aug 19 10:33:43 1999 @@ -398,7 +398,7 @@ extern zword *fp; extern zword zargs[8]; -extern zargc; +extern int zargc; extern bool ostream_screen; extern bool ostream_script; @@ -407,29 +407,29 @@ extern bool istream_replay; extern bool message; -extern cwin; -extern mwin; +extern int cwin; +extern int mwin; -extern mouse_x; -extern mouse_y; +extern int mouse_x; +extern int mouse_y; extern bool enable_wrapping; extern bool enable_scripting; extern bool enable_scrolling; extern bool enable_buffering; -extern option_attribute_assignment; -extern option_attribute_testing; -extern option_object_locating; -extern option_object_movement; -extern option_context_lines; -extern option_left_margin; -extern option_right_margin; -extern option_ignore_errors; -extern option_piracy; -extern option_undo_slots; -extern option_expand_abbreviations; -extern option_script_cols; +extern int option_attribute_assignment; +extern int option_attribute_testing; +extern int option_object_locating; +extern int option_object_movement; +extern int option_context_lines; +extern int option_left_margin; +extern int option_right_margin; +extern int option_ignore_errors; +extern int option_piracy; +extern int option_undo_slots; +extern int option_expand_abbreviations; +extern int option_script_cols; extern long reserve_mem; diff -urNbB frotz-2.32/process.c frotz-2.32a/process.c --- frotz-2.32/process.c Thu Sep 18 05:37:14 1997 +++ frotz-2.32a/process.c Thu Aug 19 10:35:09 1999 @@ -10,7 +10,7 @@ zword zargs[8]; int zargc; -static finished = 0; +static int finished = 0; static void __extended__ (void); static void __illegal__ (void); diff -urNbB frotz-2.32/random.c frotz-2.32a/random.c --- frotz-2.32/random.c Sat Jul 19 04:51:36 1997 +++ frotz-2.32a/random.c Thu Aug 19 10:35:17 1999 @@ -9,8 +9,8 @@ static long A = 1; -static interval = 0; -static counter = 0; +static int interval = 0; +static int counter = 0; /* * seed_random diff -urNbB frotz-2.32/redirect.c frotz-2.32a/redirect.c --- frotz-2.32/redirect.c Fri Aug 22 02:15:32 1997 +++ frotz-2.32a/redirect.c Thu Aug 19 10:35:23 1999 @@ -11,7 +11,7 @@ extern zword get_max_width (zword); -static depth = -1; +static int depth = -1; static struct { zword xsize; diff -urNbB frotz-2.32/screen.c frotz-2.32a/screen.c --- frotz-2.32/screen.c Thu Sep 18 08:17:40 1997 +++ frotz-2.32a/screen.c Thu Aug 19 10:35:39 1999 @@ -26,15 +26,15 @@ { UNKNOWN, 0, 0, 0 } }; -static font_height = 1; -static font_width = 1; +static int font_height = 1; +static int font_width = 1; static bool input_redraw = FALSE; static bool more_prompts = TRUE; static bool discarding = FALSE; static bool cursor = TRUE; -static input_window = 0; +static int input_window = 0; static struct { zword y_pos; diff -urNbB frotz-2.32/sound.c frotz-2.32a/sound.c --- frotz-2.32/sound.c Sat Jul 19 05:29:48 1997 +++ frotz-2.32a/sound.c Thu Aug 19 10:36:52 1999 @@ -16,8 +16,8 @@ static zword routine = 0; -static next_sample = 0; -static next_volume = 0; +static int next_sample = 0; +static int next_volume = 0; static bool locked = FALSE; static bool playing = FALSE; diff -urNbB frotz-2.32/ux_init.c frotz-2.32a/ux_init.c --- frotz-2.32/ux_init.c Fri Oct 3 18:12:10 1997 +++ frotz-2.32a/ux_init.c Thu Aug 19 10:13:29 1999 @@ -62,6 +62,7 @@ static int user_screen_height = -1; static int user_random_seed = -1; static int user_tandy_bit = 0; + char stripped_story_name[MAX_FILE_NAME]; static int curses_active = 0; /* true if os_init_screen has been run */ int current_text_style = 0; /* Since I can't use attr_get, which @@ -132,7 +133,6 @@ void os_process_arguments (int argc, char *argv[]) { int c, i; - char stripped_story_name[MAX_FILE_NAME]; char *p = NULL; /* Parse the options */ diff -urNbB frotz-2.32/ux_pic.c frotz-2.32a/ux_pic.c --- frotz-2.32/ux_pic.c Fri Oct 3 18:12:10 1997 +++ frotz-2.32a/ux_pic.c Thu Aug 19 10:38:59 1999 @@ -5,6 +5,50 @@ * */ +#include +#include +#include + +#define TRUE (1==1) +#define FALSE !TRUE + +extern char stripped_story_name[]; + +#define PIC_NUMBER 0 +#define PIC_WIDTH 2 +#define PIC_HEIGHT 4 +#define PIC_FLAGS 6 +#define PIC_DATA 8 +#define PIC_COLOUR 11 + +int scaler = 1; + +static int load_picture_info (int picture); + +static struct { + char fileno; + char flags; + short unused1; + short images; + short link; + char entry_size; + char padding; + short checksum; + short unused2; + short version; +} gheader; + +static short pic_width = 0; +static short pic_height = 0; + +void debug(char *text) +{ + FILE *debugfile; + debugfile = fopen("debugfile", "a"); + fprintf(debugfile, "%s\n", text); + fclose(debugfile); +} + /* * os_draw_picture * @@ -54,8 +96,41 @@ int os_picture_data (int picture, int *height, int *width) { + int avail; - /* Not implemented */ - return 0; + if (picture == 0) { + + avail = FALSE; + + /* This is the special case mentioned above. In practice, only + the release number is used; and even this is only used by + the DOS version of "Zork Zero". Infocom's Amiga interpreter + could not handle this feature, and the Amiga version of the + story file does not use it. */ + + pic_height = gheader.images; + pic_width = gheader.version; + + } else avail = load_picture_info (picture); + + *height = pic_height; + *width = pic_width; + + return avail; }/* os_picture_data */ + +/* + * load_picture_info + * + * Helper function for os_picture_data. Load all information about + * the given picture from the graphics file and store it in global + * variables. + * + */ + +static int load_picture_info (int picture) +{ + return FALSE; + +}/* load_picture_info */ --- frotz-2.32/ux_screen.c Fri Oct 3 18:12:10 1997 +++ frotz-2.32a/ux_screen.c Thu Aug 19 11:40:48 1999 @@ -76,7 +76,9 @@ int saved_style; #endif +#if 0 /* units isn't referenced anywhere here. This check kills Shogun */ if (units != 1) os_fatal("Can't Happen (os_scroll_area)"); /* FIXME */ +#endif if (!((old_scroll_top == top) && (old_scroll_bottom == bottom))) { old_scroll_top = top; old_scroll_bottom = bottom;