"Which type of multiplayer game…"button removal??
-
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.)