eve-o preview -> eve-o-preview
lutris install script
This commit is contained in:
28
src/Eve-O-Mock/Properties/AssemblyInfo.cs
Normal file
28
src/Eve-O-Mock/Properties/AssemblyInfo.cs
Normal 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)]
|
@@ -12,8 +12,8 @@ namespace EveOPreview
|
|||||||
// So this dumb and non elegant approach is used
|
// So this dumb and non elegant approach is used
|
||||||
sealed class ExceptionHandler
|
sealed class ExceptionHandler
|
||||||
{
|
{
|
||||||
private const string EXCEPTION_DUMP_FILE_NAME = "EVE-O Preview.log";
|
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_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()
|
public void SetupExceptionHandlers()
|
||||||
{
|
{
|
||||||
@@ -41,7 +41,7 @@ namespace EveOPreview
|
|||||||
String exceptionMessage = exception.ToString();
|
String exceptionMessage = exception.ToString();
|
||||||
File.WriteAllText(ExceptionHandler.EXCEPTION_DUMP_FILE_NAME, exceptionMessage);
|
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
|
catch
|
||||||
{
|
{
|
||||||
|
@@ -5,7 +5,7 @@ namespace EveOPreview.Configuration.Implementation
|
|||||||
{
|
{
|
||||||
class ConfigurationStorage : IConfigurationStorage
|
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 IAppConfig _appConfig;
|
||||||
private readonly IThumbnailConfiguration _thumbnailConfiguration;
|
private readonly IThumbnailConfiguration _thumbnailConfiguration;
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
<TargetFramework>net8.0-windows8.0</TargetFramework>
|
<TargetFramework>net8.0-windows8.0</TargetFramework>
|
||||||
<OutputType>WinExe</OutputType>
|
<OutputType>WinExe</OutputType>
|
||||||
<RootNamespace>EveOPreview</RootNamespace>
|
<RootNamespace>EveOPreview</RootNamespace>
|
||||||
<AssemblyName>EVE-O Preview</AssemblyName>
|
<AssemblyName>EVE-O-Preview</AssemblyName>
|
||||||
<PublishUrl>publish\</PublishUrl>
|
<PublishUrl>publish\</PublishUrl>
|
||||||
<Install>true</Install>
|
<Install>true</Install>
|
||||||
<InstallFrom>Disk</InstallFrom>
|
<InstallFrom>Disk</InstallFrom>
|
||||||
|
@@ -11,7 +11,7 @@ namespace EveOPreview
|
|||||||
{
|
{
|
||||||
static class Program
|
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;
|
private static Mutex _singleInstanceMutex;
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ namespace EveOPreview.Services.Implementation
|
|||||||
{
|
{
|
||||||
#region Private constants
|
#region Private constants
|
||||||
private const string DEFAULT_PROCESS_NAME = "ExeFile";
|
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
|
#endregion
|
||||||
|
|
||||||
#region Private fields
|
#region Private fields
|
||||||
|
@@ -686,7 +686,7 @@ namespace EveOPreview.Services
|
|||||||
return false;
|
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)
|
private bool IsMainWindowActive(IntPtr windowHandle)
|
||||||
{
|
{
|
||||||
return (this._processMonitor.GetMainProcess().Handle == windowHandle);
|
return (this._processMonitor.GetMainProcess().Handle == windowHandle);
|
||||||
|
@@ -105,7 +105,6 @@ namespace EveOPreview.Services.Implementation
|
|||||||
{
|
{
|
||||||
cmd = "-c \"wmctrl -a \"\"" + windowName + "\"\"\"";
|
cmd = "-c \"wmctrl -a \"\"" + windowName + "\"\"\"";
|
||||||
}
|
}
|
||||||
|
|
||||||
System.Diagnostics.Process.Start("/bin/bash", cmd);
|
System.Diagnostics.Process.Start("/bin/bash", cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -186,7 +186,7 @@ namespace EveOPreview.View
|
|||||||
TitleMenuItem.Enabled = false;
|
TitleMenuItem.Enabled = false;
|
||||||
TitleMenuItem.Name = "TitleMenuItem";
|
TitleMenuItem.Name = "TitleMenuItem";
|
||||||
TitleMenuItem.Size = new System.Drawing.Size(151, 22);
|
TitleMenuItem.Size = new System.Drawing.Size(151, 22);
|
||||||
TitleMenuItem.Text = "EVE-O Preview";
|
TitleMenuItem.Text = "EVE-O-Preview";
|
||||||
//
|
//
|
||||||
// SeparatorMenuItem
|
// SeparatorMenuItem
|
||||||
//
|
//
|
||||||
@@ -1149,7 +1149,7 @@ namespace EveOPreview.View
|
|||||||
NameLabel.Name = "NameLabel";
|
NameLabel.Name = "NameLabel";
|
||||||
NameLabel.Size = new System.Drawing.Size(130, 20);
|
NameLabel.Size = new System.Drawing.Size(130, 20);
|
||||||
NameLabel.TabIndex = 3;
|
NameLabel.TabIndex = 3;
|
||||||
NameLabel.Text = "EVE-O Preview";
|
NameLabel.Text = "EVE-O-Preview";
|
||||||
//
|
//
|
||||||
// DocumentationLink
|
// DocumentationLink
|
||||||
//
|
//
|
||||||
@@ -1168,7 +1168,7 @@ namespace EveOPreview.View
|
|||||||
//
|
//
|
||||||
this.NotifyIcon.ContextMenuStrip = this.TrayMenu;
|
this.NotifyIcon.ContextMenuStrip = this.TrayMenu;
|
||||||
this.NotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("NotifyIcon.Icon")));
|
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.Visible = true;
|
||||||
this.NotifyIcon.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.RestoreMainForm_Handler);
|
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.Margin = new System.Windows.Forms.Padding(0);
|
||||||
this.MaximizeBox = false;
|
this.MaximizeBox = false;
|
||||||
this.Name = "MainForm";
|
this.Name = "MainForm";
|
||||||
this.Text = "EVE-O Preview";
|
this.Text = "EVE-O-Preview";
|
||||||
this.TopMost = true;
|
this.TopMost = true;
|
||||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFormClosing_Handler);
|
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainFormClosing_Handler);
|
||||||
this.Load += new System.EventHandler(this.MainFormResize_Handler);
|
this.Load += new System.EventHandler(this.MainFormResize_Handler);
|
||||||
|
66
src/eve-o-preview.yaml
Normal file
66
src/eve-o-preview.yaml
Normal 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"
|
Reference in New Issue
Block a user