Vai al contenuto

SHENMUE - Traduzione in ItalianoScambio Info tecniche inside....


  • Non puoi aprire una nuova discussione
  • Effettua l'accesso per rispondere
Questa discussione ha avuto 328 risposte

#31
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445
grande Cristian, so che ce la puoi fare :lol: ! (se hai bisogno di qualche altro file da spacchettare chiedi pure, ne ho con qualsiasi estensione... [ti avevo detto, vero, che i pvr sono in vari tipi di files, non solo in quelli con estensione *.spr? tanto si basano tutti sulle stesse regole, quindi non c'è problema)

Intanto la traduzione procede senza troppi intoppi (anche se qualche problema lo sto incontrando pure io).

Domandona: come tradurreste Capsule Toy Machine? E' un giorno che ci sono bloccato (intanto ho tradotto quasi tutti i messaggi di sistema, non sono stato con le mani in mano... B) ). Qualche suggerimento?

#32
Espinado

Espinado
  • Strong Eye Fan

  • StellettaStellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 548
complimenti per l'idea e buona fortuna per l'opera (sarà molto lunga..) ma mi pongo questo problema: come faremo a friurne? perché purtroppo mi pare di capire che chi ha solamente il gd-rom originale sarà tagliato fuori, visto che è necessaria una versione "patchabile".. :( :(

#33
yots

yots
  • o.o

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 38808
capsule toy lo lascerei invariato.... come per action figure è un nome che gia viene usato senza problemi imho

è il machine che bho.... nn saprei....
dsitributore, macchinetta... l aggeggio dei capsule toys... bhoooo

#34
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445
per espinado: purtroppo su questo punto non ho nessun potere :( ... chi vorrà fruirne dovrà trovarsi una copia del gioco da patchare e rimasterizzare (non dovrebbe essere neanche troppo difficile, neanch'io l'avevo e me l'ha procurata voria, che ringrazio ancora ;) )

per yot: penso che metterò distributore di capsule toys :rolle:

#35
Cristian

Cristian
  • Old Consoles Lives into DC!

  • StellettaStellettaStellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 2195
Ci siamo, sono riuscito a trattare i caratteri speciali in modo corretto.

Per scopo didattico posto la nuova versione 0.2 dell'utility spr2pvr.c da lanciare con la modalità già descritta.

Il codice è ancora da perfezionare devo presentarlo in una veste più leggibile, questo sarà fatto con la prossima versione (spero entro la prossima settimana).

Potete compilarlo su qualsiasi ambiente perchè l'ho scritto in ANSI C.

Min$t se hai un pò di pazienza ti fornirò l'eseguibile compilato per WinZoZ$, il mio intento è quello di fornirti anche una GUI grafica che ti permette di utilizzare spr2pvr senza necessariamente utilizzare la SHELL del DOS..

Buon "Skapocciamento" sul codice (consigliato SOLO agli interessati).. B)


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/* valori di ritorno dalle funzioni */
# define AD_OK 0
# define AD_ABORT -1
# define AD_WARNING -2

/* define per debug */
FILE *dFile;
char sDebFile[64];
char sDebMsg[1024];

/* define Header e Tail file di input */
# define AD_TEXN "TE"
# define AD_GBIX "GB"
# define AD_PVRT "PV"
# define DIM_MAX_REC 512

void SetTraceLog(char *sTipoMon)
{
strcpy(sDebFile,sTipoMon);
dFile = fopen(sDebFile, "w");
fprintf(dFile,"\nspr2pvr Rel.0.2 Cristian 2003\n --INIZIO ELABORAZIONE\n");
fflush(dFile);
fclose(dFile);
}

void TraceLog(char *sMsg)
{
dFile = fopen(sDebFile, "a+");
fprintf(dFile, "%s\n",sMsg);
fflush(dFile);
fclose(dFile);
}

int ElaboraSpool(char *sFl)
{
char *cEndFile, sRecord[255+1];
char sFlOut[80+1],sRecTmp[255+1];
char sAppo[1+1];
int nFilePvr=0,iFlg=0,c;

FILE *pFl;
FILE *pFlOut;

if ((pFl = fopen(sFl, "r")) == NULL)
{
sprintf(sDebMsg,"Fallita open file:%s",sFl);
TraceLog(sDebMsg);
return(AD_ABORT);
}

/* Inizializza sRecTmp ed sAppo */
sprintf(sAppo,"\0");
sprintf(sRecTmp,"\0");

while ((c=getc(pFl)) != EOF)
{
sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

c=fgetc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

if (!strcmp(sRecTmp,AD_TEXN))
{
TraceLog("!!!!Trovato Header TEXN");
TraceLog(sRecTmp);
}

if (!strcmp(sRecTmp,AD_PVRT))
{
c=getc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);
c=getc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);
sprintf(sDebMsg,"-TEST PVRT, sRecTmp='%s'",sRecTmp);
TraceLog(sDebMsg);

nFilePvr=nFilePvr+1;
sprintf(sFlOut,"%d.pvr",nFilePvr);

if ((pFlOut = fopen(sFlOut, "w")) == NULL)
{
sprintf(sDebMsg,"Fallita open file:%s",sFlOut);
TraceLog(sDebMsg);
return(AD_ABORT);
}
else
{
sprintf(sDebMsg,"Apertura file:%s",sFlOut);
TraceLog(sDebMsg);
}

/* Inzio spool file .pvr fino all'Header GBIX */
/* Prendo il carattere successivo a PVRT e verifico l'header GBIX */
while ((c=getc(pFl))!=EOF && iFlg==0)
{
sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

c=getc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

/********** DEBUG
sprintf(sDebMsg,"-Prima del test TEXN, sRecTmp: %s",sRecTmp);
TraceLog(sDebMsg);
***************/
if (!strcmp(sRecTmp,AD_TEXN))
{
sprintf(sDebMsg,"Trovata Tail TEXN, sRecTmp: %s",sRecTmp);
TraceLog(sDebMsg);
ungetc(c,pFl);
fclose(pFlOut); /* Chiusura i-esimo file .pvr */
sprintf(sDebMsg,"Chiusura del file:%s",sFlOut);
TraceLog(sDebMsg);
iFlg=1; /* Uscita dal ciclo while */
}
ungetc(c,pFl);
sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);
putc(c, pFlOut);
}
}
else ungetc(c,pFl);
iFlg=0; /* Reinizializza Flg per test nuovo file */
}

fclose(pFl);
sprintf(sDebMsg,"File .pvr estrapolati:%d\n",nFilePvr);
TraceLog(sDebMsg);

return(AD_OK);
}

/* Dsc2PVR.c Rel.0.2 25/07/2003 */
/* Il programma riceve in input il file .spr e restituisce N */
/* singoli files .pvr contenenti rispettivamente l'info del file di origine */
/* delimitata dall'Header TEXN fino al sucessivo Header TEXN */
/* PS:I bytes compresi tra TEXN e GBIX non saranno presi in considerazione */
/* ai fini del contenuto del singolo file .pvr */
/* NB:Sintassi spr2pvr file.spr */

main(int argc, char *argv[])
{
char sFileIn[32+1];
char sFl[80+1];

strcpy(sFileIn,argv[1]);

/* Prepara il file di log */
SetTraceLog("spr2pvr.log");

sprintf(sFl,"%s",sFileIn);

if (ElaboraSpool(sFl) != AD_OK)
{
TraceLog("ERRORE in ElaboraSpool");
exit(1);
}
else
{
TraceLog("OK");
}
TraceLog("END");
exit(0);
}

Alla prossima release!!

DC 4EVER!! :devil:


#36
Ally

Ally
  • HEY! LISTEN!

  • StellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 5516
[OT] ma per sapere le cose che sapate (programmazione ecc..) siete andati in una scuola di informatica o roba del genere oppure è solo passione e siete degli autodidatti?
avevo provato anch'io ad imparare a tradurre roms (scaricando tutto quello che c'era nel sito dei SadNES) ma non ci sono mai riuscito, complice anche il mio pc che non mi fa partie i programmi

#37
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445

Min$t se hai un pò di pazienza ti fornirò l'eseguibile compilato per WinZoZ$, il mio intento è quello di fornirti anche una GUI grafica che ti permette di utilizzare spr2pvr senza necessariamente utilizzare la SHELL del DOS..


Grazie Cristian, ma non vorrei farti fare salti mortali, in fondo a me la shell dos va benissimo (se ci fossero pure i programmi che mi servono per tradurre per linux, probabilmente farei il tutto li...).

[OT] ma per sapere le cose che sapate (programmazione ecc..) siete andati in una scuola di informatica o roba del genere oppure è solo passione e siete degli autodidatti?
avevo provato anch'io ad imparare a tradurre roms (scaricando tutto quello che c'era nel sito dei SadNES) ma non ci sono mai riuscito, complice anche il mio pc che non mi fa partie i programmi


