static int config_skip_intro = 0;
static int config_multisampling = 8;
#ifdef HAVE_OVR
-static double config_benson_size = 0.5;
+static double config_benson_size = 0.7;
static double config_fov = FOV_JOLLY;
#else
static double config_benson_size = 1.0;
#endif
static double config_monitor_distance = 41.5; /* inch */
#ifdef HAVE_OVR
-static double config_keyboard_distance = 40.5; /* inch */
+static double config_keyboard_distance = 38.5; /* inch */
static double config_keyboard_height = -26.0; /* inch */
#endif
static int config_debug_transparent = 0;
static uint8_t *info_osd = NULL;
static int help_view = 1;
static int help_views = 0;
-static int32_t osd_timer = 0;
+static int32_t osd_timer = 0, border_timer = 0;
#ifdef HAVE_OVR
#define SCREEN_WIDTH 1344
#define SCREEN_HEIGHT 800
{
window_width = width;
window_height = height;
+ border_timer = ticks_sdl() + 1500;
+ osd_info("", "window resized");
}
#ifdef HAVE_OVR
/* for amiga speed: set delay by the number of cycles */
if (config_amiga_speed)
render_delay += (double)cycle_count / CPU_SPEED;
+ /* reset joystick after rendering */
+ reset_joystick();
}
/* STEP 2: transfer legacy image (or just benson) in memory to OpenGL texture */
if (osd_timer - (int32_t)ticks_sdl() < 0)
osd_timer = 0;
}
+#ifndef HAVE_OVR
+ /* draw border around legacy render area */
+ if (border_timer) {
+ opengl_render_color(1.0, 0.0, 0.0, 1.0);
+ opengl_render_line(160, -68, 256, 160, 68, 256, 0.0);
+ opengl_render_line(-160, -68, 256, -160, 68, 256, 0.0);
+ opengl_render_line(-160, 68, 256, 160, 68, 256, 0.0);
+ opengl_render_line(-160, -68, 256, 160, -68, 256, 0.0);
+ if (border_timer - (int32_t)ticks_sdl() < 0)
+ border_timer = 0;
+ }
+#endif
}
/* setup viewport for legacy image and render image, if enabled */
/* also render legacy, if render_improved failed due to not (yet) available items */
}
}
-static int shift = 0, ctrl = 0;
+static int shift = 0, ctrl = 0, alt = 0;
static void keyboard_sdl(int down, enum keycode keycode)
{
config_fov = FOV_JOLLY;
}
osd_info("Benson size", (config_benson_size == 0.5) ? "half" : "normal");
+ border_timer = ticks_sdl() + 1500;
break;
case KEYCODE_i:
if (!intro_skipped)
disp_fov:
{
char text[16];
- sprintf(text, "%.2f", config_fov);
+ if (config_fov < 63.5 || config_fov > 64.5)
+ sprintf(text, "%.2f", config_fov);
+ else
+ sprintf(text, "%.2f (default)", config_fov);
osd_info("FOV", text);
+ border_timer = ticks_sdl() + 1500;
}
#endif
break;
set_amiga_key(keycode, down);
shift = down;
break;
+ case KEYCODE_LALT:
+ set_amiga_key(keycode, down);
+ alt = down;
+ break;
+ case KEYCODE_RALT:
+ set_amiga_key(keycode, down);
+ alt = down;
+ break;
case KEYCODE_LEFT:
if (shift && down) {
set_amiga_key(keycode, down);
break;
}
set_amiga_key(keycode, 0);
- set_joystick(-1, -1, down, -1, -1);
+ if (!alt || down)
+ set_joystick(-1, -1, down, 0, -1);
break;
case KEYCODE_DOWN:
if (shift && down) {
break;
}
set_amiga_key(keycode, 0);
- set_joystick(-1, -1, -1, down, -1);
+ if (!alt || down)
+ set_joystick(-1, -1, 0, down, -1);
break;
case KEYCODE_END:
set_joystick(-1, -1, -1, -1, down);