Editing the in game menu

  • Thread starter Thread starter Tsuna
  • Start date Start date
Status
Not open for further replies.
T

Tsuna

Guest
Im not sure if there is a section for this already but how would i go about doing this? By in game menu i mean the one that pops up when you press triangle, just so theres no confusion. Id love to be able to move it around and customize it
 
All has to be done via hex editing. Manually.  You will need to know basic x86 assembly and have a debugger to hand.
 
ok, any chance i can get an in depth description or a step by step sorta thing to help out, once i know what to do i can go do it. Like the hex edit stuff im not sure on how it works, i have the exe's and stuff but messing around with it blindly probably isnt a good idea.
 
I don't have the time to start teaching basic assembly and what not - but we did document a lot of the addresses used. 

You can download those HERE

Reunion R04c corrects thousands of alignment issues with the original menu.  R03 has a graphical overhaul with a new font.
 
Nah the coding and assembly stuff I'll get myself. I meant like a step by step just in what to do with the exe on to what hex edit and what folder are things in after that
 
All menu item x y positions are in the exe.  Graphics are in menu_us.lgp  (you can use aali's driver to bypass this with png files).  I forget the folders needed....  You may be better installing Reunion R03 (not version 4)  - and that will give you a structure.
 
OK well I got the Idea mainly from a YouTube video I found done with video editing alone and wondered if it was possible. Like you mentioned there all I need is to change the png from boxes to whatever I decide and alter the x.y.z coords for the buttons. That's perfect
 
The answer is largely no. That would require huge changes to the engine and additional graphics and assembly.  If you have an enormous amount of time on your hands... and are adept in assembly... maybe.
 
I don't so much want to copy this. Like the battle I'm leaving. I have ff9 with coloured tabs and I'm happy. I just wanna know how to open up the game so that video could be possible.
 
I don't so much want to copy this. Like the battle I'm leaving. I have ff9 with coloured tabs and I'm happy. I just wanna know how to open up the game so that video could be possible.
You could do something like this, but you'll probably need to rewrite most of the menu system. Given the way the engine works this is possible but will take a lot of time and effort. Each module of the game is a struct with some pointers for like OnKey, OnUpdate, OnRender etc. So you'd have to reverse those, load a DLL that overwrites the menu module functions with your own. And then write your new menu system.

I'm doing something a bit like this for Metal Gear Solid 1: https://github.com/paulsapps/msgi this aims to fully reverse the game though, improvements to come later (apart from things that are required to actually make the game boot/use hardware rendering).
 
Its great that its do-able but im still clueless really, im going in to this blind willing to learn whats needed and take as much time as needed. I dont know how to get TO the folders with the details in let alone edit any of them, i was first hoping it was a simple png type thing haha
 
the best solution I can think of is to create an overlay to replace the menu. At the start I would place the new menu over the existing one and at the end I would try to disable the original UI  and adding additional features. The advantage of this would be an entirely outsourced and global UI of which we have full control of.
 
Yeah that sounds like a great idea. Hate to say the same things again but I still don't know where to start. I literally need a 'for idiot's sorta guide or instructions to start me off
 
the best solution I can think of is to create an overlay to replace the menu. At the start I would place the new menu over the existing one and at the end I would try to disable the original UI  and adding additional features. The advantage of this would be an entirely outsourced and global UI of which we have full control of.
If you replaced the menu module of the game this is exactly what you'd have. @Tsunamix you need to write a DLL that injects itself and takes over the menu module -i.e replaces the function pointers in the module struct with your own for rendering, input etc.

rcxrdx started doing some work on FF8 here, it would be something like this:

https://github.com/rcxrdx/FF8Modding/blob/master/src/Hooks.cpp

Apart from you are only interested in the menu module, access to the script vars (someone will already know all of the var addresses for these things), and the rendering API (again must be known since there is a custom opengl renderer dll).

Edit: Don't forget ergonomy_joe has fully reversed most of the game to source already: http://magnetiktank.blogspot.co.uk/

This is probably all the info you need.
 
Last edited:
If you replaced the menu module of the game this is exactly what you'd have.
Not exactly because the text input isn't handled by the menu. I probably would outsource it to the UI and would use strings to add a high mod compatibility support. However I'm not a programmer and can't do it (but I'm good in giving inspiration and ideas. ::))
 
Last edited:
Thanks guys every bit of information I get helps me alot. Appreciate it, thanks
 
Not exactly because the text input isn't handled by the menu. I probably would outsource it to the UI and would use strings to add a high mod compatibility support. However I'm not a programmer and can't do it (but I'm good in giving inspiration and ideas. ::))
The text input IS handled by the menu module! Trust me, replacing the menu module with your own would allow you to create the one seen in the youtube video. You'd have your own input handling, for rendering just make your own GL context and give the game engine a textured quad as the output. You'd need a few other hooks into the game to read the script vars etc.
 
Sounds good. I've managed to get into the exe and find all the numbers and stuff. And I have a good list of what all the numbers and sections do. But do I change the actual exe or create a dll?  Plus I know now I think how yo move things but I don't know how to change the appearance of something. Like the general interface and what not
 
Sounds good. I've managed to get into the exe and find all the numbers and stuff. And I have a good list of what all the numbers and sections do. But do I change the actual exe or create a dll?  Plus I know now I think how yo move things but I don't know how to change the appearance of something. Like the general interface and what not
https://github.com/paulsapps/OpenFF7/blob/master/src/OpenFF7.cpp

You can use this as a base. It compiles to a dll called ddraw.dll - when placed in the same dir as ff7.exe it will load the fake ddraw.dll instead of the real one. This can be used as the entry point for hooking the menu module functions and  replacing them with your own.
 
Status
Not open for further replies.
Back
Top