So I've looked around but can't find a solution to my problems using Cartographer with The Legend of Dragoon ROM.
There are a couple of problems dumping the script from this particular ROM that I've run into:
1. It uses relative pointer tables, but the hex values in the ROM are left shifted by two bits at runtime. Considering pointers seem to be 32-bit and the text occurs in relatively small chunks should not even require more than 16-bit pointers, I don't know why they do this, but that's how it is. Is there any way to have the pointers calculated on the fly when script dumping with Cartographer, while still keeping the original pointer values for later insertion? I guess I'd need Atlas to do something similar when updating pointer values.
2. After every segment of text (so after the end character $FFA0), there are either 8 bytes defining the dimensions of the text box that the text is displayed in. These bytes have their own separate relative pointer table that occurs immediately after the pointer table for the text. I'd need to dump and reinsert these bytes with updated pointers as well, since they're interleaved with the text. I don't think Cartographer supports having multiple pointer tables though, so the characters get dumped alongside the rest of the text, without their own pointer references. Is there some way to use multiple pointer tables with their own separate base addresses, and have them dump the bytes sequentially? So [text][box dimensions][text][box dimensions].
3. The text box dimensions always start at the start of a full 32-bit word, so if the preceding text end character ends at the 16-bit point, it pads out the the remaining two bytes with $00 to keep everything word-aligned. Would the best way to deal with this to define both $FFA0 and $FFA00000 as end characters?
I haven't looked as much into Atlas yet, but I imagine some of these questions will apply to that too.