mirror of
https://github.com/EpicMorg/UniversalValveToolbox.git
synced 2025-01-12 22:58:08 +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)
|
||||
|
||||
[![](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.
|
||||
|
||||
# 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
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UniversalValveToolbox", "UniversalValveToolbox\UniversalValveToolbox.csproj", "{DE66895F-7317-45D3-B5CA-292253CE086A}"
|
||||
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
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{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|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.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
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -1,10 +1,18 @@
|
||||
using UniversalValveToolbox.Base;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Converters;
|
||||
using UniversalValveToolbox.Base;
|
||||
|
||||
namespace UniversalValveToolbox.Model.Dto {
|
||||
public class SettingsDtoModel : DtoModel {
|
||||
private string lastSelectedProject;
|
||||
private string[] availableLanguages;
|
||||
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 {
|
||||
get => lastSelectedProject;
|
||||
@ -20,5 +28,35 @@ namespace UniversalValveToolbox.Model.Dto {
|
||||
get => 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 UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Utils;
|
||||
@ -15,6 +16,8 @@ namespace UniversalValveToolbox {
|
||||
|
||||
LanguageManager.UpdateLanguage(currSettings.Language);
|
||||
|
||||
SteamClient.Init(currSettings.ToolsAppId);
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
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
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.2")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.2")]
|
||||
[assembly: AssemblyVersion("1.0.0.3")]
|
||||
[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>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
@ -118,23 +118,14 @@
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<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">
|
||||
<value>..\Resources\valve_64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</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">
|
||||
<value>..\Resources\refresh_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 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="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>
|
||||
@ -142,4 +133,16 @@
|
||||
<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>
|
||||
</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>
|
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));
|
||||
this.labelVersion = new System.Windows.Forms.Label();
|
||||
this.pictureBoxLogo = new System.Windows.Forms.PictureBox();
|
||||
this.labelTitle = new System.Windows.Forms.Label();
|
||||
this.labelCopy = new System.Windows.Forms.Label();
|
||||
this.labelDivider = new System.Windows.Forms.Label();
|
||||
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.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();
|
||||
this.groupBox.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// labelVersion
|
||||
@ -48,14 +55,6 @@
|
||||
resources.ApplyResources(this.labelVersion, "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
|
||||
//
|
||||
resources.ApplyResources(this.labelTitle, "labelTitle");
|
||||
@ -79,29 +78,6 @@
|
||||
this.buttonOK.UseVisualStyleBackColor = true;
|
||||
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
|
||||
//
|
||||
resources.ApplyResources(this.linkLabelFP, "linkLabelFP");
|
||||
@ -109,11 +85,89 @@
|
||||
this.linkLabelFP.TabStop = true;
|
||||
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
|
||||
//
|
||||
resources.ApplyResources(this, "$this");
|
||||
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.labelDivider);
|
||||
this.Controls.Add(this.labelTitle);
|
||||
@ -127,8 +181,7 @@
|
||||
this.ShowInTaskbar = false;
|
||||
this.Load += new System.EventHandler(this.FormAbout_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBoxLogo)).EndInit();
|
||||
this.groupBox.ResumeLayout(false);
|
||||
this.groupBox.PerformLayout();
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
@ -142,9 +195,16 @@
|
||||
private System.Windows.Forms.Label labelCopy;
|
||||
private System.Windows.Forms.Label labelDivider;
|
||||
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.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,13 +6,36 @@ namespace UniversalValveToolbox {
|
||||
public partial class FormAbout : Form {
|
||||
public FormAbout() {
|
||||
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;
|
||||
labelTitle.Text = Utils.VersionHelper.AssemblyTitle;
|
||||
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 buttonOK_Click(object sender, EventArgs e) {
|
||||
@ -30,5 +53,10 @@ namespace UniversalValveToolbox {
|
||||
private void linkLabelTI_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) {
|
||||
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 System.Globalization;
|
||||
using System.Collections;
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using Steamworks;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormAddons : Form {
|
||||
@ -30,7 +30,7 @@ namespace UniversalValveToolbox {
|
||||
.Cast<DictionaryEntry>()
|
||||
.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();
|
||||
UpdateAddonCategoryComboBox();
|
||||
@ -106,6 +106,11 @@ namespace UniversalValveToolbox {
|
||||
}
|
||||
}
|
||||
|
||||
private bool isSteamAppInstall(int appId) {
|
||||
var isInstall = SteamApps.IsAppInstalled(appId);
|
||||
return isInstall;
|
||||
}
|
||||
|
||||
private void UpdateAddonCategoryComboBox() {
|
||||
comboBoxCategory.Items.Clear();
|
||||
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.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
@ -12,8 +12,10 @@ using UniversalValveToolbox.Model.Provider;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
using UniversalValveToolbox.Utils;
|
||||
|
||||
namespace UniversalValveToolbox {
|
||||
public partial class FormMain : Form {
|
||||
namespace UniversalValveToolbox
|
||||
{
|
||||
public partial class FormMain : Form
|
||||
{
|
||||
private readonly string RUN_PROJECT_ID = "RUN_PROJECT_ID";
|
||||
|
||||
private EngineDtoModel[] Engines;
|
||||
@ -25,21 +27,25 @@ namespace UniversalValveToolbox {
|
||||
private ListViewGroup listViewGroupAddons;
|
||||
private ListViewGroup listViewGroupTools;
|
||||
|
||||
private EngineDtoModel SelectedEngine {
|
||||
get {
|
||||
private EngineDtoModel SelectedEngine
|
||||
{
|
||||
get
|
||||
{
|
||||
if (Engines.Length == 0)
|
||||
return null;
|
||||
|
||||
return Engines[comboBoxEngine.SelectedIndex];
|
||||
}
|
||||
}
|
||||
private ProjectDtoModel SelectedProject {
|
||||
private ProjectDtoModel SelectedProject
|
||||
{
|
||||
get => (ProjectDtoModel)((comboBoxProjects.Enabled)
|
||||
? Projects.First(project => project.Name.Equals(comboBoxProjects.SelectedItem))
|
||||
: null);
|
||||
}
|
||||
|
||||
public FormMain() {
|
||||
public FormMain()
|
||||
{
|
||||
InitializeComponent();
|
||||
FillBaseMenuItems();
|
||||
|
||||
@ -47,21 +53,25 @@ namespace UniversalValveToolbox {
|
||||
|
||||
Text = VersionHelper.AssemblyTitle + VersionHelper.AssemblyVersion;
|
||||
|
||||
comboBoxEngine.SelectedIndexChanged += (s, e) => {
|
||||
comboBoxEngine.SelectedIndexChanged += (s, e) =>
|
||||
{
|
||||
UpdateProjectList();
|
||||
UpdateToolsList();
|
||||
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));
|
||||
|
||||
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);
|
||||
comboBoxEngine.SelectedIndex = indexEngine;
|
||||
|
||||
@ -75,14 +85,16 @@ namespace UniversalValveToolbox {
|
||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||
}
|
||||
}
|
||||
private void SaveLastSelectedProject() {
|
||||
private void SaveLastSelectedProject()
|
||||
{
|
||||
var settings = dataProvider.Settings;
|
||||
settings.LastSelectedProject = SelectedProject?.Name;
|
||||
dataProvider.Settings = settings;
|
||||
}
|
||||
|
||||
|
||||
private void UpdateFormData() {
|
||||
private void UpdateFormData()
|
||||
{
|
||||
UpdateEngineList();
|
||||
UpdateProjectList();
|
||||
UpdateToolsList();
|
||||
@ -92,16 +104,19 @@ namespace UniversalValveToolbox {
|
||||
UpdateLastSelectedProject();
|
||||
}
|
||||
|
||||
private void UpdateNavigationBar() {
|
||||
private void UpdateNavigationBar()
|
||||
{
|
||||
UpdateLogInStatus();
|
||||
UpdateInfoNavigationBar();
|
||||
}
|
||||
|
||||
private void toolStripStatusLabelRefresh_Click(object sender, EventArgs e) {
|
||||
private void toolStripStatusLabelRefresh_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateFormData();
|
||||
}
|
||||
|
||||
public void FillBaseMenuItems() {
|
||||
public void FillBaseMenuItems()
|
||||
{
|
||||
#region static content, do not edit
|
||||
//creating groups (categores)
|
||||
listViewGroupAddons = new ListViewGroup(Properties.translations.MenuCategories.catAddons);
|
||||
@ -164,15 +179,15 @@ namespace UniversalValveToolbox {
|
||||
});
|
||||
}
|
||||
|
||||
private void UpdateEngineList() {
|
||||
var dataProvider = new DataProvider();
|
||||
Engines = dataProvider.Engines.Where(engine => {
|
||||
var engineAppData = SteamPathsUtil.GetSteamAppDataById(engine.Appid);
|
||||
private void UpdateEngineList()
|
||||
{
|
||||
|
||||
return engineAppData != null && engineAppData.Installed;
|
||||
}).ToArray();
|
||||
|
||||
if (Engines != null && Engines.Length != 0) {
|
||||
|
||||
GetAvailableEngines();
|
||||
|
||||
if (Engines != null && Engines.Length != 0)
|
||||
{
|
||||
comboBoxEngine.Enabled = true;
|
||||
comboBoxEngine.Items.Clear();
|
||||
comboBoxEngine.Items.AddRange(Engines.Select(engine => engine.Name).ToArray());
|
||||
@ -181,8 +196,35 @@ namespace UniversalValveToolbox {
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateProjectList() {
|
||||
if (Engines.Length == 0) {
|
||||
private void GetAvailableEngines()
|
||||
{
|
||||
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.Items.Clear();
|
||||
@ -195,7 +237,8 @@ namespace UniversalValveToolbox {
|
||||
var selectEngine = Engines[comboBoxEngine.SelectedIndex];
|
||||
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.Items.Clear();
|
||||
@ -203,17 +246,20 @@ namespace UniversalValveToolbox {
|
||||
|
||||
comboBoxProjects.SelectedIndex = 0;
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
comboBoxProjects.Enabled = false;
|
||||
|
||||
comboBoxProjects.Items.Clear();
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateToolsList() {
|
||||
private void UpdateToolsList()
|
||||
{
|
||||
var removeItem = new List<ListViewItem>();
|
||||
|
||||
foreach (ListViewItem item in listViewGroupTools.Items) {
|
||||
foreach (ListViewItem item in listViewGroupTools.Items)
|
||||
{
|
||||
removeItem.Add(item);
|
||||
}
|
||||
|
||||
@ -222,19 +268,30 @@ namespace UniversalValveToolbox {
|
||||
if (SelectedEngine == null)
|
||||
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
|
||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||
.Select(tool => {
|
||||
.Select(tool =>
|
||||
{
|
||||
var keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||
var icon = Icon.ExtractAssociatedIcon(Path.Combine(pathSelectedEngine, tool.Bin));
|
||||
|
||||
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.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
}
|
||||
@ -243,16 +300,19 @@ namespace UniversalValveToolbox {
|
||||
var itemsTools = SelectedEngine.Tools
|
||||
.Where(tool => File.Exists(Path.Combine(pathSelectedEngine, tool.Bin)))
|
||||
|
||||
.Select(tool => {
|
||||
.Select(tool =>
|
||||
{
|
||||
string keyByPath = null;
|
||||
|
||||
if (pathSelectedEngine != null)
|
||||
keyByPath = Path.Combine(pathSelectedEngine, tool.Bin);
|
||||
|
||||
if (keyByPath == null) {
|
||||
if (keyByPath == null)
|
||||
{
|
||||
return new ListViewItem(tool.Name, listViewGroupTools);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
return new ListViewItem(tool.Name, keyByPath, listViewGroupTools);
|
||||
}
|
||||
|
||||
@ -260,27 +320,33 @@ namespace UniversalValveToolbox {
|
||||
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);
|
||||
|
||||
if (engineData != null && isAvailableProjectBySelectEngine) {
|
||||
var enginePath = engineData.Path;
|
||||
if (enginePath != null && isAvailableProjectBySelectEngine)
|
||||
{
|
||||
var iconPathEngine = Path.Combine(enginePath, SelectedEngine.Bin);
|
||||
|
||||
if (enginePath != null) {
|
||||
var iconPathEngine = Path.Combine(enginePath, SelectedEngine.Bin);
|
||||
var runProjectListViewItem = new ListViewItem(Properties.translations.MenuItems.itmRunProject, iconPathEngine, listViewGroupTools);
|
||||
runProjectListViewItem.Tag = RUN_PROJECT_ID;
|
||||
|
||||
var runProjectListViewItem = new ListViewItem(Properties.translations.MenuItems.itmRunProject, iconPathEngine, listViewGroupTools);
|
||||
runProjectListViewItem.Tag = RUN_PROJECT_ID;
|
||||
|
||||
listView.Items.Add(runProjectListViewItem);
|
||||
}
|
||||
listView.Items.Add(runProjectListViewItem);
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateAddonsList() {
|
||||
private void UpdateAddonsList()
|
||||
{
|
||||
var removeItem = new List<ListViewItem>();
|
||||
|
||||
foreach (ListViewItem item in listViewGroupAddons.Items) {
|
||||
foreach (ListViewItem item in listViewGroupAddons.Items)
|
||||
{
|
||||
removeItem.Add(item);
|
||||
}
|
||||
|
||||
@ -289,39 +355,45 @@ namespace UniversalValveToolbox {
|
||||
if (SelectedEngine == null)
|
||||
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 pairPathIconTools = addonsSelectedEngine
|
||||
.Where(addon => {
|
||||
.Where(addon =>
|
||||
{
|
||||
var path = addon.Bin;
|
||||
|
||||
return File.Exists(path);
|
||||
|
||||
})
|
||||
.Select(addons => {
|
||||
.Select(addons =>
|
||||
{
|
||||
var keyByPath = addons.Bin;
|
||||
var icon = Icon.ExtractAssociatedIcon(keyByPath);
|
||||
|
||||
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.LargeImageList.Images.Add((string)pair.First, (Icon)pair.Second);
|
||||
}
|
||||
|
||||
var itemsAddons = addonsSelectedEngine.Select(addons => {
|
||||
var itemsAddons = addonsSelectedEngine.Select(addons =>
|
||||
{
|
||||
string keyByPath = null;
|
||||
|
||||
if (pathSelectedEngine != null)
|
||||
keyByPath = Path.Combine(pathSelectedEngine, addons.Bin);
|
||||
|
||||
if (keyByPath == null) {
|
||||
if (keyByPath == null)
|
||||
{
|
||||
return new ListViewItem(addons.Name, listViewGroupAddons);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
return new ListViewItem(addons.Name, keyByPath, listViewGroupAddons);
|
||||
}
|
||||
|
||||
@ -330,7 +402,8 @@ namespace UniversalValveToolbox {
|
||||
listView.Items.AddRange(itemsAddons);
|
||||
}
|
||||
|
||||
private void UpdateInfoNavigationBar() {
|
||||
private void UpdateInfoNavigationBar()
|
||||
{
|
||||
var countAvailableEngines = Engines.Length;
|
||||
var countAvailableProjects = dataProvider.Projects.Length;
|
||||
var countAvailableAddons = dataProvider.Addons.Length;
|
||||
@ -339,81 +412,108 @@ namespace UniversalValveToolbox {
|
||||
toolStripStatusLabelAddons.Text = Properties.translations.MenuNavbar.menuStrAddons + $"{countAvailableAddons}";
|
||||
}
|
||||
|
||||
private void UpdateLogInStatus() {
|
||||
private void UpdateLogInStatus()
|
||||
{
|
||||
var steamData = SteamManager.SteamData;
|
||||
|
||||
if (steamData.SteamPid != 0) {
|
||||
if (steamData.SteamPid != 0)
|
||||
{
|
||||
toolStripStatusLabelSteam.Image = Properties.Resources.checked_16;
|
||||
toolStripStatusLabelSteam.Text = Properties.translations.MenuNavbar.menuStrSteam + Properties.translations.MenuNavbar.menuStrOnline;
|
||||
toolStripStatusLabelSteam.ToolTipText = Properties.translations.MenuNavbar.menuStrSteam + $"PID: {steamData.SteamPid.ToString()}";
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
toolStripStatusLabelSteam.Image = Properties.Resources.cancel_16;
|
||||
toolStripStatusLabelSteam.ToolTipText = string.Empty;
|
||||
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}";
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
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();
|
||||
}
|
||||
|
||||
private void listView_MouseDoubleClick(object sender, MouseEventArgs e) {
|
||||
private void listView_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
var selectItem = listView.SelectedItems[0];
|
||||
|
||||
var selectItemText = selectItem.Text;
|
||||
EnvUtils.PrepareVProject($"{SelectedProject?.Path ?? string.Empty}");
|
||||
EnvUtils.PrepareSFMData($"{SelectedProject?.Path ?? string.Empty}");
|
||||
|
||||
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 (selectItem.Group == listViewGroupTools)
|
||||
{
|
||||
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}");
|
||||
}
|
||||
|
||||
var selectedTool = SelectedEngine.Tools.FirstOrDefault(tool => tool.Name == selectItemText);
|
||||
if (selectedTool != null) {
|
||||
var selectedEnginePath = SteamPathsUtil.GetSteamAppManifestDataById(SelectedEngine.Appid)?.Path;
|
||||
if (selectedTool != null)
|
||||
{
|
||||
// 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);
|
||||
|
||||
if (File.Exists(toolPath)) {
|
||||
if (File.Exists(toolPath))
|
||||
{
|
||||
string finalArg = $"-steam {selectedTool.Args}";
|
||||
|
||||
if (!finalArg.Contains("-game")) {
|
||||
finalArg += $"-game \"{SelectedProject?.Path ?? string.Empty}\"";
|
||||
if (!finalArg.Contains("-game"))
|
||||
{
|
||||
finalArg += $" -game \"{SelectedProject?.Path ?? string.Empty}\" ";
|
||||
}
|
||||
|
||||
Process.Start(toolPath, finalArg);
|
||||
|
||||
}
|
||||
else
|
||||
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);
|
||||
if (dialogResult == DialogResult.Yes) {
|
||||
if (dialogResult == DialogResult.Yes)
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else if (selectItem.Group == listViewGroupAddons) {
|
||||
else if (selectItem.Group == listViewGroupAddons)
|
||||
{
|
||||
var selectedAddons = dataProvider.Addons.FirstOrDefault(addon => addon.Name == selectItemText);
|
||||
if (selectedAddons != null) {
|
||||
if (selectedAddons != null)
|
||||
{
|
||||
var addonPath = Path.Combine(selectedAddons.Bin);
|
||||
|
||||
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();
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditConfigurations) {
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditConfigurations)
|
||||
{
|
||||
var frmProfiles = new FormProjects();
|
||||
if (frmProfiles.ShowDialog() == DialogResult.OK) {
|
||||
if (frmProfiles.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
UpdateFormData();
|
||||
}
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditPlugins) {
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmEditPlugins)
|
||||
{
|
||||
var frmPlugins = new FormAddons();
|
||||
if (frmPlugins.ShowDialog() == DialogResult.OK) {
|
||||
if (frmPlugins.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
UpdateFormData();
|
||||
}
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmAbout) {
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmAbout)
|
||||
{
|
||||
var frmAbout = new FormAbout();
|
||||
frmAbout.ShowDialog();
|
||||
}
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubLink) {
|
||||
else if (selectItemText == Properties.translations.MenuItems.itmGitHubLink)
|
||||
{
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
||||
private void OpenSettings() {
|
||||
private void OpenSettings()
|
||||
{
|
||||
var dataManager = new DataProvider();
|
||||
var settingsDto = dataManager.Settings;
|
||||
var languageProvider = new LanguageProvider();
|
||||
@ -460,14 +569,17 @@ namespace UniversalValveToolbox {
|
||||
|
||||
var frmSettings = new FormSettings(settingsModel);
|
||||
|
||||
if (frmSettings.ShowDialog() == DialogResult.OK) {
|
||||
if (frmSettings.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
dataManager.Settings = settingsDto;
|
||||
Application.Restart();
|
||||
}
|
||||
}
|
||||
|
||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e) {
|
||||
private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
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 Steamworks;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@ -21,7 +22,7 @@ namespace UniversalValveToolbox {
|
||||
public FormProjects() {
|
||||
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();
|
||||
UpdateComboBoxEngine();
|
||||
@ -34,6 +35,11 @@ namespace UniversalValveToolbox {
|
||||
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) {
|
||||
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
|
||||
//
|
||||
this.labelTranslationAthor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
resources.ApplyResources(this.labelTranslationAthor, "labelTranslationAthor");
|
||||
this.labelTranslationAthor.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.labelTranslationAthor.Name = "labelTranslationAthor";
|
||||
//
|
||||
// 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>
|
||||
<Deterministic>true</Deterministic>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<LangVersion>8.0</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
@ -33,7 +36,27 @@
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</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>
|
||||
<ItemGroup>
|
||||
<Reference Include="PresentationCore" />
|
||||
@ -51,7 +74,7 @@
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<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">
|
||||
<Version>1.2.26</Version>
|
||||
</PackageReference>
|
||||
@ -184,15 +207,24 @@
|
||||
<EmbeddedResource Include="UI\FormAbout.resx">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAbout.ru-RU.resx">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAbout.ru.resx">
|
||||
<DependentUpon>FormAbout.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAddons.resx">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAddons.ru-RU.resx">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormAddons.ru.resx">
|
||||
<DependentUpon>FormAddons.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormMain.ru-RU.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormMain.ru.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -202,6 +234,9 @@
|
||||
<EmbeddedResource Include="UI\FormMain.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormProjects.ru-RU.resx">
|
||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormProjects.ru.resx">
|
||||
<DependentUpon>FormProjects.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -239,6 +274,9 @@
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>MessageBoxes.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormSettings.ru-RU.resx">
|
||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UI\FormSettings.ru.resx">
|
||||
<DependentUpon>FormSettings.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@ -247,6 +285,12 @@
|
||||
<None Include="json\engines\1840_sfm.json">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</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">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
@ -341,6 +385,7 @@
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="toolbox.ico" />
|
||||
<None Include="Resources\cancel_16.png" />
|
||||
<None Include="Resources\checked_16.png" />
|
||||
<None Include="Resources\human_16.png" />
|
||||
@ -349,7 +394,18 @@
|
||||
<None Include="Resources\info_16.png" />
|
||||
<None Include="Resources\plug-silhouette_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>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
@ -1,4 +1,4 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using Steamworks;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
@ -28,7 +28,7 @@ namespace UniversalValveToolbox.Utils {
|
||||
if (pathProject == null || pathProject.Length == 0)
|
||||
return;
|
||||
|
||||
var SFMpath = SteamPathsUtil.GetSteamAppManifestDataById(1840)?.Path;
|
||||
var SFMpath = SteamApps.AppInstallDir(1840);
|
||||
|
||||
if (SFMpath == null)
|
||||
return;
|
||||
|
@ -1,4 +1,5 @@
|
||||
using EpicMorg.SteamPathsLib;
|
||||
using Steamworks;
|
||||
using System.Diagnostics;
|
||||
using UniversalValveToolbox.Model.ViewModel;
|
||||
|
||||
namespace UniversalValveToolbox.Utils {
|
||||
@ -6,8 +7,9 @@ namespace UniversalValveToolbox.Utils {
|
||||
public static SteamDataViewModel SteamData {
|
||||
get {
|
||||
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;
|
||||
}
|
||||
|
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",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -8,6 +8,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -18,6 +18,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -18,6 +18,11 @@
|
||||
"bin": "bin//hammer.exe",
|
||||
"name": "Valve Hammer Editor"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hammerplusplus.exe",
|
||||
"name": "Valve Hammer Editor ++"
|
||||
},
|
||||
{
|
||||
"args": "",
|
||||
"bin": "bin//hlmv.exe",
|
||||
|
@ -1,6 +1,11 @@
|
||||
{
|
||||
"LastSelectedProject": null,
|
||||
"LastSelectedProject": null,
|
||||
"Language": "en-US",
|
||||
"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