diff --git a/.gitignore b/.gitignore index 9491a2f..a8a8685 100644 --- a/.gitignore +++ b/.gitignore @@ -360,4 +360,6 @@ MigrationBackup/ .ionide/ # Fody - auto-generated XML schema -FodyWeavers.xsd \ No newline at end of file +FodyWeavers.xsd +/UI_Creation_Manual.md +/UI_Creation_VirindiViewService_Manual.md diff --git a/GearCycler/GearCore.cs b/GearCycler/GearCore.cs deleted file mode 100644 index 09b380a..0000000 --- a/GearCycler/GearCore.cs +++ /dev/null @@ -1,45 +0,0 @@ -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(); - } - } -} diff --git a/GearCycler/GearCycler.csproj b/GearCycler/GearCycler.csproj deleted file mode 100644 index b4344de..0000000 --- a/GearCycler/GearCycler.csproj +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Debug - AnyCPU - {1293560E-2A56-417F-8116-8CE0420DC97C} - Library - Properties - GearCycler - GearCycler - v4.8 - 512 - true - - - true - full - false - bin\Debug\ - TRACE;DEBUG;VVS_REFERENCED;DECAL_INTEROP - prompt - 4 - x86 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - ..\MosswartMassacre\lib\Decal.Adapter.dll - - - False - True - ..\MosswartMassacre\lib\Decal.Interop.Core.DLL - - - False - True - ..\MosswartMassacre\lib\Decal.Interop.Inject.dll - - - - - - - - - - - - ..\MosswartMassacre\lib\VirindiViewService.dll - - - - - - - True - True - Resources.resx - - - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - - - - \ No newline at end of file diff --git a/GearCycler/Properties/AssemblyInfo.cs b/GearCycler/Properties/AssemblyInfo.cs deleted file mode 100644 index c45a3b8..0000000 --- a/GearCycler/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,33 +0,0 @@ -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")] diff --git a/GearCycler/Properties/Resources.Designer.cs b/GearCycler/Properties/Resources.Designer.cs deleted file mode 100644 index 40b9adf..0000000 --- a/GearCycler/Properties/Resources.Designer.cs +++ /dev/null @@ -1,63 +0,0 @@ -//------------------------------------------------------------------------------ -// -// 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. -// -//------------------------------------------------------------------------------ - -namespace GearCycler.Properties { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // 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() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [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; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - } -} diff --git a/GearCycler/Properties/Resources.resx b/GearCycler/Properties/Resources.resx deleted file mode 100644 index 4fdb1b6..0000000 --- a/GearCycler/Properties/Resources.resx +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 1.3 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.3500.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/GearCycler/ViewXML/mainView.xml b/GearCycler/ViewXML/mainView.xml deleted file mode 100644 index 1300d02..0000000 --- a/GearCycler/ViewXML/mainView.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/GearCycler/lib/Decal.Adapter.dll b/GearCycler/lib/Decal.Adapter.dll deleted file mode 100644 index c27e132..0000000 Binary files a/GearCycler/lib/Decal.Adapter.dll and /dev/null differ diff --git a/GearCycler/lib/Decal.Interop.Core.DLL b/GearCycler/lib/Decal.Interop.Core.DLL deleted file mode 100644 index b8de808..0000000 Binary files a/GearCycler/lib/Decal.Interop.Core.DLL and /dev/null differ diff --git a/GearCycler/lib/Decal.Interop.Inject.dll b/GearCycler/lib/Decal.Interop.Inject.dll deleted file mode 100644 index f186c93..0000000 Binary files a/GearCycler/lib/Decal.Interop.Inject.dll and /dev/null differ diff --git a/GearCycler/lib/VirindiViewService.dll b/GearCycler/lib/VirindiViewService.dll deleted file mode 100644 index 1e3f4fc..0000000 Binary files a/GearCycler/lib/VirindiViewService.dll and /dev/null differ diff --git a/GearCycler/lib/VirindiViewService.xml b/GearCycler/lib/VirindiViewService.xml deleted file mode 100644 index c43230e..0000000 --- a/GearCycler/lib/VirindiViewService.xml +++ /dev/null @@ -1,386 +0,0 @@ - - - - VirindiViewService - - - - - Implies Top and Left - - - - - Provides theme elements, which can be drawn by controls. - - - - - Displays an element from the current theme. - - - - - The base class for all Virindi Views controls. - - - - - Called after this control is added to a ControlGroup. This is when the Name and details have been set. - - - - - Add and initialize a child control of this control. The child may be removed by disposing it. - - - - - - Called when a child of this control is disposed. - - - - - - Recursively disposes all children and removes this control from the view, if it is initialized. - - - - - Handles a mouse wheel event. Parent controls must pass this on to applicable children if necessary. - - - - - - - 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. - - - - - - Fires the MouseEvent event for mouse up as well as the Hit event. - - Parent controls must pass this on to applicable children if necessary. - - - - - - - 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. - - Mouseup point - - - - 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. - - - - - - Parses a key message and fires the specific key event methods. - - Key events are only sent to the control with focus. - - - - - - - - - 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. - - - - - - 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. - - This control's area, relative to the view area. - The theme applied to this control. - The context of this control, eg. inside a listbox. - The position of the View, in game window coordinates. - - - - WARNING: ONLY A PARENT CONTROL SHOULD SET THIS PROPERTY. - - - - - List of XmlAttributes present on the XmlNode that was used to construct this control, if the control was loaded from XML. Otherwise, empty. - - - - - The XmlNode used to construct this control, if the control was loaded from XML. Otherwise, null. - - - - - The name that this control will be initialized with. - - - - - A multiline uneditable scrolling text box. - - - - - A single image control. - - - - - A button using custom images. - - - - - 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. - - - - - - 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). - - - - - - - Web browser control, using Awesomium (free license version) - - - - - A horizontal scrollbar. - - - - - Summary description for ByteCursor. - - - - - A checkbox with optional associated text. Uses its parent to provide the background. - - - - - A single-line text input box. - - - - - 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. - - - - - - - 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. - - - - - - - - A renderer for string-only tooltips. - - - - - 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. - - - - - A series of titled tabs along the top, each one having an associated control which appears - on the bottom when its tab is enabled. - - - - - A progressbar. - - - - - A regular pushbutton-style control. - - - - - Calls the non-hooked IDirect3DDevice9::BeginScene function. When rendering inside a VVS view or texture, use DxTexture.BeginRender() instead. - - - - - - Calls the non-hooked IDirect3DDevice9::EndScene function. When rendering inside a VVS view or texture, use DxTexture.EndRender() instead. - - - - - - Gets the current instance of the VVS bar. - - - - - A console containing game chat. - - - - - 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. - - - - - - - - - - Ends Direct3D rendering and resets the rendertarget. Must be called after DxTexture.BeginRender(). - - - - - Note: Before use, FlushSprite() may need to be called to ensure correct ordering. - - - - - - - - - Note: Before use, you must call BeginUserDrawOperation(). - - - - - - - - - Note: Before use, you must call BeginUserDrawOperation(). - - - - - - - - - - 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. - - - - - A number of images on top of each other, which always draw in the proper order. - - - - - A simple text display control. Uses its parent to provide the background. - - - - - A container for multiple controls with set locations and sizes within. - - - - - A dropdown list. - - - - - If the context menu is not visible, it is created at the specified point. - - - - - If the context menu is not visible, it is created at the specified point with the specified theme. - - - - - Provides information about an associated tooltip. - - - - - The HudControl that the tip is attached to. - - - - - Deprecated. - Returns the text associated with a tooltip only if the tip contains a cStringRenderer. - - - - - A vertical scrollbar. - - - - - A horizontal slider. - - - - - A control that allows easy access to underlying draw methods. - - - - diff --git a/GearCycler/mainView.xml b/GearCycler/mainView.xml deleted file mode 100644 index d68a2a3..0000000 --- a/GearCycler/mainView.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file