Att hacka/översätta Japanska Roms
Trots att det kan låta svårt, så är det busenkelt om du har lärt dig kapitel 1-10. Faktum är, att från och med nu så utgår jag från att du ä riktigt bra på grunderna i romhackning, möjligtvis pointers och DTE undantaget.
Det du behöver är:
Thingy32
TileLayer Pro
Textdokument
Någon som kan japanska
Kunskap om tablefiler
Kunskap om Japanskan (lite i alla fall)
Din "Ayakashi no Siro" rom (GB)
Vid det här laget borde du ha allt det där, med undantag för kunskap om japanska,
samt en personlig översättnings-slav. Men, som romhackare måste man ju kunna
överlämna översättandet åt andra, eller hur? Och i så fall så måste man ju kunna
hacka även en japansk rom, utan att kunna japanska. Dock skadar det inte att känna till
LITE om japanskan i alla fall, så det första vi börjar med är:
Japanska och dess innebörd för översättandet
Det första som du kommer att märka när du översätter, är att du aldrig kommer att ha för lite plats för att skriva in nya bokstäver i. Du kommer praktiskt taget att drunkna i ledigt utrymme, och kan utan problem sätta in både 0-9 (om det inte redan finns där), A-Ö och a-ö, då du dessutom lär ha en massa plats över. Mer avancerade romhackare brukar använda utrymmet som blir över (efter att man har satt in alfabetet) till att lägga in egen kod, som tex en DTE-rutin.
Men, vad är det jag pratar om nu? Måste man sätta in hela alfabetet när man översätter ett japanskt spel?
Jo, det måste man. Japanerna använder väldigt sällan latinska (västerländska) bokstäver i sina spel, så för det mesta får man ta och rita om japanska tecken till bokstäver istället. Just det gör det omöjligt att översätta ett spel på japanska där man inte hittar fonten.
Anledningen till att man får så mycket plats över när man översätter från japanska, är att japanerna använder tre alfabeten, till skillnad från oss som bara använder ett (nej, stora och lilla alfabetet gills inte som två). Två av alfalbetena, Hiragana och Katakana, är dem som mest liknar vårt latinska alfabet (inte till utseende, men till innebörd) även om skillnaderna är stora och många. Det tredje å andra sidan, Kanji, kan ge en romhackare stora problem. Kanji är nämligen ett system av piktogram, som i praktiken möjliggör det att skriva ett ord med bara ett tecken (som i en rom bara kräver 1 hexdecimal). Snacka om att spara högvis med utrymme.
Men det som sparar utrymme åt japanerna, ger oss väldigt lite utrymme atts skriva på. I vissa menyer kan alternativen representeras av endast ett tecken var, vilket ger oss en hexdecimal att skriva in deras innebörd med. Av den anledningen kan det vara bra att kunna lägga in DTE, samt att använda pointers för att maximera utrymmet som finns.
Ifall du undrar varför vissa tecken har " och ¤ (ska föreställa en ring, det där) så är det ungefär våran version av prickarna och ringen ovanför ÅÄ och Ö. Tacka vare två sträck samt en ring, kan man få andra uttal på alla (japanska) tecken som finns. Dock gäller det inte på Kanji.
När man ritar om ett japanskt alfabete, så händer det ibland att spelet har 2 versioner av varje tecken, en MED " eller ¤, och en utan. Men, ifall spelet bara har " och ¤ på två ensamma tiles, så betyder det att spelet använder kod för att sätta dit dem ovanför tecknena istället. Detta kan göras på flera olika sätt, men det vanligaste är att man helt enkelt sätter ut hexdecimalen för " eller ¤ före bokstaven som det ska stå på. Alternativt så använder man en helt ny hexdecimal för bokstäver som använder dessa tecken.
Det jag vill säga är: Undvik att göra sökningar på bokstäver som (trots att du har ritat om dem) har " eller ¤ ovanför sig.
Vårt japanska projekt blir...
Ayakashi no Siro. Glöm allt jag hittils har sagt om överflödigt utrymme att skriva in bokstäver på. Det här spelet använder bara ett utav de alfabeten som japanskan har, nämligen hiragana. Men jag valde det här spelet ändå, eftersom det passar att ha som övningsobjekt. Spelets font är enkel att hitta, öppna det bara i Tile Layer Pro och skrolla nedåt på 2BPP tills du ser det. Ifall du inte har en aning om hur japanska alfabeten ser ut, så är det hit du ska:
Överst på skärmen finns det lite strö-bokstäver från det latinska alfabetet som spelet använder då och då, efter det kommer siffror, grafiken för rutorna (som texten visas i) och sedan kommer alfabetet. Den stora blå texten är från spelets titlescreen i början, men den ska vi inte ändra på nu. Det vi däremot SKA göra, är att rita om alfabetet till latinska bokstäver. Börja på pricken som sitter i mitten på en tile (den som ligger två rutor under "1" på bilden ovan, och rita stora "A" där. På det sättet kommer du att rymma både det stora och det lilla lafabetet. När du har ritat det stora (med ÅÄÖ) så ritar du det lilla direkt efter. I det lilla måste du dock utelämna "z" på slutet. Rita alltså "uvwxyåäö" på slutet och skippa "z". Se även bilden nedan:
OBS! Det är viktigt att du ritar in alfabetet exakt som jag har gjort, annars kan framtida exempel bli missvisande. Dessutom kommer du inte att kunna använda den tablefil som jag så snällt har satt ihop ; )
Om du inte har öppnat spelet i Visual Boy Advance än, så är det dags nu. Vi måste nämligen hitta hexdecimlaerna för vårt nya alfabete. För att göra det, så letar vi bara rätt på en rad bokstäver från samma alfabet, och gör en relativ sökning. Notera att du inte kan använda ÅÄÖ för detta. Det kan vara lite krångligt med det här i början, så jag ska visa steg för steg hur man kommer till en lämplig text att söka på.

