new mod addon format. fix hasbadge not working as intended.

This commit is contained in:
Bitl 2023-01-15 20:57:03 -07:00
parent f7098e04f3
commit 4c4445bf92
21 changed files with 1516 additions and 1422 deletions

View File

@ -92,6 +92,33 @@ namespace Novetus.Core
return false;
}
}
public string IniGetKey(string SearchString)
{
try
{
if (File.Exists(path))
{
string[] lines = File.ReadAllLines(path);
foreach (string line in lines)
{
if (line.Contains(SearchString))
{
string Key = line.Replace(line.After("="), "").Replace("=", "");
return Key;
}
}
}
return "";
}
catch (Exception ex)
{
Util.LogExceptions(ex);
return "";
}
}
}
#endregion
}

View File

@ -223,6 +223,9 @@ error:
foreach (CompilerError error in result.Errors)
{
if (error.IsWarning)
continue;
ErrorHandler(error, filePath);
}

View File

@ -245,33 +245,39 @@ namespace Novetus.Core
public void Stop()
{
if (!Server.ProxyRunning)
try
{
Util.ConsolePrint("The web proxy is already turned off.", 2);
return;
}
Util.ConsolePrint("Web Proxy stopping on port " + GlobalVars.WebProxyPort, 3);
Server.BeforeRequest -= new AsyncEventHandler<SessionEventArgs>(OnRequest);
Server.Stop();
foreach (IExtension extension in Manager.GetExtensionList().ToArray())
{
try
if (!Server.ProxyRunning)
{
IWebProxyExtension webProxyExtension = extension as IWebProxyExtension;
if (webProxyExtension != null)
Util.ConsolePrint("The web proxy is already turned off.", 2);
return;
}
Util.ConsolePrint("Web Proxy stopping on port " + GlobalVars.WebProxyPort, 3);
Server.BeforeRequest -= new AsyncEventHandler<SessionEventArgs>(OnRequest);
Server.Stop();
foreach (IExtension extension in Manager.GetExtensionList().ToArray())
{
try
{
IWebProxyExtension webProxyExtension = extension as IWebProxyExtension;
if (webProxyExtension != null)
{
webProxyExtension.OnProxyStopped();
}
}
catch (Exception)
{
webProxyExtension.OnProxyStopped();
}
}
catch (Exception)
{
}
}
Manager.UnloadExtensions();
Manager.GetExtensionList().Clear();
Manager.UnloadExtensions();
Manager.GetExtensionList().Clear();
}
catch
{
}
}
}
}

View File

@ -1508,14 +1508,14 @@ namespace Novetus.Core
}
//MessageBox.Show(lineCount + "\n" + fileCount);
if (lineCount != fileCount)
// commenting this because frankly the CreateInitialFileList thread should be called upon inital bootup of novetus.
/*if (lineCount != fileCount)
{
Util.ConsolePrint("WARNING - Initial File List is not relevant to file path. Regenerating.", 5);
Thread t = new Thread(CreateInitialFileList);
t.IsBackground = true;
t.Start();
}
}*/
}
}

View File

