øAslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=1115.msg22528e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index0d89.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;u=348e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index0d89.html.zxW¶h^ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ0P.@OKtext/htmlISO-8859-1gzip8:Ö@ÿÿÿÿÿÿÿÿWed, 11 Mar 2020 10:15:11 GMT0ó°° ®0®P®€§²ð®V¶h^ÿÿÿÿÿÿÿÿÈ0@ FF6 Improvement Project

Author Topic: FF6 Improvement Project  (Read 278348 times)

yeoldeusrename

  • Mist Dragon
  • *
  • Posts: 3
  • Well, whadduya want I should do?
    • View Profile
Re: FF6 Improvement Project
« Reply #660 on: March 19, 2014, 03:52:48 PM »
To answer the question by yeoldeusername, patching to the base and complete versions and then expanding the ROM to accommodate the translation - that's what I've been doing. I cannot fit the translated script in the original space provided, and FF3usME points the original dialogue pointers to the new space, but any patches that include direct links to dialogue pointers break as a result. The King of Vanity patch is the earliest point in the game where this occurs - I can go through the source code provided with patches to see if there are any others (the Shadow in the Veldt patch comes to mind), but some of the patches don't have source code provided in the readme or documentation with the patch.

The hex editor I use, Windhex, can do a diff between a clean ROM and an edited one (I think, anyway), so if it's possible I can do a diff for all the patches that might affect dialogue and see what's happening - but without new memory addresses to point to, I'm not sure how I could fix this.

That makes sense. I've been using FF3usME for a while without understanding the inside workings or even anything about assembly or SNES ROM data structure. So it's nice to be able to find a live thread and learn something.  :happy:

Anyway, I did a little looking and found this:
http://www.rpglegion.com/ff6/hack/ff3info.txt
0CE800-0CE801   (CCE600-CCE601)     DATA    Index of the pointer in which the bank byte needs to be incremented
0CE802-0D01FF   (CCE602-CCFFFF)     PTR     Pointers to Dialogue (+0D0200/+CD0000)
0D0200-0EF2FF   (CD0000-CEF0FF)     TXT1    Dialogue (3326 items, variable length)

So what I understand is that FF3usME moves the TXT1 (CD0000-CEF0FF) to new space added at the end of the ROM (or at least extends it at the end of the ROM). And adjusts PTR (CCE602-CCFFFF) accordingly? But PTR does not move, so I would think a hack referencing the PTR would not be affected. Am I right so far?

The King of Vanity changes are pretty well documented, and it looks to me like mblock129 essentially references PTR, not TXT1 directly. I.e. he calls 4B 07 05, 4B being the dialog command and 07 05 being #0507, which is caption 1287 - 1 = 1286. Same for 4B 08 05. That's the same way the original code initiated the dialog.

When you say this:
This is why the King of Vanity scene hangs, right when it's about to start a new line of dialogue.
Do you know this from debugging or just from observation of the gameplay? Do you know the exact line where it fails?

Is it possible that the conflict has nothing to do with the dialog but instead has to do with the free space mblock129 uses for his extra code? Maybe it conflicts with a different patch? He uses CC/FED0 through CC/FF24 (D00D0-D0124). Or maybe it's a bug in his code that manifests itself after a different mod tinkers with palettes or what have you.

With respect to Shadow on the Veldt / Shadow is not a Girl, mblock129 changes a (normally) unused pointer in PTR to point to some random free space where he stores the raw text data for the male version of the caption (at EF1E6 raw location). My guess is that FF3usME overwrites the whole PTR section (CCE602-CCFFFF), presumably overwriting unused pointers with #FFFF or #0000. If that's the case, it might work to apply the patch after the FF3usME town dialog expansion. (Assuming there are no conflicts with the free space mblock129 uses...)

Or even easier, just rewrite caption 2578 to be gender neutral (just throwing that idea out there...). Besides does your translation patch have the same wording as the original for this caption? If not, then mblock129's Shadow version won't have parallel wording to your translated Relm version caption.

Or, you could change mblock129's patch to reference an existing PTR for an unused caption somewhere within the existing town dialog bounds. Then you can edit the text of that caption and remove the part of the Shadow patch that copies the text data to a random unused location. You would have to use the same caption in the standard and translated scripts, but hopefully it would be a one time change that would stick and work.

So to answer your original question (hopefully), here's how you change a reference to a town dialog pointer:
  • Find the location of the reference (in these cases, mblock129 gives us the locations).
  • The byte with value 4B indicates the command to go look up a caption via a pointer.
  • The two bytes after 4B indicate the pointer / caption number, kind of.
  • For example, 4B 07 05 indicates caption #0507. And yes the 07 05 is backwards from #0507, because Assembly.
  • Convert #0507 to dec and subtract 1 to match FF3usME numbering (the first dialog pointer is #0001 whereas first FF3usME dialog caption is 0). So that would be 1286 in this case.
  • To change 07 05 to something else, select the FF3usME script caption you want to reference and then backwards calculate the two bytes that you need to put after the 4B command.
  • When FF3usME imports the script, it will calculate the caption locations and update the pointers accordingly, so you don't need to know exactly where your caption will end up, just the corresponding pointer number.
Keep in mind I've never gotten to this level before, so I could be missing something here...
« Last Edit: March 20, 2014, 07:53:07 AM by yeoldeusrename »

TheNattak

  • Garula
  • *
  • Posts: 203
  • Gender: Male
  • Mike
    • View Profile
    • Return of the Dark Sorcerer
Re: FF6 Improvement Project
« Reply #661 on: March 27, 2014, 01:56:48 PM »
Actually, I would recommend you stay away from Holy Randomness Batman, since extensive testing has revealed that it's not nearly as random as I had hoped. PB has a much better RNG in it than this patch, and I've been thinking about releasing it, but there's a LOT of work I would have to do since I need free space in a bunch of places.

Hey Leno I just happened to see this post, I've been using Holy Randomness Batman lol. Is it at least as random as the original RNG? Seems random enough to me so far - what's the deal with it?

Lenophis

  • Forum Overlord
  • *
  • Posts: 1,688
  • Gender: Male
  • I sad
    • View Profile
    • Slick Productions
Re: FF6 Improvement Project
« Reply #662 on: March 27, 2014, 04:25:16 PM »
I'm not sure how to rate it compared to the original RNG. I guess I should just update the damn thing. :blush:

119 bugs fixed and counting.

Royaken

  • Wing Raptor
  • *
  • Posts: 8
    • View Profile
Re: FF6 Improvement Project
« Reply #663 on: April 15, 2014, 10:12:05 AM »
Hey I'm not sure if this is a bug no one noticed or if it's something I caused. I am using this patch along with a few things I have always done with any of my hacks in the past and never had issues. I will list them bellow and everything I did in order.

