Regresar   Foro de marcianitos.org > Emuladores y programas de todo tipo > Emuladores > MAME

 
 
Old 04-jun-2007, 09:33   #11
Rayito
Asesino de Masas
 
Avatar de Rayito
Esa compilación fue un gran trabajo anarco-punk jejjejje. Muchas gracias al programador, que me ha venido muy bien sa versión.
   
Old 04-jun-2007, 11:26   #12
Armenta
Moderador General
 
Avatar de Armenta
pero que estais diciendo, hay alg ode eso en el almacen??? tendre que mirar...
   
Old 04-jun-2007, 14:45   #13
RiCCo
Marciano
 
Avatar de RiCCo
Me lo paso cateto y lo subi hace unos dias (iba a subir mi version pero no pudo ser ) la version de cateto no recuerdo de quien era realmente ya que nos metimos en el lio unas tres personas y cada uno hizo una version

Quiero hacer lo mismo con la version 0.65 Si alguien sabe donde esta el codigo fuente del mameplus de la version 0.65, que me chille pero ya (y los diff tambien, ya puestos a pedir)
   
Old 06-jun-2007, 20:35   #14
alvarillo88
Usuario registrado
yo ando con lo mismo para el advanced mame del ARCADOS pero mis pobres conocimientos se quedan en utilizar un debugger de 32 bits. De programación aun no se nada, es lo que voy a estudiar en grado superior.

Hay algun debugger para aplicaciones de MS-DOS? con eso a lo mejor me apaño (aunque solo he usado el Olly debugger)

Por cierto que archivo de todos los que hay que compilar es el que hay que tocar?

para que sirven los diffs?
   
Old 06-jun-2007, 20:58   #15
RiCCo
Marciano
 
Avatar de RiCCo
del archivo, ahora mismo no me acuerdo. Los diff seran archivos que usan los del mameplus para decirle al mame cuales son las differencias Supongo sera eso pero no estoy seguro.
   
Old 06-jun-2007, 23:57   #16
alvarillo88
Usuario registrado
Quote:
Originalmente publicado por RiCCo Ver post
Los diff seran archivos que usan los del mameplus para decirle al mame cuales son las differencias Supongo sera eso pero no estoy seguro.
jejeje
Algo asi pensaba yo, pero eso de los diffs tambien esta en la pagina oficial del mame junto a las descargas de las versiones antiguas (concretamente lo he visto en la 0.60 que es con la que estoy investigando) yo creo que son algo asi como mejoras o lo que seria la actualizacion de la versión o algo por el estilo, pero ni lo he mirado.

Intenta hacer memoria a ver si recuerdas el nombre del archivo y puedo cambiarlo que yo de momento no encuentro la solucion.

Por cierto en el archivo recuerdas si hacia referencia a parte del texto que se muestra en los mensajes como puediese ser "Press select...."

Un saludo
   
Old 07-jun-2007, 00:18   #17
Macarro
Administrador
 
Avatar de Macarro
Un diff es un fichero con diferencias de código.

Se pueden usar para sacar una update, por ejemplo 0.115u3. En lugar de publicar todo el código de nuevo, con el 0.115 y un diff para la u3, tenemos el nuevo código completo.

Y los de mameplus, pues también hacen lo mismo.

Así que para tener un mame plus 0.115u3 habría que coger el código base y aplicarle dos diff diferentes (y en orden correcto).
   
Old 07-jun-2007, 13:13   #18
alvarillo88
Usuario registrado
He dado con el archivo

Bueno pues creo que he dado con el archivo del mensaje.
Digo creo porque es el unico archivo en el que vienen los mensajes de aviso. El archivo en cuestion es el que pertenece al codigo fuente del MAME 0.60 descargado de la web oficial de MAME.

Nombre de archivo: ui_text.c
Contenido del archivo:
Quote:
/*********************************************************************

ui_text.c

Functions used to retrieve text used by MAME, to aid in
translation.

*********************************************************************/

#include "driver.h"
#include "ui_text.h"

struct lang_struct lang;

char *trans_text[UI_last_entry + 1];

