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 lblRareCount;
|
||||
private static IButton btnRestart;
|
||||
private static IButton btnToggleRareMeta;
|
||||
private static bool rareMetaEnabled = true;
|
||||
|
||||
public static void ViewInit()
|
||||
{
|
||||
|
|
@ -29,6 +31,9 @@ namespace MosswartMassacre
|
|||
lblRareCount = (IStaticText)View["lblRareCount"];
|
||||
btnRestart = (IButton)View["btnRestart"];
|
||||
btnRestart.Hit += OnRestartClick;
|
||||
btnToggleRareMeta = (IButton)View["btnToggleRareMeta"];
|
||||
btnToggleRareMeta.Hit += OnToggleRareMetaClick;
|
||||
btnToggleRareMeta.Text = "Meta: ON";
|
||||
|
||||
PluginCore.WriteToChat("View initialized.");
|
||||
}
|
||||
|
|
@ -45,6 +50,7 @@ namespace MosswartMassacre
|
|||
View.Dispose();
|
||||
PluginCore.WriteToChat("View destroyed.");
|
||||
btnRestart.Hit -= OnRestartClick;
|
||||
btnToggleRareMeta.Hit -= OnToggleRareMetaClick;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
|
@ -71,5 +77,12 @@ namespace MosswartMassacre
|
|||
{
|
||||
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.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
|
|
@ -60,6 +61,7 @@
|
|||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DelayedCommandManager.cs" />
|
||||
<Compile Include="MainView.cs" />
|
||||
<Compile Include="PluginCore.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Timers;
|
||||
using Decal.Adapter;
|
||||
|
|
@ -17,6 +19,10 @@ namespace MosswartMassacre
|
|||
internal static double killsPerHour = 0;
|
||||
internal static DateTime statsStartTime = DateTime.Now;
|
||||
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()
|
||||
{
|
||||
|
|
@ -73,7 +79,7 @@ namespace MosswartMassacre
|
|||
{
|
||||
try
|
||||
{
|
||||
// WriteToChat($"[Debug] Chat Color: {e.Color}, Message: {e.Text}");
|
||||
// WriteToChat($"[Debug] Chat Color: {e.Color}, Message: {e.Text}");
|
||||
|
||||
if (IsKilledByMeMessage(e.Text))
|
||||
{
|
||||
|
|
@ -83,10 +89,40 @@ namespace MosswartMassacre
|
|||
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
||||
}
|
||||
|
||||
if (IsRareDiscoveryMessage(e.Text))
|
||||
if (IsRareDiscoveryMessage(e.Text, out string rareText))
|
||||
{
|
||||
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\""))
|
||||
{
|
||||
|
|
@ -181,22 +217,18 @@ namespace MosswartMassacre
|
|||
|
||||
return false;
|
||||
}
|
||||
private bool IsRareDiscoveryMessage(string text)
|
||||
private bool IsRareDiscoveryMessage(string text, out string rareTextOnly)
|
||||
{
|
||||
rareTextOnly = null;
|
||||
|
||||
// Match pattern: "<name> has discovered the <something>!"
|
||||
string pattern = @"^(?<name>['A-Za-z ]+)\s(?<text>has discovered the .*!$)";
|
||||
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)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
rareTextOnly = match.Groups["text"].Value; // just "has discovered the Ancient Pickle!"
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
@ -217,5 +249,30 @@ namespace MosswartMassacre
|
|||
MainView.UpdateKillStats(totalKills, killsPer5Min, killsPerHour);
|
||||
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"?>
|
||||
<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.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="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="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>
|
||||
</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
|
||||
# Visual Studio Version 17
|
||||
VisualStudioVersion = 17.13.35919.96 d17.13
|
||||
VisualStudioVersion = 17.13.35919.96
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MosswartMassacre", "MosswartMassacre\MosswartMassacre.csproj", "{8C97E839-4D05-4A5F-B0C8-E8E778654322}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GearCycler", "GearCycler\GearCycler.csproj", "{1293560E-2A56-417F-8116-8CE0420DC97C}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
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}.Release|Any CPU.ActiveCfg = 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
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue