diff --git a/Fo76ini/Fo76ini.csproj b/Fo76ini/Fo76ini.csproj
index 280b6bc..ea23241 100644
--- a/Fo76ini/Fo76ini.csproj
+++ b/Fo76ini/Fo76ini.csproj
@@ -394,6 +394,9 @@
+
+
+
diff --git a/Fo76ini/Forms/Form1/Form1.Designer.cs b/Fo76ini/Forms/Form1/Form1.Designer.cs
index 786a7ae..64c3995 100644
--- a/Fo76ini/Forms/Form1/Form1.Designer.cs
+++ b/Fo76ini/Forms/Form1/Form1.Designer.cs
@@ -298,6 +298,7 @@ private void InitializeComponent()
this.checkBoxShowPassword = new System.Windows.Forms.CheckBox();
this.labelPassword = new System.Windows.Forms.Label();
this.labelUserName = new System.Windows.Forms.Label();
+ this.tabControl1 = new System.Windows.Forms.TabControl();
this.tabPageInfo = new System.Windows.Forms.TabPage();
this.groupBoxSettings = new System.Windows.Forms.GroupBox();
this.linkLabelOpenSettings = new System.Windows.Forms.LinkLabel();
@@ -322,7 +323,7 @@ private void InitializeComponent()
this.labelVersion = new System.Windows.Forms.Label();
this.labelDescription = new System.Windows.Forms.Label();
this.labelTitle = new System.Windows.Forms.Label();
- this.tabControl1 = new System.Windows.Forms.TabControl();
+ this.pictureBoxSnow = new System.Windows.Forms.PictureBox();
this.tabPageAudio = new System.Windows.Forms.TabPage();
this.groupBoxAudio = new System.Windows.Forms.GroupBox();
this.groupBoxVoice = new System.Windows.Forms.GroupBox();
@@ -537,6 +538,7 @@ private void InitializeComponent()
this.groupBoxMainMenu.SuspendLayout();
this.groupBoxLogin.SuspendLayout();
this.groupBoxLoginProfiles.SuspendLayout();
+ this.tabControl1.SuspendLayout();
this.tabPageInfo.SuspendLayout();
this.groupBoxSettings.SuspendLayout();
this.panelUpdate.SuspendLayout();
@@ -545,7 +547,7 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.pictureBoxGameEdition)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
- this.tabControl1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSnow)).BeginInit();
this.tabPageAudio.SuspendLayout();
this.groupBoxAudio.SuspendLayout();
this.groupBoxVoice.SuspendLayout();
@@ -4165,9 +4167,32 @@ private void InitializeComponent()
this.labelUserName.TabIndex = 0;
this.labelUserName.Text = "User name:";
//
+ // tabControl1
+ //
+ this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.tabControl1.Controls.Add(this.tabPageInfo);
+ this.tabControl1.Controls.Add(this.tabPageGeneral);
+ this.tabControl1.Controls.Add(this.tabPageVideo);
+ this.tabControl1.Controls.Add(this.tabPageAudio);
+ this.tabControl1.Controls.Add(this.tabPageControls);
+ this.tabControl1.Controls.Add(this.tabPageCamera);
+ this.tabControl1.Controls.Add(this.tabPagePipBoy);
+ this.tabControl1.Controls.Add(this.tabPageGallery);
+ this.tabControl1.Controls.Add(this.tabPageCustom);
+ this.tabControl1.Controls.Add(this.tabPageDangerZone);
+ this.tabControl1.Location = new System.Drawing.Point(12, 59);
+ this.tabControl1.Multiline = true;
+ this.tabControl1.Name = "tabControl1";
+ this.tabControl1.SelectedIndex = 0;
+ this.tabControl1.Size = new System.Drawing.Size(860, 490);
+ this.tabControl1.TabIndex = 7;
+ //
// tabPageInfo
//
this.tabPageInfo.AutoScroll = true;
+ this.tabPageInfo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.tabPageInfo.Controls.Add(this.groupBoxSettings);
this.tabPageInfo.Controls.Add(this.linkLabelWhatsNew);
this.tabPageInfo.Controls.Add(this.linkLabelAttribution);
@@ -4186,6 +4211,7 @@ private void InitializeComponent()
this.tabPageInfo.Controls.Add(this.labelVersion);
this.tabPageInfo.Controls.Add(this.labelDescription);
this.tabPageInfo.Controls.Add(this.labelTitle);
+ this.tabPageInfo.Controls.Add(this.pictureBoxSnow);
this.tabPageInfo.Location = new System.Drawing.Point(4, 22);
this.tabPageInfo.Name = "tabPageInfo";
this.tabPageInfo.Padding = new System.Windows.Forms.Padding(3);
@@ -4427,6 +4453,7 @@ private void InitializeComponent()
//
// labelDescription
//
+ this.labelDescription.BackColor = System.Drawing.Color.Transparent;
this.labelDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelDescription.Location = new System.Drawing.Point(90, 59);
this.labelDescription.Name = "labelDescription";
@@ -4445,27 +4472,15 @@ private void InitializeComponent()
this.labelTitle.TabIndex = 0;
this.labelTitle.Text = "Fallout 76 Quick Configuration";
//
- // tabControl1
+ // pictureBoxSnow
//
- this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
- | System.Windows.Forms.AnchorStyles.Left)
- | System.Windows.Forms.AnchorStyles.Right)));
- this.tabControl1.Controls.Add(this.tabPageInfo);
- this.tabControl1.Controls.Add(this.tabPageGeneral);
- this.tabControl1.Controls.Add(this.tabPageVideo);
- this.tabControl1.Controls.Add(this.tabPageAudio);
- this.tabControl1.Controls.Add(this.tabPageControls);
- this.tabControl1.Controls.Add(this.tabPageCamera);
- this.tabControl1.Controls.Add(this.tabPagePipBoy);
- this.tabControl1.Controls.Add(this.tabPageGallery);
- this.tabControl1.Controls.Add(this.tabPageCustom);
- this.tabControl1.Controls.Add(this.tabPageDangerZone);
- this.tabControl1.Location = new System.Drawing.Point(12, 59);
- this.tabControl1.Multiline = true;
- this.tabControl1.Name = "tabControl1";
- this.tabControl1.SelectedIndex = 0;
- this.tabControl1.Size = new System.Drawing.Size(860, 490);
- this.tabControl1.TabIndex = 7;
+ this.pictureBoxSnow.Image = global::Fo76ini.Properties.Resources.snow;
+ this.pictureBoxSnow.Location = new System.Drawing.Point(72, 0);
+ this.pictureBoxSnow.Name = "pictureBoxSnow";
+ this.pictureBoxSnow.Size = new System.Drawing.Size(780, 342);
+ this.pictureBoxSnow.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBoxSnow.TabIndex = 45;
+ this.pictureBoxSnow.TabStop = false;
//
// tabPageAudio
//
@@ -5770,6 +5785,7 @@ private void InitializeComponent()
this.groupBoxLogin.PerformLayout();
this.groupBoxLoginProfiles.ResumeLayout(false);
this.groupBoxLoginProfiles.PerformLayout();
+ this.tabControl1.ResumeLayout(false);
this.tabPageInfo.ResumeLayout(false);
this.tabPageInfo.PerformLayout();
this.groupBoxSettings.ResumeLayout(false);
@@ -5780,7 +5796,7 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.pictureBoxGameEdition)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
- this.tabControl1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBoxSnow)).EndInit();
this.tabPageAudio.ResumeLayout(false);
this.groupBoxAudio.ResumeLayout(false);
this.groupBoxAudio.PerformLayout();
@@ -6218,6 +6234,7 @@ private void InitializeComponent()
private System.Windows.Forms.GroupBox groupBox4;
private System.Windows.Forms.CheckBox checkBoxScreenSpaceReflections;
private System.Windows.Forms.RadioButton radioButtonAccountNone;
+ private System.Windows.Forms.PictureBox pictureBoxSnow;
}
}
diff --git a/Fo76ini/Forms/Form1/Form1.cs b/Fo76ini/Forms/Form1/Form1.cs
index a4dc404..a2a2a1d 100644
--- a/Fo76ini/Forms/Form1/Form1.cs
+++ b/Fo76ini/Forms/Form1/Form1.cs
@@ -343,6 +343,36 @@ private void Form1_Load(object sender, EventArgs e)
this.LoadGallery();
MakePictureBoxButton(this.pictureBoxUpdateButton, "updateNowButton");
+
+
+ /*
+ * Because easter eggs are fun:
+ */
+
+ this.pictureBoxSnow.Visible = false;
+ if ((DateTime.Now.Month == 12 && DateTime.Now.Day >= 24) ||
+ (DateTime.Now.Month == 1 && DateTime.Now.Day <= 2))
+ EnableWinterEasteregg();
+ }
+
+ private void EnableWinterEasteregg()
+ {
+ this.pictureBoxSnow.Visible = true;
+ this.tabPageInfo.BackColor = Color.FromArgb(54, 70, 93);
+
+ foreach (Control control in new Control[] { labelTitle, labelDescription, labelVersion, labelConfigVersion, labelAuthor, labelAuthorName, labelTranslationAuthor, labelTranslationBy, labelNWModeActive, linkLabelAttribution, linkLabelWhatsNew, groupBoxSettings})
+ {
+ control.Parent.Controls.Remove(control);
+ this.pictureBoxSnow.Controls.Add(control);
+
+ control.Top -= this.pictureBoxSnow.Top;
+ control.Left -= this.pictureBoxSnow.Left;
+ control.ForeColor = Color.White;
+ control.BackColor = Color.Transparent;
+ }
+
+ this.labelDescription.Text = "Merry Christmas and a happy new year!";
+ this.labelSettingsNotice.ForeColor = Color.White;
}
private void Form1_Shown(object sender, EventArgs e)
@@ -633,7 +663,11 @@ private void toolStripButtonApply_Click(object sender, EventArgs e)
private void toolStripButtonLaunchGame_Click(object sender, EventArgs e)
{
+ if (IniFiles.Config.GetBool("Preferences", "bAutoApply", false))
+ ApplyChanges();
this.game.LaunchGame();
+ if (IniFiles.Config.GetBool("Preferences", "bQuitOnLaunch", false))
+ Application.Exit();
}
#endregion
diff --git a/Fo76ini/Forms/FormMods/FormMods.Designer.cs b/Fo76ini/Forms/FormMods/FormMods.Designer.cs
index 8fb93b7..9bff351 100644
--- a/Fo76ini/Forms/FormMods/FormMods.Designer.cs
+++ b/Fo76ini/Forms/FormMods/FormMods.Designer.cs
@@ -568,6 +568,7 @@ private void InitializeComponent()
this.checkBoxModDetailsEnabled.TabIndex = 74;
this.checkBoxModDetailsEnabled.Text = "Enable this mod";
this.checkBoxModDetailsEnabled.UseVisualStyleBackColor = true;
+ this.checkBoxModDetailsEnabled.CheckedChanged += new System.EventHandler(this.checkBoxModDetailsEnabled_CheckedChanged);
//
// panelModDetailsInner
//
@@ -992,7 +993,7 @@ private void InitializeComponent()
this.labelModSummary.ForeColor = System.Drawing.SystemColors.ControlDarkDark;
this.labelModSummary.Location = new System.Drawing.Point(6, 5);
this.labelModSummary.Name = "labelModSummary";
- this.labelModSummary.Size = new System.Drawing.Size(331, 55);
+ this.labelModSummary.Size = new System.Drawing.Size(314, 55);
this.labelModSummary.TabIndex = 55;
this.labelModSummary.Text = "< Summary goes here >";
//
diff --git a/Fo76ini/Forms/FormMods/FormMods.cs b/Fo76ini/Forms/FormMods/FormMods.cs
index 5a5f1a9..c49f559 100644
--- a/Fo76ini/Forms/FormMods/FormMods.cs
+++ b/Fo76ini/Forms/FormMods/FormMods.cs
@@ -554,9 +554,6 @@ private void ShowLoadingUI()
public void ToggleNuclearWinterMode()
{
- if (Mods == null)
- return;
-
if (Mods.NuclearWinterModeEnabled)
DisableNuclearWinterMode();
else
@@ -565,8 +562,9 @@ public void ToggleNuclearWinterMode()
public void EnableNuclearWinterMode()
{
- if (Mods == null)
- return;
+ ModDeployment.LogFile.WriteLine("\n");
+ ModDeployment.LogFile.WriteTimeStamp();
+ ModDeployment.LogFile.WriteLine("Enabling Nuclear Winter mode");
Mods.NuclearWinterModeEnabled = true;
@@ -589,12 +587,14 @@ public void EnableNuclearWinterMode()
// Save and update UI:
Mods.Save();
TriggerNWModeUpdated();
+ ModDeployment.LogFile.WriteLine("NW mode enabled, done.");
}
public void DisableNuclearWinterMode()
{
- if (Mods == null)
- return;
+ ModDeployment.LogFile.WriteLine("\n");
+ ModDeployment.LogFile.WriteTimeStamp();
+ ModDeployment.LogFile.WriteLine("Disabling Nuclear Winter mode");
Mods.NuclearWinterModeEnabled = false;
@@ -617,6 +617,7 @@ public void DisableNuclearWinterMode()
// Save and update UI:
Mods.Save();
TriggerNWModeUpdated();
+ ModDeployment.LogFile.WriteLine("NW mode disabled, done.");
}
private void TriggerNWModeUpdated()
@@ -633,7 +634,11 @@ public bool IsNuclearWinterModeEnabled()
public void ToggleNuclearWinterModeThreaded()
{
if (Mods == null)
+ {
+ MsgBox.ShowID("modsGamePathNotSet", MessageBoxIcon.Error);
+ TriggerNWModeUpdated();
return;
+ }
if (Mods.NuclearWinterModeEnabled)
DisableNuclearWinterModeThreaded();
@@ -653,7 +658,7 @@ public void EnableNuclearWinterModeThreaded()
return true;
}, (success) => {
if (success)
- MsgBox.Get("nwModeDisabled").Popup(MessageBoxIcon.Information);
+ MsgBox.Get("nwModeEnabled").Popup(MessageBoxIcon.Information);
UpdateUI();
EnableUI();
Hide();
@@ -682,7 +687,10 @@ public void DisableNuclearWinterModeThreaded()
private NuclearWinterEventArgs BuildNuclearWinterEventArgs()
{
NuclearWinterEventArgs args = new NuclearWinterEventArgs();
- args.NuclearWinterModeEnabled = Mods.NuclearWinterModeEnabled;
+ if (Mods != null)
+ args.NuclearWinterModeEnabled = Mods.NuclearWinterModeEnabled;
+ else
+ args.NuclearWinterModeEnabled = false;
return args;
}
diff --git a/Fo76ini/Forms/FormMods/FormMods.resx b/Fo76ini/Forms/FormMods/FormMods.resx
index 33151f7..438392a 100644
--- a/Fo76ini/Forms/FormMods/FormMods.resx
+++ b/Fo76ini/Forms/FormMods/FormMods.resx
@@ -157,9 +157,6 @@
Yy7JZ6QAAAAASUVORK5CYII=
-
- 5, 63
-
137, 46
diff --git a/Fo76ini/Forms/FormSettings/FormSettings.cs b/Fo76ini/Forms/FormSettings/FormSettings.cs
index d4d83c4..6854429 100644
--- a/Fo76ini/Forms/FormSettings/FormSettings.cs
+++ b/Fo76ini/Forms/FormSettings/FormSettings.cs
@@ -35,7 +35,9 @@ public FormSettings()
InitializeComponent();
// Make this form translatable:
- Localization.LocalizedForms.Add(new LocalizedForm(this, toolTip));
+ LocalizedForm form = new LocalizedForm(this, this.toolTip);
+ form.SpecialControls.Add(this.contextMenuStripGame);
+ Localization.LocalizedForms.Add(form);
// Handle translations:
Translation.LanguageChanged += OnLanguageChanged;
diff --git a/Fo76ini/Mods/ModDeployment.cs b/Fo76ini/Mods/ModDeployment.cs
index 0efc5ce..f73543e 100644
--- a/Fo76ini/Mods/ModDeployment.cs
+++ b/Fo76ini/Mods/ModDeployment.cs
@@ -27,6 +27,7 @@ public static void Deploy(ManagedMods mods, Action