Metal Gear Solid 5: The Phantom Pain- 21:9 support broken FI

Gaming on 21:9 and ultra-wide single screen monitors
wazoo
Insiders
Insiders
Posts: 223
Joined: 08 Sep 2005, 23:22

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by wazoo »

Hey JackFuste,

Whelp, they done and broke your marker adjuster AGAIN with a new update.

Once again I appeal to your altruism to help us all out. :)

Thanks!

Wazoo
Gigabyte GTX 980 - SLI

i7-4770k @4ghz

16GB Ram

Planar SA2311W 3D Vision monitors (x3)

Windows 7 x64 Ultimate SP1
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

wazoo wrote:Hey JackFuste,

Whelp, they done and broke your marker adjuster AGAIN with a new update.

Once again I appeal to your altruism to help us all out. :)

Thanks!

Wazoo


Will have a look tonight as i still play that awesome game.

Edit : I have found a fix for markers position and ui size that should work fine.
Should be the same for sonar effect.

Here is the markers fix Cheat table.

mgsvtpp_1.0.7.1.zip

This will only work with latest version.

All you have to do is to edit this script (Markers position).

Edit these lines to match with your calculated X and Y aspect ratios.

Code: Select all

X_ratio:
  dd (float)50.1     // Here we set the correct X ratio
Y_ratio:
  dd (float)8.96666  // Here we set the correct Y ratio


Set these aspect ratios according to your specific resolution.
eg :
A triple Full HD widescreen 5760 * 1080 is 48/9
A Bezel compensated like mine 6012 * 1076 is 50.1/8.96666
50.1 = (6012 * 48) / 5760
8.96666 = (1076 * 9) / 1080

The UI size hasn't been touched.
the formula given previously by jackfuste gives the right aspect in game.
jackfuste wrote:64 * ((width/height)/1.77777)
For example, 64 * ((6000/1080)/1.77777) = 200.00087
So, 64 should be changed to 200.00087


After modification is done to markers fix script, you can check/uncheck the different boxes to activate/deactivate the fixes once the MG process is opened.

Don't forget to modify the markers size according to jackfuste formula.

All credits go to Jackfuste.
crunk
Posts: 8
Joined: 04 Feb 2016, 20:31

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by crunk »

Hi there,

Please if someone could release the ultrawide resolution 2560x1080p EXE updated would be great!

Thank you!
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

crunk wrote:Hi there,

Please if someone could release the ultrawide resolution 2560x1080p EXE updated would be great!

Thank you!


Here it is mgsvtpp_21-9.zip
crunk
Posts: 8
Joined: 04 Feb 2016, 20:31

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by crunk »

K4sh wrote:
crunk wrote:Hi there,

Please if someone could release the ultrawide resolution 2560x1080p EXE updated would be great!

Thank you!


Here it is mgsvtpp_21-9.zip


Downloading now, thank you so much! :clap:
blake_n
Posts: 11
Joined: 05 Feb 2016, 03:22

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by blake_n »

K4sh, would it be possible to update the MGO version of your Cheat Engine table so it works with the latest version?

Is it easy to find the address where the marker aspect ratio is stored? It seems only the first two lines of your script need to change with each update. Is this something I can do by myself by doing a few searches for certain values through Cheat Engine?
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

blake_n wrote:K4sh, would it be possible to update the MGO version of your Cheat Engine table so it works with the latest version?

Is it easy to find the address where the marker aspect ratio is stored? It seems only the first two lines of your script need to change with each update. Is this something I can do by myself by doing a few searches for certain values through Cheat Engine?


If your familiar with pointer search then you'll be able to find the hardest part of the fix. I mean the UI size.
The markers position is way far easier to find.
Here is the array of byte to look for :
F3 0F 59 05 * * * * F3 0F 59 0D

Once you find the above disassemble it in memory.
If you see the following you're probably done.

mulss xmm0,[mgs process address]
mulss xmm1,[mgs process address]

with the comments 16 & 9 for both lines you should be done.

mgs process address are mgsvtpp.exe+20925D0 & mgsvtpp.exe+20925D4 in latest patch (single player)
They should be different in MGO process. Once you find and disassemble the opcodes above, change the view style to show the relatives address.
These informations found, modify the script so that it always inject the fix in your mgo process at correct memory location.

For the UI size well, that's a little more tricky.
Don't have time to explain it right now but with a lot of chance it may have not change since the previous patch so just give a try.

