initial commit

This commit is contained in:
mikx 2023-05-03 05:32:01 -04:00
parent 415a89d281
commit beedeb296a
34 changed files with 6048 additions and 0 deletions

25
Filsonator.sln Normal file
View File

@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33530.505
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Filsonator", "Filsonator\Filsonator.csproj", "{133A0830-A421-486B-90FA-8D77C16C7ADF}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{133A0830-A421-486B-90FA-8D77C16C7ADF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{133A0830-A421-486B-90FA-8D77C16C7ADF}.Debug|Any CPU.Build.0 = Debug|Any CPU
{133A0830-A421-486B-90FA-8D77C16C7ADF}.Release|Any CPU.ActiveCfg = Release|Any CPU
{133A0830-A421-486B-90FA-8D77C16C7ADF}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {B3978DC4-C5AF-4046-9113-63EB6166B31D}
EndGlobalSection
EndGlobal

6
Filsonator/App.config Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8" />
</startup>
</configuration>

587
Filsonator/BlockForm.Designer.cs generated Normal file
View File

@ -0,0 +1,587 @@
namespace Filsonator
{
partial class BlockForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BlockForm));
this.label1 = new System.Windows.Forms.Label();
this.comboBox_Type = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
this.comboBox_Show = new System.Windows.Forms.ComboBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.textBox_AddClass = new System.Windows.Forms.TextBox();
this.button_AddClass = new System.Windows.Forms.Button();
this.textBox_AddBase = new System.Windows.Forms.TextBox();
this.button_AddBase = new System.Windows.Forms.Button();
this.dataGridView_Class = new System.Windows.Forms.DataGridView();
this.col1 = new System.Windows.Forms.DataGridViewImageColumn();
this.col2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridView_Base = new System.Windows.Forms.DataGridView();
this.col01 = new System.Windows.Forms.DataGridViewImageColumn();
this.col02 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pictureBox_InGame = new System.Windows.Forms.PictureBox();
this.label5 = new System.Windows.Forms.Label();
this.button_Color_Text = new System.Windows.Forms.Button();
this.button_Color_Back = new System.Windows.Forms.Button();
this.button_Color_Border = new System.Windows.Forms.Button();
this.dataGridView_Condition = new System.Windows.Forms.DataGridView();
this.col001 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col002 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col003 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label6 = new System.Windows.Forms.Label();
this.dataGridView_Action = new System.Windows.Forms.DataGridView();
this.dataGridViewTextBoxColumn1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dataGridViewTextBoxColumn3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col004 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col005 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.label7 = new System.Windows.Forms.Label();
this.button_Save = new System.Windows.Forms.Button();
this.comboBox_FontSize = new System.Windows.Forms.ComboBox();
this.label8 = new System.Windows.Forms.Label();
this.button_Text_Copy = new System.Windows.Forms.Button();
this.button_Text_Paste = new System.Windows.Forms.Button();
this.button_Back_Paste = new System.Windows.Forms.Button();
this.button_Back_Copy = new System.Windows.Forms.Button();
this.button_Border_Paste = new System.Windows.Forms.Button();
this.button_Border_Copy = new System.Windows.Forms.Button();
this.button_Close = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Class)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Base)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_InGame)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Condition)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Action)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(39, 13);
this.label1.TabIndex = 3;
this.label1.Text = "Type";
//
// comboBox_Type
//
this.comboBox_Type.FormattingEnabled = true;
this.comboBox_Type.Location = new System.Drawing.Point(57, 6);
this.comboBox_Type.Name = "comboBox_Type";
this.comboBox_Type.Size = new System.Drawing.Size(121, 21);
this.comboBox_Type.TabIndex = 4;
//
// label2
//
this.label2.AutoSize = true;
this.label2.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.Location = new System.Drawing.Point(12, 36);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(41, 13);
this.label2.TabIndex = 6;
this.label2.Text = "Show";
//
// comboBox_Show
//
this.comboBox_Show.FormattingEnabled = true;
this.comboBox_Show.Location = new System.Drawing.Point(57, 33);
this.comboBox_Show.Name = "comboBox_Show";
this.comboBox_Show.Size = new System.Drawing.Size(121, 21);
this.comboBox_Show.TabIndex = 5;
//
// label3
//
this.label3.AutoSize = true;
this.label3.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.Location = new System.Drawing.Point(12, 60);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(41, 13);
this.label3.TabIndex = 7;
this.label3.Text = "Class";
//
// label4
//
this.label4.AutoSize = true;
this.label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.Location = new System.Drawing.Point(184, 60);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(38, 13);
this.label4.TabIndex = 9;
this.label4.Text = "Base";
//
// textBox_AddClass
//
this.textBox_AddClass.Location = new System.Drawing.Point(57, 184);
this.textBox_AddClass.Name = "textBox_AddClass";
this.textBox_AddClass.Size = new System.Drawing.Size(121, 20);
this.textBox_AddClass.TabIndex = 14;
//
// button_AddClass
//
this.button_AddClass.Location = new System.Drawing.Point(12, 183);
this.button_AddClass.Name = "button_AddClass";
this.button_AddClass.Size = new System.Drawing.Size(39, 23);
this.button_AddClass.TabIndex = 15;
this.button_AddClass.Text = "Add";
this.button_AddClass.UseVisualStyleBackColor = true;
this.button_AddClass.Click += new System.EventHandler(this.button_AddClass_Click);
//
// textBox_AddBase
//
this.textBox_AddBase.Location = new System.Drawing.Point(228, 184);
this.textBox_AddBase.Name = "textBox_AddBase";
this.textBox_AddBase.Size = new System.Drawing.Size(121, 20);
this.textBox_AddBase.TabIndex = 16;
//
// button_AddBase
//
this.button_AddBase.Location = new System.Drawing.Point(183, 183);
this.button_AddBase.Name = "button_AddBase";
this.button_AddBase.Size = new System.Drawing.Size(39, 23);
this.button_AddBase.TabIndex = 17;
this.button_AddBase.Text = "Add";
this.button_AddBase.UseVisualStyleBackColor = true;
this.button_AddBase.Click += new System.EventHandler(this.button_AddBase_Click);
//
// dataGridView_Class
//
this.dataGridView_Class.AllowUserToAddRows = false;
this.dataGridView_Class.AllowUserToDeleteRows = false;
this.dataGridView_Class.AllowUserToResizeColumns = false;
this.dataGridView_Class.AllowUserToResizeRows = false;
this.dataGridView_Class.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
this.dataGridView_Class.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView_Class.ColumnHeadersVisible = false;
this.dataGridView_Class.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.col1,
this.col2});
this.dataGridView_Class.Location = new System.Drawing.Point(57, 64);
this.dataGridView_Class.Name = "dataGridView_Class";
this.dataGridView_Class.RowHeadersVisible = false;
this.dataGridView_Class.Size = new System.Drawing.Size(121, 114);
this.dataGridView_Class.TabIndex = 18;
this.dataGridView_Class.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_Class_CellClick);
//
// col1
//
this.col1.HeaderText = "Delete";
this.col1.Name = "col1";
this.col1.Width = 5;
//
// col2
//
this.col2.HeaderText = "Class";
this.col2.Name = "col2";
this.col2.Width = 5;
//
// dataGridView_Base
//
this.dataGridView_Base.AllowUserToAddRows = false;
this.dataGridView_Base.AllowUserToDeleteRows = false;
this.dataGridView_Base.AllowUserToResizeColumns = false;
this.dataGridView_Base.AllowUserToResizeRows = false;
this.dataGridView_Base.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
this.dataGridView_Base.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView_Base.ColumnHeadersVisible = false;
this.dataGridView_Base.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.col01,
this.col02});
this.dataGridView_Base.Location = new System.Drawing.Point(228, 64);
this.dataGridView_Base.Name = "dataGridView_Base";
this.dataGridView_Base.RowHeadersVisible = false;
this.dataGridView_Base.Size = new System.Drawing.Size(121, 114);
this.dataGridView_Base.TabIndex = 19;
this.dataGridView_Base.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGridView_Base_CellClick);
//
// col01
//
this.col01.HeaderText = "Delete";
this.col01.Name = "col01";
this.col01.Width = 5;
//
// col02
//
this.col02.HeaderText = "Base";
this.col02.Name = "col02";
this.col02.Width = 5;
//
// pictureBox_InGame
//
this.pictureBox_InGame.Location = new System.Drawing.Point(119, 228);
this.pictureBox_InGame.Name = "pictureBox_InGame";
this.pictureBox_InGame.Size = new System.Drawing.Size(220, 40);
this.pictureBox_InGame.TabIndex = 20;
this.pictureBox_InGame.TabStop = false;
//
// label5
//
this.label5.AutoSize = true;
this.label5.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.Location = new System.Drawing.Point(194, 212);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(64, 13);
this.label5.TabIndex = 21;
this.label5.Text = "In-Game";
//
// button_Color_Text
//
this.button_Color_Text.Location = new System.Drawing.Point(119, 272);
this.button_Color_Text.Name = "button_Color_Text";
this.button_Color_Text.Size = new System.Drawing.Size(47, 23);
this.button_Color_Text.TabIndex = 22;
this.button_Color_Text.Text = "Text";
this.button_Color_Text.UseVisualStyleBackColor = true;
this.button_Color_Text.Click += new System.EventHandler(this.button_Color_Text_Click);
//
// button_Color_Back
//
this.button_Color_Back.Location = new System.Drawing.Point(187, 272);
this.button_Color_Back.Name = "button_Color_Back";
this.button_Color_Back.Size = new System.Drawing.Size(74, 23);
this.button_Color_Back.TabIndex = 23;
this.button_Color_Back.Text = "Background";
this.button_Color_Back.UseVisualStyleBackColor = true;
this.button_Color_Back.Click += new System.EventHandler(this.button_Color_Back_Click);
//
// button_Color_Border
//
this.button_Color_Border.Location = new System.Drawing.Point(283, 272);
this.button_Color_Border.Name = "button_Color_Border";
this.button_Color_Border.Size = new System.Drawing.Size(56, 23);
this.button_Color_Border.TabIndex = 24;
this.button_Color_Border.Text = "Border";
this.button_Color_Border.UseVisualStyleBackColor = true;
this.button_Color_Border.Click += new System.EventHandler(this.button_Color_Border_Click);
//
// dataGridView_Condition
//
this.dataGridView_Condition.AllowUserToResizeColumns = false;
this.dataGridView_Condition.AllowUserToResizeRows = false;
this.dataGridView_Condition.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dataGridView_Condition.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView_Condition.ColumnHeadersVisible = false;
this.dataGridView_Condition.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.col001,
this.col002,
this.col003});
this.dataGridView_Condition.Location = new System.Drawing.Point(15, 320);
this.dataGridView_Condition.Name = "dataGridView_Condition";
this.dataGridView_Condition.RowHeadersVisible = false;
this.dataGridView_Condition.Size = new System.Drawing.Size(334, 114);
this.dataGridView_Condition.TabIndex = 26;
//
// col001
//
this.col001.HeaderText = "Name";
this.col001.Name = "col001";
//
// col002
//
this.col002.HeaderText = "Operator";
this.col002.Name = "col002";
//
// col003
//
this.col003.HeaderText = "Value";
this.col003.Name = "col003";
//
// label6
//
this.label6.AutoSize = true;
this.label6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.Location = new System.Drawing.Point(12, 304);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(68, 13);
this.label6.TabIndex = 25;
this.label6.Text = "Condition";
//
// dataGridView_Action
//
this.dataGridView_Action.AllowUserToResizeColumns = false;
this.dataGridView_Action.AllowUserToResizeRows = false;
this.dataGridView_Action.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
this.dataGridView_Action.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView_Action.ColumnHeadersVisible = false;
this.dataGridView_Action.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.dataGridViewTextBoxColumn1,
this.dataGridViewTextBoxColumn2,
this.dataGridViewTextBoxColumn3,
this.col004,
this.col005});
this.dataGridView_Action.Location = new System.Drawing.Point(15, 453);
this.dataGridView_Action.Name = "dataGridView_Action";
this.dataGridView_Action.RowHeadersVisible = false;
this.dataGridView_Action.Size = new System.Drawing.Size(334, 114);
this.dataGridView_Action.TabIndex = 28;
//
// dataGridViewTextBoxColumn1
//
this.dataGridViewTextBoxColumn1.HeaderText = "Name";
this.dataGridViewTextBoxColumn1.Name = "dataGridViewTextBoxColumn1";
this.dataGridViewTextBoxColumn1.Width = 21;
//
// dataGridViewTextBoxColumn2
//
this.dataGridViewTextBoxColumn2.HeaderText = "va";
this.dataGridViewTextBoxColumn2.Name = "dataGridViewTextBoxColumn2";
this.dataGridViewTextBoxColumn2.Width = 21;
//
// dataGridViewTextBoxColumn3
//
this.dataGridViewTextBoxColumn3.HeaderText = "vb";
this.dataGridViewTextBoxColumn3.Name = "dataGridViewTextBoxColumn3";
this.dataGridViewTextBoxColumn3.Width = 21;
//
// col004
//
this.col004.HeaderText = "vc";
this.col004.Name = "col004";
this.col004.Width = 21;
//
// col005
//
this.col005.HeaderText = "vd";
this.col005.Name = "col005";
this.col005.Width = 21;
//
// label7
//
this.label7.AutoSize = true;
this.label7.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.Location = new System.Drawing.Point(12, 437);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(48, 13);
this.label7.TabIndex = 27;
this.label7.Text = "Action";
//
// button_Save
//
this.button_Save.Location = new System.Drawing.Point(15, 576);
this.button_Save.Name = "button_Save";
this.button_Save.Size = new System.Drawing.Size(163, 23);
this.button_Save.TabIndex = 29;
this.button_Save.Text = "Save";
this.button_Save.UseVisualStyleBackColor = true;
this.button_Save.Click += new System.EventHandler(this.button_Save_Click);
//
// comboBox_FontSize
//
this.comboBox_FontSize.FormattingEnabled = true;
this.comboBox_FontSize.Location = new System.Drawing.Point(57, 237);
this.comboBox_FontSize.Name = "comboBox_FontSize";
this.comboBox_FontSize.Size = new System.Drawing.Size(47, 21);
this.comboBox_FontSize.TabIndex = 30;
this.comboBox_FontSize.SelectedIndexChanged += new System.EventHandler(this.comboBox_FontSize_SelectedIndexChanged);
//
// label8
//
this.label8.AutoSize = true;
this.label8.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.Location = new System.Drawing.Point(12, 240);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(36, 13);
this.label8.TabIndex = 31;
this.label8.Text = "Font";
//
// button_Text_Copy
//
this.button_Text_Copy.Location = new System.Drawing.Point(119, 294);
this.button_Text_Copy.Name = "button_Text_Copy";
this.button_Text_Copy.Size = new System.Drawing.Size(20, 23);
this.button_Text_Copy.TabIndex = 32;
this.button_Text_Copy.Text = "C";
this.button_Text_Copy.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Text_Copy.UseVisualStyleBackColor = true;
this.button_Text_Copy.Click += new System.EventHandler(this.button_Text_Copy_Click);
//
// button_Text_Paste
//
this.button_Text_Paste.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button_Text_Paste.Location = new System.Drawing.Point(146, 294);
this.button_Text_Paste.Name = "button_Text_Paste";
this.button_Text_Paste.Size = new System.Drawing.Size(20, 23);
this.button_Text_Paste.TabIndex = 33;
this.button_Text_Paste.Text = "P";
this.button_Text_Paste.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Text_Paste.UseVisualStyleBackColor = true;
this.button_Text_Paste.Click += new System.EventHandler(this.button_Text_Paste_Click);
//
// button_Back_Paste
//
this.button_Back_Paste.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button_Back_Paste.Location = new System.Drawing.Point(241, 294);
this.button_Back_Paste.Name = "button_Back_Paste";
this.button_Back_Paste.Size = new System.Drawing.Size(20, 23);
this.button_Back_Paste.TabIndex = 35;
this.button_Back_Paste.Text = "P";
this.button_Back_Paste.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Back_Paste.UseVisualStyleBackColor = true;
this.button_Back_Paste.Click += new System.EventHandler(this.button_Back_Paste_Click);
//
// button_Back_Copy
//
this.button_Back_Copy.Location = new System.Drawing.Point(187, 294);
this.button_Back_Copy.Name = "button_Back_Copy";
this.button_Back_Copy.Size = new System.Drawing.Size(20, 23);
this.button_Back_Copy.TabIndex = 34;
this.button_Back_Copy.Text = "C";
this.button_Back_Copy.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Back_Copy.UseVisualStyleBackColor = true;
this.button_Back_Copy.Click += new System.EventHandler(this.button_Back_Copy_Click);
//
// button_Border_Paste
//
this.button_Border_Paste.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.button_Border_Paste.Location = new System.Drawing.Point(319, 294);
this.button_Border_Paste.Name = "button_Border_Paste";
this.button_Border_Paste.Size = new System.Drawing.Size(20, 23);
this.button_Border_Paste.TabIndex = 37;
this.button_Border_Paste.Text = "P";
this.button_Border_Paste.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Border_Paste.UseVisualStyleBackColor = true;
this.button_Border_Paste.Click += new System.EventHandler(this.button_Border_Paste_Click);
//
// button_Border_Copy
//
this.button_Border_Copy.Location = new System.Drawing.Point(283, 294);
this.button_Border_Copy.Name = "button_Border_Copy";
this.button_Border_Copy.Size = new System.Drawing.Size(20, 23);
this.button_Border_Copy.TabIndex = 36;
this.button_Border_Copy.Text = "C";
this.button_Border_Copy.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.button_Border_Copy.UseVisualStyleBackColor = true;
this.button_Border_Copy.Click += new System.EventHandler(this.button_Border_Copy_Click);
//
// button_Close
//
this.button_Close.Location = new System.Drawing.Point(186, 576);
this.button_Close.Name = "button_Close";
this.button_Close.Size = new System.Drawing.Size(163, 23);
this.button_Close.TabIndex = 38;
this.button_Close.Text = "Close";
this.button_Close.UseVisualStyleBackColor = true;
this.button_Close.Click += new System.EventHandler(this.button_Close_Click);
//
// BlockForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(355, 605);
this.Controls.Add(this.button_Close);
this.Controls.Add(this.button_Border_Paste);
this.Controls.Add(this.button_Border_Copy);
this.Controls.Add(this.button_Back_Paste);
this.Controls.Add(this.button_Back_Copy);
this.Controls.Add(this.button_Text_Paste);
this.Controls.Add(this.button_Text_Copy);
this.Controls.Add(this.label8);
this.Controls.Add(this.comboBox_FontSize);
this.Controls.Add(this.button_Save);
this.Controls.Add(this.dataGridView_Action);
this.Controls.Add(this.label7);
this.Controls.Add(this.dataGridView_Condition);
this.Controls.Add(this.label6);
this.Controls.Add(this.button_Color_Border);
this.Controls.Add(this.button_Color_Back);
this.Controls.Add(this.button_Color_Text);
this.Controls.Add(this.label5);
this.Controls.Add(this.pictureBox_InGame);
this.Controls.Add(this.dataGridView_Base);
this.Controls.Add(this.dataGridView_Class);
this.Controls.Add(this.button_AddBase);
this.Controls.Add(this.textBox_AddBase);
this.Controls.Add(this.button_AddClass);
this.Controls.Add(this.textBox_AddClass);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.comboBox_Show);
this.Controls.Add(this.comboBox_Type);
this.Controls.Add(this.label1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "BlockForm";
this.Text = "Block Editor";
this.Load += new System.EventHandler(this.BlockForm_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Class)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Base)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox_InGame)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Condition)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dataGridView_Action)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.ComboBox comboBox_Type;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox comboBox_Show;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox textBox_AddClass;
private System.Windows.Forms.Button button_AddClass;
private System.Windows.Forms.TextBox textBox_AddBase;
private System.Windows.Forms.Button button_AddBase;
private System.Windows.Forms.DataGridView dataGridView_Class;
private System.Windows.Forms.DataGridView dataGridView_Base;
private System.Windows.Forms.PictureBox pictureBox_InGame;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Button button_Color_Text;
private System.Windows.Forms.Button button_Color_Back;
private System.Windows.Forms.Button button_Color_Border;
private System.Windows.Forms.DataGridView dataGridView_Condition;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.DataGridViewImageColumn col1;
private System.Windows.Forms.DataGridViewTextBoxColumn col2;
private System.Windows.Forms.DataGridViewImageColumn col01;
private System.Windows.Forms.DataGridViewTextBoxColumn col02;
private System.Windows.Forms.DataGridViewTextBoxColumn col001;
private System.Windows.Forms.DataGridViewTextBoxColumn col002;
private System.Windows.Forms.DataGridViewTextBoxColumn col003;
private System.Windows.Forms.DataGridView dataGridView_Action;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Button button_Save;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn1;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn2;
private System.Windows.Forms.DataGridViewTextBoxColumn dataGridViewTextBoxColumn3;
private System.Windows.Forms.DataGridViewTextBoxColumn col004;
private System.Windows.Forms.DataGridViewTextBoxColumn col005;
private System.Windows.Forms.ComboBox comboBox_FontSize;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Button button_Text_Copy;
private System.Windows.Forms.Button button_Text_Paste;
private System.Windows.Forms.Button button_Back_Paste;
private System.Windows.Forms.Button button_Back_Copy;
private System.Windows.Forms.Button button_Border_Paste;
private System.Windows.Forms.Button button_Border_Copy;
private System.Windows.Forms.Button button_Close;
}
}

