scripts icon indicating copy to clipboard operation
scripts copied to clipboard

Add Vortex

Open Kreyren opened this issue 5 years ago • 6 comments

image Vortex is the new, modern mod manager from Nexus Mods. It is designed to make modding your game as simple as possible for new users, while still providing enough control for more experienced veterans of the modding scene. Lead by Tannin, the creator of Mod Organizer, Vortex takes the lessons learnt during the development of MO and Nexus Mod Manager to provide the most powerful and intuitive modding experience available. (https://www.nexusmods.com/site/mods/1?tab=description)


HELP WANTED

Following libraries are required by the software which are based on provided info NOT AVAILABLE IN .NET! -> Looking for method to provide those without exporting them from DLLME.com which licence prevents redistribution. Based on https://www.nuget.org/packages/Microsoft.CSharp/ libs are under All Rights Reserved as stated here https://github.com/dotnet/corefx/blob/master/LICENSE.TXT.

  • microsoft.csharp.dll
  • system.configuration.dll
  • system.core.dll
  • system.data.dll
  • system.data.datasetextensions.dll
  • system.drawing.dll
  • system.net.http.dll
  • system.windows.forms.dll
  • system.xml.dll
  • system.xml.linq.dll

PLAN A

Provide script that downloads said libraries so that user can install said libraries manually.

PLAN B

Seems that installation from source provides those libs, needs investigation.


TECHNICAL INFO / SCRIPT DESIGN

Add Vortex (https://www.nexusmods.com/site/mods/1?tab=files).

  • DXVK is mandatory since vortex depends on dxgi.dll. image

    • In theory just dxgi.dll is required(?)
  • .NET is mandatory for mods (refferenced in ADDITIONAL INFO) image

    • To pass the compatibility check of .NET in vortex these dlls has to be detected https://github.com/Nexus-Mods/Vortex/blob/5bde6dbe144f2a1e4835a6b78b9ba277358499aa/src/extensions/installer_fomod/util/netVersion.ts#L19 image
    • system.dll` is mandatory and provided from mono based on DLLME.com -> WINE Mono is mandatory -> Assuming that it's MONO it should be FOSS (?). image
    • Changes in registry are required as follows: image
  • TODO: Games are not detected on wine if they are present in /home/$USER/Steam/steamapps. -> Symlink may be required, contribit to vortex to make compatibility on wine?

  • TODO: Download folder should be set for $HOME/Downloads by default image

    • Maybe for $HOME/Downloads/$GAME || $HOME/Downloads/Vortex?
  • KREYREN: Change default theme and colors to match phoenicis colors.

  • KREYREN: Add Klingon language

  • INFO: $(WINEPREFIX)/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe is path for executable.

  • INFO: Files in wineprefix image

  • INFO: Source URI https://www.nexusmods.com/Core/Libs/Common/Widgets/DownloadPopUp?id=160&game_id=2295&source=FileExpander

  • INFO: $WINEPREFIX/drive_c/users/kreyren/Application Data/Vortex is directory with config data.

    • INFO: If config directory is removed it will prompt user-input to select download directory.

Tested on: image Using wine-staging-4.4_p1 with X alsa esync fontconfig jpeg mono mp3 opencl opengl osmesa png pulseaudio realtime run-exes sdl2 ssl threads truetype udev vkd3d vulkan xcomposite useflags.


TEST RUNS

TESTRUN - 01

  • DXVK installed using winetricks dxvk
  • wine-staging-4.4_p1 with X alsa esync fontconfig jpeg mono mp3 opencl opengl osmesa png pulseaudio realtime run-exes sdl2 ssl threads truetype udev vkd3d vulkan xcomposite useflags is used. image
  • BUG: Scan Quick is not working.
  • BUG: Scan Full is not working.
TESTRUN - 02

  • DXVK installed using winetricks dxvk
  • wine-staging-4.4_p1 with X alsa esync fontconfig jpeg mono mp3 opencl opengl osmesa png pulseaudio realtime run-exes sdl2 ssl threads truetype udev vkd3d vulkan xcomposite useflags is used. image
  • BUG: Scan Quick is not working.
  • BUG: Scan Full is not working.
  • Enabled Advanced Mode
  • Set testing update.
  • winetricks dotnet462 -> .NET error, set as native/builtin has no effect on the issue.
  • Installed dotnet-462 based on https://appdb.winehq.org/objectManager.php?sClass=version&iId=35264 as native/builtin which has no effect on the issue.
  • Trying dotnet-74

CONCLUSION: Is incompatible with MONO, dotnet462 and dotnet74.

  • Maybe false trigger?
TESTRUN - 03

  • DXVK installed using winetricks dxvk
  • wine-staging-4.4_p1 with X alsa esync fontconfig jpeg mono mp3 opencl opengl osmesa png pulseaudio realtime run-exes sdl2 ssl threads truetype udev vkd3d vulkan xcomposite xml useflags is used.
  • installed readline as attempt to fix scan function.
  • If provided DLLs are exported from DLLME.com in vortex root directory ($WINEPREFIX/drive_c/Program Files/Black Tree Gaming Ltd/Vortex/foo.dll) with DLL overrides in winecfg set to native results in same issue.
  • Codeblock above (https://github.com/Nexus-Mods/Vortex/blob/5bde6dbe144f2a1e4835a6b78b9ba277358499aa/src/extensions/installer_fomod/util/netVersion.ts#L33) mensiones HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/NET Framework Setup/NDP/v4/Full which contains: image Tried to Change Data of Name TargetVersion on 4.6.0 || 4.6.2 which results in same issue.
  • Exported DLLs from DLLME.com based on provided codeblock (https://github.com/Nexus-Mods/Vortex/blob/5bde6dbe144f2a1e4835a6b78b9ba277358499aa/src/extensions/installer_fomod/util/netVersion.ts#L19) to $WINEPREFIX/drive_c/windows/Microsoft.NET/Framework64/v4.0.12345 and set in winecfg as native.
    • Possible issues with compatibility assuming that provided DLLs may be corrupted.

ADDITIONAL INFO

image image image image image

image

image image

  • FIX: Seems that wine generates corrupted $WINEPREFIX/drive_c/users/$USER/Application\ Data/Vortex/Cookies if said binarry file is removed and vortex re-launched the error is no longer present -> may be required to remove this file after the installation.

Lutris script

files:
- setup:
    filename: vortex_mod_manager.exe
    url: https://github.com/Nexus-Mods/Vortex/releases/download/v0<VERSION>/vortex-setup-<VERSION>.exe
game:
  exe: drive_c/Program Files/Black Tree Gaming Ltd/Vortex/Vortex.exe
  prefix: $GAMEDIR
installer:
- task:
    description: Creating Wine prefix
    name: create_prefix
    prefix: $GAMEDIR
- task:
    app: dotnet472
    description: Installing dotnet472
    name: winetricks
    prefix: $GAMEDIR
- task:
    app: dxvk
    description: Installing dxvk since dxgi.dll is mandatory
    name: winetricks
    prefix: $GAMEDIR
- task:
    description: Installing Vortex Mod Manager
    executable: vortex_mod_manager.exe
    name: wineexec
    prefix: $GAMEDIR
wine:
  dxvk: true
  esync: false
  version: tkg-4.6-x86_64

Created: https://lutris.net/games/vortex-mod-manager/ https://i.imgur.com/otf8JKf.jpg which is distributed under GNUv2


Contributed https://github.com/Nexus-Mods/vortex-games/pull/26 to fix compatibility for linux on The Witcher 2


SPECIAL THANKS TO BLACK TREE GAMING LIMITED (VORTEX DEVELOPERS) :heart:

Kreyren avatar Apr 02 '19 07:04 Kreyren

RESERVED

Kreyren avatar Apr 02 '19 08:04 Kreyren

Based on provided info software should work on platinum now including fomod, will do some testing before contributing script.

EDIT: Minor changes like download location and proper detection of supported titles is required.

Kreyren avatar Apr 02 '19 14:04 Kreyren

@plata There is legal issue with providing said libraries can phoenicis work around this issue without using patch required? https://github.com/dotnet/corefx/blob/master/LICENSE.TXT.

Kreyren avatar Apr 02 '19 14:04 Kreyren

I don't quite understand currently what these libraries are. I mean if you would run the tool on Windows, you would also need them, right? So where do they come from?

In general: Can you condense your description a bit? There's a whole lot of evolution and screenshots etc. which is not really helpful when trying to understand the issue. A list of known problems including (possible) solutions would be much more helpful.

plata avatar Apr 02 '19 16:04 plata

@plata

So where do they come from?

Seems that they are present on windows OOTB assuming that .NET doesn't include them based on result of installing dotnet46 using winetricks and manually.

There's a whole lot of evolution and screenshots etc. which is not really helpful when trying to understand the issue.

All data in the issue are important i've already squash most of the info, TECHNICAL INFO is TLDR of everything, DESIGN FOR SCRIPT is for development and HELP WANTED has presented issue with licencing on said libs.

EDIT: Squashed it more. EDIT2: Collapsed TEST RUNS

Kreyren avatar Apr 03 '19 02:04 Kreyren

Relevant: https://github.com/Nexus-Mods/vortex-games/pull/26

Linux patch for the witcher 2 modding compatibility.

Kreyren avatar Apr 18 '19 03:04 Kreyren