-Applied "Base" patch from here
-Applied "Translation" patch from here
-Imported My enemy sprite changes and character sprite changes (free space added do to less space used on mosnters)
-Changed some moulds to make sure the enemies displayed properly
-Moved Ai Scripts to bank FF
-Changed "Mug" command to use attack animation and not display "could not steal"
-Locke can use other characters skills instead of Gogo
-Changed 2 item fuctions. Coin toss into Lion armlet (changes "runic" into "shock") and Theif Glove  into Kai armlet (ultimate acc for Locke and I moved it to Locked Narshe weapon shop)
-Added Music Hacks (I made these and know their space so they're fine)

And the above is roughly it. I applied no other patches and editted nothing else. Now here's what happens

At the start of the game, when in the narshe mines before fighting Whelk, the guard comes out to say something and doesn't. Everything is still animated (fire on the walls) but I can't do anything. Over the course of 20minutes, the dialogue box slowly pulls up, fills in with "e...e...e...e...e...e...e" and then after it does I click A and it opens a new dialogue box with nothing and never goes away.

Then I decided to see if my svaes were having issues. Opening any un-opened chests with my other saves causes the game to freeze and no item to display.

Did I do this? If so what could it have been, and what order should I do things? Thanx ahead of time for your help!

Lenophis

  • Forum Overlord
  • *
  • Posts: 1,688
  • Gender: Male
  • I sad
    • View Profile
    • Slick Productions
Re: FF6 Improvement Project
« Reply #664 on: April 15, 2014, 10:59:15 AM »
This sounds like a header issue. How often were you checking your hack to make sure it was still working as you were moving stuff around? Also, if you used a patch that tweaks dialogue and you made dialogue changes first, you can expect things to explode. Aside from that little to go off of, I have no idea why it's doing that.

119 bugs fixed and counting.

Royaken

  • Wing Raptor
  • *
  • Posts: 8
    • View Profile
Re: FF6 Improvement Project
« Reply #665 on: April 15, 2014, 11:37:24 AM »
You think it's caused by it having a header? I did not check to see if it works after each thing I do. I can do that for trial and error, thank you. I'll try that when I get home. I only used the translation patch to tweak dialogue and changed 2 item descriptions. Does that count as a tweak to dialogue?
« Last Edit: April 15, 2014, 12:42:51 PM by Royaken »

Madsiur

  • Tunnel Armor
  • *
  • Posts: 149
  • Gender: Male
  • FF6AE coder
    • View Profile
    • Madsiur's Lair
Re: FF6 Improvement Project
« Reply #666 on: April 15, 2014, 12:09:11 PM »
I do not check to see if it works after each thing I do.

You should at least check if the change you intend to make works properly and if nothings else that could be affected is not affected.

Royaken

  • Wing Raptor
  • *
  • Posts: 8
    • View Profile
Re: FF6 Improvement Project
« Reply #667 on: April 15, 2014, 12:41:19 PM »
I meant DID not, not do not xD. I usually do, just DID not this time.

EDIT: changed to "did". Sorry :O

Lenophis

  • Forum Overlord
  • *
  • Posts: 1,688
  • Gender: Male
  • I sad
    • View Profile
    • Slick Productions
Re: FF6 Improvement Project
« Reply #668 on: April 15, 2014, 10:37:26 PM »
You think it's caused by it having a header?
Well, if you're using patches that need a header, and you don't have one, that's a problem. If you're using patches that require no header, but you do have one, it's also a problem.

Quote
I only used the translation patch to tweak dialogue and changed 2 item descriptions. Does that count as a tweak to dialogue?
For the patch, yes. If all you did use was the patch, then you should be fine. When using patches, it's important to make sure editors will still work with the hack. Pandora's Box is notoriously broken in almost every version of FF3usME, as well as the map editors, as one example. In this case, the only way to be sure is to make a backup of the hack, open it and save it with an editor, and then see if it still works.

119 bugs fixed and counting.

koala_knight

  • Tunnel Armor
  • *
  • Posts: 166
  • Gender: Male
    • View Profile
Re: FF6 Improvement Project
« Reply #669 on: September 18, 2014, 05:01:34 AM »
http://www.romhacking.net/utilities/1080/

They just posted an interesting tool at ROMhacking.net that could be quite useful to this project.
Not to mention to lots of others.

assassin

  • Bane of Retards
  • *
  • Posts: 1,033
  • space bears are not gentle!
    • View Profile
    • My Barren Webpage
Re: FF6 Improvement Project
« Reply #670 on: September 18, 2014, 12:00:29 PM »
eh, i liked it better in 2010 without the GUI:
http://zephyr129.brinkster.net

DByD

  • Mist Dragon
  • *
  • Posts: 1
    • View Profile
Re: FF6 Improvement Project
« Reply #671 on: September 24, 2014, 12:40:45 AM »
Is this under development still? :hmm:

DrROBschiz

  • Mom Bomb
  • *
  • Posts: 112
    • View Profile
Re: FF6 Improvement Project
« Reply #672 on: January 09, 2015, 01:46:53 PM »
Time to get this thing back to LIFE

Where ya at Dark Mage? I have a lot of people rediscovering FF6 lately and this is one of the few patches that maintains Vanilla setups

Oh And I have a copy of "General Publics" unofficial update from page 40. I am wondering if I should reupload since its the only version that allows a completeably game if I remember right

SedrynTyros

  • Wing Raptor
  • *
  • Posts: 6
    • View Profile
Re: FF6 Improvement Project
« Reply #673 on: February 20, 2015, 02:59:50 PM »

This is the best FF6 project I've ever seen!  Has DarkMage abandoned it completely at this point?  :hmm:

TheNattak

  • Garula
  • *
  • Posts: 203
  • Gender: Male
  • Mike
    • View Profile
    • Return of the Dark Sorcerer
Re: FF6 Improvement Project
« Reply #674 on: February 24, 2015, 02:53:59 PM »
Well it's not like it was never released or anything, there is still more than enough to enjoy with it. Seems the final last 1-2% of stuff he had planned is dialog based, the Opera singing I think? And possibly other semi-superficial things. The latest 1.07 seems to have a slew of bugs that need sorting out, so you should use the 1.06 for playing I'd imagine.