Romhacking.it Forums

Traduzioni => Rom Hacking => Discussione aperta da: RyuH88 il Ottobre 04, 2014, 14:32:21

Titolo: Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: RyuH88 il Ottobre 04, 2014, 14:32:21
Ciao ragazzi. Apro questo thread per esporre alcuni miei dubbi. Sono letteralmente anni che saltuariamente mi rimetto a tradurre qualche rom per poi scontrarmi sempre con lo stesso problema:i puntatori. Ora, premesso che di guide ne ho lette tantissime su come calcolare l'offset ecc..non ne ho trovato manco mezza che spiegasse COME cambiare i puntatori. A quanto ho capito in genere si tratta di una coppia di byte da modificare. Ma dove si trovano?O.o vi posto uno screen per capirci:

(http://i59.tinypic.com/se7foh.jpg)

le lettere "àù" che ho evidenziato rappresentano i byte che servono a "chiudere" determinate frasi(il gioco in questione è pokemon trading card game 2), e in particolare a far "terminare" le battute di un determinato personaggio o il testo d'una determinata carta. Ora mi chiedo: in questo marasma son presenti i puntatori?sono dei byte qui visibili?non dovrebbero trovarsi subito dopo(o prima)il punto evidenziato?ho bisogno essenzialmente che qualcuno mi aiuti a cambiare un puntatore cosi da poterlo(finalmente) capire. Ho capito il "concetto" di base ma nient'altro, insomma..
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 04, 2014, 14:57:09
No, solitamente i puntatori non sono inglobati nei testi (anche se esistono alcuni casi in cui questo accade). Solitamente, i testi di un gioco sono memorizzati in due parti:
- I testi, e
- La tabella dei puntatori

Quello che tu stai mostrando è la sezionedei testi.
La tabella dei puntatori si trova solitamente subito prima (o subito dopo) i testi, e solitamente puoi riconoscerla dal fatto che essa è non è altro che una sequenza di valori di lunghezza fissa che tende a crescere.

Ad esempio, su PSX, sono molto comuni le tabelle di puntatori lunghi 2 o 4 byte ciascuno.
Un esempio potrebbe essere
0500 1000 2300 4400 4600 5B00 2001 2401 ...
Questi puntatori sono lunghi due byte ciascuno, e sono invertiti. Il motivo per cui i puntatori sono invertiti è perché la console (PSX ad esempio) ha un processore little endian, che ti basti sapere trova più comodo leggere i dati in questa forma, ma all'atto pratico, questi puntatori, non sono altro che i seguenti numeri.

0005 0010 0023 0044 0046 005B 0120 0124 ...

(altre console, con un processore big endian invece, memorizzano i puntatori in forma non-invertita).

questi numeri rappresentano l' "indirizzo" in cui inizia ogni frase. Ad esempio, 0005 è l'indirizzo della prima frase, ecc.

I puntatori però, sono solitamente di due tipi (più un altro):
- Assoluti
- Relativi
- ....

quando un puntatore è assoluto, vuol dire che il suo valore rappresenta direttamente l'indirizzo della frase. Solitamente, in questi casi (per le console non troppo datate), tali puntatori sono lunghi 3-4 byte, visto che sono necessari indirizzi abbastanza lunghi per puntare ad una frase dentro un grande file.

Quelli relativi invece, sono puntatori il cui valore non rappresenta un indirizzo dentro il file/ROM, ma lo scarto tra una posizione prefissata, e l'inizio della frase. Solitamnte, questa posizione prefissata è l'indirizzo in cui inizia la tabella dei puntatori.

Quindi, assumendo che la tabella che ti ho mostrato sopra, si trovi all'indirizzo 0x443C, e che questi puntatori siano relativi,
allora 0x0005 + 0x443C = 0x4441 rappresenta l'indirizzo esatto in cui si trova la prima frase.

Per ora mi fermo, spero di essere riuscito a darti l'idea.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 04, 2014, 15:03:54
Innanzitutto grazie =) in secondo luogo..finalmente ho capito qualcosa in piu!Quindi il primo passo ora è cercare la tabella dei puntatori..ora ci do un'occhiata e vedo se riesco ad smanettarci un pochino con successo!=)

EDIT:per ora ho trovato una MAREA di byte 00...spazio vuoto che posso utilizzare, se non sbaglio.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 04, 2014, 15:38:29
Ok mi scuso per il doppio reply ma..non riesco proprio a riconoscere la tabella dei puntatori..O.o di sicuro non è DOPO il testo perchè da li parte solo un'infinita sfilza di 00 fino alla fine della rom..quindi sarà prima. Ma come la individuo?(sto rileggendo la tua spiegazione per cercare di capirla al 100%) ho provato a prendere come esempio una parola scritta all inizio della mole di spazio vuoto e a relazionarla con una frase ben precisa del gioco. In questo caso ho preso le ultime 4 cifre dell'offset segnato all inizio(nel mio caso 0001)e ho capito da li che il puntatore dovrebbe essere 0005..tuttavia sono una marea!O.o quindi non ho capito come trovare quello che voglio effettivamente cambiare..(e nn ho capito nemmeno se ho fatto bene il processo ma, apparentemente, la rom non sembra risentirne..forse perchè devo ancora trovare il punto effettivamente "cambiato"). Spero di essermi spiegato bene, sto nuotando nella confusione xd
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 04, 2014, 16:12:16
Se il tuo gioco è per gameboy, è possibil che i tuoi puntatori siano del terzo tipo: Indirizzi virtuali.

Un puntatore è un indirizzo virtuale se il suo valore rappresenta un indirizzo in RAM/ROM secondo il formato del processore. Ad esempio, le vecchie sonsole, come NES, SNES, GB ecc. accedono ai dati in ROM attraverso un sistema di Bank Switch. Gli indirizzi virtuali della PSX invece sono indirizzi in RAM con un 0x80 a precedere quell'indirizzo.

Nel tuo caso, ti consiglio di leggere la guida su come calcolare gli indirizzi virtuali per il gameboy: http://romhacking.it/upload/docs/%5B14%5Dguida_puntatori_gameboy.htm (http://romhacking.it/upload/docs/%5B14%5Dguida_puntatori_gameboy.htm).

In buona sostanza, la guida spiega come calcolare, a partire dall'indirizzo nella ROM di una frase, l'indirizzo nel formato Game Boy, cioè Bank/Indirizzo. Una volta convertito in quel formato, si tratta di cercare questo puntatore nel file della ROM, e verificare che questo si trovi dentro una plausibile tabella dei puntatori.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 04, 2014, 16:27:09
è una guida diversa da quella che ho usato ma il succo è lo stesso. Prendo il valore evidenziato nell'immagine(0010), aggiungo 4000 e inverto(4010->1040..poi uso la "hex search" e cerco quel valore..ma me ne trova centinaia O.o dubito di dover cambiarli tutti finchè non trovo il puntatore giusto(ammesso sia questo il "processo" giusto).
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 04, 2014, 16:29:17
Infatti, un modo per capire se ti trovi sulal vera tabella, è calcolare il puntatore per la prima e la seconda frase ad esempio, e cercare tutti e due i puntatori insieme.

Assumi che il puntatore della prima frase viene 4322, e quello delal frase successiva è 4329. Allora cerca la sequence 22432943. Questo in virtù del fatto che solitamente i puntatori sono tutti in fila, in ordine crescente. Dovresti ridurre lo spazio di ricerca di un po' così.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 04, 2014, 16:39:10
mi sono dimenticato di uploadare l'immagine a cui mi riferivo..-.- che idiota..cmq...Ho provato...in questo caso il puntatore della primissima frase riportata nel testo dovrebbe essere "0072"e per la seconda "2072"..ma cosi non trova nulla =/ ti metto qui l'immagine..ti secca calcolare tu questi puntatori?cosi capiamo dove ho sbagliato.

(http://i62.tinypic.com/67l0zb.jpg)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 04, 2014, 20:27:36
Ma stai lavorando su una rom già hackata? Perché da quel che vedo, la tua rom supera il megabyte.
Ammetto che non sono un esperto di hack GB, però ho il presentimento che il tuo 0006 non sia il terminatore di stringa, ma solo 00 lo è. Quindi il tuo puntatore non è F200, ma F1FF.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 04, 2014, 20:38:23
Altra cosa, assicurati che la ROM sia senza Header, altrimenti gli indirizzi vengono tutti sballati.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 04, 2014, 23:47:15
In effetti si, è "nata" dalla patch inglese d'un altro traduttore. Non ho pensato di menzionare la cosa =/ sorry. Comunque..emh..come vedo se è priva di header?
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 05, 2014, 17:56:41
ps:fra l'altro non ho capito perchè dovrebbe diventare "F1FF"...o.o nn si vede neanche nell'immagine(o almeno non lo trovo). Che calcolo hai fatto?=) comunque a me pare che sia 0006 perchè usa solo quelli per terminare la "frase"...se ne metto uno solo succede un casino xd
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 05, 2014, 20:36:31
Il calcolo è semplicissimo. Semplicemente, l'inizio della frase è spostato indietro di un byte. quindi se l'indirizzo di prima era f200, il numero subito prima questo, in esadecimale è 1fff. Basta usare la calcolatrice di Windows. A me sembra invece che 00 sia l'unico terminatore, il fatto che tu ti ritrovi casini, non vuol dire che sia quello il terminatore. Dovrei provare di persona sulla ROM.

Mi mandi un PM?
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 05, 2014, 21:43:58
mandato
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 11, 2014, 00:04:28
Credo d'aver capito cosa non va. è presente l'header e ottengo valori sballati, per questo cercando una sequence non trovo nulla =/ come devo agire? ho fatto dei test su un altra rom, evidentemente senza header, e son riuscito a cambiare i puntatori. Quindi l'unica spiegazione è che i valori dei puntatori siano sballati dall header =/

ho comunque provato quel che mi hai detto..c'è qualcosa di strano. Se elimino i byte 06 certe volte non succede nulla. Altre volte sparisce il testo in game. Boh.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 11, 2014, 17:26:01
Scusa, sono stato un po' impegnato. Comunque, ti basta rimuovere l'header con un qualunque tool per farlo.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 11, 2014, 17:36:20
No Phoenix tranquillo, ho atteso con pazienza, capisco che non si può esser sempre attaccati qui =) anzi grazie per esserci ancora!

Si?che tool ad esempio?

(http://i62.tinypic.com/xx6pz.png)

Può darti qualche informazione in piu?(con questo programma non mi permette di rimuovere l'header e manco di aggiungerlo)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 14, 2014, 12:12:02
Se vuoi, puoi anche non toglierlo l'header, ma semplicemente, dovrai sottrarre la dimensione dell'header agli offset ,prima di convertirli in puntatori.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 14, 2014, 12:17:13
Si ma il problema è che non ho idea di quanto sia grande l'header(ho trovato guide in merito ma non mi hanno aiutato). L'ideale invece sarebbe levarlo cosi vado sul sicuro =/ non esiste una soluzione?un link a un tool, o qualcosa?
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Phoenix il Ottobre 14, 2014, 12:23:04
Io comunque noto che il tool dice esplicitamente che non è stato trovato alcun header nella rom.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 14, 2014, 12:26:19
Non capisco se è perchè non esiste gia alcun header(nel qual caso non so piu dove sbattere la testa)o se il programma ha sbagliato.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 17, 2014, 14:08:57
Citazione di: RyuH88 il Ottobre 14, 2014, 12:26:19
Non capisco se è perchè non esiste gia alcun header(nel qual caso non so piu dove sbattere la testa)o se il programma ha sbagliato.

Ciao, ho dato un occhiata alla rom, il problema non è l'header, ma il metodo del calcolo dei puntatori che è diverso da quello consueto.
In pratica come hai già notato il valore "06" indica l'inizio di un periodo di testo e il valore "00" ne indica la fine, per trovare un puntatore devi sottrarre l'offset iniziale dell'indice dei puntatori con quello del blocco di testo che inizia con 06. Per farti un esempio nella rom alla locazione "200456" inizia un blocco di testo a cui dovrai sottrarre la locazione da dove iniziano i puntatori "DC000" ed ottieni "124456" che invertendo diventa "564412" che è il puntatore da cercare e modificare.
L'indice dei puntatori nella rom jap è più facile da trovare, poichè si trova vicino ai blocchi di testo.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 17, 2014, 16:10:42
Citazione di: Hamon il Ottobre 17, 2014, 14:08:57
Ciao, ho dato un occhiata alla rom, il problema non è l'header, ma il metodo del calcolo dei puntatori che è diverso da quello consueto.
In pratica come hai già notato il valore "06" indica l'inizio di un periodo di testo e il valore "00" ne indica la fine, per trovare un puntatore devi sottrarre l'offset iniziale dell'indice dei puntatori con quello del blocco di testo che inizia con 06. Per farti un esempio nella rom alla locazione "200456" inizia un blocco di testo a cui dovrai sottrarre la locazione da dove iniziano i puntatori "DC000" ed ottieni "124456" che invertendo diventa "564412" che è il puntatore da cercare e modificare.
L'indice dei puntatori nella rom jap è più facile da trovare, poichè si trova vicino ai blocchi di testo.

ciao grazie per la risposta. =) comunque non ho ben capito che intendi per "offset iniziale dell'indice dei puntatori". Scusami ma sono ancora poco ferrato con il "lessico". Secondo: mmm...come faccio a capire dove cominciano i puntatori?o meglio, se quello che hai segnato è giusto(e quindi dovrò SEMPRE utilizzarlo), come l'hai capito?=) terzo e ultimo quesito: quindi ci sono dei puntatori a 6 byte invece di 4?=/
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 17, 2014, 19:47:09
Per offset iniziale dell'indice dei puntatori intendo l'indirizzo a cui corrisponde il primo puntatore. Se ti posizioni all'offset "DC000" della rom vedi una lunga serie di puntatori separati dal byte 00. In questo caso vengono usati dei puntatori assoluti, per questo sono lunghi 3 byte.
Come già ti ha spiegato Phoenix per trovarli devi cercare queste sequenze di valori crescenti e vedere se trovi nella lista le ultime 2 cifre dell'indirizzo della stringa, nel caso di prima con l'indirizzo "124456" le ultime 2 cifre sono "56", quindi ho verificato se comparivano nella tabella dei puntatori situata a "DC000" e una volta trovate ho verificato se anche la successiva corrispondeva.
Le tabelle sono messe in ordine e quella situata a "DC000" non penso ricopra tutta la storia, ce ne sono altre, normalmente sono predisposte nell'ordine "tabella - testo legato alla tabella", "altra tabella - testo legato alla nuova tabella", ma qui trattandosi di una traduzione con hack troverai prima le tabelle e poi il testo.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 17, 2014, 19:50:35
Ok, quindi a quanto ho capito, trattandosi di una hack(per giunta già espansa, il che mi semplifica il lavoro), dovrei trovare l'intera tabella dei puntatori prima del testo. Ora mi metto a fare qualche esperimento =) poi se incontro difficoltà riscrivo qui. Mi interessa molto portare a termine questo piccolo progetto e imparare queste basi quindi..grazie dell'aiuto.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 17, 2014, 20:21:05
Mi scuso per il doppio reply. Mmmm..ok..non mi ci trovo XD allora spiego il mio esperimento:

Ho ricavato l'offset della primissima "frase" del gioco e, se non sbaglio, dovrebbe essere FF151F.
1 step-ho cercato l'offset completo:nada
2 step-ho cercato 151F:nada
3 step-ho cercato 1F: lo trovo(normale direi) ma le cifre che lo "attorniano" sono dei bei 00 =/ e non vedo traccia degli altri valori. Quindi...mmm..penso di non esser riuscito a capire qualcosa. O forse nella hack è stato modificato qualcosa troppo in profondità, quindi non quadra piu la tabella dei puntatori(se non sbaglio agendo in ASM è possibile).
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 17, 2014, 21:06:53
Sulla rom che ho il testo è disposto un poco diversamente dalla tua e cambiano anche gli indirizzi, se su 1F15FF compare il byte 06 ti basta sottrarci il valore DC000 che diventa 1155FF e poi invertire in FF5511 per cercare il puntatore.
Controlla se all'indirizzo DC000 trovi una linea preceduta da FF come nel mio caso, altrimenti la tabella dei puntatori può essere spostata nella tua rom.

000dbff0   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000dc000  00 00 00 00 ff 49 12 00 d1 3f 12 00 05 4a 12 00  ....ÿI..Ñ?...J..
000dc010  0d 4a 12 00 19 4a 12 00 ca 64 00 00 8d 38 12 00  .J...J..Êd...8..
000dc020  96 38 12 00 a0 38 12 00 d8 64 00 00 dd 64 00 00  .8.. 8..Ød..Ýd..
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 17, 2014, 21:16:59
Citazione di: Hamon il Ottobre 17, 2014, 21:06:53
Sulla rom che ho il testo è disposto un poco diversamente dalla tua e cambiano anche gli indirizzi, se su 1F15FF compare il byte 06 ti basta sottrarci il valore DC000 che diventa 1155FF e poi invertire in FF5511 per cercare il puntatore.
Controlla se all'indirizzo DC000 trovi una linea preceduta da FF come nel mio caso, altrimenti la tabella dei puntatori può essere spostata nella tua rom.

000dbff0   ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000dc000  00 00 00 00 ff 49 12 00 d1 3f 12 00 05 4a 12 00  ....ÿI..Ñ?...J..
000dc010  0d 4a 12 00 19 4a 12 00 ca 64 00 00 8d 38 12 00  .J...J..Êd...8..
000dc020  96 38 12 00 a0 38 12 00 d8 64 00 00 dd 64 00 00  .8.. 8..Ød..Ýd..

giudica tu

(http://i61.tinypic.com/sg4axf.jpg)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 18, 2014, 11:30:48
Si quella è la tabella dei puntatori, hai provato a cercare il valore hex "FF5511"?
Io lo trovo all'indirizzo DDD88.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 18, 2014, 12:48:01
Citazione di: Hamon il Ottobre 18, 2014, 11:30:48
Si quella è la tabella dei puntatori, hai provato a cercare il valore hex "FF5511"?
Io lo trovo all'indirizzo DDD88.

(http://i61.tinypic.com/zvvjmg.png)

Si, lo trova, ma ad un indirizzo diverso =/
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 18, 2014, 14:12:44
Mandami un privato con la versione che usi, il puntatore a questo blocco di testo su quella che ho io si trova a "DDD88"

001ff1f0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06  ................
001ff200  09 20 4c 4f 56 45 53 20 54 4f 20 43 4f 4c 4c 45  . LOVES TO COLLE
001ff210  43 54 0a 50 4f 4b 40 4d 4f 4e 20 43 41 52 44 53  CT.POK@MON CARDS

dove su 1ff1ff si trova il byte 06 che indica l'inizio della frase.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 18, 2014, 14:23:13
ok ti ho mandato un email =) se per caso l'indirizzo non è quello segnato sul tuo profilo scrivimi qui.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 18, 2014, 14:55:29
Citazione di: RyuH88 il Ottobre 18, 2014, 14:23:13
Ho ricavato l'offset della primissima "frase" del gioco e, se non sbaglio, dovrebbe essere FF151F.

All'indirizzo FF151F che penso lo hai invertito da 1F15FF non c'è del testo, se per prima frase intendi "LOVES COLLECTING POK@MON CARDS!" si trova all'indirizzo 21577D a cui dovrai sottrarre DC000 ed otterrai 13977D e invertito diventa 7D9713, che è il nostro puntatore da cercare.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 18, 2014, 15:32:19
Citazione di: Hamon il Ottobre 18, 2014, 14:55:29
All'indirizzo FF151F che penso lo hai invertito da 1F15FF non c'è del testo, se per prima frase intendi "LOVES COLLECTING POK@MON CARDS!" si trova all'indirizzo 21577D a cui dovrai sottrarre DC000 ed otterrai 13977D e invertito diventa 7D9713, che è il nostro puntatore da cercare.

yeeeeee sono riuscito a cambiare il puntatore!ti ringrazio tantissimo!=D certo..cambiare puntatore per puntatore è pesante e scrivermi un programma su misura sarebbe meglio..ma non sapendolo fare mi tocca aver pazienza. Ti ringrazio veramente tanto!cosi come ringrazio Phoenix =)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 18, 2014, 15:48:30
Citazione di: RyuH88 il Ottobre 18, 2014, 15:32:19
yeeeeee sono riuscito a cambiare il puntatore!ti ringrazio tantissimo!=D certo..cambiare puntatore per puntatore è pesante e scrivermi un programma su misura sarebbe meglio..ma non sapendolo fare mi tocca aver pazienza. Ti ringrazio veramente tanto!cosi come ringrazio Phoenix =)

Ottimo! Purtroppo cambiare puntatore per puntatore è una vera seccatura, esistono programmi universali di Script Extraction/Insertion che lo fanno al posto tuo, ma non avendone mai usati non posso consigliarti quali usare. Forse Phoenix può consigliartene qualcuno xD

Una volta che hai concluso la traduzione ti consiglio di trimmare la rom per alleggerirla, così ridurrai il peso anche della patch, eliminando tutti i byte 00 che sono stati aggiunti alla fine.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 18, 2014, 15:53:12
Citazione di: Hamon il Ottobre 18, 2014, 15:48:30
Ottimo! Purtroppo cambiare puntatore per puntatore è una vera seccatura, esistono programmi universali di Script Extraction/Insertion che lo fanno al posto tuo, ma non avendone mai usati non posso consigliarti quali usare. Forse Phoenix può consigliartene qualcuno xD

Una volta che hai concluso la traduzione ti consiglio di trimmare la rom per alleggerirla, così ridurrai il peso anche della patch, eliminando tutti i byte 00 che sono stati aggiunti alla fine.

Conosco quei programmi ma non sono riuscito ad usarli =/ però se Phoenix può aiutarmi in merito, lo abbraccerei con tanto affetto. XD per il resto non so come si faccia tutto ciò, ma per ora è presto per pensarci.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 25, 2014, 16:43:16
ciao ragazzi. Devio un po dall'argomento del topic ma visto che il progetto è lo stesso, magari cambio il titolo, cosi posso usarlo come "topic d'aiuto" per eccellenza. Sono incappato in un problema grave, temo. Il problema è quello che vi mostro di seguito:

(http://i59.tinypic.com/14l1nva.png)

In pochè parole manca il nome di una carta che li, premendo il giusto tasto, comunque appare. Ho provato a controllare sulla rom eng "vergine" e il problema è sempre presente, mentre sulla rom jap originale è tutto ok. Ho provato a capire se c'era un problema nei puntatori ma sembra tutto apposto(il puntatore corrisponde perfettamente all'indirizzo ecc). Quindi vi chiedo..da cosa può derivare e, soprattutto, come posso risolvere?=/ sono comunque intenzionato a finire la traduzione(che per ora procede spedita) ma mi spiacerebbe dover lasciare quel campo cosi tristemente vuoto. Rispondetemi anche se non avete idea, cosi almeno smetto di sperare...XD però se mi aiutate vi ringrazio tantissimo.
Evidentemente si tratta di una svista del traduttore della rom jap. Per il resto la traduzione procede spedita e, università permettendo, sarà pronta entro i primi mesi del 2015=) il cambiare quasi tutti i puntatori, uno per uno, mi prende troppo tempo ma una volta finita la traduzione delle carte dovrei diminuire il numero dei puntatori da cambiare(nella traduzione delle frasi avrò la possibilità di sfruttare meglio la spazio predefinito).
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 26, 2014, 12:25:18
Ciao, forse c'entrano ancora i puntatori xD
Hai provato a reindirizzare il puntatore di quell'item su un altro? (tipo sulla pozione)
Penso che quella stringa vuota sia in realtà parola scritta con dei caratteri della font jap che, essendo stata cancellata con dei tile vuoti, non ti mostra nulla.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 26, 2014, 15:21:38
Ho pensato la stessa cosa ma...il nome della carta c'è (gambler) e si trova proprio dopo la pozione e il suo puntatore è ESATTAMENTE dopo quello della pozione. E corrisponde. Quindi non capisco proprio..ora provo a fare una "inversione" come hai suggerito.

EDIT:NON funziona =/
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 26, 2014, 18:51:55
Citazione di: RyuH88 il Ottobre 26, 2014, 15:21:38
EDIT:NON funziona =/

Non mostra neanche Pozione?
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 26, 2014, 19:24:46
Citazione di: Hamon il Ottobre 26, 2014, 18:51:55
Non mostra neanche Pozione?

No. Semplicemente non cambia nulla. Continua a mostrare la pozione. Ma non mostra quello spazio bianco li, qualunque cosa ci metta sostituendo il puntatore. Ho messo il puntatore d'un altro oggetto al posto di quello e non è cambiato nulla =/
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 26, 2014, 19:42:29
Ho dato un controllo su quella jap ed il puntatore è giusto, quindi sarà qualche bug causato dall'hack.

Comunque mi viene un dubbio, non è che a causa di una quantità di pozioni superiori a 99 sballa la riga sotto?
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 26, 2014, 23:28:29
Citazione di: Hamon il Ottobre 26, 2014, 19:42:29
Ho dato un controllo su quella jap ed il puntatore è giusto, quindi sarà qualche bug causato dall'hack.

Comunque mi viene un dubbio, non è che a causa di una quantità di pozioni superiori a 99 sballa la riga sotto?

Si ma te l'ho scritto che ho controllato pure io in quella jap..comunque non ho modo di controllare ciò che dici. =/ non ho idea di come trovare quella carta senza i codici. E comunque sarebbe un caso limitato a quella circostanza. Perchè ho altre carte superiori alle 99 unità e non capita.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 27, 2014, 14:08:05
Ho trovato il problema, a questo indirizzo 0006279E c'è E6 invece che 18, non capisco proprio come sia uscito quell'E6 xD
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 27, 2014, 14:42:35
Ora do un'occhiata e vedo se cosi risolvo =)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 27, 2014, 15:00:30
Citazione di: Hamon il Ottobre 27, 2014, 14:08:05
Ho trovato il problema, a questo indirizzo 0006279E c'è E6 invece che 18, non capisco proprio come sia uscito quell'E6 xD

siiii risolto!Grazie Hamon, mi stai salvando le chiappe con questa traduzione =) ho solo una domanda e scusa se te la  rivolgo cosi: MA COME CAZZO HAI FATTO?XD
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 27, 2014, 15:22:13
Ho comparato la rom tradotta con la jap ed escludendo la parti che non andavano toccate (header, puntatori, codice hack, traduzione) saltano all'occhio solo questi indirizzi:
Indirizzo   Hack Jap
00013CAE  06   0F
00013CAF  4D   52
00013CB0  41   0F
00013CB1  52   78
00013CB2  4B   0F
00013CB3  00   18
00013CBA  06   0F
00013CBB  4D   30
00013CBC  49   0F
00013CBD  4E   3D
00013CBE  54   0F
00013CBF  00   24
000199E7  00   79
000199E8  00   12
000199E9  00   13
0006279E  E6   18

Il più sospetto è proprio l'ultimo poichè è l'unico isolato e si trova in una tabella di puntatori con il valore 18 in comune.
Beh, devo dire che siamo stati un poco fortunati xD
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 27, 2014, 17:59:54
Io fortunato. Tu abile XD come hai fatto la "comparazione"?esiste qualche programma? grazie mille cmq =)
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 27, 2014, 19:44:42
Citazione di: RyuH88 il Ottobre 27, 2014, 17:59:54
Io fortunato. Tu abile XD come hai fatto la "comparazione"?esiste qualche programma? grazie mille cmq =)

Figurati, l'ho fatta stesso dall'editor esadecimale, comunque è spiegato come farla anche nella guida dei SadNES.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 27, 2014, 21:55:04
Citazione di: Hamon il Ottobre 27, 2014, 19:44:42
Figurati, l'ho fatta stesso dall'editor esadecimale, comunque è spiegato come farla anche nella guida dei SadNES.

intendi quel metodo tramite dos?a me non funzionava.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: Hamon il Ottobre 28, 2014, 11:52:23
Citazione di: RyuH88 il Ottobre 27, 2014, 21:55:04
intendi quel metodo tramite dos?a me non funzionava.

Si quello, strano che non vada, hai provato ad inserire gli apici tra una rom e l'altra?
"nome rom.gbc" "nome rom.gbc"

Come editor mi pare usi windhex, dovrebbe farlo premendo CTRL-C.
Titolo: Re:Delucidazioni sui puntatori
Inserito da: RyuH88 il Ottobre 28, 2014, 12:30:08
Citazione di: Hamon il Ottobre 28, 2014, 11:52:23
Si quello, strano che non vada, hai provato ad inserire gli apici tra una rom e l'altra?
"nome rom.gbc" "nome rom.gbc"

Come editor mi pare usi windhex, dovrebbe farlo premendo CTRL-C.

avevo seguito le istruzioni e mi ha detto che non c'erano differenze(anche se una era la rom jap e l'altra era la mia).
Comunque..in che modo funziona su windhex?carico la mia rom, premo quella combinazione e a quel punto mi chiede di indicargli la rom con cui fare il confronto?(Lo chiedo a te invece di provare subito, cosi evito di far danni .)
Titolo: Re:Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: Hamon il Ottobre 28, 2014, 12:58:09
Puoi anche non caricare la rom, una volta avviato windhex premi CTRL-C (tools->compare files).
In Source File inserisci la prima rom e in Compare File la seconda, poi premendo Compare ti viene mostrata nella finestra una lista con tutte le differenze trovate.
Da questa escludi tutti gli indirizzi che pensi non causano problemi e vedi cosa rimane; su quelli rimasti incominci prima a controllare quelli isolati da 1 byte cliccandoci sopra.
Nel caso di prima cliccando su 0006279E è comparsa una sequenza di valori con il 18 in comune, eccetto il valore che causava l'errore.
Titolo: Re:Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: RyuH88 il Ottobre 28, 2014, 13:00:09
Citazione di: Hamon il Ottobre 28, 2014, 12:58:09
Puoi anche non caricare la rom, una volta avviato windhex premi CTRL-C (tools->compare files).
In Source File inserisci la prima rom e in Compare File la seconda, poi premendo Compare ti viene mostrata nella finestra una lista con tutte le differenze trovate.
Da questa escludi tutti gli indirizzi che pensi non causano problemi e vedi cosa rimane; su quelli rimasti incominci prima a controllare quelli isolati da 1 byte cliccandoci sopra.
Nel caso di prima cliccando su 0006279E è comparsa una sequenza di valori con il 18 in comune, eccetto il valore che causava l'errore.

capisco =) scusa tutte queste domande ma alla fine son conoscenze che non fanno male.
Titolo: Re:Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: Hamon il Ottobre 28, 2014, 14:12:25
Citazione di: RyuH88 il Ottobre 28, 2014, 13:00:09
capisco =) scusa tutte queste domande ma alla fine son conoscenze che non fanno male.

Tranquillo, la penso come te :)
Titolo: Re:Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: RyuH88 il Ottobre 30, 2014, 23:04:18
Citazione di: Hamon il Ottobre 28, 2014, 14:12:25
Tranquillo, la penso come te :)

ok, ho due problemi enormi e non so come risolvere.

1:la scritta "pkmn power" nel menu non compare, anche se ho risistemato i puntatori come nella rom originale
2:facendo scorrere il menu delle carte addestramento il gioco crasha. Si freeza. Ma solo se lo faccio nel menu per creare un mazzo..se lo faccio nel catalogo va tutto bene e per questo non me ne sono accorto prima. Provo a passarti la rom, Hamon..ho provato a sistemare decine di offset usando l'opzione di comparazione che mi hai spiegato, ma ci son troppe differenze e, dopo due ore passate a risistemare byte per byte, ho pensato che forse tu puoi capire meglio il problema..in caso contrario dovrò abbandonare il progetto =/ perchè non ho idea di come risolvere. Sempre ammesso che tu sia disponibile per darmi ancora una mano =) ti ringrazio.

EDIT:risolto il punto 1. Resta il punto 2, quello piu grave.
EDIT2:risolto anche il punto 2 xd grazie comunque. (non so manco bene come ho risolto, ho dovuto fare un macello).
Titolo: Re:Delucidazioni sui puntatori e altre amenità su Pokèmon Trading Card Game 2
Inserito da: Hamon il Ottobre 31, 2014, 14:08:13
Citazione di: RyuH88 il Ottobre 30, 2014, 23:04:18
ok, ho due problemi enormi e non so come risolvere.

1:la scritta "pkmn power" nel menu non compare, anche se ho risistemato i puntatori come nella rom originale
2:facendo scorrere il menu delle carte addestramento il gioco crasha. Si freeza. Ma solo se lo faccio nel menu per creare un mazzo..se lo faccio nel catalogo va tutto bene e per questo non me ne sono accorto prima. Provo a passarti la rom, Hamon..ho provato a sistemare decine di offset usando l'opzione di comparazione che mi hai spiegato, ma ci son troppe differenze e, dopo due ore passate a risistemare byte per byte, ho pensato che forse tu puoi capire meglio il problema..in caso contrario dovrò abbandonare il progetto =/ perchè non ho idea di come risolvere. Sempre ammesso che tu sia disponibile per darmi ancora una mano =) ti ringrazio.

EDIT:risolto il punto 1. Resta il punto 2, quello piu grave.
EDIT2:risolto anche il punto 2 xd grazie comunque. (non so manco bene come ho risolto, ho dovuto fare un macello).

Perfetto  :)
Fai attenzione a non andare oltre lo spazio di stampa massimo.