@ -217,7 +217,7 @@ public class ModManager
tokenSource.Cancel();
}
public async Task CreateModPackage(string[] filesToPackage, string modName)
public async Task CreateModPackage(string[] filesToPackage, string modName, string modAuthor, string modDesc)
{
if (globalMode == ModMode.ModInstallation)
return;
@ -226,7 +226,24 @@ public class ModManager
{
try
{
string outputSavePath = Path.GetDirectoryName(saveFileDialog1.FileName) + @"\" + modName;
string outputPath = Path.GetDirectoryName(saveFileDialog1.FileName);
string fullModName = modAuthor + " - " + modName;
string outputSavePath = outputPath + @"\" + fullModName;
if (!Directory.Exists(outputSavePath))
{
Directory.CreateDirectory(outputSavePath);
}
List<string> info = new List<string>();
info.Add(modDesc);
info.Add("FILE PATHS:");
foreach (string filepath in filesToPackage)
{
info.Add(filepath.Replace(GlobalPaths.RootPath, ""));
}
File.WriteAllLines(outputSavePath + @"\" + fullModName + "_info.txt", info.ToArray());
int filecount = 0;
@ -271,6 +288,7 @@ public class ModManager
Directory.Delete(outputSavePath, true);
//don't include the info file.
installOutcome = filecount + " files have been successfully moved and compressed into " + outputSavePath + ".zip!";
}
catch (Exception ex)

View File

@ -192,13 +192,7 @@ namespace NovetusLauncher
}
if (GlobalVars.UserConfiguration.WebProxyEnabled)
{
try
{
GlobalVars.Proxy.Stop();
}
catch
{
}
GlobalVars.Proxy.Stop();
}
if (!GlobalVars.AppClosed)

View File

@ -63,8 +63,7 @@ namespace NovetusLauncher
launcherFormStylishInterface1.readmeBox.Text = File.ReadAllText(GlobalPaths.RootPath + "\\README-AND-CREDITS.TXT");
}
launcherFormStylishInterface1.versionLabel.Content = Application.ProductVersion;
launcherFormStylishInterface1.versionNovetusLabel.Content = launcherFormStylishInterface1.launcherForm.GetProductVersion();
launcherFormStylishInterface1.versionLabel.Content = launcherFormStylishInterface1.launcherForm.GetProductVersion();
ReadConfigValues(true);

View File

@ -854,11 +854,9 @@
<Rectangle x:Name="optionsLabelBox" Fill="#FFAAA8A8" HorizontalAlignment="Left" Height="30" Margin="0,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="683" Grid.ColumnSpan="2"/>
<Label x:Name="optionsLabel" Content="Options" HorizontalAlignment="Left" Margin="309,9,0,0" VerticalAlignment="Top" FontSize="15" Width="65" RenderTransformOrigin="0.561,0.175"/>
<TextBox x:Name="readmeBox" HorizontalAlignment="Left" Height="129" Margin="0,97,0,0" TextWrapping="Wrap" Text="" VerticalAlignment="Top" Width="683" HorizontalContentAlignment="Left" VerticalContentAlignment="Top" IsReadOnly="True" Grid.ColumnSpan="2" FontFamily="Comic Sans MS"/>
<Label x:Name="versionLabel" Content="1.0" HorizontalAlignment="Left" Margin="6,235,0,-4" VerticalAlignment="Top" Width="194" BorderThickness="0" BorderBrush="#FF6E6E6E" VerticalContentAlignment="Top" HorizontalContentAlignment="Center" Height="29" MouseDown="versionLabel_MouseDown"/>
<Label x:Name="versionLabel" Content="1.0" HorizontalAlignment="Left" Margin="6,229,0,0" VerticalAlignment="Top" Width="194" BorderThickness="0" BorderBrush="#FF6E6E6E" VerticalContentAlignment="Top" HorizontalContentAlignment="Center" Height="29" MouseDown="versionLabel_MouseDown"/>
<Label x:Name="tripcodeLabel" Content="abcdefghijklmopqrstuvwxyz" HorizontalAlignment="Left" Margin="200,220,0,0" VerticalAlignment="Top" Width="483" Grid.ColumnSpan="2"/>
<Label x:Name="codenameLabel" Content="PROJECT STARLIGHT" HorizontalAlignment="Left" Margin="343,235,0,0" VerticalAlignment="Top" Width="193" Height="24" Grid.ColumnSpan="2"/>
<Label x:Name="versionNovetusLabel" Content="novetus 1.0" HorizontalAlignment="Left" Margin="6,220,0,0" VerticalAlignment="Top" Width="194"/>
<Separator HorizontalAlignment="Left" Height="15" Margin="8,241,0,0" VerticalAlignment="Top" Width="192"/>
<CheckBox x:Name="discordRichPresenceBox" Content="Discord Rich Presence" HorizontalAlignment="Left" Margin="62,46,0,0" VerticalAlignment="Top" Checked="discordRichPresenceBox_Checked" Unchecked="discordRichPresenceBox_Unchecked" Click="discordRichPresenceBox_Click"/>
<CheckBox x:Name="minimizeOnLaunchBox" Content="Minimize on Launch" HorizontalAlignment="Left" Margin="62,67,0,0" VerticalAlignment="Top" Width="144" Checked="minimizeOnLaunchBox_Checked" Unchecked="minimizeOnLaunchBox_Unchecked"/>
<Button x:Name="resetConfigButton" Content="Reset Config" HorizontalAlignment="Left" Margin="233,46,0,0" VerticalAlignment="Top" Width="75" Click="resetConfigButton_Click"/>

View File

@ -33,22 +33,31 @@
this.ModNameBox = new System.Windows.Forms.TextBox();
this.ModNameLabel = new System.Windows.Forms.Label();
this.RefreshFileListButton = new System.Windows.Forms.Button();
this.AuthorLabel = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.DescBox = new System.Windows.Forms.TextBox();
this.AuthorBox = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// ModFilesListing
//
this.ModFilesListing.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.ModFilesListing.FormattingEnabled = true;
this.ModFilesListing.Location = new System.Drawing.Point(10, 56);
this.ModFilesListing.Name = "ModFilesListing";
this.ModFilesListing.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
this.ModFilesListing.Size = new System.Drawing.Size(407, 316);
this.ModFilesListing.Size = new System.Drawing.Size(417, 173);
this.ModFilesListing.TabIndex = 0;
//
// SavePackageButton
//
this.SavePackageButton.Location = new System.Drawing.Point(10, 378);
this.SavePackageButton.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.SavePackageButton.Location = new System.Drawing.Point(10, 429);
this.SavePackageButton.Name = "SavePackageButton";
this.SavePackageButton.Size = new System.Drawing.Size(308, 23);
this.SavePackageButton.Size = new System.Drawing.Size(318, 23);
this.SavePackageButton.TabIndex = 4;
this.SavePackageButton.Text = "Save Package";
this.SavePackageButton.UseVisualStyleBackColor = true;
@ -56,19 +65,22 @@
//
// FileListingLabel
//
this.FileListingLabel.AutoSize = true;
this.FileListingLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.FileListingLabel.Location = new System.Drawing.Point(11, 35);
this.FileListingLabel.Name = "FileListingLabel";
this.FileListingLabel.Size = new System.Drawing.Size(406, 13);
this.FileListingLabel.Size = new System.Drawing.Size(413, 13);
this.FileListingLabel.TabIndex = 5;
this.FileListingLabel.Text = "Select which files you wish to include in your mod, then click \"Save Package\" bel" +
"ow";
this.FileListingLabel.Text = "Select which files you wish to include in your mod.";
this.FileListingLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ModNameBox
//
this.ModNameBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.ModNameBox.Location = new System.Drawing.Point(80, 9);
this.ModNameBox.Name = "ModNameBox";
this.ModNameBox.Size = new System.Drawing.Size(337, 20);
this.ModNameBox.Size = new System.Drawing.Size(347, 20);
this.ModNameBox.TabIndex = 6;
//
// ModNameLabel
@ -82,7 +94,8 @@
//
// RefreshFileListButton
//
this.RefreshFileListButton.Location = new System.Drawing.Point(324, 378);
this.RefreshFileListButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.RefreshFileListButton.Location = new System.Drawing.Point(334, 429);
this.RefreshFileListButton.Name = "RefreshFileListButton";
this.RefreshFileListButton.Size = new System.Drawing.Size(93, 23);
this.RefreshFileListButton.TabIndex = 8;
@ -90,12 +103,56 @@
this.RefreshFileListButton.UseVisualStyleBackColor = true;
this.RefreshFileListButton.Click += new System.EventHandler(this.RefreshFileListButton_Click);
//
// AuthorLabel
//
this.AuthorLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.AuthorLabel.AutoSize = true;
this.AuthorLabel.Location = new System.Drawing.Point(7, 243);
this.AuthorLabel.Name = "AuthorLabel";
this.AuthorLabel.Size = new System.Drawing.Size(38, 13);
this.AuthorLabel.TabIndex = 10;
this.AuthorLabel.Text = "Author";
//
// label3
//
this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label3.Location = new System.Drawing.Point(184, 263);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(67, 13);
this.label3.TabIndex = 11;
this.label3.Text = "Description";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// DescBox
//
this.DescBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.DescBox.Location = new System.Drawing.Point(10, 279);
this.DescBox.Multiline = true;
this.DescBox.Name = "DescBox";
this.DescBox.Size = new System.Drawing.Size(417, 144);
this.DescBox.TabIndex = 12;
//
// AuthorBox
//
this.AuthorBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.AuthorBox.Location = new System.Drawing.Point(51, 240);
this.AuthorBox.Name = "AuthorBox";
this.AuthorBox.Size = new System.Drawing.Size(376, 20);
this.AuthorBox.TabIndex = 14;
//
// ModCreator
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.ClientSize = new System.Drawing.Size(429, 410);
this.ClientSize = new System.Drawing.Size(439, 461);
this.Controls.Add(this.AuthorBox);
this.Controls.Add(this.DescBox);
this.Controls.Add(this.label3);
this.Controls.Add(this.AuthorLabel);
this.Controls.Add(this.RefreshFileListButton);
this.Controls.Add(this.ModNameLabel);
this.Controls.Add(this.ModNameBox);
@ -104,6 +161,7 @@
this.Controls.Add(this.ModFilesListing);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimumSize = new System.Drawing.Size(455, 500);
this.Name = "ModCreator";
this.Text = "Mod Package Creator";
this.Load += new System.EventHandler(this.ModCreator_Load);
@ -120,4 +178,8 @@
private System.Windows.Forms.TextBox ModNameBox;
private System.Windows.Forms.Label ModNameLabel;
private System.Windows.Forms.Button RefreshFileListButton;
private System.Windows.Forms.Label AuthorLabel;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.TextBox DescBox;
private System.Windows.Forms.TextBox AuthorBox;
}

View File

@ -6,7 +6,6 @@ using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Windows.Forms;
@ -19,6 +18,7 @@ public partial class ModCreator : Form
private void ModCreator_Load(object sender, EventArgs e)
{
AuthorBox.Text = GlobalVars.UserConfiguration.PlayerName;
CenterToScreen();
ListFiles();
}
@ -31,6 +31,12 @@ public partial class ModCreator : Form
return;
}
if (string.IsNullOrWhiteSpace(AuthorBox.Text))
{
MessageBox.Show("Please specify the mod's author.", "Mod Creator - No Mod Author", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
if (ModFilesListing.SelectedItems.Count <= 0)
{
MessageBox.Show("Please select the files you wish to include in your mod.", "Mod Creator - No Mod Files", MessageBoxButtons.OK, MessageBoxIcon.Error);
@ -40,7 +46,10 @@ public partial class ModCreator : Form
string[] selectedFileList = ModFilesListing.SelectedItems.OfType<string>().ToArray();
ModManager manager = new ModManager(ModManager.ModMode.ModCreation);
await manager.CreateModPackage(selectedFileList, ModNameBox.Text);
await manager.CreateModPackage(selectedFileList,
ModNameBox.Text,
AuthorBox.Text,
DescBox.Text);
if (!string.IsNullOrWhiteSpace(manager.getOutcome()))
{
@ -54,6 +63,8 @@ public partial class ModCreator : Form
MessageBox.Show(manager.getOutcome(), "Mod Creator - Mod Created", MessageBoxButtons.OK, boxicon);
}
ModNameBox.Text = "";
DescBox.Text = "";
RefreshFiles();
}

View File

@ -89,6 +89,9 @@
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.0.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="BrotliSharpLib, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3f4e2a1cd615fcb7, processorArchitecture=MSIL">
<HintPath>C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\BrotliSharpLib.0.3.3\lib\net451\BrotliSharpLib.dll</HintPath>
</Reference>
@ -292,7 +295,7 @@
<Private>True</Private>
</Reference>
<Reference Include="Titanium.Web.Proxy, Version=1.0.1.0, Culture=neutral, PublicKeyToken=8e41e1f1c790d7cf, processorArchitecture=MSIL">
<HintPath>..\packages\Titanium.Web.Proxy.3.2.0\lib\net461\Titanium.Web.Proxy.dll</HintPath>
<HintPath>..\packages\Titanium.Web.Proxy.3.2.2-beta\lib\net461\Titanium.Web.Proxy.dll</HintPath>
</Reference>
<Reference Include="UIAutomationClient" />
<Reference Include="UIAutomationProvider" />

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle.Cryptography" version="2.0.0" targetFramework="net48" />
<package id="BrotliSharpLib" version="0.3.3" targetFramework="net48" />
<package id="DotNetZip" version="1.16.0" targetFramework="net40" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="7.0.0" targetFramework="net48" />
@ -62,5 +63,5 @@
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net48" />
<package id="Titanium.Web.Proxy" version="3.2.0" targetFramework="net48" />
<package id="Titanium.Web.Proxy" version="3.2.2-beta" targetFramework="net48" />
</packages>

View File

@ -50,6 +50,9 @@
<Reference Include="BouncyCastle.Crypto, Version=1.9.0.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.9.0\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.0.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="BrotliSharpLib, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3f4e2a1cd615fcb7, processorArchitecture=MSIL">
<HintPath>C:\Users\Bitl\Documents\GitHub\Novetus\Novetus_src\Novetus\packages\BrotliSharpLib.0.3.3\lib\net451\BrotliSharpLib.dll</HintPath>
</Reference>
@ -241,7 +244,7 @@
<Private>True</Private>
</Reference>
<Reference Include="Titanium.Web.Proxy, Version=1.0.1.0, Culture=neutral, PublicKeyToken=8e41e1f1c790d7cf, processorArchitecture=MSIL">
<HintPath>..\packages\Titanium.Web.Proxy.3.2.0\lib\net461\Titanium.Web.Proxy.dll</HintPath>
<HintPath>..\packages\Titanium.Web.Proxy.3.2.2-beta\lib\net461\Titanium.Web.Proxy.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BouncyCastle.Cryptography" version="2.0.0" targetFramework="net48" />
<package id="BrotliSharpLib" version="0.3.3" targetFramework="net48" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="7.0.0" targetFramework="net48" />
<package id="Microsoft.NETCore.Platforms" version="1.1.0" targetFramework="net48" />
@ -61,5 +62,5 @@
<package id="System.ValueTuple" version="4.5.0" targetFramework="net48" />
<package id="System.Xml.ReaderWriter" version="4.3.0" targetFramework="net48" />
<package id="System.Xml.XDocument" version="4.3.0" targetFramework="net48" />
<package id="Titanium.Web.Proxy" version="3.2.0" targetFramework="net48" />
<package id="Titanium.Web.Proxy" version="3.2.2-beta" targetFramework="net48" />
</packages>

View File

@ -1,10 +1,26 @@
1.3 Snapshot v22.8412.32591.1
1.3 Snapshot v23.8415.37168.1
Notes:
- Updated the year number from 22 to 23 in the version number.
- Changed the release version numbering from v1.3 11.2022 to v1.3 v11.22
Enhancements:
- Added the following Place Contest (Holiday 2022) entries:
- Zork and tobu.fi - Explosive Xmas
- Added support for HasBadge to the Web Proxy.
- Merged some static APIs into one extension.
- Restored the Help button functionality.
- All clients now work properly with the Web Proxy.
- Rearraged folder layout.
- Refactored the majority of the core codebase.
- Removed the following maps for containing hateful content:
- Lego's Race War Simulator
- Fixed the Mod Package Creator not being resizable.
- The Initial File List will now only be created in Novetus upon inital bootup.
- Added better Web Proxy extension management.
Fixes:
- Fixed a crash that happens in 2010L/2011E Play Solo upon calling AwardBadge.
- Fixed launcher DPI scaling.
----------------------------------------------------------------------------
1.3 Snapshot v22.8412.32591.1
Enhancements:

View File

@ -24,10 +24,12 @@ public class AwardBadge : IWebProxyExtension
private string MetadataFileExtension = "_meta.ini";
private INIFile ini = new INIFile(BadgeDatabasePath);
void AddBadgeToDB(long BadgeID, bool Awarded = false)
void AddBadgeToDB(BadgeData data, bool Awarded = false)
{
CreateBadgeDatabaseIfNeeded();
ini.IniWriteValue(BadgeDatabaseSection, BadgeID.ToString(), Awarded.ToString());
string BaseMapName = GlobalVars.UserConfiguration.MapPathSnip.Replace(@"maps\\", "").Replace(".rbxl", "").Replace(".rbxlx", "").Replace(".bz2", "");
string BadgeName = BaseMapName + "_" + data.BadgeId.ToString() + "_" + (data.BadgeName.Replace(" ", "-")) + "_" + data.BadgeCreatorName;
ini.IniWriteValue(BadgeDatabaseSection, BadgeName, Awarded.ToString());
}
bool PlayerHasBadge(long BadgeID)
@ -36,7 +38,8 @@ public class AwardBadge : IWebProxyExtension
if (ini.IniValueExists(BadgeID.ToString()))
{
string awarded = ini.IniReadValue(BadgeDatabaseSection, BadgeID.ToString(), "False");
string key = ini.IniGetKey(BadgeID.ToString());
string awarded = ini.IniReadValue(BadgeDatabaseSection, key, "False");
return Convert.ToBoolean(awarded);
}
@ -135,7 +138,7 @@ public class AwardBadge : IWebProxyExtension
BadgeData meta = LoadMetadata(badgeid);
string badgeAwardString = GenerateBadgeString(meta.BadgeCreatorName, meta.BadgeName, badgeid);
AddBadgeToDB(badgeid, true);
AddBadgeToDB(meta, true);
e.Ok(badgeAwardString, NetFuncs.GenerateHeaders(badgeAwardString.Length.ToString(), "text/plain"));
}
}

