øA slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=printpage;topic=2074.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index27ca.html slickproductions.org /forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2074.0 e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/index27ca.html.z x ìg^ ÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÈ €ñ2 õ7 OK text/html ISO-8859-1 gzip 0|Ö õ7 ÿÿÿÿÿÿÿÿ Tue, 10 Mar 2020 04:42:43 GMT 0ó° °® 0® P® €§² ð® ìg^ õ7
Print Page - Dialogue Window Position (SOLVED!)
Board of Slick
Library of the Ancients => Final Fantasy IV Research & Development => Topic started by: chillyfeez on June 14, 2015, 09:00:52 AM
Title: Dialogue Window Position (SOLVED!)
Post by: chillyfeez on June 14, 2015, 09:00:52 AM
Well, what the heck, I'll put this up. I'm trying to figure out how to make the dialogue window appear on the bottom half of the screen instead of the top. For most events, it would make sense, since the main character is always in the center (unless you make yourself invisible and use an NPC stand-in), and the tendency is to make the action occur north of the main character (for several reasons). Unfortunately, it seems the dialogue window is the hardest of all to manipulate. I've found this post from many years ago http://slickproductions.org/forum/index.php?topic=1007.msg10152#msg10152 But the "Main Dialogue Window" referenced there must be something else entirely, because those offsets are not called at all when dialogue appears. (The addresses shown are ROM with header, and yes, I did try converting to LoROM - they're definitely not called) Kinda too bad HHIPDragonFox isn't still around. He spoke in very difficult-to-understand terms, but if you look at his posts, he was into a lot of really cool stuff. Looks like he cracked five-digit damage display ages before I did. Anyway, the problem is he never posted anything about the dialogue window.
Nor did Dragonsbrethren in this post: http://slickproductions.org/forum/index.php?topic=88.0 Again, lots of window data, but not the primary dialogue window.
I also found the sprite map for the window frame, at $14/F6D6 (that's LoROM, it's 976D6 in ROM without header), but that information on its own doesn't help me change where on the screen those sprites are drawn.
So... Any graphics gurus out there reading this and have any insight?
Title: Re: Dialogue Window Position?
Post by: Bahamut ZERO on June 19, 2015, 12:25:42 PM
Hmm... I'm no graphics guru, but perhaps taking a look at the setup of Item Window (the one used during events like Curing Rosa, tossing the MagmaKey down the Agart Well, etc) would offer some sort of information? Try giving an event the "Item Selection Window" event command, and see if that one calls an X/Y coordinate. You might get a clue on where the game's storing X/Y coordinates for Dialogue Windows in general, or rig the Dialogue Window to call from the same oordinates.
Title: Re: Dialogue Window Position?
Post by: chillyfeez on June 19, 2015, 03:28:37 PM
That's actually a really good idea, BZ. I observed the routines for the location title window, and while I could understand and manipulate that pretty easily, it's nothing like the dialogue window in the way it works. The item selection window, being the same size and on the bottom half of the screen, might be more helpful. I'll give it a try when I finally crack the orbiting earth conundrum I'm currently mired in...
Title: Re: Dialogue Window Position?
Post by: chillyfeez on June 23, 2015, 12:43:16 PM
Another conundrum solved!
Thanks, by the way, Bahamut ZERO, for the suggestion - observing the item selection window was EXACTLY the key to figuring this out.
In order to make the Dialogue window appear on the bottom half of the screen, the following five bytes need to be changed:
OFFSET (LoROM)DEFAULT VALUECHANGE TOPURPOSE ------------------------------------------- B444138FVertical position of the top of the center portion of the window (immediately below the top frame) B4550388Vertical position of the top of the window frame B4711490Vertical position of the bottom of the center portion of the window (this value is incremented as the wondow opens, btw) B4A40588Vertical position of the bottom of the window frame (also incremented as the window opens) B0EBEC70Vertical position of the text within the window It should be noted that making these changes makes it impossible to see the yes/no and GP windows when they appear (unless you were to change their positions as well), because the dialogue window has top priority. I think for the purpose of TfW, I'm going to make the dialogue window position dependent on an event flag, so the window will be on the top half by default, but if I want to make text appear on the bottom half instead, I'll just set the flag first! :cycle:
Title: Re: Dialogue Window Position (SOLVED!)
Post by: Bahamut ZERO on June 23, 2015, 01:17:12 PM
That's so awesome! I can't wait to see that in action!
By the way, what is LoRom? I'm in an experimentation mood today and would like to mess around with this, but I'm not sure what you mean by LoRom.
Title: Re: Dialogue Window Position (SOLVED!)
Post by: chillyfeez on June 23, 2015, 01:27:27 PM
LoROM is the offset system used by the SNES. It corresponds to the regular (viewable in a hex editor) offset of teh ROM, but not on a 1:1 basis. When you view hex in Geiger's SNES 9X Debugger, you're viewing the LoROM offsets (which is why offset B000 in your hex editor is not the same as B000 in SNES 9X).
There is an algorithm: LoROM enumeration begins at 8000, then for every 8000 the ROM offset increases, LoROM increases by 10000. so...
ROM (in a normal hex editor) offsetLoROM offset --------------- 00008000 800018000 1000028000 1800038000 2000048000 When Grimoire LD and I post stuff on this site, we're usually using LoROM, because we tend to do most of our assembly hacking in a live ROM. You get to see instant results that way.
Title: Re: Dialogue Window Position (SOLVED!)
Post by: Bahamut ZERO on June 26, 2015, 12:30:28 PM
Hmm, I might have to wait to tinker with that, at least until I have a better grasp of LoRom and how to mess with it.
Title: Re: Dialogue Window Position (SOLVED!)
Post by: chillyfeez on June 26, 2015, 02:31:01 PM
My understanding is that some hex editors will actually allow you to view the offsets in LoROM. Windhex apparently is one. For whatever reason, Windhex doesn't really work very well on my computer, so I don't use it, but if it works for you, it might make things a bit easier.
Title: Re: Dialogue Window Position (SOLVED!)
Post by: Bahamut ZERO on August 09, 2015, 01:46:27 PM
After 101 sidetracks, I finally got around to trying out the Dialogue window edits... and oh my god man I love it haha. It just looks so much more natural for 90% of the scenes!
That being said, have you made any headway with making the message box's position switch-dependant? The kind of control that would bring would be nothing short of epic!
Title: Re: Dialogue Window Position (SOLVED!)
Post by: chillyfeez on August 09, 2015, 03:39:52 PM
Oh, that's now fully implemented in TfW. It uses an event flag, so the player doesn't have control of it, but the game-maker has full control (want the dialogue to appear on bottom? Set flag x. Want to make it appear on top again? Clear flag x.). I'll have to dig up the assembly I used to make that possible. I'll post it here soon.
Title: Re: Dialogue Window Position (SOLVED!)
Post by: Bahamut ZERO on August 09, 2015, 03:59:47 PM