Tralasciando le enormi differenze conoscitive che intercorrono tra me e Cristian (la sua è programmazione vera e propria, la mia è una sufficiente conoscenza di come sono trattati i dati nei giochi e di come modificarli tramite semplici hexeditor) per imparare qualsiasi delle due cose (almeno a mio parere, se Cristian vuole dissentare, dissenti pure... :lol: ) è necessaria tanta buona volontà, pazienza e soprattutto impegno costante (non è possibile credere di poter imparare linguaggi come il c o il c++ in qualche settimana [anzi, i più saggi diranno che non se ne sa mai abbastanza]). io personalmente per la maggior parte sono autodidatta, il resto l'ho imparato con guide trovate su internet.
ps: per iniziare a capire qualcosa sulle traduzioni la guida dei sadnes è più che ottima (in italia hanno iniziato più o meno tutti con questa, me compreso...)

#38
voRia

voRia
  • Little Eye Fan

  • Stelletta
  • Gruppo: Utente
  • Messaggi: : 152
Scusate se entro nella discussione solo adesso, ma prima di oggi ho avuto pochissimo tempo per stare davanti al pc :P


Per quanto riguarda una mano per la traduzione, io mi rendo disponibile al 100% delle mie possibilità...
Per la traduzione dei nomi, come avevo già detto in shenmueye, secondo me devono restare in lingua originale, come anche i nomi delle mosse :)

