Autor Tema: Street Fighter Alpha: Warrior's Dreams  (Leído 8688 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xblastoise99

  • Master Control Program
  • ****
  • Mensajes: 2837
  • País: ar
  • Sexo: Masculino
  • Fecha de registro: Marzo 25, 2016, 20:05:23 pm
  • "Viajero del Universo"
    • Ver Perfil
    • Email
Re:Street Fighter Alpha: Warrior's Dreams
« Respuesta #15 en: Septiembre 27, 2017, 16:50:33 pm »
¡¡¡A la orden!!

:zip: Street Fighter Zero (Portable) :zip:

Le incluí el fichero .REG + un léeme que explica como jugarlo usando la imagen .ISO que deje en este post!

Realmente es extraño que te vaya tan rápido. En mi caso, con los ficheros de Cait, funciona decentemente y los frames son aceptables (Ni muy rápido, ni muy lento)

Tendrías que probar como ultimo recurso con el DxWnd (Te recomiendo la ultima versión) e ir toqueteando configuraciones como lo de "CPU Slowdown" o intentar caparle la velocidad activando el Vsync o algún filtro pesado para que no te vaya tan rápido.

¡¡Saludos!!
« Última modificación: Enero 29, 2021, 15:37:45 pm por xblastoise99 »

Desconectado tatapindi

  • Sinclair ZX Spectrum
  • **
  • Mensajes: 229
  • País: ar
  • Fecha de registro: Enero 29, 2007, 14:07:44 pm
    • Ver Perfil
    • Email
Re:Street Fighter Alpha: Warrior's Dreams
« Respuesta #16 en: Septiembre 29, 2017, 23:20:19 pm »
Hola Guardián,

El problema de la velocidad ultra warp :D de este juego es causada por un cálculo erróneo y el posterior "correctivo" automático que se auto-realiza el juego a sí mismo. La causante de esto es la función de Windows GetTickCount que devuelve el número de milisegundos transcurridos desde el arranque del sistema operativo, con ella es posible medir cuántos milisegundos (o Tics) transcurren entre tecla y tecla que pulsa el usuario o el tiempo que tarda en ejecutarse un determinado bloque de código, podrás imaginar entonces qué esta ocurriendo aquí, al tratarse de un juego frenético y machaca teclas, a los programadores se les ocurrió utilizar GetTickCount para auto ajustar velocidades del juego, claro, en Windows 95 esto era la pera.

La Solución pasaría por reemplazar dicha función por otra de alta precisión entre TIc y Tic que sea compatible con Sistemas Operativos nuevos.

Intentaré reemplazarla y te aviso, solamente que todas las pruebas que haga serán en Windows XP de 32 Bits, ya que no dispongo de un ordenador con Windows de 64 bits.

Un abrazo!


Agregado 02/10/2017:

Llevo bastante avanzado el parche, la idea de reemplazar GetTickCount por una más precisa queda descartada ya que el juego modifica su velocidad interna según machacamos las teclas más o menos, o sea, internamente el juego NO SE COMPORTA IGUAL si machacamos teclas a lo loco que si jugamos tranquilamente, aunque en pantalla no nos demos cuenta.
La solución correcta sería implementar un limitador de ciclos y dejar las llamadas intactas.

Algo curioso que encontre revisando su código es que si creamos un archivo llamado: zero.ini junto al ejecutable del juego y dentro ponemos:

[DEBUG]
DEBUG=true

Se presentan al jugador una serie de opciones de Gameplay bastante interesantes, además de poder hacer una captura de pantalla presionando la tecla "ESC"



Stay tuned and follow the progress! :lol:








 
« Última modificación: Octubre 02, 2017, 16:23:17 pm por tatapindi »


Terminado:
Gabriel Knight: Sins of the Fathers (Sin Guia)

Desconectado tatapindi

  • Sinclair ZX Spectrum
  • **
  • Mensajes: 229
  • País: ar
  • Fecha de registro: Enero 29, 2007, 14:07:44 pm
    • Ver Perfil
    • Email
Re:Street Fighter Alpha: Warrior's Dreams
« Respuesta #17 en: Octubre 05, 2017, 01:47:12 am »
Bueno creo que yastá :lol:

En este momento el parche trabaja perfectamente, solamente falta encontrar la manera de implementarlo cómodamente. Me gustaría que el usuario tenga la posibilidad de "ajustar" la velocidad a gusto y también que el parche la calcule automáticamente dependiendo de la velocidad del Ordenador donde sea ejecutado.

En cuanto lo tenga listo creo una entrada en el foro de proyectos.

Saludos!


Terminado:
Gabriel Knight: Sins of the Fathers (Sin Guia)