miércoles, 22 de agosto de 2012

El Parcheador de TDW

¿QUÉ ES EL PARCHEADOR Y PARA QUE SIRVE?

Primero que nada, creo que existe la necesidad de explicarles a ustedes, a qué me estoy refiriendo con el título de la nota.

Nuestro camarada The Dark Wright (miembro activo y uno de los galardonados de la web www.subsim.com), ha pasado muchos meses estudiando la estructura del ejecutable del Silent Hunter V, con el fin de resolver algunos "bugs" directamente en el código del juego.

Allá por marzo del 2011, TDW nos asombraba a todos los seguidores con ésta noticia:

"Me siento un poco conmovido ahora. No, mejor dicho estoy realmente conmovido! Luego de meses de buscar y escarbar en el ejecutable de SH5, finalmente he encontrado la rutina que controla los contactos que pueden escucharse en el hidrófono. Luego, con algo más de tiempo, me las arreglé para saber cómo trabajaba (desde el punto de vista del lenguaje ensamblador vía OllyDebug). Ahora puedo decir que cuento con la solución a un gran problema.

Cómo todos sabemos, la estación del sonar en la versión 1.2, es simplemente inútil, ya que el rango de capacidad de los sonidos emitidos por un contacto, es de simplemente 0.01º. Por lo tanto, cuando uno encuentra un contacto, se tiene entre 1 y 3 segundos antes que el mismo cambie de marcación y lo pierda. Imposible llegar a clasificiarlo como "Desconocido", "Mercante" o "Buque de Guerra.

Lo que yo hice, fue habilitar la ventana del sonido para que abarque 20º, tal cual se muestra en la pantalla del dial del sonar. Ahora, la estación del hidrófono, vuelve a ser útil nuevamente, y ya podremos clasificarlo en uno de los tres tipos antes descritos."

Lo que TDW había logrado, era resolver un "bug", editando directamente el ejecutable del simulador. 

Pero inmediatamente, surge el problema legal del copyright que atañe a dicho archivo, que impide que el mismo sea distribuido por alguien más que no sea Ubisoft, su propietario.

Por lo tanto, si bien TDW no puede distribuir ni compartir su "EXE", lo que si puede es enseñarnos a nosotros a modificar el que tenemos comprado.

IMPORTANTE: El parcheador, NO SIRVE PARA EL EJECUTABLE DE LA VERSIÓN STEAM del juego. TDW explica:

"Me veo imposibilitado en darle una solución a los usuarios de Steam. El ejecutable que usa esa versión, está modificado por un código especial que desempaca el archivo original para correr, y el cual lo protege de copias. Es muy complicado y llevaría muchísimo tiempo llegar a familiarizarme y decodificar, cosa que no tengo, además de no ser poseedor de esa versión. Lo siento mucho. Disculpas a todos."



En la imagen anterior, pueden ver como dos pequeñas flechas a los lados de la aguja del hidrófono, muestran la amplitud del sonido del contacto que TDW ha modificado. Además, en la libreta de notas del sonarista (arriba a la izquierda), pueden ver que ahora es posible ser capaz de clasificarlo.

Otras de las modificaciones que ha hecho posible TDW directamente desde el ejecutable, es poder cambiar el color de las tediosas líneas grises que en muchas ocasiones tantos dolores de cabeza nos ha traído, ya que  la gama del mapa de SH5, es mucho más oscura que las de SH3 y 4.

Aquí pueden ver algunas posibilidades:




Pero no termina aquí. Podemos decir sin dudarlo, que aquí comienza todo. Seguramente vamos a tener una batería de modificaciones espectaculares por venir. 

En un principio, todas las modificaciones debían hacerse utilizando un programa que permitiera editar el EXE, buscar la dirección correcta de la rutina (sólo representada por cadenas de números), cambiar los valores con mucho cuidado de no equivocarnos, y luego volver a compilarlo. Algo que a muchos de nosotros nos aterraba de sólo pensarlo. Un solo número equivocado, un error por más sencillo que sea en cualquiera de los pasos, y nuestro SH5 dejaba de funcionar.

Para aliviarnos el trabajo, una vez más, nuestro ángel de la guarda submarinístico, conocido como TDW, nos creó una interface desde la cual poder manipular todos estos cambios, con 1 (un) solo clic!



Ahora, voy a pasar a explicar cómo debemos usar esta interface correctamente, corriendo el mínimo de riesgo posible, para no corromper nuestro ejecutable, y así no sufrir CTDs imprevistos por este tema.