Purtroppo per quanto riguarda la parte "tecnica" non ho ancora la conoscenza necessaria per darvi una mano (e non ho mai tradotto nessuna rom, quindi dovrei iniziare da 0...), ma se avrò modo di aiutarvi (anche se non penso capiterà mai, date le mie conoscenze piuttosto scarse) lo farò senza pensarci due volte :)

#39
Cristian

Cristian
  • Old Consoles Lives into DC!

  • StellettaStellettaStellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 2195
Posto l'ultima versione del convertitore spr2pvr che ho sviluppato (Rel. 0.3).

Questa release funziona PERFETTAMENTE su macchina Unix/Linux (testato con successo).

Per compilarlo: gcc -o spr2pvr spr2pvr.c

Per eseguirlo: spr2pvr file_name.spr

Il codice da problemi sotto WinZoZ$ (maledetto sistema operativo) funzionando non correttamente, se qualcuno mi vuole aiutare a capire il perchè ben venga (l'ho compilato con Visual Studio 6)!!



#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/* valori di ritorno dalle funzioni */
# define AD_OK 0
# define AD_ABORT -1
# define AD_WARNING -2

/* define per debug */
FILE *dFile;
char sDebFile[64];
char sDebMsg[1024];

/* define Header e Tail file di input */
# define AD_TEXN "TE"
# define AD_GBIX "GB"
# define AD_PVRT "PV"
# define DIM_MAX_REC 512

void SetTraceLog(char *sTipoMon)
{
strcpy(sDebFile,sTipoMon);
dFile = fopen(sDebFile, "w");
fprintf(dFile,"\nspr2pvr Rel.0.3 By Cristian 2003\n --INIZIO ELABORAZIONE\n");
fflush(dFile);
fclose(dFile);
}

void TraceLog(char *sMsg)
{
dFile = fopen(sDebFile, "a+");
fprintf(dFile, "%s\n",sMsg);
fflush(dFile);
fclose(dFile);
}

int ElaboraSpool(char *sFl)
{
char *cEndFile, sRecord[255+1];
char sFlOut[80+1],sRecTmp[255+1];
char sAppo[1+1];
int nFilePvr=0,iFlg=0,c;

FILE *pFl;
FILE *pFlOut;

if ((pFl = fopen(sFl, "r")) == NULL)
{
sprintf(sDebMsg,"Fallita open file:%s",sFl);
TraceLog(sDebMsg);
return(AD_ABORT);
}

/* Inizializza sRecTmp ed sAppo */
sprintf(sAppo,"\0");
sprintf(sRecTmp,"\0");

while ((c=getc(pFl)) != EOF)
{
sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

c=getc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

if (!strcmp(sRecTmp,AD_GBIX))
{
ungetc(c,pFl);

nFilePvr=nFilePvr+1;
sprintf(sFlOut,"%d.pvr",nFilePvr);

if ((pFlOut = fopen(sFlOut, "w")) == NULL)
{
sprintf(sDebMsg,"Fallita open file:%s",sFlOut);
TraceLog(sDebMsg);
return(AD_ABORT);
}
else
{
sprintf(sDebMsg,"Apertura file:%s",sFlOut);
TraceLog(sDebMsg);
}

/* Completa carattere Header GBIX */
fputs("G", pFlOut);

/* Inzio spool file .pvr da GBIX fino all'Header TEXN escluso */
while ((c=getc(pFl))!=EOF && iFlg==0)
{
sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

if (!strcmp(sRecTmp,"T"))
{
c=getc(pFl);
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);

if (!strcmp(sRecTmp,AD_TEXN))
{
sprintf(sDebMsg,"Trovata Tail TEXN, sRecTmp: %s",sRecTmp);
TraceLog(sDebMsg);
fclose(pFlOut); /* Chiusura i-esimo file .pvr */
sprintf(sDebMsg,"Chiusura del file:%s",sFlOut);
TraceLog(sDebMsg);
iFlg=1; /* Uscita dal ciclo while */
}
}

sprintf(sRecTmp,"\0");
sprintf(sAppo,"%c",c);
strcat(sRecTmp,sAppo);
putc(c, pFlOut);
}
}
else ungetc(c,pFl);
iFlg=0; /* Reinizializza Flg per test nuovo file */
}

fclose(pFl);
/* fclose(pFlOut);*/

sprintf(sDebMsg,"File .pvr estrapolati:%d\n",nFilePvr);
TraceLog(sDebMsg);

return(AD_OK);
}

/* Dsc2PVR.c Rel.0.3 04/08/2003 */
/* Il programma riceve in input il file .spr e restituisce N */
/* singoli files .pvr contenenti rispettivamente l'info del file di origine */
/* delimitata dall'Header GBIX fino al sucessivo Header TEXN */
/* PS:I bytes compresi tra TEXN e GBIX non saranno presi in considerazione */
/* ai fini del contenuto del singolo file .pvr */
/* NB:Sintassi spr2pvr file.spr */

main(int argc, char *argv[])
{
char sFileIn[32+1];
char sFl[80+1];

strcpy(sFileIn,argv[1]);

/* Prepara il file di log */
SetTraceLog("spr2pvr.log");


sprintf(sFl,"%s",sFileIn);

if (ElaboraSpool(sFl) != AD_OK)
{
TraceLog("ERRORE in ElaboraSpool");
exit(1);
}
else
{
TraceLog("OK");
}
TraceLog("END");
exit(0);
}


Se non vedete il codice indentato non è colpa mia ma del text edir del Forum, chiedetemi il file con il codice e ve lo invierò corretto (compreso eseguibile).

Min$t il tool è tuo, fami sapere se hai problemi e sarò lieto di aiutarti!! :devil:

#40
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445
più tardi lo provo, grazie mille! (peccato che dovrò cambiare continuamente tra win e linux, su linux [stranissimo di solito c'è tutto e anche di più, specie per questo genere di cose smanettose] i programmi che mi servono non ci sono...)

#41
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445
TEST ESTRATTORE DI PVR 0.3:
Ho compilato il sorgente con linux ed effettivamente estrae i pvr (anche da archivi molto complessi contenenti decine di pvr), peccato che li estragga male...:
spiego il problema: i pvr come detto sono composti da identificatore TEXN, header, stringa GBIX e stringa PVRT.
Per estrarre un file bisogna eliminare tutto quello sopra GBIX, cercare l'identificatore successivo eliminare tutto quello trovato (dal secondo identificatore [anch'esso da eliminare] in giù).
Il programma fa tutto ciò, ma al momento dell'estrazione modifica la stringa PVRT in PVR rendendo quindi il file inutilizzabile. A riprova di ciò ho riaggiunto manualmente la "T" mancante e i file hanno ripreso a funzionare (il resto del file viene estratto correttamente, come prova ho fatto un fc /b da dos tra un file estratto dall'estrattore e un file estratto manualmente).
L'ho provato più volte e a meno che non sia rincoglionito del tutto l'errore dovrebbe essere reale. Non ho potuto ancora provare con un compilatore windows, ma non dovrebbe cambiare. Non sono in grado di localizzare l'errore, quindi passo il tutto a te Cristian... :P

