News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Issues with Atlas and repointing (N64)  (Read 1916 times)

IlDucci

  • Jr. Member
  • **
  • Posts: 45
    • View Profile
Issues with Atlas and repointing (N64)
« on: January 19, 2014, 02:43:36 pm »
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:
Code: [Select]
#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.
« Last Edit: January 23, 2014, 12:38:50 pm by IlDucci »

IlDucci

  • Jr. Member
  • **
  • Posts: 45
    • View Profile
Re: Issues with Atlas and repointing (N64)
« Reply #1 on: February 03, 2014, 04:05:22 pm »
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.

Code: [Select]
#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)