diff --git a/README.md b/README.md
index 3cfe417..4f2fcfa 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,10 @@
# Taz Wanted Trainer & Patcher
+![1](https://user-images.githubusercontent.com/20092823/103023795-a78a4b00-455f-11eb-8a0b-5cc30d4b49b1.png)
+![2](https://user-images.githubusercontent.com/20092823/103023800-a8bb7800-455f-11eb-8efa-32f29f1c434e.png)
-## Screenshots
-
-## **[Download](https://github.com/MuxaJlbl4/Taz_Wanted_trainer_and_patcher/releases)**
+
+## **[🠗 Download 🠗](https://github.com/MuxaJlbl4/Taz_Wanted_trainer_and_patcher/releases)**
+
## Requirements
- **Taz: Wanted PC Game (Version 1.0)**
@@ -10,7 +12,7 @@
## Usage
### Trainer
-While game is running use keys to activate/deactivate cheats:
+While game is running, use keys to activate/deactivate cheats:
- **F1 - Invisibility** - Timeless test tube effect
- **F2 - Always burp** - Timeless super burp soda can effect
- **F3 - Super jump** - Hold jump to move up
@@ -44,10 +46,14 @@ Select necessary patches and click **Patch** or **Patch and Play!** All needed b
- **Audio** - Launches native audio setup
- **Controls** - Launches native controls setup
- **Game folder** - Opens game folder in explorer
-
+8
## Game screenshots
![screens](https://user-images.githubusercontent.com/20092823/30523732-30c460a4-9bef-11e7-8b69-e0b33f27a09c.png)
## Used repos:
-- **[GlobalKeyboardHook](https://github.com/jparnell8839/globalKeyboardHook)**
-- **[d3d8to9](https://github.com/crosire/d3d8to9)**
\ No newline at end of file
+- **[GlobalKeyboardHook](https://github.com/jparnell8839/globalKeyboardHook)** - Key hooking functionality
+- **[d3d8to9](https://github.com/crosire/d3d8to9)** - Converting Direct3D 8 API to Direct3D 9
+- **[QuickBMS](http://aluigi.altervista.org/quickbms.htm)** - Game resource unpacking
+
+## Known issues:
+- Functional and other hooked keys not work in other apps, when program is running
diff --git a/Taz trainer/Form1.Designer.cs b/Taz trainer/Form1.Designer.cs
index c5b0625..e9341d6 100644
--- a/Taz trainer/Form1.Designer.cs
+++ b/Taz trainer/Form1.Designer.cs
@@ -93,10 +93,13 @@ private void InitializeComponent()
this.tableLayoutPanel31 = new System.Windows.Forms.TableLayoutPanel();
this.infoText = new System.Windows.Forms.Label();
this.tableLayoutPanel32 = new System.Windows.Forms.TableLayoutPanel();
- this.gitHub = new System.Windows.Forms.Button();
this.trainerSound = new System.Windows.Forms.CheckBox();
this.tabsIcons = new System.Windows.Forms.ImageList(this.components);
this.dbgMenuOff = new System.Windows.Forms.Timer(this.components);
+ this.linkLabelUsage = new System.Windows.Forms.LinkLabel();
+ this.linkLabelGKH = new System.Windows.Forms.LinkLabel();
+ this.linkLabelD3d = new System.Windows.Forms.LinkLabel();
+ this.linkLabelQuickBms = new System.Windows.Forms.LinkLabel();
this.statusStrip.SuspendLayout();
this.tableLayoutPanel11.SuspendLayout();
this.tableLayoutPanel12.SuspendLayout();
@@ -1078,13 +1081,21 @@ private void InitializeComponent()
//
this.tableLayoutPanel31.ColumnCount = 1;
this.tableLayoutPanel31.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
- this.tableLayoutPanel31.Controls.Add(this.infoText, 0, 0);
- this.tableLayoutPanel31.Controls.Add(this.tableLayoutPanel32, 0, 1);
+ this.tableLayoutPanel31.Controls.Add(this.linkLabelUsage, 0, 0);
+ this.tableLayoutPanel31.Controls.Add(this.linkLabelGKH, 0, 1);
+ this.tableLayoutPanel31.Controls.Add(this.tableLayoutPanel32, 0, 5);
+ this.tableLayoutPanel31.Controls.Add(this.linkLabelD3d, 0, 2);
+ this.tableLayoutPanel31.Controls.Add(this.infoText, 0, 4);
+ this.tableLayoutPanel31.Controls.Add(this.linkLabelQuickBms, 0, 3);
this.tableLayoutPanel31.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel31.Location = new System.Drawing.Point(0, 0);
this.tableLayoutPanel31.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel31.Name = "tableLayoutPanel31";
- this.tableLayoutPanel31.RowCount = 2;
+ this.tableLayoutPanel31.RowCount = 6;
+ this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F));
+ this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F));
+ this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F));
+ this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F));
this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel31.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 42F));
this.tableLayoutPanel31.Size = new System.Drawing.Size(672, 290);
@@ -1093,12 +1104,11 @@ private void InitializeComponent()
// infoText
//
this.infoText.AutoSize = true;
- this.infoText.Location = new System.Drawing.Point(0, 0);
+ this.infoText.Location = new System.Drawing.Point(0, 168);
this.infoText.Margin = new System.Windows.Forms.Padding(0);
this.infoText.Name = "infoText";
- this.infoText.Size = new System.Drawing.Size(663, 156);
+ this.infoText.Size = new System.Drawing.Size(0, 26);
this.infoText.TabIndex = 1;
- this.infoText.Text = resources.GetString("infoText.Text");
//
// tableLayoutPanel32
//
@@ -1106,9 +1116,7 @@ private void InitializeComponent()
this.tableLayoutPanel32.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel32.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
this.tableLayoutPanel32.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F));
- this.tableLayoutPanel32.Controls.Add(this.gitHub, 2, 0);
this.tableLayoutPanel32.Controls.Add(this.trainerSound, 0, 0);
- this.tableLayoutPanel32.Dock = System.Windows.Forms.DockStyle.Fill;
this.tableLayoutPanel32.Location = new System.Drawing.Point(0, 248);
this.tableLayoutPanel32.Margin = new System.Windows.Forms.Padding(0);
this.tableLayoutPanel32.Name = "tableLayoutPanel32";
@@ -1117,22 +1125,6 @@ private void InitializeComponent()
this.tableLayoutPanel32.Size = new System.Drawing.Size(672, 42);
this.tableLayoutPanel32.TabIndex = 2;
//
- // gitHub
- //
- this.gitHub.Dock = System.Windows.Forms.DockStyle.Fill;
- this.gitHub.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
- this.gitHub.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
- this.gitHub.ImageIndex = 2;
- this.gitHub.ImageList = this.buttonIcons;
- this.gitHub.Location = new System.Drawing.Point(449, 1);
- this.gitHub.Margin = new System.Windows.Forms.Padding(1);
- this.gitHub.Name = "gitHub";
- this.gitHub.Size = new System.Drawing.Size(222, 40);
- this.gitHub.TabIndex = 3;
- this.gitHub.Text = "GitHub";
- this.gitHub.UseVisualStyleBackColor = false;
- this.gitHub.Click += new System.EventHandler(this.gitHub_Click);
- //
// trainerSound
//
this.trainerSound.Anchor = System.Windows.Forms.AnchorStyles.Left;
@@ -1158,6 +1150,54 @@ private void InitializeComponent()
//
this.dbgMenuOff.Tick += new System.EventHandler(this.dbgMenuOff_Tick);
//
+ // linkLabelUsage
+ //
+ this.linkLabelUsage.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.linkLabelUsage.AutoSize = true;
+ this.linkLabelUsage.Location = new System.Drawing.Point(280, 8);
+ this.linkLabelUsage.Name = "linkLabelUsage";
+ this.linkLabelUsage.Size = new System.Drawing.Size(111, 26);
+ this.linkLabelUsage.TabIndex = 3;
+ this.linkLabelUsage.TabStop = true;
+ this.linkLabelUsage.Text = "Usage Info";
+ this.linkLabelUsage.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelUsage_LinkClicked);
+ //
+ // linkLabelGKH
+ //
+ this.linkLabelGKH.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.linkLabelGKH.AutoSize = true;
+ this.linkLabelGKH.Location = new System.Drawing.Point(239, 50);
+ this.linkLabelGKH.Name = "linkLabelGKH";
+ this.linkLabelGKH.Size = new System.Drawing.Size(194, 26);
+ this.linkLabelGKH.TabIndex = 3;
+ this.linkLabelGKH.TabStop = true;
+ this.linkLabelGKH.Text = "GlobalKeyboardHook";
+ this.linkLabelGKH.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelGKH_LinkClicked);
+ //
+ // linkLabelD3d
+ //
+ this.linkLabelD3d.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.linkLabelD3d.AutoSize = true;
+ this.linkLabelD3d.Location = new System.Drawing.Point(289, 92);
+ this.linkLabelD3d.Name = "linkLabelD3d";
+ this.linkLabelD3d.Size = new System.Drawing.Size(94, 26);
+ this.linkLabelD3d.TabIndex = 3;
+ this.linkLabelD3d.TabStop = true;
+ this.linkLabelD3d.Text = "D3D8to9";
+ this.linkLabelD3d.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelD3d_LinkClicked);
+ //
+ // linkLabelQuickBms
+ //
+ this.linkLabelQuickBms.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.linkLabelQuickBms.AutoSize = true;
+ this.linkLabelQuickBms.Location = new System.Drawing.Point(283, 134);
+ this.linkLabelQuickBms.Name = "linkLabelQuickBms";
+ this.linkLabelQuickBms.Size = new System.Drawing.Size(105, 26);
+ this.linkLabelQuickBms.TabIndex = 3;
+ this.linkLabelQuickBms.TabStop = true;
+ this.linkLabelQuickBms.Text = "QuickBMS";
+ this.linkLabelQuickBms.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabelQuickBms_LinkClicked);
+ //
// Form1
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1231,7 +1271,6 @@ private void InitializeComponent()
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel31;
private System.Windows.Forms.Label infoText;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel32;
- private System.Windows.Forms.Button gitHub;
private System.Windows.Forms.CheckBox freezeLevelTimer;
private System.Windows.Forms.CheckBox debugMenu;
private System.Windows.Forms.Timer dbgMenuOff;
@@ -1280,6 +1319,10 @@ private void InitializeComponent()
private System.Windows.Forms.Button play;
private System.Windows.Forms.ComboBox langComboBox;
private System.Windows.Forms.Button gameFolder;
+ private System.Windows.Forms.LinkLabel linkLabelUsage;
+ private System.Windows.Forms.LinkLabel linkLabelGKH;
+ private System.Windows.Forms.LinkLabel linkLabelD3d;
+ private System.Windows.Forms.LinkLabel linkLabelQuickBms;
}
}
diff --git a/Taz trainer/Form1.cs b/Taz trainer/Form1.cs
index fa8e07f..944ffca 100644
--- a/Taz trainer/Form1.cs
+++ b/Taz trainer/Form1.cs
@@ -83,7 +83,7 @@ void gkh_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F1)
{
- //SendKeys.Send("{F1}");
+ //SendKeys.Send("{F1}"); // Causes timer crashes
this.invisibility.Checked = !this.invisibility.Checked;
}
if (e.KeyCode == Keys.F2)
@@ -1422,13 +1422,6 @@ private void windowed_CheckedChanged(object sender, EventArgs e)
}
}
-
- private void gitHub_Click(object sender, EventArgs e)
- {
- Process.Start("https://github.com/MuxaJlbl4/Taz_Wanted_trainer_and_patcher");
- }
-
-
private void button1_Click(object sender, EventArgs e)
{
try
@@ -1529,5 +1522,25 @@ private void tabs_DrawItem(object sender, DrawItemEventArgs e)
paddedBounds.Offset(1, yOffset);
TextRenderer.DrawText(e.Graphics, page.Text, Font, paddedBounds, page.ForeColor);
}
+
+ private void linkLabelUsage_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ Process.Start("https://github.com/MuxaJlbl4/Taz_Wanted_trainer_and_patcher#usage");
+ }
+
+ private void linkLabelGKH_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ Process.Start("https://github.com/jparnell8839/globalKeyboardHook");
+ }
+
+ private void linkLabelD3d_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ Process.Start("https://github.com/crosire/d3d8to9");
+ }
+
+ private void linkLabelQuickBms_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
+ {
+ Process.Start("http://aluigi.altervista.org/quickbms.htm");
+ }
}
}
diff --git a/Taz trainer/Form1.resx b/Taz trainer/Form1.resx
index 7cab266..8284496 100644
--- a/Taz trainer/Form1.resx
+++ b/Taz trainer/Form1.resx
@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAA
- eAAAAk1TRnQBSQFMAgEBDAEAAfABAAHwAQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ eAAAAk1TRnQBSQFMAgEBDAEAARABAQEQAQEBIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABgAMAAQEBAAEYBgABwP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A
/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/AP8AAwAD3gMA
A/9XAAPlA+1+AAP/AfgB9AHvAfYBuQGCAfgBnwFTAfgBoAFWAfgBnwFTAfYBuQGCAfgB9AHvA/85AAP/
@@ -870,7 +870,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADG
- IQAAAk1TRnQBSQFMAgEBAwEAAdgBAAHYAQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ IQAAAk1TRnQBSQFMAgEBAwEAAfgBAAH4AQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABIAMAAQEBAAEYBgABMDMAA+wDxAOlAWgBdAF5AyYDpAPhAwAD/y0AA/8GAALeAd0D+f8AJwAD6gEA
AUYBXwEAAZABxAEAAboB/wEAAc0B/wEJAXwBsQEFAV0BgwEDATQBSQEAAQUBByoAA/8DAAP9AiwBJwFG
AUMBPAEnASgBJAIrASYD8f8AJAAD8gEAAXYBowEAAeEB/wEAAfkB/wEAAb8B/wEKAXIBoQEJAXgBqQEJ
@@ -1025,7 +1025,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAACg
- WAAAAk1TRnQBSQFMAgEBCQEAAdgBAAHYAQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ WAAAAk1TRnQBSQFMAgEBCQEAAfgBAAH4AQABIAEAASABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABYAMAAQEBAAEYBgABkBIAAXQBXwFFARACAAEVAgABEwIAARMCAAETAgABEwIAARMCAAETAgABEwIA
ARMCAAETAgABEwIAARMCAAETAgABFAIAARQCAAEUAgABFAIAARQCAAEUAgABFAIAARQCAAEUAgABFAIA
ARQCAAEUAgABFgEAAQEBFwEAAQEBGAEAAQEBGwEAAQEBZQFcAV3/ACEAAfIB7gHkAUwBFwEAAS4BAQEA
@@ -1405,12 +1405,6 @@
Av8BwAEAAX8BAAEFA/8B/AEfAf8B+AEAA/8BuAEHAf8BgAEHA/8B+wL/AfgBBwP/AfcBfwH/AXABHwb/
AfwBfwb/AfAB7wL/Cw==
-
-
- Taz Wanted trainer and patcher 2.0
-
-Trainer usage: launch game and use keys to activate cheats.
-Patcher usage: while the game is not running select necessary patches and click "Patch". Backup of exe file will be created automatically. Click "Restore" to restore all settings to original.
195, 18
diff --git a/Taz trainer/Properties/AssemblyInfo.cs b/Taz trainer/Properties/AssemblyInfo.cs
index b4df3bd..548168c 100644
--- a/Taz trainer/Properties/AssemblyInfo.cs
+++ b/Taz trainer/Properties/AssemblyInfo.cs
@@ -5,11 +5,11 @@
// 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("Taz Wanted trainer and patcher")]
+[assembly: AssemblyTitle("Taz Wanted Trainer & Patcher")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("MuLLlaH9!")]
-[assembly: AssemblyProduct("Taz Wanted trainer and patcher")]
+[assembly: AssemblyProduct("Taz Wanted Trainer & Patcher")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]