diff --git a/WoWFishBot.sln b/WoWFishBot.sln new file mode 100644 index 0000000..87ef505 --- /dev/null +++ b/WoWFishBot.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WoWFishBot", "src\WoWFishBot.csproj", "{CDF5CBF6-DCCF-4C59-8578-71641EB33009}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CDF5CBF6-DCCF-4C59-8578-71641EB33009}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CDF5CBF6-DCCF-4C59-8578-71641EB33009}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CDF5CBF6-DCCF-4C59-8578-71641EB33009}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CDF5CBF6-DCCF-4C59-8578-71641EB33009}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/readme.txt b/readme.txt new file mode 100644 index 0000000..9cffd25 --- /dev/null +++ b/readme.txt @@ -0,0 +1,7 @@ +Based on my imageFind project https://github.com/erfg12/imageFind + +Finds the splash bitmap on screen, shift + right click's on the location and then presses the 1 key to re-cast your line. + +Use the hot key CTRL + S to start or stop the bot. + +Benefits to using this bot - not version specific. Unless they change the splash image. \ No newline at end of file diff --git a/src/App.config b/src/App.config new file mode 100644 index 0000000..88fa402 --- /dev/null +++ b/src/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/Form1.Designer.cs b/src/Form1.Designer.cs new file mode 100644 index 0000000..0f61e9d --- /dev/null +++ b/src/Form1.Designer.cs @@ -0,0 +1,208 @@ +namespace WindowsFormsApplication3 +{ + partial class Form1 + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.findImage = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.imageXY = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.cursorXY = new System.Windows.Forms.TextBox(); + this.timer1 = new System.Windows.Forms.Timer(this.components); + this.button1 = new System.Windows.Forms.Button(); + this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.recast = new System.Windows.Forms.Timer(this.components); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // findImage + // + this.findImage.Location = new System.Drawing.Point(80, 6); + this.findImage.Name = "findImage"; + this.findImage.ReadOnly = true; + this.findImage.Size = new System.Drawing.Size(100, 20); + this.findImage.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(11, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(69, 13); + this.label1.TabIndex = 1; + this.label1.Text = "Image Found"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(12, 36); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Image X,Y"; + // + // imageXY + // + this.imageXY.Location = new System.Drawing.Point(80, 33); + this.imageXY.Name = "imageXY"; + this.imageXY.ReadOnly = true; + this.imageXY.Size = new System.Drawing.Size(100, 20); + this.imageXY.TabIndex = 3; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(12, 62); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(57, 13); + this.label3.TabIndex = 4; + this.label3.Text = "Cursor X,Y"; + // + // cursorXY + // + this.cursorXY.Location = new System.Drawing.Point(80, 59); + this.cursorXY.Name = "cursorXY"; + this.cursorXY.ReadOnly = true; + this.cursorXY.Size = new System.Drawing.Size(100, 20); + this.cursorXY.TabIndex = 5; + // + // timer1 + // + this.timer1.Enabled = true; + this.timer1.Tick += new System.EventHandler(this.timer1_Tick); + // + // button1 + // + this.button1.Location = new System.Drawing.Point(15, 85); + this.button1.Name = "button1"; + this.button1.Size = new System.Drawing.Size(165, 34); + this.button1.TabIndex = 6; + this.button1.Text = "Start Fishing!"; + this.button1.UseVisualStyleBackColor = true; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // backgroundWorker1 + // + this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.backgroundWorker1_DoWork); + this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorker1_RunWorkerCompleted); + // + // pictureBox1 + // + this.pictureBox1.Location = new System.Drawing.Point(186, 6); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(405, 215); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 7; + this.pictureBox1.TabStop = false; + this.pictureBox1.Paint += new System.Windows.Forms.PaintEventHandler(this.pictureBox1_Paint); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(15, 140); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(123, 13); + this.label4.TabIndex = 0; + this.label4.Text = "[DEBUG] Match Length:"; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(135, 140); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(13, 13); + this.label5.TabIndex = 9; + this.label5.Text = "0"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(15, 177); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(158, 13); + this.label8.TabIndex = 12; + this.label8.Text = "HOTKEY: CTRL+S (start / stop)"; + // + // recast + // + this.recast.Interval = 2000; + this.recast.Tick += new System.EventHandler(this.recast_Tick); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(605, 235); + this.Controls.Add(this.label8); + this.Controls.Add(this.label5); + this.Controls.Add(this.label4); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.button1); + this.Controls.Add(this.cursorXY); + this.Controls.Add(this.label3); + this.Controls.Add(this.imageXY); + this.Controls.Add(this.label2); + this.Controls.Add(this.label1); + this.Controls.Add(this.findImage); + this.MaximizeBox = false; + this.Name = "Form1"; + this.ShowIcon = false; + this.Text = "WoW Fish Bot"; + this.Load += new System.EventHandler(this.Form1_Load); + this.Shown += new System.EventHandler(this.Form1_Shown); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox findImage; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox imageXY; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox cursorXY; + private System.Windows.Forms.Timer timer1; + private System.Windows.Forms.Button button1; + private System.ComponentModel.BackgroundWorker backgroundWorker1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Timer recast; + } +} + diff --git a/src/Form1.cs b/src/Form1.cs new file mode 100644 index 0000000..a88e483 --- /dev/null +++ b/src/Form1.cs @@ -0,0 +1,213 @@ +using System; +using System.ComponentModel; +using System.Drawing; +using System.Windows.Forms; +using AForge.Imaging; +using AForge.Imaging.Filters; +using System.Runtime.InteropServices; + +namespace WindowsFormsApplication3 +{ + public partial class Form1 : Form + { + public Form1() + { + InitializeComponent(); + } + + public Bitmap ConvertToFormat(System.Drawing.Image image, System.Drawing.Imaging.PixelFormat format) + { + Bitmap copy = new Bitmap(image.Width, image.Height, format); + using (Graphics gr = Graphics.FromImage(copy)) + { + gr.DrawImage(image, new Rectangle(0, 0, copy.Width, copy.Height)); + } + return copy; + } + + [DllImport("user32.dll")] + public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo); + [DllImport("user32.dll")] + public static extern void keybd_event(byte vk, byte scan, int flags, int extrainfo); + [DllImport("user32.dll")] + public static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vlc); + + private const int MOUSEEVENTF_LEFTDOWN = 0x02; + private const int MOUSEEVENTF_LEFTUP = 0x04; + private const int MOUSEEVENTF_RIGHTDOWN = 0x08; + private const int MOUSEEVENTF_RIGHTUP = 0x10; + public const byte KEYBDEVENTF_SHIFTVIRTUAL = 0x10; + public const byte KEYBDEVENTF_SHIFTSCANCODE = 0x2A; + public const byte KEYBDEVENTF_NUM1VIRTUAL = 0x31; + public const byte KEYBDEVENTF_NUM1SCANCODE = 0x02; + public const int KEYBDEVENTF_KEYDOWN = 0; + public const int KEYBDEVENTF_KEYUP = 2; + + int imageX = 0; + int imageY = 0; + + public delegate void ControlStringConsumer(Control control, string text); // defines a delegate type + + public void SetText(Control control, string text) + { + if (control.InvokeRequired) + { + control.Invoke(new ControlStringConsumer(SetText), new object[] { control, text }); // invoking itself + } + else + { + control.Text = text; // the "functional part", executing only on the main thread + } + } + + void Contains(Bitmap template, Bitmap bmp) + { + const Int32 divisor = 4; + const Int32 epsilon = 10; + + ExhaustiveTemplateMatching etm = new ExhaustiveTemplateMatching(0.99f); // + + TemplateMatch[] tm = etm.ProcessImage( + new ResizeNearestNeighbor(template.Width / divisor, template.Height / divisor).Apply(template), + new ResizeNearestNeighbor(bmp.Width / divisor, bmp.Height / divisor).Apply(bmp) + ); + label5.Text = tm.Length.ToString(); + if (tm.Length >= 1) + { + Rectangle tempRect = tm[0].Rectangle; + + imageX = tempRect.Location.X * divisor; + imageY = tempRect.Location.Y * divisor; + + SetText(imageXY, "X:" + (imageX).ToString() + " Y:" + (imageY).ToString()); + + if (Math.Abs(bmp.Width / divisor - tempRect.Width) < epsilon && Math.Abs(bmp.Height / divisor - tempRect.Height) < epsilon) + { + SetText(findImage, "True"); + Loot(imageX, imageY); + } + } + else + { + SetText(findImage, "False"); + SetText(imageXY, ""); + } + } + + public Boolean stopWorker = true; + + protected override void WndProc(ref Message m) //hotbuttons + { + if (m.Msg == 0x0312) + { + int id = m.WParam.ToInt32(); + if (id == 1) + startStop(); + } + base.WndProc(ref m); + } + + private void Form1_Load(object sender, EventArgs e) + { + + } + + private void Form1_Shown(object sender, EventArgs e) + { + RegisterHotKey(this.Handle, 1, 2, (int)'S'); // start/stop toggle hotkey + if (!backgroundWorker1.IsBusy) + backgroundWorker1.RunWorkerAsync(); + } + + private void timer1_Tick(object sender, EventArgs e) + { + cursorXY.Text = Cursor.Position.ToString(); + } + + private void startStop() + { + // this only stops our image comparison function + if (stopWorker) + { + stopWorker = false; + button1.Text = "Stop Fishing."; + } + else + { + stopWorker = true; + button1.Text = "Start Fishing!"; + } + } + + private void Loot(int x, int y) + { + // press and hold shift button (loot all) + keybd_event(KEYBDEVENTF_SHIFTVIRTUAL, KEYBDEVENTF_SHIFTSCANCODE, KEYBDEVENTF_KEYDOWN, 0); + // right click + mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, Convert.ToUInt32(x), Convert.ToUInt32(y), 0, 0); + // release shift button + keybd_event(KEYBDEVENTF_SHIFTVIRTUAL, KEYBDEVENTF_SHIFTSCANCODE, KEYBDEVENTF_KEYUP, 0); + // start recast our rod timer + recast.Enabled = true; + } + + private void button1_Click(object sender, EventArgs e) + { + startStop(); + } + + Bitmap find; + Bitmap template2; + + private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) + { + int screenWidth = Screen.GetBounds(new Point(0, 0)).Width; + int screenHeight = Screen.GetBounds(new Point(0, 0)).Height; + Bitmap bmpScreenShot = new Bitmap(screenWidth, screenHeight); + Bitmap findimg = new Bitmap(Application.StartupPath + @"\splash.bmp"); + Graphics gfx = Graphics.FromImage(bmpScreenShot); + gfx.CopyFromScreen(0, 0, 0, 0, new Size(screenWidth, screenHeight)); + //bmpScreenShot.Save("Screenshot.bmp", System.Drawing.Imaging.ImageFormat.Bmp); //DEBUG + + Bitmap template = ConvertToFormat(bmpScreenShot, System.Drawing.Imaging.PixelFormat.Format24bppRgb); + find = ConvertToFormat(findimg, System.Drawing.Imaging.PixelFormat.Format24bppRgb); + pictureBox1.Image = null; + pictureBox1.Image = template; + + template2 = ConvertToFormat(bmpScreenShot, System.Drawing.Imaging.PixelFormat.Format24bppRgb); + + bmpScreenShot.Dispose(); + findimg.Dispose(); + gfx.Dispose(); + } + + private void pictureBox1_Paint(object sender, PaintEventArgs e) + { + if (imageX == 0 && imageY == 0) + return; + + Rectangle ee = new Rectangle(Convert.ToInt32(imageX / 4.99), Convert.ToInt32(imageY / 5.5), 30, 30); + using (Pen pen = new Pen(Color.Red, 2)) + { + e.Graphics.DrawRectangle(pen, ee); + } + } + + private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + if (!stopWorker) + Contains(template2, find); + + if (!backgroundWorker1.IsBusy) + backgroundWorker1.RunWorkerAsync(); + } + + private void recast_Tick(object sender, EventArgs e) + { + // press 1 (assumed to be skill fish) + keybd_event(KEYBDEVENTF_NUM1VIRTUAL, KEYBDEVENTF_NUM1SCANCODE, KEYBDEVENTF_KEYDOWN, 0); + keybd_event(KEYBDEVENTF_NUM1VIRTUAL, KEYBDEVENTF_NUM1SCANCODE, KEYBDEVENTF_KEYUP, 0); + recast.Enabled = false; + } + } +} diff --git a/src/Form1.resx b/src/Form1.resx new file mode 100644 index 0000000..f23c0b4 --- /dev/null +++ b/src/Form1.resx @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + 104, 17 + + + 268, 17 + + \ No newline at end of file diff --git a/src/Program.cs b/src/Program.cs new file mode 100644 index 0000000..60d0b5d --- /dev/null +++ b/src/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace WindowsFormsApplication3 +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Form1()); + } + } +} diff --git a/src/Properties/AssemblyInfo.cs b/src/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..e2c4b2a --- /dev/null +++ b/src/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +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("WoW Fish Bot")] +[assembly: AssemblyDescription("Find a splash and grab that fish")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("findImage")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[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("54b8b259-b7fa-41a5-9cd6-2829cfdcbae6")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/src/Properties/Resources.Designer.cs b/src/Properties/Resources.Designer.cs new file mode 100644 index 0000000..fd96340 --- /dev/null +++ b/src/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 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 wowFishing.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", "4.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("wowFishing.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/src/Properties/Resources.resx b/src/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/src/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/src/Properties/Settings.Designer.cs b/src/Properties/Settings.Designer.cs new file mode 100644 index 0000000..f5d4080 --- /dev/null +++ b/src/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 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 wowFishing.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/src/Properties/Settings.settings b/src/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/src/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/WoWFishBot.csproj b/src/WoWFishBot.csproj new file mode 100644 index 0000000..c28faac --- /dev/null +++ b/src/WoWFishBot.csproj @@ -0,0 +1,94 @@ + + + + + Debug + AnyCPU + {CDF5CBF6-DCCF-4C59-8578-71641EB33009} + WinExe + Properties + wowFishing + wowFishing + v4.5.2 + 512 + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\..\..\..\..\Desktop\AForge.Imaging.dll + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + + + Form1.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + \ No newline at end of file diff --git a/src/bin/Debug/AForge.Imaging.dll b/src/bin/Debug/AForge.Imaging.dll new file mode 100644 index 0000000..150e87d Binary files /dev/null and b/src/bin/Debug/AForge.Imaging.dll differ diff --git a/src/bin/Debug/splash.bmp b/src/bin/Debug/splash.bmp new file mode 100644 index 0000000..cb6e483 Binary files /dev/null and b/src/bin/Debug/splash.bmp differ