Qhimm.com Forums

Final Fantasy Forums => Scripting and Reverse Engineering => Topic started by: Tsunamix on 2016-02-20 16:41:22

Title: Editing the in game menu
Post by: Tsunamix on 2016-02-20 16:41:22
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
Title: Re: Editing the in game menu
Post by: DLPB on 2016-02-20 17:03:51
All has to be done via hex editing. Manually.  You will need to know basic x86 assembly and have a debugger to hand.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-20 17:05:33
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.
Title: Re: Editing the in game menu
Post by: DLPB on 2016-02-20 17:12:31
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 (https://drive.google.com/file/d/0B3Kl04es5qkqLTlPbFpwTlRIN2s/view?usp=sharing)

Reunion R04c corrects thousands of alignment issues with the original menu.  R03 has a graphical overhaul with a new font.

Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-20 17:15:52
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
Title: Re: Editing the in game menu
Post by: DLPB on 2016-02-20 17:18:35
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.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-20 17:22:14
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
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-20 17:25:30
Here's the idea video I found https://m.youtube.com/watch?v=bKVKLPB8llo
Title: Re: Editing the in game menu
Post by: DLPB on 2016-02-20 17:31:23
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.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-20 17:34:27
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.
Title: Re: Editing the in game menu
Post by: paul on 2016-02-21 10:52:03
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).
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-21 14:23:30
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
Title: Re: Editing the in game menu
Post by: Kaldarasha on 2016-02-21 15:57:48
 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.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-21 16:18:40
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
Title: Re: Editing the in game menu
Post by: paul on 2016-02-22 20:28:25
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.
Title: Re: Editing the in game menu
Post by: Kaldarasha on 2016-02-22 20:41:53
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. ::))
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-23 17:18:17
Thanks guys every bit of information I get helps me alot. Appreciate it, thanks
Title: Re: Editing the in game menu
Post by: paul on 2016-02-24 17:36:40
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.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-24 18:01:33
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
Title: Re: Editing the in game menu
Post by: paul on 2016-02-24 18:07:10
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.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-24 18:14:34
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.

Awesome you really do come in handy, Ill check this asap
Title: Re: Editing the in game menu
Post by: paul on 2016-02-28 21:42:22
Any update on this?
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-02-28 22:54:12
Unfortunately no not yet, i have a friend that has a fair bit of knowledge on hex the hex editing and basic assembly work so im waiting on him to get some free time.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-03-03 04:16:45
Hey guys, right umm ive been doing tons of research with this and im beginning to grasp tile mapping, which file does what and the basic assembly. What im struggling with or at least i think is .. the dll file you sent me Paul to replace the original, What exactly do i do with it, do i delete all the text and call references or do i need to keep some? From what i cam tell the graphics are in btl_win_h.tex but im unsure, also im looking in the menu overhaul mod to get an idea of how things work and i dont understand how we separate the textures into different bmp's and call them to a specific command in script. How can i just add a bmp/png whichever, name it something and have it called to different modules (menu, equip, limit ect) just a single pic like buster_00. Im fairly sure with a lot of google'ing ive managed to find the right number thingys in the exe for specific text/avatars but not the cursor or cursor shadow when selecting a specific text. Again with the config menu i dont know where or how the window colour operation is performed and it doesn't lead me to anything. I dont  know if any of this makes sense i don't really understand it myself nevermind explain it to anyone else.
Title: Re: Editing the in game menu
Post by: paul on 2016-03-05 18:21:29
Hey guys, right umm ive been doing tons of research with this and im beginning to grasp tile mapping, which file does what and the basic assembly. What im struggling with or at least i think is .. the dll file you sent me Paul to replace the original, What exactly do i do with it, do i delete all the text and call references or do i need to keep some? From what i cam tell the graphics are in btl_win_h.tex but im unsure, also im looking in the menu overhaul mod to get an idea of how things work and i dont understand how we separate the textures into different bmp's and call them to a specific command in script. How can i just add a bmp/png whichever, name it something and have it called to different modules (menu, equip, limit ect) just a single pic like buster_00. Im fairly sure with a lot of google'ing ive managed to find the right number thingys in the exe for specific text/avatars but not the cursor or cursor shadow when selecting a specific text. Again with the config menu i dont know where or how the window colour operation is performed and it doesn't lead me to anything. I dont  know if any of this makes sense i don't really understand it myself nevermind explain it to anyone else.

Sounds like you're better building a replacement menu outside of the game, then add it into the game later?

Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-03-05 18:25:16
Yeah but I still don't exactly know how to do it. I don't think I know enough to so this project but I don't wanna give up
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-05-27 00:05:25
Working on this again, got it all figured out now

Does anyone know how to resolve an issue i have with this, i am able to completely design the menu to a state where it looks awesome and im happy but everything i move ie hp bar mp bar level etc also moves on every other menu like item magic and such resulting in everything not fitting. i need to only move in the 1 menu at a time.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-05-30 15:49:31
Sorry for the triple post here but i dont think my edit re-bumps the topic. In addition to my previous comment im also having trouble saving my edits, i have all my numbers written down so i can copy/paste easily but i need to save it back into an exe so i dont have to do this every time. Im using cheat engine to do it
Title: Re: Editing the in game menu
Post by: DLPB on 2016-05-30 17:01:32
Use HextLaunch in DLPB Tools.  After you are done, you can use the same text file with HextEdit.  This will save you a LOT of time.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-05-30 17:56:16
Ill try that, thanks. You were right this is a long process, i was using cheat engine because it allows me to see whats moving as i do it. Does yours do the same?
Title: Re: Editing the in game menu
Post by: DLPB on 2016-05-30 19:40:15
No, but it will allow you to instantly end up back where you were every time you load the game. You still use cheat engine.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-05-30 20:15:29
So whenever i change a number and crash it it'll save, if so thats so handy, thanks DLPB. Did you happen to know if i can change the location of things on the menu without also moving in all other menus too or will i have to redesign every menu to fit around it?
Title: Re: Editing the in game menu
Post by: DLPB on 2016-05-30 21:00:20
It depends what menu you are trying to change and what the code is.  You can always recode things.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-01 15:38:37
Ok ive got all that sorted, its saving now which saves soooo much time, i can put it in IRO and everything. Only problem im having without introducing my item menu magic etc issues is im trying to move the HP/MP values along the X-axis, i can move them but it'll only go to like 73 then it vanish's. Ive tried editing the adjacent values but it still vanishes. Are there rules in this that im missing?
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-01 15:44:11
Yeah - you need to understand that there are signed byte values....  7f is the maximum you can have with a signed byte. To extend it, you need to look in to making the value range larger.

This will obviously mean at least one more byte of space is needed, which you don't have.  You have to make that extra byte by editing code - or when that's not possible - moving to a blank area of code, replicating the piece you needed as the jump or call opcode - and the  jumping back.

Depending on situation you can use call - ret, rather than jump jump.

But it's best to edit code rather than jump or call where possible.

Show me the exact address and I will give you an example.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-01 15:51:01
Yeah i havent got a grasp of the move, add push stuff. Ive just been messing with numbers and found patterns to help me out. Uhh the code i have is 006C64C5 =28 i altered the address so the 1st number was the one i could change cuz it kept crashing. Right now it's an xor

Also with some like the word HP/MP and LV when the values goes above something it changes from say HP to MP. It's confusing me

2nd edit, i dunno if this example is the easiest to understand. when its 28, its says HP i can alter it to 30 which will move it left, but if i alter it to 31 The H the sorta dissapears behind something and im left with just the P

AHH another edit, this is probably better 006C6518 = 7B i guess i can take it 7F but i need it further to the Right. Use this one its more like what your asking

