mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Targetting .NET 4.6
Added WoW module skeleton Fixed rendering when a different DPI setting is selected in Windows Added Process.NET in preperation of WoW support
This commit is contained in:
parent
f8c35df098
commit
e5d15c6ada
@ -1,67 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="userSettings"
|
||||
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="Artemis.Modules.Effects.Bubbles.Bubbles"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Effects.WindowsProfile.WindowsProfile"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Overwatch.Overwatch"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.TheDivision.TheDivision"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Dota2.Dota2"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Overlays.VolumeDisplay.VolumeDisplay"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.RocketLeague.RocketLeague"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.Offsets"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Witcher3.Witcher3"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Effects.AudioVisualizer.AudioVisualization"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.CounterStrike.CounterStrike"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.CounterStrike"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.AudioVisualization"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.RocketLeague"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Properties.Settings"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.TypeWave"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.General"
|
||||
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
|
||||
allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<section name="Artemis.Modules.Games.WoW.WoW" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Effects.Bubbles.Bubbles" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Effects.WindowsProfile.WindowsProfile" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Overwatch.Overwatch" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.TheDivision.TheDivision" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Dota2.Dota2" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Overlays.VolumeDisplay.VolumeDisplay" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.RocketLeague.RocketLeague" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.Offsets" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.Witcher3.Witcher3" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Effects.AudioVisualizer.AudioVisualization" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Modules.Games.CounterStrike.CounterStrike" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.CounterStrike" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.AudioVisualization" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.RocketLeague" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.TypeWave" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
<section name="Artemis.Settings.General" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
<connectionStrings />
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
|
||||
</startup>
|
||||
<userSettings>
|
||||
<Artemis.Modules.Games.WoW.WoW>
|
||||
<setting name="Enabled" serializeAs="String">
|
||||
<value>True</value>
|
||||
</setting>
|
||||
<setting name="LastProfile" serializeAs="String">
|
||||
<value>Default</value>
|
||||
</setting>
|
||||
</Artemis.Modules.Games.WoW.WoW>
|
||||
<Artemis.Modules.Effects.WindowsProfile.WindowsProfile>
|
||||
<setting name="LastProfile" serializeAs="String">
|
||||
<value>Demo (Duplicate to keep changes)</value>
|
||||
@ -338,4 +311,4 @@
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
|
||||
</configuration>
|
||||
</configuration>
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Artemis</RootNamespace>
|
||||
<AssemblyName>Artemis</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
|
||||
<TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
@ -39,11 +39,12 @@
|
||||
<ProductName>Artemis</ProductName>
|
||||
<PublisherName>Artemis</PublisherName>
|
||||
<ApplicationRevision>1</ApplicationRevision>
|
||||
<ApplicationVersion>1.2.0.1</ApplicationVersion>
|
||||
<ApplicationVersion>1.2.1.1</ApplicationVersion>
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<CreateDesktopShortcut>true</CreateDesktopShortcut>
|
||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
@ -199,6 +200,10 @@
|
||||
<HintPath>..\packages\NLog.4.3.4\lib\net45\NLog.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Process.NET, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>D:\Downloads\Chome Downloads\Process.NET-master\Process.NET-master\src\Process.NET\bin\Release\Process.NET.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SpotifyAPI, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SpotifyAPI-NET.2.9.0\lib\SpotifyAPI.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
@ -306,6 +311,16 @@
|
||||
<Compile Include="Models\OverlaySettings.cs" />
|
||||
<Compile Include="Modules\Effects\AudioVisualizer\AudioVisualization.cs" />
|
||||
<Compile Include="Modules\Effects\Bubbles\Bubbles.cs" />
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoW.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
<DependentUpon>WoW.settings</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoWDataModel.cs" />
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoWModel.cs" />
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoWSettings.cs" />
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoWViewModel.cs" />
|
||||
<Compile Include="Modules\Games\WorldofWarcraft\WoWAddresses.cs" />
|
||||
<Compile Include="Profiles\Layers\Animations\NoneAnimation.cs" />
|
||||
<Compile Include="Profiles\Layers\Models\EventPropertiesModel.cs" />
|
||||
<Compile Include="Profiles\Layers\Models\KeyboardEventPropertiesModel.cs" />
|
||||
@ -482,11 +497,11 @@
|
||||
<Compile Include="Utilities\Logging.cs" />
|
||||
<Compile Include="Utilities\DataReaders\PipeServer.cs" />
|
||||
<Compile Include="Utilities\Memory\GamePointer.cs" />
|
||||
<Compile Include="Utilities\Keyboard\Key.cs" />
|
||||
<Compile Include="Utilities\Keyboard\KeyboardRectangle.cs" />
|
||||
<Compile Include="Utilities\Memory\Memory.cs" />
|
||||
<Compile Include="Utilities\Memory\MemoryHelpers.cs" />
|
||||
<Compile Include="Utilities\Memory\Win32.cs" />
|
||||
<Compile Include="Utilities\Keyboard\Key.cs" />
|
||||
<Compile Include="Utilities\Keyboard\KeyboardRectangle.cs" />
|
||||
<Compile Include="Utilities\ParentChild\ChildItemCollection.cs" />
|
||||
<Compile Include="Utilities\ParentChild\IChildItem.cs" />
|
||||
<Compile Include="Utilities\ShellLink.cs" />
|
||||
@ -600,6 +615,10 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<None Include="Modules\Games\WorldofWarcraft\WoW.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>WoW.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="Resources\generic.png" />
|
||||
<None Include="Resources\Keyboards\g810.png" />
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
|
||||
@ -168,9 +168,16 @@ namespace Artemis.Managers
|
||||
public RenderFrame(KeyboardProvider keyboard)
|
||||
{
|
||||
KeyboardBitmap = keyboard.KeyboardBitmap(4);
|
||||
KeyboardBitmap.SetResolution(96, 96);
|
||||
|
||||
MouseBitmap = new Bitmap(40, 40);
|
||||
MouseBitmap.SetResolution(96, 96);
|
||||
|
||||
HeadsetBitmap = new Bitmap(40, 40);
|
||||
HeadsetBitmap.SetResolution(96, 96);
|
||||
|
||||
GenericBitmap = new Bitmap(40, 40);
|
||||
GenericBitmap.SetResolution(96, 96);
|
||||
|
||||
using (var g = Graphics.FromImage(KeyboardBitmap))
|
||||
g.Clear(Color.Black);
|
||||
|
||||
@ -116,7 +116,7 @@ namespace Artemis.Managers
|
||||
if (!ProgramEnabled)
|
||||
return;
|
||||
|
||||
var runningProcesses = Process.GetProcesses();
|
||||
var runningProcesses = System.Diagnostics.Process.GetProcesses();
|
||||
|
||||
// If the currently active effect is a disabled game, get rid of it.
|
||||
if (EffectManager.ActiveEffect != null)
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Artemis.Settings {
|
||||
namespace Artemis.Modules.Effects.TypeWave {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
|
||||
@ -19,24 +19,24 @@ namespace Artemis.Modules.Effects.TypeWave
|
||||
|
||||
public sealed override void Load()
|
||||
{
|
||||
IsRandomColors = Settings.TypeWave.Default.IsRandomColors;
|
||||
WaveColor = Settings.TypeWave.Default.WaveColor;
|
||||
IsShiftColors = Settings.TypeWave.Default.IsShiftColors;
|
||||
ShiftColorSpeed = Settings.TypeWave.Default.ShiftColorSpeed;
|
||||
TimeToLive = Settings.TypeWave.Default.TimeToLive;
|
||||
SpreadSpeed = Settings.TypeWave.Default.SpreadSpeed;
|
||||
IsRandomColors = TypeWave.Default.IsRandomColors;
|
||||
WaveColor = TypeWave.Default.WaveColor;
|
||||
IsShiftColors = TypeWave.Default.IsShiftColors;
|
||||
ShiftColorSpeed = TypeWave.Default.ShiftColorSpeed;
|
||||
TimeToLive = TypeWave.Default.TimeToLive;
|
||||
SpreadSpeed = TypeWave.Default.SpreadSpeed;
|
||||
}
|
||||
|
||||
public sealed override void Save()
|
||||
{
|
||||
Settings.TypeWave.Default.IsRandomColors = IsRandomColors;
|
||||
Settings.TypeWave.Default.WaveColor = WaveColor;
|
||||
Settings.TypeWave.Default.IsShiftColors = IsShiftColors;
|
||||
Settings.TypeWave.Default.ShiftColorSpeed = ShiftColorSpeed;
|
||||
Settings.TypeWave.Default.TimeToLive = TimeToLive;
|
||||
Settings.TypeWave.Default.SpreadSpeed = SpreadSpeed;
|
||||
TypeWave.Default.IsRandomColors = IsRandomColors;
|
||||
TypeWave.Default.WaveColor = WaveColor;
|
||||
TypeWave.Default.IsShiftColors = IsShiftColors;
|
||||
TypeWave.Default.ShiftColorSpeed = ShiftColorSpeed;
|
||||
TypeWave.Default.TimeToLive = TimeToLive;
|
||||
TypeWave.Default.SpreadSpeed = SpreadSpeed;
|
||||
|
||||
Settings.TypeWave.Default.Save();
|
||||
TypeWave.Default.Save();
|
||||
}
|
||||
|
||||
public sealed override void ToDefault()
|
||||
|
||||
@ -81,15 +81,6 @@ namespace Artemis.Modules.Games.RocketLeague
|
||||
boostInt = 0;
|
||||
|
||||
((RocketLeagueDataModel) DataModel).Boost = boostInt;
|
||||
|
||||
if (DateTime.Now.AddSeconds(-2) <= LastTrace)
|
||||
return;
|
||||
|
||||
MainManager.Logger.Trace("Offsets as JSON: \r\n{0}",
|
||||
JsonConvert.SerializeObject(_pointer.GameAddresses, Formatting.Indented));
|
||||
MainManager.Logger.Trace("RL specific offsets: {0}", offsets);
|
||||
MainManager.Logger.Trace("Boost address: {0}", boostAddress);
|
||||
MainManager.Logger.Trace("Boost int: {0}", boostInt);
|
||||
}
|
||||
|
||||
public override List<LayerModel> GetRenderLayers(bool keyboardOnly)
|
||||
|
||||
@ -80,7 +80,7 @@ namespace Artemis.Modules.Games.Witcher3
|
||||
|
||||
archive.ExtractToDirectory(folder + @"witcher3-mod", true);
|
||||
|
||||
Process.Start(new ProcessStartInfo("https://github.com/SpoinkyNL/Artemis/wiki/The-Witcher-3"));
|
||||
System.Diagnostics.Process.Start(new ProcessStartInfo("https://github.com/SpoinkyNL/Artemis/wiki/The-Witcher-3"));
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
50
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoW.Designer.cs
generated
Normal file
50
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoW.Designer.cs
generated
Normal file
@ -0,0 +1,50 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")]
|
||||
internal sealed partial class WoW : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static WoW defaultInstance = ((WoW)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new WoW())));
|
||||
|
||||
public static WoW Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("True")]
|
||||
public bool Enabled {
|
||||
get {
|
||||
return ((bool)(this["Enabled"]));
|
||||
}
|
||||
set {
|
||||
this["Enabled"] = value;
|
||||
}
|
||||
}
|
||||
|
||||
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Configuration.DefaultSettingValueAttribute("Default")]
|
||||
public string LastProfile {
|
||||
get {
|
||||
return ((string)(this["LastProfile"]));
|
||||
}
|
||||
set {
|
||||
this["LastProfile"] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
12
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoW.settings
Normal file
12
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoW.settings
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="Artemis.Modules.Games.WoW" GeneratedClassName="WoW">
|
||||
<Profiles />
|
||||
<Settings>
|
||||
<Setting Name="Enabled" Type="System.Boolean" Scope="User">
|
||||
<Value Profile="(Default)">True</Value>
|
||||
</Setting>
|
||||
<Setting Name="LastProfile" Type="System.String" Scope="User">
|
||||
<Value Profile="(Default)">Default</Value>
|
||||
</Setting>
|
||||
</Settings>
|
||||
</SettingsFile>
|
||||
256
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWAddresses.cs
Normal file
256
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWAddresses.cs
Normal file
@ -0,0 +1,256 @@
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft
|
||||
{
|
||||
public static class WoWAddresses
|
||||
{
|
||||
public enum ActivateSettings
|
||||
{
|
||||
Activate_Offset = 0x34,
|
||||
AutoDismount_Activate_Pointer = 0xe56850,
|
||||
AutoInteract_Activate_Pointer = 0xe56848,
|
||||
AutoLoot_Activate_Pointer = 0xe56868,
|
||||
AutoSelfCast_Activate_Pointer = 0xe56874
|
||||
}
|
||||
|
||||
public enum Battleground
|
||||
{
|
||||
MaxBattlegroundId = 0xec3fdc,
|
||||
PvpExitWindow = 0xec4198,
|
||||
StatPvp = 0xc3c03c
|
||||
}
|
||||
|
||||
public enum Chat
|
||||
{
|
||||
chatBufferPos = 0xeb1bf0,
|
||||
chatBufferStart = 0xe58190,
|
||||
msgFormatedChat = 0x65,
|
||||
NextMessage = 0x17e8
|
||||
}
|
||||
|
||||
public enum ClickToMove
|
||||
{
|
||||
CTM = 0xddf8f0,
|
||||
CTM_PUSH = 0xddf8ac,
|
||||
CTM_X = 0xddf918,
|
||||
CTM_Y = 0xddf91c,
|
||||
CTM_Z = 0xddf920
|
||||
}
|
||||
|
||||
public enum CorpsePlayer
|
||||
{
|
||||
X = 0xe57894,
|
||||
Y = 0xe57898,
|
||||
Z = 0xe5789c
|
||||
}
|
||||
|
||||
public enum DBC
|
||||
{
|
||||
FactionTemplate = 0,
|
||||
ItemClass = 0xd173c0,
|
||||
ItemSubClass = 0,
|
||||
Lock = 0,
|
||||
Map = 0xd291a0,
|
||||
QuestPOIPoint = 0xd1e950,
|
||||
ResearchSite = 0xd1d2d0,
|
||||
SpellCategories = 0,
|
||||
Unknown = 0xf35428
|
||||
}
|
||||
|
||||
public enum EventsListener
|
||||
{
|
||||
BaseEvents = 0xcb2474,
|
||||
EventOffsetCount = 0x48,
|
||||
EventOffsetName = 0x18,
|
||||
EventsCount = 0xcb2470
|
||||
}
|
||||
|
||||
public enum Fishing
|
||||
{
|
||||
BobberHasMoved = 0xf8
|
||||
}
|
||||
|
||||
public enum FunctionWow
|
||||
{
|
||||
CGUnit_C__InitializeTrackingState = 0x30623b,
|
||||
CGUnit_C__Interact = 0x524ff,
|
||||
CGWorldFrame__Intersect = 0x5e46ab,
|
||||
ClntObjMgrGetActivePlayerObj = 0x816d7,
|
||||
FrameScript__GetLocalizedText = 0x300b48,
|
||||
FrameScript_ExecuteBuffer = 0xa6772,
|
||||
IsOutdoors = 0,
|
||||
Spell_C_HandleTerrainClick = 0x2b76ff,
|
||||
strlen = 0x74fcb0,
|
||||
UnitCanAttack = 0,
|
||||
WowClientDB2__GetRowPointer = 0x20c775
|
||||
}
|
||||
|
||||
public enum GameInfo
|
||||
{
|
||||
AreaId = 0xc32c2c,
|
||||
buildWoWVersionString = 0xd002a8,
|
||||
gameState = 0xe56a49,
|
||||
GetTime = 0xcb2150,
|
||||
isLoading = 0xca59b0,
|
||||
LastHardwareAction = 0xd0e090,
|
||||
MapTextureId = 0xc3bd28,
|
||||
SubAreaId = 0xc32c24,
|
||||
subZoneMap = 0xe56a68,
|
||||
TextBoxActivated = 0xbbe9ac,
|
||||
zoneMap = 0xe56a64
|
||||
}
|
||||
|
||||
public enum GameObject
|
||||
{
|
||||
CachedCastBarCaption = 12,
|
||||
CachedData0 = 20,
|
||||
CachedIconName = 8,
|
||||
CachedName = 180,
|
||||
CachedQuestItem1 = 0x9c,
|
||||
CachedSize = 0x98,
|
||||
DBCacheRow = 620,
|
||||
GAMEOBJECT_FIELD_X = 0x138,
|
||||
GAMEOBJECT_FIELD_Y = 0x13c,
|
||||
GAMEOBJECT_FIELD_Z = 320,
|
||||
PackedRotationQuaternion = 0x150,
|
||||
TransformationMatrice = 0x278
|
||||
}
|
||||
|
||||
public enum Hooking
|
||||
{
|
||||
DX_DEVICE = 0xcc523c,
|
||||
DX_DEVICE_IDX = 0x2508,
|
||||
ENDSCENE_IDX = 0xa8
|
||||
}
|
||||
|
||||
public enum Login
|
||||
{
|
||||
realmName = 0xf35e16
|
||||
}
|
||||
|
||||
public enum MovementFlagsOffsets
|
||||
{
|
||||
Offset1 = 0x124,
|
||||
Offset2 = 0x40
|
||||
}
|
||||
|
||||
public enum ObjectManager
|
||||
{
|
||||
continentId = 0x108,
|
||||
firstObject = 0xd8,
|
||||
localGuid = 0xf8,
|
||||
nextObject = 0x44,
|
||||
objectGUID = 0x30,
|
||||
objectTYPE = 0x10
|
||||
}
|
||||
|
||||
public class ObjectManagerClass
|
||||
{
|
||||
public static uint clientConnection;
|
||||
public static uint sCurMgr;
|
||||
}
|
||||
|
||||
public enum Party
|
||||
{
|
||||
NumOfPlayers = 200,
|
||||
NumOfPlayersSuBGroup = 0xcc,
|
||||
PartyOffset = 0xeb5458,
|
||||
PlayerGuid = 0x10
|
||||
}
|
||||
|
||||
public enum PetBattle
|
||||
{
|
||||
IsInBattle = 0xba8a10
|
||||
}
|
||||
|
||||
public enum Player
|
||||
{
|
||||
LocalPlayerSpellsOnCooldown = 0xd372b8,
|
||||
petGUID = 0xec7158,
|
||||
playerName = 0xf35e20,
|
||||
RetrieveCorpseWindow = 0xe576f4,
|
||||
RuneStartCooldown = 0xf18aa8,
|
||||
SkillMaxValue = 0x400,
|
||||
SkillValue = 0x200
|
||||
}
|
||||
|
||||
public enum PlayerNameStore
|
||||
{
|
||||
PlayerNameNextOffset = 20,
|
||||
PlayerNameStorePtr = 0xd0b4e0,
|
||||
PlayerNameStringOffset = 0x11
|
||||
}
|
||||
|
||||
public enum PowerIndex
|
||||
{
|
||||
Multiplicator = 0x10,
|
||||
PowerIndexArrays = 0xddf914
|
||||
}
|
||||
|
||||
public enum Quests
|
||||
{
|
||||
QuestGiverStatus = 0xf4
|
||||
}
|
||||
|
||||
public enum SpellBook
|
||||
{
|
||||
FirstTalentBookPtr = 0xeb52ec,
|
||||
KnownAllSpells = 0xeb5130,
|
||||
MountBookMountsPtr = 0xeb5194,
|
||||
MountBookNumMounts = 0xeb5190,
|
||||
NextTalentBookPtr = 0xeb52e4,
|
||||
SpellBookNumSpells = 0xeb5134,
|
||||
SpellBookSpellsPtr = 0xeb5138,
|
||||
SpellDBCMaxIndex = 0x30d40,
|
||||
TalentBookOverrideSpellId = 0x1c,
|
||||
TalentBookSpellId = 20
|
||||
}
|
||||
|
||||
public enum UnitBaseGetUnitAura
|
||||
{
|
||||
AuraSize = 0x58,
|
||||
AuraStructCasterLevel = 0x3a,
|
||||
AuraStructCount = 0x39,
|
||||
AuraStructCreatorGuid = 0x20,
|
||||
AuraStructDuration = 60,
|
||||
AuraStructFlag = 0x34,
|
||||
AuraStructMask = 0x35,
|
||||
AuraStructSpellEndTime = 0x40,
|
||||
AuraStructSpellId = 0x30,
|
||||
AuraStructUnk1 = 0x3b,
|
||||
AuraStructUnk2 = 0x44,
|
||||
AuraTable1 = 0x1150,
|
||||
AuraTable2 = 0x580
|
||||
}
|
||||
|
||||
public enum UnitField
|
||||
{
|
||||
CachedIsBoss = 0x60,
|
||||
CachedModelId1 = 0x6c,
|
||||
CachedName = 0x80,
|
||||
CachedQuestItem1 = 60,
|
||||
CachedSubName = 0,
|
||||
CachedTypeFlag = 0x24,
|
||||
CachedUnitClassification = 0x2c,
|
||||
CanInterrupt = 0xfc4,
|
||||
CanInterruptOffset = 0xe02ea0,
|
||||
CanInterruptOffset2 = 0xe02ea4,
|
||||
CanInterruptOffset3 = 0xe02ea8,
|
||||
CastingSpellEndTime = 0x108c,
|
||||
CastingSpellID = 0x1064,
|
||||
CastingSpellStartTime = 0x1088,
|
||||
ChannelSpellEndTime = 0x1098,
|
||||
ChannelSpellID = 0x1090,
|
||||
ChannelSpellStartTime = 0x1094,
|
||||
DBCacheRow = 0xc80,
|
||||
TransportGUID = 0xae8,
|
||||
UNIT_FIELD_R = 0xb08,
|
||||
UNIT_FIELD_X = 0xaf8,
|
||||
UNIT_FIELD_Y = 0xafc,
|
||||
UNIT_FIELD_Z = 0xb00
|
||||
}
|
||||
|
||||
public enum VMT
|
||||
{
|
||||
CGUnit_C__GetFacing = 0x35
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
using Artemis.Models.Interfaces;
|
||||
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft
|
||||
{
|
||||
public class WoWDataModel : IDataModel
|
||||
{
|
||||
public Player Player { get; set; } = new Player();
|
||||
}
|
||||
|
||||
|
||||
public class Player
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public int Health { get; set; }
|
||||
public int MaxHealth { get; set; }
|
||||
}
|
||||
}
|
||||
57
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWModel.cs
Normal file
57
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWModel.cs
Normal file
@ -0,0 +1,57 @@
|
||||
using System.Collections.Generic;
|
||||
using Artemis.Managers;
|
||||
using Artemis.Models;
|
||||
using Artemis.Profiles.Layers.Models;
|
||||
using Artemis.Utilities;
|
||||
using Artemis.Utilities.Memory;
|
||||
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft
|
||||
{
|
||||
public class WoWModel : GameModel
|
||||
{
|
||||
private Memory _memory;
|
||||
|
||||
public WoWModel(MainManager mainManager, WoWSettings settings)
|
||||
: base(mainManager, settings, new WoWDataModel())
|
||||
{
|
||||
Name = "WoW";
|
||||
ProcessName = "Wow-64";
|
||||
Scale = 4;
|
||||
Enabled = Settings.Enabled;
|
||||
Initialized = false;
|
||||
}
|
||||
|
||||
public int Scale { get; set; }
|
||||
|
||||
public override void Dispose()
|
||||
{
|
||||
Initialized = false;
|
||||
}
|
||||
|
||||
public override void Enable()
|
||||
{
|
||||
var tempProcess = MemoryHelpers.GetProcessIfRunning(ProcessName);
|
||||
if (tempProcess == null)
|
||||
return;
|
||||
|
||||
_memory = new Memory(tempProcess);
|
||||
|
||||
Initialized = true;
|
||||
}
|
||||
|
||||
public override void Update()
|
||||
{
|
||||
if (Profile == null || DataModel == null || _memory == null)
|
||||
return;
|
||||
|
||||
// _memory.ReadMemory();
|
||||
}
|
||||
|
||||
public override List<LayerModel> GetRenderLayers(bool keyboardOnly)
|
||||
{
|
||||
return Profile.GetRenderLayers(DataModel, keyboardOnly);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
31
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWSettings.cs
Normal file
31
Artemis/Artemis/Modules/Games/WorldofWarcraft/WoWSettings.cs
Normal file
@ -0,0 +1,31 @@
|
||||
using Artemis.Models;
|
||||
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft
|
||||
{
|
||||
public class WoWSettings : GameSettings
|
||||
{
|
||||
public WoWSettings()
|
||||
{
|
||||
Load();
|
||||
}
|
||||
|
||||
public sealed override void Load()
|
||||
{
|
||||
Enabled = WoW.Default.Enabled;
|
||||
LastProfile = WoW.Default.LastProfile;
|
||||
}
|
||||
|
||||
public sealed override void Save()
|
||||
{
|
||||
WoW.Default.Enabled = Enabled;
|
||||
WoW.Default.LastProfile = LastProfile;
|
||||
|
||||
WoW.Default.Save();
|
||||
}
|
||||
|
||||
public sealed override void ToDefault()
|
||||
{
|
||||
Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
using Artemis.InjectionFactories;
|
||||
using Artemis.Managers;
|
||||
using Artemis.ViewModels.Abstract;
|
||||
using Caliburn.Micro;
|
||||
|
||||
namespace Artemis.Modules.Games.WorldofWarcraft
|
||||
{
|
||||
public sealed class WoWViewModel : GameViewModel
|
||||
{
|
||||
public WoWViewModel(MainManager main, IEventAggregator events, IProfileEditorVmFactory pFactory)
|
||||
: base(main, new WoWModel(main, new WoWSettings()), events, pFactory)
|
||||
{
|
||||
DisplayName = "World of Warcraft";
|
||||
MainManager.EffectManager.EffectModels.Add(GameModel);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -63,8 +63,8 @@ namespace Artemis.Profiles
|
||||
// Remove the clip
|
||||
c.Pop();
|
||||
}
|
||||
|
||||
using (var bmp = ImageUtilities.DrawinVisualToBitmap(visual, keyboardRect))
|
||||
|
||||
using (var bmp = ImageUtilities.DrawingVisualToBitmap(visual, keyboardRect))
|
||||
keyboard.DrawImage(bmp, new PointF(0, 0));
|
||||
}
|
||||
|
||||
@ -143,7 +143,7 @@ namespace Artemis.Profiles
|
||||
c.Pop();
|
||||
}
|
||||
|
||||
using (var bmp = ImageUtilities.DrawinVisualToBitmap(visual, rect))
|
||||
using (var bmp = ImageUtilities.DrawingVisualToBitmap(visual, rect))
|
||||
g.DrawImage(bmp, new PointF(0, 0));
|
||||
}
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ namespace Artemis.Utilities
|
||||
// Start the new process
|
||||
try
|
||||
{
|
||||
Process.Start(processInfo);
|
||||
System.Diagnostics.Process.Start(processInfo);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
|
||||
@ -54,12 +54,12 @@ namespace Artemis.Utilities
|
||||
}
|
||||
}
|
||||
|
||||
public static Bitmap DrawinVisualToBitmap(DrawingVisual visual, Rect rect)
|
||||
public static Bitmap DrawingVisualToBitmap(DrawingVisual visual, Rect rect)
|
||||
{
|
||||
var bmp = new RenderTargetBitmap((int) rect.Width, (int) rect.Height, 96, 96, PixelFormats.Pbgra32);
|
||||
bmp.Render(visual);
|
||||
|
||||
var encoder = new PngBitmapEncoder();
|
||||
var encoder = new BmpBitmapEncoder();
|
||||
encoder.Frames.Add(BitmapFrame.Create(bmp));
|
||||
|
||||
Bitmap bitmap;
|
||||
@ -68,6 +68,7 @@ namespace Artemis.Utilities
|
||||
encoder.Save(stream);
|
||||
bitmap = new Bitmap(stream);
|
||||
}
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@ namespace Artemis.Utilities.Memory
|
||||
/// Initializes a new instance of the Memory
|
||||
/// </summary>
|
||||
/// <param name="process">Remote process</param>
|
||||
public Memory(Process process)
|
||||
public Memory(System.Diagnostics.Process process)
|
||||
{
|
||||
if (process == null)
|
||||
throw new ArgumentNullException("process");
|
||||
@ -35,7 +35,7 @@ namespace Artemis.Utilities.Memory
|
||||
/// <summary>
|
||||
/// Gets the process to which this memory is attached to
|
||||
/// </summary>
|
||||
public Process Process { get; private set; }
|
||||
public System.Diagnostics.Process Process { get; private set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.InteropServices;
|
||||
using Process.NET.Memory;
|
||||
|
||||
namespace Artemis.Utilities.Memory
|
||||
{
|
||||
@ -10,9 +10,9 @@ namespace Artemis.Utilities.Memory
|
||||
public static extern bool ReadProcessMemory(IntPtr hProcess, IntPtr lpBaseAddress, [Out] byte[] lpBuffer,
|
||||
int dwSize, ref int lpNumberOfBytesRead);
|
||||
|
||||
public static Process GetProcessIfRunning(string processName)
|
||||
public static System.Diagnostics.Process GetProcessIfRunning(string processName)
|
||||
{
|
||||
var processes = Process.GetProcessesByName(processName);
|
||||
var processes = System.Diagnostics.Process.GetProcessesByName(processName);
|
||||
return processes.Length >= 1 ? processes[0] : null;
|
||||
}
|
||||
|
||||
@ -37,5 +37,14 @@ namespace Artemis.Utilities.Memory
|
||||
}
|
||||
return address;
|
||||
}
|
||||
|
||||
public static T ReadMultilevelPointer<T>(this IMemory memory, IntPtr address, params int[] offsets) where T : struct
|
||||
{
|
||||
for (var i = 0; i < offsets.Length - 1; i++)
|
||||
{
|
||||
address = memory.Read<IntPtr>(address + offsets[i]);
|
||||
}
|
||||
return memory.Read<T>(address + offsets[offsets.Length - 1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -39,7 +39,7 @@ namespace Artemis.Utilities
|
||||
"Note: You can disable update notifications in the settings menu");
|
||||
|
||||
if (viewUpdate.Value)
|
||||
Process.Start(new ProcessStartInfo(newRelease["html_url"].Value<string>()));
|
||||
System.Diagnostics.Process.Start(new ProcessStartInfo(newRelease["html_url"].Value<string>()));
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -208,7 +208,7 @@ namespace Artemis.ViewModels.Flyouts
|
||||
|
||||
public void NavigateTo(string url)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(url));
|
||||
System.Diagnostics.Process.Start(new ProcessStartInfo(url));
|
||||
}
|
||||
|
||||
protected override void HandleOpen()
|
||||
|
||||
@ -12,7 +12,7 @@ namespace Artemis.ViewModels
|
||||
|
||||
public void NavigateTo(string url)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo(url));
|
||||
System.Diagnostics.Process.Start(new ProcessStartInfo(url));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -16,7 +16,7 @@ namespace Artemis.Views
|
||||
|
||||
private void Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
|
||||
{
|
||||
Process.Start("https://github.com/SpoinkyNL/Artemis/wiki/Frequently-Asked-Questions-(FAQ)");
|
||||
System.Diagnostics.Process.Start("https://github.com/SpoinkyNL/Artemis/wiki/Frequently-Asked-Questions-(FAQ)");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<packages>
|
||||
<package id="Caliburn.Micro" version="3.0.1" targetFramework="net452" />
|
||||
<package id="Caliburn.Micro.Core" version="3.0.1" targetFramework="net452" />
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user