As soon as you understand how to do it yourself i would be very glad you deal with mgo as i don't personally play it :)
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

K4sh wrote:Here is a cheat table that should work with MGO.

mgsvmgo_1021.ct

As soon as it accesses and modify the process you may be vac banned (who knows).
........



Is it possible you linked the wrong file in this post? It links to mgsvtpp_1.0.7.1.ct and does not have any mention of mgsvmgo.exe, I am still new to this so maybe i got it all wrong.


thanks
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

Phoeny wrote:
K4sh wrote:Here is a cheat table that should work with MGO.

mgsvmgo_1021.ct

As soon as it accesses and modify the process you may be vac banned (who knows).
........



Is it possible you linked the wrong file in this post? It links to mgsvtpp_1.0.7.1.ct and does not have any mention of mgsvmgo.exe, I am still new to this so maybe i got it all wrong.


thanks


You were right. I edited that post to reflect the right link. You can download it now. ;)

Note : Yesterday, the single player has been updated. Dunno if it's the same for MGO.
So depending on this, cheat table may work or not.
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

I am still struggling to understand your code.

Thats for 2 reasons.
1. I am not skilled at coding.
2. thats the 1st time i work with cheatengine.

These should be the new values for the marker fix for MGO.

mgsvmgo.exe+2D67447 - F3 0F59 05 59159CFE - mulss xmm0,[mgsvmgo.exe+17289A8] { [9.00] }
mgsvmgo.exe+2D6744F - F3 0F59 0D ADCB9DFE - mulss xmm1,[mgsvmgo.exe+1744004] { [16.00] }
mgsvmgo.exe+2D6745C - F3 0F59 1D A0CB9DFE - mulss xmm3,[mgsvmgo.exe+1744004] { [16.00] }


But i still havent figured out where to insert them.

Your Script does create a new Spot in memory to prepare everything at +2D837B8 and later at line 60 it injects it into Mgo, did i understand that right?
I have no idea what line 62 - 71 does

at line 73, 75 and 78 i guess i have to replace 2 values with the values from above

But somehow i think i should not replace 2D837B8 in line 73.

in the end i have no clue what i am doing.

Please Help
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

I will give you a hand tonight after work.
This script is only to fix markers position (not floating).
Then you will have to find the pointer to UI size to make them look original (the hardest part).
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

Many thanks.

i only care about position not about size, because size is not gamebreaking.
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

Ok, so here is the script code you should rewrite for the latest MGO patch

Code: Select all

define(address,"mgsvmgo.exe"+2D837B8) // replace here with mgsvmgo.exe+2D67447
define(bytes,F3 0F 59 05 28 52 9A FE F3 0F 59 0D 7C 08 9C FE) // replace here with bytes in mgo process @ mgsvmgo.exe+2D67447 (total exact count is 16 bytes)

[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
assert(address,bytes)

alloc(newmem,$2000,"mgsvmgo.exe"+2D837B8) // replace here with mgsvmgo.exe+2D67447
alloc(X_ratio,12)
alloc(Y_ratio,12)

label(change_XY_ratios)
label(return)

X_ratio:
  dd (float)50.1     // Here we set the correct X ratio eg: 48
Y_ratio:
  dd (float)8.96666  // Here we set the correct Y ratio eg: 9

newmem:

change_XY_ratios:
  mulss xmm0,[Y_ratio]
  mulss xmm1,[X_ratio]
  jmp return

address:
  jmp change_XY_ratios
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
  nop
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
address:
  db bytes
  // mulss xmm0,[1417289E8]
dealloc(X_ratio)
dealloc(Y_ratio)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "mgsvmgo.exe"+2D837B8

"mgsvmgo.exe"+2D83788: F3 0F 5C 82 68 01 00 00  -  subss xmm0,[rdx+00000168]
"mgsvmgo.exe"+2D83790: F3 0F 10 58 3C           -  movss xmm3,[rax+3C]
"mgsvmgo.exe"+2D83795: 0F 28 F2                 -  movaps xmm6,xmm2
"mgsvmgo.exe"+2D83798: 66 44 0F 6E 40 48        -  movd xmm8,[rax+48]
"mgsvmgo.exe"+2D8379E: 66 44 0F 6E 48 4C        -  movd xmm9,[rax+4C]
"mgsvmgo.exe"+2D837A4: F3 0F 5E F0              -  divss xmm6,xmm0
"mgsvmgo.exe"+2D837A8: 45 0F 5B C0              -  cvtdq2ps xmm8,xmm8
"mgsvmgo.exe"+2D837AC: 45 0F 5B C9              -  cvtdq2ps xmm9,xmm9
"mgsvmgo.exe"+2D837B0: 41 0F 28 C0              -  movaps xmm0,xmm8
"mgsvmgo.exe"+2D837B4: 41 0F 28 C9              -  movaps xmm1,xmm9
// ---------- INJECTING HERE ----------
"mgsvmgo.exe"+2D837B8: F3 0F 59 05 28 52 9A FE  -  mulss xmm0,[mgsvmgo.exe+17289E8]
// ---------- DONE INJECTING  ----------
"mgsvmgo.exe"+2D837C0: F3 0F 59 0D 7C 08 9C FE  -  mulss xmm1,[mgsvmgo.exe+1744044]
"mgsvmgo.exe"+2D837C8: 0F 2F C1                 -  comiss xmm0,xmm1
"mgsvmgo.exe"+2D837CB: 76 1F                    -  jna mgsvmgo.exe+2D837EC
"mgsvmgo.exe"+2D837CD: F3 0F 59 1D 6F 08 9C FE  -  mulss xmm3,[mgsvmgo.exe+1744044]
"mgsvmgo.exe"+2D837D5: F3 0F 5E C8              -  divss xmm1,xmm0
"mgsvmgo.exe"+2D837D9: 0F 57 0D 80 6F 90 FE     -  xorps xmm1,[mgsvmgo.exe+168A760]
"mgsvmgo.exe"+2D837E0: F3 0F 59 1D EC B2 9D FE  -  mulss xmm3,[mgsvmgo.exe+175EAD4]
"mgsvmgo.exe"+2D837E8: EB 0F                    -  jmp mgsvmgo.exe+2D837F9
"mgsvmgo.exe"+2D837EA: 1C DC                    -  sbb al,-24
"mgsvmgo.exe"+2D837EC: F3 41 0F 59 D8           -  mulss xmm3,xmm8
}


Now read carefully at the original memory area opcodes in comment just above. That will help you updates after updates to find the relevant address.
mulss xmm1... must follow mulss xmm0... and the comment column should indicate 16 & 9 ratios

1 - You have to change exactly the mgo adress in script to the one you have found (mgsvmgo.exe+2D67447).
2 - You have to change exactly the bytes in "define(bytes" line with the ones that you can read at new adress "mgsvmgo.exe+2D67447".

If you don't do it right, your script won't work and the checkbox will not be checkable.
If your script is working, don't forget to save it.

Now a little word about Jackfuste original script.
It tells to read the X ratio to a new adress where the float 50 is stored by the mgs process.
It's ok until a 50 / 9 widescreen but not for a triple 21/9 setup.

I hope i did myself clear and it will help you. And please, whenever a new mgo update is out, release a new cheat table so that the others may benefit it.
If you need explanation about finding the ui size pointer let me know. It may help other players.

And finally, don't forget to credit Jackfuste for your CT as without him nothing would have been possible.
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

Ok, it works. Many Thanks for your help.

But only the Horizontal axis. the vertical axis ist still messed up. Doesnt the script modify the vertial axis?

I really would apprechiate if you could tell me how to do it and what to modify.

Does this part stay as it is or should i change it too? Or does { } mean its commented out?

Code: Select all

{
// ORIGINAL CODE - INJECTION POINT: "mgsvmgo.exe"+2D837B8

"mgsvmgo.exe"+2D83788: F3 0F 5C 82 68 01 00 00  -  subss xmm0,[rdx+00000168]
"mgsvmgo.exe"+2D83790: F3 0F 10 58 3C           -  movss xmm3,[rax+3C]
"mgsvmgo.exe"+2D83795: 0F 28 F2                 -  movaps xmm6,xmm2
"mgsvmgo.exe"+2D83798: 66 44 0F 6E 40 48        -  movd xmm8,[rax+48]
"mgsvmgo.exe"+2D8379E: 66 44 0F 6E 48 4C        -  movd xmm9,[rax+4C]
"mgsvmgo.exe"+2D837A4: F3 0F 5E F0              -  divss xmm6,xmm0
"mgsvmgo.exe"+2D837A8: 45 0F 5B C0              -  cvtdq2ps xmm8,xmm8
"mgsvmgo.exe"+2D837AC: 45 0F 5B C9              -  cvtdq2ps xmm9,xmm9
"mgsvmgo.exe"+2D837B0: 41 0F 28 C0              -  movaps xmm0,xmm8
"mgsvmgo.exe"+2D837B4: 41 0F 28 C9              -  movaps xmm1,xmm9
// ---------- INJECTING HERE ----------
"mgsvmgo.exe"+2D837B8: F3 0F 59 05 28 52 9A FE  -  mulss xmm0,[mgsvmgo.exe+17289E8]
// ---------- DONE INJECTING  ----------
"mgsvmgo.exe"+2D837C0: F3 0F 59 0D 7C 08 9C FE  -  mulss xmm1,[mgsvmgo.exe+1744044]
"mgsvmgo.exe"+2D837C8: 0F 2F C1                 -  comiss xmm0,xmm1
"mgsvmgo.exe"+2D837CB: 76 1F                    -  jna mgsvmgo.exe+2D837EC
"mgsvmgo.exe"+2D837CD: F3 0F 59 1D 6F 08 9C FE  -  mulss xmm3,[mgsvmgo.exe+1744044]
"mgsvmgo.exe"+2D837D5: F3 0F 5E C8              -  divss xmm1,xmm0
"mgsvmgo.exe"+2D837D9: 0F 57 0D 80 6F 90 FE     -  xorps xmm1,[mgsvmgo.exe+168A760]
"mgsvmgo.exe"+2D837E0: F3 0F 59 1D EC B2 9D FE  -  mulss xmm3,[mgsvmgo.exe+175EAD4]
"mgsvmgo.exe"+2D837E8: EB 0F                    -  jmp mgsvmgo.exe+2D837F9
"mgsvmgo.exe"+2D837EA: 1C DC                    -  sbb al,-24
"mgsvmgo.exe"+2D837EC: F3 41 0F 59 D8           -  mulss xmm3,xmm8
}



Anyway, Here is the partially working Table.

All credits go to Jackfuste :clap:
Thanks to K4sh for teaching me how to modify it
Last edited by Phoeny on 05 Feb 2016, 20:41, edited 2 times in total.
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

What is your aspect ratio (21/9, 48/9 ...) resolution ?
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

21:9 3440x1440 Single monitor
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

Phoeny wrote:21:9 3440x1440 Single monitor


Ok Phoeny, this is because your resolution is not exactly 21/9
In fact it is 28.6666666666 / 12 (2.38888888888 ratio)

(3440 * 16) / 1920 = 28.666666
(1440 *9) / 1080 = 12

Don't forget that this is a formula i gave earlier.
You were bounded to a 21/9 aspect ratio.

So the exact X & Y ratio in script should be:

Code: Select all

X_ratio:
  dd (float)28.66666666     // Here we set the correct X ratio
Y_ratio:
  dd (float)12  // Here we set the correct Y ratio


Now i understand why you don't bother that much about ui size as original is bounded to 64 while your ui size should be 86.
The ui size should be a little more bigger for you. But the bigger X ratio (48 4 eg) you play, the bigger the markers size are.

One last important note :
I have no idea what VAC operate on this title. you inject code in mgo at your own risk
blake_n
Posts: 11
Joined: 05 Feb 2016, 03:22

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by blake_n »

Thanks for all the help K4sh. Sorry, it seems I opened the floodgates of questioning about your modification of JackFuste's CE scripts. Appreciate it!
K4sh
Posts: 145
Joined: 19 Aug 2010, 23:05

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by K4sh »

Now tells me if it works...
Phoeny
Posts: 14
Joined: 05 Feb 2016, 13:14

Re: Metal Gear Solid 5: The Phantom Pain- 21:9 support broke

Post by Phoeny »

I have updated it with your values and the Vertical is better now.

but they both shift outward now. When you Mark somthing and move your camera to the left the Marker goes faster to the right than the thing you marked.

i guess i have to fiddle a bit around with it


Made a mistake while updating the values. Its working great now.

Link in my last post. I think everyone has to update the values for the ratio himself.
Last edited by Phoeny on 05 Feb 2016, 21:43, edited 1 time in total.
Post Reply

Who is online

Users browsing this forum: No registered users and 7 guests