News:

11 March 2016 - Forum Rules

Main Menu

Issues with Atlas and repointing (N64)

Started by IlDucci, January 19, 2014, 02:43:36 PM

Previous topic - Next topic

IlDucci

Hey there, I've been restarting my work on the The World Is Not Enough (Nintendo 64, PAL) translation and I've decided to give Atlas and Cartographer a try.

So I've managed to extract correctly the four text blocks that are on the ROM, managed to make Atlas work with it, but... there's some issues. The biggest one is that some pointers are not targeting the right destination and I don't know why. Some strings load correctly but in most of them, the addresses change randomly, even missing the string by a few bytes.

Here's my settings file:

#VAR(Table, TABLE)
#ADDTBL("TWINE64_import.tbl", Table)
#ACTIVETBL(Table)

#VAR(Ptr, CUSTOMPOINTER)
#CREATEPTR(Ptr, "LINEAR", $14A3C30, 32)
#ENDIANSWAP("TRUE")
#STRINGALIGN(4)

#VAR(PtrTbl2810, POINTERTABLE)
#PTRTBL(PtrTbl2810, $14A3C34, 4, Ptr)

#HDR($0)
#JMP($14A5260, $14B65EF)


All the strings are being inserted via #WRITE(Ptr, $XXXXXXX). Can anyone help me fix this script, and make the pointers get calculated properly?

There's also the fun fact of having to gather the duplicate strings (Different pointers but same pointed line) so the pointer list doesn't have any blanked pointers at the end of the file but it's troublesome doing that by hand, is there any macro or something that could do this automatically?

Thanks in advance.

IlDucci

Hi again, just wanted to say that I've found the way to solve the script and get to work. Thanks guys for teaching me to find the answers by myself.

#VAR(Table, TABLE)
#ADDTBL("TWINE64_import.tbl", Table)
#ACTIVETBL(Table)

#VAR(Ptr, CUSTOMPOINTER)
#CREATEPTR(Ptr, "LINEAR", $0, 32)
#ENDIANSWAP("TRUE")

#HDR($14A3C30)
#JMP($14A5260, $14B65EF)