funny version names. automatic asset localization. frog death.
This commit is contained in:
parent
b2b80460f9
commit
bc3f3661d9
|
|
@ -24,6 +24,7 @@ namespace Novetus.Bootstrapper
|
||||||
#region File Paths
|
#region File Paths
|
||||||
public static readonly string LauncherPath = FixedBinDir + "\\" + LauncherName;
|
public static readonly string LauncherPath = FixedBinDir + "\\" + LauncherName;
|
||||||
public static readonly string InfoPath = FixedConfigDir + "\\" + GlobalPaths.InfoName;
|
public static readonly string InfoPath = FixedConfigDir + "\\" + GlobalPaths.InfoName;
|
||||||
|
public static readonly string VersionTermList = FixedConfigDir + "\\" + GlobalPaths.TermListFileName;
|
||||||
public static readonly string ConfigPath = FixedConfigDir + "\\" + GlobalPaths.ConfigName;
|
public static readonly string ConfigPath = FixedConfigDir + "\\" + GlobalPaths.ConfigName;
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,9 @@ namespace Novetus.Bootstrapper
|
||||||
|
|
||||||
private void NovetusLaunchForm_Load(object sender, EventArgs e)
|
private void NovetusLaunchForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FileManagement.ReadInfoFile(LocalPaths.InfoPath, true, LocalPaths.LauncherPath);
|
FileManagement.ReadInfoFile(LocalPaths.InfoPath,
|
||||||
|
LocalPaths.VersionTermList,
|
||||||
|
LocalPaths.LauncherPath);
|
||||||
ReadConfigValues(LocalPaths.ConfigPath);
|
ReadConfigValues(LocalPaths.ConfigPath);
|
||||||
|
|
||||||
if (GlobalVars.UserConfiguration.BootstrapperShowUI)
|
if (GlobalVars.UserConfiguration.BootstrapperShowUI)
|
||||||
|
|
|
||||||
|
|
@ -10,17 +10,17 @@ namespace Novetus.Core
|
||||||
{
|
{
|
||||||
#region Downloader
|
#region Downloader
|
||||||
|
|
||||||
class Downloader
|
public class Downloader
|
||||||
{
|
{
|
||||||
public readonly string fileURL;
|
public string fileURL;
|
||||||
public readonly string fileName;
|
public string fileName;
|
||||||
public readonly string fileFilter;
|
public string fileFilter;
|
||||||
public readonly string filePath;
|
public string filePath;
|
||||||
public static bool showErrorInfo = true;
|
public bool showErrorInfo = true;
|
||||||
public static bool overwrite = true;
|
public bool overwrite = true;
|
||||||
public int downloadSize;
|
public int downloadSize;
|
||||||
private string downloadOutcome;
|
private string downloadOutcome;
|
||||||
private static string downloadOutcomeException;
|
private string downloadOutcomeException;
|
||||||
|
|
||||||
public Downloader(string url, string name, string filter)
|
public Downloader(string url, string name, string filter)
|
||||||
{
|
{
|
||||||
|
|
@ -44,18 +44,12 @@ namespace Novetus.Core
|
||||||
fileFilter = "";
|
fileFilter = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDownloadOptions(bool ExtraErrorInfo, bool OverwriteFiles)
|
|
||||||
{
|
|
||||||
showErrorInfo = ExtraErrorInfo;
|
|
||||||
overwrite = OverwriteFiles;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string getDownloadOutcome()
|
public string getDownloadOutcome()
|
||||||
{
|
{
|
||||||
return downloadOutcome;
|
return downloadOutcome;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void InitDownloadDirect(string path, string fileext, string additionalText = "", bool removeSpaces = false)
|
public void InitDownloadDirect(string fileext, string additionalText = "", bool removeSpaces = false)
|
||||||
{
|
{
|
||||||
string outputfilename = "";
|
string outputfilename = "";
|
||||||
|
|
||||||
|
|
@ -68,7 +62,7 @@ namespace Novetus.Core
|
||||||
outputfilename = fileName + fileext;
|
outputfilename = fileName + fileext;
|
||||||
}
|
}
|
||||||
|
|
||||||
string fullpath = path + "\\" + outputfilename;
|
string fullpath = filePath + "\\" + outputfilename;
|
||||||
|
|
||||||
InitDownloadNoDialog(fullpath, additionalText);
|
InitDownloadNoDialog(fullpath, additionalText);
|
||||||
}
|
}
|
||||||
|
|
@ -141,7 +135,7 @@ namespace Novetus.Core
|
||||||
return filePath + Path.DirectorySeparatorChar + fileName;
|
return filePath + Path.DirectorySeparatorChar + fileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static int DownloadFile(string remoteFilename, string localFilename)
|
private int DownloadFile(string remoteFilename, string localFilename)
|
||||||
{
|
{
|
||||||
//credit to Tom Archer (https://www.codeguru.com/columns/dotnettips/article.php/c7005/Downloading-Files-with-the-WebRequest-and-WebResponse-Classes.htm)
|
//credit to Tom Archer (https://www.codeguru.com/columns/dotnettips/article.php/c7005/Downloading-Files-with-the-WebRequest-and-WebResponse-Classes.htm)
|
||||||
//and Brokenglass (https://stackoverflow.com/questions/4567313/uncompressing-gzip-response-from-webclient/4567408#4567408)
|
//and Brokenglass (https://stackoverflow.com/questions/4567313/uncompressing-gzip-response-from-webclient/4567408#4567408)
|
||||||
|
|
|
||||||
|
|
@ -201,6 +201,7 @@ namespace Novetus.Core
|
||||||
RegisterClient1 = "";
|
RegisterClient1 = "";
|
||||||
RegisterClient2 = "";
|
RegisterClient2 = "";
|
||||||
DefaultMap = "";
|
DefaultMap = "";
|
||||||
|
VersionName = "";
|
||||||
//HACK
|
//HACK
|
||||||
#if NET4
|
#if NET4
|
||||||
NetVersion = ".NET 4.0";
|
NetVersion = ".NET 4.0";
|
||||||
|
|
@ -208,6 +209,7 @@ namespace Novetus.Core
|
||||||
NetVersion = ".NET 4.8";
|
NetVersion = ".NET 4.8";
|
||||||
#endif
|
#endif
|
||||||
InitialBootup = true;
|
InitialBootup = true;
|
||||||
|
IsSnapshot = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Version { get; set; }
|
public string Version { get; set; }
|
||||||
|
|
@ -216,8 +218,10 @@ namespace Novetus.Core
|
||||||
public string RegisterClient1 { get; set; }
|
public string RegisterClient1 { get; set; }
|
||||||
public string RegisterClient2 { get; set; }
|
public string RegisterClient2 { get; set; }
|
||||||
public string DefaultMap { get; set; }
|
public string DefaultMap { get; set; }
|
||||||
|
public string VersionName { get; set; }
|
||||||
public string NetVersion { get; set; }
|
public string NetVersion { get; set; }
|
||||||
public bool InitialBootup { get; set; }
|
public bool InitialBootup { get; set; }
|
||||||
|
public bool IsSnapshot { get; set; }
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
@ -600,14 +604,39 @@ namespace Novetus.Core
|
||||||
#region File Management
|
#region File Management
|
||||||
public class FileManagement
|
public class FileManagement
|
||||||
{
|
{
|
||||||
public static void ReadInfoFile(string infopath, bool other = false, string exepath = "")
|
public static string CreateVersionName(string termspath, int revision)
|
||||||
|
{
|
||||||
|
string rev = revision.ToString();
|
||||||
|
|
||||||
|
if (rev.Length > 0 && rev.Length >= 4)
|
||||||
|
{
|
||||||
|
string posString = rev.Substring(rev.Length - 4);
|
||||||
|
|
||||||
|
int pos1 = int.Parse(posString.Substring(0, 2));
|
||||||
|
int pos2 = int.Parse(posString.Substring(posString.Length - 2));
|
||||||
|
|
||||||
|
List<string> termList = new List<string>();
|
||||||
|
termList.AddRange(File.ReadAllLines(termspath));
|
||||||
|
|
||||||
|
string firstTerm = (termList.ElementAtOrDefault(pos1 - 1) != null) ? termList[pos1 - 1] : termList.First();
|
||||||
|
string lastTerm = (termList.ElementAtOrDefault(pos2 - 1) != null) ? termList[pos2 - 1] : termList.Last();
|
||||||
|
|
||||||
|
return firstTerm + " " + lastTerm;
|
||||||
|
}
|
||||||
|
|
||||||
|
return "Invalid Revision";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void ReadInfoFile(string infopath, string termspath, string exepath = "")
|
||||||
{
|
{
|
||||||
//READ
|
//READ
|
||||||
string versionbranch, defaultclient, defaultmap, regclient1,
|
string versionbranch, defaultclient, defaultmap, regclient1,
|
||||||
regclient2, extendedversionnumber, extendedversiontemplate,
|
regclient2, extendedversionnumber, extendedversiontemplate,
|
||||||
extendedversionrevision, extendedversioneditchangelog, isLite,
|
extendedversionrevision, isSnapshot,
|
||||||
initialBootup;
|
initialBootup;
|
||||||
|
|
||||||
|
string verNumber = "Invalid File";
|
||||||
|
|
||||||
INIFile ini = new INIFile(infopath);
|
INIFile ini = new INIFile(infopath);
|
||||||
|
|
||||||
string section = "ProgramInfo";
|
string section = "ProgramInfo";
|
||||||
|
|
@ -619,10 +648,9 @@ namespace Novetus.Core
|
||||||
regclient1 = ini.IniReadValue(section, "UserAgentRegisterClient1", "2007M");
|
regclient1 = ini.IniReadValue(section, "UserAgentRegisterClient1", "2007M");
|
||||||
regclient2 = ini.IniReadValue(section, "UserAgentRegisterClient2", "2009L");
|
regclient2 = ini.IniReadValue(section, "UserAgentRegisterClient2", "2009L");
|
||||||
extendedversionnumber = ini.IniReadValue(section, "ExtendedVersionNumber", "False");
|
extendedversionnumber = ini.IniReadValue(section, "ExtendedVersionNumber", "False");
|
||||||
extendedversioneditchangelog = ini.IniReadValue(section, "ExtendedVersionEditChangelog", "False");
|
|
||||||
extendedversiontemplate = ini.IniReadValue(section, "ExtendedVersionTemplate", "%version%");
|
extendedversiontemplate = ini.IniReadValue(section, "ExtendedVersionTemplate", "%version%");
|
||||||
extendedversionrevision = ini.IniReadValue(section, "ExtendedVersionRevision", "-1");
|
extendedversionrevision = ini.IniReadValue(section, "ExtendedVersionRevision", "-1");
|
||||||
isLite = ini.IniReadValue(section, "IsLite", "False");
|
isSnapshot = ini.IniReadValue(section, "IsSnapshot", "False");
|
||||||
initialBootup = ini.IniReadValue(section, "InitialBootup", "True");
|
initialBootup = ini.IniReadValue(section, "InitialBootup", "True");
|
||||||
|
|
||||||
try
|
try
|
||||||
|
|
@ -630,30 +658,27 @@ namespace Novetus.Core
|
||||||
GlobalVars.ExtendedVersionNumber = Convert.ToBoolean(extendedversionnumber);
|
GlobalVars.ExtendedVersionNumber = Convert.ToBoolean(extendedversionnumber);
|
||||||
if (GlobalVars.ExtendedVersionNumber)
|
if (GlobalVars.ExtendedVersionNumber)
|
||||||
{
|
{
|
||||||
if (other)
|
if (!string.IsNullOrWhiteSpace(exepath))
|
||||||
{
|
{
|
||||||
if (!string.IsNullOrWhiteSpace(exepath))
|
var versionInfo = FileVersionInfo.GetVersionInfo(exepath);
|
||||||
{
|
verNumber = CreateVersionName(termspath, versionInfo.FilePrivatePart);
|
||||||
var versionInfo = FileVersionInfo.GetVersionInfo(exepath);
|
GlobalVars.ProgramInformation.Version = extendedversiontemplate.Replace("%version%", versionbranch)
|
||||||
GlobalVars.ProgramInformation.Version = extendedversiontemplate.Replace("%version%", versionbranch)
|
.Replace("%build%", versionInfo.ProductBuildPart.ToString())
|
||||||
.Replace("%build%", versionInfo.ProductBuildPart.ToString())
|
.Replace("%revision%", versionInfo.FilePrivatePart.ToString())
|
||||||
.Replace("%revision%", versionInfo.FilePrivatePart.ToString())
|
.Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : ""))
|
||||||
.Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : ""));
|
.Replace("%version-name%", verNumber);
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
verNumber = CreateVersionName(termspath, Assembly.GetExecutingAssembly().GetName().Version.Revision);
|
||||||
GlobalVars.ProgramInformation.Version = extendedversiontemplate.Replace("%version%", versionbranch)
|
GlobalVars.ProgramInformation.Version = extendedversiontemplate.Replace("%version%", versionbranch)
|
||||||
.Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString())
|
.Replace("%build%", Assembly.GetExecutingAssembly().GetName().Version.Build.ToString())
|
||||||
.Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString())
|
.Replace("%revision%", Assembly.GetExecutingAssembly().GetName().Version.Revision.ToString())
|
||||||
.Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : ""));
|
.Replace("%extended-revision%", (!extendedversionrevision.Equals("-1") ? extendedversionrevision : ""))
|
||||||
|
.Replace("%version-name%", verNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool changelogedit = Convert.ToBoolean(extendedversioneditchangelog);
|
bool changelogedit = Convert.ToBoolean(isSnapshot);
|
||||||
|
|
||||||
if (changelogedit)
|
if (changelogedit)
|
||||||
{
|
{
|
||||||
|
|
@ -680,6 +705,8 @@ namespace Novetus.Core
|
||||||
GlobalVars.ProgramInformation.RegisterClient1 = regclient1;
|
GlobalVars.ProgramInformation.RegisterClient1 = regclient1;
|
||||||
GlobalVars.ProgramInformation.RegisterClient2 = regclient2;
|
GlobalVars.ProgramInformation.RegisterClient2 = regclient2;
|
||||||
GlobalVars.ProgramInformation.InitialBootup = Convert.ToBoolean(initialBootup);
|
GlobalVars.ProgramInformation.InitialBootup = Convert.ToBoolean(initialBootup);
|
||||||
|
GlobalVars.ProgramInformation.VersionName = verNumber;
|
||||||
|
GlobalVars.ProgramInformation.IsSnapshot = Convert.ToBoolean(isSnapshot);
|
||||||
GlobalVars.UserConfiguration.SelectedClient = GlobalVars.ProgramInformation.DefaultClient;
|
GlobalVars.UserConfiguration.SelectedClient = GlobalVars.ProgramInformation.DefaultClient;
|
||||||
GlobalVars.UserConfiguration.Map = GlobalVars.ProgramInformation.DefaultMap;
|
GlobalVars.UserConfiguration.Map = GlobalVars.ProgramInformation.DefaultMap;
|
||||||
GlobalVars.UserConfiguration.MapPath = GlobalPaths.MapsDir + @"\\" + GlobalVars.ProgramInformation.DefaultMap;
|
GlobalVars.UserConfiguration.MapPath = GlobalPaths.MapsDir + @"\\" + GlobalVars.ProgramInformation.DefaultMap;
|
||||||
|
|
@ -688,7 +715,7 @@ namespace Novetus.Core
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Util.LogExceptions(ex);
|
Util.LogExceptions(ex);
|
||||||
ReadInfoFile(infopath, other);
|
ReadInfoFile(infopath, termspath, exepath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -119,6 +119,7 @@ namespace Novetus.Core
|
||||||
public static readonly string ClientScriptDocumentationFileName = "documentation.txt";
|
public static readonly string ClientScriptDocumentationFileName = "documentation.txt";
|
||||||
public static readonly string AddonLoaderFileName = "AddonLoader.lua";
|
public static readonly string AddonLoaderFileName = "AddonLoader.lua";
|
||||||
public static readonly string AssetFixerPatternFileName = "assetfixer_pattern.txt";
|
public static readonly string AssetFixerPatternFileName = "assetfixer_pattern.txt";
|
||||||
|
public static readonly string TermListFileName = "term-list.txt";
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,10 @@ namespace NovetusLauncher
|
||||||
private void NovetusConsole_Load(object sender, EventArgs e)
|
private void NovetusConsole_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Util.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded.", 4);
|
Util.ConsolePrint("Novetus version " + GlobalVars.ProgramInformation.Version + " loaded.", 4);
|
||||||
|
if (GlobalVars.ProgramInformation.IsSnapshot)
|
||||||
|
{
|
||||||
|
Util.ConsolePrint("Codename: " + GlobalVars.ProgramInformation.VersionName);
|
||||||
|
}
|
||||||
Util.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4);
|
Util.ConsolePrint("Novetus path: " + GlobalPaths.BasePath, 4);
|
||||||
CryptoRandom random = new CryptoRandom();
|
CryptoRandom random = new CryptoRandom();
|
||||||
string Name1 = GenerateName(random.Next(4, 12));
|
string Name1 = GenerateName(random.Next(4, 12));
|
||||||
|
|
|
||||||
|
|
@ -166,8 +166,10 @@ public partial class AssetFixer : Form
|
||||||
if (!string.IsNullOrWhiteSpace(id))
|
if (!string.IsNullOrWhiteSpace(id))
|
||||||
{
|
{
|
||||||
Downloader download = new Downloader(url, id);
|
Downloader download = new Downloader(url, id);
|
||||||
download.setDownloadOptions(false, false);
|
download.filePath = path;
|
||||||
download.InitDownloadDirect(path, fileext, "", true);
|
download.showErrorInfo = false;
|
||||||
|
download.overwrite = false;
|
||||||
|
download.InitDownloadDirect(fileext, "", true);
|
||||||
if (download.getDownloadOutcome().Contains("Error"))
|
if (download.getDownloadOutcome().Contains("Error"))
|
||||||
{
|
{
|
||||||
Util.ConsolePrint("Download Outcome: " + download.getDownloadOutcome(), 2);
|
Util.ConsolePrint("Download Outcome: " + download.getDownloadOutcome(), 2);
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,8 @@ namespace NovetusLauncher
|
||||||
config.AddRuleForAllLevels(logfile);
|
config.AddRuleForAllLevels(logfile);
|
||||||
LogManager.Configuration = config;
|
LogManager.Configuration = config;
|
||||||
|
|
||||||
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName);
|
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName,
|
||||||
|
GlobalPaths.ConfigDir + "\\" + GlobalPaths.TermListFileName);
|
||||||
FileManagement.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
|
FileManagement.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
|
||||||
GlobalVars.ColorsLoaded = FileManagement.InitColors();
|
GlobalVars.ColorsLoaded = FileManagement.InitColors();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,8 @@ namespace NovetusURI
|
||||||
#region Form Events
|
#region Form Events
|
||||||
private void InstallForm_Load(object sender, EventArgs e)
|
private void InstallForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName, true,
|
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName,
|
||||||
|
GlobalPaths.ConfigDir + "\\" + GlobalPaths.TermListFileName,
|
||||||
GlobalPaths.RootPathLauncher + "\\Novetus.exe");
|
GlobalPaths.RootPathLauncher + "\\Novetus.exe");
|
||||||
CenterToScreen();
|
CenterToScreen();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,8 @@ namespace NovetusURI
|
||||||
config.AddRuleForAllLevels(logfile);
|
config.AddRuleForAllLevels(logfile);
|
||||||
LogManager.Configuration = config;
|
LogManager.Configuration = config;
|
||||||
|
|
||||||
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName);
|
FileManagement.ReadInfoFile(GlobalPaths.ConfigDir + "\\" + GlobalPaths.InfoName,
|
||||||
|
GlobalPaths.ConfigDir + "\\" + GlobalPaths.TermListFileName);
|
||||||
FileManagement.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
|
FileManagement.Config(GlobalPaths.ConfigDir + "\\" + GlobalPaths.ConfigName, false);
|
||||||
GlobalVars.ColorsLoaded = FileManagement.InitColors();
|
GlobalVars.ColorsLoaded = FileManagement.InitColors();
|
||||||
if (args.Length == 0)
|
if (args.Length == 0)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
Snapshot v23.8451.38416.1
|
||||||
|
Enhancements:
|
||||||
|
- Added clean_junk.bat to allow the user to quickly reset their Novetus install.
|
||||||
|
- The Asset Web proxy extension now tries to download online assets for quicker asset loading on future map launches.
|
||||||
|
- Slightly increased asset loading times.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
Snapshot v23.8428.35205.1
|
Snapshot v23.8428.35205.1
|
||||||
Notes:
|
Notes:
|
||||||
- Updated the year number from 22 to 23 in the version number.
|
- Updated the year number from 22 to 23 in the version number.
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,6 @@ public class Asset : IWebProxyExtension
|
||||||
if (string.IsNullOrWhiteSpace(id))
|
if (string.IsNullOrWhiteSpace(id))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Util.ConsolePrint(Name() + ": Local asset for " + id + " found. Using local asset.", 3);
|
|
||||||
string First = pathList[0];
|
string First = pathList[0];
|
||||||
byte[] numArray = await Task.Run(() => File.ReadAllBytes(First));
|
byte[] numArray = await Task.Run(() => File.ReadAllBytes(First));
|
||||||
e.Ok(numArray, NetFuncs.GenerateHeaders(((long) numArray.Length).ToString()));
|
e.Ok(numArray, NetFuncs.GenerateHeaders(((long) numArray.Length).ToString()));
|
||||||
|
|
@ -63,10 +62,11 @@ public class Asset : IWebProxyExtension
|
||||||
public override async Task OnRequest(object sender, SessionEventArgs e)
|
public override async Task OnRequest(object sender, SessionEventArgs e)
|
||||||
{
|
{
|
||||||
string query = e.HttpClient.Request.RequestUri.Query;
|
string query = e.HttpClient.Request.RequestUri.Query;
|
||||||
|
string url = "https://assetdelivery.roblox.com/v1/asset/" + query;
|
||||||
long id;
|
long id;
|
||||||
if (!long.TryParse(NetFuncs.FindQueryString(query, "id"), out id))
|
if (!long.TryParse(NetFuncs.FindQueryString(query, "id"), out id))
|
||||||
{
|
{
|
||||||
e.Redirect("https://assetdelivery.roblox.com/v1/asset/" + query);
|
e.Redirect(url);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -76,7 +76,19 @@ public class Asset : IWebProxyExtension
|
||||||
if (!CanRedirectLocalAsset(GlobalPaths.AssetsPath, id, e))
|
if (!CanRedirectLocalAsset(GlobalPaths.AssetsPath, id, e))
|
||||||
{
|
{
|
||||||
//Util.ConsolePrint(Name() + ": Cannot find " + id.ToString() + " in " + GlobalPaths.AssetsPath + ". Redirecting.", 2);
|
//Util.ConsolePrint(Name() + ": Cannot find " + id.ToString() + " in " + GlobalPaths.AssetsPath + ". Redirecting.", 2);
|
||||||
e.Redirect("https://assetdelivery.roblox.com/v1/asset/" + query);
|
e.Redirect(url);
|
||||||
|
|
||||||
|
Downloader download = new Downloader(url, id.ToString());
|
||||||
|
|
||||||
|
download.filePath = GlobalPaths.AssetCacheDirAssets;
|
||||||
|
download.showErrorInfo = false;
|
||||||
|
download.overwrite = false;
|
||||||
|
download.InitDownloadDirect("");
|
||||||
|
|
||||||
|
if (!download.getDownloadOutcome().Contains("Error"))
|
||||||
|
{
|
||||||
|
Util.ConsolePrint(Name() + ": Localization of " + id.ToString() + " successful. Asset will be local on next launch.", 3);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,132 +1,132 @@
|
||||||
@ECHO OFF
|
@ECHO OFF
|
||||||
del /S Novetus\*.pdb
|
del /S *.pdb
|
||||||
del /S Novetus\*.log
|
del /S *.log
|
||||||
del /S Novetus\*.bak
|
del /S *.bak
|
||||||
|
|
||||||
del /s /q Novetus\clients\2007E\content\scripts\CSMPBoot.lua
|
del /s /q clients\2007E\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\2007E-Shaders\content\scripts\CSMPBoot.lua
|
del /s /q clients\2007E-Shaders\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\2007M\content\scripts\CSMPBoot.lua
|
del /s /q clients\2007M\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\2007M-Shaders\content\scripts\CSMPBoot.lua
|
del /s /q clients\2007M-Shaders\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\2006S\content\scripts\CSMPBoot.lua
|
del /s /q clients\2006S\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\2006S-Shaders\content\scripts\CSMPBoot.lua
|
del /s /q clients\2006S-Shaders\content\scripts\CSMPBoot.lua
|
||||||
del /s /q Novetus\clients\ClientScriptTester\content\scripts\CSMPBoot.lua
|
del /s /q clients\ClientScriptTester\content\scripts\CSMPBoot.lua
|
||||||
|
|
||||||
del /s /q Novetus\clients\2006S\ReShade.ini
|
del /s /q clients\2006S\ReShade.ini
|
||||||
del /s /q Novetus\clients\2006S\OPENGL32.log
|
del /s /q clients\2006S\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2006S\opengl32.dll
|
del /s /q clients\2006S\opengl32.dll
|
||||||
del /s /q Novetus\clients\2006S\DefaultPreset.ini
|
del /s /q clients\2006S\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2006S\content\temp.rbxl
|
del /s /q clients\2006S\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2006S-Shaders\ReShade.ini
|
del /s /q clients\2006S-Shaders\ReShade.ini
|
||||||
del /s /q Novetus\clients\2006S-Shaders\OPENGL32.log
|
del /s /q clients\2006S-Shaders\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2006S-Shaders\opengl32.dll
|
del /s /q clients\2006S-Shaders\opengl32.dll
|
||||||
del /s /q Novetus\clients\2006S-Shaders\DefaultPreset.ini
|
del /s /q clients\2006S-Shaders\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2006S-Shaders\content\temp.rbxl
|
del /s /q clients\2006S-Shaders\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2007E\ReShade.ini
|
del /s /q clients\2007E\ReShade.ini
|
||||||
del /s /q Novetus\clients\2007E\OPENGL32.log
|
del /s /q clients\2007E\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2007E\opengl32.dll
|
del /s /q clients\2007E\opengl32.dll
|
||||||
del /s /q Novetus\clients\2007E\DefaultPreset.ini
|
del /s /q clients\2007E\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2007E\content\temp.rbxl
|
del /s /q clients\2007E\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2007E-Shaders\ReShade.ini
|
del /s /q clients\2007E-Shaders\ReShade.ini
|
||||||
del /s /q Novetus\clients\2007E-Shaders\OPENGL32.log
|
del /s /q clients\2007E-Shaders\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2007E-Shaders\opengl32.dll
|
del /s /q clients\2007E-Shaders\opengl32.dll
|
||||||
del /s /q Novetus\clients\2007E-Shaders\DefaultPreset.ini
|
del /s /q clients\2007E-Shaders\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2007E-Shaders\content\temp.rbxl
|
del /s /q clients\2007E-Shaders\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2007M\ReShade.ini
|
del /s /q clients\2007M\ReShade.ini
|
||||||
del /s /q Novetus\clients\2007M\OPENGL32.log
|
del /s /q clients\2007M\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2007M\opengl32.dll
|
del /s /q clients\2007M\opengl32.dll
|
||||||
del /s /q Novetus\clients\2007M\DefaultPreset.ini
|
del /s /q clients\2007M\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2007M\content\temp.rbxl
|
del /s /q clients\2007M\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2007M-Shaders\ReShade.ini
|
del /s /q clients\2007M-Shaders\ReShade.ini
|
||||||
del /s /q Novetus\clients\2007M-Shaders\OPENGL32.log
|
del /s /q clients\2007M-Shaders\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2007M-Shaders\opengl32.dll
|
del /s /q clients\2007M-Shaders\opengl32.dll
|
||||||
del /s /q Novetus\clients\2007M-Shaders\DefaultPreset.ini
|
del /s /q clients\2007M-Shaders\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2007M-Shaders\content\temp.rbxl
|
del /s /q clients\2007M-Shaders\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2008M\ReShade.ini
|
del /s /q clients\2008M\ReShade.ini
|
||||||
del /s /q Novetus\clients\2008M\OPENGL32.log
|
del /s /q clients\2008M\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2008M\opengl32.dll
|
del /s /q clients\2008M\opengl32.dll
|
||||||
del /s /q Novetus\clients\2008M\DefaultPreset.ini
|
del /s /q clients\2008M\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2008M\content\temp.rbxl
|
del /s /q clients\2008M\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2009E\ReShade.ini
|
del /s /q clients\2009E\ReShade.ini
|
||||||
del /s /q Novetus\clients\2009E\OPENGL32.log
|
del /s /q clients\2009E\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2009E\opengl32.dll
|
del /s /q clients\2009E\opengl32.dll
|
||||||
del /s /q Novetus\clients\2009E\DefaultPreset.ini
|
del /s /q clients\2009E\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2009E\content\temp.rbxl
|
del /s /q clients\2009E\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2009E-HD\ReShade.ini
|
del /s /q clients\2009E-HD\ReShade.ini
|
||||||
del /s /q Novetus\clients\2009E-HD\OPENGL32.log
|
del /s /q clients\2009E-HD\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2009E-HD\opengl32.dll
|
del /s /q clients\2009E-HD\opengl32.dll
|
||||||
del /s /q Novetus\clients\2009E-HD\DefaultPreset.ini
|
del /s /q clients\2009E-HD\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2009E-HD\content\temp.rbxl
|
del /s /q clients\2009E-HD\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2009L\ReShade.ini
|
del /s /q clients\2009L\ReShade.ini
|
||||||
del /s /q Novetus\clients\2009L\OPENGL32.log
|
del /s /q clients\2009L\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2009L\opengl32.dll
|
del /s /q clients\2009L\opengl32.dll
|
||||||
del /s /q Novetus\clients\2009L\DefaultPreset.ini
|
del /s /q clients\2009L\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2009L\content\temp.rbxl
|
del /s /q clients\2009L\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2010L\ReShade.ini
|
del /s /q clients\2010L\ReShade.ini
|
||||||
del /s /q Novetus\clients\2010L\OPENGL32.log
|
del /s /q clients\2010L\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2010L\opengl32.dll
|
del /s /q clients\2010L\opengl32.dll
|
||||||
del /s /q Novetus\clients\2010L\DefaultPreset.ini
|
del /s /q clients\2010L\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2010L\content\temp.rbxl
|
del /s /q clients\2010L\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2011E\ReShade.ini
|
del /s /q clients\2011E\ReShade.ini
|
||||||
del /s /q Novetus\clients\2011E\OPENGL32.log
|
del /s /q clients\2011E\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2011E\opengl32.dll
|
del /s /q clients\2011E\opengl32.dll
|
||||||
del /s /q Novetus\clients\2011E\DefaultPreset.ini
|
del /s /q clients\2011E\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2011E\content\temp.rbxl
|
del /s /q clients\2011E\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2011M\ReShade.ini
|
del /s /q clients\2011M\ReShade.ini
|
||||||
del /s /q Novetus\clients\2011M\OPENGL32.log
|
del /s /q clients\2011M\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2011M\opengl32.dll
|
del /s /q clients\2011M\opengl32.dll
|
||||||
del /s /q Novetus\clients\2011M\DefaultPreset.ini
|
del /s /q clients\2011M\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2011M\content\temp.rbxl
|
del /s /q clients\2011M\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\2012M\ReShade.ini
|
del /s /q clients\2012M\ReShade.ini
|
||||||
del /s /q Novetus\clients\2012M\OPENGL32.log
|
del /s /q clients\2012M\OPENGL32.log
|
||||||
del /s /q Novetus\clients\2012M\opengl32.dll
|
del /s /q clients\2012M\opengl32.dll
|
||||||
del /s /q Novetus\clients\2012M\DefaultPreset.ini
|
del /s /q clients\2012M\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\2012M\content\temp.rbxl
|
del /s /q clients\2012M\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\clients\ClientScriptTester\ReShade.ini
|
del /s /q clients\ClientScriptTester\ReShade.ini
|
||||||
del /s /q Novetus\clients\ClientScriptTester\OPENGL32.log
|
del /s /q clients\ClientScriptTester\OPENGL32.log
|
||||||
del /s /q Novetus\clients\ClientScriptTester\opengl32.dll
|
del /s /q clients\ClientScriptTester\opengl32.dll
|
||||||
del /s /q Novetus\clients\ClientScriptTester\DefaultPreset.ini
|
del /s /q clients\ClientScriptTester\DefaultPreset.ini
|
||||||
del /s /q Novetus\clients\ClientScriptTester\content\temp.rbxl
|
del /s /q clients\ClientScriptTester\content\temp.rbxl
|
||||||
|
|
||||||
del /s /q Novetus\config\servers.txt
|
del /s /q config\servers.txt
|
||||||
del /s /q Novetus\config\ports.txt
|
del /s /q config\ports.txt
|
||||||
del /s /q Novetus\config\saved.txt
|
del /s /q config\saved.txt
|
||||||
del /s /q Novetus\config\ReShade.ini
|
del /s /q config\ReShade.ini
|
||||||
del /s /q Novetus\config\config.ini
|
del /s /q config\config.ini
|
||||||
del /s /q Novetus\config\config_customization.ini
|
del /s /q config\config_customization.ini
|
||||||
del /s /q Novetus\config\initialfilelist.txt
|
del /s /q config\initialfilelist.txt
|
||||||
del /s /q Novetus\config\BadgeDatabase.ini
|
del /s /q config\BadgeDatabase.ini
|
||||||
|
|
||||||
del /s /q Novetus\config\clients\GlobalSettings2_2007E.xml
|
del /s /q config\clients\GlobalSettings2_2007E.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings2_2007E-Shaders.xml
|
del /s /q config\clients\GlobalSettings2_2007E-Shaders.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2009E.xml
|
del /s /q config\clients\GlobalSettings_4_2009E.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2009E-HD.xml
|
del /s /q config\clients\GlobalSettings_4_2009E-HD.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2010L.xml
|
del /s /q config\clients\GlobalSettings_4_2010L.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2011E.xml
|
del /s /q config\clients\GlobalSettings_4_2011E.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2011M.xml
|
del /s /q config\clients\GlobalSettings_4_2011M.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings2_2006S.xml
|
del /s /q config\clients\GlobalSettings2_2006S.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings2_2006S-Shaders.xml
|
del /s /q config\clients\GlobalSettings2_2006S-Shaders.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings4_2007M.xml
|
del /s /q config\clients\GlobalSettings4_2007M.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings4_2007M-Shaders.xml
|
del /s /q config\clients\GlobalSettings4_2007M-Shaders.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings7_2008M.xml
|
del /s /q config\clients\GlobalSettings7_2008M.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_13_2012M.xml
|
del /s /q config\clients\GlobalSettings_13_2012M.xml
|
||||||
del /s /q Novetus\config\clients\GlobalSettings_4_2009L.xml
|
del /s /q config\clients\GlobalSettings_4_2009L.xml
|
||||||
|
|
||||||
del /s /q Novetus\bin\rootCert.pfx
|
del /s /q bin\rootCert.pfx
|
||||||
|
|
||||||
rmdir /s /q Novetus\maps\Custom
|
rmdir /s /q maps\Custom
|
||||||
rmdir /s /q Novetus\shareddata\assetcache
|
rmdir /s /q shareddata\assetcache
|
||||||
rmdir /s /q Novetus\logs
|
rmdir /s /q logs
|
||||||
|
|
@ -129,6 +129,7 @@ XCOPY "%cd%\Novetus\config\splashes-special.txt" "%launcherscriptdir%" /y
|
||||||
XCOPY "%cd%\Novetus\config\names-special.txt" "%launcherscriptdir%" /y
|
XCOPY "%cd%\Novetus\config\names-special.txt" "%launcherscriptdir%" /y
|
||||||
XCOPY "%cd%\Novetus\config\info.ini" "%launcherscriptdir%" /y
|
XCOPY "%cd%\Novetus\config\info.ini" "%launcherscriptdir%" /y
|
||||||
XCOPY "%cd%\Novetus\config\FileDeleteFilter.txt" "%launcherscriptdir%" /y
|
XCOPY "%cd%\Novetus\config\FileDeleteFilter.txt" "%launcherscriptdir%" /y
|
||||||
|
XCOPY "%cd%\Novetus\config\term-list.txt" "%launcherscriptdir%" /y
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo Moving client scripts, libraries, and configurations to GitHub folder...
|
echo Moving client scripts, libraries, and configurations to GitHub folder...
|
||||||
|
|
@ -159,7 +160,7 @@ echo.
|
||||||
echo Coying additional files to GitHub folder...
|
echo Coying additional files to GitHub folder...
|
||||||
if not exist "%dest%\scripts\batch" mkdir "%scriptsdir%\batch"
|
if not exist "%dest%\scripts\batch" mkdir "%scriptsdir%\batch"
|
||||||
XCOPY "%cd%\dev_menu.bat" "%scriptsdir%\batch" /y
|
XCOPY "%cd%\dev_menu.bat" "%scriptsdir%\batch" /y
|
||||||
XCOPY "%cd%\clean_junk.bat" "%scriptsdir%\batch" /y
|
XCOPY "%cd%\Novetus\clean_junk.bat" "%scriptsdir%\batch" /y
|
||||||
XCOPY "%cd%\github_sync.bat" "%scriptsdir%\batch" /y
|
XCOPY "%cd%\github_sync.bat" "%scriptsdir%\batch" /y
|
||||||
XCOPY "%cd%\assetfixer_gauntlet.lua" "%scriptsdir%" /y
|
XCOPY "%cd%\assetfixer_gauntlet.lua" "%scriptsdir%" /y
|
||||||
XCOPY "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch" /y
|
XCOPY "%cd%\Novetus\Novetus_dependency_installer.bat" "%scriptsdir%\batch" /y
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,10 +4,9 @@ DefaultClient=2009E
|
||||||
DefaultMap=Dev - Baseplate2048.rbxl.bz2
|
DefaultMap=Dev - Baseplate2048.rbxl.bz2
|
||||||
UserAgentRegisterClient1=2007M
|
UserAgentRegisterClient1=2007M
|
||||||
UserAgentRegisterClient2=2010L
|
UserAgentRegisterClient2=2010L
|
||||||
|
IsSnapshot=True
|
||||||
ExtendedVersionNumber=True
|
ExtendedVersionNumber=True
|
||||||
ExtendedVersionEditChangelog=True
|
//ExtendedVersionTemplate=vX.23.%extended-revision% (%version-name%)
|
||||||
//ExtendedVersionTemplate=vX.23.%extended-revision%
|
|
||||||
ExtendedVersionTemplate=Snapshot v23.%build%.%revision%.%extended-revision%
|
ExtendedVersionTemplate=Snapshot v23.%build%.%revision%.%extended-revision%
|
||||||
ExtendedVersionRevision=1
|
ExtendedVersionRevision=1
|
||||||
InitialBootup=False
|
InitialBootup=False
|
||||||
IsLite=False
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,99 @@
|
||||||
|
Turbo
|
||||||
|
Super
|
||||||
|
Ultra
|
||||||
|
Fire
|
||||||
|
Water
|
||||||
|
Earth
|
||||||
|
Stone
|
||||||
|
Ice
|
||||||
|
Jungle
|
||||||
|
Shadow
|
||||||
|
Magnet
|
||||||
|
Power
|
||||||
|
Plastic
|
||||||
|
Steel
|
||||||
|
Foil
|
||||||
|
Copper
|
||||||
|
Titanium
|
||||||
|
Diamond
|
||||||
|
Gold
|
||||||
|
Silver
|
||||||
|
Iron
|
||||||
|
Magnet
|
||||||
|
Bedrock
|
||||||
|
Lava
|
||||||
|
Meteor
|
||||||
|
Death
|
||||||
|
Life
|
||||||
|
Speed
|
||||||
|
Array
|
||||||
|
Constructor
|
||||||
|
Function
|
||||||
|
Method
|
||||||
|
Axis
|
||||||
|
Rotation
|
||||||
|
Position
|
||||||
|
Sector
|
||||||
|
Agent
|
||||||
|
Operative
|
||||||
|
Guardian
|
||||||
|
Twilight
|
||||||
|
Sparkle
|
||||||
|
Lighting
|
||||||
|
Thunder
|
||||||
|
Rainbow
|
||||||
|
Levitation
|
||||||
|
Cone
|
||||||
|
Pony
|
||||||
|
Horse
|
||||||
|
Pig
|
||||||
|
Bull
|
||||||
|
Sheep
|
||||||
|
Donkey
|
||||||
|
Bug
|
||||||
|
Cow
|
||||||
|
Cattle
|
||||||
|
Liquid
|
||||||
|
Solid
|
||||||
|
Gas
|
||||||
|
Cat
|
||||||
|
Dog
|
||||||
|
Fish
|
||||||
|
Axolotl
|
||||||
|
Crab
|
||||||
|
Dolphin
|
||||||
|
Shark
|
||||||
|
Anglerfish
|
||||||
|
Angler
|
||||||
|
Pufferfish
|
||||||
|
Puffer
|
||||||
|
Frog
|
||||||
|
Toad
|
||||||
|
Alligator
|
||||||
|
Crocodile
|
||||||
|
Brick
|
||||||
|
Block
|
||||||
|
Builder
|
||||||
|
Man
|
||||||
|
Minifig
|
||||||
|
Hero
|
||||||
|
Factory
|
||||||
|
Biological
|
||||||
|
Biology
|
||||||
|
Chronicle
|
||||||
|
Chronicler
|
||||||
|
History
|
||||||
|
Historian
|
||||||
|
Cyber
|
||||||
|
Cyberpunk
|
||||||
|
Retro
|
||||||
|
Spy
|
||||||
|
Future
|
||||||
|
Present
|
||||||
|
Volcano
|
||||||
|
Burger
|
||||||
|
Taco
|
||||||
|
Villager
|
||||||
|
Dinosaur
|
||||||
|
Code
|
||||||
|
United
|
||||||
Loading…
Reference in New Issue