I det här kapitlet ska vi bara ändra en pointer, så att du får lite grepp om hur de faktiskt fungerar. Du behöver följande:
- En Final Fantasy 3 (US) rom
- En Snes-emulator (tex Snes9x) som stöder savestates
- Windhex
När man jobbar med pointers manuellt (i motsats till när man bara inkluderar dem i script, och låter dem fungera för sig själva), så kan processen se ut så här:
- Leta upp texten som din pointer pekar på
- Med hjälp av textens adress, räknar du ut pointerns
- Sök reda på pointern i din rom
- Skriv om den så att den pekar någon annanstans (förslagsvis på en annan text)
Det vi ska göra nu, är att ta en pointer från FF3 och peka om den. I nästa kapitel ska vi gå igenom hur man hittar dem, men för närvarande får du adresser etc. givna på förhand.
Börja med att ladda hem den engelska tablefilen till FF3 från nedladdnings-sidan. Öppna sedan upp din rom i Windhex. Använd sedan "Go-to"-funktionen genom att trycka Ctrl+G. Den här funktionen gör att du automatiskt kan hoppa till valfri adress i din rom.
Angående adresser, menas alltså specifika platser i en rom. Den allra första hexdecimalen ligger på adress 1, nästa på adress 2 etc. Adresserna kallas även för "Offsets", vilket de kommer att hänvisas till som i resten av kapitlen.
Vilket offset du befinner dig på finns att läsa längst ned till vänster i Windhex, på raden som dessutom visar Dec, Bin och Hex. Rom:ens första offset är 00000000, den andra är 00000001 osv.
I sökrutan ska du alltså använde det övre fältet, som står under "File Position".
Skriv CE806 och tryck på "done".
Om du gjort rätt, borde du befinna dig på hexdecimalen "59", följt av "00". "5900" är den pointer vi ska jobba med, och den pekar på offset 0259 (mer om detta i nästa kapitel).
Spela nu fram till den här dialogen i din emulator, och ta en savestate innan den dyker upp på skärmen. Säkrast är att ta en savestate just innan Vicks, Wedge och Terra kommer upp på skärmen.
I Windhex skriver du, med hexdecimaler, över 5900 med CF0A. Spara sedan, och spela dig fram till dialogen igen (använd din savestate för att skippa introt).
Det som hände, var att du pekade om pointern som pekade på "VICKS: Think it's still..." till att istället peka på "Moogle: Use us...". Du har nu pekat om en pointer, och i nästa kapitel ska vi kalkylera, identifiera och hitta pointers i en rom.
Ifall du fortfarande är osäker, så ändra tillbaks pointern till 5900. Ändra sedan till 5A00 och testa igen. Ändra till 5B00 och testa igen. Som du ser, så "flyttas" textens början framåt ett steg varje gång du ökar pointern med 1, vilket beror på att adressen som pointern pekar på därför blir ett snäpp längre fram i dialogen.