/* All entries in this table must match the enum ordering in "ui_text.h" */
const char * default_text[] =
{
#ifndef MESS
"MAME",
#else
"MESS",
#endif

/* copyright stuff */
"Usage of emulators in conjunction with ROMs you don't own is forbidden by copyright law.",
"IF YOU ARE NOT LEGALLY ENTITLED TO PLAY \"%s\" ON THIS EMULATOR, PRESS ESC.",
"Otherwise, type OK to continue",

/* misc stuff */
"Return to Main Menu",
"Return to Prior Menu",
"Press Any Key",
"On",
"Off",
"NA",
"OK",
"INVALID",
"(none)",
"CPU",
"Address",
"Value",
"Sound",
"sound",
"stereo",
"Vector Game",
"Screen Resolution",
"Text",
"Volume",
"Relative",
"ALL CHANNELS",
"Brightness",
"Gamma",
"Vector Flicker",
"Vector Intensity",
"Overclock",
"ALL CPUS",
#ifndef MESS
"History not available",
#else
"System Info not available",
#endif

/* special characters */
"\x11",
"\x10",
"\x18",
"\x19",
"\x1a",
"\x1b",

/* known problems */
#ifndef MESS
"There are known problems with this game:",
#else
"There are known problems with this system",
#endif
"The colors aren't 100% accurate.",
"The colors are completely wrong.",
"The video emulation isn't 100% accurate.",
"The sound emulation isn't 100% accurate.",
"The game lacks sound.",
"Screen flipping in cocktail mode is not supported.",
#ifndef MESS
"THIS GAME DOESN'T WORK PROPERLY",
#else
"THIS SYSTEM DOESN'T WORK PROPERLY",
#endif
"The game has protection which isn't fully emulated.",
"There are working clones of this game. They are:",
"Type OK to continue",
#ifdef MESS
"The emulated system is a computer: ",
"The keyboard emulation may not be 100% accurate.",
#endif

/* main menu */
"Input (general)",
"Dip Switches",
"Analog Controls",
"Calibrate Joysticks",
"Bookkeeping Info",
#ifndef MESS
"Input (this game)",
"Game Information",
"Game History",
"Reset Game",
"Return to Game",
#else
"Input (this machine)",
"Machine Information",
"Machine Usage & History",
"Reset Machine",
"Return to Machine",
"Image Information",
"File Manager",
"Tape Control",
#endif
"Cheat",
"Memory Card",

/* input */
"Key/Joy Speed",
"Reverse",
"Sensitivity",

/* stats */
"Tickets dispensed",
"Coin",
"(locked)",

/* memory card */
"Load Memory Card",
"Eject Memory Card",
"Create Memory Card",
"Call Memory Card Manager (RESET)",
"Failed To Load Memory Card!",
"Load OK!",
"Memory Card Ejected!",
"Memory Card Created OK!",
"Failed To Create Memory Card!",
"(It already exists ?)",
"DAMN!! Internal Error!",

/* cheats */
"Enable/Disable a Cheat",
"Add/Edit a Cheat",
"Start a New Cheat Search",
"Continue Search",
"View Last Results",
"Restore Previous Results",
"Configure Watchpoints",
"General Help",
"Options",
"Reload Database",
"Watchpoint",
"Disabled",
"Cheats",
"Watchpoints",
"More Info",
"More Info for",
"Name",
"Description",
"Activation Key",
"Code",
"Max",
"Set",
"Cheat conflict found: disabling",
"Help not available yet",

/* watchpoints */
"Number of bytes",
"Display Type",
"Label Type",
"Label",
"X Position",
"Y Position",
"Watch",

"Hex",
"Decimal",
"Binary",

/* searching */
"Lives (or another value)",
"Timers (+/- some value)",
"Energy (greater or less)",
"Status (bits or flags)",
"Slow But Sure (changed or not)",
"Default Search Speed",
"Fast",
"Medium",
"Slow",
"Very Slow",
"All Memory",
"Select Memory Areas",
"Matches found",
"Search not initialized",
"No previous values saved",
"Previous values already restored",
"Restoration successful",
"Select a value",
"All values saved",
"One match found - added to list",

NULL
};