View File

@ -32,7 +32,8 @@ public class HasBadge : IWebProxyExtension
if (ini.IniValueExists(BadgeID.ToString()))
{
string awarded = ini.IniReadValue(BadgeDatabaseSection, BadgeID.ToString(), "False");
string key = ini.IniGetKey(BadgeID.ToString());
string awarded = ini.IniReadValue(BadgeDatabaseSection, key, "False");
return Convert.ToBoolean(awarded);
}

View File

@ -163,14 +163,14 @@ XCOPY "%cd%\clean_junk.bat" "%scriptsdir%\batch" /y
XCOPY "%cd%\github_sync.bat" "%scriptsdir%\batch" /y
XCOPY "%cd%\assetfixer_gauntlet.lua" "%scriptsdir%" /y
XCOPY "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch" /y
XCOPY "%cd%\Novetus\documentation.txt" "%dest%" /y
XCOPY "%cd%\Novetus\consolehelp.txt" "%dest%" /y
XCOPY "%cd%\Novetus\misc\documentation.txt" "%dest%" /y
XCOPY "%cd%\Novetus\misc\consolehelp.txt" "%dest%" /y
XCOPY /c "%cd%\Novetus\.itch.toml" "%dest%" /y
XCOPY "%cd%\Novetus\masterserver\list.php" "%dest%" /y
XCOPY "%cd%\Novetus\masterserver\delist.php" "%dest%" /y
XCOPY "%cd%\Novetus\masterserver\LICENSE-MASTER-SERVER.txt" "%dest%\LICENSE-MASTER-SERVER" /y
XCOPY "%cd%\Novetus\misc\masterserver\list.php" "%dest%" /y
XCOPY "%cd%\Novetus\misc\masterserver\delist.php" "%dest%" /y
XCOPY "%cd%\Novetus\misc\masterserver\LICENSE-MASTER-SERVER.txt" "%dest%\LICENSE-MASTER-SERVER" /y
XCOPY "%cd%\Novetus\changelog.txt" "%dest%\changelog.txt" /y
XCOPY "%cd%\Novetus\LICENSE.txt" "%dest%\LICENSE" /y
XCOPY "%cd%\Novetus\LICENSE-RESHADE.txt" "%dest%\LICENSE-RESHADE" /y
XCOPY "%cd%\Novetus\misc\LICENSE.txt" "%dest%\LICENSE" /y
XCOPY "%cd%\Novetus\misc\LICENSE-RESHADE.txt" "%dest%\LICENSE-RESHADE" /y
XCOPY "%cd%\Novetus\README-AND-CREDITS.TXT" "%dest%" /y
if %debug%==1 pause

