Author
|
Topic: There has GOT to be an easier way to do this (Atlas question). (Read 2 times)
|
DarknessSavior
Guest
|
|
« on: July 17, 2009, 01:14:57 pm » |
|
Okay, after spending about 3 hours inserting just the bare intro of FFIV:ET, I realized there has to be an easier way to do this. Granted, I've been inserting the text and editing the pointers by hand. If I had even just inserted the text using Atlas, it'd likely have decreased the time a little.
However, the problem is that FFIV has three pointer tables for the script, and the order the text is stored in is wacky. What I want to do (and what I've spent many hours doing) is to have the script be in the game in roughly the order you encounter it in (that way, down the road, it'll be easier to edit, plus, it'll be neater).
So, is there a way to set that in motion using Atlas?
~DS
|
|
|
|
Ryusui
Guest
|
|
« Reply #1 on: July 17, 2009, 01:20:20 pm » |
|
Yes, but it won't be pretty.
You'll have to manually set every pointer address - that is, the addresses of the pointers themselves, not the addresses they point to. ^_^; There's functionality for importing a "pointer list" IIRC - i.e., an external text file that lists the pointer addresses in order.
|
|
|
|
DarknessSavior
Guest
|
|
« Reply #2 on: July 17, 2009, 01:46:17 pm » |
|
Care to show me an example of how that is done? I've looked through the manual numerous times, and wind up confused more often than not. I was able to pull off (with some help) a normal, one-pointer-table script for Demon's Blazon, but even that still kinda confuses me. >.>
~DS
|
|
|
|
Dragonsbrethren
Guest
|
|
« Reply #3 on: July 17, 2009, 05:20:17 pm » |
|
You just write to every pointer before each string: #W16($120200) <claw>Burning Fist<line1> Knuckles infused with<line2> the power of fire.<end> It's tedious and not worth the effort. Not to mention you'll throw off any hackers who are editing events. Seriously, don't do it; Leno did it with Pandora's Box's battle dialogue and I still haven't forgiven him for it.
|
|
|
|
Lenophis
Guest
|
|
« Reply #4 on: July 17, 2009, 05:42:28 pm » |
|
I have since switched to xkas, and it's all handled dynamically now. Obvious advice: doing stuff by hand isn't nearly as great as its cracked up to be. :angel:
|
|
|
|
Phoenix Hacks
Guest
|
|
« Reply #5 on: July 18, 2009, 07:00:32 pm » |
|
I swear this will be the last time I mention it, but my FF4 Text Converter *is* the easier way to do this. It does the automatic pointer calculation you're asking about for you. I made up an image showing five steps to inserting your dialogue (pieces of your dialogue or ALL your dialogue) at once. It's linked to below. In the image, I've moved dialogue bank 1 to the end of the ROM (position 0x100200 for the pointers and 0x100600 for the dialogue). Reordering the dialogue will mean you'll have to change all the event codes to the appropriate dialogue windows, but besides the time invested in that, if you have the dialogue ready the insertion should literally take less than a minute.
|
|
« Last Edit: July 19, 2009, 02:11:58 am by Phoenix Hacks »
|
|
|
|
Dragonsbrethren
Guest
|
|
« Reply #6 on: July 18, 2009, 07:13:28 pm » |
|
Phoenix, I don't want to put down your converter, but Atlas can do this easier if you're not trying to reorder every text string.
|
|
|
|
Phoenix Hacks
Guest
|
|
« Reply #7 on: July 18, 2009, 08:27:42 pm » |
|
No offense taken. With reordering it just sounded like a faster way to do it than use Atlas. DarknessSavior, I like having things neat, too, so I think putting the dialogue in order is a good idea. I agree that it would make edits based on it easier, as long as people were aware of the change. But to each their own. For me, I'm so used to using a hex editor to hack that I don't like not actually inserting things myself. Whichever way you end up using, I look forward to the finished product.
|
|
|
|
KaioShin
Guest
|
|
« Reply #8 on: July 19, 2009, 03:46:01 am » |
|
You just write to every pointer before each string:
It's tedious and not worth the effort.
If you dump the script with Atlas in mind later on, you can write the pointers to the dump automatically during dumping and then it's 0 hassle and 0 manual work later on. Just one click you can insert a whole script and reorder it every way you want to without problems. Adding all pointers by hand to a dump that didn't have them... well. This is what you get for not planning ahead. Have the script format completely finished and ready for insertion too before you start translating and such problems don't occur. I learned this lesson the hard way in my first translation and I'll sure as hell never forget it.
|
|
|
|
Nightcrawler
Guest
|
|
« Reply #9 on: July 19, 2009, 10:36:18 am » |
|
I swear this will be the last time I mention it, but my FF4 Text Converter *is* the easier way to do this. It does the automatic pointer calculation you're asking about for you. I made up an image showing five steps to inserting your dialogue (pieces of your dialogue or ALL your dialogue) at once. It's linked to below. In the image, I've moved dialogue bank 1 to the end of the ROM (position 0x100200 for the pointers and 0x100600 for the dialogue). Reordering the dialogue will mean you'll have to change all the event codes to the appropriate dialogue windows, but besides the time invested in that, if you have the dialogue ready the insertion should literally take less than a minute. You might not have to mention it so many times if you added it to the site here. A lot more people will know about it that way.
|
|
|
|
Dragonsbrethren
Guest
|
|
« Reply #10 on: July 19, 2009, 12:33:34 pm » |
|
If you dump the script with Atlas in mind later on, you can write the pointers to the dump automatically during dumping and then it's 0 hassle and 0 manual work later on. Just one click you can insert a whole script and reorder it every way you want to without problems. Adding all pointers by hand to a dump that didn't have them... well. This is what you get for not planning ahead. Have the script format completely finished and ready for insertion too before you start translating and such problems don't occur. I learned this lesson the hard way in my first translation and I'll sure as hell never forget it.
Yeah, or you can use its auto pointer table-based recalculation (though I've always had problems with that and rely on an external program for it). Neither method really works if you're going to be storing the strings in a different order than the game originally used, though. Either way you're going to be putting a lot of work into your script (moving pointer writes to match up with the new string order) for very little gain.
|
|
|
|
Phoenix Hacks
Guest
|
|
« Reply #11 on: July 19, 2009, 09:07:06 pm » |
|
You might not have to mention it so many times if you added it to the site here. A lot more people will know about it that way. Yeah, I've been meaning to do that . . . just haven't gotten around to it yet, or writing a readme for it. I'll try and make that happen some time soon.
|
|
|
|
DarknessSavior
Guest
|
|
« Reply #12 on: July 20, 2009, 01:19:28 pm » |
|
You just write to every pointer before each string:
It's tedious and not worth the effort.
If you dump the script with Atlas in mind later on, you can write the pointers to the dump automatically during dumping and then it's 0 hassle and 0 manual work later on. Just one click you can insert a whole script and reorder it every way you want to without problems. Adding all pointers by hand to a dump that didn't have them... well. This is what you get for not planning ahead. Have the script format completely finished and ready for insertion too before you start translating and such problems don't occur. I learned this lesson the hard way in my first translation and I'll sure as hell never forget it. Care to describe how I can "dump the script with Atlas in mind"? ~DS
|
|
|
|
RedComet
Guest
|
|
« Reply #13 on: July 20, 2009, 01:20:09 pm » |
|
You just write to every pointer before each string:
It's tedious and not worth the effort.
If you dump the script with Atlas in mind later on, you can write the pointers to the dump automatically during dumping and then it's 0 hassle and 0 manual work later on. Just one click you can insert a whole script and reorder it every way you want to without problems. Adding all pointers by hand to a dump that didn't have them... well. This is what you get for not planning ahead. Have the script format completely finished and ready for insertion too before you start translating and such problems don't occur. I learned this lesson the hard way in my first translation and I'll sure as hell never forget it. Care to describe how I can "dump the script with Atlas in mind"? ~DS Use Cartographer.
|
|
|
|
KaioShin
Guest
|
|
« Reply #14 on: July 20, 2009, 01:23:41 pm » |
|
Use Cartographer.
It's still not released, or at least not yet in the database DarknessSaviour: Or write your own script dumper and make the script format so that it's immediately Atlas insertable.
|
|
|
|
|