Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
It is currently 14 Dec 2024, 12:47

All times are UTC [ DST ]




Post new topic Reply to topic  [ 869 posts ]  Go to page Previous  1 ... 55, 56, 57, 58, 59, 60, 61 ... 87  Next
Author Message
PostPosted: 05 Feb 2016, 17:28 
Offline

Joined: 19 Aug 2010, 23:05
Posts: 145
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).


Top
 Profile  
 


PostPosted: 05 Feb 2016, 17:47 
Offline

Joined: 05 Feb 2016, 13:14
Posts: 14
Many thanks.

i only care about position not about size, because size is not gamebreaking.


Top
 Profile  
 
PostPosted: 05 Feb 2016, 19:28 
Offline

Joined: 19 Aug 2010, 23:05
Posts: 145
Ok, so here is the script code you should rewrite for the latest MGO patch

Code:
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.


Top
 Profile  
 
PostPosted: 05 Feb 2016, 20:15 
Offline

Joined: 05 Feb 2016, 13:14
Posts: 14
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:
{
// 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.

Top
 Profile  
 
PostPosted: 05 Feb 2016, 20:30 
Offline

Joined: 19 Aug 2010, 23:05
Posts: 145
What is your aspect ratio (21/9, 48/9 ...) resolution ?


Top
 Profile  
 
PostPosted: 05 Feb 2016, 20:52 
Offline

Joined: 05 Feb 2016, 13:14
Posts: 14
21:9 3440x1440 Single monitor


Top
 Profile  
 
PostPosted: 05 Feb 2016, 21:09 
Offline

Joined: 19 Aug 2010, 23:05
Posts: 145
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:
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


Top
 Profile  
 
PostPosted: 05 Feb 2016, 21:14 
Offline

Joined: 05 Feb 2016, 03:22
Posts: 11
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!


Top
 Profile  
 
PostPosted: 05 Feb 2016, 21:15 
Offline

Joined: 19 Aug 2010, 23:05
Posts: 145
Now tells me if it works...


Top
 Profile  
 
PostPosted: 05 Feb 2016, 21:29 
Offline

Joined: 05 Feb 2016, 13:14
Posts: 14
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.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 869 posts ]  Go to page Previous  1 ... 55, 56, 57, 58, 59, 60, 61 ... 87  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  




Powered by phpBB® Forum Software © phpBB Group