5. Dual Tile Encoding
Dual Tile Encoding, eller DTE som det oftast kallas, är ett sätt att komprimera text. DTE används i nästan alla Square spel till NES och SNES. DTE fungerar som så att Square har satt ihop en lista med vanligt förekommande bokstavs kombinationer. Cirka 30 stycken sådana finns det och de ser ut ungefär så här: "th", "ng", "e ", " a" etc. Lägg märket till att även en det DTE innehåller mellanslag. I engelskan slutar ofta ord på "e" och sen kommer ett mellanslag. Sen genom att anropa ett speciellt värde så sätts det in två istället för ett tecken. Istället för två hexadecimala värden räcker det med ett. DTE är ett mycket effektivt sett att komprimera text, och lyckligtvis är det enkel att hacka. Och bäst av allt är det att Hexposure klarar av att visa DTE. Nu börjar vi!
Som en liten sid notering kan sägas att här har jag räknat om alla pointers och därför är finns det inga tomma utrymmen.
Här ser ni en bild från Final Fantasy 1 till NES. All gul text är DTE. Om vi läser på första raden så är "ng", "t " och "s " de DTE som används. Så när du skriver "ng" konverterar Hexposure automatiskt om B1 AA till 2A. (B1=n AA=g). Smart va? Hur tar man då reda på vilka DTE som betyder vad? Det finns två sätt. Det enklaste är att helt enkelt leta upp en table fil på Internet som någon annan har gjort till det spelet. Det andra är att göra den själv. Det är lite mer jobbigt för man måste nämligen prova sig fram till vilka som betyder vad. Leta upp den första dialogen du ser i spelet. Ändra det hexadecimala värdet, se efter vilka två tecken som dök upp, anteckna dessa, öka samma hexadecimala värde med ett och anteckna vilka tecken som dyker upp... etc. Det tar inte så lång tid.
Men det bästa av allt är att man själv kan ändra vilka DTE som finns! T ex. "th" används inte så ofta i svenska. Då kan man utnyttja detta till att göra några egna. Ett bra alternativ är " ä" och "r " då kan man trycka ner " är " som tar upp 4 Byte till endast 2 Byte. Hur gör man då?
Oftast är DTE sparad så här. Först ligger de första tecknen i alla DTE på raken. Och sen kommer de andra tecknen. Lite svårt att förstå? Jag skall visa, det är väldigt lätt.
Make sense? Tänkte väl inte det. Men om vi tar och radar upp de första fem DTE i Final Fantasy 1:
" ä"
"r "
"th"
"he"
"s "
Som ni ser har jag ändrat lite på dem för att bättre passa det svenska alfabetet. Jag skall nu visa hur de är länkade med varandra:
Det kanske är lite otydligt men som du ser ligger först "ä" sedan " " och sedan "h". Den första DTEn är " ä" och de röda markeringarna är "ä" och " ". Förstår du? Likadant med de gröna. Den DTEn är "r " och den första gröna är " " och den andra "r". See? Nåt som man får tänka på är att den första bokstaven (i final fantasy spelen) ligger i den andra banken med bokstäver. Som du ser är det " ä" och mellanslag är först i DTEn men den förta röda markeringen är "ä" och den andra är " ". Fattar du?
Hur hittar man var dessa ligger då? Jätte lätt: Öppna din table fil. Markera de fem första bokstäverna på varje rad. I Final Fantasy 1 blir dessa:
" rths". Sen söker du på denna sträng i Hexposure och du kommer lätt finna var.
När man arbetar med DTE glöm inte att även mellanslag är viktig och ofta ingår i olika DTE!