Author Topic: Some PSX questions (VII)  (Read 6494 times)

psychospacefish

  • Guest
Some PSX questions (VII)
« on: 2005-10-03 01:43:50 »
Hi all. I'm in the process of fixing up a few of the mistranslations for the PSX version of Final Fantasy VII (Off Course! and No, Way! springs to mind). The thing is, that in a lot of places the text is now longer. I can fix up the pointers, however when the game is playing the text puts itself on a new line, making some words split between lines. This is rather annoying. I need to know a few things.

1.) How does the script work when it is displaying windows (length and width)

2.) How can you calculate how big the new window will be to fit the text correctly?

3.) Since the new DAT files will be bigger, I need to rebuild the CD. Does the game have any LBA table, which if not corrected will cause the game to crash?

Thanks for any responses :D

root2149

  • Guest
n00b
« Reply #1 on: 2005-12-07 09:46:04 »
Quote from: psychospacefish
The thing is, that in a lot of places the text is now longer.

 OMG u'r such a n00b. go sit in the corner and be ashamed of yourself. :evil:  :x

Cyberman

  • *
  • Posts: 1572
    • View Profile
Re: Some PSX questions (VII)
« Reply #2 on: 2005-12-07 16:37:09 »
Quote from: psychospacefish
Hi all. I'm in the process of fixing up a few of the mistranslations for the PSX version of Final Fantasy VII (Off Course! and No, Way! springs to mind). The thing is, that in a lot of places the text is now longer. I can fix up the pointers, however when the game is playing the text puts itself on a new line, making some words split between lines. This is rather annoying. I need to know a few things.

1.) How does the script work when it is displaying windows (length and width)
2.) How can you calculate how big the new window will be to fit the text correctly?

Code: [Select]

 Opcode Listings, Arguments & Descriptions
Opcode Name
0x00 RET
Arguments Definition
(none) (none)
Description
Returns control back to the standard program loop.
Usually you can control the PC again after this point.
Opcode Name
0x01 REQ
Arguments Definition
(none) (none)
Description
Returns control back to the standard program loop.
Usually you can control the PC again after this point.
Opcode Name
0x30 WINDOW
Arguments Definition
id = byte Window ID
x = long X coordinate for the upper left hand corner
y = long Y coordinate for the upper left hand corner
h = long Width of window in pixels
w = long Height of window in pixels
Description
Initializes a windowpane. This does not display a window, but allows for a
"container" for the commands ASK and MESSAGE to place text within. It
is referenced by it's window ID.
Opcode Name
0x48 ASK
Arguments Definition
unknown = byte Unknown
win = byte Window ID to place data into
mes = byte Which dialog to display from dialog table
1st = byte Which line is the first choice
nth = byte Which line is the last choice
var = byte Unknown
Description
The ASK command opens a window with a set of choices to be picked
with the "selector finger" (Yubi) [WHERE IS THIS RETURNED?]


Quote from: psychospacefish
3.) Since the new DAT files will be bigger, I need to rebuild the CD. Does the game have any LBA table, which if not corrected will cause the game to crash?

Thanks for any responses :D

Yes or something like it, you need to keep your changes within the 2K sector sizes used by the original game. I THINK I've found where the PSX version hides the LBA addresses in the executable.  However in order to confirm the data I am going to have to examine the structure of the FF7 ISO then search the executable for the M:S:F address information.

Cyb

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Some PSX questions (VII)
« Reply #3 on: 2005-12-07 17:44:06 »
Cyb,

I've been thinking about working on the fieldscript system as of late. Do you have an updated list of opcodes? or do we really only have those 10 or 12 commands figured out.

Also, the problem with the PSX version of FF7 is that some of the CD has funny sized sectors (XA data) I don't know how you could re-author them...

Qhimm

  • Founder
  • *
  • Posts: 1996
    • View Profile
    • Qhimm.com
Some PSX questions (VII)
« Reply #4 on: 2005-12-07 22:18:34 »
We have quite a few commands figured out (their syntax and semantics that is, not necessarily their implementation). I haven't had time to publish any results though, school is good at keeping me busy.

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Some PSX questions (VII)
« Reply #5 on: 2005-12-08 17:13:09 »
Tell me about it Qhimm, I'm graduating in April...

BA in Business. ^_^ Go me.

Cyberman

  • *
  • Posts: 1572
    • View Profile
Some PSX questions (VII)
« Reply #6 on: 2005-12-08 18:59:53 »
halkun: and there was much rejoicing. Hey you can do stuff.. etc.  Oh wait WORK and have time for other things I mean :)

Qhimm: dang... how about a little bit a week for the opcode info

I've updated some things in the information page recently, added a computer crash whine (LOL).  Sometimes this stuff seems to take forever.  I suppose I'll have to begin my field script decompilor thing.

Is there a determined script format yet? If not I suppose I can make that part of my decompilation work.

Cyb

Cyberman

  • *
  • Posts: 1572
    • View Profile
Some PSX questions (VII)
« Reply #7 on: 2005-12-08 19:04:48 »
Quote from: halkun
Cyb,

I've been thinking about working on the fieldscript system as of late. Do you have an updated list of opcodes? or do we really only have those 10 or 12 commands figured out.

Also, the problem with the PSX version of FF7 is that some of the CD has funny sized sectors (XA data) I don't know how you could re-author them...

No I don't.
I'm sure Qhimm has lots more :D

Since the image would be ripped to full sectors (IE 2048 plus all the extra data associated with an audio sector), it's doable might be easier to create a new image from the original and move things about cleanly.  The big difference is tagging the sectors appropriately etc. It appears the executable contains the LBA references SO it means that would need updating as well if you oversized a file.

Cyb