File diff suppressed because it is too large Load Diff

View File

@ -6,8 +6,8 @@ UserAgentRegisterClient1=2007M
UserAgentRegisterClient2=2010L
ExtendedVersionNumber=True
ExtendedVersionEditChangelog=True
//ExtendedVersionTemplate=%version% v11.2022.%extended-revision%%lite%
ExtendedVersionTemplate=%version% Snapshot v22.%build%.%revision%.%extended-revision%
//ExtendedVersionTemplate=%version% vX.23.%extended-revision%
ExtendedVersionTemplate=%version% Snapshot v23.%build%.%revision%.%extended-revision%
ExtendedVersionRevision=1
InitialBootup=False
IsLite=False

View File

@ -103,7 +103,7 @@ Builderman for president!
Check out DUNGEONBLADE: HK!|Bitl's randomized text-based adventure!
ALL YOUR BASE ARE BELONG TO US!|You are on the way to destruction.
roflcopter go soisoisoi...|Microsoft Sam.
Runs under Windows XP*!|*Run the .NET Framework 4.0 version and install the dependencies!
Runs under Windows 7!
Check out the Novetus SDK!
MSMSMSMSMSMSMSMSMSMSMSM|RIP SOPHIE.
It's okay to cry.|RIP SOPHIE.
@ -130,7 +130,7 @@ Previously 1.2.5!|1.3 was previously known as 1.2.5. Many more additions were ma
You are now breathing manually.
Fuck the cynicism, let the colors fly!|Don't care you think it's cringe because it's not your life!
NOVETUS 2.0 WHEN??
Originally known as RBXLegacy 2.0!|Novetus was announced as RBXLegacy 2.0 at first,%newline%but Bitl considered the project separate from RBXLegacy.%newline%Novetus was the winner of a naming contest.
Originally known as RBXLegacy 2.0!|Novetus was announced as RBXLegacy 2.0 at first,%newline%but Bitl considered the project being separate from RBXLegacy.%newline%Novetus was the winner of a naming contest.
Do you like waffles?|Yes, we like waffles!
NYAN CAT!|NYANNYANNYANNYANNYANNYAN!
Been watching =3 until 2 AM.|I ain't got no iPhone but I got a DS!
@ -149,8 +149,8 @@ What do you want to build today?
[stylish]I'm SINCERELY thanking you, you're not stopping me!|From Cells at Work.
!++&::%^
No-ve-tus|The pronunciation of Novetus.
[normal]...AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA.
[stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHHAHA.
[normal]...AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHAHAHA.
[stylish]I AM SAMUEL L. JACKSON. AND I...AM AN ARSONIST.|BURN STUFF. MUHAHAHAHAHA.
Is nostalgia my inherent weakness?
Updated localization files.|Team Fortress 2 Update Released
Do you think healing is just magic?
@ -254,5 +254,6 @@ I've gotten to the mainframe!
A Guilty Pleasure!
Batteries not included.
Choose the pill!
Absolute dark power!
Absolute dark power!|Serious gaming!
HELL IS FULL.
We're not candy!|This is serious!