Hi everyone,
I'm new to the whole FF7 modding thing.
I decided after playing Crisis Core, and gettng FF7 on my PSP to try and make it look a bit...better, fit the PSP screen better etc. On the PSP you can set it to "full" screen, but it cuts off the top and bottom (as the PSP is widescreen).
What I would like to do is move the menus if possible to fit on a widescreen aspect ratio. That includes all inner menus, battle menu and field text.
I want to attempt this a bit at a time, so I decided to start with the field dialog. From what I've learnt so far, the PSX version menus are in the MNU files, but these are hard-coded R3000a? If so, does anyone know if they contain the positioning information? I presume also that the field windows are drawn via the WINDOW opcode in script, and then the psx exe will draw a new window, so I would probably need to find the section in the PSX executable that draws a new window, and ensure that the y value is never less than, say, 100 or something. Does anybody know where about in the PSX executable the opcodes are processed? I know how to disassemble and debug psx files, but have yet to find the right section of code.
Presumably, if I can find the section of the exe that processes opcodes, I can also alter the WMODE function to always have transparent backgrounds? (like the PC mod)
So far I've created a program to extract BINs, read TIMs and decompress LZCs, so I can access most of the files.
I may be wrong on a lot of counts here as well, I've only been reading up on this for the last couple of days, so I don't know everything yet (far from it)
*EDIT*
For anyone who is interested, by using the memory addresses defined in the script DAT files, I've traced the text drawing procedures to 0x800d5f1c and 0x800d6c3c. I'm not quite sure why there are two yet, one for the foreground text and one for shadow? Or maybe one to measure the text? They're called from 0x800d4f2c, which is called from 0x800cafcc (which seems to be active until the field dialog is closed, so probably runs the whole DIALOG function). That is called from 0x800bb9c8, so I presume that is part of the script opcode processing code. Still in the progress of figuring any of this out, I might be 100% wrong.
*EDIT 2*
Okay, I think the offset that handles the WINDOW script is 0x800CB3AC, thats where it reads in the parameters anyway, so unless it is a generalised script reading function (that reads 1 byte, and 4 shorts and then mods them? unlikely), this must be the part that needs altering.