Saturday, July 12, 2014

EVE Mentat FULLY FUNCTIONAL In Wine (Mac OS X + Linux)

Another night of intense troubleshooting has finally yielded results: EVE Mentat's cache scraping feature is functional under wine! I've been up for quite a while, so I will spare you the more gory details and quickly summarize my findings, followed by a quick tutorial on how to set the cache scraping feature up.

After much searching, trial, and error with no positive results, I remembered that I actually know some Python and figured with the amount of time I've sunk in, it couldn't hurt to take a look at the code for Reverence, the Python library written by the famous Entity for cache scraping EVE. I realized that the way Reverence scrapes the cache is by determining the name of the folder through the directory of the application, as the cache folder's name is generated by EVE based on its install location. However, EVE running on Unix runs through Cider, generating its own file structure where its install directory is always:
C:/Program Files/CCP/EVE
Making the folder's name:
 c_program_files_ccp_eve_tranquility
The path we specified earlier for EVE's install directory is long and convoluted, on the Z drive:
Z:\Applications\EVE Online.app\Contents\Resources\EVE Online.app\Contents\Resources\transgaming\c_drive\Program Files\CCP\EVE
Reverence was generating the folder name using this path, coming up with the name:
z_applications_eve_online.app_contents_resources_eve_online.app_contents_resources_transgaming_c_drive_program_files_ccp_eve_tranquility
As you can see, this is a far cry from the short name of the actual folder. In the previous guide, I symlinked this cache folder into Wine, so I figured I would try to change its name to the name generated by Reverence; alas, the solution was not so simple, as the rename operation was denied by the system citing an inappropriately long name.

What to do? The solution turned out quite simple.

First, I opened up a terminal window and ran:
winecfg
In the "Drives" tab, I made a new drive, D, and I set its Drive Mapping to:
 /Applications/EVE Online.app/Contents/Resources/EVE Online.app/Contents/Resources/transgaming/c_drive/
Now, we have a drive D, contains the faux Windows folder structure that houses EVE. Within EVE Mentat, I set the path to my EVE client to:
D:\Program Files\CCP\EVE
EVE Mentat now has a valid client location. Now I need to set up the new folder structure. I navigated to
~/.wine/drive_c/users/[USERNAME]/Local Settings/Application Data
and deleted the symlink I made earlier. I made a new folder called CCP, opened it up and made another new folder called EVE. Next, I ran this command in terminal:
ln -s "/Users/[USERNAME]/Library/Application Support/EVE Online/p_drive/Local Settings/Application Data/CCP/EVE/c_program_files_ccp_eve_tranquility" ~/.wine/drive_c/users/[USERNAME]/Local\ Settings/Application\ Data/CCP/EVE/
Following that command, I renamed the newly created "c_program_files_ccp_eve_tranquility" folder to:
d_program_files_ccp_eve_tranquility
 Simple, right? Opened up EVE, looked some stuff up on the market, imported cache from EVE Mentat and everything was silky smooth.

Hopefully I'll make another post tomorrow on getting this process set up from scratch, but in the mean time, every step you need to make this work is present here.

Good luck everyone, trade safe o7
 

No comments:

Post a Comment