eve-o preview -> eve-o-preview

lutris install script
This commit is contained in:
Izakbar
2025-02-08 21:25:11 +00:00
parent 574d138341
commit 39c6a68d60
10 changed files with 106 additions and 13 deletions

View File

@@ -0,0 +1,28 @@
using System;
using System.Reflection;
using System.Runtime.InteropServices;
using System.Windows;
[assembly: AssemblyTitle("EVE Online mock executable for the EVE-O-Preview project")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("EVE-O Mock")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: ThemeInfo(
ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
//(used if a resource is not found in the page,
// or application resource dictionaries)
ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
//(used if a resource is not found in the page,
// app, or any theme specific resource dictionaries)
)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: CLSCompliant(true)]

View File

@@ -12,8 +12,8 @@ namespace EveOPreview
// So this dumb and non elegant approach is used
sealed class ExceptionHandler
{
private const string EXCEPTION_DUMP_FILE_NAME = "EVE-O Preview.log";
private const string EXCEPTION_MESSAGE = "EVE-O Preview has encountered a problem and needs to close. Additional information has been saved in the crash log file.";
private const string EXCEPTION_DUMP_FILE_NAME = "EVE-O-Preview.log";
private const string EXCEPTION_MESSAGE = "EVE-O-Preview has encountered a problem and needs to close. Additional information has been saved in the crash log file.";
public void SetupExceptionHandlers()
{
@@ -41,7 +41,7 @@ namespace EveOPreview
String exceptionMessage = exception.ToString();
File.WriteAllText(ExceptionHandler.EXCEPTION_DUMP_FILE_NAME, exceptionMessage);
MessageBox.Show(ExceptionHandler.EXCEPTION_MESSAGE, @"EVE-O Preview", MessageBoxButtons.OK, MessageBoxIcon.Error);
MessageBox.Show(ExceptionHandler.EXCEPTION_MESSAGE, @"EVE-O-Preview", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch
{

View File

@@ -5,7 +5,7 @@ namespace EveOPreview.Configuration.Implementation
{
class ConfigurationStorage : IConfigurationStorage
{
private const string CONFIGURATION_FILE_NAME = "EVE-O Preview.json";
private const string CONFIGURATION_FILE_NAME = "EVE-O-Preview.json";
private readonly IAppConfig _appConfig;
private readonly IThumbnailConfiguration _thumbnailConfiguration;

View File

@@ -4,7 +4,7 @@
<TargetFramework>net8.0-windows8.0</TargetFramework>
<OutputType>WinExe</OutputType>
<RootNamespace>EveOPreview</RootNamespace>
<AssemblyName>EVE-O Preview</AssemblyName>
<AssemblyName>EVE-O-Preview</AssemblyName>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>

View File

@@ -11,7 +11,7 @@ namespace EveOPreview
{
static class Program
{
private static string MUTEX_NAME = "EVE-O Preview Single Instance Mutex";
private static string MUTEX_NAME = "EVE-O-Preview Single Instance Mutex";
private static Mutex _singleInstanceMutex;

View File

@@ -9,7 +9,7 @@ namespace EveOPreview.Services.Implementation
{
#region Private constants
private const string DEFAULT_PROCESS_NAME = "ExeFile";
private const string CURRENT_PROCESS_NAME = "EVE-O Preview";
private const string CURRENT_PROCESS_NAME = "EVE-O-Preview";
#endregion
#region Private fields

View File

@@ -686,7 +686,7 @@ namespace EveOPreview.Services
return false;
}
// Check whether the currently active window belongs to EVE-O Preview itself
// Check whether the currently active window belongs to EVE-O-Preview itself
private bool IsMainWindowActive(IntPtr windowHandle)
{
return (this._processMonitor.GetMainProcess().Handle == windowHandle);

View File

@@ -105,7 +105,6 @@ namespace EveOPreview.Services.Implementation
{
cmd = "-c \"wmctrl -a \"\"" + windowName + "\"\"\"";
}
System.Diagnostics.Process.Start("/bin/bash", cmd);
}

View File

@@ -186,7 +186,7 @@ namespace EveOPreview.View
TitleMenuItem.Enabled = false;
TitleMenuItem.Name = "TitleMenuItem";
TitleMenuItem.Size = new System.Drawing.Size(151, 22);
TitleMenuItem.Text = "EVE-O Preview";
TitleMenuItem.Text = "EVE-O-Preview";
//
// SeparatorMenuItem
//
@@ -1149,7 +1149,7 @@ namespace EveOPreview.View
NameLabel.Name = "NameLabel";
NameLabel.Size = new System.Drawing.Size(130, 20);
NameLabel.TabIndex = 3;
NameLabel.Text = "EVE-O Preview";
NameLabel.Text = "EVE-O-Preview";
//
// DocumentationLink
//
@@ -1168,7 +1168,7 @@ namespace EveOPreview.View
//
this.NotifyIcon.ContextMenuStrip = this.TrayMenu;
this.NotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("NotifyIcon.Icon")));
this.NotifyIcon.Text = "EVE-O Preview";
this.NotifyIcon.Text = "EVE-O-Preview";
this.NotifyIcon.Visible = true;
this.NotifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.RestoreMainForm_Handler);
//
@@ -1195,7 +1195,7 @@ namespace EveOPreview.View
this.Margin = new System.Windows.Forms.Padding(0);
this.MaximizeBox = false;
this.Name = "MainForm";
this.Text = "EVE-O Preview";
this.Text = "EVE-O-Preview";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFormClosing_Handler);
this.Load += new System.EventHandler(this.MainFormResize_Handler);

66
src/eve-o-preview.yaml Normal file
View File

@@ -0,0 +1,66 @@
game_slug: eve-online
slug: test
name: EVE Online
version: test
runner: linux
script:
files:
- setup:
filename: installer.exe
url: https://launcher.ccpgames.com/eve-online/release/win32/x64/eve-online-latest+Setup.exe
- eve-o-preview: EVE_O_PREVIEW
- wine: https://github.com/Kron4ek/Wine-Builds/releases/download/10.0/wine-10.0-staging-amd64.tar.xz
- winetricks: https://raw.githubusercontent.com/Winetricks/winetricks/refs/tags/20240105/src/winetricks
- dotnet8: https://download.visualstudio.microsoft.com/download/pr/f1e7ffc8-c278-4339-b460-517420724524/f36bb75b2e86a52338c4d3a90f8dac9b/windowsdesktop-runtime-8.0.12-win-x64.exe
game:
exe: $GAMEDIR/launch.sh
installer:
- extract:
file: wine
dst: $GAMEDIR/runner-wine
- extract:
file: eve-o-preview
dst: $GAMEDIR
- chmodx: $winetricks
- merge:
src: setup
dst: $GAMEDIR
- write_file:
file: $GAMEDIR/launch.sh
content: |
#!/usr/bin/env bash
export WINEPREFIX="$GAMEDIR"
# Disable esync to avoid a bug that causes high cpu usage
export PROTON_NO_ESYNC=1
cd "$GAMEDIR"
# Start EVE-O in the background
"./runner-wine/bin/wine" "./EVE-O Preview.exe" &
# We start the launcher by calling the installer again because, otherwise, there is a Javascript exception when calling the actual executable. No idea why.
"./runner-wine/bin/wine" "./installer.exe"
- chmodx: $GAMEDIR/launch.sh
- execute:
disable_runtime: true # With runtime enabled, all certificate validations by winetricks fail
description: Close EVE-O and the launcher after they open. Re-launch the game to install eve.
command: |
# Lutris is currently in a transition period where they are looking to support umu-launcher + proton fully
# As a result, they have not released a new version of wine-ge in a long time, and wine-ge 8 is not working
# with the latest version of EVE-O and their installer scripts don't support automatically using a non-wine-ge version of wine.
# This script is a hacky workaround to use wine-staging 10 more easily with minimal user action until we can swap back to using a properly support proton-version
set -e
export WINE="$(pwd)/runner-wine/bin/wine"
export WINEPREFIX="$GAMEDIR"
# Begin installation
"$winetricks" -q msdelta vkd3d vcrun2022 dxvk2030
# Need to install dotnet8 with the actual installer because winetricks version is not working
"$GAMEDIR"/runner-wine/bin/wine "$dotnet8"
"$GAMEDIR/runner-wine/bin/wine" "EVE-O Preview.exe"
"$GAMEDIR"/runner-wine/bin/wine "./installer.exe"
# cleanup
rm "$winetricks"
rm "$dotnet8"