IMPORTANTE: Antes que nada, y de cualquier cosa, se deberá crear un backup de nuestro ejecutable original, y lo pondremos en seguro resguardo. Esto nos permitirá contar con una marcha atrás inmediata si algo saliese mal.

LA INSTALACIÓN 

Bajamos desde el post de subsim de TDW, el paquete de parcheado. Al momento de esta nota, la versión es la 1.0.65. Las versiones varían a medida que su autor va agregando cosas, así que tranquilamente pueden encontrar una superior en cualquier momento. 


Al terminar la descarga, nos encontraremos con que hemos descargado un zip con lo siguiente:


La carpeta llamada MODS, contiene "mods" que deben ser copiados y pegados dentro de la carpeta en dónde tenemos los mods que habilitamos con el JSGME.

Luego, en la raíz del juego (Silent Hunter 5), vamos a crear una nueva carpeta que llamaremos "Parcheador". Allí descomprimiremos todos los archivos que tenemos en el zip (menos la carpeta MODs que ya expliqué antes que hacer). Si lo desean, pueden crear dentro de la carpeta recientemente otra creada en dónde podrán guardar una copia de respaldo del ejecutable que están a punto de modificar.

IMPORTANTE: El parcheador, va a modificar el archivo SH5.EXE. Algunos anti-virus, son bastante celosos de aquellas aplicaciones que alteran ejecutables. Más en este caso en particular, cuya acción producirá un incremento de su tamaño, o lo que en la jerga común se conoce como "inflado". Si es su caso, inhabilite su antivirus durante el proceso para no recibir errores de escritura o falsos positivos de virus.

Desde la carpeta que nombramos Parcheador, ejecutaremos el archivo GenericPatcher.exe. Y automáticamente se nos abrirá una ventana, con sólo una opción de comando: "FILE" arriba a la izquierda. Hacemos clic allí, y elegimos OPEN


Inmediatamente, tendremos una ventana de exploración, que nos mostrará tres archivos disponibles:


  • TDW_SH5_Patches.s5p
  • TDW_SHCollisions_Patch.s5p
  • TDW_SHSim_Patch.s5p

Éstos 3 archivos, para que se entiendan, son los responsables de contener los menúes de modificaciones disponibles sobre el ejecutable del Silent Hunter 5. Además, crearán archivos de contenido históricos en la carpeta raíz del juego, para poder recordar luego que cosas ha variado del ejecutable y así poder revertir los cambios ya hechos. Así que cuando la aplicación anuncie de archivos inexistentes y pregunte por su consentimiento para crearlos, dígale que si para que proceda.

Cada archivo, contiene un conjunto de modificaciones, agrupadas por temática. Vamos a abrir cada uno de ellos de a uno por vez. Recuerde que son 3. Si es la primera vez que correr el parcheador, seguramente le pedirá que lo guíe hasta la carpeta en dónde tiene instalado el simulador, para poder encontrar el ejecutable SH5.EXE.

Realizar los cambios es muy sencillo. Los íconos son muy intuitivos a la hora de mostrar que cosa está habilitada y que no. En mi caso particular, he habilitado todas las mejoras, salvo por la de los colores de las herramientas cuya composición las dejaré a gusto personal del lector.



Cómo si fuera un árbol, se deben activar cada uno con un doble clic del mouse. De rojo, pasarán a azules una vez activados. Entre las mejoras activadas en la imagen anterior, se pueden ver:

  • Corrección del sistema de reaprovisionamiento en el mar.
  • Corrección del hidrófono
  • Nuevas entradas en el menú txt para los que usan Navegación Real
  • Colores en el mapa
  • Corrige un bug sobre el CO2 presente en la versión original
  • Abre y Cierra las compuertas interiores del submarino cuando se pulsa F7 (Zafarrrancho de Combate)
  • Tripulación despierta
  • Correcciones de renderizado
  • Cubierta mojada
  • Los tripulantes no ven cosas al estar sumergidos
  • Control independiente de los motores

Se debe tener en cuenta, que algunas opciones necesitan que también se activen ciertas modificaciones en los otros archivos que describí antes. Por ejemplo, si activamos Control Independiente de Motores, deberemos recordar activar el quinto patch (contando de arriba hacia abajo) del fichero TDW_SHSim_Patch.s5p.

Cuando terminen de realizar las modificaciones, vuelven al comando FILE arriba a la izquierda y del menú emergente eligen CLOSE. Eso hará que el SH5.EXE sea re-escrito con los nuevos valores.

Hagan las modificaciones necesarias en los 3 archivos que mencioné antes.

