mirror of
https://github.com/EpicMorg/UniversalValveToolbox.git
synced 2025-01-27 14:08:09 +03:00
1.0.0.3
1.0.0.3
This commit is contained in:
commit
bb2b5442a6
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "src/Facepunch.Steamworks"]
|
||||||
|
path = src/Facepunch.Steamworks
|
||||||
|
url = https://github.com/Facepunch/Facepunch.Steamworks.git
|
17
README.md
17
README.md
@ -1,7 +1,18 @@
|
|||||||
# UniversalValveToolbox
|
# Universal Valve Toolbox
|
||||||
|
|
||||||
# [![AppVeyor](https://img.shields.io/appveyor/ci/stamepicmorg/universalvalvetoolbox?style=flat-square)](https://ci.appveyor.com/project/stamepicmorg/universalvalvetoolbox) [![Translation status](https://translate.epicm.org/widgets/universalvalvetoolbox/-/svg-badge.svg)](https://translate.epicm.org/engage/universalvalvetoolbox/?utm_source=widget) [![Size](https://img.shields.io/github/repo-size/EpicMorg/UniversalValveToolbox?label=size&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/releases) [![GitHub license](https://img.shields.io/github/license/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) [![Activity](https://img.shields.io/github/commit-activity/w/EpicMorg/UniversalValveToolbox?&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/stargazers) [![GitHub uses](https://img.shields.io/sourcegraph/rrc/github.com/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/pulse) [![CodeScene Code Health](https://codescene.io/projects/6852/status-badges/code-health)](https://codescene.io/projects/6852) [![CodeScene System Mastery](https://codescene.io/projects/6852/status-badges/system-mastery)](https://codescene.io/projects/6852)
|
# [![AppVeyor](https://img.shields.io/appveyor/ci/stamepicmorg/universalvalvetoolbox?style=flat-square)](https://ci.appveyor.com/project/stamepicmorg/universalvalvetoolbox) [![Translation status](https://translate.epicm.org/widgets/universalvalvetoolbox/-/svg-badge.svg)](https://translate.epicm.org/engage/universalvalvetoolbox/?utm_source=widget) [![Size](https://img.shields.io/github/repo-size/EpicMorg/UniversalValveToolbox?label=size&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/releases) [![GitHub license](https://img.shields.io/github/license/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) [![Activity](https://img.shields.io/github/commit-activity/w/EpicMorg/UniversalValveToolbox?&style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/UniversalValveToolbox.svg?style=popout-square)](https://github.com/EpicMorg/UniversalValveToolbox/stargazers) [![GitHub uses](https://img.shields.io/sourcegraph/rrc/github.com/EpicMorg/UniversalValveToolbox?style=flat-square)](https://github.com/EpicMorg/UniversalValveToolbox/pulse) [![CodeScene Code Health](https://codescene.io/projects/6852/status-badges/code-health)](https://codescene.io/projects/6852) [![CodeScene System Mastery](https://codescene.io/projects/6852/status-badges/system-mastery)](https://codescene.io/projects/6852)
|
||||||
|
|
||||||
[![](https://codescene.io/projects/6852/status.svg)](https://codescene.io/projects/6852/jobs/latest-successful/results)
|
# Description
|
||||||
|
|
||||||
Toolbox for easy launching some officials Valve's SDK such as Source SDK 2013 SP or MP.
|
Toolbox for easy launching some officials Valve's SDK such as Source SDK 2013 SP or MP.
|
||||||
|
|
||||||
|
# Settings
|
||||||
|
Mod could be changed at `settings.json` with `ToolboxMod` section. Supported mods: `retail`, `bundle`, `dev`.
|
||||||
|
## Retail
|
||||||
|
This is default mode. Shows all avalible users games at account. Tool launched with default steam app id `480` for requesting steam api and getting info.
|
||||||
|
|
||||||
|
## Bundle mode
|
||||||
|
If you want to distribute this tollbox with your game - edit `settings.json` and switch `ToolboxMod` to `bundle` value. And change `ToolsAppId` and `BundleAppID` for your's `SteamApp` of you game and sdk tools.
|
||||||
|
## Dev mode
|
||||||
|
Dev mode is the same mode as `bundle` but local path of root of your game folder and angine name will be get from `DevEnginePath` and `DevEngineName` values. Also You should set `ToolsAppId` and `BundleAppID` for your's `SteamApp` of you game and sdk tools.
|
||||||
|
|
||||||
|
[![](https://codescene.io/projects/6852/status.svg)](https://codescene.io/projects/6852/jobs/latest-successful/results)
|
||||||
|
1
src/Facepunch.Steamworks
Submodule
1
src/Facepunch.Steamworks
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 1bae58560200c74fe53beeddb382aea4d83615f1
|
@ -5,16 +5,32 @@ VisualStudioVersion = 16.0.29521.150
|
|||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalValveToolbox", "UniversalValveToolbox\UniversalValveToolbox.csproj", "{DE66895F-7317-45D3-B5CA-292253CE086A}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalValveToolbox", "UniversalValveToolbox\UniversalValveToolbox.csproj", "{DE66895F-7317-45D3-B5CA-292253CE086A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Facepunch.Steamworks.Win32", "Facepunch.Steamworks\Facepunch.Steamworks\Facepunch.Steamworks.Win32.csproj", "{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
Release|Any CPU = Release|Any CPU
|
Release|Any CPU = Release|Any CPU
|
||||||
|
Release|x86 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|x86.ActiveCfg = Debug|x86
|
||||||
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Debug|x86.Build.0 = Debug|x86
|
||||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.Build.0 = Release|Any CPU
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|x86.ActiveCfg = Release|x86
|
||||||
|
{DE66895F-7317-45D3-B5CA-292253CE086A}.Release|x86.Build.0 = Release|x86
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Debug|x86.Build.0 = Debug|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Release|x86.ActiveCfg = Release|Any CPU
|
||||||
|
{ED9B29E8-0F90-4F9E-BD87-F5014F5FCF85}.Release|x86.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -1,10 +1,18 @@
|
|||||||
using UniversalValveToolbox.Base;
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Converters;
|
||||||
|
using UniversalValveToolbox.Base;
|
||||||
|
|
||||||
namespace UniversalValveToolbox.Model.Dto {
|
namespace UniversalValveToolbox.Model.Dto {
|
||||||
public class SettingsDtoModel : DtoModel {
|
public class SettingsDtoModel : DtoModel {
|
||||||
private string lastSelectedProject;
|
private string lastSelectedProject;
|
||||||
private string[] availableLanguages;
|
private string[] availableLanguages;
|
||||||
private string language;
|
private string language;
|
||||||
|
private string devenginepath = "C://";
|
||||||
|
private string devenginename = "My Future Game (engine)";
|
||||||
|
private ToolboxMod toolboxmod = ToolboxMod.retail;
|
||||||
|
private uint toolsappid = 480;
|
||||||
|
private uint bundleappsid = 480;
|
||||||
|
|
||||||
|
|
||||||
public string LastSelectedProject {
|
public string LastSelectedProject {
|
||||||
get => lastSelectedProject;
|
get => lastSelectedProject;
|
||||||
@ -20,5 +28,35 @@ namespace UniversalValveToolbox.Model.Dto {
|
|||||||
get => language;
|
get => language;
|
||||||
set => UpdateField(value, ref language);
|
set => UpdateField(value, ref language);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
public ToolboxMod ToolboxMod
|
||||||
|
{
|
||||||
|
get => toolboxmod;
|
||||||
|
set => UpdateField(value, ref toolboxmod);
|
||||||
|
}
|
||||||
|
public uint ToolsAppId
|
||||||
|
{
|
||||||
|
get => toolsappid;
|
||||||
|
set => UpdateField(value, ref toolsappid);
|
||||||
|
}
|
||||||
|
public uint BundleAppID
|
||||||
|
{
|
||||||
|
get => bundleappsid;
|
||||||
|
set => UpdateField(value, ref bundleappsid);
|
||||||
|
}
|
||||||
|
public string DevEnginePath
|
||||||
|
{
|
||||||
|
get => devenginepath;
|
||||||
|
set => UpdateField(value, ref devenginepath);
|
||||||
|
}
|
||||||
|
public string DevEngineName
|
||||||
|
{
|
||||||
|
get => devenginename;
|
||||||
|
set => UpdateField(value, ref devenginename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public enum ToolboxMod {
|
||||||
|
retail, bundle, dev
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using System;
|
using Steamworks;
|
||||||
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using UniversalValveToolbox.Model.Provider;
|
using UniversalValveToolbox.Model.Provider;
|
||||||
using UniversalValveToolbox.Utils;
|
using UniversalValveToolbox.Utils;
|
||||||
@ -15,6 +16,8 @@ namespace UniversalValveToolbox {
|
|||||||
|
|
||||||
LanguageManager.UpdateLanguage(currSettings.Language);
|
LanguageManager.UpdateLanguage(currSettings.Language);
|
||||||
|
|
||||||
|
SteamClient.Init(currSettings.ToolsAppId);
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
Application.Run(new FormMain());
|
Application.Run(new FormMain());
|
||||||
|
@ -33,5 +33,5 @@ using System.Runtime.InteropServices;
|
|||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("1.0.0.2")]
|
[assembly: AssemblyVersion("1.0.0.3")]
|
||||||
[assembly: AssemblyFileVersion("1.0.0.2")]
|
[assembly: AssemblyFileVersion("1.0.0.3")]
|
||||||
|
@ -130,6 +130,16 @@ namespace UniversalValveToolbox.Properties {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap toolbox64 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("toolbox64", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -118,23 +118,14 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="checked_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\checked_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="valve_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="valve_64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\valve_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\valve_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cancel_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\cancel_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="refresh_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="refresh_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\refresh_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\refresh_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="human_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="checked_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\human_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\checked_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
|
||||||
<data name="info_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\info_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
</data>
|
||||||
<data name="plug-silhouette_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="plug-silhouette_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\plug-silhouette_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\plug-silhouette_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
@ -142,4 +133,16 @@
|
|||||||
<data name="run_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="run_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\run_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\run_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="cancel_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\cancel_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="human_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\human_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="info_16" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\info_16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="toolbox64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\toolbox64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
BIN
src/UniversalValveToolbox/Resources/toolbox64.png
Normal file
BIN
src/UniversalValveToolbox/Resources/toolbox64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
144
src/UniversalValveToolbox/UI/FormAbout.Designer.cs
generated
144
src/UniversalValveToolbox/UI/FormAbout.Designer.cs
generated
@ -30,17 +30,24 @@
|
|||||||
{
|
{
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAbout));
|
||||||
this.labelVersion = new System.Windows.Forms.Label();
|
this.labelVersion = new System.Windows.Forms.Label();
|
||||||
this.pictureBoxLogo = new System.Windows.Forms.PictureBox();
|
|
||||||
this.labelTitle = new System.Windows.Forms.Label();
|
this.labelTitle = new System.Windows.Forms.Label();
|
||||||
this.labelCopy = new System.Windows.Forms.Label();
|
this.labelCopy = new System.Windows.Forms.Label();
|
||||||
this.labelDivider = new System.Windows.Forms.Label();
|
this.labelDivider = new System.Windows.Forms.Label();
|
||||||
this.buttonOK = new System.Windows.Forms.Button();
|
this.buttonOK = new System.Windows.Forms.Button();
|
||||||
this.linkLabelIconSite = new System.Windows.Forms.LinkLabel();
|
|
||||||
this.groupBox = new System.Windows.Forms.GroupBox();
|
|
||||||
this.linkLabelTI = new System.Windows.Forms.LinkLabel();
|
|
||||||
this.linkLabelFP = new System.Windows.Forms.LinkLabel();
|
this.linkLabelFP = new System.Windows.Forms.LinkLabel();
|
||||||
|
this.pictureBoxLogo = new System.Windows.Forms.PictureBox();
|
||||||
|
this.labelCaution = new System.Windows.Forms.Label();
|
||||||
|
this.labelIconsBy = new System.Windows.Forms.Label();
|
||||||
|
this.linkLabelthoseicons = new System.Windows.Forms.LinkLabel();
|
||||||
|
this.linkLabelsmashicons = new System.Windows.Forms.LinkLabel();
|
||||||
|
this.labelEpicMorgSteamPathsLibdll = new System.Windows.Forms.Label();
|
||||||
|
this.labelFacepunchSteamworksWin32dll = new System.Windows.Forms.Label();
|
||||||
|
this.labelkasthackbindingwfdll = new System.Windows.Forms.Label();
|
||||||
|
this.labelNewtonsoftJsondll = new System.Windows.Forms.Label();
|
||||||
|
this.labelGameloopVdf = new System.Windows.Forms.Label();
|
||||||
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).BeginInit();
|
||||||
this.groupBox.SuspendLayout();
|
this.groupBox1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// labelVersion
|
// labelVersion
|
||||||
@ -48,14 +55,6 @@
|
|||||||
resources.ApplyResources(this.labelVersion, "labelVersion");
|
resources.ApplyResources(this.labelVersion, "labelVersion");
|
||||||
this.labelVersion.Name = "labelVersion";
|
this.labelVersion.Name = "labelVersion";
|
||||||
//
|
//
|
||||||
// pictureBoxLogo
|
|
||||||
//
|
|
||||||
this.pictureBoxLogo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
|
||||||
this.pictureBoxLogo.Image = global::UniversalValveToolbox.Properties.Resources.valve_64;
|
|
||||||
resources.ApplyResources(this.pictureBoxLogo, "pictureBoxLogo");
|
|
||||||
this.pictureBoxLogo.Name = "pictureBoxLogo";
|
|
||||||
this.pictureBoxLogo.TabStop = false;
|
|
||||||
//
|
|
||||||
// labelTitle
|
// labelTitle
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.labelTitle, "labelTitle");
|
resources.ApplyResources(this.labelTitle, "labelTitle");
|
||||||
@ -79,29 +78,6 @@
|
|||||||
this.buttonOK.UseVisualStyleBackColor = true;
|
this.buttonOK.UseVisualStyleBackColor = true;
|
||||||
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
this.buttonOK.Click += new System.EventHandler(this.buttonOK_Click);
|
||||||
//
|
//
|
||||||
// linkLabelIconSite
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.linkLabelIconSite, "linkLabelIconSite");
|
|
||||||
this.linkLabelIconSite.Name = "linkLabelIconSite";
|
|
||||||
this.linkLabelIconSite.TabStop = true;
|
|
||||||
this.linkLabelIconSite.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelIconSite_LinkClicked);
|
|
||||||
//
|
|
||||||
// groupBox
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.groupBox, "groupBox");
|
|
||||||
this.groupBox.Controls.Add(this.linkLabelTI);
|
|
||||||
this.groupBox.Controls.Add(this.linkLabelFP);
|
|
||||||
this.groupBox.Controls.Add(this.linkLabelIconSite);
|
|
||||||
this.groupBox.Name = "groupBox";
|
|
||||||
this.groupBox.TabStop = false;
|
|
||||||
//
|
|
||||||
// linkLabelTI
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.linkLabelTI, "linkLabelTI");
|
|
||||||
this.linkLabelTI.Name = "linkLabelTI";
|
|
||||||
this.linkLabelTI.TabStop = true;
|
|
||||||
this.linkLabelTI.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelTI_LinkClicked);
|
|
||||||
//
|
|
||||||
// linkLabelFP
|
// linkLabelFP
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this.linkLabelFP, "linkLabelFP");
|
resources.ApplyResources(this.linkLabelFP, "linkLabelFP");
|
||||||
@ -109,11 +85,89 @@
|
|||||||
this.linkLabelFP.TabStop = true;
|
this.linkLabelFP.TabStop = true;
|
||||||
this.linkLabelFP.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelFP_LinkClicked);
|
this.linkLabelFP.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelFP_LinkClicked);
|
||||||
//
|
//
|
||||||
|
// pictureBoxLogo
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.pictureBoxLogo, "pictureBoxLogo");
|
||||||
|
this.pictureBoxLogo.Image = global::UniversalValveToolbox.Properties.Resources.toolbox64;
|
||||||
|
this.pictureBoxLogo.Name = "pictureBoxLogo";
|
||||||
|
this.pictureBoxLogo.TabStop = false;
|
||||||
|
//
|
||||||
|
// labelCaution
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelCaution, "labelCaution");
|
||||||
|
this.labelCaution.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||||
|
this.labelCaution.Name = "labelCaution";
|
||||||
|
//
|
||||||
|
// labelIconsBy
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelIconsBy, "labelIconsBy");
|
||||||
|
this.labelIconsBy.Name = "labelIconsBy";
|
||||||
|
//
|
||||||
|
// linkLabelthoseicons
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.linkLabelthoseicons, "linkLabelthoseicons");
|
||||||
|
this.linkLabelthoseicons.Name = "linkLabelthoseicons";
|
||||||
|
this.linkLabelthoseicons.TabStop = true;
|
||||||
|
this.linkLabelthoseicons.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelTI_LinkClicked);
|
||||||
|
//
|
||||||
|
// linkLabelsmashicons
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.linkLabelsmashicons, "linkLabelsmashicons");
|
||||||
|
this.linkLabelsmashicons.Name = "linkLabelsmashicons";
|
||||||
|
this.linkLabelsmashicons.TabStop = true;
|
||||||
|
this.linkLabelsmashicons.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelSI_LinkClicked);
|
||||||
|
//
|
||||||
|
// labelEpicMorgSteamPathsLibdll
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelEpicMorgSteamPathsLibdll, "labelEpicMorgSteamPathsLibdll");
|
||||||
|
this.labelEpicMorgSteamPathsLibdll.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
|
this.labelEpicMorgSteamPathsLibdll.Name = "labelEpicMorgSteamPathsLibdll";
|
||||||
|
//
|
||||||
|
// labelFacepunchSteamworksWin32dll
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelFacepunchSteamworksWin32dll, "labelFacepunchSteamworksWin32dll");
|
||||||
|
this.labelFacepunchSteamworksWin32dll.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
|
this.labelFacepunchSteamworksWin32dll.Name = "labelFacepunchSteamworksWin32dll";
|
||||||
|
//
|
||||||
|
// labelkasthackbindingwfdll
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelkasthackbindingwfdll, "labelkasthackbindingwfdll");
|
||||||
|
this.labelkasthackbindingwfdll.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
|
this.labelkasthackbindingwfdll.Name = "labelkasthackbindingwfdll";
|
||||||
|
//
|
||||||
|
// labelNewtonsoftJsondll
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelNewtonsoftJsondll, "labelNewtonsoftJsondll");
|
||||||
|
this.labelNewtonsoftJsondll.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
|
this.labelNewtonsoftJsondll.Name = "labelNewtonsoftJsondll";
|
||||||
|
//
|
||||||
|
// labelGameloopVdf
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.labelGameloopVdf, "labelGameloopVdf");
|
||||||
|
this.labelGameloopVdf.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
|
this.labelGameloopVdf.Name = "labelGameloopVdf";
|
||||||
|
//
|
||||||
|
// groupBox1
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.groupBox1, "groupBox1");
|
||||||
|
this.groupBox1.Controls.Add(this.labelEpicMorgSteamPathsLibdll);
|
||||||
|
this.groupBox1.Controls.Add(this.labelkasthackbindingwfdll);
|
||||||
|
this.groupBox1.Controls.Add(this.labelGameloopVdf);
|
||||||
|
this.groupBox1.Controls.Add(this.labelNewtonsoftJsondll);
|
||||||
|
this.groupBox1.Controls.Add(this.labelFacepunchSteamworksWin32dll);
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
//
|
||||||
// FormAbout
|
// FormAbout
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.groupBox);
|
this.Controls.Add(this.groupBox1);
|
||||||
|
this.Controls.Add(this.linkLabelsmashicons);
|
||||||
|
this.Controls.Add(this.linkLabelthoseicons);
|
||||||
|
this.Controls.Add(this.linkLabelFP);
|
||||||
|
this.Controls.Add(this.labelIconsBy);
|
||||||
|
this.Controls.Add(this.labelCaution);
|
||||||
this.Controls.Add(this.buttonOK);
|
this.Controls.Add(this.buttonOK);
|
||||||
this.Controls.Add(this.labelDivider);
|
this.Controls.Add(this.labelDivider);
|
||||||
this.Controls.Add(this.labelTitle);
|
this.Controls.Add(this.labelTitle);
|
||||||
@ -127,8 +181,7 @@
|
|||||||
this.ShowInTaskbar = false;
|
this.ShowInTaskbar = false;
|
||||||
this.Load += new System.EventHandler(this.FormAbout_Load);
|
this.Load += new System.EventHandler(this.FormAbout_Load);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).EndInit();
|
||||||
this.groupBox.ResumeLayout(false);
|
this.groupBox1.ResumeLayout(false);
|
||||||
this.groupBox.PerformLayout();
|
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
@ -142,9 +195,16 @@
|
|||||||
private System.Windows.Forms.Label labelCopy;
|
private System.Windows.Forms.Label labelCopy;
|
||||||
private System.Windows.Forms.Label labelDivider;
|
private System.Windows.Forms.Label labelDivider;
|
||||||
private System.Windows.Forms.Button buttonOK;
|
private System.Windows.Forms.Button buttonOK;
|
||||||
private System.Windows.Forms.LinkLabel linkLabelIconSite;
|
|
||||||
private System.Windows.Forms.GroupBox groupBox;
|
|
||||||
private System.Windows.Forms.LinkLabel linkLabelTI;
|
|
||||||
private System.Windows.Forms.LinkLabel linkLabelFP;
|
private System.Windows.Forms.LinkLabel linkLabelFP;
|
||||||
|
private System.Windows.Forms.Label labelCaution;
|
||||||
|
private System.Windows.Forms.Label labelIconsBy;
|
||||||
|
private System.Windows.Forms.LinkLabel linkLabelthoseicons;
|
||||||
|
private System.Windows.Forms.LinkLabel linkLabelsmashicons;
|
||||||
|
private System.Windows.Forms.Label labelEpicMorgSteamPathsLibdll;
|
||||||
|
private System.Windows.Forms.Label labelFacepunchSteamworksWin32dll;
|
||||||
|
private System.Windows.Forms.Label labelkasthackbindingwfdll;
|
||||||
|
private System.Windows.Forms.Label labelNewtonsoftJsondll;
|
||||||
|
private System.Windows.Forms.Label labelGameloopVdf;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -6,9 +6,32 @@ namespace UniversalValveToolbox {
|
|||||||
public partial class FormAbout : Form {
|
public partial class FormAbout : Form {
|
||||||
public FormAbout() {
|
public FormAbout() {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
#region move to helper
|
||||||
|
System.Reflection.Assembly assemblyEpicMorgSteamPathsLib = System.Reflection.Assembly.LoadFrom("EpicMorg.SteamPathsLib.dll");
|
||||||
|
System.Reflection.Assembly assemblyFacepunchSteamworksWin32 = System.Reflection.Assembly.LoadFrom("Facepunch.Steamworks.Win32.dll");
|
||||||
|
System.Reflection.Assembly assemblykasthackbindingwf = System.Reflection.Assembly.LoadFrom("kasthack.binding.wf.dll");
|
||||||
|
System.Reflection.Assembly assemblyGameloopVdf = System.Reflection.Assembly.LoadFrom("Gameloop.Vdf.dll");
|
||||||
|
System.Reflection.Assembly assemblyNewtonsoftJson = System.Reflection.Assembly.LoadFrom("Newtonsoft.Json.dll");
|
||||||
|
|
||||||
|
Version verEpicMorgSteamPathsLib = assemblyEpicMorgSteamPathsLib.GetName().Version;
|
||||||
|
Version verFacepunchSteamworksWin32 = assemblyFacepunchSteamworksWin32.GetName().Version;
|
||||||
|
Version verkasthackbindingwf = assemblykasthackbindingwf.GetName().Version;
|
||||||
|
Version verGameloopVdf = assemblyGameloopVdf.GetName().Version;
|
||||||
|
Version verNewtonsoftJson = assemblyNewtonsoftJson.GetName().Version;
|
||||||
|
#endregion
|
||||||
|
|
||||||
labelVersion.Text = Utils.VersionHelper.AssemblyVersion;
|
labelVersion.Text = Utils.VersionHelper.AssemblyVersion;
|
||||||
labelTitle.Text = Utils.VersionHelper.AssemblyTitle;
|
labelTitle.Text = Utils.VersionHelper.AssemblyTitle;
|
||||||
labelCopy.Text = Utils.VersionHelper.AssemblyCopyright;
|
labelCopy.Text = Utils.VersionHelper.AssemblyCopyright;
|
||||||
|
labelCaution.Text = labelTitle.Text + " " + labelCaution.Text;
|
||||||
|
|
||||||
|
labelEpicMorgSteamPathsLibdll.Text = "EpicMorg.SteamPathsLib.dll " + verEpicMorgSteamPathsLib.ToString();
|
||||||
|
labelFacepunchSteamworksWin32dll.Text = "Facepunch.Steamworks.Win32.dll " + verFacepunchSteamworksWin32.ToString();
|
||||||
|
labelkasthackbindingwfdll.Text = "kasthack.binding.wf.dll " + verkasthackbindingwf.ToString();
|
||||||
|
labelGameloopVdf.Text = "Gameloop.Vdf.dll " + verGameloopVdf.ToString();
|
||||||
|
labelNewtonsoftJsondll.Text = "Newtonsoft.Json.dll " + verNewtonsoftJson.ToString();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FormAbout_Load(object sender, EventArgs e) {
|
private void FormAbout_Load(object sender, EventArgs e) {
|
||||||
@ -30,5 +53,10 @@ namespace UniversalValveToolbox {
|
|||||||
private void linkLabelTI_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
private void linkLabelTI_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
||||||
Process.Start("https://www.flaticon.com/authors/those-icons");
|
Process.Start("https://www.flaticon.com/authors/those-icons");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void linkLabelSI_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
|
||||||
|
{
|
||||||
|
Process.Start("https://www.flaticon.com/authors/smashicons");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
2047
src/UniversalValveToolbox/UI/FormAbout.ru-RU.resx
Normal file
2047
src/UniversalValveToolbox/UI/FormAbout.ru-RU.resx
Normal file
File diff suppressed because it is too large
Load Diff
@ -9,7 +9,7 @@ using System.Collections.Generic;
|
|||||||
using UniversalValveToolbox.Utils;
|
using UniversalValveToolbox.Utils;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using EpicMorg.SteamPathsLib;
|
using Steamworks;
|
||||||
|
|
||||||
namespace UniversalValveToolbox {
|
namespace UniversalValveToolbox {
|
||||||
public partial class FormAddons : Form {
|
public partial class FormAddons : Form {
|
||||||
@ -30,7 +30,7 @@ namespace UniversalValveToolbox {
|
|||||||
.Cast<DictionaryEntry>()
|
.Cast<DictionaryEntry>()
|
||||||
.ToArray();
|
.ToArray();
|
||||||
|
|
||||||
model = new FormAddonViewModel(dataProvider.Addons, dataProvider.Engines.Where(engine => SteamPathsUtil.GetSteamAppDataById(engine.Appid) != null).ToArray(), categories);
|
model = new FormAddonViewModel(dataProvider.Addons, dataProvider.Engines.Where(engine => isSteamAppInstall(engine.Appid)).ToArray(), categories);
|
||||||
|
|
||||||
UpdateAddonsComboBox();
|
UpdateAddonsComboBox();
|
||||||
UpdateAddonCategoryComboBox();
|
UpdateAddonCategoryComboBox();
|
||||||
@ -106,6 +106,11 @@ namespace UniversalValveToolbox {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool isSteamAppInstall(int appId) {
|
||||||
|
var isInstall = SteamApps.IsAppInstalled(appId);
|
||||||
|
return isInstall;
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateAddonCategoryComboBox() {
|
private void UpdateAddonCategoryComboBox() {
|
||||||
comboBoxCategory.Items.Clear();
|
comboBoxCategory.Items.Clear();
|
||||||
comboBoxCategory.Items.AddRange(model.Categories.Select(c => c.Value).ToArray());
|
comboBoxCategory.Items.AddRange(model.Categories.Select(c => c.Value).ToArray());
|
||||||
|
File diff suppressed because it is too large
Load Diff
2035
src/UniversalValveToolbox/UI/FormAddons.ru-RU.resx
Normal file
2035
src/UniversalValveToolbox/UI/FormAddons.ru-RU.resx
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,4 @@
|
|||||||
using EpicMorg.SteamPathsLib;
|
using Steamworks;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@ -12,8 +12,10 @@ using UniversalValveToolbox.Model.Provider;
|
|||||||
using UniversalValveToolbox.Model.ViewModel;
|
using UniversalValveToolbox.Model.ViewModel;
|
||||||
using UniversalValveToolbox.Utils;
|
using UniversalValveToolbox.Utils;
|
||||||
|
|
||||||
namespace UniversalValveToolbox {
|
namespace UniversalValveToolbox
|
||||||
public partial class FormMain : Form {
|
{
|
||||||
|
public partial class FormMain : Form
|
||||||
|
{
|
||||||
private readonly string RUN_PROJECT_ID = "RUN_PROJECT_ID";
|
private readonly string RUN_PROJECT_ID = "RUN_PROJECT_ID";
|
||||||
|
|
||||||
private EngineDtoModel[] Engines;
|
private EngineDtoModel[] Engines;
|
||||||
@ -25,21 +27,25 @@ namespace UniversalValveToolbox {
|
|||||||
private ListViewGroup listViewGroupAddons;
|
private ListViewGroup listViewGroupAddons;
|
||||||
private ListViewGroup listViewGroupTools;
|
private ListViewGroup listViewGroupTools;
|
||||||
|
|
||||||
private EngineDtoModel SelectedEngine {
|
private EngineDtoModel SelectedEngine
|
||||||
get {
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
if (Engines.Length == 0)
|
if (Engines.Length == 0)
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
return Engines[comboBoxEngine.SelectedIndex];
|
return Engines[comboBoxEngine.SelectedIndex];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private ProjectDtoModel SelectedProject {
|
private ProjectDtoModel SelectedProject
|
||||||
|
{
|
||||||
get => (ProjectDtoModel)((comboBoxProjects.Enabled)
|
get => (ProjectDtoModel)((comboBoxProjects.Enabled)
|
||||||
? Projects.First(project => project.Name.Equals(comboBoxProjects.SelectedItem))
|
? Projects.First(project => project.Name.Equals(comboBoxProjects.SelectedItem))
|
||||||
: null);
|
: null);
|
||||||
}
|
}
|
||||||
|
|
||||||
public FormMain() {
|
public FormMain()
|
||||||
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
FillBaseMenuItems();
|
FillBaseMenuItems();
|
||||||
|
|
||||||
@ -47,21 +53,25 @@ namespace UniversalValveToolbox {
|
|||||||
|
|
||||||
Text = VersionHelper.AssemblyTitle + VersionHelper.AssemblyVersion;
|
Text = VersionHelper.AssemblyTitle + VersionHelper.AssemblyVersion;
|
||||||
|
|
||||||
comboBoxEngine.SelectedIndexChanged += (s, e) => {
|
comboBoxEngine.SelectedIndexChanged += (s, e) =>
|
||||||
|
{
|
||||||
UpdateProjectList();
|
UpdateProjectList();
|
||||||
UpdateToolsList();
|
UpdateToolsList();
|
||||||
UpdateAddonsList();
|
UpdateAddonsList();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FormMain_Load(object sender, EventArgs e) {
|
private void FormMain_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateLastSelectedProject() {
|
private void UpdateLastSelectedProject()
|
||||||
|
{
|
||||||
var lastSelectedProject = dataProvider.Projects.FirstOrDefault(project => project.Name.Equals(dataProvider.Settings.LastSelectedProject));
|
var lastSelectedProject = dataProvider.Projects.FirstOrDefault(project => project.Name.Equals(dataProvider.Settings.LastSelectedProject));
|
||||||
|
|
||||||
if (lastSelectedProject != null && Engines.Length != 0) {
|
if (lastSelectedProject != null && Engines.Length != 0)
|
||||||
|
{
|
||||||
var indexEngine = comboBoxEngine.Items.IndexOf(Engines.First(engine => engine.Appid.Equals(lastSelectedProject.Engine)).Name);
|
var indexEngine = comboBoxEngine.Items.IndexOf(Engines.First(engine => engine.Appid.Equals(lastSelectedProject.Engine)).Name);
|
||||||
comboBoxEngine.SelectedIndex = indexEngine;
|
comboBoxEngine.SelectedIndex = indexEngine;
|
||||||
|
|
||||||
@ -75,14 +85,16 @@ namespace UniversalValveToolbox {
|
|||||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private void SaveLastSelectedProject() {
|
private void SaveLastSelectedProject()
|
||||||
|
{
|
||||||
var settings = dataProvider.Settings;
|
var settings = dataProvider.Settings;
|
||||||
settings.LastSelectedProject = SelectedProject?.Name;
|
settings.LastSelectedProject = SelectedProject?.Name;
|
||||||
dataProvider.Settings = settings;
|
dataProvider.Settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void UpdateFormData() {
|
private void UpdateFormData()
|
||||||
|
{
|
||||||
UpdateEngineList();
|
UpdateEngineList();
|
||||||
UpdateProjectList();
|
UpdateProjectList();
|
||||||
UpdateToolsList();
|
UpdateToolsList();
|
||||||
@ -92,16 +104,19 @@ namespace UniversalValveToolbox {
|
|||||||
UpdateLastSelectedProject();
|
UpdateLastSelectedProject();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateNavigationBar() {
|
private void UpdateNavigationBar()
|
||||||
|
{
|
||||||
UpdateLogInStatus();
|
UpdateLogInStatus();
|
||||||
UpdateInfoNavigationBar();
|
UpdateInfoNavigationBar();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void toolStripStatusLabelRefresh_Click(object sender, EventArgs e) {
|
private void toolStripStatusLabelRefresh_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
UpdateFormData();
|
UpdateFormData();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FillBaseMenuItems() {
|
public void FillBaseMenuItems()
|
||||||
|
{
|
||||||
#region static content, do not edit
|
#region static content, do not edit
|
||||||
//creating groups (categores)
|
//creating groups (categores)
|
||||||
listViewGroupAddons = new ListViewGroup(Properties.translations.MenuCategories.catAddons);
|
listViewGroupAddons = new ListViewGroup(Properties.translations.MenuCategories.catAddons);
|
||||||
@ -164,15 +179,15 @@ namespace UniversalValveToolbox {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateEngineList() {
|
private void UpdateEngineList()
|
||||||
var dataProvider = new DataProvider();
|
{
|
||||||
Engines = dataProvider.Engines.Where(engine => {
|
|
||||||
var engineAppData = SteamPathsUtil.GetSteamAppDataById(engine.Appid);
|
|
||||||
|
|
||||||
return engineAppData != null && engineAppData.Installed;
|
|
||||||
}).ToArray();
|
|
||||||
|
|
||||||
if (Engines != null && Engines.Length != 0) {
|
|
||||||
|
GetAvailableEngines();
|
||||||
|
|
||||||
|
if (Engines != null && Engines.Length != 0)
|
||||||
|
{
|
||||||
comboBoxEngine.Enabled = true;
|
comboBoxEngine.Enabled = true;
|
||||||
comboBoxEngine.Items.Clear();
|
comboBoxEngine.Items.Clear();
|
||||||
comboBoxEngine.Items.AddRange(Engines.Select(engine => engine.Name).ToArray());
|
comboBoxEngine.Items.AddRange(Engines.Select(engine => engine.Name).ToArray());
|
||||||
@ -181,8 +196,35 @@ namespace UniversalValveToolbox {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateProjectList() {
|
private void GetAvailableEngines()
|
||||||
if (Engines.Length == 0) {
|
{
|
||||||
|
var dataProvider = new DataProvider();
|
||||||
|
if (dataProvider.Settings.ToolboxMod == ToolboxMod.dev)
|
||||||
|
{
|
||||||
|
EngineDtoModel engineValues = dataProvider.Engines.Single(engine => engine.Appid == dataProvider.Settings.BundleAppID);
|
||||||
|
Engines = new[] {
|
||||||
|
new EngineDtoModel {
|
||||||
|
Appid = (int)dataProvider.Settings.BundleAppID,
|
||||||
|
Name = dataProvider.Settings.DevEngineName,
|
||||||
|
Bin = engineValues.Bin,
|
||||||
|
Tools = engineValues.Tools
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Engines = dataProvider.Engines.Where(engine => dataProvider.Settings.ToolboxMod switch
|
||||||
|
{
|
||||||
|
ToolboxMod.retail => SteamApps.IsAppInstalled(engine.Appid),
|
||||||
|
ToolboxMod.bundle => engine.Appid == dataProvider.Settings.BundleAppID,
|
||||||
|
_ => throw new Exception($"Unrecognised toolbox mode: {dataProvider.Settings.ToolboxMod}")
|
||||||
|
}).ToArray();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateProjectList()
|
||||||
|
{
|
||||||
|
if (Engines.Length == 0)
|
||||||
|
{
|
||||||
comboBoxProjects.Enabled = false;
|
comboBoxProjects.Enabled = false;
|
||||||
|
|
||||||
comboBoxProjects.Items.Clear();
|
comboBoxProjects.Items.Clear();
|
||||||
@ -195,7 +237,8 @@ namespace UniversalValveToolbox {
|
|||||||
var selectEngine = Engines[comboBoxEngine.SelectedIndex];
|
var selectEngine = Engines[comboBoxEngine.SelectedIndex];
|
||||||
AvailableProjects = Projects.Where(project => project.Engine == selectEngine.Appid).ToArray();
|
AvailableProjects = Projects.Where(project => project.Engine == selectEngine.Appid).ToArray();
|
||||||
|
|
||||||
if (AvailableProjects != null && AvailableProjects.Length != 0) {
|
if (AvailableProjects != null && AvailableProjects.Length != 0)
|
||||||
|
{
|
||||||
comboBoxProjects.Enabled = true;
|
comboBoxProjects.Enabled = true;
|
||||||
|
|
||||||
comboBoxProjects.Items.Clear();
|
comboBoxProjects.Items.Clear();
|
||||||
@ -203,17 +246,20 @@ namespace UniversalValveToolbox {
|
|||||||
|
|
||||||
comboBoxProjects.SelectedIndex = 0;
|
comboBoxProjects.SelectedIndex = 0;
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
comboBoxProjects.Enabled = false;
|
comboBoxProjects.Enabled = false;
|
||||||
|
|
||||||
comboBoxProjects.Items.Clear();
|
comboBoxProjects.Items.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateToolsList() {
|
private void UpdateToolsList()
|
||||||
|
{
|
||||||
var removeItem = new List<ListViewItem>();
|
var removeItem = new List<ListViewItem>();
|
||||||
|
|
||||||
foreach (ListViewItem item in listViewGroupTools.Items) {
|
foreach (ListViewItem item in listViewGroupTools.Items)
|
||||||
|
{
|
||||||
removeItem.Add(item);
|
removeItem.Add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -222,19 +268,30 @@ namespace UniversalValveToolbox {
|
|||||||
if (SelectedEngine == null)
|
if (SelectedEngine == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var pathSelectedEngine = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
var dataProvider = new DataProvider();
|
||||||
|
|
||||||
if (pathSelectedEngine != null) {
|
var pathSelectedEngine = dataProvider.Settings.ToolboxMod switch
|
||||||
|
{
|
||||||
|
ToolboxMod.retail => SteamApps.AppInstallDir(SelectedEngine.Appid),
|
||||||
|
ToolboxMod.bundle => SteamApps.AppInstallDir(dataProvider.Settings.BundleAppID),
|
||||||
|
ToolboxMod.dev => dataProvider.Settings.DevEnginePath,
|
||||||
|
_ => throw new Exception($"Unrecognised engine type: {dataProvider.Settings.ToolboxMod}")
|
||||||
|
};
|
||||||
|
|
||||||
|
if (pathSelectedEngine != null)
|
||||||
|
{
|
||||||
var pairPathIconTools = SelectedEngine.Tools
|
var pairPathIconTools = SelectedEngine.Tools
|
||||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||||
.Select(tool => {
|
.Select(tool =>
|
||||||
|
{
|
||||||
var keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
var keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||||
var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, tool.Bin));
|
var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, tool.Bin));
|
||||||
|
|
||||||
return new Pair(keyByPath, icon);
|
return new Pair(keyByPath, icon);
|
||||||
});
|
});
|
||||||
|
|
||||||
foreach (var pair in pairPathIconTools) {
|
foreach (var pair in pairPathIconTools)
|
||||||
|
{
|
||||||
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||||
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||||
}
|
}
|
||||||
@ -243,16 +300,19 @@ namespace UniversalValveToolbox {
|
|||||||
var itemsTools = SelectedEngine.Tools
|
var itemsTools = SelectedEngine.Tools
|
||||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||||
|
|
||||||
.Select(tool => {
|
.Select(tool =>
|
||||||
|
{
|
||||||
string keyByPath = null;
|
string keyByPath = null;
|
||||||
|
|
||||||
if (pathSelectedEngine != null)
|
if (pathSelectedEngine != null)
|
||||||
keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||||
|
|
||||||
if (keyByPath == null) {
|
if (keyByPath == null)
|
||||||
|
{
|
||||||
return new ListViewItem(tool.Name, listViewGroupTools);
|
return new ListViewItem(tool.Name, listViewGroupTools);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
return new ListViewItem(tool.Name, keyByPath, listViewGroupTools);
|
return new ListViewItem(tool.Name, keyByPath, listViewGroupTools);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -260,27 +320,33 @@ namespace UniversalValveToolbox {
|
|||||||
listView.Items.AddRange(itemsTools);
|
listView.Items.AddRange(itemsTools);
|
||||||
|
|
||||||
|
|
||||||
var engineData = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid);
|
var enginePath = dataProvider.Settings.ToolboxMod switch
|
||||||
|
{
|
||||||
|
ToolboxMod.retail => SteamApps.AppInstallDir(SelectedEngine.Appid),
|
||||||
|
ToolboxMod.bundle => SteamApps.AppInstallDir(dataProvider.Settings.BundleAppID),
|
||||||
|
ToolboxMod.dev => dataProvider.Settings.DevEnginePath,
|
||||||
|
_ => throw new Exception($"Unrecognised engine type: {dataProvider.Settings.ToolboxMod}")
|
||||||
|
};
|
||||||
|
|
||||||
var isAvailableProjectBySelectEngine = Projects.Any(project => project.Engine == SelectedEngine.Appid);
|
var isAvailableProjectBySelectEngine = Projects.Any(project => project.Engine == SelectedEngine.Appid);
|
||||||
|
|
||||||
if (engineData != null && isAvailableProjectBySelectEngine) {
|
if (enginePath != null && isAvailableProjectBySelectEngine)
|
||||||
var enginePath = engineData.Path;
|
{
|
||||||
|
var iconPathEngine = Path.Combine(enginePath, SelectedEngine.Bin);
|
||||||
|
|
||||||
if (enginePath != null) {
|
var runProjectListViewItem = new ListViewItem(Properties.translations.MenuItems.itmRunProject, iconPathEngine, listViewGroupTools);
|
||||||
var iconPathEngine = Path.Combine(enginePath, SelectedEngine.Bin);
|
runProjectListViewItem.Tag = RUN_PROJECT_ID;
|
||||||
|
|
||||||
var runProjectListViewItem = new ListViewItem(Properties.translations.MenuItems.itmRunProject, iconPathEngine, listViewGroupTools);
|
listView.Items.Add(runProjectListViewItem);
|
||||||
runProjectListViewItem.Tag = RUN_PROJECT_ID;
|
|
||||||
|
|
||||||
listView.Items.Add(runProjectListViewItem);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateAddonsList() {
|
private void UpdateAddonsList()
|
||||||
|
{
|
||||||
var removeItem = new List<ListViewItem>();
|
var removeItem = new List<ListViewItem>();
|
||||||
|
|
||||||
foreach (ListViewItem item in listViewGroupAddons.Items) {
|
foreach (ListViewItem item in listViewGroupAddons.Items)
|
||||||
|
{
|
||||||
removeItem.Add(item);
|
removeItem.Add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,39 +355,45 @@ namespace UniversalValveToolbox {
|
|||||||
if (SelectedEngine == null)
|
if (SelectedEngine == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var pathSelectedEngine = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
var pathSelectedEngine = SteamApps.AppInstallDir(SelectedEngine.Appid);
|
||||||
var addonsSelectedEngine = dataProvider.Addons.Where(a => a.Engines.Contains(SelectedEngine.Appid));
|
var addonsSelectedEngine = dataProvider.Addons.Where(a => a.Engines.Contains(SelectedEngine.Appid));
|
||||||
|
|
||||||
|
|
||||||
var pairPathIconTools = addonsSelectedEngine
|
var pairPathIconTools = addonsSelectedEngine
|
||||||
.Where(addon => {
|
.Where(addon =>
|
||||||
|
{
|
||||||
var path = addon.Bin;
|
var path = addon.Bin;
|
||||||
|
|
||||||
return File.Exists(path);
|
return File.Exists(path);
|
||||||
|
|
||||||
})
|
})
|
||||||
.Select(addons => {
|
.Select(addons =>
|
||||||
|
{
|
||||||
var keyByPath = addons.Bin;
|
var keyByPath = addons.Bin;
|
||||||
var icon = Icon.ExtractAssociatedIcon(keyByPath);
|
var icon = Icon.ExtractAssociatedIcon(keyByPath);
|
||||||
|
|
||||||
return new Pair(keyByPath, icon);
|
return new Pair(keyByPath, icon);
|
||||||
});
|
});
|
||||||
|
|
||||||
foreach (var pair in pairPathIconTools) {
|
foreach (var pair in pairPathIconTools)
|
||||||
|
{
|
||||||
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
listView.SmallImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||||
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
listView.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||||
}
|
}
|
||||||
|
|
||||||
var itemsAddons = addonsSelectedEngine.Select(addons => {
|
var itemsAddons = addonsSelectedEngine.Select(addons =>
|
||||||
|
{
|
||||||
string keyByPath = null;
|
string keyByPath = null;
|
||||||
|
|
||||||
if (pathSelectedEngine != null)
|
if (pathSelectedEngine != null)
|
||||||
keyByPath = Path.Combine(pathSelectedEngine, addons.Bin);
|
keyByPath = Path.Combine(pathSelectedEngine, addons.Bin);
|
||||||
|
|
||||||
if (keyByPath == null) {
|
if (keyByPath == null)
|
||||||
|
{
|
||||||
return new ListViewItem(addons.Name, listViewGroupAddons);
|
return new ListViewItem(addons.Name, listViewGroupAddons);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
return new ListViewItem(addons.Name, keyByPath, listViewGroupAddons);
|
return new ListViewItem(addons.Name, keyByPath, listViewGroupAddons);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,7 +402,8 @@ namespace UniversalValveToolbox {
|
|||||||
listView.Items.AddRange(itemsAddons);
|
listView.Items.AddRange(itemsAddons);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateInfoNavigationBar() {
|
private void UpdateInfoNavigationBar()
|
||||||
|
{
|
||||||
var countAvailableEngines = Engines.Length;
|
var countAvailableEngines = Engines.Length;
|
||||||
var countAvailableProjects = dataProvider.Projects.Length;
|
var countAvailableProjects = dataProvider.Projects.Length;
|
||||||
var countAvailableAddons = dataProvider.Addons.Length;
|
var countAvailableAddons = dataProvider.Addons.Length;
|
||||||
@ -339,81 +412,108 @@ namespace UniversalValveToolbox {
|
|||||||
toolStripStatusLabelAddons.Text = Properties.translations.MenuNavbar.menuStrAddons + $"{countAvailableAddons}";
|
toolStripStatusLabelAddons.Text = Properties.translations.MenuNavbar.menuStrAddons + $"{countAvailableAddons}";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateLogInStatus() {
|
private void UpdateLogInStatus()
|
||||||
|
{
|
||||||
var steamData = SteamManager.SteamData;
|
var steamData = SteamManager.SteamData;
|
||||||
|
|
||||||
if (steamData.SteamPid != 0) {
|
if (steamData.SteamPid != 0)
|
||||||
|
{
|
||||||
toolStripStatusLabelSteam.Image = Properties.Resources.checked_16;
|
toolStripStatusLabelSteam.Image = Properties.Resources.checked_16;
|
||||||
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOnline;
|
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOnline;
|
||||||
toolStripStatusLabelSteam.ToolTipText = Properties.translations.MenuNavbar.menuStrSteam + $"PID: {steamData.SteamPid.ToString()}";
|
toolStripStatusLabelSteam.ToolTipText = Properties.translations.MenuNavbar.menuStrSteam + $"PID: {steamData.SteamPid.ToString()}";
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
toolStripStatusLabelSteam.Image = Properties.Resources.cancel_16;
|
toolStripStatusLabelSteam.Image = Properties.Resources.cancel_16;
|
||||||
toolStripStatusLabelSteam.ToolTipText = string.Empty;
|
toolStripStatusLabelSteam.ToolTipText = string.Empty;
|
||||||
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOffline;
|
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOffline;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (steamData.UserNameSteam != null) {
|
if (steamData.UserNameSteam != null)
|
||||||
|
{
|
||||||
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + $"{steamData.UserNameSteam}";
|
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + $"{steamData.UserNameSteam}";
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + Properties.translations.MenuNavbar.menuStrNone;
|
toolStripStatusLabelLogin.Text = Properties.translations.MenuNavbar.menuStrLogin + Properties.translations.MenuNavbar.menuStrNone;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void button_Launch_Click(object sender, EventArgs e) {
|
private void button_Launch_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
this.OpenSettings();
|
this.OpenSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void listView_MouseDoubleClick(object sender, MouseEventArgs e) {
|
private void listView_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
var selectItem = listView.SelectedItems[0];
|
var selectItem = listView.SelectedItems[0];
|
||||||
|
|
||||||
var selectItemText = selectItem.Text;
|
var selectItemText = selectItem.Text;
|
||||||
EnvUtils.PrepareVProject($"{SelectedProject?.Path ?? string.Empty}");
|
EnvUtils.PrepareVProject($"{SelectedProject?.Path ?? string.Empty}");
|
||||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||||
|
|
||||||
if (selectItem.Group == listViewGroupTools) {
|
if (selectItem.Group == listViewGroupTools)
|
||||||
if (RUN_PROJECT_ID.Equals(selectItem.Tag) && SelectedProject != null) {
|
{
|
||||||
var pathEngineBin = Path.Combine(SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid).Path, SelectedEngine.Bin);
|
if (RUN_PROJECT_ID.Equals(selectItem.Tag) && SelectedProject != null)
|
||||||
|
{
|
||||||
|
var pathEngineBin = Path.Combine(SteamApps.AppInstallDir(SelectedEngine.Appid), SelectedEngine.Bin);
|
||||||
|
|
||||||
|
|
||||||
Process.Start(pathEngineBin, $"-steam -game \"{SelectedProject?.Path ?? string.Empty}\" {SelectedProject.Args}");
|
Process.Start(pathEngineBin, $"-steam -game \"{SelectedProject?.Path ?? string.Empty}\" {SelectedProject.Args}");
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectedTool = SelectedEngine.Tools.FirstOrDefault(tool => tool.Name == selectItemText);
|
var selectedTool = SelectedEngine.Tools.FirstOrDefault(tool => tool.Name == selectItemText);
|
||||||
if (selectedTool != null) {
|
if (selectedTool != null)
|
||||||
var selectedEnginePath = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
{
|
||||||
|
// var selectedEnginePath = SteamApps.AppInstallDir(SelectedEngine.Appid);
|
||||||
|
|
||||||
if (selectedEnginePath != null) {
|
var selectedEnginePath = dataProvider.Settings.ToolboxMod switch
|
||||||
|
{
|
||||||
|
ToolboxMod.retail => SteamApps.AppInstallDir(SelectedEngine.Appid),
|
||||||
|
ToolboxMod.bundle => SteamApps.AppInstallDir(dataProvider.Settings.BundleAppID),
|
||||||
|
ToolboxMod.dev => dataProvider.Settings.DevEnginePath,
|
||||||
|
_ => throw new Exception($"Unrecognised engine type: {dataProvider.Settings.ToolboxMod}")
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
if (selectedEnginePath != null)
|
||||||
|
{
|
||||||
var toolPath = Path.Combine(selectedEnginePath, selectedTool.Bin);
|
var toolPath = Path.Combine(selectedEnginePath, selectedTool.Bin);
|
||||||
|
|
||||||
if (File.Exists(toolPath)) {
|
if (File.Exists(toolPath))
|
||||||
|
{
|
||||||
string finalArg = $"-steam {selectedTool.Args}";
|
string finalArg = $"-steam {selectedTool.Args}";
|
||||||
|
|
||||||
if (!finalArg.Contains("-game")) {
|
if (!finalArg.Contains("-game"))
|
||||||
finalArg += $"-game \"{SelectedProject?.Path ?? string.Empty}\"";
|
{
|
||||||
|
finalArg += $" -game \"{SelectedProject?.Path ?? string.Empty}\" ";
|
||||||
}
|
}
|
||||||
|
|
||||||
Process.Start(toolPath, finalArg);
|
Process.Start(toolPath, finalArg);
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
MessageBox.Show($"\"{selectedTool.Name}\" {Properties.translations.MessageBoxes.msgTextNotFound}\n{toolPath}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
MessageBox.Show($"\"{selectedTool.Name}\" {Properties.translations.MessageBoxes.msgTextNotFound}\n{toolPath}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.OK, MessageBoxIcon.Warning);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
|
{
|
||||||
DialogResult dialogResult = MessageBox.Show($"\"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextNotInstalledInstall}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
DialogResult dialogResult = MessageBox.Show($"\"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextNotInstalledInstall}", Properties.translations.MessageBoxes.msgWarning, MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
|
||||||
if (dialogResult == DialogResult.Yes) {
|
if (dialogResult == DialogResult.Yes)
|
||||||
|
{
|
||||||
Process.Start($"steam://install/{SelectedEngine.Appid}");
|
Process.Start($"steam://install/{SelectedEngine.Appid}");
|
||||||
}
|
}
|
||||||
else if (dialogResult == DialogResult.No) {
|
else if (dialogResult == DialogResult.No)
|
||||||
|
{
|
||||||
MessageBox.Show($"{Properties.translations.MessageBoxes.msgTextInstallationOf} \"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextCancelled}", Properties.translations.MessageBoxes.msgInfo, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
MessageBox.Show($"{Properties.translations.MessageBoxes.msgTextInstallationOf} \"{SelectedEngine.Name}\" {Properties.translations.MessageBoxes.msgTextWithAppID} \"{SelectedEngine.Appid}\" {Properties.translations.MessageBoxes.msgTextCancelled}", Properties.translations.MessageBoxes.msgInfo, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (selectItem.Group == listViewGroupAddons) {
|
else if (selectItem.Group == listViewGroupAddons)
|
||||||
|
{
|
||||||
var selectedAddons = dataProvider.Addons.FirstOrDefault(addon => addon.Name == selectItemText);
|
var selectedAddons = dataProvider.Addons.FirstOrDefault(addon => addon.Name == selectItemText);
|
||||||
if (selectedAddons != null) {
|
if (selectedAddons != null)
|
||||||
|
{
|
||||||
var addonPath = Path.Combine(selectedAddons.Bin);
|
var addonPath = Path.Combine(selectedAddons.Bin);
|
||||||
|
|
||||||
if (File.Exists(addonPath))
|
if (File.Exists(addonPath))
|
||||||
@ -424,34 +524,43 @@ namespace UniversalValveToolbox {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmOpenSettings) {
|
else if (selectItemText == Properties.translations.MenuItems.itmOpenSettings)
|
||||||
|
{
|
||||||
this.OpenSettings();
|
this.OpenSettings();
|
||||||
}
|
}
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmEditConfigurations) {
|
else if (selectItemText == Properties.translations.MenuItems.itmEditConfigurations)
|
||||||
|
{
|
||||||
var frmProfiles = new FormProjects();
|
var frmProfiles = new FormProjects();
|
||||||
if (frmProfiles.ShowDialog() == DialogResult.OK) {
|
if (frmProfiles.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
UpdateFormData();
|
UpdateFormData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmEditPlugins) {
|
else if (selectItemText == Properties.translations.MenuItems.itmEditPlugins)
|
||||||
|
{
|
||||||
var frmPlugins = new FormAddons();
|
var frmPlugins = new FormAddons();
|
||||||
if (frmPlugins.ShowDialog() == DialogResult.OK) {
|
if (frmPlugins.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
UpdateFormData();
|
UpdateFormData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmAbout) {
|
else if (selectItemText == Properties.translations.MenuItems.itmAbout)
|
||||||
|
{
|
||||||
var frmAbout = new FormAbout();
|
var frmAbout = new FormAbout();
|
||||||
frmAbout.ShowDialog();
|
frmAbout.ShowDialog();
|
||||||
}
|
}
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubLink) {
|
else if (selectItemText == Properties.translations.MenuItems.itmGitHubLink)
|
||||||
|
{
|
||||||
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox");
|
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox");
|
||||||
}
|
}
|
||||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubReport) {
|
else if (selectItemText == Properties.translations.MenuItems.itmGitHubReport)
|
||||||
|
{
|
||||||
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox/issues/new/choose");
|
Process.Start("https://github.com/EpicMorg/UniversalValveToolbox/issues/new/choose");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void OpenSettings() {
|
private void OpenSettings()
|
||||||
|
{
|
||||||
var dataManager = new DataProvider();
|
var dataManager = new DataProvider();
|
||||||
var settingsDto = dataManager.Settings;
|
var settingsDto = dataManager.Settings;
|
||||||
var languageProvider = new LanguageProvider();
|
var languageProvider = new LanguageProvider();
|
||||||
@ -460,14 +569,17 @@ namespace UniversalValveToolbox {
|
|||||||
|
|
||||||
var frmSettings = new FormSettings(settingsModel);
|
var frmSettings = new FormSettings(settingsModel);
|
||||||
|
|
||||||
if (frmSettings.ShowDialog() == DialogResult.OK) {
|
if (frmSettings.ShowDialog() == DialogResult.OK)
|
||||||
|
{
|
||||||
dataManager.Settings = settingsDto;
|
dataManager.Settings = settingsDto;
|
||||||
Application.Restart();
|
Application.Restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) {
|
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||||
|
{
|
||||||
SaveLastSelectedProject();
|
SaveLastSelectedProject();
|
||||||
|
SteamClient.Shutdown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
2305
src/UniversalValveToolbox/UI/FormMain.ru-RU.resx
Normal file
2305
src/UniversalValveToolbox/UI/FormMain.ru-RU.resx
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
|||||||
using EpicMorg.SteamPathsLib;
|
|
||||||
using kasthack.binding.wf;
|
using kasthack.binding.wf;
|
||||||
|
using Steamworks;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -21,7 +22,7 @@ namespace UniversalValveToolbox {
|
|||||||
public FormProjects() {
|
public FormProjects() {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
model = new FormProjectViewModel(dataProvider.Projects, dataProvider.Engines.Where(engine => SteamPathsUtil.GetSteamAppDataById(engine.Appid) != null).ToArray());
|
model = new FormProjectViewModel(dataProvider.Projects, dataProvider.Engines.Where(engine => isAppInstalled(engine.Appid)).ToArray());
|
||||||
|
|
||||||
UpdateComboBoxProject();
|
UpdateComboBoxProject();
|
||||||
UpdateComboBoxEngine();
|
UpdateComboBoxEngine();
|
||||||
@ -34,6 +35,11 @@ namespace UniversalValveToolbox {
|
|||||||
comboBoxEngine.Bind(a => a.SelectedIndex, model, a => a.SelectEngineIndex);
|
comboBoxEngine.Bind(a => a.SelectedIndex, model, a => a.SelectEngineIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool isAppInstalled(int appId) {
|
||||||
|
var isInstall = SteamApps.IsAppInstalled(appId);
|
||||||
|
return isInstall;
|
||||||
|
}
|
||||||
|
|
||||||
private void Model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
|
private void Model_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) {
|
||||||
UpdateComboBoxEngine();
|
UpdateComboBoxEngine();
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
2035
src/UniversalValveToolbox/UI/FormProjects.ru-RU.resx
Normal file
2035
src/UniversalValveToolbox/UI/FormProjects.ru-RU.resx
Normal file
File diff suppressed because it is too large
Load Diff
@ -74,8 +74,8 @@
|
|||||||
//
|
//
|
||||||
// labelTranslationAthor
|
// labelTranslationAthor
|
||||||
//
|
//
|
||||||
this.labelTranslationAthor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
|
||||||
resources.ApplyResources(this.labelTranslationAthor, "labelTranslationAthor");
|
resources.ApplyResources(this.labelTranslationAthor, "labelTranslationAthor");
|
||||||
|
this.labelTranslationAthor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||||
this.labelTranslationAthor.Name = "labelTranslationAthor";
|
this.labelTranslationAthor.Name = "labelTranslationAthor";
|
||||||
//
|
//
|
||||||
// FormSettings
|
// FormSettings
|
||||||
|
File diff suppressed because it is too large
Load Diff
2035
src/UniversalValveToolbox/UI/FormSettings.ru-RU.resx
Normal file
2035
src/UniversalValveToolbox/UI/FormSettings.ru-RU.resx
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,6 +13,9 @@
|
|||||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
<Deterministic>true</Deterministic>
|
<Deterministic>true</Deterministic>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<LangVersion>8.0</LangVersion>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
@ -33,7 +36,27 @@
|
|||||||
<WarningLevel>4</WarningLevel>
|
<WarningLevel>4</WarningLevel>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<ApplicationIcon>valve.ico</ApplicationIcon>
|
<ApplicationIcon>toolbox.ico</ApplicationIcon>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<LangVersion>7.3</LangVersion>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<Prefer32Bit>true</Prefer32Bit>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="PresentationCore" />
|
<Reference Include="PresentationCore" />
|
||||||
@ -51,7 +74,7 @@
|
|||||||
<Reference Include="System.Net.Http" />
|
<Reference Include="System.Net.Http" />
|
||||||
<Reference Include="System.Windows.Forms" />
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml" />
|
<Reference Include="System.Xml" />
|
||||||
<PackageReference Include="EpicMorg.SteamPathsLib" Version="1.1.0.6" />
|
<!--<PackageReference Include="EpicMorg.SteamPathsLib" Version="1.1.0.6" />-->
|
||||||
<PackageReference Include="kasthack.binding.wf">
|
<PackageReference Include="kasthack.binding.wf">
|
||||||
<Version>1.2.26</Version>
|
<Version>1.2.26</Version>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
@ -184,15 +207,24 @@
|
|||||||
<EmbeddedResource Include="UI\FormAbout.resx">
|
<EmbeddedResource Include="UI\FormAbout.resx">
|
||||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UI\FormAbout.ru-RU.resx">
|
||||||
|
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormAbout.ru.resx">
|
<EmbeddedResource Include="UI\FormAbout.ru.resx">
|
||||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormAddons.resx">
|
<EmbeddedResource Include="UI\FormAddons.resx">
|
||||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UI\FormAddons.ru-RU.resx">
|
||||||
|
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormAddons.ru.resx">
|
<EmbeddedResource Include="UI\FormAddons.ru.resx">
|
||||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UI\FormMain.ru-RU.resx">
|
||||||
|
<DependentUpon>FormMain.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormMain.ru.resx">
|
<EmbeddedResource Include="UI\FormMain.ru.resx">
|
||||||
<DependentUpon>FormMain.cs</DependentUpon>
|
<DependentUpon>FormMain.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@ -202,6 +234,9 @@
|
|||||||
<EmbeddedResource Include="UI\FormMain.resx">
|
<EmbeddedResource Include="UI\FormMain.resx">
|
||||||
<DependentUpon>FormMain.cs</DependentUpon>
|
<DependentUpon>FormMain.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UI\FormProjects.ru-RU.resx">
|
||||||
|
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormProjects.ru.resx">
|
<EmbeddedResource Include="UI\FormProjects.ru.resx">
|
||||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@ -239,6 +274,9 @@
|
|||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>MessageBoxes.Designer.cs</LastGenOutput>
|
<LastGenOutput>MessageBoxes.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="UI\FormSettings.ru-RU.resx">
|
||||||
|
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="UI\FormSettings.ru.resx">
|
<EmbeddedResource Include="UI\FormSettings.ru.resx">
|
||||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
@ -247,6 +285,12 @@
|
|||||||
<None Include="json\engines\1840_sfm.json">
|
<None Include="json\engines\1840_sfm.json">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
|
<None Include="json\engines\1950750_kl.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
|
<None Include="json\engines\1966980_bst.json">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</None>
|
||||||
<None Include="json\engines\440_tf2.sdk.json">
|
<None Include="json\engines\440_tf2.sdk.json">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
@ -341,6 +385,7 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Content Include="toolbox.ico" />
|
||||||
<None Include="Resources\cancel_16.png" />
|
<None Include="Resources\cancel_16.png" />
|
||||||
<None Include="Resources\checked_16.png" />
|
<None Include="Resources\checked_16.png" />
|
||||||
<None Include="Resources\human_16.png" />
|
<None Include="Resources\human_16.png" />
|
||||||
@ -349,7 +394,18 @@
|
|||||||
<None Include="Resources\info_16.png" />
|
<None Include="Resources\info_16.png" />
|
||||||
<None Include="Resources\plug-silhouette_16.png" />
|
<None Include="Resources\plug-silhouette_16.png" />
|
||||||
<None Include="Resources\run_16.png" />
|
<None Include="Resources\run_16.png" />
|
||||||
<Content Include="valve.ico" />
|
<None Include="Resources\toolbox64.png" />
|
||||||
|
<Content Include="steam_api.dll">
|
||||||
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
|
</Content>
|
||||||
|
<Content Include="steam_api64.dll" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\Facepunch.Steamworks\Facepunch.Steamworks\Facepunch.Steamworks.Win32.csproj">
|
||||||
|
<Project>{ed9b29e8-0f90-4f9e-bd87-f5014f5fcf85}</Project>
|
||||||
|
<Name>Facepunch.Steamworks.Win32</Name>
|
||||||
|
</ProjectReference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
</Project>
|
</Project>
|
@ -1,4 +1,4 @@
|
|||||||
using EpicMorg.SteamPathsLib;
|
using Steamworks;
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
@ -28,7 +28,7 @@ namespace UniversalValveToolbox.Utils {
|
|||||||
if (pathProject == null || pathProject.Length == 0)
|
if (pathProject == null || pathProject.Length == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var SFMpath = SteamPathsUtil.GetSteamAppManifestDataById(1840)?.Path;
|
var SFMpath = SteamApps.AppInstallDir(1840);
|
||||||
|
|
||||||
if (SFMpath == null)
|
if (SFMpath == null)
|
||||||
return;
|
return;
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using EpicMorg.SteamPathsLib;
|
using Steamworks;
|
||||||
|
using System.Diagnostics;
|
||||||
using UniversalValveToolbox.Model.ViewModel;
|
using UniversalValveToolbox.Model.ViewModel;
|
||||||
|
|
||||||
namespace UniversalValveToolbox.Utils {
|
namespace UniversalValveToolbox.Utils {
|
||||||
@ -6,8 +7,9 @@ namespace UniversalValveToolbox.Utils {
|
|||||||
public static SteamDataViewModel SteamData {
|
public static SteamDataViewModel SteamData {
|
||||||
get {
|
get {
|
||||||
var result = new SteamDataViewModel();
|
var result = new SteamDataViewModel();
|
||||||
result.SteamPid = SteamPathsUtil.GetActiveProcessSteamData()?.PID ?? 0;
|
|
||||||
result.UserNameSteam = SteamPathsUtil.GetSteamData()?.LastGameNameUsed ?? null;
|
result.SteamPid = Process.GetProcessesByName("steam")[0]?.Id ?? 0;
|
||||||
|
result.UserNameSteam = SteamClient.Name ?? null;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
BIN
src/UniversalValveToolbox/icons/044-valve.ico
Normal file
BIN
src/UniversalValveToolbox/icons/044-valve.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 112 KiB |
BIN
src/UniversalValveToolbox/icons/toolbox.ico
Normal file
BIN
src/UniversalValveToolbox/icons/toolbox.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 104 KiB |
37
src/UniversalValveToolbox/json/engines/1950750_kl.json
Normal file
37
src/UniversalValveToolbox/json/engines/1950750_kl.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"appid": 1950750,
|
||||||
|
"name": "Kayf-Life: Complete Edition",
|
||||||
|
"bin": "kl.exe",
|
||||||
|
"tools": [
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammer.exe",
|
||||||
|
"name": "Valve Hammer Editor (Slamin Tools)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hlmv.exe",
|
||||||
|
"name": "Half-Life Model Viewer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hlfaceposer.exe",
|
||||||
|
"name": "Half-Life FacePoser"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//qc_eyes.exe",
|
||||||
|
"name": "QC Eyes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "-tools",
|
||||||
|
"bin": "kl.exe",
|
||||||
|
"name": "Engine Tools"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
37
src/UniversalValveToolbox/json/engines/1966980_bst.json
Normal file
37
src/UniversalValveToolbox/json/engines/1966980_bst.json
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"appid": 1966980,
|
||||||
|
"name": "Bestiarium Project",
|
||||||
|
"bin": "bst.exe",
|
||||||
|
"tools": [
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammer.exe",
|
||||||
|
"name": "Valve Hammer Editor (Slamin Tools)"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hlmv.exe",
|
||||||
|
"name": "Half-Life Model Viewer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hlfaceposer.exe",
|
||||||
|
"name": "Half-Life FacePoser"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//qc_eyes.exe",
|
||||||
|
"name": "QC Eyes"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"args": "-tools",
|
||||||
|
"bin": "bst.exe",
|
||||||
|
"name": "Engine Tools"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -8,6 +8,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -18,6 +18,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -18,6 +18,11 @@
|
|||||||
"bin": "bin//hammer.exe",
|
"bin": "bin//hammer.exe",
|
||||||
"name": "Valve Hammer Editor"
|
"name": "Valve Hammer Editor"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"args": "",
|
||||||
|
"bin": "bin//hammerplusplus.exe",
|
||||||
|
"name": "Valve Hammer Editor ++"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"args": "",
|
"args": "",
|
||||||
"bin": "bin//hlmv.exe",
|
"bin": "bin//hlmv.exe",
|
||||||
|
@ -2,5 +2,10 @@
|
|||||||
"LastSelectedProject": null,
|
"LastSelectedProject": null,
|
||||||
"Language": "en-US",
|
"Language": "en-US",
|
||||||
"AvailableLanguages": [ "en-US", "ru-RU" ],
|
"AvailableLanguages": [ "en-US", "ru-RU" ],
|
||||||
"Theme": null
|
"Theme": null,
|
||||||
|
"ToolboxMod": "bundle", //retail, bundle, dev
|
||||||
|
"ToolsAppId": 1966980, //set your game real steam sdk id for init SteamApi or use 480 stub
|
||||||
|
"BundleAppID": 1950750, //set your gane steam id for get fs path
|
||||||
|
"DevEnginePath": "C://", //set you game root folder if you run dev-mod
|
||||||
|
"DevEngineName": "My Future Game (engine)" //set you game root folder if you run dev-mod
|
||||||
}
|
}
|
BIN
src/UniversalValveToolbox/steam_api.dll
Normal file
BIN
src/UniversalValveToolbox/steam_api.dll
Normal file
Binary file not shown.
BIN
src/UniversalValveToolbox/steam_api64.dll
Normal file
BIN
src/UniversalValveToolbox/steam_api64.dll
Normal file
Binary file not shown.
BIN
src/UniversalValveToolbox/toolbox.ico
Normal file
BIN
src/UniversalValveToolbox/toolbox.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 104 KiB |
Binary file not shown.
Before Width: | Height: | Size: 110 KiB |
Loading…
x
Reference in New Issue
Block a user