Bienvenidos a Abandonsocios: El Portal de los Juegos Antiguos
0 Usuarios y 1 Visitante están viendo este tema.
Edito: no me funciona el adjuntar archivo. Lo subo a MediaFire:Klass of 99 - Traduccion Beta1.rar
CALL DWORD PTR DS:[<&alleg40.#745>>; alleg40.vsyncMediante [_dispsw_status] y [gfx_driver] obtiene los parámetros para implementar vsync:if (!_dispsw_status && gfx_driver->vsync) gfx_driver->vsync();}Con DirectDraw:void gfx_directx_sync(void){ IDirectDraw2_WaitForVerticalBlank(directdraw, DDWAITVB_BLOCKBEGIN, NULL);}Utilizando GDI:static void gfx_gdi_vsync(void){ WaitForSingleObject(vsync_event, INFINITE);}Pero hay algunas placas de video que tienen implementaciones VESA incompletas o mal desarrolladas, esto lleva a que en los sistemas actuales alleg40.vsync no pueda manejar la sincronía correctamente o ni siquiera implementarla, en todos los casos.Este es el trozo de código que debe manejar el driver de video para el vsync:void _set_current_refresh_rate(int rate){ if ((rate<40) || (rate>200)) rate = 0; current_refresh_rate = rate; _vsync_speed = rate ? BPS_TO_TIMER(rate) : BPS_TO_TIMER(70);}Entonces:if ((dv) && ((c = ugetc(dv)) != 0) && ((c == 'y') || (c == 'Y') || (c == '1'))) _wait_for_vsync = FALSE; else _wait_for_vsync = TRUE;