Finalizado todo, ya pueden cerrar la aplicación y correr el simulador para probar que los cambios hayan surtido efecto y disfrutar de las mejoras.

CÓMO IMPLEMENTAR UNA ACTUALIZACIÓN DEL PARCHEADOR

Tal cual lo mencioné antes, el parcheador es regularmente actualizado por su autor, para agregar nuevas funciones que él va encontrando. Cuando eso sucede, sale una versión nueva, y si queremos disfrutar de ellas, deberemos actualizar la versión de la interface. Para tal caso, deberemos seguir algunos pasos.

  1. Antes de proceder a la actualización, vaya a la carpeta Parcheador y ejecute el archivo GenericPatcher.exe
  2. Inhabilite todas las opciones que estén activas, en los 3 archivos de gestión, hasta que todo quede en rojo. Asegúrese que nada quede activado y de hacer CLOSE.
  3. Cierre la aplicación.
  4. Explore la carpeta Parcheador, y elimine todos los archivos de la versión vieja.
  5. Descomprima en la carpeta Parcheador, los archivos de la versión nueva.
  6. Haga los cambios necesarios como ha aprendido.

FINALIZANDO

Aunque a alguno le parezca un proceso penoso, poder contar con las reformas que TDW ha conseguido, es maravilloso poder contar con ellas. The Dark Wairth, es un gran pionero en los mods de SH5, y éste es sólo una de sus increíbles hazañas. El Generic Patcher, sin dudas nos deparará enormes sorpresas a futuro, y sería muy útil que todos disfrutemos de ellas, tal es el deseo de su autor.




lunes, 20 de agosto de 2012

COMO DETERMINAR EL CURSO DE UN CONTACTO CON 3 MARCAS

El siguiente tutorial, enseña como determinar el rumbo de un contacto, con sólo tres marcaciones obtenidas a través de períodos regulares de tiempo.

Primero, vamos a necesitar trazar paralelas. Cómo Silent Hunter no posee una herramienta que permita trazarlas, vamos a valernos de un truco muy sencillo.

Primero, trazamos con la regla una recta cualquiera en un área vacía del mapa:


Luego, utilizando la herramienta para hacer círculos, trazamos uno poniendo como centro uno de los extremos de la recta, y luego arrastramos el radio para que coincida con la misma:


Lo que sigue, es con la herramienta de círculos seleccionada, posarla sobre el centro del círculo que hemos creado, y haciendo clic izquierdo y sin soltar, arrastramos el círculo hacia la izquierda un poco:


Listo! Ya tenemos nuestra paralela trazada! Ahora vamos al método en sí.

Voy a hacer una marca, para simular la posición de mi submarino. Estoy detenido y sumergido a 50 metros, con rumbo Norte, y capto un contacto.


La primera marca de mi sonar, es 339º. Según el sonar, a distancia media, se acerca...


Pongo en marcha el cronómetro. Cómo el contacto se acerca y está a distancia media, opto por imponer lapsos de 5 minutos. Digamos, tengo todo ese tiempo para trazar el contacto, hasta la próxima marca.

La segunda marca es  010º y la tercera 030º. Por la variación en grados de las marcas, puedo suponer que el blanco se mueve muy rápido a lo lejos, o muy lento a lo cerca. Mi mapa queda así tras las tres marcas:


Lo próximo que voy a hacer, es colocar una marca en la segunda marcación, cerca del centro de la misma. Ésto es aproximado, lo importante es que las marcas sean puestas sobre las líneas y en coincidencia con las intercepciones. Para hacerlo, uso el ZOOM del mapa a fondo.

Ahora sigue hacer una paralela de la tercera marcación. Utilizando el método que describí antes, y con la ayuda del compás, trazamos un círculo con el centro en la tercer línea y arrastramos su radio por la misma.


Trazada la paralela, movemos la misma hasta que su radio coincida con la marca puesta en la segunda línea.


Hacemos luego, lo mismo pero con respecto a la primer marcación...


Marcamos otra marca en la coincidencia de la segunda paralela, con la tercer marca...


Y trazando una línea que una los dos puntos recién marcados (he borrado las paralelas para dejar más limpio el dibujo), obtenemos el rumbo del contacto: 111º

Porqué estoy seguro de eso, porque la línea del curso, es cortada ahora por segmentos iguales, tal cual sería las marcas proporcionadas por un contacto que se mueve a rumbo y velocidad constante.

Lo que es importante entender, ES QUE AÚN NO SABEMOS LA DISTANCIA DEL CONTACTO... por lo tanto, aún no podemos determinar su velocidad. Pero utilizando la herramienta Compás, podemos medir la distancia entre los segmentos creados, y así poder determinar, en dónde estará la próxima marca dentro de 5 minutos!
 

