Qhimm.com Forums

Miscellaneous Forums => Scripting and Reverse Engineering => Topic started by: Nightmare799 on 2014-01-20 18:17:09

Title: Making double cut independent command
Post by: Nightmare799 on 2014-01-20 18:17:09
Is it possible to make double cut an independent command like mug, as in that it creates separate command in battle without overriding attack?

I am using wallmarket tool btw.

Edit: Also, would it be possible to transfer limit from one character to another?

EDIT2: I think I already got it. If my theory is right, changing the type of materia from 2 to 6 should mean that the game will add separate command with type modifier 25 and 27 (I have no idea what those two are but screw that).

In other words, it will make double cut a separate command.

EDIT3: Nope. That was not it. Anyone here has any experience with this?
Title: Re: Making double cut independent command
Post by: cmh175 on 2014-01-22 17:55:44
I'm not sure about attacks, it could be possible to change double cut but I think it's more likely to crash the game. Swapping limits isn't really possible. They're animations that only work with that characters skeleton. I could be wrong, but I think the only way to really do something like that would be to actually swap models, like build Cloud onto another characters skeleton.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-22 19:36:48
I'm not sure about attacks, it could be possible to change double cut but I think it's more likely to crash the game. Swapping limits isn't really possible. They're animations that only work with that characters skeleton. I could be wrong, but I think the only way to really do something like that would be to actually swap models, like build Cloud onto another characters skeleton.

I tried, but I am afraid that making double cut commands not to replace attack is beyond wallmarket capabilities. And yeah, only way to switch limits would be to re-rig the character models.
Title: Re: Making double cut independent command
Post by: vayneruel on 2014-01-22 20:23:35
If you use PC version exist a solution to eliminate mega-all of the attack command and you use double cut even equipped mega-all materia.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-22 20:28:01
If you use PC version exist a solution to eliminate mega-all of the attack command and you use double cut even equipped mega-all materia.

Uhh sorry, I cant really understand what you are trying to say....

Title: Re: Making double cut independent command
Post by: nfitc1 on 2014-01-22 20:51:42
He's saying it's possible to make Mega-All (which overrides Attack-replacing commands other than Flash) NOT grant the Slash-All command and allow you to use the Double-Cut command on the PC. English isn't his first language.

change 0x1CC449 from 74 to E9

in case you're interested.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-22 20:57:56
He's saying it's possible to make Mega-All (which overrides Attack-replacing commands other than Flash) NOT grant the Slash-All command and allow you to use the Double-Cut command on the PC. English isn't his first language.

change 0x1CC449 from 74 to E9

in case you're interested.

Thanks you rock man!

EDIT: Strange, did you mean to change that in wallmarket editor, or hexedit the ff7 exe?
Title: Re: Making double cut independent command
Post by: vayneruel on 2014-01-23 14:09:35
Edit FF7. exe
Title: Re: Making double cut independent command
Post by: nfitc1 on 2014-01-23 15:40:19
OK, I found the cause of your problem and have a solution.

There's this function in the exe I have labeled as "byte FindEmptyMenuSlot( byte cIndex )" that looks for a place to put a command in the menu when building the command menu. This menu can hold 16 commands though in practice I don't remember it having more than 12. In this function, Slash-All, 2x-Cut, Flash, 4x-Cut and Attack commands are designated to the first slot in the menu so they'll override each other (If you have a Double Cut materia in an armor slot, that will take priority over a Slash-All materia in a Weapon slot). Magic/W-Magic are assigned the second slot, Summon/W-Summon the third and Item/W-Item the fourth. Any other command gets the next empty slot past the fourth.

FIX:
This takes two steps. First, the exe needs to be modded. Second, the materia needs to be changed (as you noticed).

Step 1:
Make these changes for the following commands (raw exe addresses):

Code: [Select]
Slash-All:   0x1CE2FD: FD -> C1
2x-Cut:      0x1CE30A: F0 -> B4
Flash:       0x1CE317: E3 -> A7
4x-Cut:      0x1CE324: D6 -> 9A

This will prevent that function from telling the menu building function that they go in the first slot.

Step 2:
Change the materia to type 6. Sub-Type doesn't matter.

Slash-All and Double Cut are the only type 12 materia. Change them to type X6 and they'll now be independent commands.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 17:20:40
OK, I found the cause of your problem and have a solution.

There's this function in the exe I have labeled as "byte FindEmptyMenuSlot( byte cIndex )" that looks for a place to put a command in the menu when building the command menu. This menu can hold 16 commands though in practice I don't remember it having more than 12. In this function, Slash-All, 2x-Cut, Flash, 4x-Cut and Attack commands are designated to the first slot in the menu so they'll override each other (If you have a Double Cut materia in an armor slot, that will take priority over a Slash-All materia in a Weapon slot). Magic/W-Magic are assigned the second slot, Summon/W-Summon the third and Item/W-Item the fourth. Any other command gets the next empty slot past the fourth.

FIX:
This takes two steps. First, the exe needs to be modded. Second, the materia needs to be changed (as you noticed).

Step 1:
Make these changes for the following commands (raw exe addresses):

Code: [Select]
Slash-All:   0x1CE2FD: FD -> C1
2x-Cut:      0x1CE30A: F0 -> B4
Flash:       0x1CE317: E3 -> A7
4x-Cut:      0x1CE324: D6 -> 9A

This will prevent that function from telling the menu building function that they go in the first slot.

Step 2:
Change the materia to type 6. Sub-Type doesn't matter.

Slash-All and Double Cut are the only type 12 materia. Change them to type X6 and they'll now be independent commands.

Do I need to use visual basic studio for that? I tried to use hex editor but I didnt find any entries starting with 0x1.
Title: Re: Making double cut independent command
Post by: nfitc1 on 2014-01-23 17:32:24
Do I need to use visual basic studio for that? I tried to use hex editor but I didnt find any entries starting with 0x1.

Wha? Those are addresses in ff7.exe. What are you talking about?
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 17:46:41
Wha? Those are addresses in ff7.exe. What are you talking about?

I am a bit confused. I tried to open the FF7.exe in hex editor, but I can not find any adresses like that. How do I edit those adresses then?
Title: Re: Making double cut independent command
Post by: Covarr on 2014-01-23 17:48:12
Depending on your hex editor, it might not show "0x" in the address. Look for 1CE2FD.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 17:50:43
Depending on your hex editor, it might not show "0x" in the address. Look for 1CE2FD.
Nah, no results. Prolly hex editor is shit.

What are you guys using?
Title: Re: Making double cut independent command
Post by: Covarr on 2014-01-23 17:59:53
My hex editor of choice is HxD (http://mh-nexus.de/en/hxd/).
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 18:32:21
My hex editor of choice is HxD (http://mh-nexus.de/en/hxd/).

Nah still nothing. I am using the SE re release, does that make any difference?
Title: Re: Making double cut independent command
Post by: Covarr on 2014-01-23 18:43:21
The one from the SE store, or the Steam one? Thanks to SecuROM, all the addresses are offset in the SE store version.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 18:46:59
The one from the SE store, or the Steam one? Thanks to SecuROM, all the addresses are offset in the SE store version.

SE store, the HxD addresses are all offsets.
Title: Re: Making double cut independent command
Post by: DLPB_ on 2014-01-23 19:00:00
The one from the SE store, or the Steam one? Thanks to SecuROM, all the addresses are offset in the SE store version.

They are all offset by 0xC00.  But that wouldn't matter anyway since the exe cannot be modified more than likely because of the protection.
Title: Re: Making double cut independent command
Post by: Covarr on 2014-01-23 19:02:49
Dan nailed it. As an aside, you opened ff7_en.exe in your hex editor, then in the search menu you clicked GOTO, then you put in the address? If you click "find", it'll search for values, not the address itself.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 19:29:29
Dan nailed it. As an aside, you opened ff7_en.exe in your hex editor, then in the search menu you clicked GOTO, then you put in the address? If you click "find", it'll search for values, not the address itself.

I did use the goto, but it told me there was the number contains an invalid digit.
Title: Re: Making double cut independent command
Post by: DLPB_ on 2014-01-23 19:30:54
You need to learn the basics of hex editing, for sure. Read some tutorials from that program too.
Title: Re: Making double cut independent command
Post by: Nightmare799 on 2014-01-23 19:40:06
Ditto, the exe is edited.

It was a stupid mistake on my behalf, so sorry to waste your time guys. Anyway, is it alright if I just change the code for 2x cut and 4x cut? I Dont mind having flash and slash all replacing the attack, I just wanted to be able to attack with my limit ready, which is archieved with double cut.

EDIT: Tried to edit the code in ff7_en.exe too but the code for 1CE324 is 00 instead of D6. is that alright?

EDIT2: It doesnt matter, the code works! Thanks NFITC1, you are ace!