diff '--color=auto' -ruN ../heroes-0.21/src/argv.c ./src/argv.c --- ../heroes-0.21/src/argv.c 2002-01-09 18:52:35.000000000 +0000 +++ ./src/argv.c 2022-06-30 10:55:29.838547018 +0100 @@ -45,8 +45,8 @@ char* level_name; bool mono = false; bool bits8 = false; -bool hqmix = false; -int stretch = 1; +bool hqmix = true; +int stretch = 4; bool nosound = false; bool even_lines = false; bool showprefs = false; @@ -171,15 +171,11 @@ -S, --no-sound disable sound\n\ -X, --no-sfx disable sound-effects\n\ -m, --mono non-stereo output\n\ - -8, --8bits 8bits sound output\n\ - -i, --high-quality high quality mixer\n")); + -8, --8bits 8bits sound output\n")); puts (_("\ Display options:\n\ -G, --gfx-options=OPTIONS pass OPTIONS to the display driver\n\ - -F, --full-screen full screen mode\n\ - -2, --double stretch the display twofold\n\ - -3, --triple stretch the display threefold\n\ - -4, --quadruple stretch the display fourfold\n\ + -W, --windowed windowed mode\n\ -e, --even-lines display only even-lines\n")); /* TRANS: rotozoom is a graphical effect used in the demo of yore where the screen rotate and zoom (actually it doesn't zoom in Heroes); @@ -215,15 +211,13 @@ {"default-saves", no_argument, &reinitsav, 1}, {"default-scores", no_argument, &reinitsco, 1}, {"devparm", no_argument, &devparm, 1}, - {"double", no_argument, NULL, '2'}, {"driver", required_argument, NULL, 'd'}, {"drivers-info", no_argument, NULL, 'n'}, {"even-lines", no_argument, NULL, 'e'}, - {"full-screen", no_argument, NULL, 'F'}, + {"windowed", no_argument, NULL, 'W'}, {"gfx-options", required_argument, NULL, 'G'}, {"go", no_argument, NULL, 'g'}, {"help", no_argument, NULL, 'h'}, - {"high-quality", no_argument, NULL, 'i'}, {"list", optional_argument, NULL, 'l'}, {"load", required_argument, NULL, 'L'}, {"mono", no_argument, NULL, 'm'}, @@ -231,11 +225,9 @@ {"no-joystick", no_argument, NULL, 'J'}, {"no-sfx", no_argument, NULL, 'X'}, {"no-sound", no_argument, NULL, 'S'}, - {"quadruple", no_argument, NULL, '4'}, {"quiet", no_argument, NULL, 'q'}, {"really-quiet", no_argument, NULL, 'Q'}, {"swap-sides", no_argument, NULL, 's'}, - {"triple", no_argument, NULL, '3'}, {"verbose", required_argument, NULL, 'v'}, {"version", no_argument, NULL, 'v'}, {"x10-saves", no_argument, &x10sav, 1}, @@ -263,7 +255,7 @@ for (;;) { int option_index = 0; - c = getopt_long (argc, argv, "2348d:eFgG:hiJl::L:mnqQsSv::X", + c = getopt_long (argc, argv, "8d:eWgG:hiJl::L:mnqQsSv::X", long_options, &option_index); /* Detect the end of the options. */ @@ -290,9 +282,6 @@ case '8': bits8 = true; break; - case 'a': - hqmix = true; - break; case 'X': nosfx = true; break; @@ -319,27 +308,15 @@ case 'G': set_display_params (optarg); break; - case 'F': + case 'W': set_full_screen_mode (); break; case 'J': joyoff = true; break; - case '2': - stretch = 2; - break; - case '3': - stretch = 3; - break; - case '4': - stretch = 4; - break; case 'e': even_lines = true; break; - case 'i': - hqmix = true; - break; case 'S': nosound = true; break; diff '--color=auto' -ruN ../heroes-0.21/src/hedlite.c ./src/hedlite.c --- ../heroes-0.21/src/hedlite.c 2002-02-06 21:49:44.000000000 +0000 +++ ./src/hedlite.c 2022-06-30 10:55:29.838547018 +0100 @@ -45,7 +45,6 @@ #include "dirname.h" static a_pcx_image heditrsc; -static a_pcx_image tile_set_img; unsigned short int xdalles = 0; unsigned short int ydalles = 0; diff '--color=auto' -ruN ../heroes-0.21/src/media/ggi/video.c ./src/media/ggi/video.c --- ../heroes-0.21/src/media/ggi/video.c 2002-03-27 19:44:59.000000000 +0000 +++ ./src/media/ggi/video.c 2022-06-30 10:55:29.838547018 +0100 @@ -54,7 +54,7 @@ static ggi_mode vid_mode; static char *display_params = NULL; -static int full_screen = 0; +static int full_screen = 1; /* Direct buffer for each frame. We might have db[0] == db[1] if double buffering is not available.*/ static const ggi_directbuffer *db[2] = { NULL, NULL }; @@ -88,7 +88,7 @@ void set_full_screen_mode (void) { - full_screen = 1; + full_screen = 0; } static bool diff '--color=auto' -ruN ../heroes-0.21/src/media/sdl/video.c ./src/media/sdl/video.c --- ../heroes-0.21/src/media/sdl/video.c 2002-01-17 19:59:32.000000000 +0000 +++ ./src/media/sdl/video.c 2022-06-30 10:55:29.838547018 +0100 @@ -40,7 +40,7 @@ it might requires locking. */ static SDL_Surface *visu = 0; -static int visu_options = SDL_HWPALETTE | SDL_DOUBLEBUF; +static int visu_options = SDL_HWPALETTE | SDL_DOUBLEBUF | SDL_FULLSCREEN; static bool SDL_initialized = false; #define SDL_VIDEODRIVER "SDL_VIDEODRIVER" static char *sdl_videodriver = 0; @@ -56,7 +56,7 @@ void set_full_screen_mode (void) { - visu_options |= SDL_FULLSCREEN; + visu_options &= ~SDL_FULLSCREEN; } /* Fullscreen mode is toggeled by pressing Alt+Enter. diff '--color=auto' -ruN ../heroes-0.21/src/media/video.c ./src/media/video.c --- ../heroes-0.21/src/media/video.c 2001-09-21 11:43:57.000000000 +0100 +++ ./src/media/video.c 2022-06-30 10:55:29.838547018 +0100 @@ -27,111 +27,6 @@ /* slow stretching routines */ static void -stretch_twofold (const a_pixel *s, a_pixel *d, unsigned width) -{ - int rows_left, columns_left; - - for (rows_left = 200; rows_left; --rows_left) { - for (columns_left = width / 2; columns_left; --columns_left) { - a_pixel t1, t2; - t1 = s[0]; - t2 = s[1]; - d[0] = t1; - d[640 + 2] = t2; - d[1] = t1; - d[640 + 3] = t2; - d[640 + 0] = t1; - d[2] = t2; - d[640 + 1] = t1; - d[3] = t2; - s += 2; - d += 4; - } - d += 2 * (scr_pitch - width); - s += xbuf - width; - } -} - -static void -stretch_twofold_even (const a_pixel *s, a_pixel *d, unsigned width) -{ - int rows_left, columns_left; - - for (rows_left = 200; rows_left; --rows_left) { - for (columns_left = width; columns_left; --columns_left) { - d[1] = d[0] = *s; - ++s; - d += 2; - } - d += 2 * (scr_pitch - width); - s += xbuf - width; - } -} - -static void -stretch_threefold (const a_pixel* s, a_pixel *d, unsigned width) -{ - int rows_left, columns_left; - - for (rows_left = 200; rows_left; --rows_left) { - for (columns_left = width / 2; columns_left; --columns_left) { - a_pixel t1, t2; - t1 = s[0]; - t2 = s[1]; - d[0] = t1; - d[960 + 3] = t2; - d[2*960 + 1] = t1; - d[4] = t2; - d[960 + 2] = t1; - d[2*960 + 5] = t2; - d[960 + 0] = t1; - d[2*960 + 3] = t2; - d[1] = t1; - d[960 + 4] = t2; - d[2*960 + 2] = t1; - d[5] = t2; - d[2*960 + 0] = t1; - d[3] = t2; - d[960 + 1] = t1; - d[2*960 + 4] = t2; - d[2] = t1; - d[960 + 5] = t2; - s += 2; - d += 6; - } - d += 3 * (scr_pitch - width); - s += xbuf - width; - } -} - -static void -stretch_threefold_even (const a_pixel *s, a_pixel *d, unsigned width) -{ - int rows_left, columns_left; - - for (rows_left = 200 / 2; rows_left; --rows_left) { - for (columns_left = width; columns_left; --columns_left) { - a_pixel t1, t2; - t1 = s[0]; - t2 = s[xbuf]; - d[0] = t1; - d[0+960*4] = t2; - d[1] = t1; - d[2] = t1; - d[1+960*4] = t2; - d[0+960*2] = t1; - d[1+960*2] = t1; - d[2+960*4] = t2; - d[2+960*2] = t1; - ++s; - d += 3; - } - d += 3 * (2 * scr_pitch - width); - s += 2 * xbuf - width; - } -} - -static void stretch_fourfold (const a_pixel *s, a_pixel *d, unsigned width) { int rows_left, columns_left; @@ -196,27 +91,10 @@ { /* the result of stretching routines is written directly to the video memory */ - if (stretch == 2) { - if (even_lines) - stretch_twofold_even (s, d, width); - else - stretch_twofold (s, d, width); - } else if (stretch == 3) { - if (even_lines) - stretch_threefold_even (s, d, width); - else - stretch_threefold (s, d, width); - } else if (stretch == 4) { - if (even_lines) - stretch_fourfold_even (s, d, width); - else - stretch_fourfold (s, d, width); - } else { /* stretch == 1 */ - if (even_lines) - copy_screen_even (s, d, width); - else - copy_screen (s, d, width); - } + if (even_lines) + stretch_fourfold_even (s, d, width); + else + stretch_fourfold (s, d, width); } void diff '--color=auto' -ruN ../heroes-0.21/src/persona.h ./src/persona.h --- ../heroes-0.21/src/persona.h 2001-09-21 11:43:54.000000000 +0100 +++ ./src/persona.h 2022-06-30 10:55:48.008744082 +0100 @@ -28,8 +28,8 @@ * difference only if the program has a sgid or suid bit. */ -bool keep_sgid; /* Whether we should keep the */ -bool keep_suid; /* SGID or SUID priviledge. */ +extern bool keep_sgid; /* Whether we should keep the */ +extern bool keep_suid; /* SGID or SUID priviledge. */ /* Get information about the current persona, and switch to the user persona. */