-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;
-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 @@
*
*/
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