Ps: potresti modificare l'output in modo che invece di 1,2,3,4.pvr restituisca nomefile_1,2,3,4.pvr?

#42
Cristian

Cristian
  • Old Consoles Lives into DC!

  • StellettaStellettaStellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 2195

TEST ESTRATTORE DI PVR 0.3:
Ho compilato il sorgente con linux ed effettivamente estrae i pvr (anche da archivi molto complessi contenenti decine di pvr), peccato che li estragga male...:
spiego il problema: i pvr come detto sono composti da identificatore TEXN, header, stringa GBIX e stringa PVRT.
Per estrarre un file bisogna eliminare tutto quello sopra GBIX, cercare l'identificatore successivo eliminare tutto quello trovato (dal secondo identificatore [anch'esso da eliminare] in giù).
Il programma fa tutto ciò, ma al momento dell'estrazione modifica la stringa PVRT in PVR rendendo quindi il file inutilizzabile. A riprova di ciò ho riaggiunto manualmente la "T" mancante e i file hanno ripreso a funzionare (il resto del file viene estratto correttamente, come prova ho fatto un fc /b da dos tra un file estratto dall'estrattore e un file estratto manualmente).
L'ho provato più volte e a meno che non sia rincoglionito del tutto l'errore dovrebbe essere reale. Non ho potuto ancora provare con un compilatore windows, ma non dovrebbe cambiare. Non sono in grado di localizzare l'errore, quindi passo il tutto a te Cristian... :P

Ps: potresti modificare l'output in modo che invece di 1,2,3,4.pvr restituisca nomefile_1,2,3,4.pvr?

Hai agione Min$t,
questa cosa mi è sfuggita... :sbonk: Eppure quando andavo a convertire i file.pvr in .bmp con l'estrattore il tutto mi funzionava benone (tralasciando la lettura del contenuto del file).....Bohhh!??! :(

Cmq non c'è problema, vado ad apportare le modifiche al codice e la "T" comparirà di nuovo....


PS:No problem per la nuova dicitura dei files di Output (nomefile_1,2,3,4.pvr)! ;) Devo dire chequsta cosa mi stà divertendo molto....Finalmente un uso delle macchine che serve a qualcosa!! :lol:

Come trovo un secondo di tempo mi metto al lavoro ed il tutto sarà pronto per la Rel.0.4....A Dopo! :gfx:

#43
Min$t

Min$t
  • Normal Eye Fan

  • StellettaStelletta
  • Gruppo: Utente
  • Messaggi: : 445
sei sempre il migliore! ;)

#44
andyrony

andyrony
  • I'm a Fighter

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 16883
Non vedo l'ora di provare il vostro lavoro :D

#45
Tano

Tano
  • www.studioleaves.com www.cowardknight.com

  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • Gruppo: Utente Pro
  • Messaggi: : 27242
Sono dei vostri, datemi un pò di tempo per leggere tutte le Reply.. Tempo permettendo vi do una mano, conosco il C abbastanza bene, e imparo in fretta. Datemi qualche dritta e avrete un nuovo membro in barca.


T





Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi

Logo