Här trycker du Start

Och start igen

Här har vi lite text. Tryck på Start en gång till för att komma till...

Den här rutan.
Nu börjar det likna något. I den här rutan har vi fyra bokstäver från samma alfabete som vi kan söka på, och dessa är "ZKXH" som står i början.
När vi har kommit så här långt så är resten bara repitition. Gör en relativ sökning på "ZKXH" för att ta reda på vilka hexdecimaler som de bokstäverna har, och räkna med den informationen ut hexdecimalerna för resten av alfabetet (inklusive det lilla) också. Därefter kan du räkna ut infon för siffrorna och punktuationerna med. När du är klar så har du tablefil med vilken du kan sätta in svensk text i spelet. Är du för lat för detta (samt att du vet med dig att du kan göra tablefiler vi det här laget) så kan du bara ladda min färdiga tablefil istället.
Det du har nu är en svenskifierad rom av spelet Ayakashi
no Siro. Men nu när vi har hackat vår rom, hur översätter vi den då? Inte kan vi
översätta kruxet som står på skärmen, ens om vi kunde japanska. Vid det här laget
har vi två alternativ:
Att översätta. Alternativ 1.
En beprövad metod inom översättande är att helt enkelt öppna upp två exempel av Ayakashi no Shiro i Visual Boy Advance, en japansk version samt vår hackade. Sedan spelar vi oss fram till ett textstycke (på japanska) och översätter det. Efter det så spelar vi oss fram till samma textstycke i vår modifierade rom, söker rätt på texten som står där och sätter in översättningen där i mån av plats.
Som du säkert förstår så tar det här ganska mycket tid. Men det funkar, jag lyckades översätta hela Chibi Maruko Chan på det här viset. Dock ska man se upp på ställen som visar slumpmässiga meddelanden, så att man inte sätter in översättningen på fel ställe.
Alternativ 2.
Kapitlet om scripts är fortfarande under omskrivning. Fråga gärna på forumet om du har funderingar.

