Aparte, debo decir que con el dgvoodoo no me funciona. Hace dos semanas me funcionaba, pero ahora no. ahora debo desactivar esta opción para que me funcione, de lo contrario el juego no carga (se queda la pantalla del juego en negro) y debo terminarlo de forma forzosa:
Y me parece que al desactivar eso básicamente estoy desactivando dgvoodoo totalmente para este juego.
EDITO: también lo he probado con dgVoodoo v2.82.5 que es la versión más actual.
EDITO 2: probando distintas configuraciones en dgvoodoo, he podido lograr usar dgvoodoo sin tener que desactivar esa casilla, pero ahora el juego se bloquea tras finalizar la reproducción de la FMV inicial antes de la pantalla del menú, es decir, el menú de "new game" etc no se muestra. Pero al menos ya no salta directamente a la cinemática de la demo en bucle infinito xD
No soy el único al que le sucede esto, aquí un comentario (y mejor explicado que el mio) para la version sourcenext:
Y esta posible solución la encontré en un foro, pero he aplicado el procedimiento y a mi no me ha resuelto el problema del menú:
Bueno, pues ya he determinado cual es el problema. En realidad lo he averiguado leyendo un comentario de un foro aleatorio:
Así es, el problema es que si el PC permanece encendido durante un período prolongado (¿más de 5 días?), el proceso de Dino Crisis 2 comienza a funcionar mal, se vuelve totalmente inestable y ralentizado.
El problema se soluciona reiniciando el PC. Tal cual.
El problema es absurdo a más no poder, pero en teoría se supone que le podría afectar
a cualquier persona que tenga su PC encendido durante días, y no servirá solamente con reiniciar en caso de que esa persona tenga activado el modo "Fast Boot", hay que APAGAR el PC y volverlo a encender, por eso
sugiero que se añada una notita al repack advirtiendo de este problema y su solución, que podría ser un archivo de texto donde se especifique algo similar a esto:
"Si encuentras dificultades para cargar el menú principal del juego, es posible que tu PC haya estado encendido por más tiempo del que el proceso de Dino Crisis puede manejar internamente (a partir de aproximadamente cinco días encendido). Apaga y enciende el PC e intenta jugar nuevamente. En algunos casos reiniciar el PC no será suficiente."
Una vez aclarado esto, cabe mencionar que programas como
RunAsDate no van a solucionar el problema, por que no estamos ante un problema relacionado con la fecha del sistema. He estado analizando la memoria del proceso de Dino Crisis con el
Cheat Engine y he podido determinar que el problema tiene que ver con como se maneja el valor del contador del sistema operativo que devuelve la función
GetTickCount de Windows; ese valor indica el tiempo total que lleva el PC encendido, y si el valor es excesivamente alto, el proceso de Dino Crisis 2 se vuelve inestable. Este valor no se puede modificar en el sistema, solo se puede modificar en el proceso de Dino Crisis manipulando la memoria del proceso (con Cheat Engine, por ejemplo) o mediante técnicas de API Hooking tal vez.
Lamentablemente, no tengo conocimientos tan avanzados de ingeniería inversa como para modificar correctamente los
opcodes de la función que maneja este valor del contador en el proceso de Dino Crisis. Lo intenté, y logré que el menú principal se viese y se quedase ahí quieto para poder iniciar una nueva partida desde el menú, sin embargo, no se que hice que los FPS del juego y las "cinemáticas" de la demo iban super acelerados xD, no se podía jugar, arreglé una cosa pero rompí otra.
Por último, he adjuntado en este post un simple script para mostrar el tiempo en línea actual (Uptime), ya que nunca está de más saberlo para hacer pruebas o salir de dudas.
Un saludo.