Skip to main content

Una línea de código causa todos los problemas… Una simple edición hexadecimal lo soluciona…

Proporcionaré un dll fijo para personas perezosas y repasaré cómo hacerlo usted mismo.

Visión de conjunto

Entonces, Deus Ex tiene un problema ampliamente conocido: por encima de ciertos FPS, todo el juego se acelera. Esto es conocido en la comunidad y «arreglado» en los renderizadores más nuevos (como DX10) bloqueando el FPS.

Sin embargo: hay otros juegos de Unreal Engine 1 con exactamente los mismos problemas. Introduzca Harry Potter 1 y 2. El segundo (Cámara de los Secretos) tenía un prototipo publicado con la fuente, lo que nos permitió repasar el motor. Se encontraron muchas referencias a Deus Ex e Ion Storm en todo el motor, lo que ahora explica por qué ambos comparten el mismo problema de aceleración.

El código

Entonces, al pasar por la fuente a HP2, encontré la única razón por la cual el juego se acelera. En la función de marca de nivel, se ejecuta este código:

Esta línea de código intenta sujetar el juego entre 10 y 200 fps, pero el problema es que eso no limita los FPS, solo limita el delta calculado entre fotogramas. Lo que sucede en cambio, se pasa un valor por encima de 200FPS y este código lo obliga a actuar como 200FPS. Eliminar la línea, por supuesto, soluciona el problema y el juego funciona felizmente bien hasta 1000FPS.

Solución de Deus Ex

Ahora puedes decir: «¿Cómo se relaciona esto con Deus Ex?» Bueno, ¡este código exacto también aparece en Deus Ex! Deus Ex: Edición Juego del año - Solución de problemas de aceleración

Deus Ex: Edición Juego del año - Solución de problemas de aceleración

Un problema tan estúpido. Creo que estaban tratando de sujetar el FPS máximo a 200, pero tienes que forzar la tasa máxima de ticks en UGameEngine para hacer eso (es una función llamada MaxTickRate ())

La solución real

Ahora, aquí se explica cómo solucionarlo en Deus Ex. Necesitará un editor hexadecimal como hxD.

Busque «0AD7A33B» en hexadecimal, se verá así: Deus Ex: Edición Juego del año - Solución de problemas de aceleración
Tenga en cuenta las secciones resaltadas: esto es para guiarlo a la sección correcta, hay múltiples instancias de este valor y esta es la correcta. Establézcalo en 00 00 00 00

A continuación, busque «CCCCCC3E» en hexadecimal, se verá así: Deus Ex: Edición Juego del año - Solución de problemas de aceleración
También tenga en cuenta las partes resaltadas, ya que esto ayuda a marcar dónde está el valor.
Cámbielo a «FF FF 7F 7F».

Y ahora guarda. Ahora, si usa el dispositivo de renderizado DX10, abra DeusEx.ini y busque
“[D3D10Drv.D3D10RenderDevice]”

Escriba «FPSLimit = 0» debajo del encabezado. Guarda y deberías tener un juego desbloqueado. Si usa DeusEXE, vaya a configurar y establezca el límite de FPS en 0.

¡Ahora tienes un juego que funcionará bien sin límite!

MÁS GUÍAS DE JUEGOS PARA TI

Artículos Relacionados:

Sigue leyendo: