"Which type of multiplayer game…"button removal??
-
is there a kinda shiffre for the for the buttons itself. The texts are removed by replacing the 80 3E with 00 00.
So i guess the first two edits from 0x0174634 up to 0x0174648 are for the buttons (in that example for the first two buttons). My question is related to remove other buttons as well. Different address or same address -> other values for sure
Someone has an idea? Thanks in advance.
-
yeah why not –> for single player only games…
What i am asking is the:174634: E8 47 E5 EA FF 83 7C 24 50 01 77 11 DB 05 4C 46 57 00 EB 0D [ C7 44 24 70 00 00 00 00 C7 44 24 74 00 00 00 00 C7 44 24 78 ]
removes the first two buttons. I think this is kinda code, because the pattern [ C7 44 24 70 00 00 00 00 C7 44 24 74 00 00 00 00 C7 44 24 78 ] looks very easy tho, its continued 3 times at this offset. Thus i thought to remove other buttons must be at this offset too. Hence i wanted to know if there is kinda code for one button only - so that i can remove the buttons i would like to remove.
For example if i want to remove button 1 and 5, or 2 and 4… (examples - i know that they are useless). There must be a different kind of value at this offset. And just someone dont need to post 5 different values for the 5 buttons i thought there is kinda procedure for one particular button only - so i can get the total value myself (for those buttons i want to remove)…
If there is not such code then i please would like to know the following:
remove button 1: address - value -> posted above
remove button 2: address - value -> posted above
remove button 3: address - value
remove button 4: address - value
remove button 5: address - valueThanks in advance!
-
The buttons are set up in a loop. The patch tests if the counter is above 1 (0 = new game, 1 = load game) and, if not, uses a big negative number to calculate the offset (thus moving it off screen, rendering it useless). Doing it this way, there’s room to remove any two buttons, or one button plus any number of buttons from the top or bottom. It would also be possible to shift them to the right side of the screen, or display them as a row, rather than a column. Anything else would require a plugin. The text of the buttons can be removed by replacing the other 80 3E sequences: 174744, 174781, 1747BE.
Specifically, if you want to remove MULTIPLAYER, replace 01 77 with 02 75 and put 00 00 into 174744. Shifting the other buttons up is more complicated.
-
Wow amazing Adoxa. I am just curious how you find out what offset at the exe causes what effect in game? I know there is a relation but never understood how you could find something like elements from within the application in the exe binary code (besides static strings :)).
That worked! Thx again!
-
Huor wrote:
I am just curious how you find out what offset at the exe causes what effect in game?For stuff that uses text, I just search my disassembly listing for its resource number. That will show me where the button is created, then it’s off to the debugger to track down where it gets used.
-
adoxa wrote:
Specifically, if you want to remove MULTIPLAYER, replace 01 77 with 02 75 and put 00 00 into 174744. Shifting the other buttons up is more complicated.You got me here. At which address do i do this? Followed the examples for removing the singleplayer buttons and that worked fine. Want to try just removing the multiplayer button now myself.
You say replace 01 77 with 02 75, but where? Which address do i type in to get those?
-
# Remove the "MULTIPLAYER" button on the main menu. # Jason Hood, 28 November, 2009 & 29 June, 2014. File: Freelancer.exe 174634: E8 47 E5 EA FF 83 7C 24 50 02 75 [ C7 44 24 70 00 00 00 00 C7 44 24 ] 11 DB 05 4C 46 57 00 EB 0D [ 74 00 00 00 00 C7 44 24 78 ] 174744: 00 00 [ 80 3E ] ```I guess you're familiar with what to do, but for those who came in late… As is, the above is a file used by my [BwPatch](http://misc.adoxa.vze.com/#bwpatch) utility (so save it as **nomp.crk** and run **bwpatch -f nomp.crk** within the **EXE** directory, or change the paths as appropriate). Doing it manually, load up **Freelancer.exe** in a hex editor, navigate to hex offset **174634** (which may need to be specified as **0x174634**, depending on the editor), where you should see the bytes inside the brackets - overwrite them with the bytes before the brackets.
-
Freelancer.exe 166571 04->00 = grey out "MULTIPLAYER" menu button ~adoxa ```If you want to do it programmatically, you could dynamically patch the above (at 0x566571 of course), or *(int*)0x67BA50 ^= 1 to disable/toggle it and *(DWORD*)0x67BAB0 = 0xAABBGGRR to change the color (disabled color @ 0x67BAC0). (It's not normally how you'd disable a button, but this one is on a timer, which is what the patch modifies.)