Digamos que si podemos saber dónde será la próxima marca, podemos trazarla, y luego mover nuestro submarino para triangular...

Tema del próximo tutorial.

¿Qué es un nomógrafo?



Un Nomógrafo, es una herramienta gráfica que permite realizar cálculos y presentar solución de manera rápida y sencilla. En la marina, se utilizan muchos tipos de nomógrafos para resolver diferentes cuestiones. El siguiente, es el más común de ellos, y es el que involucra: Velocidad, Tiempo, Distancia.

Nomógrafo utilizado por la US Navy
El nomógrafo permite, sabiendo dos de sus tres datos, determinar el dato que falta. En la imagen anterior, podemos ver un nomógrafo utilizado por la Navy, cuya única variante de uno utilizado por los alemanes, es que las distancias están expresadas en el sistema imperial, en lugar del métrico.

Entonces, si logramos saber que un contacto, que durante una "x" cantidad de tiempo, ha recorrido "y" cantidad de yardas o millas, uniendo con una línea estos dos datos, veremos que la intersección de dicha línea sobre la regla de velocidad, nos da la cantidad de nudos a que se mueve.

Veamos el siguiente ejemplo:

Un contacto, durante un lapso de 3 minutos y 15 segundos, se ha traslado 410 yardas. Simplemente trazamos la línea que nazca en la regla de tiempo, la estiramos hasta que cruce la distancia, y seguimos prolongando hasta que cruce la regla de velocidad. Nuestro contacto, se está moviendo a 4 nudos.

Tiempo: 3m 15s / Distancia: 410 yardas / Velocidad: 4 nudos

Para propósitos prácticos, es una buena idea tener como herramienta, un nomógrafo realizado e impreso en cartulina, plastificado y siempre a mano para resolver cálculos. Algunos mods, agregan uno al mapa del simulador, pero siempre he considerado más provechoso y cómodo, utilizar el que guardo en el cajón de mi escritorio.

jueves, 2 de febrero de 2012

Volvemos!

Bueno, tras más de un año de ausencia, estamos a punto de zarpar de puerto. Estoy creando una buena ensalada de mods para contarles y que puedan usar como inspiración para la propia.

viernes, 3 de septiembre de 2010

Las Múltiples Interfaces de Dark Wraith

Cuando los desarrolladores de Silent Hunter 5, hicieron pública su intención de darle un sentido más personal a la vivencia de tripular un submarino, y cuando comenzaron a verse las primeras capturas de lo que sería un nuevo aspecto del juego: verse en el alter ego de un capitán, todos nos hacíamos la misma pregunta: ¿Cómo accederíamos a las múltiples funciones del barco?

Evidentemente, la intención era hacerla lo más sencilla posible, obligando al jugador a trasladarse a cada estación, hablar con los oficiales y a través de ellos, darles órdenes al resto de los marineros. Pero, muy pronto se pudo apreciar que en este tipo de interface, carecía de elementos importantísimos e imprescindibles para llevar a cabo del mando del sumergible. Así, los "modders", se pusieron manos a la obra, intentando devolvernos todos aquellos detalles que, aunque invisbles al usuario, permanecían ocultos entre los comandos internos del simulador. Algunos ya conocidos, otros nuevos gracias a la oportuna aparición de los conceptos programables, rápidamente fueron dándose a la luz. Poco a poco fueron formándose varias interfaces, sobreviviendo actualmente el desarrollo paralelo de dos de aquellas iniciales y que muestran cosas increíbles en cuanto a opciones y accesorios. Algunos de esos accesorios, son simplemente fantásticos, y cada día que pasa, nos sorprenden con cosas nuevas que con el correr del tiempo, van perfeccionándose.


Sin lugar a dudas, DarkWraith, es uno de los "modders" que está haciendo uso de las nuevas capacidades de Silent Hunter 5, con su magnífica interface múltiple. Para poder tan sólo hacer un análisis de las incontables ventajas que ésta trae, debemos comenzar desde el paquete mismo del mod, incluso antes de instalarlo, ya que a partir de este punto, uno es capaz de determinar que elementos deseamos que luego estén presentes en el juego, incluso establecer ciertos parámetros de comportamiento del submarino.
Configurando el MOD: (Gracias a KYLANIA quien nos facilitó el aprendizaje)

