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:
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:
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.
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:
| Índice | DLL | Notas |
|---|---|---|
| 0 | dcsf.dll | Fuerza modo 8 bits (256 colores) |
| 1 | dcsfx.dll | Por defecto |
| 2 | dcd3d.dll | Direct3D 7 |
| 3 | dcogl.dll | No incluída |
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:
| Id | Name | What it does |
|---|---|---|
| juveniles-de-cualquier-pais | Jóvenes promesas de cualquier país | El ojeador encuentra todos los juveniles en el equipo Juveniles Españoles sin importar la nacionalidad |
| extranjeros-sin-limite-en-plantilla | Sin límite de extranjeros en la plantilla | Se elimina la restricción de fichajes de jugadores extranjeros |
| extranjeros-sin-limite-en-alineacion | Sin límite de extranjeros en las alineaciones | Se elimina la restricción de jugadores extranjeros en la alineación |
| dorsales-en-todas-las-competiciones | Dorsales en todas las competiciones | Se activan los dorsales en todas las competiciones |
| banderas-de-todos-los-jugadores | Banderas de todos los jugadores | Muestra la bandera del país para todos los jugadores, no solo los extracomunitarios |
| pais-de-nacimiento-para-todos | País de nacimiento para todos | Doble nacionalidad para todos los jugadores con nacionalidad distinta al país de origen (no solo naturalizados) |
| bandera-del-pais-de-nacimiento | Bandera del país de nacimiento | Muestra la bandera del país de nacimiento en lugar de la nacionalidad actual |
| juveniles-entrenando-sin-limite | Juveniles entrenando sin límite | Se elimina la restricción de cantidad de juveniles entrenados en simultáneo |
| siete-suplentes-en-todas-las-competiciones | Siete suplentes en todas las competiciones | Todas las competiciones tienen 7 lugares para los suplentes (Inglaterra tiene 5 por defecto) |
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.
1