static void special_event(int event)
{
if (render_improved)
- render_improved_event(event);
+ render_capture_event(event);
}
static void main_loop(void)
/* STEP 1: let the CPU render/process the game, also improve rendering via OpenGL, if enabled */
/* don't render if we still delay */
if (!render_delay) {
- /* start rendering for improved graphics */
+ /* start capturing for improved graphics */
if (render_improved)
- render_start(config_fov, config_improve_extend_roads, config_debug_transparent);
+ render_capture_start(config_fov, config_improve_extend_roads, config_debug_transparent);
/* execute until the rendered image is ready (wait for VBL) */
cycle_count = 0;
if (event != STOP_AT_WAIT_VBL)
special_event(event);
} while (event != STOP_AT_WAIT_VBL);
+ /* stop capturing for improved graphics */
+ if (render_improved)
+ render_capture_stop();
/* copy palette */
palette_address = mercenary_palette_view();
for (i = 0; i < 16; i++)
if (config_amiga_speed)
render_delay = (double)cycle_count / CPU_SPEED;
}
+ /* render improved graphics */
+ if (render_improved)
+ render_all_items();
/* STEP 2: transfer legacy image (or just benson) in memory to OpenGL texture */
if (had_first_irq) {
emul_video(image, memory, palette, IMAGE_WIDTH, IMAGE_HEIGHT, IMAGE_DIWSTART, chipreg, 0, BENSON_AT_LINE, double_pixel_size);
}
/* render benson on improved rendering, if enabled */
- if (render_improved) {
- render_finish();
+ if (render_improved)
opengl_blit_benson(image, config_video_filter, (double_pixel_size) ? BENSON_AT_LINE * 2 : BENSON_AT_LINE, config_fov, benson_size, (double_pixel_size) ? 2 : 1);
- }
/* setup viewport for legacy image and render image, if enabled */
if (render_legacy) {
opengl_viewport_legacy(debug_opengl);