Una vez descargado el mod, debemos descomprimirlo en una carpeta cualquiera, para poder trabajar en su configuración. Encontraremos en su arquitectura, que en un nivel inferior habrá una carpeta llamada MODS, en la cual podremos encontrar la interface principal y todos los complementos secundarios. Ingresaremos en la carpeta llamada: NewUIs_x_x_x_By_Dark_Writh, una vez allí entramos en la siguiente llamada Data, Script y finalmente Menú. Dentro de esta última, encontraremos el archivo TheDarkWraithUserOptions.py, el cual contiene todos las opciones posibles que el usuario puede establecer para el mod. Para poder leerlo, utilizamos un bloc de notas (yo aconsejo Note++ que es gratuito y no corrompe el archivo).

La Música del mes: Cartas de Iwo Jima

La banda sonora de "Letters from Iwo Jima", fué compuesta por Kyle Eastwood, hijo mayor del afamado actor y director Clint Eastwood. Quien pudiera asociarlo con un heredero de la fama de su padre, no podría estar más equivocado.

Músico desde muy joven, Kyle ha sabido ganarse con creces su fama con cada nota que ha ejecutado. Desde 1998, cuando consiguió lanzar su primer contrato discográfico con la veña de Sony, no ha dejado de colaborar con las películas que su padre ha dirigido. "Río Místico", "La Niña del Millón de Dólares", "Flag our Fathers" o "La Conquista del Honor" como se la conoció en América latina, junto a "Cartas de Iwo Jima", nos dan una clara muestra del talento de Kyle para hacernos erizar la piel con sólo escucharlo. Éste y el próximo mes, podremos escuchar su trabajo aquí en Mar en Guerra.

jueves, 2 de septiembre de 2010

PREPARÁNDOME PARA SALIR

Tras duras jornadas de puesta a punto, se puede decir que estamos listos para salir de caza por el Atlántico Norte.

El mayor problema que he debido afrontar, es la puesta a punto del hidrófono. No se porque, el mod IRAI que es el responsable de establecer nuevas rutinas a la inteligencia artificial, se corrompe al agregarle el NO HYDROPHONE ON SURFACE (no hidrófono en la superficie), haciéndolo totalmente inútil.

A favor, retirando la opción anterior, mi sonar sólo capta sonidos estando sumergido, y he logrado hacerlos funcionar correctamente. Aquí a continuación, dejo el listado de MODs que me acompañarán en esta primer patrulla.


Generic Mod Enabler - v2.5.0.150
[C:\Ubisoft\Silent Hunter 5\MODS]

AilClouds 3.0
AilMoon 1.5
AilRain 1.0
AilSmoke 1.7
Capthelms Lighting Effects mod for sh5
Lite Campaign LC 1.2
MightyFine Crew Mod 1.2.1 Alt w beards
SD_MapCourseLine_tiny_arrows_ocred
Shadow Improvement ModLR
Sobers ambiance sound collection
sobers no shoe sound mod
sobers talking conning crew mod
Speech fixes and additions (german version)
Sh5EnvModGold
German U-Boat Hydrophone SFX
SteelViking's Interior Mod V1.1
SteelViking's Interior Mod  V1.1 patch V1.1.1
NewUIs_TDC_4_2_0_ByTheDarkWraith
IRAI_0_0_22_ByTheDarkWraith
NewUIs_TDC_4_2_0_ERM_Reaper7_NightVision
SH5 Capitan Helm Audio
Accurate German Flags
SteelViking&Com Underwater ModV1.0

Con todo listo, me encuentro en condiciones de poder comenzar una nueva patrulla. Como regla, los mods no han de tocarse hasta volver a puerto.

Mi primer tarea, consistirá en al menos provocar que unas 25.000 toneladas vayan directamente al fondo del mar en las costas británicas.

Si bien a esta altura de la guerra no deberé preocuparme demasiado por las escoltas, el MOD IRAI hará que los mercantes que puedan dar aviso por radio, atraigan aviones o a algún destructor que se encuentre en las cercanías. Puede que hasta despachen a alguna pequeña formación a buscarme. Así que deberé ser preciso y mortal si quiero salir vivo de esta.

Una de las cosas que decididamente probaré, son las nuevas "automatizaciones". Es como una especie de MACRO (o conjunto de comandos), que pueden ejecutarse a modo de trabajos rutinarios. Tal cual lo haría una tripulación de verdad, sólo hace falta dar una orden para que se lleven a cabo múltiples trabajos, como por ejemplo: Inmersión a cota de periscopio, Avante 1 tercio, modo silencioso, rastreo de sonar de 360 grados, todo con sólo ejecutar una automatización.