Índice/ PCF 2001/ Proyecto PCF2001 Patch
Parche

Proyecto PCF2001 Patch

1 mensajes · 29 vistas
#1 por Hyperar » Hoy, 20:00
Buenas a todos, tal vez alguno me recuerde del antiguo foro, en su momento, había encontrado la forma de agregar equipos a PCF2001 y que se mostraran en el juego.

Pues la semana pasada me volvieron a dar ganas de jugar al PCF 2001, y me encontré con que no funciona en W11, ni siquiera siguiendo los tutoriales siquiera conseguí que se instalara.

Con las noticias de los últimos tiempos sobre la IA y las decompilaciones, me propuse ver si podía conseguir solucionar los problemas de compatibilidad del juego y las nuevas versiones de Windows.

El primer desafío fue hacer que PCF2001 reemplazar el instalador, ya que InstallShield 6 hace tiempo no funciona. Claude Code ha escrito un instalador nuevo que utiliza la ISO original e instala el juego manualmente, y aplica los parches oficiales de Dinamic Multimedia. Desafortunadamente, al necesitar escribir las claves del registro, solicita permisos de administrador.

El segundo desafío fue reemplazar las versiones antiguas de DirectX y utilizar Direct3D 11, nativo de W11. La IA encontró que el backend gráfico de PCF2001 (gfxwin.dll) soporta 4 distintas librerías:
ÍndiceDLLNotas
0dcsf.dllFuerza modo 8 bits (256 colores)
1dcsfx.dllPor defecto
2dcd3d.dllDirect3D 7
3dcogl.dllNo incluída
Aprovechando que se soportaba una librería (dcogl.dll) que no estaba en los ficheros del juego, Claude Code encontró la interfaz que implementan estas librerías, y desarrolló una versión que funciona nativamente con Direct3D 11. Soporta modo ventana y modo pantalla completa con escalado manteniendo la relación de aspecto original.

El tercer desafío fue los problemas de incompatibilidad con el manejo de memoria.
Las versiones de Windows para las que ha sido desarrollado el juego manejaban la memoria de una manera muy distinta a los Windows actuales, lo que producía que el juego fallara inmediatamente bajo el mensaje "La aplicación no puede continuar".
Ante esto, la IA ha desarrollado un componente que sirve de capa de compatibilidad, que se encarga de hacer que el juego pueda trabajar de la misma manera que lo hacía anteriormente.

Finalmente, ¡¡pude ejecutar el juego en Windows 11!!. Lamentablemente, la experiencia no ha sido tan feliz, hubo muchas iteraciones, seguidas de pruebas y correcciones, y finalmente, el juego se encuentra muy estable (en mi experiencia).

En muchas de estas pruebas, se han encontrado los famosos y frustrantes errores originales del juego, errores de manejo de memoria (no relacionados a la compatibilidad sino a errores de programación).
Se han corregido gran cantidad de errores originales del juego, he podido partidas hasta el año 2011/2012 sin problemas.

Por último, ya mas optimista con los resultados, me dispuse a agregar modificaciones que siempre me han molestado del juego.
Actualmente se pueden activar individualmente las siguientes modificaciones:
IdNameWhat it does
juveniles-de-cualquier-paisJóvenes promesas de cualquier paísEl ojeador encuentra todos los juveniles en el equipo Juveniles Españoles sin importar la nacionalidad
extranjeros-sin-limite-en-plantillaSin límite de extranjeros en la plantillaSe elimina la restricción de fichajes de jugadores extranjeros
extranjeros-sin-limite-en-alineacionSin límite de extranjeros en las alineacionesSe elimina la restricción de jugadores extranjeros en la alineación
dorsales-en-todas-las-competicionesDorsales en todas las competicionesSe activan los dorsales en todas las competiciones
banderas-de-todos-los-jugadoresBanderas de todos los jugadoresMuestra la bandera del país para todos los jugadores, no solo los extracomunitarios
pais-de-nacimiento-para-todosPaís de nacimiento para todosDoble nacionalidad para todos los jugadores con nacionalidad distinta al país de origen (no solo naturalizados)
bandera-del-pais-de-nacimientoBandera del país de nacimientoMuestra la bandera del país de nacimiento en lugar de la nacionalidad actual
juveniles-entrenando-sin-limiteJuveniles entrenando sin límiteSe elimina la restricción de cantidad de juveniles entrenados en simultáneo
siete-suplentes-en-todas-las-competicionesSiete suplentes en todas las competicionesTodas las competiciones tienen 7 lugares para los suplentes (Inglaterra tiene 5 por defecto)
El proyecto está publicado en GitHub y completamente de código abierto bajo la licencia MIT.
Desafortunadamente no puedo poner enlaces aún, pero les dejo la url sin enlace: github.com/mesancheza/pcf2001-patcher/.

Atención: He subido algunas de las releases a VirusTotal, y algunos motores de antivirus lo detectan como troyano, no hay nada que se pueda hacer al respecto, son ejecutables no firmados digitalmente (cuesta mucho dinero).
Lo único que puedo hacer es que el código pueda revisarlo cualquiera, aunque entiendo que la gran mayoría no lo entienda (yo tampoco, no programo en C++, lo ha hecho íntegramente la IA), y la compilación es determinística, lo que significa que pueden compilarlo ustedes mismos (hay instructivo en el repositorio) y los ejecutables resultantes son los mismos que se pueden descargar de la sección Releases. Además de esto, todas las modificaciones que se hacen, están detalladas en los distintos ficheros de documentación junto con la razón detrás de cada uno de ellos. Queda en cada uno de ustedes si quieren descargarlo y utilizarlo.

Quienes decidan probarlo, después de cada vez que abren el juego, en la carpeta del mismo hay un fichero llamado dcogl.dll.log, este contiene el log del parche del juego, si se encuentran algún crasheo, es importante que reporten el error y suban ese fichero, ya que contiene el diagnóstico de lo que ha ocurrido, que es vital para solucionar los errores.

Saludos.