int uistring_init (void *langfile)
{
/*
TODO: This routine needs to do several things:
- load an external font if needed
- determine the number of characters in the font
- deal with multibyte languages

*/

int i;
char curline[255];
char section[255] = "\0";
char *ptr;

/* Clear out any default strings */
for (i = 0; i <= UI_last_entry; i ++)
{
trans_text[i] = NULL;
}

memset(&lang, 0, sizeof(lang));

if (!langfile) return 0;

while (osd_fgets (curline, 255, langfile) != NULL)
{
/* Ignore commented and blank lines */
if (curline[0] == ';') continue;
if (curline[0] == '\n') continue;

if (curline[0] == '[')
{
ptr = strtok (&curline[1], "]");
/* Found a section, indicate as such */
strcpy (section, ptr);

/* Skip to the next line */
continue;
}

/* Parse the LangInfo section */
if (strcmp (section, "LangInfo") == 0)
{
ptr = strtok (curline, "=");
if (strcmp (ptr, "Version") == 0)
{
ptr = strtok (NULL, "\n");
sscanf (ptr, "%d", &lang.version);
}
else if (strcmp (ptr, "Language") == 0)
{
ptr = strtok (NULL, "\n");
strcpy (lang.langname, ptr);
}
else if (strcmp (ptr, "Author") == 0)
{
ptr = strtok (NULL, "\n");
strcpy (lang.author, ptr);
}
else if (strcmp (ptr, "Font") == 0)
{
ptr = strtok (NULL, "\n");
strcpy (lang.fontname, ptr);
}
}

/* Parse the Strings section */
if (strcmp (section, "Strings") == 0)
{
/* Get all text up to the first line ending */
ptr = strtok (curline, "\n");

/* Find a matching default string */
for (i = 0; i < UI_last_entry; i ++)
{
if (strcmp (curline, default_text[i]) == 0)
{
char transline[255];

/* Found a match, read next line as the translation */
osd_fgets (transline, 255, langfile);

/* Get all text up to the first line ending */
ptr = strtok (transline, "\n");

/* Allocate storage and copy the string */
trans_text[i] = malloc (strlen(transline)+1);
strcpy (trans_text[i], transline);

/* Done searching */
break;
}
}
}
}

/* indicate success */
return 0;
}

void uistring_shutdown (void)
{
int i;

/* Deallocate storage for the strings */
for (i = 0; i <= UI_last_entry; i ++)
{
if (trans_text[i])
{
free (trans_text[i]);
trans_text[i] = NULL;
}
}
}

const char * ui_getstring (int string_num)
{
/* Try to use the language file strings first */
if (trans_text[string_num] != NULL)
return trans_text[string_num];
else
/* That failed, use the default strings */
return default_text[string_num];
}
No tengo ni idea de C ni de programacion pero por lo que se ve está relacionado con los archivos "driver.h" y "ui_text.h".
No se si seria aventurarme mucho pero podrian ir los tiros por cambiar las funciones "#endif" por "#elif". Que me corrijan los que entiendan del tema.
   
Old 07-jun-2007, 17:07   #19
RiCCo
Marciano
 
Avatar de RiCCo
No se te ocurra hacer eso, endif tiene que ser asi, si no no lo entendera y creo que no era ese archivo, al menos en el mameplus. Simplemente donde decia que se mostrara los mensajes de alerta, se le colocaba una exclamacion para invertir la orden.

Que version estas editando??, para buscar la misma y si lo encuentro te lo digo.

EDITO
*******

Creo que era el archivo mame.c pero no recuerdo la linea. Se que habia que colocarle una exclamacion pero no lo recuerdo bien. He intentado buscar el post inicial pero no doy con el, no se si estaba en el foro antiguo o en el nuevo

Editado por RiCCo en 07-jun-2007 a las 17:21.
   
Old 07-jun-2007, 18:00   #20
PeterPunk
Editor Marciano
Quote:
Originalmente publicado por RiCCo Ver post
Creo que era el archivo mame.c pero no recuerdo la linea. Se que habia que colocarle una exclamacion pero no lo recuerdo bien. He intentado buscar el post inicial pero no doy con el, no se si estaba en el foro antiguo o en el nuevo
Era en el antiguo pero se borró por que en marcianitos se decidió respetar las directrices del equipo Mame.

Quote:
Originalmente publicado por alvarillo88 Ver post
Bueno pues creo que he dado con el archivo del mensaje.
Digo creo porque es el unico archivo en el que vienen los mensajes de aviso. El archivo en cuestion es el que pertenece al codigo fuente del MAME 0.60 descargado de la web oficial de MAME.

Nombre de archivo: ui_text.c
Contenido del archivo:


No tengo ni idea de C ni de programacion pero por lo que se ve está relacionado con los archivos "driver.h" y "ui_text.h".
No se si seria aventurarme mucho pero podrian ir los tiros por cambiar las funciones "#endif" por "#elif". Que me corrijan los que entiendan del tema.
Ese archivo no es, ya que no contiene el código que hace que se muestren, sino sólo el texto. Vamos, que este archivo sería el que tendrías que editar si lo quisieses traducir, pero no evitará que se muestren las pantallas.