341
Filsonator/BlockForm.cs Normal file
View File

@ -0,0 +1,341 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using static Filsonator.MainForm;
using static System.Net.Mime.MediaTypeNames;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TrayNotify;
using Image = System.Drawing.Image;
namespace Filsonator
{
public partial class BlockForm : Form
{
public static Image imgDel = Image.FromFile(@"img\delete.png");
public static string[] TextColor;
public static new string[] BackColor;
public static string[] BorderColor;
public static Color text;
public static Color background;
public static Color border;
public string textRGB;
public string backgroundRGB;
public string borderRGB;
public static int fSize = 0;
private MainForm mF;
public BlockForm(MainForm mainForm)
{
InitializeComponent();
mF = mainForm;
}
private void BlockForm_Load(object sender, EventArgs e)
{
button_Text_Paste.ForeColor = MainForm.textSaved;
RootBlocks b = JsonConvert.DeserializeObject<RootBlocks>(File.ReadAllText($@"filson\{MainForm.blockFile}"));
var bl = b.blocks[MainForm.blockIndex];
//// Type
comboBox_Type.Items.Add("All");
comboBox_Type.Items.Add("Normal");
comboBox_Type.Items.Add("Strict");
comboBox_Type.Text = bl.Type;
//// Show
comboBox_Show.Items.Add("True");
comboBox_Show.Items.Add("False");
comboBox_Show.Text = bl.Show.ToString();
//// Class
foreach (var c in bl.Class)
{
dataGridView_Class.Rows.Add(imgDel, c);
}
//// Base
foreach (var c in bl.BaseType)
{
dataGridView_Base.Rows.Add(imgDel, c);
}
//// Font Size
comboBox_FontSize.Items.Add("45");
comboBox_FontSize.Items.Add("40");
comboBox_FontSize.Items.Add("38");
comboBox_FontSize.Items.Add("35");
comboBox_FontSize.Items.Add("33");
comboBox_FontSize.Items.Add("30");
comboBox_FontSize.Items.Add("25");
comboBox_FontSize.Text = bl.SetFontSize;
//// In-Game Image
TextColor = bl.SetTextColor[0].Split(' ');
BackColor = bl.SetBackgroundColor[0].Split(' ');
BorderColor = bl.SetBorderColor[0].Split(' ');
fSize = Convert.ToInt16(bl.SetFontSize);
text = Color.FromArgb(Convert.ToInt16(TextColor[0]), Convert.ToInt16(TextColor[1]), Convert.ToInt16(TextColor[2]));
background = Color.FromArgb(Convert.ToInt16(BackColor[0]), Convert.ToInt16(BackColor[1]), Convert.ToInt16(BackColor[2]));
border = Color.FromArgb(Convert.ToInt16(BorderColor[0]), Convert.ToInt16(BorderColor[1]), Convert.ToInt16(BorderColor[2]));
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, background, border, Convert.ToInt16(bl.SetFontSize));
//// Condition
foreach (var c in bl.Conditions)
{
dataGridView_Condition.Rows.Add(c.name, c.op, c.value);
}
//// Action
foreach (var a in bl.Actions)
{
dataGridView_Action.Rows.Add(a.name, a.va, a.vb, a.vc, a.vd);
}
}
private void dataGridView_Class_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView_Class.CurrentCell.ColumnIndex.Equals(0))
{
dataGridView_Class.Rows.RemoveAt(dataGridView_Class.CurrentRow.Index);
}
}
private void dataGridView_Base_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGridView_Base.CurrentCell.ColumnIndex.Equals(0))
{
dataGridView_Base.Rows.RemoveAt(dataGridView_Base.CurrentRow.Index);
}
}
private void button_AddClass_Click(object sender, EventArgs e)
{
if (textBox_AddClass.Text != null)
{
dataGridView_Class.Rows.Add(imgDel, textBox_AddClass.Text);
textBox_AddClass.Text = "";
}
}
private void button_AddBase_Click(object sender, EventArgs e)
{
if (textBox_AddBase.Text != null)
{
dataGridView_Base.Rows.Add(imgDel, textBox_AddBase.Text);
textBox_AddBase.Text = "";
}
}
private void button_Color_Text_Click(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.AllowFullOpen = true;
colorDlg.AnyColor = true;
colorDlg.SolidColorOnly = false;
colorDlg.Color = text;
if (colorDlg.ShowDialog() == DialogResult.OK)
{
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(colorDlg.Color, background, border, fSize);
text = colorDlg.Color;
}
}
private void button_Color_Back_Click(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.AllowFullOpen = true;
colorDlg.AnyColor = true;
colorDlg.SolidColorOnly = false;
colorDlg.Color = background;
if (colorDlg.ShowDialog() == DialogResult.OK)
{
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, colorDlg.Color, border, fSize);
background = colorDlg.Color;
}
}
private void button_Color_Border_Click(object sender, EventArgs e)
{
ColorDialog colorDlg = new ColorDialog();
colorDlg.AllowFullOpen = true;
colorDlg.AnyColor = true;
colorDlg.SolidColorOnly = false;
colorDlg.Color = border;
if (colorDlg.ShowDialog() == DialogResult.OK)
{
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, background, colorDlg.Color, fSize);
border = colorDlg.Color;
}
}
private void comboBox_FontSize_SelectedIndexChanged(object sender, EventArgs e)
{
fSize = Convert.ToInt16(comboBox_FontSize.Text);
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, background, border, fSize);
}
private void button_Save_Click(object sender, EventArgs e)
{
//// Write to the selected json file
string json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
//// Type
jo["blocks"][MainForm.blockIndex]["Type"] = comboBox_Type.Text;
//// Show
jo["blocks"][MainForm.blockIndex]["Show"] = comboBox_Show.Text;
//// Class
if (dataGridView_Class.Rows.Count >= 1)
{
JArray classes = new JArray();
foreach (DataGridViewRow row in dataGridView_Class.Rows)
{
classes.Add(row.Cells[1].Value.ToString());
}
jo["blocks"][MainForm.blockIndex]["Class"] = classes;
}
//// Base
if (dataGridView_Base.Rows.Count >= 1)
{
JArray bases = new JArray();
foreach (DataGridViewRow row in dataGridView_Base.Rows)
{
bases.Add(row.Cells[1].Value.ToString());
}
jo["blocks"][MainForm.blockIndex]["BaseType"] = bases;
}
//// SetTextColor
JArray textColor = new JArray();
textColor.Add($"{text.R} {text.G} {text.B}");
jo["blocks"][MainForm.blockIndex]["SetTextColor"] = textColor;
//// SetBackgroundColor
JArray backColor = new JArray();
backColor.Add($"{background.R} {background.G} {background.B}");
jo["blocks"][MainForm.blockIndex]["SetBackgroundColor"] = backColor;
//// SetBorderColor
JArray borderColor = new JArray();
borderColor.Add($"{border.R} {border.G} {border.B}");
jo["blocks"][MainForm.blockIndex]["SetBorderColor"] = borderColor;
//// Conditions
JArray condition = new JArray();
foreach(DataGridViewRow row in dataGridView_Condition.Rows)
{
JObject cond = JObject.FromObject(new
{
name = row.Cells[0].Value,
op = row.Cells[1].Value,
value = row.Cells[2].Value
});
condition.Add(cond);
}
jo["blocks"][MainForm.blockIndex]["Conditions"] = condition;
//// Actions
JArray actions = new JArray();
foreach (DataGridViewRow row in dataGridView_Action.Rows)
{
JObject bas = JObject.FromObject(new
{
name = row.Cells[0].Value,
va = row.Cells[1].Value,
vb = row.Cells[2].Value,
vc = row.Cells[3].Value,
vd = row.Cells[4].Value
});
actions.Add(bas);
}
jo["blocks"][MainForm.blockIndex]["Actions"] = actions;
//// FontSize
jo["blocks"][MainForm.blockIndex]["SetFontSize"] = comboBox_FontSize.Text;
//// WRITE
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
//// Update Block List
mF.UpdateBlockList();
//// Done
this.Close();
}
private void button_Text_Copy_Click(object sender, EventArgs e)
{
RootBlocks b = JsonConvert.DeserializeObject<RootBlocks>(File.ReadAllText($@"filson\{MainForm.blockFile}"));
var bl = b.blocks[MainForm.blockIndex];
TextColor = bl.SetTextColor[0].Split(' ');
MainForm.textSaved = Color.FromArgb(Convert.ToInt16(TextColor[0]), Convert.ToInt16(TextColor[1]), Convert.ToInt16(TextColor[2]));
button_Text_Paste.ForeColor = Color.FromArgb(Convert.ToInt16(TextColor[0]), Convert.ToInt16(TextColor[1]), Convert.ToInt16(TextColor[2]));
}
private void button_Text_Paste_Click(object sender, EventArgs e)
{
//// Write to the selected json file
string json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
JArray textColor = new JArray();
textColor.Add($"{MainForm.textSaved.R} {MainForm.textSaved.G} {MainForm.textSaved.B}");
jo["blocks"][MainForm.blockIndex]["SetTextColor"] = textColor;
//// WRITE
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
mF.UpdateBlockList();
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(MainForm.textSaved, background, border, fSize);
text = MainForm.textSaved;
}
private void button_Back_Copy_Click(object sender, EventArgs e)
{
RootBlocks b = JsonConvert.DeserializeObject<RootBlocks>(File.ReadAllText($@"filson\{MainForm.blockFile}"));
var bl = b.blocks[MainForm.blockIndex];
BackColor = bl.SetBackgroundColor[0].Split(' ');
MainForm.backSaved = Color.FromArgb(Convert.ToInt16(BackColor[0]), Convert.ToInt16(BackColor[1]), Convert.ToInt16(BackColor[2]));
button_Back_Paste.ForeColor = Color.FromArgb(Convert.ToInt16(BackColor[0]), Convert.ToInt16(BackColor[1]), Convert.ToInt16(BackColor[2]));
}
private void button_Back_Paste_Click(object sender, EventArgs e)
{
//// Write to the selected json file
string json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
JArray backColor = new JArray();
backColor.Add($"{MainForm.backSaved.R} {MainForm.backSaved.G} {MainForm.backSaved.B}");
jo["blocks"][MainForm.blockIndex]["SetBackgroundColor"] = backColor;
//// WRITE
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
mF.UpdateBlockList();
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, MainForm.backSaved, border, fSize);
background = MainForm.backSaved;
}
private void button_Border_Copy_Click(object sender, EventArgs e)
{
RootBlocks b = JsonConvert.DeserializeObject<RootBlocks>(File.ReadAllText($@"filson\{MainForm.blockFile}"));
var bl = b.blocks[MainForm.blockIndex];
BorderColor = bl.SetBorderColor[0].Split(' ');
MainForm.borderSaved = Color.FromArgb(Convert.ToInt16(BorderColor[0]), Convert.ToInt16(BorderColor[1]), Convert.ToInt16(BorderColor[2]));
button_Border_Paste.ForeColor = Color.FromArgb(Convert.ToInt16(BorderColor[0]), Convert.ToInt16(BorderColor[1]), Convert.ToInt16(BorderColor[2]));
}
private void button_Border_Paste_Click(object sender, EventArgs e)
{
//// Write to the selected json file
string json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
JArray borderColor = new JArray();
borderColor.Add($"{MainForm.borderSaved.R} {MainForm.borderSaved.G} {MainForm.borderSaved.B}");
jo["blocks"][MainForm.blockIndex]["SetBorderColor"] = borderColor;
//// WRITE
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
mF.UpdateBlockList();
pictureBox_InGame.Image = Utilities.Draw.DrawBlock(text, background, MainForm.backSaved, fSize);
border = MainForm.backSaved;
}
private void button_Close_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

1873
Filsonator/BlockForm.resx Normal file

File diff suppressed because it is too large Load Diff

BIN
Filsonator/Divine.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

View File

@ -0,0 +1,105 @@
<?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>{133A0830-A421-486B-90FA-8D77C16C7ADF}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>Filsonator</RootNamespace>
<AssemblyName>Filsonator</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>iconb.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="BlockForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="BlockForm.Designer.cs">
<DependentUpon>BlockForm.cs</DependentUpon>
</Compile>
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Utilities\Draw.cs" />
<EmbeddedResource Include="BlockForm.resx">
<DependentUpon>BlockForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="App.config" />
</ItemGroup>
<ItemGroup>
<Content Include="Divine.ico" />
<Content Include="icon.ico" />
<Content Include="iconb.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

352
Filsonator/MainForm.Designer.cs generated Normal file
View File

@ -0,0 +1,352 @@
namespace Filsonator
{
partial class MainForm
{
/// <summary>
/// Variable nécessaire au concepteur.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
/// <param name="disposing">true si les ressources managées doivent être supprimées ; sinon, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Code généré par le Concepteur Windows Form
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.dataGrid_Main_BlockList = new System.Windows.Forms.DataGridView();
this.colindex = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.coldel = new System.Windows.Forms.DataGridViewImageColumn();
this.col0 = new System.Windows.Forms.DataGridViewImageColumn();
this.col1 = new System.Windows.Forms.DataGridViewImageColumn();
this.col2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.col9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.comboBox_FilsonFiles = new System.Windows.Forms.ComboBox();
this.label1 = new System.Windows.Forms.Label();
this.statusStrip_Main = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel_Main_Label = new System.Windows.Forms.ToolStripStatusLabel();
this.button_Generate = new System.Windows.Forms.Button();
this.button_Save = new System.Windows.Forms.Button();
this.button_AddBlock = new System.Windows.Forms.Button();
this.button_Compile = new System.Windows.Forms.Button();
this.button1 = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGrid_Main_BlockList)).BeginInit();
this.statusStrip_Main.SuspendLayout();
this.SuspendLayout();
//
// dataGrid_Main_BlockList
//
this.dataGrid_Main_BlockList.AllowDrop = true;
this.dataGrid_Main_BlockList.AllowUserToAddRows = false;
this.dataGrid_Main_BlockList.AllowUserToDeleteRows = false;
this.dataGrid_Main_BlockList.AllowUserToResizeColumns = false;
this.dataGrid_Main_BlockList.AllowUserToResizeRows = false;
this.dataGrid_Main_BlockList.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.DisplayedCells;
this.dataGrid_Main_BlockList.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGrid_Main_BlockList.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colindex,
this.coldel,
this.col0,
this.col1,
this.col2,
this.col3,
this.col10,
this.col11,
this.col4,
this.col5,
this.col6,
this.col7,
this.col8,
this.col9});
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Window;
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.ControlText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGrid_Main_BlockList.DefaultCellStyle = dataGridViewCellStyle1;
this.dataGrid_Main_BlockList.EnableHeadersVisualStyles = false;
this.dataGrid_Main_BlockList.Location = new System.Drawing.Point(12, 33);
this.dataGrid_Main_BlockList.Name = "dataGrid_Main_BlockList";
this.dataGrid_Main_BlockList.ReadOnly = true;
this.dataGrid_Main_BlockList.RowHeadersVisible = false;
this.dataGrid_Main_BlockList.Size = new System.Drawing.Size(960, 503);
this.dataGrid_Main_BlockList.TabIndex = 0;
this.dataGrid_Main_BlockList.CellClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dataGrid_Main_BlockList_CellClick);
this.dataGrid_Main_BlockList.DragDrop += new System.Windows.Forms.DragEventHandler(this.dataGrid_Main_BlockList_DragDrop);
this.dataGrid_Main_BlockList.DragOver += new System.Windows.Forms.DragEventHandler(this.dataGrid_Main_BlockList_DragOver);
this.dataGrid_Main_BlockList.MouseDown += new System.Windows.Forms.MouseEventHandler(this.dataGrid_Main_BlockList_MouseDown);
this.dataGrid_Main_BlockList.MouseMove += new System.Windows.Forms.MouseEventHandler(this.dataGrid_Main_BlockList_MouseMove);
//
// colindex
//
this.colindex.HeaderText = "index";
this.colindex.Name = "colindex";
this.colindex.ReadOnly = true;
this.colindex.Visible = false;
this.colindex.Width = 38;
//
// coldel
//
this.coldel.HeaderText = "Delete";
this.coldel.Name = "coldel";
this.coldel.ReadOnly = true;
this.coldel.Width = 44;
//
// col0
//
this.col0.HeaderText = "Edit";
this.col0.Name = "col0";
this.col0.ReadOnly = true;
this.col0.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.col0.Width = 31;
//
// col1
//
this.col1.HeaderText = "In-Game";
this.col1.Name = "col1";
this.col1.ReadOnly = true;
this.col1.Width = 53;
//
// col2
//
this.col2.HeaderText = "Type";
this.col2.Name = "col2";
this.col2.ReadOnly = true;
this.col2.Width = 56;
//
// col3
//
this.col3.HeaderText = "Visibility";
this.col3.Name = "col3";
this.col3.ReadOnly = true;
this.col3.Width = 68;
//
// col10
//
this.col10.HeaderText = "Condition(s)";
this.col10.Name = "col10";
this.col10.ReadOnly = true;
this.col10.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.col10.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.col10.Width = 68;
//
// col11
//
this.col11.HeaderText = "Actions";
this.col11.Name = "col11";
this.col11.ReadOnly = true;
this.col11.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.col11.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
this.col11.Width = 48;
//
// col4
//
this.col4.HeaderText = "Class";
this.col4.Name = "col4";
this.col4.ReadOnly = true;
this.col4.Width = 57;
//
// col5
//
this.col5.HeaderText = "Base";
this.col5.Name = "col5";
this.col5.ReadOnly = true;
this.col5.Width = 56;
//
// col6
//
this.col6.HeaderText = "TextColor";
this.col6.Name = "col6";
this.col6.ReadOnly = true;
this.col6.Visible = false;
this.col6.Width = 77;
//
// col7
//
this.col7.HeaderText = "Background";
this.col7.Name = "col7";
this.col7.ReadOnly = true;
this.col7.Visible = false;
this.col7.Width = 90;
//
// col8
//
this.col8.HeaderText = "Border";
this.col8.Name = "col8";
this.col8.ReadOnly = true;
this.col8.Visible = false;
this.col8.Width = 63;
//
// col9
//
this.col9.HeaderText = "Font";
this.col9.Name = "col9";
this.col9.ReadOnly = true;
this.col9.Width = 53;
//
// comboBox_FilsonFiles
//
this.comboBox_FilsonFiles.FormattingEnabled = true;
this.comboBox_FilsonFiles.Location = new System.Drawing.Point(124, 6);
this.comboBox_FilsonFiles.Name = "comboBox_FilsonFiles";
this.comboBox_FilsonFiles.Size = new System.Drawing.Size(179, 21);
this.comboBox_FilsonFiles.TabIndex = 1;
this.comboBox_FilsonFiles.SelectedIndexChanged += new System.EventHandler(this.comboBox_FilsonFiles_SelectedIndexChanged);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(12, 9);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(106, 13);
this.label1.TabIndex = 2;
this.label1.Text = "Select a Filson:";
//
// statusStrip_Main
//
this.statusStrip_Main.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel_Main_Label});
this.statusStrip_Main.Location = new System.Drawing.Point(0, 539);
this.statusStrip_Main.Name = "statusStrip_Main";
this.statusStrip_Main.Size = new System.Drawing.Size(984, 22);
this.statusStrip_Main.TabIndex = 3;
this.statusStrip_Main.Text = "statusStrip1";
//
// toolStripStatusLabel_Main_Label
//
this.toolStripStatusLabel_Main_Label.Name = "toolStripStatusLabel_Main_Label";
this.toolStripStatusLabel_Main_Label.Size = new System.Drawing.Size(118, 17);
this.toolStripStatusLabel_Main_Label.Text = "toolStripStatusLabel1";
//
// button_Generate
//
this.button_Generate.Location = new System.Drawing.Point(897, 6);
this.button_Generate.Name = "button_Generate";
this.button_Generate.Size = new System.Drawing.Size(75, 23);
this.button_Generate.TabIndex = 4;
this.button_Generate.Text = "Generate";
this.button_Generate.UseVisualStyleBackColor = true;
this.button_Generate.Click += new System.EventHandler(this.button_Generate_Click);
//
// button_Save
//
this.button_Save.Location = new System.Drawing.Point(309, 5);
this.button_Save.Name = "button_Save";
this.button_Save.Size = new System.Drawing.Size(50, 23);
this.button_Save.TabIndex = 5;
this.button_Save.Text = "Save";
this.button_Save.UseVisualStyleBackColor = true;
this.button_Save.Click += new System.EventHandler(this.button_Save_Click);
//
// button_AddBlock
//
this.button_AddBlock.Location = new System.Drawing.Point(365, 5);
this.button_AddBlock.Name = "button_AddBlock";
this.button_AddBlock.Size = new System.Drawing.Size(50, 23);
this.button_AddBlock.TabIndex = 6;
this.button_AddBlock.Text = "Add";
this.button_AddBlock.UseVisualStyleBackColor = true;
this.button_AddBlock.Click += new System.EventHandler(this.button_AddBlock_Click);
//
// button_Compile
//
this.button_Compile.Location = new System.Drawing.Point(816, 6);
this.button_Compile.Name = "button_Compile";
this.button_Compile.Size = new System.Drawing.Size(75, 23);
this.button_Compile.TabIndex = 7;
this.button_Compile.Text = "Compile";
this.button_Compile.UseVisualStyleBackColor = true;
this.button_Compile.Click += new System.EventHandler(this.button_Compile_Click);
//
// button1
//
this.button1.Enabled = false;
this.button1.Location = new System.Drawing.Point(421, 5);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 8;
this.button1.Text = "Structure";
this.button1.UseVisualStyleBackColor = true;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(984, 561);
this.Controls.Add(this.button1);
this.Controls.Add(this.button_Compile);
this.Controls.Add(this.button_AddBlock);
this.Controls.Add(this.button_Save);
this.Controls.Add(this.button_Generate);
this.Controls.Add(this.statusStrip_Main);
this.Controls.Add(this.label1);
this.Controls.Add(this.comboBox_FilsonFiles);
this.Controls.Add(this.dataGrid_Main_BlockList);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "MainForm";
this.Text = "Filsonator";
this.Load += new System.EventHandler(this.MainForm_Load);
((System.ComponentModel.ISupportInitialize)(this.dataGrid_Main_BlockList)).EndInit();
this.statusStrip_Main.ResumeLayout(false);
this.statusStrip_Main.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.DataGridView dataGrid_Main_BlockList;
private System.Windows.Forms.ComboBox comboBox_FilsonFiles;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.StatusStrip statusStrip_Main;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel_Main_Label;
private System.Windows.Forms.Button button_Generate;
private System.Windows.Forms.Button button_Save;
private System.Windows.Forms.Button button_AddBlock;
private System.Windows.Forms.DataGridViewTextBoxColumn colindex;
private System.Windows.Forms.DataGridViewImageColumn coldel;
private System.Windows.Forms.DataGridViewImageColumn col0;
private System.Windows.Forms.DataGridViewImageColumn col1;
private System.Windows.Forms.DataGridViewTextBoxColumn col2;
private System.Windows.Forms.DataGridViewTextBoxColumn col3;
private System.Windows.Forms.DataGridViewTextBoxColumn col10;
private System.Windows.Forms.DataGridViewTextBoxColumn col11;
private System.Windows.Forms.DataGridViewTextBoxColumn col4;
private System.Windows.Forms.DataGridViewTextBoxColumn col5;
private System.Windows.Forms.DataGridViewTextBoxColumn col6;
private System.Windows.Forms.DataGridViewTextBoxColumn col7;
private System.Windows.Forms.DataGridViewTextBoxColumn col8;
private System.Windows.Forms.DataGridViewTextBoxColumn col9;
private System.Windows.Forms.Button button_Compile;
private System.Windows.Forms.Button button1;
}
}

490
Filsonator/MainForm.cs Normal file
View File

@ -0,0 +1,490 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Diagnostics.Eventing.Reader;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.NetworkInformation;
using System.Runtime.InteropServices;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Xml.Linq;
using static Filsonator.MainForm;
using static System.Net.Mime.MediaTypeNames;
using static System.Windows.Forms.VisualStyles.VisualStyleElement.TrayNotify;
namespace Filsonator
{
public partial class MainForm : Form
{
public class Block
{
public string Type { get; set; }
public bool Show { get; set; }
public List<string> Class { get; set; }
public List<string> BaseType { get; set; }
public List<string> SetTextColor { get; set; }
public List<string> SetBackgroundColor { get; set; }
public List<string> SetBorderColor { get; set; }
public string SetFontSize { get; set; }
public List<Condition> Conditions { get; set; }
public List<Action> Actions { get; set; }
}
public class Condition
{
public string name { get; set; }
public string op { get; set; }
public string value { get; set; }
}
public class Action
{
public string name { get; set; }
public string va { get; set; }
public string vb { get; set; }
public string vc { get; set; }
public string vd { get; set; }
}
public class RootBlocks
{
public List<Block> blocks { get; set; }
}
public static string version = "1.0.0";
public static string revision = "#532g23hj";
public static int blockIndex = 0;
public static string blockFile = "";
public static Color textSaved = Color.Black;
public static Color backSaved;
public static Color borderSaved;
public static string jSType = "";
public static string jSShow = "";
public static JArray jLClass = new JArray();
public static JArray jLBaseType = new JArray();
public static JArray jLSetTextColor = new JArray();
public static JArray jLSetBackgroundColor = new JArray();
public static JArray jLSetBorderColor = new JArray();
public static string jSFontSize = "";
public static JArray jAConditions = new JArray();
public static JArray jAActions = new JArray();
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
this.Text = $"Filsonator v{version}";
toolStripStatusLabel_Main_Label.Text = $"Dev by mikx (mxpoe.ovh)";
Color cellback = ColorTranslator.FromHtml("#1c1c1c");
Color cellborder = ColorTranslator.FromHtml("#242424");
Color cellheader = ColorTranslator.FromHtml("#1f1f1f");
dataGrid_Main_BlockList.DefaultCellStyle.BackColor = cellback;
dataGrid_Main_BlockList.DefaultCellStyle.SelectionBackColor = cellback;
dataGrid_Main_BlockList.DefaultCellStyle.ForeColor = Color.White;
dataGrid_Main_BlockList.GridColor = cellborder;
dataGrid_Main_BlockList.EnableHeadersVisualStyles = false;
dataGrid_Main_BlockList.ColumnHeadersDefaultCellStyle.BackColor = cellheader;
dataGrid_Main_BlockList.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
/// Populate the combobox with the filson files
var ff = Directory.GetFiles("filson");
foreach ( var f in ff )
{
string fn = Path.GetFileName(f);
comboBox_FilsonFiles.Items.Add(fn);
}
}
private void comboBox_FilsonFiles_SelectedIndexChanged(object sender, EventArgs e)
{
UpdateBlockList();
}
private void dataGrid_Main_BlockList_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (dataGrid_Main_BlockList.CurrentCell.ColumnIndex.Equals(1))
{
DialogResult dr = MessageBox.Show("Sould we delete this block?", "Confirmation", MessageBoxButtons.YesNo);
if (dr == DialogResult.Yes)
{
dataGrid_Main_BlockList.Rows.RemoveAt(dataGrid_Main_BlockList.CurrentRow.Index);
}
else if (DialogResult == DialogResult.No)
{
//Nothing to do
}
}
if (dataGrid_Main_BlockList.CurrentCell.ColumnIndex.Equals(2))
{
blockIndex = Convert.ToInt16(dataGrid_Main_BlockList.CurrentRow.Cells[0].Value);
blockFile = comboBox_FilsonFiles.Text;
BlockForm bf = new BlockForm(this);
bf.Show();
}
}
public void UpdateBlockList()
{
dataGrid_Main_BlockList.Rows.Clear();
dataGrid_Main_BlockList.RowTemplate.Height = 40;
blockFile = comboBox_FilsonFiles.Text;
RootBlocks bl = JsonConvert.DeserializeObject<RootBlocks>(File.ReadAllText($@"filson\{comboBox_FilsonFiles.Text}"));
toolStripStatusLabel_Main_Label.Text = $"{bl.blocks.Count} Blocks";
int max = bl.blocks.Count;
int current = 0;
string classes = "";
string bases = "";
foreach (var b in bl.blocks)
{
foreach (var cl in b.Class)
{
classes += $"{cl} ";
}
foreach (var ba in b.BaseType)
{
bases += $"{ba} ";
}
string[] TextColor = b.SetTextColor[0].Split(' ');
string[] BackColor = b.SetBackgroundColor[0].Split(' ');
string[] BorderColor = b.SetBorderColor[0].Split(' ');
Color text = Color.FromArgb(Convert.ToInt16(TextColor[0]), Convert.ToInt16(TextColor[1]), Convert.ToInt16(TextColor[2]));
Color background = Color.FromArgb(Convert.ToInt16(BackColor[0]), Convert.ToInt16(BackColor[1]), Convert.ToInt16(BackColor[2]));
Color border = Color.FromArgb(Convert.ToInt16(BorderColor[0]), Convert.ToInt16(BorderColor[1]), Convert.ToInt16(BorderColor[2]));
string conditionsMulti = "";
foreach (var c in b.Conditions)
{
conditionsMulti += $"{c.name} {c.op} {c.value}{Environment.NewLine}";
}
string actionsMulti = "";
foreach (var a in b.Actions)
{
actionsMulti += $"{a.name} {a.va} {a.vb} {a.vc} {a.vd}{Environment.NewLine}";
}
dataGrid_Main_BlockList.Columns[6].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGrid_Main_BlockList.Columns["col10"].MinimumWidth = 100;
dataGrid_Main_BlockList.Columns[7].DefaultCellStyle.WrapMode = DataGridViewTriState.True;
dataGrid_Main_BlockList.Columns["col11"].MinimumWidth = 100;
dataGrid_Main_BlockList.Rows.Add(current, System.Drawing.Image.FromFile(@"img\deletelist.png"), System.Drawing.Image.FromFile(@"img\ListEdit.png"), Utilities.Draw.DrawBlock(text, background, border, Convert.ToInt16(b.SetFontSize)), b.Type, b.Show, conditionsMulti, actionsMulti, classes, bases, b.SetTextColor[0], b.SetBackgroundColor[0], b.SetBorderColor[0], b.SetFontSize);
current++;
classes = "";
bases = "";
}
}
public void UpdateBlockOrder()
{
}
private void button_Generate_Click(object sender, EventArgs e)
{
Process p = new Process();
p.StartInfo.FileName = "mxfiltergen.exe";
p.Start();
this.Close();
}
private void button_Compile_Click(object sender, EventArgs e)
{
Process p = new Process();
p.StartInfo.FileName = "mxfiltergen.exe";
p.StartInfo.Arguments = "--compile";
p.Start();
this.Close();
}
private Rectangle dragBoxFromMouseDown;
private int rowIndexFromMouseDown;
private int rowIndexOfItemUnderMouseToDrop;
private void dataGrid_Main_BlockList_MouseMove(object sender, MouseEventArgs e)
{
if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
{
// If the mouse moves outside the rectangle, start the drag.
if (dragBoxFromMouseDown != Rectangle.Empty &&
!dragBoxFromMouseDown.Contains(e.X, e.Y))
{
// Proceed with the drag and drop, passing in the list item.
DragDropEffects dropEffect = dataGrid_Main_BlockList.DoDragDrop(
dataGrid_Main_BlockList.Rows[rowIndexFromMouseDown],
DragDropEffects.Move);
}
}
}
private void dataGrid_Main_BlockList_MouseDown(object sender, MouseEventArgs e)
{
// Get the index of the item the mouse is below.
rowIndexFromMouseDown = dataGrid_Main_BlockList.HitTest(e.X, e.Y).RowIndex;
if (rowIndexFromMouseDown != -1)
{
// Remember the point where the mouse down occurred.
// The DragSize indicates the size that the mouse can move
// before a drag event should be started.
Size dragSize = SystemInformation.DragSize;
// Create a rectangle using the DragSize, with the mouse position being
// at the center of the rectangle.
dragBoxFromMouseDown = new Rectangle(
new Point(
e.X - (dragSize.Width / 2),
e.Y - (dragSize.Height / 2)),
dragSize);
}
else
// Reset the rectangle if the mouse is not over an item in the ListBox.
dragBoxFromMouseDown = Rectangle.Empty;
}
private void dataGrid_Main_BlockList_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
}
private void dataGrid_Main_BlockList_DragDrop(object sender, DragEventArgs e)
{
// The mouse locations are relative to the screen, so they must be
// converted to client coordinates.
Point clientPoint = dataGrid_Main_BlockList.PointToClient(new Point(e.X, e.Y));
// Get the row index of the item the mouse is below.
rowIndexOfItemUnderMouseToDrop = dataGrid_Main_BlockList.HitTest(clientPoint.X, clientPoint.Y).RowIndex;
// If the drag operation was a move then remove and insert the row.
if (e.Effect == DragDropEffects.Move)
{
DataGridViewRow rowToMove = e.Data.GetData(typeof(DataGridViewRow)) as DataGridViewRow;
dataGrid_Main_BlockList.Rows.RemoveAt(rowIndexFromMouseDown);
dataGrid_Main_BlockList.Rows.Insert(rowIndexOfItemUnderMouseToDrop, rowToMove);
}
}
private void button_Save_Click(object sender, EventArgs e)
{
SaveBlocks();
}
private void button_AddBlock_Click(object sender, EventArgs e)
{
int bc = dataGrid_Main_BlockList.Rows.Count - 1;
int bwn = bc + 1;
dataGrid_Main_BlockList.Rows.Add(bwn, System.Drawing.Image.FromFile(@"img\deletelist.png"), System.Drawing.Image.FromFile(@"img\ListEdit.png"), Utilities.Draw.DrawBlock(Color.Black, Color.White, Color.Gray, 30), "All", "True", "Items", "", "0 0 0", "0 0 0", "0 0 0", "30");
AddBlockFromGridView();
UpdateBlockList();
}
public void SaveBlocks()
{
String json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
JArray blocks = new JArray();
foreach (DataGridViewRow row in dataGrid_Main_BlockList.Rows)
{
string bjson = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic bjo = JsonConvert.DeserializeObject(json);
//// Save to JArray for re-order
jSType = bjo["blocks"][row.Cells[0].Value]["Type"];
jSShow = bjo["blocks"][row.Cells[0].Value]["Show"];
jLClass = bjo["blocks"][row.Cells[0].Value]["Class"];
jLBaseType = bjo["blocks"][row.Cells[0].Value]["BaseType"];
jLSetTextColor = bjo["blocks"][row.Cells[0].Value]["SetTextColor"];
jLSetBackgroundColor = bjo["blocks"][row.Cells[0].Value]["SetBackgroundColor"];
jLSetBorderColor = bjo["blocks"][row.Cells[0].Value]["SetBorderColor"]; ;
jSFontSize = bjo["blocks"][row.Cells[0].Value]["SetFontSize"];
foreach (var condition in bjo["blocks"][row.Cells[0].Value]["Conditions"])
{
JObject cond = JObject.FromObject(new
{
name = condition.name,
op = condition.op,
value = condition.value
});
jAConditions.Add(cond);
}
foreach (var action in bjo["blocks"][row.Cells[0].Value]["Actions"])
{
JObject act = JObject.FromObject(new
{
name = action.name,
va = action.va,
vb = action.vb,
vc = action.vc,
vd = action.vd
});
jAActions.Add(act);
}
////////////////////////////////
JObject bas = JObject.FromObject(new
{
Type = jSType,
Show = jSShow,
Class = jLClass,
BaseType = jLBaseType,
SetTextColor = jLSetTextColor,
SetBackgroundColor = jLSetBackgroundColor,
SetBorderColor = jLSetBorderColor,
SetFontSize = jSFontSize,
Conditions = jAConditions,
Actions = jAActions
});
blocks.Add(bas);
jLClass.Clear();
jLBaseType.Clear();
jLSetTextColor.Clear();
jLSetBackgroundColor.Clear();
jLSetBorderColor.Clear();
jAConditions.Clear();
jAActions.Clear();
}
jo["blocks"] = blocks;
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
UpdateBlockList();
}
public void AddBlockFromGridView()
{
string[] empty = { };
string[] colorw = { "255 255 255" };
string[] colorb = { "0 0 0" };
String json = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic jo = JsonConvert.DeserializeObject(json);
JArray blocks = new JArray();
int bc = dataGrid_Main_BlockList.Rows.Count;
int cb = 1;
foreach (DataGridViewRow row in dataGrid_Main_BlockList.Rows)
{
if (cb < bc)
{
cb++;
string bjson = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic bjo = JsonConvert.DeserializeObject(json);
//// Save to JArray for re-order
jSType = bjo["blocks"][row.Cells[0].Value]["Type"];
jSShow = bjo["blocks"][row.Cells[0].Value]["Show"];
jLClass = bjo["blocks"][row.Cells[0].Value]["Class"];
jLBaseType = bjo["blocks"][row.Cells[0].Value]["BaseType"];
jLSetTextColor = bjo["blocks"][row.Cells[0].Value]["SetTextColor"];
jLSetBackgroundColor = bjo["blocks"][row.Cells[0].Value]["SetBackgroundColor"];
jLSetBorderColor = bjo["blocks"][row.Cells[0].Value]["SetBorderColor"]; ;
jSFontSize = bjo["blocks"][row.Cells[0].Value]["SetFontSize"];
foreach (var condition in bjo["blocks"][row.Cells[0].Value]["Conditions"])
{
JObject cond = JObject.FromObject(new
{
name = condition.name,
op = condition.op,
value = condition.value
});
jAConditions.Add(cond);
}
foreach (var action in bjo["blocks"][row.Cells[0].Value]["Actions"])
{
JObject act = JObject.FromObject(new
{
name = action.name,
va = action.va,
vb = action.vb,
vc = action.vc,
vd = action.vd
});
jAActions.Add(act);
}
////////////////////////////////
JObject bas = JObject.FromObject(new
{
Type = jSType,
Show = jSShow,
Class = jLClass,
BaseType = jLBaseType,
SetTextColor = jLSetTextColor,
SetBackgroundColor = jLSetBackgroundColor,
SetBorderColor = jLSetBorderColor,
SetFontSize = jSFontSize,
Conditions = jAConditions,
Actions = jAActions
});
blocks.Add(bas);
jLClass.Clear();
jLBaseType.Clear();
jLSetTextColor.Clear();
jLSetBackgroundColor.Clear();
jLSetBorderColor.Clear();
jAConditions.Clear();
jAActions.Clear();
jo["blocks"] = blocks;
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
} else
{
string bjson = File.ReadAllText($@"filson\{MainForm.blockFile}");
dynamic bjo = JsonConvert.DeserializeObject(json);
//// Save to JArray for re-order
jSType = "All";
jSShow = "True";
jLClass = JArray.FromObject(empty);
jLBaseType = JArray.FromObject(empty);
jLSetTextColor = JArray.FromObject(colorw);
jLSetBackgroundColor = JArray.FromObject(colorb);
jLSetBorderColor = JArray.FromObject(colorw);
jSFontSize = row.Cells[11].Value.ToString();
JObject cond = JObject.FromObject(new
{
name = "",
op = "",
value = ""
});
jAConditions.Add(cond);
JObject act = JObject.FromObject(new
{
name = "",
va = "",
vb = "",
vc = "",
vd = ""
});
jAActions.Add(act);
////////////////////////////////
JObject bas = JObject.FromObject(new
{
Type = jSType,
Show = jSShow,
Class = jLClass,
BaseType = jLBaseType,
SetTextColor = jLSetTextColor,
SetBackgroundColor = jLSetBackgroundColor,
SetBorderColor = jLSetBorderColor,
SetFontSize = jSFontSize,
Conditions = jAConditions,
Actions = jAActions
});
blocks.Add(bas);
jLClass.Clear();
jLBaseType.Clear();
jLSetTextColor.Clear();
jLSetBackgroundColor.Clear();
jLSetBorderColor.Clear();
jAConditions.Clear();
jAActions.Clear();
jo["blocks"] = blocks;
string output = JsonConvert.SerializeObject(jo, Formatting.Indented);
File.WriteAllText($@"filson\{MainForm.blockFile}", output);
}
}
UpdateBlockList();
}
}
}

