Convertir un juego hecho con M.U.G.E.N. de windows para ser jugado nativamente en linux

Hola

Me había bajado de internet un juego de pelea hecho con M.U.G.E.N. que corriéndolo con wine anda bastante bien. Pero yo quería ir más lejos y correrlo con el M.U.G.E.N. nativo en Linux (obviamente poniendo el ejecutable de linux en la carpeta del juego). Yo no me he puesto a ver como es toda la sintaxis ni que hace cada archivo de configuración, pero lo que si tengo claro (en parte por los mensajes de error) es que la versión para Linux es case-sensitive y tiene problema cuando hay que cargar archivos con mayúsculas y minúsculas distintas a las que aparecen en todos los archivos de configuración o predeterminados...

Como discuto en este post
http://www.esdebian.org/foro/45046/pasar-mayusculas-minusculas-solo-contenido-archivos-texto
Intenté solucionar el problema pasando todos los nombres de archivos y directorios a minúsculas y editando el contenido de todos los archivos de texto a minúsculas. De esa forma esperaba convertir todo a algo coherente donde dentro de un archivo de configuración se llamara a un archivo con nombre escrito en minúsculas y existiera ese archivo escrito en minúscula...

Pero cuando hago toda esa conversión ni con wine vuelve a andar bien el juego... Puedo iniciarlo, elegir los luchadores, pero cuando va a la lucha se sale del juego. Dice tener problema con los archivos .def y .cmd de los personajes (sub-carpetas dentro de la carpeta 'char')... Osea, si con wine (osea windows) deja de funcionar es por que debe haber algo en la sintaxis que depende de las mayúsculas. Pero yo no se que es, al verdad solo quería ser usuario del juego no desarrollador del mismo.

Me pregunto si quizás hay alguna receta para convertir juegos hechos con mugen para windows a mugen para linux, sin tener que volverme loco haciendo un super detallado programa que revise y tome demasiadas decisiones archivos por archivos para corregir las mayúsculas y las minúsculas pero sin cambiarle el sentido a la sintaxis...

Alguno ha usado MUGEN y se ha enfrentado a este problema? como lo ha solucionado?

Gracias por su ayuda y recomendaciones...

si tienes todos los fuentes, no tienes excusa... vas a tener que cavar mas hondo.

zinabrio a qué te refieres???

estas tocando el código fuente ¿ o lo he entendido mal?... asumo que tienes los sources de linux?

Pues eso, que vas a tener que mirar todo,"todo", si lo quieres portar esta plataforma.

Mmm no se si llamarlos códigos fuentes... Al parecer solo es un ejecutable "universal" que interpreta varios archivos de configuraciones y definiciones (más otros con sprite, animaciones, sonidos, etc) y construye durante su ejecución el juego de lucha. Usando siempre ese ejecutable con distintos archivos que definen distintos personajes se construyen distintos juegos de lucha. No es que compilase nada, es como si los interpretara en tiempo de ejecución... Supongo que se los puede llamar códigos fuentes, aunque no lo había pensado de ese modo.

Existe el ejecutable para windows y el ejecutable para linux, en principio debería reconocer los mismos archivos de configuraciones y definiciones (y ni hablar de los sprites y sonidos)... Pero el mal hábito de los usuario de windows ha hecho que nombres de archivos invocados sean puestos indistintamente en mayúsculas o minúsculas. Como resultado tiene problemas para encontrar los archivos que definen a los personajes, los escenarios, sonidos, etc... Por otro lado sospecho que la sintaxis debe ser sensible a mayúsculas y minúsculas por que si paso todo a minúscula, nombres de archivos y contenidos de archivos de configuración, deja de funcionar incluso en windows (¡bah!, wine)...

Ponerme a tocar eso letrita por letrita no estaba en mis planes, yo pensé que quizás había una forma automatizada de hacer la migración. Pero como nadie ha respondido comienzo a pensar que no... :(

Lo que tu estas tratando de hacer yo ya lo hize hace tiempo.

Bueno ya descargaste el ejecutable para correr mugen en linux,
y en efecto el problema es por ser linux case-sensitive y windows nop, exactamente el problema que no se ejecutaba al principio es por que las fuentes del mugen que estan declaradas en minúsculas en el archivo de configuración pero luego los archivos tienen nombres con mayusculas en la carpeta font/.

Lo que no sabes es que el problema también se extiende a las carpetas de los chars, los archivos de musica y y todas las fuentes, carpetas en las cuales también debes aplanar los nombres de los archivos a minusculas y ademas en los chars hay que asegurarse que los .def tengan todo declarado con minúsculas

en esos tiempos hice un scrip que se metía ala carpeta de chars buscaba los archivos .def y aplicaba tr para pasar todo el texto a minúsculas

mira seria algo como este ejemplo con el char del kunfu man

mv kfm.def kfm.def-copia
cat kfm.def-copia | tr [:upper:] [:lower:] > kfm.def

y queda todo el archivo en minusculas,

lo que no recuerdo es como hize en el scrip para pasar los nombres de archivos a minusculas creo que fue algo como

ls chars/* > lista1.txt
cat lista1.txt | tr [:upper:] [:lower:] > lista2.txt

y luego en un ciclo while usaba mv de esta manera

primera vuelta
mv -v "primera linea de lista1.txt" "primera linea de lista2.txt"
segunda vuelta 
mv -v "segunda linea de lista1.txt" "segunda linea de lista2.txt"
n vuelta
mv -v "n linea de lista1.txt" "n linea de lista2.txt"

ese mugen no me soportaba joystics por lo que hize un scrip para lanzarlo que utilizaba joy2key para poder jugar con joysticks, técnica complicada pero como ahora tengo qjoypad se volvio mucho mas sencillo de hacer
y por su puesto su entrada.desktop en /usr/share/applications/ para tener lanzador en menu de juegos del sistema y no estar jodiendo tanto lanzando el scrip a mano.

bueno
happy coding

hooo disculpa recién leo el mensaje intentaré y luego te aviso si funcionó... yo también quise cambiar nombres... pero quizás cambié más cosas de las que debía... veré solo esos archivos que tu dices...

Gracias

Me acabo de acordar de otra cosa

las direcciones de los chars y de los archivos de musica en windows se ponen con \ pero en linux se hace con /