Author Topic: Editing the in game menu  (Read 5061 times)

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #50 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.

DLPB

  • No life
  • *
  • Posts: 8483
  • Karma: 231
  • This rose will never die This rose will never die
    • View Profile
Re: Editing the in game menu
« Reply #51 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

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #52 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

DLPB

  • No life
  • *
  • Posts: 8483
  • Karma: 231
  • This rose will never die This rose will never die
    • View Profile
Re: Editing the in game menu
« Reply #53 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.
« Last Edit: 2016-06-04 08:24:05 by DLPB »

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #54 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

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #55 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....)

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #56 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

DLPB

  • No life
  • *
  • Posts: 8483
  • Karma: 231
  • This rose will never die This rose will never die
    • View Profile
Re: Editing the in game menu
« Reply #57 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. 

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #58 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.
« Last Edit: 2016-07-04 03:08:01 by Tsunamix »

Kaldarasha

  • No life
  • *
  • Posts: 2085
  • Karma: 122
  • Prince of Model Editing
    • View Profile
Re: Editing the in game menu
« Reply #59 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.

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #60 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?

Kaldarasha

  • No life
  • *
  • Posts: 2085
  • Karma: 122
  • Prince of Model Editing
    • View Profile
Re: Editing the in game menu
« Reply #61 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.

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #62 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

Kranmer

  • Freak
  • *
  • Posts: 767
  • Karma: 9
    • View Profile
Re: Editing the in game menu
« Reply #63 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)

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #64 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.

DLPB

  • No life
  • *
  • Posts: 8483
  • Karma: 231
  • This rose will never die This rose will never die
    • View Profile
Re: Editing the in game menu
« Reply #65 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.

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #66 on: 2016-07-04 23:44:35 »
Yeah send me the list, heres some pics of my work so far



Sneaky Step/Zenene






Just a few here

DLPB

  • No life
  • *
  • Posts: 8483
  • Karma: 231
  • This rose will never die This rose will never die
    • View Profile
Re: Editing the in game menu
« Reply #67 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. 

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #68 on: 2016-07-04 23:54:09 »
Ah, sorry about that, this is sorta my personal style so im used to this.

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #69 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.

Tsunamix

  • Freak
  • *
  • Posts: 589
  • Karma: 13
  • Check out my work - https://goo.gl/m4NFlm
    • View Profile
    • The home of Tsunamods
Re: Editing the in game menu
« Reply #70 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.



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:


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


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