Problema lettere accentate

Aperto da TerryBogard, Luglio 18, 2007, 16:43:02

Discussione precedente - Discussione successiva

TerryBogard

Il problema consiste in questo, io ho modificato la grafica a questa immagine Tim:

Come vedete ho messo infondo la lettera à ora basandomi sulla tabella
http://www.megaupload.com/it/?d=MWS3OODE
il numero 81 dovrebbe corrispondere alla à purtroppo invece mette solo un sacco di spazio.
Da quel poco che ho capito dovrei anke modificare la tabella non grafica, solo che non so proprio come cercarla.
Se qualcuno mi può dare una mano gliene sarei grato.

P.S. Scusate per lo spam.

Gemini

Ci sarà qualche problema di codice che non permette di mappare quella lettera su uno sprite, come avviene per le altre. Prova pure a spostarla un po' sugli altri banchi liberi, magari per qualche strano caso andrà. Ad ogni modo, l'unico modo per verificare se effettivamente le lettere oltre quel punto (l'alfabeto standard) possono essere mappate correttamente è spararsi una bella sessione di debugger.

PS: Ma la Psx da quando in qua non è più una console a CD? ._. E fortuna che le abbiamo divise apposta in categorie. Sposto.  

TerryBogard

Grazie di aver spostato il post, con sto caldo non ci capisco + nulla.
Allora ho provato così, ho messo la à fino al numero 84, quindi ho provato a inserire i numeri 82 83 e 84. Il risultato è stato che non le ha proprio calcolate, le ha saltate.
Poi ho provato a metterla nel numero 40 che corrisponde a buko prima della A, li ha funzionato.
Ora per il debugg è davvero un problema, ho provato ma non ci capisco una mazza, come prog. uso l'emu. psxfin carico l'immagine del gioco e poi pigio R3000.
Compare tutta la schermata con GPU, CD Memoria ecc. ma li non so proprio cosa devo fare, se mi dici cosa devo pigiare ci provo o se conosci delle guide che lo spiegano me le studio.

Gemini

Classica strategia per i dialoghi: cerchi una frase in ram, imposti un breakpoint in lettura sulla prima lettera del dialogo, lo fai scorrere per qualche operazione finché non capisci effettivamente cosa fa con il codice delle lettera e poi decidi sulla soluzione da prendere.
Ma poi le lettere extra te le calcola come uno spazio vuoto o è come se non ci fossero proprio? Perché se è il secondo caso credo dipenda dalla tabella di larghezza dei caratteri impostata su 0 per i simboli aggiuntivi.

TerryBogard

Allora le lettere messe dopo cioè 82 83 84 non le vede proprio, tipo scrivo p 82 e 83 r il risultato è per.
Ora io sono fermo in questo punto dell'emu:


ora tu con "ram" intendi il mio memoria, i breakpoint sono il mio punti di break, solo che in ram non vedo il testo ma solo numeri.
Se tu usi un diverso emu. dimmelo che magari è diverso da questo.

Gemini

CitazioneAllora le lettere messe dopo cioè 82 83 84 non le vede proprio, tipo scrivo p 82 e 83 r il risultato è per.
E allora hai le variabili settate su larghezza zero. Fai una ricerca in ram o in un save state (da decomprimere con Winrar nel caso di ePSXe) per vedere se trovi le altre (c'è una guida apposta nel sito), così puoi sistemare i valori per i caratteri aggiuntivi. Non dovesse esserci spazio, non ti rimane che prendere PCSX (pSX lo sconsiglio per l'esplorazione del codice) e fare la procedura di sopra. Per informazioni su come usare i debugger... Google.

TerryBogard

Allora facendo un dump della ram ho trovato questo:


ho scoperto che risiede nel file slus_010 dici che se modifico qualkosa li funziona?
Intanto provo, per le guide per ora ho trovato roba che parla di ASM ecc. ma niente di pratico tipo piccoli esempi, cercherò ancora.

Sono riuscito a metterle in 82 83 ecc. solo che ora tra una lettera e l'altra nn mi vede lo spazio, forse devo aumentare il pixel tra un carattere e l'altro.

Ho notato che mi difetta anke la grafica delle scritte nella pre-presenta, nn credo di aver toccato qualkosa che cambi quelle scritte.

Le ho un pokino sistemate ma se ora metto le lettere àòù ecc. con affianco lettere normali, si sovrappongono così:

Come mai succede questo??