What do you use to change the coding, ive tried a few decompilers but it never gets me  anywhere
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-01 18:50:01
You use cheat engine to edit code... it is a full debugger.  You need to get the basics of assembly down (for example, you don't need to enter "68" to create a push.  Just highlight the instruction and type in "Push 10" to push 10 onto the stack.  Also... learn all about the stack.)  Learn the opcodes.  It doesn't take that long - assembly is logical  and has good syntax despite being time consuming.  Unlike C and C++ that I want to bomb out of existence and refuse to learn.

I will take a look at your example soon and show you.  It's much easier being shown.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-01 19:42:30
Sounds good, thanks for the help
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-01 20:12:47
To move that value, a quicker way is to move all values across and then adjust, unless you can't do that?

mov edx,[ebp+08]

You can see here that the starting value is being taken from ebp +8 (which is the first argument of the current function you are in).  You can edit that argument to move it across  - or you can remove that entry entirely which will save 3 bytes.  Let's take the latter example:

While not on the screen you are editing (so game doesn't crash)

 Change mov edx,[ebp+08] to  "push 100"

And then delete the "push edx" below. Either right click and replace with code that does nothing or left click and enter "nop"  which is opcode 90 and means "no operation".  If you don't delete the push edx, you will have TWO pushes which completely wrecks the stack and will likely cause a crash.

But I have a feeling you actually want to move the whole lot right before you make a tweak to the add instruction - in which case, you need to find what placed a value at [ebp+08] in the first place.  Easy to do.

Simply search for the current function:

The current function starts at 6C62A2 (these usually follow a "ret" instruction - which is the function before it returning).

So search for 6C62A2 in "find assembly code" 

You'll end up seeing that there are many of them - this is because that function is called for all the different menus.... The PHS menu etc all call that same function.

The first one returned in my list is 6CAC02. Go into it and you can see that the first argument is added to at 6CABFB - so change from 9D to maybe 100  and you'll see that the main menu has been altered.... ALL entries have been moved right.  And also notice that this value is already past 7F and uses more bytes... so you can go as far as you want. If you want to move left, you need to use FF FF FF 10 etc to use negative numbers or... better yet... change the add to a sub (I am not sure if that add opcode allows negative add... I'd need to look at documentation.  But remember this for a 4 byte push value.).

You will need to do this for all functions that call 6C62A2  if you want to make the change on all menus...  OR you can do it the other way as my first example - and change THAT function.  The change will then be reflected on all menus.  It all depends how you want to do it.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-01 23:50:40
Okay, thats very helpful. Assuming i get the same numbers. I did notice that altering some would change the type and also change the numbers that corresponded to that type. If i can work this out properly i may go back to the beginning and start with this new idea. The only thing on the menu this far i haven't been able to move is the players name. Only way i could do it was using the status line i got from the notes you sent me. But that required everything to move which knocked it all out of place. If i can extend the reach of each component i can use the status to move everything but only focus on the name, leave it there and rearrange everything around it i guess. If a value goes too far the the left and appears like its behind something im guessing its a box placed for the form position. Or just the same situation as my 1st example where it reaches the end of its acceptable area. There are a few lines i didnt understand where if i changed it from C2 to C1 or 50 to 51 (This occurred alot with these specific numbers) It would alter the player names separately for instance cloud would move left and barret would move right. This confused me but it also made me think that if i can access these and move each players stats independently i could even have them going vertically rather than horizontal. Kinda like FF13 (Hated it but i though the menu was pretty cool)
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-02 00:05:48
With practice and research you'll become more adept and wonder why you ever did it the way you did when you started.  I restarted the menu project 3 times - one of those times was to redo all the hex changes. And now I'm happy with it :)

If the string goes outside the box, then you need to move the box.  It's not difficult, as I showed you above.  It's all about looking at what is causing the offset in the first place. When a value is truly 0, it will be at position 0 - the furthest left coordinate on screen.  When you see ebp + 8 or whatever, and then add, edx 2D - push edx (for example), chances are that it is inside a box and is being fed the start box X or Y pos. 

Also, there are times when you will need to adjust the Z value.  This is a floating point push value usually... so you'll see things like Push 3F x x x  or whatever the numbers are. It will be near the x y pushes obviously.  Sometimes it's not there because a register is being pushed in its place.  I had to add one or two of them manually.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-02 00:19:30
Alright ill do all this research now anyway. Yeah i never understood how a Z could be in, Pushing on a Z should be no different unless its a 3d space which its not so? Meh. After i do have this im gonna need to figure out out how to disconnect the main menu from all the others. When i get it perfect on the main window the others look ridiculous cuz its just copy and pasted basically.

Also ive been using your BC as a basis to edit so my changes will also have yours in if thats okay
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-02 00:28:40
It's fine - just remember to give credit :)
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-02 00:30:42
No problem, when i first opened this thread and seen what you sent me i felt like i was looking at ancient Egyptian rocket science but it's not bad after a little trial and error
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-03 01:35:48
Nah im lost again, i couldn't really work out how your programs help so what i ended up doing was opening your because IRO and looking in the hext folder to see what you did. I coppied your style and that's how i was able to save it with repacking. For some reason some values arent changing. Im thinking maybe im doing something completely wrong, ive been wreaking my head and getting nowhere, starting to get stressfull. Can i send you a copy of my notepad instructions so you can put them in your because mod and see what i have and help me that way?
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-03 02:06:33
did you check the hextlaunch log?  It tells you if something hasn't changed.  Also, I don't use iro (that's 7th heaven?)... I use my own installer :)
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-03 02:30:18
So how am i doing this? Alot of the values on this list dont have any new changes there just listed so i dont forget them. Heres what i have right now if you google ff7 remake menu images will give you a rough picture of what im attempting. You'll see the max Hp problem im having among others. If you figure this out and send it back perhaps with a list of what you did i would learn it better

https://www.mediafire.com/?oamxu671vb14tu7
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-03 02:54:35
I don't see any issue there.  The syntax is correct - and the values you have stated will be changed.  Check hextlaunch.log.

What's the problem?
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-03 12:08:07
The problem was moving the current HP further to the right without it sisapearing among similar issues with the others too
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-03 19:20:43
Remember to do as I did above.  Trace what pushes the values onto the stack for that function.  Head up until you find the start of the function (usually after a ret) and then search for it. Or edit the current function how I did.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-03 19:27:43
Yeah it seems so simple and ive attempted it i just cant for some reason. I can right click it, select function and scoll to the top of it and find the ret. Replace with no code then im lost.
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-03 19:34:15
Which address.  I'll go through this one with you, but then I am back to my own projects :P
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-03 19:37:06
Thanks i know im being a pain, once i see it done ill get it.
006C6553 Try move this to the very right of the hp bar for me. Then just a brief explanation, if you wanna make sure i get this perfect maybe a screenshot from time to time lol
After this ill leave you alone unless i get an unrelated question :D Promise
Title: Re: Editing the in game menu
Post by: DLPB on 2016-06-04 07:58:09
Again, if you are moving numbers from there, then why not move the entire box?  But regardless...  to move that further right from that position you need to modify the code.

mov edx,[ebp+08]

Isn't going to be needed because you are going to set the push manually and regardless of the box position.

So change it to push 100. Then nop the push edx, because you cannot pass another push into the function that follows (the Call) when it isn't expecting one.

this leaves:  006C654E = 68 00 01 00 00 90 90

And that will do what you need.

Unfortunately, the screen transition does not work nice when you edit this function and you'll likely have to duplicate this change in a few places.  That's why it's better to just move the whole box right from the push values that go into this function (This function starts 6C62A2)  and then make a small change to the add edx.

I'm not going to be able to help much because my workload is massive. Definitely look up assembly tutorials and learn about the stack.

The basics are that a function is CALLed and usually uses all the push values that preceded it.  If a function is expecting 3 arguments (X Y Z) then it will expect 3 values to be pushed onto the stack. Each push is 4 bytes of data.  After the function, the stack is corrected to remove the 12 bytes that were used.  The data remains in memory but is redundant.  The pointer (esp) changes.

That's why at 6C655A you see add esp,18 (24 decimal) - because it's correcting the stack pointer for 24 /4 (6) arguments.  In other words, 6 arguments were fed in to  call 006F9739. Two of those were the HP number's X and Y position.  The function 006F9739 then draws that to the screen.  You'll see 006F9739 an awful lot... because it's always doing the same task with different push values for each menu item.  That's how code works - functions call functions - and the stack works away in the background.

In ff7, you can always work out where the arguments reside, because they will always use ebp. So [Ebp+ 8] is the FIRST argument. [EBP + C] the second.  [EBP + 10] the 3rd.

[EBP + 4] holds the return address. The address that the program will jump to when it reaches a return (ret).

See here:

http://www.cs.virginia.edu/~evans/cs216/guides/stack-convention.png

Note that when optimization is on in compilers, they usually use ebp for a normal register (like eax, ecx, edx).  Debugging those programs is a lot harder, because you are always working with esp and have no easy reference that I just mentioned.  That's not relevant to FF7.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-06 19:51:48
Yeah with the 1st part you mentioned it works and the item moves to place but on other screens its different, plus opening and closing the menu has no slide effect. I see what you mean. Ill try get the second one working and after this id like to attempt to be able to get gifs working or possibly code in my own timelapse movie like the prelude credits
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-06-29 23:51:10
If there is a way i can separate 006C62C0 for example (HP bar X) from 006CABFB (The Box)without separating it from anything else it would be perfect. So it would still transition when changing form opening and closing the menu and if i remove it after using the box command to place it then it'll look good on other pages too. But i also would like a way i could move it myself on every page.

Is there a way i can cut the tie between 1 address to another instead of all of them. And how would i find these address's (Or is it just trial and error....)
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 02:25:24
Completely losing faith here... i feel like i have gotten so close but im still so far away. I can get the main page to look great. No problem. At the cost or detaching a code from all other codes. Is there anyone that can show me a way, ill try to use an analogy to explain this.

If code 000000001 is the HP bar on screen 1, can i right click it and choose show me what happens if i edit this.

And it then says yeah when this is changed 0000000002 will also move it in the item screen.

00000000003 will move it on the magic screen

00000000004 is the transition when opening and closing the menu.

00000000005 is if you choose to place the top character in the middle it comes with the rest of the stuff

Is there a way i can say "Yeah id like to remove number 2 and 3 but not the others?"
I can change the opcode to nop but that removes everything. When i select show me what access's this code i get a stupid amount of results.

I just need someone to do 1 address in the way im attempting to explain and show me in Lamens terms how it was done and ill be able to change all the menu to however i want it for everyone. When i understand this a little better im sure i can get the avatars to be shown as GIF's rather than PNG's along with maybe Buster.tex. If we can load PNG's instead of a tex why not a GIF? It;s all here somewhere i just cant see it, please help i hate to say it but im giving up slowly, it's been too long with no results
Title: Re: Editing the in game menu
Post by: DLPB on 2016-07-04 02:52:58
We can load png only because aali added support for it.  I don't think he added support for any other format. 
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 03:05:34
Could support be added? But with the rest of the stuff if there's no way of getting help with this I'll gladly accept defeat and release my hex addresses for someone else to make use of.
Title: Re: Editing the in game menu
Post by: Kaldarasha on 2016-07-04 06:32:08
It would be great if Aali would come back or if some body would make a new plugin for the graphic. The source of it was fully reversed: http://magnetiktank.blogspot.de/?m=1
Still programming is beyond my capability at the moment so I only have a hunch of an idea what he has reached there.

As alter alternative you could look what's possible with uMod and the steam version. Maybe some of the image formats support animations.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 16:31:24
I'll look into it. Not much of a programmer either but this project is frustrating me. What's the deal with umod?
Title: Re: Editing the in game menu
Post by: Kaldarasha on 2016-07-04 16:55:19
See here: http://forums.qhimm.com/index.php?topic=17025.0

It's possible to use/port for it all our mods here. The UI would be easy, but the BGs will be very hard to port because uMod produces many more images (or hashes)which needed to be replaced.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 17:09:12
Yeah i was just reading through that, i got uMod and addd FF7 to the game list but once i run it im not getting any textures coming up, youtube isnt helping me either
Title: Re: Editing the in game menu
Post by: Kranmer on 2016-07-04 21:21:58
yeah it sucks that no other format works :(, i tried a lot of different formats a long time ago with Aali's custom driver but other then PNG none worked (even "Apng" failed, which was the format i wanted to work the most at that time which works a little like a GIF), I remember a long time ago Aali saying he used libpng but since its part of his driver there is very little we can do with that info.
You could try adapting  Tonberry to work with ff7 and to accept different formats but i bet that would be a LOT of work (it can already extract BMP's from the game but inserting them back is a whole other matter)
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 21:30:12
Ahhh what annoys me the most is i understand pretty much everything that is said to me but lack the skills to do so, my area of expertise right now is modeling, i have quite a few custom models myself and i can do that all day. Ive been doing this hex editing and have it half done but got stuck, im also trying to get the program ultrasound to work, once ive figured that out i have a great idea for many things. But coding and programming i suck at. Once im shown step by step how to do something, ill master it though. But if someone is able to do that then they dont need me lol.
Title: Re: Editing the in game menu
Post by: DLPB on 2016-07-04 21:34:53
You should get hold of kaldarasha... there are a number of models that need touching up or creating.  I have a full list.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 23:44:35
Yeah send me the list, heres some pics of my work so far

(http://i1341.photobucket.com/albums/o753/Brendan_Hough/Aeris%20Wallmarket_zpsz5xsz89a.png)

Sneaky Step/Zenene
(http://i1341.photobucket.com/albums/o753/Brendan_Hough/Sneaky%20Step%20-%20Zenene_zpsfogz6uvb.png)

(http://i1341.photobucket.com/albums/o753/Brendan_Hough/Yuffie_zpsgdt5vhva.png)

(http://i1341.photobucket.com/albums/o753/Brendan_Hough/Yuffie%20AC_zpsv45lncrj.png)

Just a few here
Title: Re: Editing the in game menu
Post by: DLPB on 2016-07-04 23:50:33
Well, I personally wouldn't be able to use those despite them being well made - since they are way too far removed from the original style and polygon count. 
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-07-04 23:54:09
Ah, sorry about that, this is sorta my personal style so im used to this.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2016-12-30 16:18:09
Hey guys, sorry to bring this one back again but i have an issue and providing someone is able to fix it this mod is essentially complete!

Using 006C62D1 Which is the length of the hp bar, if someone can alter this in a way using these numbers
66 c7 45 f0 b0 00 except it only changes the length on the main page, not the item/magic ect.

The only problem i am now having with this mod is the fact that they all move on every page where i wanna move them individually.
Title: Re: Editing the in game menu
Post by: Tsunamix on 2017-05-06 00:47:06
Okay, so i know reviving a dead thread which is warned but it's my thread so that's okay right?

I wanna start making a real document here of what i have, where i'm going and what i'll need help with. This is all regarding the in game menu and it's individual sections.

So the address's i have so far are:
Code: [Select]
Main Menu Avatar's X Axis
006CAC20

Main Menu Avatar's Y Axis
006CAC16

Main Menu The Word Limit Level X Axis
006CADF8

Main Menu The Word Limit Level Y Axis
006CADF1

Main Menu Limit Level Number X Axis
006CAE3A

Main Menu Limit Level Number Y Axis
006CAE33

Main Menu Limit Level Bar outside X Axis
006CADAE

Main Menu Limit Level Bar outside Y Axis
006CADA7

Main Menu Limit Level Bar inside X Axis
006CAD51

Main Menu Limit Level Bar inside Y Axis
006CAD4A

Main Menu The Word Next Level X Axis
006CADD3

Main Menu The Word Next Level Y Axis
006CADCC

Main Menu Next Level Bar outside X Axis
006CAD80

Main Menu Next Level Bar outside Y Axis
006CAD79

Main Menu Next Level Bar inside X Axis
006CAC60

Main Menu Next Level Bar inside Y Axis
006CAC59


Main Menu The Word HP X Axis Ish
006C64C4

Main Menu The Word HP Y Axis
006C64CF

Main Menu HP Bar X Axis
006C62C0

Main Menu = HP Bar Y Axis
006C62CA

Main Menu HP Bar Length
006C62D1

Main Menu HP Bar Width
006C62D7

Main Menu Max HP X Axis
006C6551

Main Menu Max HP Y Axis
006C654A

Main Menu Current HP X Axis
006C6516

Main Menu Current HP Y Axis
006C650F

Main Menu HP / Symbol X Axis
006C6646

Main Menu HP / Symbol Y Axis
006C663F

Main Menu The Word MP X Axis Ish
006C6563

Main Menu The Word MP Y Axis
006C656E

Main Menu MP Bar X Axis
006C6336/006C6339

Main Menu MP Bar Y Axis
006C6340/006C6343

Main Menu MP Bar Length
006C634A

Main Menu MP Bar Width
006C6350

Main Menu Max MP Y Axis
006C65E9

Main Menu Max MP X Axis
006C65F0

Main Menu Current MP Y Axis
006C65AE

Main Menu Current MP X Axis
006C65B5

Main Menu MP / Symbol X Axis
006C661B

Main Menu MP / Symbol Y Axis
006C6614

Main Menu Max MP Colour
006C65CF

Main Menu Word MP Colour
006C6561

Main Menu Level Number X Axis
006C64B2

Main Menu Level Number Y Axis
006C64AB

Main Menu The Word LV X Axis Ish
006C646B

Main Menu The Word LV Y Axis
006C6476

Main Menu LV/HP/MP Letter Spacing
006F6375

Main Menu character stats X
006CABFB

Main Menu Character Stats Y
006CABF4


So out of all this i have mostly gotten everything where i would like it to be. Granted it looks a mess right now, i guess i'll show a pic haha.

(http://i.imgur.com/kIx3LlW.png)

The problems i am having..  which i really hope someone here may have an answer for is as follows.

******************************************************************

1. Being able to move something on 1 screen such as the Main WITHOUT it moving on another screen like the Item menu.

See this pic:
(http://i.imgur.com/h6XIrIJ.png)

Example to hopefully help is that this code "006CABFB" Which is the Character Stats (HP/MP values, names and bars) on the X axis will ONLY move on the main screen.

Where as this code "006C62C0" Which is the HP bars X axis moves on EVERY screen

******************************************************************

2. Being able to move anything on screen to any position.

This usually doesn't come into play but on occasion something simply cannot be moved far enough once the address hits 127. or 7F in hex,
I sort of know how to fix this but won't say no to more advice.

******************************************************************

Once i can achieve these things i will be able to completely redesign the in game menu however we want it and make a TON of variations for as many peoples liking's as possible. If this is achieved i can try move onto greater things, have no clue if they are possible but a few ideas i had was:

Changing the appearance of the menu boxes, can we add a picture or animation to it?

When your cursor goes to an option, light up that option or simply move it slightly to show that it's highlighted.

There's a ton of things we can do with the right info

But my end goal so far is for it to look something like this
(http://i.imgur.com/hUkKsMu.png)

Of course ideas will be taken from you guys, this is mainly just a test for now