Page 1 of 2

Replace WinEQ2 with MQ2

Posted: Thu Jun 23, 2016 7:42 pm
by dewey2461
Goal: Get rid of WinEQ2

WinEQ2 is a great program. That crashes daily. Does not seem to be supported.

Required features:
#1 - Ability to start a selected character.
a) from MQ2 Icon
b) from batch file
#2 - Ability to set the CPU Affinity *and* load round robin
#3 - Ability to control the window decorations and initial placement
#4 - Ability to set the window title to current players name

Nice features:
#5 - Ability to set hoykeys to switch between instances ( I personally don't use them )

Stretch goals:
#6 - Ability to record video and make movies. ( I have used this and it works great as a debugging tool )

Re: Replace WinEQ2 with MQ2

Posted: Thu Jun 23, 2016 8:57 pm
by warlock45
One of the driving reasons I use winEQ is the EQPlayNice part, where I notice a significant reduction in system resource hogging by EQ. I can put load up 50-75% more instances with EQ then with out, before hitting serious system lag.

If nothing else, loading it on old laptops that could not otherwise play EQ, winEQ makes them able to load 1-2 instances.

Re: Replace WinEQ2 with MQ2

Posted: Thu Jun 23, 2016 9:56 pm
by dewey2461
warlock45 wrote:One of the driving reasons I use winEQ is the EQPlayNice part
Does the EQPlayNice go beyond what we have with in the client with the foreground/background throttling under Options-> Display -> Advanced -> Max FPS

MQ2FPS seems to do pretty much the same thing for me.

Re: Replace WinEQ2 with MQ2

Posted: Thu Jun 23, 2016 10:50 pm
by MacQ
I use mq2fps to improve video/overall performance and it works great.

Re: Replace WinEQ2 with MQ2

Posted: Fri Jun 24, 2016 1:30 am
by warlock45
I have no idea what all EQPlaynice does altogether, I just know it works. Thus, figured it was worth mentioning =)

Re: Replace WinEQ2 with MQ2

Posted: Fri Jun 24, 2016 1:36 am
by demonstar55
warlock45 wrote:I have no idea what all EQPlaynice does altogether, I just know it works. Thus, figured it was worth mentioning =)
It does what MQ2FPS does.

At the end of the day, there is EQPlayNice, ISBoxer, MQ2FPS, and built in. Just use one. Anymore will hurt performance.

Personally I disable EQPlayNice in WinEQ2 and set built in to unlimited on both and use MQ2FPS :P

Re: Replace WinEQ2 with MQ2

Posted: Fri Jun 24, 2016 12:08 pm
by Wink-
I use WinEQ2 for the EQPlayNice combined with ISBoxer. The background rendering is what I use the EQPlayNice for. I tried to configure MQ2FPS to do the same but I found the documentation on another site a bit lacking.

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 10:24 am
by EqMule
Next version of macroquest2.exe will have a profiles menu.

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 11:08 am
by dewey2461
EqMule wrote:Next version of macroquest2.exe will have a profiles menu.
Nice! Will we be able to start instances from the command line?

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 11:26 am
by EqMule
I'm not sure I understand what you mean by that, but imagine the macroquest2.exe is running and it's in your tasktray, you can rightclick it and the menu pops up, it has a new submenu called Profiles.
If you expand profiles you will see a Create New... And if you have some profiles you will see them.
Profiles are saved in mq2autologin.ini as encrypted blobs, so you can't add them manually, only through the create new, which opens a small dialog which asks you for: servername, Charname, login and password.

Those 4 things are used to construct a "blob" using a Windows API that encrypts that info in a way that theoretically can't be decrypted unless you are using the same computer and the same user credentials see CryptProtectData for more info.
In other words, it will no longer matter if anyone else gets hold of your mq2autologin.ini because there are no plaintext passwords stored in it anymore.

Now when you have a profile created a new menu will pop up:
For example:
I add a new profile for server drinal, character eqmule.
The profiles menu will then popup: Profiles->drinal->eqmule
If I click it eqgame will launch and send the login info to the client as drinal_eqmule and then mq2autologin takes over.
It will detect that the login name is drinal_eqmule and with that info it will be able to lookup the blob and extract the password from it, change login to eqmule and then fill in the password, and login, it knows we want to use server drinal, since we sneakily sent that through the login field earlier.

Finally there is also a new option called Load All, and basically it loads all accounts that are checked under the profiles menu.

Basically profiles are server names atm. So if you select load all under profile drinal, then it will launch all eqgame it needs to load them all, makes sense?
It will once I release, I expect this to be ready in a couple days.
I still have to add checkboxes on the profiles so you can uncheck/check accounts for the load all feature (load all checked)

In my test this morning it logged in 6 chars by itself without any problems.

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 11:48 am
by dewey2461
Right now I have an autohotkey script with my character names as buttons:

[toon1] [toon2] [toon3] .... [ A ] [ B ]

If I click on toon1 it does "Run "%WinEQDir%WinEQ2.exe" /plugin:WinEQ2-EQ.dll %sChar%" and logs that character in.

If I click [ A ] it loops over my character list and sets all the Character=XXXX in the MQ2AutoLogin.ini to my "A" team, then calls the above "Run WinEQ.exe ... "

If I click [ B ] it loops over and set the 2nd string alts, then calls them.

That is why I'm asking if there will be a way for autohoykey or a batch file to tell MQ to load a particular character.

I should probably just wait and see what you come up with! :lol:

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 12:25 pm
by EqMule
Well if you want to use a hotkey or whatever you would have to change it to do Run eqgame.exe patchme /login:drinal_eqmule
And mq2autologin will take care of the rest.
Well the mq2autlogin I will release that has code in it to detect this kind of launch.

I don't know if this is exactly what you want but it was the most reasonable approach considering the time spent and only 3 people where willing to chip in ;)

(Someone send me 50 bucks, I'm taking the family to the park today for ice cream :)

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 12:34 pm
by dewey2461
EqMule wrote:Run eqgame.exe patchme /login:drinal_eqmule
Perfect - $50 sent via paypal.

Re: Replace WinEQ2 with MQ2

Posted: Sat Jun 25, 2016 12:46 pm
by EqMule
Awesome and thanks!!! It's much appreaciated, I'll do my best to get this released quickly so you can test it and we can tweak it until it's good.

Re: Replace WinEQ2 with MQ2

Posted: Sun Jun 26, 2016 9:14 pm
by JudgeD
The reason I use WinEQ is because I want to emulate full screen while in a window. EQ doesn't play too nicely in full screen natively for me, lots of crashes and sluggishness when trying to use my second monitor. As such, I don't know if I could use this feature, unfortunately