1882
Filsonator/MainForm.resx Normal file

File diff suppressed because it is too large Load Diff

22
Filsonator/Program.cs Normal file
View File

@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Filsonator
{
internal static class Program
{
/// <summary>
/// Point d'entrée principal de l'application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}

View File

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Les informations générales relatives à un assembly dépendent de
// l'ensemble d'attributs suivant. Changez les valeurs de ces attributs pour modifier les informations
// associées à un assembly.
[assembly: AssemblyTitle("Filsonator")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("Filsonator")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// L'affectation de la valeur false à ComVisible rend les types invisibles dans cet assembly
// aux composants COM. Si vous devez accéder à un type dans cet assembly à partir de
// COM, affectez la valeur true à l'attribut ComVisible sur ce type.
[assembly: ComVisible(false)]
// Le GUID suivant est pour l'ID de la typelib si ce projet est exposé à COM
[assembly: Guid("133a0830-a421-486b-90fa-8d77c16c7adf")]
// Les informations de version pour un assembly se composent des quatre valeurs suivantes :
//
// Version principale
// Version secondaire
// Numéro de build
// Révision
//
// Vous pouvez spécifier toutes les valeurs ou indiquer les numéros de build et de révision par défaut
// en utilisant '*', comme indiqué ci-dessous :
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -0,0 +1,71 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Ce code a été généré par un outil.
// Version du runtime :4.0.30319.42000
//
// Les modifications apportées à ce fichier peuvent provoquer un comportement incorrect et seront perdues si
// le code est régénéré.
// </auto-generated>
//------------------------------------------------------------------------------
namespace Filsonator.Properties
{
/// <summary>
/// Une classe de ressource fortement typée destinée, entre autres, à la consultation des chaînes localisées.
/// </summary>
// Cette classe a été générée automatiquement par la classe StronglyTypedResourceBuilder
// à l'aide d'un outil, tel que ResGen ou Visual Studio.
// Pour ajouter ou supprimer un membre, modifiez votre fichier .ResX, puis réexécutez ResGen
// avec l'option /str ou régénérez votre projet VS.
[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()
{
}
/// <summary>
/// Retourne l'instance ResourceManager mise en cache utilisée par cette classe.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if ((resourceMan == null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Filsonator.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Remplace la propriété CurrentUICulture du thread actuel pour toutes
/// les recherches de ressources à l'aide de cette classe de ressource fortement typée.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}

View File

@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
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">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</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="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<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>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <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 Filsonator.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.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;
}
}
}
}

View File

@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>

View File

@ -0,0 +1,100 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Filsonator.Utilities
{
internal class Draw
{
public static Image DrawBlock(Color cfont, Color cbackground, Color cborder, int fontsize)
{
int H = 0;
int W = 0;
int X = 0;
int Y = 0;
int fS = fontsize;
switch (fontsize)
{
case 45:
W = 210;
H = 30;
X = 5;
Y = 5;
fS = fontsize / 2;
break;
case 40:
W = 190;
H = 28;
X = 5;
Y = 7;
fS = fontsize / 3;
break;
case 38:
W = 160;
H = 25;
X = 5;
Y = 10;
fS = fontsize / 3;
break;
case 35:
W = 150;
H = 25;
X = 5;
Y = 10;
fS = fontsize / 3;
break;
case 33:
W = 140;
H = 23;
X = 5;
Y = 11;
fS = fontsize / 3;
break;
case 30:
W = 130;
H = 20;
X = 5;
Y = 10;
fS = fontsize / 3;
break;
case 25:
W = 120;
H = 18;
X = 5;
Y = 10;
fS = fontsize / 3;
break;
}
var fontFamily = new FontFamily("Verdana");
var vfont = new Font(fontFamily, fS, FontStyle.Regular, GraphicsUnit.Pixel);
Image imageFile = Image.FromFile(@"img\groundtile.png");
Graphics newGraphics = Graphics.FromImage(imageFile);
// Create pen.
Pen border = new Pen(cborder, 2);
SolidBrush back = new SolidBrush(cbackground);
SolidBrush font = new SolidBrush(cfont);
int imgH = imageFile.Height;
int imgW = imageFile.Width;
// Create rectangle.
Rectangle rect = new Rectangle(X, Y, W, H);
// Draw rectangle to screen.
newGraphics.DrawRectangle(border, rect);
newGraphics.FillRectangle(back,rect);
StringFormat stringFormat = new StringFormat();
stringFormat.Alignment = StringAlignment.Center;
stringFormat.LineAlignment = StringAlignment.Center;
newGraphics.DrawString("Item Name", vfont, font, rect, stringFormat);
//imageFile.Save(@"data\groundtilelol.png", ImageFormat.Bmp);
return imageFile;
}
}
}

BIN
Filsonator/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

BIN
Filsonator/iconb.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Newtonsoft.Json" version="13.0.3" targetFramework="net48" />
</packages>

BIN
IMG/Divine.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

BIN
IMG/ListEdit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
IMG/ListEdit.psd Normal file

Binary file not shown.

BIN
IMG/arrow_down.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
IMG/arrow_down.psd Normal file

Binary file not shown.

BIN
IMG/arrow_up.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
IMG/arrow_up.psd Normal file

Binary file not shown.

BIN
IMG/delete.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
IMG/delete.psd Normal file

Binary file not shown.

BIN
IMG/down-arrow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 B

BIN
IMG/icon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

BIN
IMG/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
IMG/icon.psd Normal file

Binary file not shown.

BIN
IMG/iconb.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB