Added setting metastate from plugin as well as !report
This commit is contained in:
parent
dceefc3335
commit
f66b15ac57
19 changed files with 1262 additions and 16 deletions
45
GearCycler/GearCore.cs
Normal file
45
GearCycler/GearCore.cs
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
using Decal.Adapter;
|
||||||
|
using Decal.Adapter.Wrappers;
|
||||||
|
using VirindiViewService;
|
||||||
|
using VirindiViewService.Controls;
|
||||||
|
|
||||||
|
namespace GearCycler
|
||||||
|
{
|
||||||
|
[ComVisible(true)]
|
||||||
|
[Guid("9b6a07e1-ae78-47f4-b09c-174f6a27d7a3")] // Replace with your own unique GUID if needed
|
||||||
|
[FriendlyName("GearCycler")]
|
||||||
|
public class GearCore : PluginBase
|
||||||
|
{
|
||||||
|
public HudView view;
|
||||||
|
private HudButton btnCycle;
|
||||||
|
|
||||||
|
protected override void Startup()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
string xml = File.ReadAllText("ViewXML\\mainview.xml");
|
||||||
|
view = HudView.ReadXmlLayout(xml);
|
||||||
|
view.Visible = true;
|
||||||
|
|
||||||
|
btnCycle = (HudButton)view.Controls["btnCycle"];
|
||||||
|
btnCycle.Hit += (s, e) =>
|
||||||
|
{
|
||||||
|
CoreManager.Current.Actions.AddChatText("[GearCycler] Button clicked!", 1);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
CoreManager.Current.Actions.AddChatText($"[GearCycler] Failed to load UI: {ex.Message}", 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override void Shutdown()
|
||||||
|
{
|
||||||
|
btnCycle?.Dispose();
|
||||||
|
view?.Dispose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
81
GearCycler/GearCycler.csproj
Normal file
81
GearCycler/GearCycler.csproj
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{1293560E-2A56-417F-8116-8CE0420DC97C}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>GearCycler</RootNamespace>
|
||||||
|
<AssemblyName>GearCycler</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>TRACE;DEBUG;VVS_REFERENCED;DECAL_INTEROP</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Decal.Adapter">
|
||||||
|
<HintPath>..\MosswartMassacre\lib\Decal.Adapter.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Decal.Interop.Core, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
<HintPath>..\MosswartMassacre\lib\Decal.Interop.Core.DLL</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Decal.Interop.Inject, Version=2.9.8.3, Culture=neutral, PublicKeyToken=481f17d392f1fb65, processorArchitecture=MSIL">
|
||||||
|
<SpecificVersion>False</SpecificVersion>
|
||||||
|
<EmbedInteropTypes>True</EmbedInteropTypes>
|
||||||
|
<HintPath>..\MosswartMassacre\lib\Decal.Interop.Inject.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
<Reference Include="VirindiViewService">
|
||||||
|
<HintPath>..\MosswartMassacre\lib\VirindiViewService.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="GearCore.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="ViewXML\mainView.xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Include="mainView.xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
</Project>
|
||||||
33
GearCycler/Properties/AssemblyInfo.cs
Normal file
33
GearCycler/Properties/AssemblyInfo.cs
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// General Information about an assembly is controlled through the following
|
||||||
|
// set of attributes. Change these attribute values to modify the information
|
||||||
|
// associated with an assembly.
|
||||||
|
[assembly: AssemblyTitle("GearCycler")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("GearCycler")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2025")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Setting ComVisible to false makes the types in this assembly not visible
|
||||||
|
// to COM components. If you need to access a type in this assembly from
|
||||||
|
// COM, set the ComVisible attribute to true on that type.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||||
|
[assembly: Guid("f5462318-d26a-4ab0-8981-80edd9ec9c99")]
|
||||||
|
|
||||||
|
// Version information for an assembly consists of the following four values:
|
||||||
|
//
|
||||||
|
// Major Version
|
||||||
|
// Minor Version
|
||||||
|
// Build Number
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
63
GearCycler/Properties/Resources.Designer.cs
generated
Normal file
63
GearCycler/Properties/Resources.Designer.cs
generated
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <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 GearCycler.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GearCycler.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
101
GearCycler/Properties/Resources.resx
Normal file
101
GearCycler/Properties/Resources.resx
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 1.3
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">1.3</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1">this is my long string</data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
[base64 mime encoded serialized .NET Framework object]
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
[base64 mime encoded string representing a byte array form of the .NET Framework object]
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>1.3</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
6
GearCycler/ViewXML/mainView.xml
Normal file
6
GearCycler/ViewXML/mainView.xml
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<view icon="112" title="GearCycler" width="300" height="200">
|
||||||
|
<control progid="DecalControls.FixedLayout" clipped="">
|
||||||
|
<control progid="DecalControls.PushButton" name="btnCycle" left="10" top="10" width="150" height="30" text="Cycle Gear"/>
|
||||||
|
</control>
|
||||||
|
</view>
|
||||||
BIN
GearCycler/lib/Decal.Adapter.dll
Normal file
BIN
GearCycler/lib/Decal.Adapter.dll
Normal file
Binary file not shown.
BIN
GearCycler/lib/Decal.Interop.Core.DLL
Normal file
BIN
GearCycler/lib/Decal.Interop.Core.DLL
Normal file
Binary file not shown.
BIN
GearCycler/lib/Decal.Interop.Inject.dll
Normal file
BIN
GearCycler/lib/Decal.Interop.Inject.dll
Normal file
Binary file not shown.
BIN
GearCycler/lib/VirindiViewService.dll
Normal file
BIN
GearCycler/lib/VirindiViewService.dll
Normal file
Binary file not shown.
386
GearCycler/lib/VirindiViewService.xml
Normal file
386
GearCycler/lib/VirindiViewService.xml
Normal file
|
|
@ -0,0 +1,386 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>VirindiViewService</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="F:VirindiViewService.WriteTextFormats.None">
|
||||||
|
<summary>
|
||||||
|
Implies Top and Left
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.HudViewDrawStyle">
|
||||||
|
<summary>
|
||||||
|
Provides theme elements, which can be drawn by controls.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudThemeElement">
|
||||||
|
<summary>
|
||||||
|
Displays an element from the current theme.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudControl">
|
||||||
|
<summary>
|
||||||
|
The base class for all Virindi Views controls.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.Initialize">
|
||||||
|
<summary>
|
||||||
|
Called after this control is added to a ControlGroup. This is when the Name and details have been set.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.AddChild(VirindiViewService.Controls.HudControl)">
|
||||||
|
<summary>
|
||||||
|
Add and initialize a child control of this control. The child may be removed by disposing it.
|
||||||
|
</summary>
|
||||||
|
<param name="ctrl"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.RemovedChild(VirindiViewService.Controls.HudControl)">
|
||||||
|
<summary>
|
||||||
|
Called when a child of this control is disposed.
|
||||||
|
</summary>
|
||||||
|
<param name="ch"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.Dispose">
|
||||||
|
<summary>
|
||||||
|
Recursively disposes all children and removes this control from the view, if it is initialized.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseWheel(System.Drawing.Point,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
Handles a mouse wheel event. Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
<param name="amt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseDown(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fires the MouseEvent event for mouse down, and sets this control as the focus control if CanTakeFocus is true.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseUp(System.Drawing.Point,System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fires the MouseEvent event for mouse up as well as the Hit event.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
<param name="orig"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.ExternalMouseUp(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fired when the mousedown originated outside the current view. The base version of this method
|
||||||
|
passes on the event to all children if the 'up' point is within its saved rect.
|
||||||
|
</summary>
|
||||||
|
<param name="pt">Mouseup point</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseMove(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Tracks mouseover and fires the MouseOverChange event, as well as the MouseEvent event for mouse move.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.RawKeyAction(System.Int16,System.Int32,System.Int32,System.Boolean@)">
|
||||||
|
<summary>
|
||||||
|
Parses a key message and fires the specific key event methods.
|
||||||
|
|
||||||
|
Key events are only sent to the control with focus.
|
||||||
|
</summary>
|
||||||
|
<param name="Msg"></param>
|
||||||
|
<param name="WParam"></param>
|
||||||
|
<param name="LParam"></param>
|
||||||
|
<param name="Eat"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.DrawNow(VirindiViewService.DxTexture)">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD CALL THIS METHOD.
|
||||||
|
|
||||||
|
This method is overridden in derived controls to handle the actual control drawing. Overridden methods should call
|
||||||
|
the base, draw, and recursively call this method on all child controls.
|
||||||
|
</summary>
|
||||||
|
<param name="iSavedTarget"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.SetClipRegion(System.Drawing.Rectangle,VirindiViewService.HudViewDrawStyle,VirindiViewService.DrawOptions,System.Drawing.Rectangle)">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD CALL THIS METHOD.
|
||||||
|
|
||||||
|
Notifies a control of changed saved draw options. This method saves its parameters in the Savedxxx properties.
|
||||||
|
Parent controls should override this method and recursively notify children of their new draw options, altering
|
||||||
|
their pClipRegion to reflect their new position in the View.
|
||||||
|
|
||||||
|
This base method also fires the DrawStateChange and ThemeChanged events.
|
||||||
|
</summary>
|
||||||
|
<param name="pClipRegion">This control's area, relative to the view area.</param>
|
||||||
|
<param name="pStyle">The theme applied to this control.</param>
|
||||||
|
<param name="pContext">The context of this control, eg. inside a listbox.</param>
|
||||||
|
<param name="pViewRect">The position of the View, in game window coordinates.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.CanDraw">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD SET THIS PROPERTY.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.XMLAttributes">
|
||||||
|
<summary>
|
||||||
|
List of XmlAttributes present on the XmlNode that was used to construct this control, if the control was loaded from XML. Otherwise, empty.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.XMLNode">
|
||||||
|
<summary>
|
||||||
|
The XmlNode used to construct this control, if the control was loaded from XML. Otherwise, null.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.InternalName">
|
||||||
|
<summary>
|
||||||
|
The name that this control will be initialized with.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudConsole">
|
||||||
|
<summary>
|
||||||
|
A multiline uneditable scrolling text box.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudPictureBox">
|
||||||
|
<summary>
|
||||||
|
A single image control.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudImageButton">
|
||||||
|
<summary>
|
||||||
|
A button using custom images.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:MyClasses.HashedList`1">
|
||||||
|
<summary>
|
||||||
|
A doubly-linked list with a Dictionary index. Duplicate items are not allowed.
|
||||||
|
-Add is O(1)
|
||||||
|
-Contains is O(1)
|
||||||
|
-Remove is O(1)
|
||||||
|
-Get/set by index is O(n)
|
||||||
|
-Insert is O(n)
|
||||||
|
-RemoveAt is O(n)
|
||||||
|
Additionally, a cached pointer (with associated index) is kept pointing to the last used index item.
|
||||||
|
When looking up an item by index, the list is walked from the head, tail, or cached index pointer.
|
||||||
|
Thus, doing multiple operations in index order is O(1) even without an enumerator.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:MyClasses.HashedList`1.RunToIndex(System.Int32)">
|
||||||
|
<summary>
|
||||||
|
This method gets the node corresponding to a particular index. To get there,
|
||||||
|
the list is traversed from the head, tail, or cached index pointer (if valid).
|
||||||
|
</summary>
|
||||||
|
<param name="ind"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudBrowser">
|
||||||
|
<summary>
|
||||||
|
Web browser control, using Awesomium (free license version)
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudHScrollBar">
|
||||||
|
<summary>
|
||||||
|
A horizontal scrollbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Ciper.AC.AC_Text">
|
||||||
|
<summary>
|
||||||
|
Summary description for ByteCursor.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudCheckBox">
|
||||||
|
<summary>
|
||||||
|
A checkbox with optional associated text. Uses its parent to provide the background.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudTextBox">
|
||||||
|
<summary>
|
||||||
|
A single-line text input box.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.IElementRenderer.Measure(VirindiViewService.HudViewDrawStyle,System.Drawing.Size)">
|
||||||
|
<summary>
|
||||||
|
Called before render so the required size of the new target area can be calculated.
|
||||||
|
The returned value is the size of the desired draw area, not including outer borders and
|
||||||
|
style-dependent padding. This size must be less than or equal to MaximumSize in each dimension.
|
||||||
|
</summary>
|
||||||
|
<param name="style"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.IElementRenderer.Render(VirindiViewService.IRenderTarget,System.Drawing.Rectangle,VirindiViewService.HudViewDrawStyle)">
|
||||||
|
<summary>
|
||||||
|
Draw this element. When this is called, the background and borders will already have been drawn, and
|
||||||
|
target will already be in BeginRender. This method should leave the target in render mode.
|
||||||
|
</summary>
|
||||||
|
<param name="target"></param>
|
||||||
|
<param name="drawregion"></param>
|
||||||
|
<param name="style"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.cTipStringRenderer">
|
||||||
|
<summary>
|
||||||
|
A renderer for string-only tooltips.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:MyClasses.HashedSet`1">
|
||||||
|
<summary>
|
||||||
|
Represents an unordered set of items. Duplicates are not allowed.
|
||||||
|
(This is really just a dictionary which only holds keys.)
|
||||||
|
Should be used when a collection of non-duplicate items is needed and
|
||||||
|
the order doesn't matter.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudTabView">
|
||||||
|
<summary>
|
||||||
|
A series of titled tabs along the top, each one having an associated control which appears
|
||||||
|
on the bottom when its tab is enabled.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudProgressBar">
|
||||||
|
<summary>
|
||||||
|
A progressbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudButton">
|
||||||
|
<summary>
|
||||||
|
A regular pushbutton-style control.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Service.Game_D3DBeginSceneOriginal">
|
||||||
|
<summary>
|
||||||
|
Calls the non-hooked IDirect3DDevice9::BeginScene function. When rendering inside a VVS view or texture, use DxTexture.BeginRender() instead.
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Service.Game_D3DEndSceneOriginal">
|
||||||
|
<summary>
|
||||||
|
Calls the non-hooked IDirect3DDevice9::EndScene function. When rendering inside a VVS view or texture, use DxTexture.EndRender() instead.
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Service.HudBarInstance">
|
||||||
|
<summary>
|
||||||
|
Gets the current instance of the VVS bar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudChatbox">
|
||||||
|
<summary>
|
||||||
|
A console containing game chat.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.BeginRender(System.Boolean,System.Boolean,System.Int32,System.Int32,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
Initializes Direct3D drawing and sets the rendertarget to this texture. Calls to this method should be minimized to improve performance. DxTexture.EndRender() must be called after calling this method.
|
||||||
|
</summary>
|
||||||
|
<param name="AlphaTestEnable"></param>
|
||||||
|
<param name="SeparateAlphaEnable"></param>
|
||||||
|
<param name="SourceBlendAlpha"></param>
|
||||||
|
<param name="DestinationBlendAlpha"></param>
|
||||||
|
<param name="BlendOperation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.EndRender">
|
||||||
|
<summary>
|
||||||
|
Ends Direct3D rendering and resets the rendertarget. Must be called after DxTexture.BeginRender().
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DrawLine(System.Drawing.PointF,System.Drawing.PointF,System.Drawing.Color,System.Single)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, FlushSprite() may need to be called to ensure correct ordering.
|
||||||
|
</summary>
|
||||||
|
<param name="p1"></param>
|
||||||
|
<param name="p2"></param>
|
||||||
|
<param name="color"></param>
|
||||||
|
<param name="width"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DXDrawUserPrimitives(Microsoft.DirectX.Direct3D.PrimitiveType,System.Int32,System.Object,Microsoft.DirectX.Direct3D.VertexFormats)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, you must call BeginUserDrawOperation().
|
||||||
|
</summary>
|
||||||
|
<param name="ptype"></param>
|
||||||
|
<param name="count"></param>
|
||||||
|
<param name="data"></param>
|
||||||
|
<param name="vertexformat"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DXDrawUserPrimitives(Microsoft.DirectX.Direct3D.PrimitiveType,System.Int32,System.Object,Microsoft.DirectX.Direct3D.VertexFormats,VirindiViewService.DxTexture)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, you must call BeginUserDrawOperation().
|
||||||
|
</summary>
|
||||||
|
<param name="ptype"></param>
|
||||||
|
<param name="count"></param>
|
||||||
|
<param name="data"></param>
|
||||||
|
<param name="vertexformat"></param>
|
||||||
|
<param name="texture"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudList">
|
||||||
|
<summary>
|
||||||
|
A vertically scrolling list, containing a number of rows and columns. Every row
|
||||||
|
has the same number and types of columns. Each column contains a specified control type.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudImageStack">
|
||||||
|
<summary>
|
||||||
|
A number of images on top of each other, which always draw in the proper order.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudStaticText">
|
||||||
|
<summary>
|
||||||
|
A simple text display control. Uses its parent to provide the background.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudFixedLayout">
|
||||||
|
<summary>
|
||||||
|
A container for multiple controls with set locations and sizes within.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudCombo">
|
||||||
|
<summary>
|
||||||
|
A dropdown list.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.ContextMenu`1.Show(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
If the context menu is not visible, it is created at the specified point.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.ContextMenu`1.Show(System.Drawing.Point,VirindiViewService.HudViewDrawStyle)">
|
||||||
|
<summary>
|
||||||
|
If the context menu is not visible, it is created at the specified point with the specified theme.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.TooltipSystem.cTooltipInfo">
|
||||||
|
<summary>
|
||||||
|
Provides information about an associated tooltip.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.TooltipSystem.cTooltipInfo.Control">
|
||||||
|
<summary>
|
||||||
|
The HudControl that the tip is attached to.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.TooltipSystem.cTooltipInfo.Text">
|
||||||
|
<summary>
|
||||||
|
Deprecated.
|
||||||
|
Returns the text associated with a tooltip only if the tip contains a cStringRenderer.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudVScrollBar">
|
||||||
|
<summary>
|
||||||
|
A vertical scrollbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudHSlider">
|
||||||
|
<summary>
|
||||||
|
A horizontal slider.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudEmulator">
|
||||||
|
<summary>
|
||||||
|
A control that allows easy access to underlying draw methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
3
GearCycler/mainView.xml
Normal file
3
GearCycler/mainView.xml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
<View>
|
||||||
|
<HudButton Name="btnCycle" Text="Cycle Gear" Location="10,10" Size="120,30" />
|
||||||
|
</View>
|
||||||
62
MosswartMassacre/DelayedCommandManager.cs
Normal file
62
MosswartMassacre/DelayedCommandManager.cs
Normal file
|
|
@ -0,0 +1,62 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using Decal.Adapter;
|
||||||
|
|
||||||
|
namespace MosswartMassacre
|
||||||
|
{
|
||||||
|
public static class DelayedCommandManager
|
||||||
|
{
|
||||||
|
static List<DelayedCommand> delayedCommands = new List<DelayedCommand>();
|
||||||
|
static bool isDelayListening = false;
|
||||||
|
|
||||||
|
public static void AddDelayedCommand(string command, double delay)
|
||||||
|
{
|
||||||
|
var delayed = new DelayedCommand(command, delay);
|
||||||
|
delayedCommands.Add(delayed);
|
||||||
|
delayedCommands.Sort((x, y) => x.RunAt.CompareTo(y.RunAt));
|
||||||
|
|
||||||
|
if (!isDelayListening)
|
||||||
|
{
|
||||||
|
isDelayListening = true;
|
||||||
|
CoreManager.Current.RenderFrame += Core_RenderFrame_Delay;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void Core_RenderFrame_Delay(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
while (delayedCommands.Count > 0 && delayedCommands[0].RunAt <= DateTime.UtcNow)
|
||||||
|
{
|
||||||
|
PluginCore.WriteToChat($"[Debug] Executing delayed: {delayedCommands[0].Command}");
|
||||||
|
CoreManager.Current.Actions.InvokeChatParser(delayedCommands[0].Command);
|
||||||
|
delayedCommands.RemoveAt(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (delayedCommands.Count == 0)
|
||||||
|
{
|
||||||
|
CoreManager.Current.RenderFrame -= Core_RenderFrame_Delay;
|
||||||
|
isDelayListening = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
PluginCore.WriteToChat("Error in delayed command system: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public class DelayedCommand
|
||||||
|
{
|
||||||
|
public string Command { get; set; }
|
||||||
|
public double Delay { get; set; }
|
||||||
|
public DateTime RunAt { get; set; }
|
||||||
|
|
||||||
|
public DelayedCommand(string command, double delay)
|
||||||
|
{
|
||||||
|
Command = command;
|
||||||
|
Delay = delay;
|
||||||
|
RunAt = DateTime.UtcNow.AddMilliseconds(delay);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -12,6 +12,8 @@ namespace MosswartMassacre
|
||||||
private static IStaticText lblElapsedTime;
|
private static IStaticText lblElapsedTime;
|
||||||
private static IStaticText lblRareCount;
|
private static IStaticText lblRareCount;
|
||||||
private static IButton btnRestart;
|
private static IButton btnRestart;
|
||||||
|
private static IButton btnToggleRareMeta;
|
||||||
|
private static bool rareMetaEnabled = true;
|
||||||
|
|
||||||
public static void ViewInit()
|
public static void ViewInit()
|
||||||
{
|
{
|
||||||
|
|
@ -29,6 +31,9 @@ namespace MosswartMassacre
|
||||||
lblRareCount = (IStaticText)View["lblRareCount"];
|
lblRareCount = (IStaticText)View["lblRareCount"];
|
||||||
btnRestart = (IButton)View["btnRestart"];
|
btnRestart = (IButton)View["btnRestart"];
|
||||||
btnRestart.Hit += OnRestartClick;
|
btnRestart.Hit += OnRestartClick;
|
||||||
|
btnToggleRareMeta = (IButton)View["btnToggleRareMeta"];
|
||||||
|
btnToggleRareMeta.Hit += OnToggleRareMetaClick;
|
||||||
|
btnToggleRareMeta.Text = "Meta: ON";
|
||||||
|
|
||||||
PluginCore.WriteToChat("View initialized.");
|
PluginCore.WriteToChat("View initialized.");
|
||||||
}
|
}
|
||||||
|
|
@ -45,6 +50,7 @@ namespace MosswartMassacre
|
||||||
View.Dispose();
|
View.Dispose();
|
||||||
PluginCore.WriteToChat("View destroyed.");
|
PluginCore.WriteToChat("View destroyed.");
|
||||||
btnRestart.Hit -= OnRestartClick;
|
btnRestart.Hit -= OnRestartClick;
|
||||||
|
btnToggleRareMeta.Hit -= OnToggleRareMetaClick;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
|
|
@ -71,5 +77,12 @@ namespace MosswartMassacre
|
||||||
{
|
{
|
||||||
PluginCore.RestartStats();
|
PluginCore.RestartStats();
|
||||||
}
|
}
|
||||||
|
private static void OnToggleRareMetaClick(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
rareMetaEnabled = !rareMetaEnabled;
|
||||||
|
btnToggleRareMeta.Text = rareMetaEnabled ? "Meta: ON" : "Meta: OFF";
|
||||||
|
PluginCore.rareMetaEnabled = rareMetaEnabled; // Share toggle with PluginCore
|
||||||
|
PluginCore.WriteToChat($"[Debug] rareMetaEnabled is now: {rareMetaEnabled}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,7 @@
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="System.Drawing" />
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
<Reference Include="System.Xml.Linq" />
|
<Reference Include="System.Xml.Linq" />
|
||||||
<Reference Include="System.Data.DataSetExtensions" />
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
|
@ -60,6 +61,7 @@
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="DelayedCommandManager.cs" />
|
||||||
<Compile Include="MainView.cs" />
|
<Compile Include="MainView.cs" />
|
||||||
<Compile Include="PluginCore.cs" />
|
<Compile Include="PluginCore.cs" />
|
||||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using Decal.Adapter;
|
using Decal.Adapter;
|
||||||
|
|
@ -17,6 +19,10 @@ namespace MosswartMassacre
|
||||||
internal static double killsPerHour = 0;
|
internal static double killsPerHour = 0;
|
||||||
internal static DateTime statsStartTime = DateTime.Now;
|
internal static DateTime statsStartTime = DateTime.Now;
|
||||||
internal static Timer updateTimer;
|
internal static Timer updateTimer;
|
||||||
|
internal static bool rareMetaEnabled = true;
|
||||||
|
private static Queue<string> rareMessageQueue = new Queue<string>();
|
||||||
|
private static DateTime _lastSent = DateTime.MinValue;
|
||||||
|
private static readonly Queue<string> _chatQueue = new Queue<string>();
|
||||||
|
|
||||||
protected override void Startup()
|
protected override void Startup()
|
||||||
{
|
{
|
||||||
|
|
@ -83,10 +89,40 @@ namespace MosswartMassacre
|
||||||
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (IsRareDiscoveryMessage(e.Text))
|
if (IsRareDiscoveryMessage(e.Text, out string rareText))
|
||||||
{
|
{
|
||||||
rareCount++;
|
rareCount++;
|
||||||
MainView.UpdateRareCount(rareCount);
|
MainView.UpdateRareCount(rareCount);
|
||||||
|
|
||||||
|
if (rareMetaEnabled)
|
||||||
|
{
|
||||||
|
Decal_DispatchOnChatCommand("/vt setmetastate loot_rare");
|
||||||
|
}
|
||||||
|
|
||||||
|
DelayedCommandManager.AddDelayedCommand($"/a {rareText}", 3000);
|
||||||
|
}
|
||||||
|
if (e.Text.EndsWith("!testrare\""))
|
||||||
|
{
|
||||||
|
string simulatedText = $"{CoreManager.Current.CharacterFilter.Name} has discovered the Ancient Pickle!";
|
||||||
|
|
||||||
|
if (IsRareDiscoveryMessage(simulatedText, out string simulatedRareText))
|
||||||
|
{
|
||||||
|
rareCount++;
|
||||||
|
MainView.UpdateRareCount(rareCount);
|
||||||
|
|
||||||
|
if (rareMetaEnabled)
|
||||||
|
{
|
||||||
|
Decal_DispatchOnChatCommand("/vt setmetastate loot_rare");
|
||||||
|
}
|
||||||
|
|
||||||
|
DelayedCommandManager.AddDelayedCommand($"/a {simulatedRareText}", 3000);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
WriteToChat("[Test] Simulated rare message didn't match the regex.");
|
||||||
|
}
|
||||||
|
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (e.Color == 18 && e.Text.EndsWith("!report\""))
|
if (e.Color == 18 && e.Text.EndsWith("!report\""))
|
||||||
{
|
{
|
||||||
|
|
@ -181,23 +217,19 @@ namespace MosswartMassacre
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
private bool IsRareDiscoveryMessage(string text)
|
private bool IsRareDiscoveryMessage(string text, out string rareTextOnly)
|
||||||
{
|
{
|
||||||
|
rareTextOnly = null;
|
||||||
|
|
||||||
// Match pattern: "<name> has discovered the <something>!"
|
// Match pattern: "<name> has discovered the <something>!"
|
||||||
string pattern = @"^(?<name>['A-Za-z ]+)\s(?<text>has discovered the .*!$)";
|
string pattern = @"^(?<name>['A-Za-z ]+)\s(?<text>has discovered the .*!$)";
|
||||||
Match match = Regex.Match(text, pattern);
|
Match match = Regex.Match(text, pattern);
|
||||||
|
|
||||||
if (match.Success)
|
if (match.Success && match.Groups["name"].Value == CoreManager.Current.CharacterFilter.Name)
|
||||||
{
|
|
||||||
// Capture the name from the matched text
|
|
||||||
string name = match.Groups["name"].Value;
|
|
||||||
|
|
||||||
// Compare the captured name to the player's name
|
|
||||||
if (name == CoreManager.Current.CharacterFilter.Name)
|
|
||||||
{
|
{
|
||||||
|
rareTextOnly = match.Groups["text"].Value; // just "has discovered the Ancient Pickle!"
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -217,5 +249,30 @@ namespace MosswartMassacre
|
||||||
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
||||||
MainView.UpdateRareCount(rareCount);
|
MainView.UpdateRareCount(rareCount);
|
||||||
}
|
}
|
||||||
|
[DllImport("Decal.dll")]
|
||||||
|
private static extern int DispatchOnChatCommand(ref IntPtr str, [MarshalAs(UnmanagedType.U4)] int target);
|
||||||
|
|
||||||
|
public static bool Decal_DispatchOnChatCommand(string cmd)
|
||||||
|
{
|
||||||
|
IntPtr bstr = Marshal.StringToBSTR(cmd);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool eaten = (DispatchOnChatCommand(ref bstr, 1) & 0x1) > 0;
|
||||||
|
return eaten;
|
||||||
|
}
|
||||||
|
finally
|
||||||
|
{
|
||||||
|
Marshal.FreeBSTR(bstr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static void DispatchChatToBoxWithPluginIntercept(string cmd)
|
||||||
|
{
|
||||||
|
if (!Decal_DispatchOnChatCommand(cmd))
|
||||||
|
CoreManager.Current.Actions.InvokeChatParser(cmd);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<view icon="7735" title="Mosswart Massacre" width="160" height="160">
|
<view icon="7735" title="Mosswart Massacre" width="160" height="180">
|
||||||
<control progid="DecalControls.FixedLayout" clipped="">
|
<control progid="DecalControls.FixedLayout" clipped="">
|
||||||
<control progid="DecalControls.StaticText" name="lblTotalKills" left="10" top="10" width="250" height="20" text="Total Kills: 0"/>
|
<control progid="DecalControls.StaticText" name="lblTotalKills" left="10" top="10" width="250" height="20" text="Total Kills: 0"/>
|
||||||
<control progid="DecalControls.StaticText" name="lblKillsPer5Min" left="10" top="30" width="250" height="20" text="Kills per 5 Min: 0"/>
|
<control progid="DecalControls.StaticText" name="lblKillsPer5Min" left="10" top="30" width="250" height="20" text="Kills per 5 Min: 0"/>
|
||||||
<control progid="DecalControls.StaticText" name="lblKillsPerHour" left="10" top="50" width="250" height="20" text="Kills per Hour: 0"/>
|
<control progid="DecalControls.StaticText" name="lblKillsPerHour" left="10" top="50" width="250" height="20" text="Kills per Hour: 0"/>
|
||||||
<control progid="DecalControls.StaticText" name="lblElapsedTime" left="10" top="70" width="250" height="20" text="Elapsed Time: 00:00:00"/>
|
<control progid="DecalControls.StaticText" name="lblElapsedTime" left="10" top="70" width="250" height="20" text="Elapsed Time: 00:00:00"/>
|
||||||
<control progid="DecalControls.StaticText" name="lblRareCount" left="10" top="90" width="250" height="20" text="Rare Count: 0"/>
|
<control progid="DecalControls.StaticText" name="lblRareCount" left="10" top="90" width="250" height="20" text="Rare Count: 0"/>
|
||||||
<control progid="DecalControls.PushButton" name="btnRestart" left="10" top="110" width="100" height="20" text="Restart"/>
|
<control progid="DecalControls.PushButton" name="btnRestart" left="10" top="110" width="60" height="20" text="Restart"/>
|
||||||
|
<control progid="DecalControls.PushButton" name="btnToggleRareMeta" left="10" top="135" width="60" height="20" text="Meta Rare: ON"/>
|
||||||
|
|
||||||
|
|
||||||
</control>
|
</control>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
||||||
386
MosswartMassacre/lib/VirindiViewService.xml
Normal file
386
MosswartMassacre/lib/VirindiViewService.xml
Normal file
|
|
@ -0,0 +1,386 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<doc>
|
||||||
|
<assembly>
|
||||||
|
<name>VirindiViewService</name>
|
||||||
|
</assembly>
|
||||||
|
<members>
|
||||||
|
<member name="F:VirindiViewService.WriteTextFormats.None">
|
||||||
|
<summary>
|
||||||
|
Implies Top and Left
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.HudViewDrawStyle">
|
||||||
|
<summary>
|
||||||
|
Provides theme elements, which can be drawn by controls.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudThemeElement">
|
||||||
|
<summary>
|
||||||
|
Displays an element from the current theme.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudControl">
|
||||||
|
<summary>
|
||||||
|
The base class for all Virindi Views controls.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.Initialize">
|
||||||
|
<summary>
|
||||||
|
Called after this control is added to a ControlGroup. This is when the Name and details have been set.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.AddChild(VirindiViewService.Controls.HudControl)">
|
||||||
|
<summary>
|
||||||
|
Add and initialize a child control of this control. The child may be removed by disposing it.
|
||||||
|
</summary>
|
||||||
|
<param name="ctrl"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.RemovedChild(VirindiViewService.Controls.HudControl)">
|
||||||
|
<summary>
|
||||||
|
Called when a child of this control is disposed.
|
||||||
|
</summary>
|
||||||
|
<param name="ch"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.Dispose">
|
||||||
|
<summary>
|
||||||
|
Recursively disposes all children and removes this control from the view, if it is initialized.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseWheel(System.Drawing.Point,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
Handles a mouse wheel event. Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
<param name="amt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseDown(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fires the MouseEvent event for mouse down, and sets this control as the focus control if CanTakeFocus is true.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseUp(System.Drawing.Point,System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fires the MouseEvent event for mouse up as well as the Hit event.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
<param name="orig"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.ExternalMouseUp(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Fired when the mousedown originated outside the current view. The base version of this method
|
||||||
|
passes on the event to all children if the 'up' point is within its saved rect.
|
||||||
|
</summary>
|
||||||
|
<param name="pt">Mouseup point</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.MouseMove(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
Tracks mouseover and fires the MouseOverChange event, as well as the MouseEvent event for mouse move.
|
||||||
|
|
||||||
|
Parent controls must pass this on to applicable children if necessary.
|
||||||
|
</summary>
|
||||||
|
<param name="pt"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.RawKeyAction(System.Int16,System.Int32,System.Int32,System.Boolean@)">
|
||||||
|
<summary>
|
||||||
|
Parses a key message and fires the specific key event methods.
|
||||||
|
|
||||||
|
Key events are only sent to the control with focus.
|
||||||
|
</summary>
|
||||||
|
<param name="Msg"></param>
|
||||||
|
<param name="WParam"></param>
|
||||||
|
<param name="LParam"></param>
|
||||||
|
<param name="Eat"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.DrawNow(VirindiViewService.DxTexture)">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD CALL THIS METHOD.
|
||||||
|
|
||||||
|
This method is overridden in derived controls to handle the actual control drawing. Overridden methods should call
|
||||||
|
the base, draw, and recursively call this method on all child controls.
|
||||||
|
</summary>
|
||||||
|
<param name="iSavedTarget"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Controls.HudControl.SetClipRegion(System.Drawing.Rectangle,VirindiViewService.HudViewDrawStyle,VirindiViewService.DrawOptions,System.Drawing.Rectangle)">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD CALL THIS METHOD.
|
||||||
|
|
||||||
|
Notifies a control of changed saved draw options. This method saves its parameters in the Savedxxx properties.
|
||||||
|
Parent controls should override this method and recursively notify children of their new draw options, altering
|
||||||
|
their pClipRegion to reflect their new position in the View.
|
||||||
|
|
||||||
|
This base method also fires the DrawStateChange and ThemeChanged events.
|
||||||
|
</summary>
|
||||||
|
<param name="pClipRegion">This control's area, relative to the view area.</param>
|
||||||
|
<param name="pStyle">The theme applied to this control.</param>
|
||||||
|
<param name="pContext">The context of this control, eg. inside a listbox.</param>
|
||||||
|
<param name="pViewRect">The position of the View, in game window coordinates.</param>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.CanDraw">
|
||||||
|
<summary>
|
||||||
|
WARNING: ONLY A PARENT CONTROL SHOULD SET THIS PROPERTY.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.XMLAttributes">
|
||||||
|
<summary>
|
||||||
|
List of XmlAttributes present on the XmlNode that was used to construct this control, if the control was loaded from XML. Otherwise, empty.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.XMLNode">
|
||||||
|
<summary>
|
||||||
|
The XmlNode used to construct this control, if the control was loaded from XML. Otherwise, null.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Controls.HudControl.InternalName">
|
||||||
|
<summary>
|
||||||
|
The name that this control will be initialized with.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudConsole">
|
||||||
|
<summary>
|
||||||
|
A multiline uneditable scrolling text box.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudPictureBox">
|
||||||
|
<summary>
|
||||||
|
A single image control.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudImageButton">
|
||||||
|
<summary>
|
||||||
|
A button using custom images.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:MyClasses.HashedList`1">
|
||||||
|
<summary>
|
||||||
|
A doubly-linked list with a Dictionary index. Duplicate items are not allowed.
|
||||||
|
-Add is O(1)
|
||||||
|
-Contains is O(1)
|
||||||
|
-Remove is O(1)
|
||||||
|
-Get/set by index is O(n)
|
||||||
|
-Insert is O(n)
|
||||||
|
-RemoveAt is O(n)
|
||||||
|
Additionally, a cached pointer (with associated index) is kept pointing to the last used index item.
|
||||||
|
When looking up an item by index, the list is walked from the head, tail, or cached index pointer.
|
||||||
|
Thus, doing multiple operations in index order is O(1) even without an enumerator.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="T"></typeparam>
|
||||||
|
</member>
|
||||||
|
<member name="M:MyClasses.HashedList`1.RunToIndex(System.Int32)">
|
||||||
|
<summary>
|
||||||
|
This method gets the node corresponding to a particular index. To get there,
|
||||||
|
the list is traversed from the head, tail, or cached index pointer (if valid).
|
||||||
|
</summary>
|
||||||
|
<param name="ind"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudBrowser">
|
||||||
|
<summary>
|
||||||
|
Web browser control, using Awesomium (free license version)
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudHScrollBar">
|
||||||
|
<summary>
|
||||||
|
A horizontal scrollbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:Ciper.AC.AC_Text">
|
||||||
|
<summary>
|
||||||
|
Summary description for ByteCursor.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudCheckBox">
|
||||||
|
<summary>
|
||||||
|
A checkbox with optional associated text. Uses its parent to provide the background.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudTextBox">
|
||||||
|
<summary>
|
||||||
|
A single-line text input box.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.IElementRenderer.Measure(VirindiViewService.HudViewDrawStyle,System.Drawing.Size)">
|
||||||
|
<summary>
|
||||||
|
Called before render so the required size of the new target area can be calculated.
|
||||||
|
The returned value is the size of the desired draw area, not including outer borders and
|
||||||
|
style-dependent padding. This size must be less than or equal to MaximumSize in each dimension.
|
||||||
|
</summary>
|
||||||
|
<param name="style"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.IElementRenderer.Render(VirindiViewService.IRenderTarget,System.Drawing.Rectangle,VirindiViewService.HudViewDrawStyle)">
|
||||||
|
<summary>
|
||||||
|
Draw this element. When this is called, the background and borders will already have been drawn, and
|
||||||
|
target will already be in BeginRender. This method should leave the target in render mode.
|
||||||
|
</summary>
|
||||||
|
<param name="target"></param>
|
||||||
|
<param name="drawregion"></param>
|
||||||
|
<param name="style"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.cTipStringRenderer">
|
||||||
|
<summary>
|
||||||
|
A renderer for string-only tooltips.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:MyClasses.HashedSet`1">
|
||||||
|
<summary>
|
||||||
|
Represents an unordered set of items. Duplicates are not allowed.
|
||||||
|
(This is really just a dictionary which only holds keys.)
|
||||||
|
Should be used when a collection of non-duplicate items is needed and
|
||||||
|
the order doesn't matter.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudTabView">
|
||||||
|
<summary>
|
||||||
|
A series of titled tabs along the top, each one having an associated control which appears
|
||||||
|
on the bottom when its tab is enabled.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudProgressBar">
|
||||||
|
<summary>
|
||||||
|
A progressbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudButton">
|
||||||
|
<summary>
|
||||||
|
A regular pushbutton-style control.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Service.Game_D3DBeginSceneOriginal">
|
||||||
|
<summary>
|
||||||
|
Calls the non-hooked IDirect3DDevice9::BeginScene function. When rendering inside a VVS view or texture, use DxTexture.BeginRender() instead.
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.Service.Game_D3DEndSceneOriginal">
|
||||||
|
<summary>
|
||||||
|
Calls the non-hooked IDirect3DDevice9::EndScene function. When rendering inside a VVS view or texture, use DxTexture.EndRender() instead.
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.Service.HudBarInstance">
|
||||||
|
<summary>
|
||||||
|
Gets the current instance of the VVS bar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudChatbox">
|
||||||
|
<summary>
|
||||||
|
A console containing game chat.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.BeginRender(System.Boolean,System.Boolean,System.Int32,System.Int32,System.Int32)">
|
||||||
|
<summary>
|
||||||
|
Initializes Direct3D drawing and sets the rendertarget to this texture. Calls to this method should be minimized to improve performance. DxTexture.EndRender() must be called after calling this method.
|
||||||
|
</summary>
|
||||||
|
<param name="AlphaTestEnable"></param>
|
||||||
|
<param name="SeparateAlphaEnable"></param>
|
||||||
|
<param name="SourceBlendAlpha"></param>
|
||||||
|
<param name="DestinationBlendAlpha"></param>
|
||||||
|
<param name="BlendOperation"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.EndRender">
|
||||||
|
<summary>
|
||||||
|
Ends Direct3D rendering and resets the rendertarget. Must be called after DxTexture.BeginRender().
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DrawLine(System.Drawing.PointF,System.Drawing.PointF,System.Drawing.Color,System.Single)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, FlushSprite() may need to be called to ensure correct ordering.
|
||||||
|
</summary>
|
||||||
|
<param name="p1"></param>
|
||||||
|
<param name="p2"></param>
|
||||||
|
<param name="color"></param>
|
||||||
|
<param name="width"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DXDrawUserPrimitives(Microsoft.DirectX.Direct3D.PrimitiveType,System.Int32,System.Object,Microsoft.DirectX.Direct3D.VertexFormats)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, you must call BeginUserDrawOperation().
|
||||||
|
</summary>
|
||||||
|
<param name="ptype"></param>
|
||||||
|
<param name="count"></param>
|
||||||
|
<param name="data"></param>
|
||||||
|
<param name="vertexformat"></param>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.DxTexture.DXDrawUserPrimitives(Microsoft.DirectX.Direct3D.PrimitiveType,System.Int32,System.Object,Microsoft.DirectX.Direct3D.VertexFormats,VirindiViewService.DxTexture)">
|
||||||
|
<summary>
|
||||||
|
Note: Before use, you must call BeginUserDrawOperation().
|
||||||
|
</summary>
|
||||||
|
<param name="ptype"></param>
|
||||||
|
<param name="count"></param>
|
||||||
|
<param name="data"></param>
|
||||||
|
<param name="vertexformat"></param>
|
||||||
|
<param name="texture"></param>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudList">
|
||||||
|
<summary>
|
||||||
|
A vertically scrolling list, containing a number of rows and columns. Every row
|
||||||
|
has the same number and types of columns. Each column contains a specified control type.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudImageStack">
|
||||||
|
<summary>
|
||||||
|
A number of images on top of each other, which always draw in the proper order.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudStaticText">
|
||||||
|
<summary>
|
||||||
|
A simple text display control. Uses its parent to provide the background.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudFixedLayout">
|
||||||
|
<summary>
|
||||||
|
A container for multiple controls with set locations and sizes within.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudCombo">
|
||||||
|
<summary>
|
||||||
|
A dropdown list.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.ContextMenu`1.Show(System.Drawing.Point)">
|
||||||
|
<summary>
|
||||||
|
If the context menu is not visible, it is created at the specified point.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:VirindiViewService.ContextMenu`1.Show(System.Drawing.Point,VirindiViewService.HudViewDrawStyle)">
|
||||||
|
<summary>
|
||||||
|
If the context menu is not visible, it is created at the specified point with the specified theme.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.TooltipSystem.cTooltipInfo">
|
||||||
|
<summary>
|
||||||
|
Provides information about an associated tooltip.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.TooltipSystem.cTooltipInfo.Control">
|
||||||
|
<summary>
|
||||||
|
The HudControl that the tip is attached to.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="P:VirindiViewService.TooltipSystem.cTooltipInfo.Text">
|
||||||
|
<summary>
|
||||||
|
Deprecated.
|
||||||
|
Returns the text associated with a tooltip only if the tip contains a cStringRenderer.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudVScrollBar">
|
||||||
|
<summary>
|
||||||
|
A vertical scrollbar.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudHSlider">
|
||||||
|
<summary>
|
||||||
|
A horizontal slider.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="T:VirindiViewService.Controls.HudEmulator">
|
||||||
|
<summary>
|
||||||
|
A control that allows easy access to underlying draw methods.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
</members>
|
||||||
|
</doc>
|
||||||
|
|
@ -1,12 +1,14 @@
|
||||||
|
|
||||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.13.35919.96 d17.13
|
VisualStudioVersion = 17.13.35919.96
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MosswartMassacre", "MosswartMassacre\MosswartMassacre.csproj", "{8C97E839-4D05-4A5F-B0C8-E8E778654322}"
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MosswartMassacre", "MosswartMassacre\MosswartMassacre.csproj", "{8C97E839-4D05-4A5F-B0C8-E8E778654322}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GearCycler", "GearCycler\GearCycler.csproj", "{1293560E-2A56-417F-8116-8CE0420DC97C}"
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Any CPU = Debug|Any CPU
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
|
@ -17,6 +19,10 @@ Global
|
||||||
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Release|Any CPU.Build.0 = Release|Any CPU
|
{8C97E839-4D05-4A5F-B0C8-E8E778654322}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{1293560E-2A56-417F-8116-8CE0420DC97C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1293560E-2A56-417F-8116-8CE0420DC97C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1293560E-2A56-417F-8116-8CE0420DC97C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1293560E-2A56-417F-8116-8CE0420DC97C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue